Пример #1
0
 def GetChangelog(self):
     _translate = QtCore.QCoreApplication.translate
     changelog = self.OpenChangelogAndReturnBytes()
     self.ConsoleBox.setGraphicsEffect(QtWidgets.QGraphicsBlurEffect())
     self.enableOverlay.setGraphicsEffect(QtWidgets.QGraphicsBlurEffect())
     self.enableRichPresence.setGraphicsEffect(
         QtWidgets.QGraphicsBlurEffect())
     self.hunterPyLogo.setGraphicsEffect(QtWidgets.QGraphicsBlurEffect())
     self.changelogText.setText(_translate("Console", changelog))
Пример #2
0
 def setupAnimaions(self):
     self.effect = QtWidgets.QGraphicsBlurEffect()
     self.effect.setBlurRadius(0)
     self.animationBlurIn = QtCore.QPropertyAnimation(
         self.effect, b"blurRadius")
     self.animationBlurOut = QtCore.QPropertyAnimation(
         self.effect, b"blurRadius")
     self.backgroundArt.setGraphicsEffect(self.effect)
     self.animationBlurIn.setDuration(500)
     self.animationBlurIn.setStartValue(0)
     self.animationBlurIn.setEndValue(15)
     self.animationBlurOut.setDuration(500)
     self.animationBlurOut.setStartValue(15)
     self.animationBlurOut.setEndValue(0)
     self.overlayeffect = QtWidgets.QGraphicsOpacityEffect()
     self.overlayeffect.setOpacity(0.0)
     self.animationShowOut = QtCore.QPropertyAnimation(
         self.overlayeffect, b"opacity")
     self.animationHideOut = QtCore.QPropertyAnimation(
         self.overlayeffect, b"opacity")
     self.popup.setGraphicsEffect(self.overlayeffect)
     self.animationShowOut.setDuration(500)
     self.animationShowOut.setStartValue(0.0)
     self.animationShowOut.setEndValue(1.0)
     self.animationHideOut.setDuration(500)
     self.animationHideOut.setStartValue(1.0)
     self.animationHideOut.setEndValue(0.0)
Пример #3
0
    def __init__(self,
                 width,
                 height,
                 obj_name,
                 titlebar_name,
                 titlebar_icon,
                 parent=None):
        super(Dialog, self).__init__(parent)

        self.blur_effect = QtWidgets.QGraphicsBlurEffect()
        self.blur_effect.setBlurHints(
            QtWidgets.QGraphicsBlurEffect.PerformanceHint)

        self.setWindowFlags(self.windowFlags() | Qt.FramelessWindowHint)
        self.setWindowFlags(self.windowFlags() & ~Qt.WindowStaysOnTopHint)

        self.setFixedSize(width, height)

        self.setObjectName(obj_name)

        self.layout = QtWidgets.QVBoxLayout()
        self.titlebar = AbstractTitleBar(self,
                                         title=titlebar_name,
                                         icon=titlebar_icon)
        self.dialog_frame = QtWidgets.QFrame(self)

        Registry().register_function("activate_dialog_blur",
                                     self.activate_blur)
        Registry().register_function("desactivate_dialog_blur",
                                     self.desactivate_blur)

        self.setup_ui()
Пример #4
0
    def __init__(self, width, height, obj_name, parent=None):
        super(AbstractGlobalFrame, self).__init__(parent)

        self.blur_effect = QtWidgets.QGraphicsBlurEffect(self)
        self.blur_effect.setBlurHints(
            QtWidgets.QGraphicsBlurEffect.PerformanceHint)

        self.setWindowFlags(self.windowFlags() | Qt.FramelessWindowHint)
        self.setWindowFlags(self.windowFlags() & ~Qt.WindowStaysOnTopHint)

        self.setObjectName(obj_name)
        #self.setFixedSize(width, height)
        self.setMinimumSize(width, height)
        #self.setMaximumSize(width + 300, height + 300)
        #self.showFullScreen()

        # Need to be added, if not, moving frame from a button crash
        self.left_click = False
        self.offset = self.pos()

        # Uncomment code to have the ability to resize frame using right click
        self.drag_x = 0
        self.drag_y = 0
        self.current_x = 0
        self.current_y = 0
        self.right_click = False
