Beispiel #1
0
    def _sendMessage(self, targets, message, tab, tabTarget):

        if not message:
            return

        settings = HComMayaUtils.readIni()

        if targets:
            result = HComMayaClient.sendMessage(targets, self.ID, message,
                                                tabTarget)

            if isinstance(result, list):

                for i in result:
                    tab.outMessage.append(
                        "Error: User '{0}' not found.\n".format(i))

        now = datetime.datetime.now()
        timeStamp = str(self.ID) + ":" + str(now.hour).zfill(2) + ":" + str(
            now.minute).zfill(2) + ":"

        tab.appendMessage(
            self.ID,
            str(tab.messageLine.toPlainText().encode('latin-1')) + "\n",
            fromMyself=True)

        if settings["SAVE_HISTORY"]:
            for t in targets:
                HComMayaUtils.writeHistory(
                    t, timeStamp,
                    str(tab.messageLine.toPlainText().encode('latin-1')))

        tab.messageLine.clear()
Beispiel #2
0
 def _sendMessage(self, targets, message, tab, tabTarget):
     
     if not message:
         return
     
     settings = HComMayaUtils.readIni()
     
     if targets:
         result = HComMayaClient.sendMessage(targets, self.ID, message, tabTarget)
     
         if isinstance(result, list):
             
             for i in result:
                 tab.outMessage.append("Error: User '{0}' not found.\n".format(i))
             
     now = datetime.datetime.now()
     timeStamp = str(self.ID) + ":" + str(now.hour).zfill(2) + ":" + str(now.minute).zfill(2) + ":"
     
     tab.appendMessage(self.ID, str(tab.messageLine.toPlainText().encode('latin-1')) + "\n", fromMyself=True)
     
     if settings["SAVE_HISTORY"]:
         for t in targets:
             HComMayaUtils.writeHistory(t, timeStamp, str(tab.messageLine.toPlainText().encode('latin-1')))
     
     tab.messageLine.clear()
Beispiel #3
0
def _exportObj():

    selection = cmds.ls(sl=True)
    if not selection:
        ask = QtGui.QMessageBox()
        ask.setText("Error: Nothing selected !")
        ask.setIcon(QtGui.QMessageBox.Warning)
        ask.exec_()
        return False, False

    meshName = str(selection[0]).replace("|", "_")

    objtmp = HComMayaUtils.fetchMyReceivedFilesFolder(
    ) + os.sep + meshName + "_tmp.obj"
    objtmp = HComMayaUtils.incrementFile(objtmp)

    try:
        cmds.file(
            objtmp,
            force=True,
            type="OBJexport",
            es=True,
            shader=False,
        )
    except Exception as e:
        print("ERROR: " + str(e))
        return False, False

    return meshName, objtmp
Beispiel #4
0
 def validSettings(self):
     
     self.SETTINGS["SERVER"] = str(self.serverAdress.text())
     self.SETTINGS["PORT"] = str(self.serverPort.text())
     self.SETTINGS["PLAY_SOUND"] = str(self.playSounds.isChecked())
     if str(self.myReceivedFileLine.text()) == os.path.dirname(__file__) + "\\HCom_Received_Files":
         self.SETTINGS["MY_RECEIVED_FILES"] = "DEFAULT"
     else:
         self.SETTINGS["MY_RECEIVED_FILES"] = str(self.myReceivedFileLine.text())
     
     HComMayaUtils.writeIni(self.SETTINGS)
     self.close()
Beispiel #5
0
    def validSettings(self):

        self.SETTINGS["SERVER"] = str(self.serverAdress.text())
        self.SETTINGS["PORT"] = str(self.serverPort.text())
        self.SETTINGS["PLAY_SOUND"] = str(self.playSounds.isChecked())
        if str(self.myReceivedFileLine.text()
               ) == os.path.dirname(__file__) + "\\HCom_Received_Files":
            self.SETTINGS["MY_RECEIVED_FILES"] = "DEFAULT"
        else:
            self.SETTINGS["MY_RECEIVED_FILES"] = str(
                self.myReceivedFileLine.text())

        HComMayaUtils.writeIni(self.SETTINGS)
        self.close()
