def __init__(self, parent, browseMode='Shot'): QtWidgets.QWidget.__init__(self, parent) self.ui = Ui_ExportAssetOptions() self.ui.setupUi(self) self.currentAssetType = None self.currentTask = None self.browseMode = browseMode self.ui.ListAssetsViewModel = QtGui.QStandardItemModel() self.ui.ListAssetsSortModel = QtCore.QSortFilterProxyModel() self.ui.ListAssetsSortModel.setDynamicSortFilter(True) self.ui.ListAssetsSortModel.setFilterKeyColumn(1) self.ui.ListAssetsSortModel.setSourceModel(self.ui.ListAssetsViewModel) self.ui.ListAssetNamesComboBox.setModel(self.ui.ListAssetsSortModel) self.ui.ListAssetsComboBoxModel = QtGui.QStandardItemModel() assetTypeItem = QtGui.QStandardItem('Select AssetType') self.assetTypes = [] self.assetTypes.append('') self.ui.ListAssetsComboBoxModel.appendRow(assetTypeItem) assetHandler = FTAssetHandlerInstance.instance() self.assetTypesStr = sorted(assetHandler.getAssetTypes()) for assetTypeStr in self.assetTypesStr: try: assetType = ftrack.AssetType(assetTypeStr) except: log.warning('{0} not available in ftrack'.format(assetTypeStr)) continue assetTypeItem = QtGui.QStandardItem(assetType.getName()) assetTypeItem.type = assetType.getShort() self.assetTypes.append(assetTypeItem.type) self.ui.ListAssetsComboBoxModel.appendRow(assetTypeItem) self.ui.ListAssetsComboBox.setModel(self.ui.ListAssetsComboBoxModel) self.ui.AssetTaskComboBoxModel = QtGui.QStandardItemModel() self.ui.AssetTaskComboBox.setModel(self.ui.AssetTaskComboBoxModel) self.ui.ListAssetNamesComboBox.currentIndexChanged[str].connect( self.onAssetChanged) if browseMode == 'Task': self.ui.AssetTaskComboBox.hide() self.ui.assetTaskLabel.hide()
def postBuild(self): '''Perform post build operations.''' self.assetTableSignalMapper = QtCore.QSignalMapper(self) self.assetTableSignalMapper.mapped[int].connect(self.onVersionSelected) self.assetTable.horizontalHeader().hideSection( self.assetTableColumns.index('Asset Type Code')) self.assetTypeSelectorModel = QtGui.QStandardItemModel() self.assetTypeSelector.setModel(self.assetTypeSelectorModel) self.assetTable.clicked.connect(self.rowSelectedEmitSignal) self.assetTypeSelector.currentIndexChanged.connect(self.filterAssets) self.refreshButton.clicked.connect(self.refreshView) self.updateAssetTypeOptions()
def __init__(self, parent, task=None, connector=None): '''Instantiate asset manager with *connector*.''' QtWidgets.QWidget.__init__(self, parent) if not connector: raise ValueError( 'Please provide a connector object for {0}'.format( self.__class__.__name__)) self.connector = connector self.ui = Ui_AssetManager() self.ui.setupUi(self) self.setMinimumWidth(500) self.ui.AssertManagerTableWidget.setSortingEnabled(True) self.ui.AssertManagerTableWidget.setShowGrid(False) self.ui.AssertManagerTableWidget.verticalHeader().hide() self.ui.AssertManagerTableWidget.setColumnCount(16) self.ui.AssertManagerTableWidget.horizontalHeader( ).setDefaultSectionSize(65) self.ui.AssertManagerTableWidget.setColumnWidth(0, 20) self.ui.AssertManagerTableWidget.setColumnWidth(5, 55) self.ui.AssertManagerTableWidget.setColumnWidth(6, 65) self.ui.AssertManagerTableWidget.setColumnWidth(9, 20) self.ui.AssertManagerTableWidget.setColumnWidth(10, 20) self.ui.AssertManagerTableWidget.setColumnWidth(11, 20) self.ui.AssertManagerTableWidget.setColumnWidth(15, 20) self.ui.AssertManagerTableWidget.horizontalHeader().setResizeMode( QtWidgets.QHeaderView.Stretch) self.ui.AssertManagerTableWidget.horizontalHeader().setResizeMode( 0, QtWidgets.QHeaderView.Fixed) self.ui.AssertManagerTableWidget.horizontalHeader().setResizeMode( 5, QtWidgets.QHeaderView.Fixed) self.ui.AssertManagerTableWidget.horizontalHeader().setResizeMode( 6, QtWidgets.QHeaderView.Fixed) self.ui.AssertManagerTableWidget.horizontalHeader().setResizeMode( 9, QtWidgets.QHeaderView.Fixed) self.ui.AssertManagerTableWidget.horizontalHeader().setResizeMode( 10, QtWidgets.QHeaderView.Fixed) self.ui.AssertManagerTableWidget.horizontalHeader().setResizeMode( 11, QtWidgets.QHeaderView.Fixed) self.ui.AssertManagerTableWidget.horizontalHeader().setResizeMode( 15, QtWidgets.QHeaderView.Fixed) self.ui.AssertManagerTableWidget.setColumnHidden(2, True) self.ui.AssertManagerTableWidget.setColumnHidden(3, True) self.ui.AssertManagerTableWidget.setColumnHidden(6, True) self.ui.AssertManagerTableWidget.setColumnHidden(10, True) self.ui.AssertManagerTableWidget.setColumnHidden(12, True) self.ui.AssertManagerTableWidget.setColumnHidden(13, True) self.ui.AssertManagerTableWidget.setColumnHidden(14, True) self.columnHeaders = [ '', 'Component', 'CmpId', 'AssetTypeShort', 'Type', 'Version', 'LatestV', 'Name', 'SceneName', '', '', '', 'AssetId', 'AssetVersionId', 'CurrentVersionFallback', '' ] self.ui.AssertManagerTableWidget.setHorizontalHeaderLabels( self.columnHeaders) self.ui.AssetManagerComboBoxModel = QtGui.QStandardItemModel() assetTypes = ftrack.getAssetTypes() assetTypes = sorted(assetTypes, key=lambda a: a.getName().lower()) assetTypeItem = QtGui.QStandardItem('Show All') self.ui.AssetManagerComboBoxModel.appendRow(assetTypeItem) for assetType in assetTypes: assetTypeItem = QtGui.QStandardItem(assetType.getName()) assetTypeItem.type = assetType.getShort() self.ui.AssetManagerComboBoxModel.appendRow(assetTypeItem) self.ui.AssetManagerComboBox.setModel( self.ui.AssetManagerComboBoxModel) self.signalMapperSelect = QtCore.QSignalMapper() self.signalMapperSelect.mapped[str].connect(self.selectObject) self.signalMapperRemove = QtCore.QSignalMapper() self.signalMapperRemove.mapped[str].connect(self.removeObject) self.signalMapperComment = QtCore.QSignalMapper() self.signalMapperComment.mapped[str].connect(self.openComments) extraOptionsMenu = QtWidgets.QMenu(self.ui.menuButton) extraOptionsMenu.addAction('Get SceneSelection', self.getSceneSelection) extraOptionsMenu.addAction('Set SceneSelection', self.setSceneSelection) self.ui.menuButton.setMenu(extraOptionsMenu) self.refreshAssetManager()