Пример #5
0
 def highlight_last(self):
     """
     colourize the up button and blur the down
     """
     self._lastButton.setGraphicsEffect(qw.QGraphicsColorizeEffect())
     self._firstButton.setGraphicsEffect(qw.QGraphicsBlurEffect())
     self._highlight_first = False
Пример #6
0
    def init_ui(self):
        self.main_layout = QtWidgets.QVBoxLayout()
        self.main_layout.setContentsMargins(0, 0, 0, 0)
        self.setFixedHeight(200)

        self.now_playing_visual = NowPlayingVisual(self._media_player, self)
        self.main_layout.addWidget(self.now_playing_visual)

        self.setBackgroundBrush(QtGui.QBrush(QtCore.Qt.black))

        self.video_item = QGraphicsVideoItem()
        self.video_item.setGraphicsEffect(QtWidgets.QGraphicsBlurEffect())
        self.video_item.setAspectRatioMode(
            QtCore.Qt.KeepAspectRatioByExpanding)
        self._media_player.setVideoOutput(self.video_item)
        self.scene().addItem(self.video_item)

        self.overlay = QtWidgets.QGraphicsRectItem(0, 0, 0, 0, self.video_item)
        self.overlay.setBrush(QtGui.QBrush(QtCore.Qt.black))
        self.set_opacity(0.8)

        self.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff)
        self.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff)

        self.setStyleSheet('border: 0px;')

        self.setLayout(self.main_layout)
Пример #7
0
def create_blur_effect():
    """ Prepare a blur effect, good for moving things.
    :return: QGraphicsBlurEffect
    """
    effect = QtWidgets.QGraphicsBlurEffect()
    effect.setBlurHints(QtWidgets.QGraphicsBlurEffect.QualityHint)
    effect.setBlurRadius(3)
    effect.setEnabled(False)
    return effect
Пример #8
0
    def eventFilter(self, widget, event):

        if event.type() == QtCore.QEvent.FocusOut:
            if not widget.hasFocus():
                blur = QtWidgets.QGraphicsBlurEffect()
                blur.setBlurRadius(2)
                widget.setGraphicsEffect(blur)
            return False
        else:
            if widget.hasFocus():
                widget.setGraphicsEffect(None)
            return False
Пример #9
0
 def __init__(self, parent, radius=40):
     QtWidgets.QGraphicsEllipseItem.__init__(self, QtCore.QRectF(0, 0, 0, 0), parent)
     pen = QtGui.QPen(ctrl.cm.ui())
     pen.setWidth(4)
     self.setPen(pen)
     glow = QtWidgets.QGraphicsBlurEffect(parent)
     glow.setBlurRadius(7)
     glow.setEnabled(True)
     self.setGraphicsEffect(glow)
     self._radius = 0
     self._max_radius = radius
     self._step_size = radius / 6.0
Пример #10
0
    def __init__(self, wallet, prompt='>> ', startup_message='', parent=None):
        super().__init__(parent)

        self.prompt = prompt
        self.history = []
        self.namespace = {}
        self.construct = []

        self.setGeometry(50, 75, 600, 400)

        self.editor = ConsoleTextEdit(self)
        self.editor.resize(self.size())
        self.editor.setWordWrapMode(QtGui.QTextOption.WrapAnywhere)
        self.editor.setUndoRedoEnabled(False)
        self.editor.setFont(QtGui.QFont(MONOSPACE_FONT, 10,
                                        QtGui.QFont.Normal))

        self.showMessage(startup_message)

        self.updateNamespace({'run': self.run_script})
        self.set_json(False)

        self.warningOverlay = None

        wallet_storage = wallet.storage
        config_dontaskagain = wallet_storage.get(self.CONFIG_DONTASKAGAIN_KEY,
                                                 False)

        # Don't show the warning if the user chose to have it not shown again
        if not config_dontaskagain:
            self.warningOverlay = ConsoleWarningOverlay(self)
            self.warningOverlay.resize(self.size())

            fp = self.editor.focusPolicy()
            blur_effect = QtWidgets.QGraphicsBlurEffect()
            blur_effect.setBlurRadius(5)
            self.editor.setGraphicsEffect(blur_effect)
            self.editor.setFocusPolicy(QtCore.Qt.NoFocus)
            self.editor.setFocusProxy(self.warningOverlay)

            def on_acknowledged(dontaskagain: bool):
                wallet_storage.put(self.CONFIG_DONTASKAGAIN_KEY, dontaskagain
                                   or None)  # None deletes the key
                self.editor.setGraphicsEffect(None)
                self.editor.setFocusPolicy(fp)
                self.editor.setFocusProxy(None)
                # Focus the editor after confirming
                self.editor.setFocus()
                self.warningOverlay.deleteLater()
                self.warningOverlay = None

            self.warningOverlay.acknowledged.connect(on_acknowledged)
