def __init__(self, parent=None, connector=None): ''''Initialize dialog with *parent* and *connector* instance.''' if not connector: raise ValueError( 'Please provide a connector object for {0}'.format( self.__class__.__name__)) self.connector = connector if not parent: self.parent = self.connector.getMainWindow() super(FtrackTasksDialog, self).__init__(self.parent) applyTheme(self, 'integration') self.setSizePolicy( QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding)) self.setMinimumWidth(500) self.centralwidget = QtWidgets.QWidget(self) self.verticalMainLayout = QtWidgets.QVBoxLayout(self) self.horizontalLayout = QtWidgets.QHBoxLayout() self.headerWidget = Header(getpass.getuser(), self) self.headerWidget.setSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed) self.verticalMainLayout.addWidget(self.headerWidget) self.tasksWidget = WebViewWidget(self) url = ftrack.getWebWidgetUrl('tasks', theme='tf') self.tasksWidget.setUrl(url) self.horizontalLayout.addWidget(self.tasksWidget) self.verticalMainLayout.addLayout(self.horizontalLayout) self.setObjectName('ftrackTasks') self.setWindowTitle("ftrackTasks")
def __init__(self, parent=None, connector=None): super(FtrackMayaInfoDialog, self).__init__(parent=parent, connector=connector) self.headerWidget.setSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed) applyTheme(self, 'integration')
def __init__(self): super(ScriptOpenerDialog, self).__init__( QtWidgets.QApplication.desktop() ) applyTheme(self, 'integration') self.initiate_tasks() self.setupUI() self.exec_()
def __init__(self): super(ProgressDialog, self).__init__() applyTheme(self, 'integration') self.hbox = QtWidgets.QHBoxLayout() self.progressBar = QtWidgets.QProgressBar(self) self.hbox.addWidget(self.progressBar) self.setLayout(self.hbox) self.setMinimumSize(QtCore.QSize(720, 560))
def __init__(self, parent=None, connector=None): super(FtrackMayaInfoDialog, self).__init__( parent=parent, connector=connector ) self.headerWidget.setSizePolicy( QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Fixed ) applyTheme(self, 'integration')
def __init__(self): # We need to set the activeWindow as parent to get the "refresh" button # for the snapshot working (For some reason it can't get it from a # default value..) super(ScriptPublisherDialog, self).__init__(QtGui.QApplication.desktop()) # self.setFTrackTitle("Publish script...") applyTheme(self, 'integration') self._connectors_per_type = {} self._connectors_per_type['comp'] = NukeSceneAsset() self.setupUI() self.initiate_tasks() self.exec_()
def __init__(self, cacheId): '''Instansiate header knob with *cacheId*. *cacheId* is used to retrieve a header that is already created. ''' if cacheId not in HEADER_WIDGET_CACHE: headerWidget = header.Header(getpass.getuser(), parent=None) applyTheme(headerWidget, 'integration') headerWidget.destroyed.connect( functools.partial(handleHeaderDestroyed, cacheId)) HEADER_WIDGET_CACHE[cacheId] = headerWidget self.headerWidget = HEADER_WIDGET_CACHE[cacheId]
def __init__(self): super(GizmoPublisherDialog, self).__init__( QtGui.QApplication.desktop() ) applyTheme(self, 'integration') self.setupUI() self.session = ftrack_api.Session() try: ftrack.AssetType('nuke_gizmo') except ftrack.FTrackError as error: self.header.setMessage( 'No Asset type with short name "nuke_gizmo" found. Contact your ' 'supervisor or system administrator to add it.', 'warning' ) self.exec_()
def __init__(self, parent=None, connector=None): ''''Initialize dialog with *parent* and *connector* instance.''' if not connector: raise ValueError( 'Please provide a connector object for {0}'.format( self.__class__.__name__ ) ) self.connector = connector if not parent: self.parent = self.connector.getMainWindow() super(FtrackTasksDialog, self).__init__(self.parent) applyTheme(self, 'integration') self.setSizePolicy( QtGui.QSizePolicy( QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding ) ) self.setMinimumWidth(500) self.centralwidget = QtGui.QWidget(self) self.verticalMainLayout = QtGui.QVBoxLayout(self) self.horizontalLayout = QtGui.QHBoxLayout() self.headerWidget = Header(getpass.getuser(), self) self.headerWidget.setSizePolicy( QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Fixed ) self.verticalMainLayout.addWidget(self.headerWidget) self.tasksWidget = WebViewWidget(self) url = ftrack.getWebWidgetUrl('tasks', theme='tf') self.tasksWidget.setUrl(url) self.horizontalLayout.addWidget(self.tasksWidget) self.verticalMainLayout.addLayout(self.horizontalLayout) self.setObjectName('ftrackTasks') self.setWindowTitle("ftrackTasks")
def makeUI(self): self.mainWidget = QtWidgets.QWidget() applyTheme(self.mainWidget, 'integration') self.mainWidget.setContentsMargins(0, 0, 0, 0) self.hlayout = QtWidgets.QHBoxLayout() self.hlayout.setContentsMargins(0, 0, 0, 0) self.mainWidget.setLayout(self.hlayout) self._lineEdit = QtWidgets.QLineEdit() self._lineEdit.setText( HelpFunctions.getPath(self.current_task, slash=True)) self.hlayout.addWidget(self._lineEdit) self._browse = QtWidgets.QPushButton("Browse") self.hlayout.addWidget(self._browse) QtCore.QObject.connect(self._browse, QtCore.SIGNAL('clicked()'), self.openBrowser) return self.mainWidget
def __init__(self, currentEntity, parent=None): '''Initialise with the *currentEntity* and *parent* widget.''' super(ContextSelector, self).__init__(parent=parent) self._entity = currentEntity self.entityBrowser = entityBrowser.EntityBrowser() self.entityBrowser.setMinimumWidth(600) self.entityPath = entityPath.EntityPath() self.entityBrowseButton = QtWidgets.QPushButton('Browse') applyTheme(self.entityBrowser, 'integration') layout = QtWidgets.QHBoxLayout() layout.setContentsMargins(0, 0, 0, 0) self.setLayout(layout) layout.addWidget(self.entityPath) layout.addWidget(self.entityBrowseButton) self.entityBrowseButton.clicked.connect( self._onEntityBrowseButtonClicked) self.entityChanged.connect(self.entityPath.setEntity) self.entityBrowser.selectionChanged.connect( self._onEntityBrowserSelectionChanged)
def __init__(self, parent=None, connector=None): '''Instantiate asset manager dialog with *connector*.''' super(FtrackAssetManagerDialog, self).__init__(parent=parent) applyTheme(self, 'integration') if not connector: raise ValueError( 'Please provide a connector object for {0}'.format( self.__class__.__name__)) self.connector = connector self.setMinimumWidth(400) self.setSizePolicy( QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding)) self.centralwidget = QtWidgets.QWidget(self) self.verticalMainLayout = QtWidgets.QVBoxLayout(self) self.verticalMainLayout.setSpacing(6) self.horizontalLayout = QtWidgets.QHBoxLayout() self.headerWidget = header.Header(getpass.getuser(), self) self.verticalMainLayout.addWidget(self.headerWidget) self.assetManagerWidget = AssetManagerWidget(parent=self.centralwidget, connector=self.connector) self.horizontalLayout.addWidget(self.assetManagerWidget) self.verticalMainLayout.addLayout(self.horizontalLayout) self.setObjectName('ftrackAssetManager') self.setWindowTitle('ftrackAssetManager') panelComInstance = PanelComInstance.instance() panelComInstance.addRefreshListener( self.assetManagerWidget.refreshAssetManager)
def __init__(self, parent=None, connector=None, currentEntity=None): if not connector: raise ValueError( 'Please provide a connector object for {0}'.format( self.__class__.__name__ ) ) self.connector = connector if not parent: self.parent = self.connector.getMainWindow() self.currentEntity = currentEntity super(PublishAssetDialog, self).__init__(self.parent) self.setSizePolicy( QtWidgets.QSizePolicy( QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding ) ) applyTheme(self, 'integration') self.assetType = None self.assetName = None self.status = None self.mainLayout = QtWidgets.QVBoxLayout(self) self.mainLayout.setContentsMargins(0, 0, 0, 0) self.mainWidget = QtWidgets.QWidget(self) self.scrollLayout = QtWidgets.QVBoxLayout(self.mainWidget) self.scrollLayout.setSpacing(6) self.scrollArea = QtWidgets.QScrollArea(self) self.mainLayout.addWidget(self.scrollArea) self.scrollArea.setWidgetResizable(True) self.scrollArea.setObjectName("scrollArea") self.scrollArea.setLineWidth(0) self.scrollArea.setFrameShape(QtWidgets.QFrame.NoFrame) self.scrollArea.setHorizontalScrollBarPolicy( QtCore.Qt.ScrollBarAlwaysOff ) self.scrollArea.setWidget(self.mainWidget) self.headerWidget = header.Header(getpass.getuser(), self) self.scrollLayout.addWidget(self.headerWidget) if 'FTRACK_TASKID' in os.environ: self.browseMode = 'Task' else: self.browseMode = 'Shot' self.browseTasksWidget = ContextSelector( currentEntity=self.currentEntity, parent=self ) self.scrollLayout.addWidget(self.browseTasksWidget) self.exportAssetOptionsWidget = ExportAssetOptionsWidget( self, browseMode=self.browseMode ) self.scrollLayout.addWidget(self.exportAssetOptionsWidget) self.exportOptionsWidget = ExportOptionsWidget( self, connector=self.connector ) self.scrollLayout.addWidget(self.exportOptionsWidget) spacerItem = QtWidgets.QSpacerItem( 20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding ) self.scrollLayout.addItem(spacerItem) self.setObjectName('ftrackPublishAsset') self.setWindowTitle("ftrackPublishAsset") panelComInstance = ftrack_connector.panelcom.PanelComInstance.instance() panelComInstance.addSwitchedShotListener(self.reset_context_browser) panelComInstance.addSwitchedShotListener(self.resetOptions) self.exportAssetOptionsWidget.clickedAssetTypeSignal.connect( self.exportOptionsWidget.setStackedWidget ) self.browseTasksWidget.entityChanged.connect( self.exportAssetOptionsWidget.updateView ) self.exportOptionsWidget.ui.publishButton.clicked.connect( self.publishAsset ) panelComInstance.publishProgressSignal.connect( self.exportOptionsWidget.setProgress ) self.browseTasksWidget.reset()
def __init__(self, parent=None, connector=None, currentEntity=None): if not connector: raise ValueError( 'Please provide a connector object for {0}'.format( self.__class__.__name__ ) ) self.connector = connector if not parent: self.parent = self.connector.getMainWindow() self.currentEntity = currentEntity super(PublishAssetDialog, self).__init__(self.parent) self.setSizePolicy( QtGui.QSizePolicy( QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding ) ) applyTheme(self, 'integration') self.assetType = None self.assetName = None self.status = None self.mainLayout = QtGui.QVBoxLayout(self) self.mainLayout.setContentsMargins(0, 0, 0, 0) self.mainWidget = QtGui.QWidget(self) self.scrollLayout = QtGui.QVBoxLayout(self.mainWidget) self.scrollLayout.setSpacing(6) self.scrollArea = QtGui.QScrollArea(self) self.mainLayout.addWidget(self.scrollArea) self.scrollArea.setWidgetResizable(True) self.scrollArea.setObjectName("scrollArea") self.scrollArea.setLineWidth(0) self.scrollArea.setFrameShape(QtGui.QFrame.NoFrame) self.scrollArea.setHorizontalScrollBarPolicy( QtCore.Qt.ScrollBarAlwaysOff ) self.scrollArea.setWidget(self.mainWidget) self.headerWidget = header.Header(getpass.getuser(), self) self.scrollLayout.addWidget(self.headerWidget) if 'FTRACK_TASKID' in os.environ: self.browseMode = 'Task' else: self.browseMode = 'Shot' self.browseTasksWidget = ContextSelector( currentEntity=self.currentEntity, parent=self ) self.scrollLayout.addWidget(self.browseTasksWidget) self.exportAssetOptionsWidget = ExportAssetOptionsWidget( self, browseMode=self.browseMode ) self.scrollLayout.addWidget(self.exportAssetOptionsWidget) self.exportOptionsWidget = ExportOptionsWidget( self, connector=self.connector ) self.scrollLayout.addWidget(self.exportOptionsWidget) spacerItem = QtGui.QSpacerItem( 20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding ) self.scrollLayout.addItem(spacerItem) self.setObjectName('ftrackPublishAsset') self.setWindowTitle("ftrackPublishAsset") panelComInstance = ftrack_connector.panelcom.PanelComInstance.instance() panelComInstance.addSwitchedShotListener(self.reset_context_browser) panelComInstance.addSwitchedShotListener(self.resetOptions) self.exportAssetOptionsWidget.clickedAssetTypeSignal.connect( self.exportOptionsWidget.setStackedWidget ) self.browseTasksWidget.entityChanged.connect( self.exportAssetOptionsWidget.updateView ) self.exportOptionsWidget.ui.publishButton.clicked.connect( self.publishAsset ) panelComInstance.publishProgressSignal.connect( self.exportOptionsWidget.setProgress ) self.browseTasksWidget.reset()
def __init__(self, currentEntity, parent=None): '''Initialise ContextSelector widget with the *currentEntity* and *parent* widget. ''' super(AssetSelector, self).__init__(parent=parent) self._entity = currentEntity self.entityBrowser = entityBrowser.EntityBrowser() self.entityBrowser.setMinimumWidth(600) self.entityPath = entityPath.EntityPath() self.entityBrowseButton = QtGui.QPushButton('Browse') applyTheme(self.entityBrowser) applyTheme(self.entityBrowser.overlay) user = os.getenv('LOGNAME', getpass.getuser()) self.selectedComponentPath = None self.header = header.Header(user) main_layout = QtGui.QVBoxLayout() main_layout.setContentsMargins(0, 0, 0, 0) main_layout.addWidget(self.header) self.setLayout(main_layout) self.import_button = QtGui.QPushButton('import selected component') # context_layout context_layout = QtGui.QHBoxLayout() context_layout.setContentsMargins(0, 0, 0, 0) main_layout.addLayout(context_layout) context_layout.addWidget(self.entityPath) context_layout.addWidget(self.entityBrowseButton) # asset_version_layout asset_version_layout = QtGui.QHBoxLayout() asset_version_layout.setContentsMargins(0, 0, 0, 0) self.assets_cb = QtGui.QComboBox() self.asset_v_cb = QtGui.QComboBox() self.asset_v_cb.setMinimumWidth(70) self.components_cb = QtGui.QComboBox() asset_version_layout.addWidget(self.assets_cb) asset_version_layout.addWidget(self.asset_v_cb) asset_version_layout.addWidget(self.components_cb) main_layout.addLayout(asset_version_layout) # import button main_layout.addWidget(self.import_button) # signals self.entityBrowseButton.clicked.connect( self._onEntityBrowseButtonClicked ) self.entityChanged.connect(self.entityPath.setEntity) self.entityBrowser.selectionChanged.connect( self._onEntityBrowserSelectionChanged ) self.entityBrowser.selectionChanged.connect( self._onGetAssetsSelectionChanged ) self.assets_cb.currentIndexChanged.connect( self._onGetVersionsIndexChanged ) self.asset_v_cb.currentIndexChanged.connect( self._onGetComponentsIndexChanged ) self.import_button.clicked.connect( self._onImportComponentClicked ) # init the browser self.setEntity(currentEntity)
def __init__(self, parent=None, connector=None): '''Instantiate widget with *connector*.''' if not connector: raise ValueError( 'Please provide a connector object for {0}'.format( self.__class__.__name__)) super(FtrackImportAssetDialog, self).__init__(parent=parent) applyTheme(self, 'integration') #---------------------------------------------------------------------------# # Add for proper hou colors try: import hou self.stylesheet = '%s; background-color: #3a3a3a; color: #FFFFFF;' % hou.qt.styleSheet( ) self.setStyleSheet(self.stylesheet) except: pass #---------------------------------------------------------------------------# self.connector = connector self.currentEntity = ftrack.Task( os.getenv('FTRACK_TASKID', os.getenv('FTRACK_SHOTID'))) self.setSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding) self.setMinimumWidth(600) self.mainLayout = QtWidgets.QVBoxLayout(self) self.setLayout(self.mainLayout) self.mainLayout.setContentsMargins(0, 0, 0, 0) self.mainLayout.setSpacing(0) self.scrollArea = QtWidgets.QScrollArea(self) self.mainLayout.addWidget(self.scrollArea) self.scrollArea.setWidgetResizable(True) self.scrollArea.setObjectName("scrollArea") self.scrollArea.setLineWidth(0) self.scrollArea.setFrameShape(QtWidgets.QFrame.NoFrame) self.scrollArea.setHorizontalScrollBarPolicy( QtCore.Qt.ScrollBarAlwaysOff) self.mainWidget = QtWidgets.QWidget(self) self.scrollArea.setWidget(self.mainWidget) self.verticalLayout = QtWidgets.QVBoxLayout() self.mainWidget.setLayout(self.verticalLayout) self.headerWidget = header.Header(getpass.getuser(), self) self.verticalLayout.addWidget(self.headerWidget, stretch=0) self.browseTasksWidget = ContextSelector( currentEntity=self.currentEntity, parent=self) self.verticalLayout.addWidget(self.browseTasksWidget, stretch=0) self.listAssetsTableWidget = ListAssetsTableWidget(self) self.verticalLayout.addWidget(self.listAssetsTableWidget, stretch=4) # Horizontal line self.divider = QtWidgets.QFrame() self.divider.setFrameShape(QtWidgets.QFrame.HLine) self.divider.setFrameShadow(QtWidgets.QFrame.Sunken) self.divider.setLineWidth(2) self.verticalLayout.addWidget(self.divider) self.assetVersionDetailsWidget = AssetVersionDetailsWidget( self, connector=self.connector) self.verticalLayout.addWidget(self.assetVersionDetailsWidget, stretch=0) self.componentTableWidget = ComponentTableWidget( self, connector=self.connector) self.verticalLayout.addWidget(self.componentTableWidget, stretch=3) self.horizontalLayout = QtWidgets.QHBoxLayout() self.verticalLayout.addLayout(self.horizontalLayout) self.importAllButton = QtWidgets.QPushButton("Import All") self.importAllButton.setFixedWidth(120) self.importAllButton.setObjectName('ftrack-import-btn') self.importSelectedButton = QtWidgets.QPushButton("Import Selected") self.importSelectedButton.setFixedWidth(120) self.importAllButton.setObjectName('ftrack-import-btn') self.horizontalLayout.addWidget(self.importSelectedButton) self.horizontalLayout.addWidget(self.importAllButton) self.horizontalLayout.setAlignment(QtCore.Qt.AlignRight) self.importOptionsWidget = ImportOptionsWidget( parent=self, connector=self.connector) self.verticalLayout.addWidget(self.importOptionsWidget, stretch=0) self.messageLabel = QtWidgets.QLabel(self) self.messageLabel.setText(' \n ') self.verticalLayout.addWidget(self.messageLabel, stretch=0) self.setObjectName('ftrackImportAsset') self.setWindowTitle("ftrackImportAsset") panelComInstance = PanelComInstance.instance() panelComInstance.addSwitchedShotListener(self.reset_context_browser) self.browseTasksWidget.entityChanged.connect(self.clickedIdSignal) self.importAllButton.clicked.connect(self.importAllComponents) self.importSelectedButton.clicked.connect( self.importSelectedComponents) self.listAssetsTableWidget.assetVersionSelectedSignal[str].connect( self.clickedAssetVSignal) self.listAssetsTableWidget.assetTypeSelectedSignal[str].connect( self.importOptionsWidget.setStackedWidget) self.importSignal.connect(panelComInstance.refreshListeners) self.componentTableWidget.importComponentSignal.connect( self.onImportComponent) self.browseTasksWidget.reset()