Beispiel #6
0
 def _openReceivedFilesFolder(self):
     
     RECEIVED_FILES_PATH = HComMayaUtils.fetchMyReceivedFilesFolder()
     if os.path.exists(RECEIVED_FILES_PATH):
         os.startfile(RECEIVED_FILES_PATH)
     else:
         print("ERROR: Received files folder not found.")
Beispiel #7
0
 def _getInputData(self, in_data):
     '''
         Fetch data from client and add confirmation widget to the chat
     '''
     
     sender = in_data["SENDER"]
     dataType = in_data["DATA_TYPE"]
     data = in_data["DATA"]
     tabTarget = in_data["TAB_TARGET"]
     
     if not tabTarget in self.USER_TABS.keys():
         return False
     
     curTab = self.centralTabWidget.currentWidget()
     
     if self.USER_TABS[tabTarget] != curTab:
         targetTabIdx = self.centralTabWidget.indexOf(self.USER_TABS[tabTarget])
         self.centralTabWidget.tabBar().setTabIcon(targetTabIdx, QtGui.QIcon(ICONPATH + "unreadmsg.png"))
         
         settings = HComMayaUtils.readIni()
         if "PLAY_SOUND" in settings.keys():
             if settings["PLAY_SOUND"]:
                 s = QtGui.QSound(ICONPATH + "gnm.wav")
                 s.play()
         
     self.USER_TABS[tabTarget].appendInputBox(sender, dataType, data)
Beispiel #8
0
    def _openReceivedFilesFolder(self):

        RECEIVED_FILES_PATH = HComMayaUtils.fetchMyReceivedFilesFolder()
        if os.path.exists(RECEIVED_FILES_PATH):
            os.startfile(RECEIVED_FILES_PATH)
        else:
            print("ERROR: Received files folder not found.")
Beispiel #9
0
    def _appendMessageToTab(self, data):

        tabTarget = data["TAB_TARGET"]
        sender = data["SENDER"]
        message = data["MESSAGE"]

        if not tabTarget in self.USER_TABS.keys():
            return False

        curTab = self.centralTabWidget.currentWidget()

        if self.USER_TABS[tabTarget] != curTab:
            targetTabIdx = self.centralTabWidget.indexOf(
                self.USER_TABS[tabTarget])
            self.centralTabWidget.tabBar().setTabIcon(
                targetTabIdx, QtGui.QIcon(ICONPATH + "unreadmsg.png"))

            settings = HComMayaUtils.readIni()
            if "PLAY_SOUND" in settings.keys():
                if settings["PLAY_SOUND"]:
                    s = QtGui.QSound(ICONPATH + "gnm.wav")
                    s.play()

        self.USER_TABS[tabTarget].appendMessage(sender, message)

        MayaGlobals.HCOM_TABS = self.USER_TABS
Beispiel #10
0
    def _getInputData(self, in_data):
        '''
            Fetch data from client and add confirmation widget to the chat
        '''

        sender = in_data["SENDER"]
        dataType = in_data["DATA_TYPE"]
        data = in_data["DATA"]
        tabTarget = in_data["TAB_TARGET"]

        if not tabTarget in self.USER_TABS.keys():
            return False

        curTab = self.centralTabWidget.currentWidget()

        if self.USER_TABS[tabTarget] != curTab:
            targetTabIdx = self.centralTabWidget.indexOf(
                self.USER_TABS[tabTarget])
            self.centralTabWidget.tabBar().setTabIcon(
                targetTabIdx, QtGui.QIcon(ICONPATH + "unreadmsg.png"))

            settings = HComMayaUtils.readIni()
            if "PLAY_SOUND" in settings.keys():
                if settings["PLAY_SOUND"]:
                    s = QtGui.QSound(ICONPATH + "gnm.wav")
                    s.play()

        self.USER_TABS[tabTarget].appendInputBox(sender, dataType, data)