Пример #11
0
    def __init__(self, y_pos, up=True):
        super().__init__()
        self.up = up
        self.y_pos = y_pos

        # For fun, let's blur the object
        blur = qtw.QGraphicsBlurEffect()
        blur.setBlurRadius(10)
        blur.setBlurHints(qtw.QGraphicsBlurEffect.AnimationHint)
        self.setGraphicsEffect(blur)

        # Animate the object
        self.animation = qtc.QPropertyAnimation(self, b'y')
        self.animation.setStartValue(y_pos)
        end = 0 if up else SCREEN_HEIGHT
        self.animation.setEndValue(end)
        self.animation.setDuration(1000)
        self.yChanged.connect(self.check_collision)
Пример #12
0
 def __init__(self, x, y, width, heigth):
     
     super(Background, self).__init__(x,y, width, heigth)
     
     self.R = 0
     self.G = 0
     self.B = 0
     
     self.color = QtGui.QBrush(QtGui.QColor(self.R,self.G,self.B), QtCore.Qt.SolidPattern)
     self.setBrush(self.color)
     
     self.time = 'Night'
     
     self.moon_color = QtGui.QBrush(QtGui.QColor(220,220,220), QtCore.Qt.SolidPattern)
     self.skyObj = QtWidgets.QGraphicsEllipseItem(-350,400,350,350)
     self.skyObj.setBrush(self.moon_color)
     
     self.sun_color = QtGui.QBrush(QtGui.QColor(255,255,0), QtCore.Qt.SolidPattern)
     self.skyObj.moon = True
     self.skyObj.rising = True
     
     self.skyObj.setGraphicsEffect(QtWidgets.QGraphicsBlurEffect())
Пример #13
0
 def backgroundBlur(self, able):
     if able == "enable":
         self.blur_effect = QtWidgets.QGraphicsBlurEffect()
         self.grapics.background.setGraphicsEffect(self.blur_effect)
     else:
         self.blur_effect.setEnabled(False)
