示例#1
0
 def __init__(self, parent=None):
     super(ProjectManagerUI, self).__init__(parent)
     self.setWindowTitle('{} {}'.format(__title__, __version__))
     self.setMinimumWidth(640)
     self.setAttribute(QtCore.Qt.WA_DeleteOnClose)
     core.ProjectManager().checkedFolders()
     self.buildUI()
     self.setProject()
示例#2
0
 def updateFolderB(self):
     os.environ['FLDB'] = self.folderBCb.currentText()
     self.folderCCb.clear()
     try:
         foldersC = core.ProjectManager().getFoldersC()
     except IndexError:
         foldersC = ['']
     self.folderCCb.addItems(foldersC)
示例#3
0
 def updateProjectFolder(self):
     os.environ['PRJ'] = self.projectCb.currentText()
     self.folderACb.clear()
     try:
         foldersA = core.ProjectManager().getFoldersA()
     except IndexError:
         foldersA = ['']
     self.folderACb.addItems(foldersA)
示例#4
0
    def openScene(self):
        melFiles = core.ProjectManager().getMelFiles()
        try:
            if 'workspace.mel' not in melFiles:
                util.createWorkspace()
                currentScene = self.filesTable.currentItem()
                getFileName = currentScene.text()
                sceneName = getFileName + '.ma'
                cmds.file(sceneName, o=True, f=True, typ='mayaAscii', op='v=0')
            else:
                currentScene = self.filesTable.currentItem()
                getFileName = currentScene.text()
                sceneName = getFileName + '.ma'
                cmds.file(sceneName, o=True, f=True, typ='mayaAscii', op='v=0')

        except RuntimeError:
            pass

        print(' ')
        print(' > You just opened your scene successfully.')
        print(' ')
        self.close()
示例#5
0
    def populate(self):
        self.filesTable.clearContents()
        filesPath = os.path.join(os.getenv('ROOT'), os.getenv('PRJ'),
                                 os.getenv('FLDA'), os.getenv('FLDB'),
                                 os.getenv('FLDC'), 'working', 'scenes')
        mayaFiles = sorted(core.ProjectManager().getMayaFiles())

        try:
            for i in mayaFiles:
                filePath = os.path.join(filesPath, i)
                name, ext = os.path.splitext(i)
                if ext == '.ma':
                    ext = 'Maya ASCII'
                elif ext == '.mb':
                    ext = 'Maya Binary'

                item = QtWidgets.QTableWidgetItem(name)
                item.setFlags(QtCore.Qt.ItemIsEnabled
                              | QtCore.Qt.ItemIsSelectable)

                itemType = str(ext)
                type = QtWidgets.QTableWidgetItem(itemType)
                type.setFlags(QtCore.Qt.ItemIsEnabled)

                itemDate = str(
                    time.strftime('%d/%m/%Y %H:%M',
                                  time.gmtime(os.path.getmtime(filePath))))
                date = QtWidgets.QTableWidgetItem(itemDate)
                date.setFlags(QtCore.Qt.ItemIsEnabled)

                self.filesTable.insertRow(0)
                self.filesTable.setItem(0, 0, item)
                self.filesTable.setItem(0, 1, type)
                self.filesTable.setItem(0, 2, date)

        except TypeError:
            pass