Beispiel #11
0
    def acceptInput(self):
        
        settings = HComMayaUtils.readIni()
        self.activityBar.setMaximum(0)
        self.activityBar.setTextVisible(False)
        self.activityBar.setVisible(True)
        
        self.workThread.settings = settings

        # Send an otl or a node
        if self.dataType == "otl":
            
            self.workThread.workFonc = HComMayaUtils.createOtl
            self.workThread.start()
                
        # Bgeo mesh
        elif self.dataType == "mesh":
            
            self.workThread.workFonc = HComMayaUtils.createMesh
            self.workThread.start()
     
        # Pictures
        elif self.dataType == "pic":
            
            self.workThread.workFonc = HComMayaUtils.createPic
            self.workThread.start()
            
        # Alembic
        elif self.dataType == "alembic":
            
            self.workThread.workFonc = HComMayaUtils.createAlembic
            self.workThread.start()
            
        self.acceptBtn.setDisabled(True)
        self.cancelBtn.setDisabled(True)
Beispiel #12
0
    def acceptInput(self):

        settings = HComMayaUtils.readIni()
        self.activityBar.setMaximum(0)
        self.activityBar.setTextVisible(False)
        self.activityBar.setVisible(True)

        self.workThread.settings = settings

        # Send an otl or a node
        if self.dataType == "otl":

            self.workThread.workFonc = HComMayaUtils.createOtl
            self.workThread.start()

        # Bgeo mesh
        elif self.dataType == "mesh":

            self.workThread.workFonc = HComMayaUtils.createMesh
            self.workThread.start()

        # Pictures
        elif self.dataType == "pic":

            self.workThread.workFonc = HComMayaUtils.createPic
            self.workThread.start()

        # Alembic
        elif self.dataType == "alembic":

            self.workThread.workFonc = HComMayaUtils.createAlembic
            self.workThread.start()

        self.acceptBtn.setDisabled(True)
        self.cancelBtn.setDisabled(True)
Beispiel #13
0
def connectToServer(ID=None, clientType="NONE"):
    '''
        Try to connect to the server and launch the BG thread service
    '''

    if not ID:
        ID = getpass.getuser()

    global server_conn
    global bgsrv

    try:
        server_conn = rpyc.connect(
            HComMayaUtils.readIni()["SERVER"].replace(" ", ""),
            int(str(HComMayaUtils.readIni()["PORT"]).replace(" ", "")),
            service=HCom_ClientService,
            config={"allow_pickle": True})
    except Exception as e:
        print("ERROR: Can not connect to server: " + str(e))
        return False, False
    else:
        if ID in server_conn.root.getAllClients().keys():
            ask = QtGui.QMessageBox()
            ask.setText("User ID already registered on the server")
            ask.setIcon(QtGui.QMessageBox.Critical)
            ask.exec_()
            server_conn.close()
            return False

        MayaGlobals.HCOMCLIENT = [server_conn, ID]

    global server_id
    server_id = ID

    bgsrv = rpyc.BgServingThread(server_conn)
    result = server_conn.root.registerClient(ID, clientType)

    if result:
        return ID
    else:
        return False
Beispiel #14
0
def _exportAlembic():

    if not "AbcExport" in cmds.pluginInfo(query=True, listPlugins=True):
        ask = QtGui.QMessageBox()
        ask.setText("Error: Alembic export plugin not loaded (AbcExport) !")
        ask.setIcon(QtGui.QMessageBox.Warning)
        ask.exec_()
        return False

    selection = cmds.ls(sl=True)
    if not selection:
        ask = QtGui.QMessageBox()
        ask.setText("Error: Nothing selected !")
        ask.setIcon(QtGui.QMessageBox.Warning)
        ask.exec_()
        return False

    name = str(selection[0]).replace("|", "_") + ".abc"
    abcFile = HComMayaUtils.fetchMyReceivedFilesFolder() + os.sep + name
    abcFile = HComMayaUtils.incrementFile(abcFile)
    start = cmds.playbackOptions(query=True, minTime=True)
    end = cmds.playbackOptions(query=True, maxTime=True)

    frameRangeUi = HComMayaWidgets.FrameRangeSelection(start=start, end=end)
    frameRangeUi.exec_()

    if not frameRangeUi.VALID:
        return False

    else:
        frames = frameRangeUi.frameRange

    cmd = "-fr {0} {1} -f {2}".format(frames[0], frames[1], abcFile)
    cmds.AbcExport(sl=True, j=cmd)

    if os.path.exists(abcFile):
        return name, abcFile, frames

    return False