Пример #14
0
    def setupUi(self):
        self.centralwidget.setObjectName("centralwidget")

        self.titleBar = QtWidgets.QWidget(self.centralwidget)
        self.deskPane = QtWidgets.QWidget(self.centralwidget)

        self.deskPane.setObjectName("Desktop")
        self.deskPane.setGeometry(0, 60, 1920, 968)
        self.deskPane.setStyleSheet(
            "#Desktop{background-color: rgba(240,240,240,120); border:2px solid #24292E;}"
        )

        self.titleBar.setGeometry(QtCore.QRect(0, 0, 1920, 60))
        self.titleBar.setStyleSheet("#titleBar { border: 2px solid #24292E; }")
        self.titleBar.setObjectName("titleBar")

        self.Karma = Karma.KarmaUI(self.deskPane)
        self.Karma.setGeometry(0, 10, 1920, 975)

        self.Money = Money.MoneyUI(self.deskPane)
        self.Money.setGeometry(0, 0, 0, 0)

        self.Contacts = Contacts.ContactsUI(self.deskPane)
        self.Contacts.setGeometry(0, 0, 0, 0)

        self.blr = QtWidgets.QGraphicsBlurEffect()
        self.blr.setBlurRadius(125)
        self.blurLabel = QtWidgets.QLabel(self.titleBar)
        self.blurLabel.setGeometry(QtCore.QRect(0, 0, 1920, 60))
        self.blurLabel.setGraphicsEffect(self.blr)
        self.blurLabel.setStyleSheet("background-color:rgb(255,255,255,125)")

        self.OwnerTitle = QtWidgets.QPushButton(self.titleBar)
        self.OwnerTitle.setGeometry(QtCore.QRect(66, 0, 342, 60))
        font = QtGui.QFont()
        font.setFamily("Roboto")
        font.setPointSize(15)
        font.setBold(False)
        font.setWeight(50)
        self.OwnerTitle.setFont(font)
        self.OwnerTitle.setCursor(QtGui.QCursor(QtCore.Qt.PointingHandCursor))
        self.OwnerTitle.setStyleSheet("#OwnerTitle\n"
                                      "{\n border: 2px solid #24292E;"
                                      "    color:#24292E;\n"
                                      "    background-color: #fcfcfc;\n"
                                      "}\n"
                                      "#OwnerTitle:hover\n"
                                      "{\n "
                                      "   color:#fcfcfc;\n"
                                      "    background-color: #24292E;\n"
                                      "}")
        self.OwnerTitle.setObjectName("OwnerTitle")
        self.OwnerPic = QtWidgets.QLabel(self.titleBar)
        self.OwnerPic.setGeometry(QtCore.QRect(2, 2, 56, 56))
        self.OwnerPic.setText("")
        self.OwnerPic.setPixmap(QtGui.QPixmap(":/icons/RAJEABHILASH.png"))
        self.OwnerPic.setScaledContents(True)
        self.OwnerPic.setObjectName("OwnerPic")
        self.krSearch = QtWidgets.QLineEdit(self.titleBar)
        self.krSearch.setGeometry(QtCore.QRect(406, 0, 1003, 60))
        font = QtGui.QFont()
        font.setFamily("Roboto Medium")
        font.setPointSize(16)
        self.krSearch.setFont(font)
        self.krSearch.setStyleSheet("#krSearch {\n"
                                    "    font-family: \"Roboto Medium\";\n"
                                    "    background-color: rgb(0,0,0,0);\n"
                                    "    padding-left: 25px;\n"
                                    "    padding-right: 25px;\n"
                                    "    color: #24292E;\n"
                                    "    border: 2px solid #24292E;\n"
                                    "}")
        self.krSearch.setText("")
        self.krSearch.setObjectName("krSearch")
        self.krVoice = QtWidgets.QPushButton(self.titleBar)
        self.krVoice.setGeometry(QtCore.QRect(1408, 0, 60, 60))
        font = QtGui.QFont()
        font.setFamily("MS Sans Serif")
        self.krVoice.setFont(font)
        self.krVoice.setCursor(QtGui.QCursor(QtCore.Qt.PointingHandCursor))
        self.krVoice.setStyleSheet(
            "#krVoice {    background-color: #24292E; }")
        self.krVoice.setText("")
        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap(":/images/InVoiceL.svg"),
                       QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.krVoice.setIcon(icon)
        self.krVoice.setIconSize(QtCore.QSize(35, 35))
        self.krVoice.setObjectName("krVoice")
        self.krLogout = QtWidgets.QPushButton(self.titleBar)
        self.krLogout.setGeometry(QtCore.QRect(1860, 0, 60, 60))
        self.krLogout.setCursor(QtGui.QCursor(QtCore.Qt.PointingHandCursor))
        self.krLogout.setStyleSheet(
            "#krLogout { background-color: #24292E; }\n"
            "#krLogout:hover {background-color: rgb(121, 2, 2);}\n"
            "")
        self.krLogout.setText("")
        icon1 = QtGui.QIcon()
        icon1.addPixmap(QtGui.QPixmap(":/icons/DLogout.svg"),
                        QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.krLogout.setIcon(icon1)
        self.krLogout.setIconSize(QtCore.QSize(35, 35))
        self.krLogout.setObjectName("krLogout")
        self.krTime = QtWidgets.QLabel(self.titleBar)
        self.krTime.setGeometry(QtCore.QRect(1681, 0, 181, 60))
        font = QtGui.QFont()
        font.setFamily("Bahnschrift")
        font.setPointSize(22)
        font.setBold(False)
        font.setWeight(57)
        self.krTime.setFont(font)
        self.krTime.setStyleSheet(
            "#krTime { border: 2px solid #24292E; color: #24292E;}")
        self.krTime.setAlignment(QtCore.Qt.AlignCenter)
        self.krTime.setObjectName("krTime")
        self.krDay = QtWidgets.QLabel(self.titleBar)
        self.krDay.setGeometry(QtCore.QRect(1467, 0, 216, 35))
        font = QtGui.QFont()
        font.setFamily("Bahnschrift SemiBold SemiConden")
        font.setPointSize(17)
        font.setBold(True)
        font.setWeight(75)
        self.krDay.setFont(font)
        self.krDay.setStyleSheet(
            "#krDay {border: 2px solid #24292E; color: #24292E; padding-right: 5px; text-transform: capitalize;}"
        )
        self.krDay.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignTrailing
                                | QtCore.Qt.AlignVCenter)
        self.krDay.setObjectName("krDay")
        self.krDate = QtWidgets.QLabel(self.titleBar)
        self.krDate.setGeometry(QtCore.QRect(1467, 33, 216, 27))
        font = QtGui.QFont()
        font.setFamily("Bahnschrift")
        font.setPointSize(12)
        self.krDate.setFont(font)
        self.krDate.setStyleSheet(
            "#krDate {border: 2px solid #24292E; color: #24292E; padding-right: 5px;}"
        )
        self.krDate.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignTrailing
                                 | QtCore.Qt.AlignVCenter)
        self.krDate.setObjectName("krDate")
        self.taskBar = QtWidgets.QWidget(self.centralwidget)
        self.taskBar.setGeometry(QtCore.QRect(0, 1030, 1920, 50))
        self.taskBar.setStyleSheet(
            "#taskBar { border: 0px solid rgba(0,0,0,0); border-top: 0.5px solid #ff00ff; background-color:#24292E;}"
        )
        self.taskBar.setObjectName("taskBar")
        self.startButton = QtWidgets.QPushButton(self.taskBar)
        self.startButton.setGeometry(0, 3, 60, 45)
        self.startButton.setObjectName("startButton")
        self.startButton.setCursor(QtGui.QCursor(QtCore.Qt.PointingHandCursor))
        self.startButton.setStyleSheet(
            "#startButton { border: 2px solid #24292E; background-color:#24292E; border: 0px solid #24292E; border-right: 2px solid #FCFCFC}"
        )
        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap("startKruti.png"), QtGui.QIcon.Normal,
                       QtGui.QIcon.Off)
        self.startButton.setIcon(icon)
        self.startButton.setIconSize(QtCore.QSize(50, 50))

        self.taskList = QtWidgets.QWidget(self.centralwidget)
        self.taskList.setObjectName("taskList")
        #self.taskList.setGeometry(QtCore.QRect(0, 860, 200, 170))
        self.taskList.setGeometry(QtCore.QRect(0, 1050, 0, 0))
        self.taskList.setStyleSheet(
            "#taskList { border: 0px solid #24292E; border-bottom: 2px solid #fcfcfc;background-color:#24292E;}"
        )

        self.taskContact = QtWidgets.QPushButton(self.taskList)
        self.taskMoney = QtWidgets.QPushButton(self.taskList)
        self.taskNew = QtWidgets.QPushButton(self.taskList)

        conIcon = QtGui.QIcon()
        conIcon.addPixmap(QtGui.QPixmap(":/icons/contacts-agenda.svg"),
                          QtGui.QIcon.Normal, QtGui.QIcon.Off)

        monIcon = QtGui.QIcon()
        monIcon.addPixmap(
            QtGui.QPixmap(":/icons/wallet-filled-money-tool.svg"),
            QtGui.QIcon.Normal, QtGui.QIcon.Off)

        self.taskContact.setGeometry(0, 0, 200, 50)
        self.taskContact.setIcon(conIcon)
        self.taskContact.setIconSize(QtCore.QSize(35, 35))
        self.taskContact.setStyleSheet(
            "padding-left: 5px; color: #fcfcfc;border: 0px solid #24292E; border-bottom: 2px solid #fcfcfc;background-color:#24292E;"
        )
        self.taskContact.setCursor(QtGui.QCursor(QtCore.Qt.PointingHandCursor))
        self.taskContact.setText("Contacts")
        self.taskContact.setFont(QtGui.QFont("Caviar Dreams", 16))

        self.taskMoney.setGeometry(0, 60, 200, 50)
        self.taskMoney.setStyleSheet(
            "color: #fcfcfc;border: 0px solid #24292E; border-bottom: 2px solid #fcfcfc;background-color:#24292E;"
        )
        self.taskMoney.setCursor(QtGui.QCursor(QtCore.Qt.PointingHandCursor))
        self.taskMoney.setText("Money")
        self.taskMoney.setFont(QtGui.QFont("Caviar Dreams", 16))
        self.taskMoney.setIcon(monIcon)
        self.taskMoney.setIconSize(QtCore.QSize(35, 35))

        self.taskNew.setGeometry(0, 120, 200, 50)
        self.taskNew.setStyleSheet(
            "color: #fcfcfc;border: 0px solid #24292E; border-bottom: 2px solid #fcfcfc;background-color:#24292E;"
        )
        self.taskNew.setCursor(QtGui.QCursor(QtCore.Qt.PointingHandCursor))
        self.taskNew.setText("Create")
        self.taskNew.setFont(QtGui.QFont("Caviar Dreams", 16))

        self.dateTime.dateTimeChange.connect(self.updateDateTime)
        self.dateTime.start()
        self.OwnerTitle.setText("RAJE ABHILASH MOHITE")
        self.krSearch.setPlaceholderText("Press F2 or Say \'Kruti\'")
        self.setWindowTitle("{} - Artificial Intelligent Kruti.".format(
            self.OwnerTitle.text()))
        self.setCentralWidget(self.centralwidget)
        self.krLogout.clicked.connect(self.logoutDash)
        self.startButton.clicked.connect(self.start)
        self.blr = QtWidgets.QGraphicsBlurEffect()
        self.taskMoney.clicked.connect(self.showMoney)
        self.taskContact.clicked.connect(self.showContacts)