示例#6
0
    def buildUI(self):
        projectManagerWidget = QtWidgets.QWidget()
        mainLayout = QtWidgets.QVBoxLayout(projectManagerWidget)
        mainLayout.setContentsMargins(2, 2, 2, 2)
        mainLayout.setAlignment(QtCore.Qt.AlignTop)

        rootFolderWidget = QtWidgets.QWidget()
        rootFolderLayout = QtWidgets.QHBoxLayout(rootFolderWidget)
        rootFolderLayout.setAlignment(QtCore.Qt.AlignTop)
        rootFolderLayout.setContentsMargins(2, 2, 2, 2)

        self.rootFolder = QtWidgets.QLineEdit()
        self.rootFolder.setText(os.getenv('ROOT'))
        self.rootFolder.setEnabled(False)
        rootFolderLayout.addWidget(self.rootFolder)

        mainLayout.addWidget(rootFolderWidget)
        projectWidget = QtWidgets.QWidget()
        projectLayout = QtWidgets.QHBoxLayout(projectWidget)
        projectLayout.setAlignment(QtCore.Qt.AlignTop)
        projectLayout.setContentsMargins(2, 2, 2, 2)

        projects = core.ProjectManager().getProjectFolders()

        self.projectCb = QtWidgets.QComboBox()
        self.projectCb.addItems(projects)
        self.projectCb.setItemText(0, os.getenv('PRJ'))
        projectLayout.addWidget(self.projectCb)
        self.projectCb.currentTextChanged.connect(self.updateProjectFolder)

        mainLayout.addWidget(projectWidget)
        folderWidget = QtWidgets.QWidget()
        folderLayout = QtWidgets.QHBoxLayout(folderWidget)
        folderLayout.setAlignment(QtCore.Qt.AlignTop)
        folderLayout.setContentsMargins(2, 2, 2, 2)

        foldersA = core.ProjectManager().getFoldersA()

        self.folderACb = QtWidgets.QComboBox()
        self.folderACb.addItems(foldersA)
        self.folderACb.setItemText(0, os.getenv('FLDA'))
        folderLayout.addWidget(self.folderACb)
        self.folderACb.currentTextChanged.connect(self.updateFolderA)

        foldersB = core.ProjectManager().getFoldersB()

        self.folderBCb = QtWidgets.QComboBox()
        self.folderBCb.addItems(foldersB)
        self.folderBCb.setItemText(0, os.getenv('FLDB'))
        folderLayout.addWidget(self.folderBCb)
        self.folderBCb.currentTextChanged.connect(self.updateFolderB)

        foldersC = core.ProjectManager().getFoldersC()

        self.folderCCb = QtWidgets.QComboBox()
        self.folderCCb.addItems(foldersC)
        self.folderCCb.setItemText(0, os.getenv('FLDC'))
        folderLayout.addWidget(self.folderCCb)
        self.folderCCb.currentTextChanged.connect(self.setProject)

        mainLayout.addWidget(folderWidget)

        filesTableWidget = QtWidgets.QWidget()
        filesTableLayout = QtWidgets.QVBoxLayout(filesTableWidget)
        filesTableLayout.setAlignment(QtCore.Qt.AlignTop)
        filesTableLayout.setContentsMargins(2, 2, 2, 2)

        self.filesTable = QtWidgets.QTableWidget()
        self.filesTable.horizontalHeader().setVisible(True)
        self.filesTable.verticalHeader().setVisible(False)
        self.filesTable.setColumnCount(4)
        self.filesTable.setColumnWidth(0, 375)
        self.filesTable.setColumnWidth(1, 90)
        self.filesTable.setColumnWidth(2, 150)
        headerLabels = (['Name', 'Type', 'Date Modified'])
        self.filesTable.setHorizontalHeaderLabels(headerLabels)
        self.filesTable.setAlternatingRowColors(True)
        self.filesTable.setSortingEnabled(True)
        self.filesTable.setShowGrid(False)
        self.filesTable.itemDoubleClicked.connect(self.checkFileState)
        filesTableLayout.addWidget(self.filesTable)

        mainLayout.addWidget(filesTableWidget)

        statusBarWidget = QtWidgets.QStatusBar()
        statusBarLayout = QtWidgets.QHBoxLayout(statusBarWidget)
        statusBarLayout.setAlignment(QtCore.Qt.AlignTop)
        statusBarLayout.setContentsMargins(2, 2, 2, 2)

        statusBarWidget.showMessage('Ready')

        mainLayout.addWidget(statusBarWidget)

        self.setCentralWidget(projectManagerWidget)