def __init__( self, parent, icon=':ftrack/image/default/ftrackLogoColor' ): super(AboutDialog, self).__init__(parent) layout = QtWidgets.QVBoxLayout() layout.setContentsMargins(20, 20, 20, 20) layout.setSizeConstraint(QtWidgets.QLayout.SetFixedSize) self.setLayout(layout) self.icon = QtWidgets.QLabel() pixmap = QtGui.QPixmap(icon) self.icon.setPixmap( pixmap.scaledToHeight(36, mode=QtCore.Qt.SmoothTransformation) ) self.icon.setAlignment(QtCore.Qt.AlignCenter) layout.addWidget(self.icon) self.messageLabel = QtWidgets.QLabel() self.messageLabel.setWordWrap(True) self.messageLabel.setAlignment(QtCore.Qt.AlignLeft) layout.addWidget(self.messageLabel) layout.addSpacing(25) self.debugButton = QtWidgets.QPushButton('More info') self.debugButton.clicked.connect(self._onDebugButtonClicked) layout.addWidget(self.debugButton) self.loggingButton = QtWidgets.QPushButton('Open log directory') self.loggingButton.clicked.connect(self._onLoggingButtonClicked) layout.addWidget(self.loggingButton) self.debugTextEdit = QtWidgets.QTextEdit() self.debugTextEdit.setReadOnly(True) self.debugTextEdit.setFontPointSize(10) self.debugTextEdit.hide() layout.addWidget(self.debugTextEdit)
def __init__(self, parent=None): '''Initiate a publish view.''' super(Publisher, self).__init__(parent) self.session = get_shared_session() self.logger = logging.getLogger(__name__ + '.' + self.__class__.__name__) self._entity = None layout = QtWidgets.QVBoxLayout() self.setLayout(layout) self.browser = _data_drop_zone.DataDropZone() layout.addWidget(self.browser) self.browser.dataSelected.connect(self._onDataSelected) # Create a components list widget. self.componentsList = _components_list.ComponentsList() self.componentsList.setObjectName('publisher-componentlist') self.componentsList.itemsChanged.connect( self._onComponentListItemsChanged) layout.addWidget(self.componentsList, stretch=1) self.componentsList.hide() # Create form layout to keep track of publish form items. formLayout = QtWidgets.QFormLayout() layout.addLayout(formLayout, stretch=0) # Add entity selector. self.entitySelector = EntitySelector() formLayout.addRow('Linked to', self.entitySelector) # Add asset options. self.assetOptions = _asset_options.AssetOptions() self.entitySelector.entityChanged.connect(self.assetOptions.setEntity) self.assetCreated.connect(self.assetOptions.setAsset) formLayout.addRow('Asset', self.assetOptions.radioButtonFrame) formLayout.addRow('Existing asset', self.assetOptions.existingAssetSelector) formLayout.addRow('Type', self.assetOptions.assetTypeSelector) formLayout.addRow('Name', self.assetOptions.assetNameLineEdit) self.assetOptions.initializeFieldLabels(formLayout) # Add preview selector. self.previewSelector = _item_selector.ItemSelector( labelField='componentName', defaultLabel='Unnamed component', emptyLabel='Select component to use') formLayout.addRow('Web playable', self.previewSelector) self.thumbnailDropZone = _thumbnail_drop_zone.ThumbnailDropZone() formLayout.addRow('Thumbnail', self.thumbnailDropZone) # Add version description component. self.versionDescription = QtWidgets.QTextEdit() formLayout.addRow('Description', self.versionDescription) publishButton = QtWidgets.QPushButton(text='Publish') publishButton.setObjectName('primary') publishButton.clicked.connect(self.publish) layout.addWidget(publishButton, alignment=QtCore.Qt.AlignCenter, stretch=0)