Beispiel #15
0
def _exportAlembic():
    
    if not "AbcExport" in cmds.pluginInfo( query=True, listPlugins=True ):
        ask = QtGui.QMessageBox()
        ask.setText("Error: Alembic export plugin not loaded (AbcExport) !")
        ask.setIcon(QtGui.QMessageBox.Warning)
        ask.exec_()
        return False
    
    selection = cmds.ls(sl=True)
    if not selection:
        ask = QtGui.QMessageBox()
        ask.setText("Error: Nothing selected !")
        ask.setIcon(QtGui.QMessageBox.Warning)
        ask.exec_()
        return False
    
    name = str(selection[0]).replace("|", "_") + ".abc"
    abcFile = HComMayaUtils.fetchMyReceivedFilesFolder() + os.sep + name
    abcFile = HComMayaUtils.incrementFile(abcFile)
    start = cmds.playbackOptions(query=True, minTime=True)
    end = cmds.playbackOptions(query=True, maxTime=True)
    
    frameRangeUi = HComMayaWidgets.FrameRangeSelection(start=start, end=end)
    frameRangeUi.exec_()
    
    if not frameRangeUi.VALID:
        return False
    
    else:
        frames = frameRangeUi.frameRange
    
    cmd = "-fr {0} {1} -f {2}".format(frames[0], frames[1], abcFile)
    cmds.AbcExport(sl=True, j=cmd)
    
    if os.path.exists(abcFile):
        return name, abcFile, frames
    
    return False
Beispiel #16
0
def _exportObj():
    
    selection = cmds.ls(sl=True)
    if not selection:
        ask = QtGui.QMessageBox()
        ask.setText("Error: Nothing selected !")
        ask.setIcon(QtGui.QMessageBox.Warning)
        ask.exec_()
        return False, False
    
    meshName = str(selection[0]).replace("|", "_")
    
    objtmp = HComMayaUtils.fetchMyReceivedFilesFolder() + os.sep + meshName + "_tmp.obj"
    objtmp = HComMayaUtils.incrementFile(objtmp)
    
    try:
        cmds.file(objtmp, force=True, type="OBJexport", es=True, shader=False, )
    except Exception as e:
        print("ERROR: " + str(e))
        return False, False
    
    return meshName, objtmp
Beispiel #17
0
 def appendMessage(self, header, message, fromMyself=False):
     
     if header:
         now = datetime.datetime.now()
         timeStamp = "{1}:{2} {0}:".format(header, str(now.hour).zfill(2), str(now.minute).zfill(2))
     
         if fromMyself:
             timeStamp = HComMayaUtils.coloredString(timeStamp, "70738c", italic=True)
             
     else:
         timeStamp = ""
         
     msbBox = MessageBox(timeStamp, message, fromMyself)
     self.messageOutLayout.addWidget(msbBox)
     self.messageOutLayout.update()
     
     self.messageScrollArea.ensureWidgetVisible(self.messageOutLayout.widget())
Beispiel #18
0
    def appendMessage(self, header, message, fromMyself=False):

        if header:
            now = datetime.datetime.now()
            timeStamp = "{1}:{2} {0}:".format(header,
                                              str(now.hour).zfill(2),
                                              str(now.minute).zfill(2))

            if fromMyself:
                timeStamp = HComMayaUtils.coloredString(timeStamp,
                                                        "70738c",
                                                        italic=True)

        else:
            timeStamp = ""

        msbBox = MessageBox(timeStamp, message, fromMyself)
        self.messageOutLayout.addWidget(msbBox)
        self.messageOutLayout.update()

        self.messageScrollArea.ensureWidgetVisible(
            self.messageOutLayout.widget())
Beispiel #19
0
def connectToServer(ID=None, clientType="NONE"):
    '''
        Try to connect to the server and launch the BG thread service
    '''
    
    if not ID:
        ID = getpass.getuser()
    
    global server_conn
    global bgsrv
    
    try:
        server_conn = rpyc.connect(HComMayaUtils.readIni()["SERVER"].replace(" ",""), int(str(HComMayaUtils.readIni()["PORT"]).replace(" ","")), service=HCom_ClientService, config={"allow_pickle":True})
    except Exception as e:
        print("ERROR: Can not connect to server: " + str(e))
        return False, False
    else:
        if ID in server_conn.root.getAllClients().keys():
            ask = QtGui.QMessageBox()
            ask.setText("User ID already registered on the server")
            ask.setIcon(QtGui.QMessageBox.Critical)
            ask.exec_()
            server_conn.close()
            return False
        
        MayaGlobals.HCOMCLIENT = [server_conn, ID]
        
    global server_id
    server_id = ID
    
    bgsrv = rpyc.BgServingThread(server_conn)
    result = server_conn.root.registerClient(ID, clientType)
    
    if result:
        return ID
    else:
        return False