Пример #15
0
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)

        self.ui = Ui_MainWindow()
        self.ui.setupUi(self)

        self.rhost = RenderHost()
        self.rhost.outputSignal.connect(self.onOutput)

        # Make frameless & add drop shadow
        self.setWindowTitle("Scene Editor")
        self.setWindowFlags(qtc.Qt.FramelessWindowHint)
        set_frameless_attrs(self, self.ui.drop_shadow_frame)
        self.setAttribute(qtc.Qt.WA_TranslucentBackground)

        # Initialize Blur Effect
        self.blur = qtw.QGraphicsBlurEffect(self)
        self.blur.setBlurRadius(7)
        self.blur.setBlurHints(qtw.QGraphicsBlurEffect.QualityHint)
        self.ui.centralwidget.setGraphicsEffect(self.blur)
        self.blur.setEnabled(False)

        # Initialize Colorize Effect
        self.colorize = qtw.QGraphicsColorizeEffect(self)
        self.colorize.setColor(QColor(0, 0, 0))
        self.colorize2 = qtw.QGraphicsColorizeEffect(self)
        self.colorize2.setColor(QColor(0, 0, 0))
        self.colorize3 = qtw.QGraphicsColorizeEffect(self)
        self.colorize3.setColor(QColor(0, 0, 0))
        self.ui.title_bar.setGraphicsEffect(self.colorize)
        self.ui.credits_bar.setGraphicsEffect(self.colorize2)
        self.ui.content_bar.setGraphicsEffect(self.colorize3)
        self.colorize.setEnabled(False)
        self.colorize2.setEnabled(False)
        self.colorize3.setEnabled(False)

        # Initialize Settings
        self.settings = QWidget()
        self.settings.setWindowTitle("Settings")
        self.settings.ui = Ui_Settings()
        self.settings.ui.setupUi(self.settings)
        self.settings.ui.exitSettingsBtn.clicked.connect(self.exitsettings)
        set_frameless_attrs(self.settings, self.settings.ui.drop_shadow_frame)

        # Drag function bindings
        self.ui.title_bar.mouseMoveEvent = self.moveWindow
        self.ui.title_bar.mousePressEvent = self.setDragPos
        self.ui.label_title.mouseMoveEvent = self.moveWindow
        self.ui.label_title.mousePressEvent = self.setDragPos

        # Color Preview
        self.ui.difx.textChanged.connect(self.updateVis)
        self.ui.dify.textChanged.connect(self.updateVis)
        self.ui.difz.textChanged.connect(self.updateVis)
        self.ui.specx.textChanged.connect(self.updateVis)
        self.ui.specy.textChanged.connect(self.updateVis)
        self.ui.specz.textChanged.connect(self.updateVis)
        self.ui.emisx.textChanged.connect(self.updateVis)
        self.ui.emisy.textChanged.connect(self.updateVis)
        self.ui.emisz.textChanged.connect(self.updateVis)

        # Color Picking
        self.ui.diffusevis.clicked.connect(lambda: self.pick_color("diffuse"))
        self.ui.specularvis.clicked.connect(
            lambda: self.pick_color("specular"))
        self.ui.emissionvis.clicked.connect(
            lambda: self.pick_color("emission"))

        # Connect Buttons to Functions
        self.ui.btn_close.clicked.connect(self.exit)
        self.ui.btn_minimize.clicked.connect(self.showMinimized)
        self.ui.addobj.clicked.connect(self.addobj)
        self.ui.delobj.clicked.connect(self.delobj)
        self.ui.applyobj.clicked.connect(self.applyobj)
        self.ui.clearobj.clicked.connect(self.clearobj)
        self.ui.obj_list.itemClicked.connect(self.loadobj)
        self.ui.addmat.clicked.connect(self.addmat)
        self.ui.delmat.clicked.connect(self.delmat)
        self.ui.applymat.clicked.connect(self.applymat)
        self.ui.clearmat.clicked.connect(self.clearmat)
        self.ui.mat_list.itemClicked.connect(self.loadmat)
        self.ui.diffusemap.clicked.connect(self.loadDiffuse)
        self.ui.specularmap.clicked.connect(self.loadSpecular)
        self.ui.normalmap.clicked.connect(self.loadNormal)
        self.ui.openbtn.clicked.connect(self.openScene)
        self.ui.savebtn.clicked.connect(self.saveScene)
        self.ui.renderbtn.clicked.connect(self.renderScene)
        self.ui.settingsbtn.clicked.connect(self.opensettings)

        # Select first input
        self.ui.objname.setFocus(True)

        #Data Variables
        self.scenepath = None
        self.savetoexit = True
        self.rrtloc = '"D:/Files/Code/Ruby Raytracer/rrt_render.rb"'
        self.rrtloc = '"D:/Files/Code/repos/ruby-raytracer/rrt_render.exe"'
        #self.rrtloc = '"C:/Users/Avaze/Desktop/rrt_render.exe"'

        self.DEFAULTMAT = {
            "name": "default",
            "difx": 200,
            "dify": 200,
            "difz": 200,
            "specx": 255,
            "specy": 255,
            "specz": 255,
            "reflectivity": 0,
            "emisx": 0,
            "emisy": 0,
            "emisz": 0,
            "diftex": None,
            "spectex": None,
            "normaltex": None,
            "normalstrength": 1
        }
        self.diffuse = None
        self.specular = None
        self.normal = None

        self.lastobjindex = None
        self.lastmatindex = None

        self.objects = []
        self.materials = [self.DEFAULTMAT]
        self.vis_materials()