Beispiel #20
0
    def _appendMessageToTab(self, data):
        
        tabTarget = data["TAB_TARGET"]
        sender = data["SENDER"]
        message = data["MESSAGE"]

        if not tabTarget in self.USER_TABS.keys():
            return False
        
        curTab = self.centralTabWidget.currentWidget()   
        
        if self.USER_TABS[tabTarget] != curTab:
            targetTabIdx = self.centralTabWidget.indexOf(self.USER_TABS[tabTarget])
            self.centralTabWidget.tabBar().setTabIcon(targetTabIdx, QtGui.QIcon(ICONPATH + "unreadmsg.png"))
            
            settings = HComMayaUtils.readIni()
            if "PLAY_SOUND" in settings.keys():
                if settings["PLAY_SOUND"]:
                    s = QtGui.QSound(ICONPATH + "gnm.wav")
                    s.play()
            
        self.USER_TABS[tabTarget].appendMessage(sender, message)
        
        MayaGlobals.HCOM_TABS = self.USER_TABS
Beispiel #21
0
 def _rdnname(self):
     if str(self.ID_line.text()) == "2501":
         self.ID_line.setText(HComMayaUtils.rdnname())
Beispiel #22
0
    def __init__(self, parent=None):
        QtGui.QDialog.__init__(self, parent=parent)
        
        initValues = HComMayaUtils.readIni()
        
        self.SETTINGS = initValues
        
        self.setWindowTitle("HCom Settings")
        self.setWindowIcon(QtGui.QIcon(ICONPATH + "\\settings.png"))
        
        settingsLayout = QtGui.QVBoxLayout()
        settingsLayout.setSpacing(10)
        
        settingsLayout.addWidget(QtGui.QLabel("HCom version: {0}".format(HCOM_VERSION)))
        
        serverAdresslayout = QtGui.QHBoxLayout()
        serverAdresslayout.setSpacing(10)
        serverAdresslayout.addWidget(QtGui.QLabel("Server Adress:"))
        self.serverAdress = QtGui.QLineEdit(str(initValues["SERVER"]))
        serverAdresslayout.addWidget(self.serverAdress)
        settingsLayout.addItem(serverAdresslayout)
        
        serverPortlayout = QtGui.QHBoxLayout()
        serverPortlayout.setSpacing(10)
        serverPortlayout.addWidget(QtGui.QLabel("Server Port:"))
        self.serverPort = QtGui.QLineEdit(str(initValues["PORT"]))
        serverPortlayout.addWidget(self.serverPort)
        settingsLayout.addItem(serverPortlayout)
        
        myReceivedFilesLayout = QtGui.QHBoxLayout()
        myReceivedFilesLayout.setSpacing(10)
        self.myReceivedFilesLbl = QtGui.QLabel("My Received Files Folder:")
        myReceivedFilesLayout.addWidget(self.myReceivedFilesLbl)
        self.myReceivedFileLine = QtGui.QLineEdit("")
        if initValues["MY_RECEIVED_FILES"] == "DEFAULT":
            self.myReceivedFileLine.setText(str(os.path.dirname(__file__)) + "\\HCom_Received_Files")
        else:
            self.myReceivedFileLine.setText(str(initValues["MY_RECEIVED_FILES"]))
        myReceivedFilesLayout.addWidget(self.myReceivedFileLine)
        self.myReceivedFileBtn = QtGui.QPushButton("Pick")
        self.myReceivedFileBtn.clicked.connect(self.pickMyReceivedFilesFolder)
        myReceivedFilesLayout.addWidget(self.myReceivedFileBtn)
        settingsLayout.addItem(myReceivedFilesLayout)

        self.saveHistory = QtGui.QCheckBox("Save Conversation history")
        self.saveHistory.setChecked(bool(initValues["SAVE_HISTORY"]))
        settingsLayout.addWidget(self.saveHistory)
        
        self.playSounds = QtGui.QCheckBox("Play Sounds")
        self.playSounds.setChecked(bool(initValues["PLAY_SOUND"]))
        settingsLayout.addWidget(self.playSounds)
        
        self.returnToDefaultBtn = QtGui.QPushButton("Revert to Default")
        self.returnToDefaultBtn.clicked.connect(self.returnToDefault)
        settingsLayout.addWidget(self.returnToDefaultBtn)
        
        buttonsLayout = QtGui.QHBoxLayout()
        buttonsLayout.setSpacing(10)
        
        self.validBtn = QtGui.QPushButton("Valid")
        self.validBtn.clicked.connect(self.validSettings)
        buttonsLayout.addWidget(self.validBtn)
        
        self.cancelBtn = QtGui.QPushButton("Cancel")
        self.cancelBtn.clicked.connect(self.cancelSettings)
        buttonsLayout.addWidget(self.cancelBtn)
        
        settingsLayout.addItem(buttonsLayout)
        
        settingsLayout.setAlignment(QtCore.Qt.AlignTop)
        self.setLayout(settingsLayout)
Beispiel #23
0
    def __init__(self, parent=None):
        QtGui.QDialog.__init__(self, parent=parent)

        initValues = HComMayaUtils.readIni()

        self.SETTINGS = initValues

        self.setWindowTitle("HCom Settings")
        self.setWindowIcon(QtGui.QIcon(ICONPATH + "\\settings.png"))

        settingsLayout = QtGui.QVBoxLayout()
        settingsLayout.setSpacing(10)

        settingsLayout.addWidget(
            QtGui.QLabel("HCom version: {0}".format(HCOM_VERSION)))

        serverAdresslayout = QtGui.QHBoxLayout()
        serverAdresslayout.setSpacing(10)
        serverAdresslayout.addWidget(QtGui.QLabel("Server Adress:"))
        self.serverAdress = QtGui.QLineEdit(str(initValues["SERVER"]))
        serverAdresslayout.addWidget(self.serverAdress)
        settingsLayout.addItem(serverAdresslayout)

        serverPortlayout = QtGui.QHBoxLayout()
        serverPortlayout.setSpacing(10)
        serverPortlayout.addWidget(QtGui.QLabel("Server Port:"))
        self.serverPort = QtGui.QLineEdit(str(initValues["PORT"]))
        serverPortlayout.addWidget(self.serverPort)
        settingsLayout.addItem(serverPortlayout)

        myReceivedFilesLayout = QtGui.QHBoxLayout()
        myReceivedFilesLayout.setSpacing(10)
        self.myReceivedFilesLbl = QtGui.QLabel("My Received Files Folder:")
        myReceivedFilesLayout.addWidget(self.myReceivedFilesLbl)
        self.myReceivedFileLine = QtGui.QLineEdit("")
        if initValues["MY_RECEIVED_FILES"] == "DEFAULT":
            self.myReceivedFileLine.setText(
                str(os.path.dirname(__file__)) + "\\HCom_Received_Files")
        else:
            self.myReceivedFileLine.setText(
                str(initValues["MY_RECEIVED_FILES"]))
        myReceivedFilesLayout.addWidget(self.myReceivedFileLine)
        self.myReceivedFileBtn = QtGui.QPushButton("Pick")
        self.myReceivedFileBtn.clicked.connect(self.pickMyReceivedFilesFolder)
        myReceivedFilesLayout.addWidget(self.myReceivedFileBtn)
        settingsLayout.addItem(myReceivedFilesLayout)

        self.saveHistory = QtGui.QCheckBox("Save Conversation history")
        self.saveHistory.setChecked(bool(initValues["SAVE_HISTORY"]))
        settingsLayout.addWidget(self.saveHistory)

        self.playSounds = QtGui.QCheckBox("Play Sounds")
        self.playSounds.setChecked(bool(initValues["PLAY_SOUND"]))
        settingsLayout.addWidget(self.playSounds)

        self.returnToDefaultBtn = QtGui.QPushButton("Revert to Default")
        self.returnToDefaultBtn.clicked.connect(self.returnToDefault)
        settingsLayout.addWidget(self.returnToDefaultBtn)

        buttonsLayout = QtGui.QHBoxLayout()
        buttonsLayout.setSpacing(10)

        self.validBtn = QtGui.QPushButton("Valid")
        self.validBtn.clicked.connect(self.validSettings)
        buttonsLayout.addWidget(self.validBtn)

        self.cancelBtn = QtGui.QPushButton("Cancel")
        self.cancelBtn.clicked.connect(self.cancelSettings)
        buttonsLayout.addWidget(self.cancelBtn)

        settingsLayout.addItem(buttonsLayout)

        settingsLayout.setAlignment(QtCore.Qt.AlignTop)
        self.setLayout(settingsLayout)
Beispiel #24
0
 def _rdnname(self):
     if str(self.ID_line.text()) == "2501":
         self.ID_line.setText(HComMayaUtils.rdnname())
Beispiel #25
0
def receiveData(sender, data, dataType, tabTarget, senderType=[None, None]):

    settings = HComMayaUtils.readIni()
    # Send a text message
    if dataType == "msg":

        if tabTarget == "" or tabTarget == "OPEN_CHAT_ROOM":
            MayaGlobals.MAIN_UI.updateUiThread.messageData = {
                "TAB_TARGET": "OPEN_CHAT_ROOM",
                "SENDER": sender,
                "MESSAGE": "{0}\n".format(data)
            }
        else:
            sendAddTabToThread(tabTarget, senderType)
            MayaGlobals.MAIN_UI.updateUiThread.messageData = {
                "TAB_TARGET": str(tabTarget),
                "SENDER": sender,
                "MESSAGE": "{0}\n".format(data)
            }

        if settings["SAVE_HISTORY"]:
            now = datetime.datetime.now()
            timeStamp = "{1}:{2} {0}:".format(sender,
                                              str(now.hour).zfill(2),
                                              str(now.minute).zfill(2))
            HComMayaUtils.writeHistory(sender, timeStamp, data)

    # Send a setting of parms for the given node selection type
    elif dataType == "settings":
        sendAddTabToThread(tabTarget, senderType)
        MayaGlobals.MAIN_UI.updateUiThread.inputData = {
            "SENDER": sender,
            "DATA_TYPE": dataType,
            "DATA": data,
            "TAB_TARGET": tabTarget,
            "SENDER_TYPE": senderType
        }

    # Send an otl or a node
    elif dataType == "otl":
        sendAddTabToThread(tabTarget, senderType)
        MayaGlobals.MAIN_UI.updateUiThread.inputData = {
            "SENDER": sender,
            "DATA_TYPE": dataType,
            "DATA": data,
            "TAB_TARGET": tabTarget,
            "SENDER_TYPE": senderType
        }

    # Bgeo mesh
    elif dataType == "mesh":
        sendAddTabToThread(tabTarget, senderType)
        MayaGlobals.MAIN_UI.updateUiThread.inputData = {
            "SENDER": sender,
            "DATA_TYPE": dataType,
            "DATA": data,
            "TAB_TARGET": tabTarget,
            "SENDER_TYPE": senderType
        }

    # Pictures
    elif dataType == "pic":
        sendAddTabToThread(tabTarget, senderType)
        MayaGlobals.MAIN_UI.updateUiThread.inputData = {
            "SENDER": sender,
            "DATA_TYPE": dataType,
            "DATA": data,
            "TAB_TARGET": tabTarget,
            "SENDER_TYPE": senderType
        }

    # Alembic
    elif dataType == "alembic":
        sendAddTabToThread(tabTarget, senderType)
        MayaGlobals.MAIN_UI.updateUiThread.inputData = {
            "SENDER": sender,
            "DATA_TYPE": dataType,
            "DATA": data,
            "TAB_TARGET": tabTarget,
            "SENDER_TYPE": senderType
        }

    # Data received
    elif dataType == "dataReceivedUpdate":

        now = datetime.datetime.now()
        minute = str(now.minute).zfill(2)
        hour = str(now.hour).zfill(2)
        timestamp = "{0}:{1}: ".format(hour, minute)

        if data[0]:
            statue = "accepted."
        else:
            statue = "declined."

        msg = ""
        if data[1] == "otl":
            msg = timestamp + "Houdini node " + statue

        elif data[1] == "settings":
            msg = timestamp + "Node Settings " + statue

        elif data[1] == "mesh":
            msg = timestamp + "Mesh " + statue

        elif data[1] == "pic":
            msg = timestamp + "Image File " + statue

        MayaGlobals.MAIN_UI.updateUiThread.dataReceivedUpdate = {
            "SENDER": "",
            "MESSAGE": msg,
            "TAB_TARGET": tabTarget,
            "SENDER_TYPE": senderType
        }
Beispiel #26
0
def receiveData(sender, data, dataType, tabTarget, senderType=[None, None]):
    
    settings = HComMayaUtils.readIni()
    # Send a text message
    if dataType == "msg":
        
        if tabTarget == "" or tabTarget == "OPEN_CHAT_ROOM":
            MayaGlobals.MAIN_UI.updateUiThread.messageData = {"TAB_TARGET":"OPEN_CHAT_ROOM", "SENDER":sender, "MESSAGE":"{0}\n".format(data)}
        else:
            sendAddTabToThread(tabTarget, senderType)
            MayaGlobals.MAIN_UI.updateUiThread.messageData = {"TAB_TARGET":str(tabTarget), "SENDER":sender, "MESSAGE":"{0}\n".format(data)}
            
        if settings["SAVE_HISTORY"]:
            now = datetime.datetime.now()
            timeStamp = "{1}:{2} {0}:".format(sender, str(now.hour).zfill(2), str(now.minute).zfill(2))
            HComMayaUtils.writeHistory(sender, timeStamp, data)
    
    # Send a setting of parms for the given node selection type
    elif dataType == "settings":
        sendAddTabToThread(tabTarget, senderType)
        MayaGlobals.MAIN_UI.updateUiThread.inputData = {"SENDER":sender, "DATA_TYPE":dataType, "DATA":data, "TAB_TARGET":tabTarget, "SENDER_TYPE":senderType}
    
    # Send an otl or a node
    elif dataType == "otl":
        sendAddTabToThread(tabTarget, senderType)
        MayaGlobals.MAIN_UI.updateUiThread.inputData = {"SENDER":sender, "DATA_TYPE":dataType, "DATA":data, "TAB_TARGET":tabTarget, "SENDER_TYPE":senderType}
            
    # Bgeo mesh
    elif dataType == "mesh":
        sendAddTabToThread(tabTarget, senderType)
        MayaGlobals.MAIN_UI.updateUiThread.inputData = {"SENDER":sender, "DATA_TYPE":dataType, "DATA":data, "TAB_TARGET":tabTarget, "SENDER_TYPE":senderType}
 
    # Pictures
    elif dataType == "pic":
        sendAddTabToThread(tabTarget, senderType)
        MayaGlobals.MAIN_UI.updateUiThread.inputData = {"SENDER":sender, "DATA_TYPE":dataType, "DATA":data, "TAB_TARGET":tabTarget, "SENDER_TYPE":senderType}
        
    # Alembic
    elif dataType == "alembic":
        sendAddTabToThread(tabTarget, senderType)
        MayaGlobals.MAIN_UI.updateUiThread.inputData = {"SENDER":sender, "DATA_TYPE":dataType, "DATA":data, "TAB_TARGET":tabTarget, "SENDER_TYPE":senderType}
    
    # Data received
    elif dataType == "dataReceivedUpdate":
        
        now = datetime.datetime.now()
        minute = str(now.minute).zfill(2)
        hour = str(now.hour).zfill(2)
        timestamp = "{0}:{1}: ".format(hour, minute)
        
        if data[0]:
            statue = "accepted."
        else:
            statue = "declined."
        
        msg = ""
        if data[1] == "otl":
            msg = timestamp + "Houdini node " + statue
            
        elif data[1] == "settings":
            msg = timestamp + "Node Settings " + statue
            
        elif data[1] == "mesh":
            msg = timestamp + "Mesh " + statue
            
        elif data[1] == "pic":
            msg = timestamp + "Image File " + statue
            
        MayaGlobals.MAIN_UI.updateUiThread.dataReceivedUpdate = {"SENDER":"", "MESSAGE":msg, "TAB_TARGET":tabTarget, "SENDER_TYPE":senderType}