def setupUi(self, Dialog): Dialog.setObjectName("Dialog") Dialog.resize(750, 598) self.verticalLayout = QtGui.QVBoxLayout(Dialog) self.verticalLayout.setObjectName("verticalLayout") self.horizontalLayout = QtGui.QHBoxLayout() self.horizontalLayout.setObjectName("horizontalLayout") self.left_browser = ShotgunBrowserWidget(Dialog) sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.left_browser.sizePolicy().hasHeightForWidth()) self.left_browser.setSizePolicy(sizePolicy) self.left_browser.setObjectName("left_browser") self.horizontalLayout.addWidget(self.left_browser) self.verticalLayout_2 = QtGui.QVBoxLayout() self.verticalLayout_2.setObjectName("verticalLayout_2") spacerItem = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding) self.verticalLayout_2.addItem(spacerItem) self.pushButton = QtGui.QPushButton(Dialog) self.pushButton.setText("") icon = QtGui.QIcon() icon.addPixmap(QtGui.QPixmap(":/res/checkout.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.pushButton.setIcon(icon) self.pushButton.setIconSize(QtCore.QSize(64, 64)) self.pushButton.setFlat(True) self.pushButton.setObjectName("pushButton") self.verticalLayout_2.addWidget(self.pushButton) self.pushButton_2 = QtGui.QPushButton(Dialog) self.pushButton_2.setText("") icon1 = QtGui.QIcon() icon1.addPixmap(QtGui.QPixmap(":/res/checkin.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.pushButton_2.setIcon(icon1) self.pushButton_2.setIconSize(QtCore.QSize(64, 64)) self.pushButton_2.setFlat(True) self.pushButton_2.setObjectName("pushButton_2") self.verticalLayout_2.addWidget(self.pushButton_2) spacerItem1 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding) self.verticalLayout_2.addItem(spacerItem1) self.horizontalLayout.addLayout(self.verticalLayout_2) self.right_browser = FilesystemBrowserWidget(Dialog) sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.right_browser.sizePolicy().hasHeightForWidth()) self.right_browser.setSizePolicy(sizePolicy) self.right_browser.setObjectName("right_browser") self.horizontalLayout.addWidget(self.right_browser) self.verticalLayout.addLayout(self.horizontalLayout) self.retranslateUi(Dialog) QtCore.QMetaObject.connectSlotsByName(Dialog)
def __init__(self, parent=None): QtGui.QWidget.__init__(self, parent) # set up the UI self.ui = Ui_Browser() self.ui.setupUi(self) # hide the overlays self.ui.load_overlay.setVisible(False) self.ui.message_overlay.setVisible(False) self._app = None self._worker = None self._current_work_id = None self._selected_item = None self._selected_items = [] self._dynamic_widgets = [] self._multi_select = False self._search = True # spinner self._spin_icons = [] self._spin_icons.append(QtGui.QPixmap(":/res/progress_bar_1.png")) self._spin_icons.append(QtGui.QPixmap(":/res/progress_bar_2.png")) self._spin_icons.append(QtGui.QPixmap(":/res/progress_bar_3.png")) self._spin_icons.append(QtGui.QPixmap(":/res/progress_bar_4.png")) self._timer = QtCore.QTimer(self) self._timer.timeout.connect(self._update_spinner) self._current_spinner_index = 0 # search self.ui.search.textEdited.connect(self._on_search_text_changed)
def __init__(self, app, worker, parent=None): ListBase.__init__(self, app, worker, parent) # set up the UI self.ui = Ui_Item() self.ui.setupUi(self) self._selected = False self._worker = worker self._worker_uid = None # spinner self._spin_icons = [] self._spin_icons.append(QtGui.QPixmap(":/res/thumb_loading_1.png")) self._spin_icons.append(QtGui.QPixmap(":/res/thumb_loading_2.png")) self._spin_icons.append(QtGui.QPixmap(":/res/thumb_loading_3.png")) self._spin_icons.append(QtGui.QPixmap(":/res/thumb_loading_4.png")) self._timer = QtCore.QTimer(self) self._timer.timeout.connect( self._update_spinner ) self._current_spinner_index = 0 # set up styles for selected/unselected states self._unselected_style = { "border-radius":"2px", "border-style":"solid", "border-width":"1px", "border-color":"rgb(0,0,0,48)", "background-color":"rgb(0,0,0,48)" } self._selected_style = self._unselected_style.copy() self._selected_style["background-color"] = "rgb(112, 112, 112)" self._selected_style["border-color"] = "rgb(112, 112, 112)" self.set_selected(False)
def __init__(self, parent=None): QtGui.QWidget.__init__(self, parent) # set up the UI self.ui = Ui_Browser() self.ui.setupUi(self) # hide the overlays self.ui.main_pages.setCurrentWidget(self.ui.items_page) self._app = None self._worker = None self._current_work_id = None self._dynamic_widgets = [] self._multi_select = False self._search = True # spinner self._spin_icons = [] self._spin_icons.append(QtGui.QPixmap(":/res/progress_bar_1.png")) self._spin_icons.append(QtGui.QPixmap(":/res/progress_bar_2.png")) self._spin_icons.append(QtGui.QPixmap(":/res/progress_bar_3.png")) self._spin_icons.append(QtGui.QPixmap(":/res/progress_bar_4.png")) self._timer = QtCore.QTimer(self) self._timer.timeout.connect(self._update_spinner) self._current_spinner_index = 0 # search self.ui.search.textEdited.connect(self._on_search_box_input) # load all items self.ui.load_all_top.clicked.connect(self._on_load_all_clicked) self.ui.load_all_bottom.clicked.connect(self._on_load_all_clicked) # reset the deferred loading counters and settings self._reset_load_more() # style: self._title_base_style = { "border": "none", "border-color": "rgb(32,32,32)", "border-top-left-radius": "3px", "border-top-right-radius": "3px", "border-bottom-left-radius": "0px", "border-bottom-right-radius": "0px" } self._title_styles = { "gradient": { "background": "qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 rgba(97, 97, 97, 255), stop:1 rgba(49, 49, 49, 255));" }, "none": {} } self._title_margins = { "gradient": [12, 3, 12, 3], "none": [3, 3, 3, 3] } self._current_title_style = "none" self.title_style = "gradient"
def setupUi(self, WorkAreaDialog): WorkAreaDialog.setObjectName("WorkAreaDialog") WorkAreaDialog.resize(443, 467) icon = QtGui.QIcon() icon.addPixmap(QtGui.QPixmap(":/tk_multi_infopanel/rings.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) WorkAreaDialog.setWindowIcon(icon) self.verticalLayout = QtGui.QVBoxLayout(WorkAreaDialog) self.verticalLayout.setObjectName("verticalLayout") self.top_frame = QtGui.QFrame(WorkAreaDialog) self.top_frame.setFrameShape(QtGui.QFrame.StyledPanel) self.top_frame.setFrameShadow(QtGui.QFrame.Raised) self.top_frame.setObjectName("top_frame") self.horizontalLayout = QtGui.QHBoxLayout(self.top_frame) self.horizontalLayout.setObjectName("horizontalLayout") self.icon = QtGui.QLabel(self.top_frame) self.icon.setMinimumSize(QtCore.QSize(40, 40)) self.icon.setMaximumSize(QtCore.QSize(40, 40)) self.icon.setText("") self.icon.setPixmap( QtGui.QPixmap(":/tk_multi_infopanel/pin_large.png")) self.icon.setScaledContents(True) self.icon.setObjectName("icon") self.horizontalLayout.addWidget(self.icon) self.top_text = QtGui.QLabel(self.top_frame) sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.top_text.sizePolicy().hasHeightForWidth()) self.top_text.setSizePolicy(sizePolicy) self.top_text.setObjectName("top_text") self.horizontalLayout.addWidget(self.top_text) self.verticalLayout.addWidget(self.top_frame) self.task_list = QtGui.QListWidget(WorkAreaDialog) self.task_list.setObjectName("task_list") self.verticalLayout.addWidget(self.task_list) self.horizontalLayout_2 = QtGui.QHBoxLayout() self.horizontalLayout_2.setObjectName("horizontalLayout_2") spacerItem = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) self.horizontalLayout_2.addItem(spacerItem) self.cancel = QtGui.QPushButton(WorkAreaDialog) self.cancel.setObjectName("cancel") self.horizontalLayout_2.addWidget(self.cancel) self.ok = QtGui.QPushButton(WorkAreaDialog) self.ok.setObjectName("ok") self.horizontalLayout_2.addWidget(self.ok) self.verticalLayout.addLayout(self.horizontalLayout_2) self.retranslateUi(WorkAreaDialog) QtCore.QObject.connect(self.cancel, QtCore.SIGNAL("clicked()"), WorkAreaDialog.reject) QtCore.QObject.connect(self.ok, QtCore.SIGNAL("clicked()"), WorkAreaDialog.accept) QtCore.QMetaObject.connectSlotsByName(WorkAreaDialog)
def __init__(self, app, worker, parent=None): """ Construction """ browser_widget.ListItem.__init__(self, app, worker, parent) self._green_pixmap = QtGui.QPixmap(":/res/green_bullet.png") self._red_pixmap = QtGui.QPixmap(":/res/red_bullet.png") self._latest_version = None self._is_latest = None
def setupUi(self, TaskWidget): TaskWidget.setObjectName("TaskWidget") TaskWidget.resize(338, 36) self.verticalLayout = QtGui.QVBoxLayout(TaskWidget) self.verticalLayout.setSpacing(0) self.verticalLayout.setContentsMargins(2, 2, 2, 2) self.verticalLayout.setObjectName("verticalLayout") self.frame = QtGui.QFrame(TaskWidget) self.frame.setMinimumSize(QtCore.QSize(0, 32)) self.frame.setFrameShape(QtGui.QFrame.StyledPanel) self.frame.setFrameShadow(QtGui.QFrame.Raised) self.frame.setObjectName("frame") self.horizontalLayout = QtGui.QHBoxLayout(self.frame) self.horizontalLayout.setSpacing(8) self.horizontalLayout.setContentsMargins(8, 2, 2, 2) self.horizontalLayout.setObjectName("horizontalLayout") self.icon = QtGui.QLabel(self.frame) self.icon.setMinimumSize(QtCore.QSize(18, 18)) self.icon.setMaximumSize(QtCore.QSize(18, 18)) self.icon.setPixmap(QtGui.QPixmap(":/tk_multi_publish2/shotgun.png")) self.icon.setScaledContents(True) self.icon.setAlignment(QtCore.Qt.AlignCenter) self.icon.setObjectName("icon") self.horizontalLayout.addWidget(self.icon) self.header = QtGui.QLabel(self.frame) sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.header.sizePolicy().hasHeightForWidth()) self.header.setSizePolicy(sizePolicy) self.header.setMinimumSize(QtCore.QSize(1, 1)) self.header.setAccessibleName("") self.header.setObjectName("header") self.horizontalLayout.addWidget(self.header) self.status = QtGui.QToolButton(self.frame) self.status.setMinimumSize(QtCore.QSize(30, 22)) self.status.setMaximumSize(QtCore.QSize(30, 22)) icon = QtGui.QIcon() icon.addPixmap(QtGui.QPixmap(":/tk_multi_publish2/status_publish.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.status.setIcon(icon) self.status.setIconSize(QtCore.QSize(16, 16)) self.status.setObjectName("status") self.horizontalLayout.addWidget(self.status) self.checkbox = QtGui.QCheckBox(self.frame) self.checkbox.setObjectName("checkbox") self.horizontalLayout.addWidget(self.checkbox) self.verticalLayout.addWidget(self.frame) self.retranslateUi(TaskWidget) QtCore.QMetaObject.connectSlotsByName(TaskWidget)
def _on_worker_task_complete(self, uid, data): if uid != self._worker_uid: return # stop spin self._timer.stop() # set thumbnail! try: path = data.get("thumb_path") self.ui.thumbnail.setPixmap(QtGui.QPixmap(path)) except: self.ui.thumbnail.setPixmap(QtGui.QPixmap(":/res/thumb_empty.png"))
def _set_collapsed(self, collapse): """ Set collapsed state of the control """ # show controls self._ui.item_frame.setVisible(not collapse) self._ui.line.setVisible(not collapse) # set icon: self._ui.expand_label.setPixmap([ QtGui.QPixmap(":/res/group_collapse.png"), QtGui.QPixmap(":/res/group_expand.png") ][collapse]) self._is_collapsed = collapse
def setupUi(self, Dialog): Dialog.setObjectName("Dialog") Dialog.resize(431, 392) self.horizontalLayout = QtGui.QHBoxLayout(Dialog) self.horizontalLayout.setObjectName("horizontalLayout") self.logo_example = QtGui.QLabel(Dialog) self.logo_example.setText("") self.logo_example.setPixmap(QtGui.QPixmap(":/res/sg_logo.png")) self.logo_example.setObjectName("logo_example") self.horizontalLayout.addWidget(self.logo_example) self.context = QtGui.QLabel(Dialog) sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.context.sizePolicy().hasHeightForWidth()) self.context.setSizePolicy(sizePolicy) self.context.setAlignment(QtCore.Qt.AlignLeading | QtCore.Qt.AlignLeft | QtCore.Qt.AlignVCenter) self.context.setObjectName("context") self.horizontalLayout.addWidget(self.context) self.retranslateUi(Dialog) QtCore.QMetaObject.connectSlotsByName(Dialog)
def __init__(self, parent): """ :param parent: Widget to attach the overlay to :type parent: :class:`PySide.QtGui.QWidget` """ QtGui.QWidget.__init__(self, parent) # hook up a listener to the parent window so we # can resize the overlay at the same time as the parent window # is being resized. filter = ResizeEventFilter(parent) filter.resized.connect(self._on_parent_resized) parent.installEventFilter(filter) self._shotgun_spinning_widget = ShotgunSpinningWidget(self) # make it transparent self.setAttribute(QtCore.Qt.WA_TransparentForMouseEvents) # turn off the widget self.setVisible(False) self._mode = self.MODE_OFF self._message_pixmap = None self._message = None self._sg_icon = QtGui.QPixmap(":/tk_framework_qtwidgets.overlay_widget/sg_logo.png")
def __init__(self, parent): """ :param parent: Widget to attach the overlay to :type parent: :class:`PySide.QtGui.QWidget` """ QtGui.QWidget.__init__(self, parent) # turn off the widget self.setVisible(False) self._mode = self.MODE_OFF # setup spinner timer self._timer = QtCore.QTimer(self) self._timer.timeout.connect(self._on_animation) # This is the current spin angle self._spin_angle = 0 # This is where we need to scroll to. self._spin_angle_to = 0 # This is where we were told last time where we need to spin to self._previous_spin_angle_to = 0 # This counts how many times we've ticked in the last second to know how big the heartbeat # needs to be. self._heartbeat = 0 self._sg_icon = QtGui.QPixmap( ":/tk_framework_qtwidgets.overlay_widget/sg_logo.png")
def setupUi(self, BatchRenderDialog): BatchRenderDialog.setObjectName("BatchRenderDialog") BatchRenderDialog.resize(352, 398) self.verticalLayout = QtGui.QVBoxLayout(BatchRenderDialog) self.verticalLayout.setContentsMargins(20, 20, 20, -1) self.verticalLayout.setObjectName("verticalLayout") self.label_2 = QtGui.QLabel(BatchRenderDialog) self.label_2.setText("") self.label_2.setPixmap(QtGui.QPixmap(":/tk-flame-export/batch_render_splash.png")) self.label_2.setObjectName("label_2") self.verticalLayout.addWidget(self.label_2) self.comments = QtGui.QPlainTextEdit(BatchRenderDialog) self.comments.setMinimumSize(QtCore.QSize(300, 100)) self.comments.setObjectName("comments") self.verticalLayout.addWidget(self.comments) self.horizontalLayout = QtGui.QHBoxLayout() self.horizontalLayout.setSpacing(4) self.horizontalLayout.setObjectName("horizontalLayout") spacerItem = QtGui.QSpacerItem(368, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) self.horizontalLayout.addItem(spacerItem) self.cancel = QtGui.QPushButton(BatchRenderDialog) self.cancel.setObjectName("cancel") self.horizontalLayout.addWidget(self.cancel) self.submit = QtGui.QPushButton(BatchRenderDialog) self.submit.setObjectName("submit") self.horizontalLayout.addWidget(self.submit) self.verticalLayout.addLayout(self.horizontalLayout) self.retranslateUi(BatchRenderDialog) QtCore.QMetaObject.connectSlotsByName(BatchRenderDialog)
def __init__(self, parent, overlay_parent_widget): """ Constructor """ ShotgunModel.__init__(self, parent, download_thumbs=True) # override the default connection to use one that is tied to the current login connection = ShotgunLogin.get_instance_for_namespace("tk-desktop").get_connection() self.set_shotgun_connection(connection) # load up the thumbnail to use when there is none set in Shotgun self._missing_thumbnail_project = QtGui.QPixmap(":/tk-desktop/missing_thumbnail_project.png") # load up the cached data for the model filters = [ ["name", "is_not", "Template Project"], ["archived", "is_not", True], ] interesting_fields = [ "name", "sg_status", "current_user_favorite", "last_accessed_by_current_user", "sg_description", ] ShotgunModel._load_data( self, entity_type="Project", filters=filters, hierarchy=["name"], fields=interesting_fields, order=[], ) # and force a refresh of the data from Shotgun self._refresh_data()
def setupUi(self, SubmitDialog): SubmitDialog.setObjectName("SubmitDialog") SubmitDialog.resize(475, 559) self.verticalLayout = QtGui.QVBoxLayout(SubmitDialog) self.verticalLayout.setContentsMargins(20, -1, 20, -1) self.verticalLayout.setObjectName("verticalLayout") self.label = QtGui.QLabel(SubmitDialog) self.label.setText("") self.label.setPixmap(QtGui.QPixmap(":/tk-flame-review/ui_splash.png")) self.label.setObjectName("label") self.verticalLayout.addWidget(self.label) self.comments = QtGui.QPlainTextEdit(SubmitDialog) self.comments.setMinimumSize(QtCore.QSize(300, 100)) self.comments.setObjectName("comments") self.verticalLayout.addWidget(self.comments) self.horizontalLayout = QtGui.QHBoxLayout() self.horizontalLayout.setObjectName("horizontalLayout") spacerItem = QtGui.QSpacerItem( 368, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum ) self.horizontalLayout.addItem(spacerItem) self.cancel = QtGui.QPushButton(SubmitDialog) self.cancel.setObjectName("cancel") self.horizontalLayout.addWidget(self.cancel) self.submit = QtGui.QPushButton(SubmitDialog) self.submit.setObjectName("submit") self.horizontalLayout.addWidget(self.submit) self.verticalLayout.addLayout(self.horizontalLayout) self.retranslateUi(SubmitDialog) QtCore.QMetaObject.connectSlotsByName(SubmitDialog)
def __init__(self, parent, overlay_parent_widget): """ Constructor """ ShotgunModel.__init__(self, parent, download_thumbs=True) # load up the thumbnail to use when there is none set in Shotgun self._missing_thumbnail_project = QtGui.QPixmap( ":/tk-desktop/missing_thumbnail_project.png" ) # load up the cached data for the model filters = [["name", "is_not", "Template Project"], ["archived", "is_not", True]] # Template projects is a Shotgun 6.0 feature, so make sure it exists # on the server before filtering on that value. if SgProjectModel.supports_project_templates(): filters.append(["is_template", "is_not", True]) interesting_fields = [ "name", "sg_status", "current_user_favorite", "last_accessed_by_current_user", "sg_description", ] ShotgunModel._load_data( self, entity_type="Project", filters=filters, hierarchy=["name"], fields=interesting_fields, order=[], ) # and force a refresh of the data from Shotgun self._refresh_data()
def get_initial_thumbnail(self): """ Get the initial thumbnail to use for the publish. :returns: A :class:`QtGui.QPixmap` instance or None if the thumbnail generation failed. """ try: thumb_path = self._app.execute_hook("hook_thumbnail") # If the hook didn't return anything, don't try to build a QPixmap # from it. if thumb_path: pixmap = QtGui.QPixmap(thumb_path) if pixmap.isNull(): # Log debug information: sometimes the jpeg format is not # available from PySide, which can explain why no thumbnail # appears in the UI. self._app.log_debug("Unable to build a pixmap from %s" % thumb_path) self._app.log_debug( "Supported formats are %s" % QtGui.QImageReader.supportedImageFormats()) return pixmap except Exception, e: logger.warning( "Unable to generate initial thumbnail because of the following error:" ) # Log the exception + traceback for debug purpose. logger.exception(e)
def _set_primary_task(self, task): """ Set the primary task and update the UI accordingly """ self._primary_task = task # connect to the primary tasks modified signal so that we can # update the UI if something changes. self._primary_task.modified.connect(self._on_primary_task_modified) # update UI for primary task: icon_path = self._primary_task.output.icon_path if os.path.isfile(icon_path) and os.path.exists(icon_path): icon = QtGui.QPixmap(icon_path) if not icon.isNull(): self._ui.primary_icon_label.setPixmap(icon) # build details text and set: lines = [] name_str = self._primary_task.output.display_name if self._primary_task.item.name: name_str = "%s - %s" % (name_str, self._primary_task.item.name) lines.append("<span style='font-size: 16px'}><b>%s</b></span><span style='font-size: 12px'}>" % (name_str)) if self._primary_task.output.description: lines.append("%s" % self._primary_task.output.description) if self._primary_task.item.description: lines.append("%s" % self._primary_task.item.description) details_txt = "%s</span>" % "<br>".join(lines) self._ui.primary_details_label.setText(details_txt) # update errors text: self.__update_primary_errors()
def __init__(self, parent=None): """ Constructor """ QtGui.QWidget.__init__(self, parent) # hook up a listener to the parent window so we # can resize the overlay at the same time as the parent window # is being resized. filter = ResizeEventFilter(parent) filter.resized.connect(self._on_parent_resized) parent.installEventFilter(filter) # make it transparent self.setAttribute(QtCore.Qt.WA_TransparentForMouseEvents) # turn off the widget self.setVisible(False) self._mode = self.MODE_OFF # setup spinner timer self._timer = QtCore.QTimer(self) self._timer.timeout.connect(self._on_animation) self._spin_angle = 0 self._message_pixmap = None self._message = None self._sg_icon = QtGui.QPixmap( ":/tk_framework_shotgunutils.shotgun_model/sg_logo.png")
def _on_worker_task_complete(self, uid, data): """ Called when the computation is complete and we should update widget with the result """ if uid != self._worker_uid: return # stop spin self._timer.stop() # set thumbnail if data.get("thumbnail"): self.ui.thumbnail.setPixmap(QtGui.QPixmap(data.get("thumbnail"))) # set light - red or green if data["up_to_date"]: icon = self._green_pixmap else: icon = self._red_pixmap self.ui.light.setPixmap(icon) # figure out if this item should be hidden if data["up_to_date"] == True and self._show_green == False: self.setVisible(False) if data["up_to_date"] == False and self._show_red == False: self.setVisible(False)
def setupUi(self, SubmissionFailedDialog): SubmissionFailedDialog.setObjectName("SubmissionFailedDialog") SubmissionFailedDialog.resize(491, 204) self.verticalLayout = QtGui.QVBoxLayout(SubmissionFailedDialog) self.verticalLayout.setContentsMargins(20, -1, 20, -1) self.verticalLayout.setObjectName("verticalLayout") self.horizontalLayout_3 = QtGui.QHBoxLayout() self.horizontalLayout_3.setObjectName("horizontalLayout_3") self.label_2 = QtGui.QLabel(SubmissionFailedDialog) sizePolicy = QtGui.QSizePolicy( QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Preferred ) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.label_2.sizePolicy().hasHeightForWidth()) self.label_2.setSizePolicy(sizePolicy) self.label_2.setText("") self.label_2.setPixmap(QtGui.QPixmap(":/tk-flame-export/failure.png")) self.label_2.setObjectName("label_2") self.horizontalLayout_3.addWidget(self.label_2) self.verticalLayout_3 = QtGui.QVBoxLayout() self.verticalLayout_3.setObjectName("verticalLayout_3") self.label_3 = QtGui.QLabel(SubmissionFailedDialog) self.label_3.setStyleSheet("QLabel { font-size: 18px; }") self.label_3.setAlignment( QtCore.Qt.AlignLeading | QtCore.Qt.AlignLeft | QtCore.Qt.AlignTop ) self.label_3.setObjectName("label_3") self.verticalLayout_3.addWidget(self.label_3) self.status = QtGui.QLabel(SubmissionFailedDialog) sizePolicy = QtGui.QSizePolicy( QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.MinimumExpanding ) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.status.sizePolicy().hasHeightForWidth()) self.status.setSizePolicy(sizePolicy) self.status.setTextFormat(QtCore.Qt.RichText) self.status.setAlignment( QtCore.Qt.AlignLeading | QtCore.Qt.AlignLeft | QtCore.Qt.AlignTop ) self.status.setWordWrap(True) self.status.setObjectName("status") self.verticalLayout_3.addWidget(self.status) self.horizontalLayout_3.addLayout(self.verticalLayout_3) self.verticalLayout.addLayout(self.horizontalLayout_3) self.horizontalLayout = QtGui.QHBoxLayout() self.horizontalLayout.setObjectName("horizontalLayout") spacerItem = QtGui.QSpacerItem( 368, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum ) self.horizontalLayout.addItem(spacerItem) self.submit = QtGui.QPushButton(SubmissionFailedDialog) self.submit.setObjectName("submit") self.horizontalLayout.addWidget(self.submit) self.verticalLayout.addLayout(self.horizontalLayout) self.retranslateUi(SubmissionFailedDialog) QtCore.QMetaObject.connectSlotsByName(SubmissionFailedDialog)
def setupUi(self, SimpleNewItemWidget): SimpleNewItemWidget.setObjectName("SimpleNewItemWidget") SimpleNewItemWidget.resize(182, 46) self.horizontalLayout_2 = QtGui.QHBoxLayout(SimpleNewItemWidget) self.horizontalLayout_2.setSpacing(8) self.horizontalLayout_2.setContentsMargins(20, 0, 0, 0) self.horizontalLayout_2.setObjectName("horizontalLayout_2") self.verticalLayout_3 = QtGui.QVBoxLayout() self.verticalLayout_3.setObjectName("verticalLayout_3") self.user_thumb = UserThumbnail(SimpleNewItemWidget) self.user_thumb.setMinimumSize(QtCore.QSize(30, 30)) self.user_thumb.setMaximumSize(QtCore.QSize(30, 30)) self.user_thumb.setText("") self.user_thumb.setPixmap(QtGui.QPixmap(":/tk_framework_qtwidgets.activity_stream/default_user.png")) self.user_thumb.setScaledContents(True) self.user_thumb.setAlignment(QtCore.Qt.AlignHCenter|QtCore.Qt.AlignTop) self.user_thumb.setObjectName("user_thumb") self.verticalLayout_3.addWidget(self.user_thumb) self.horizontalLayout_2.addLayout(self.verticalLayout_3) self.frame = QtGui.QFrame(SimpleNewItemWidget) self.frame.setFrameShape(QtGui.QFrame.StyledPanel) self.frame.setFrameShadow(QtGui.QFrame.Raised) self.frame.setObjectName("frame") self.verticalLayout_2 = QtGui.QVBoxLayout(self.frame) self.verticalLayout_2.setObjectName("verticalLayout_2") self.verticalLayout = QtGui.QVBoxLayout() self.verticalLayout.setObjectName("verticalLayout") self.horizontalLayout = QtGui.QHBoxLayout() self.horizontalLayout.setObjectName("horizontalLayout") self.header_left = QtGui.QLabel(self.frame) sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.header_left.sizePolicy().hasHeightForWidth()) self.header_left.setSizePolicy(sizePolicy) self.header_left.setText("") self.header_left.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter) self.header_left.setWordWrap(True) self.header_left.setObjectName("header_left") self.horizontalLayout.addWidget(self.header_left) self.date = QtGui.QLabel(self.frame) sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Maximum, QtGui.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.date.sizePolicy().hasHeightForWidth()) self.date.setSizePolicy(sizePolicy) self.date.setText("") self.date.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTop|QtCore.Qt.AlignTrailing) self.date.setWordWrap(True) self.date.setObjectName("date") self.horizontalLayout.addWidget(self.date) self.horizontalLayout.setStretch(0, 1) self.verticalLayout.addLayout(self.horizontalLayout) self.verticalLayout_2.addLayout(self.verticalLayout) self.horizontalLayout_2.addWidget(self.frame) self.horizontalLayout_2.setStretch(1, 1) self.retranslateUi(SimpleNewItemWidget) QtCore.QMetaObject.connectSlotsByName(SimpleNewItemWidget)
def setupUi(self, ItemList): ItemList.setObjectName("ItemList") ItemList.resize(397, 265) self.horizontalLayout_2 = QtGui.QHBoxLayout(ItemList) self.horizontalLayout_2.setContentsMargins(12, 2, 2, 2) self.horizontalLayout_2.setObjectName("horizontalLayout_2") self.main_frame = QtGui.QFrame(ItemList) self.main_frame.setStyleSheet("#main_frame {\n" "border-style: solid;\n" "border-width: 1;\n" "border-radius: 2px;\n" "}") self.main_frame.setFrameShape(QtGui.QFrame.StyledPanel) self.main_frame.setFrameShadow(QtGui.QFrame.Raised) self.main_frame.setObjectName("main_frame") self.verticalLayout = QtGui.QVBoxLayout(self.main_frame) self.verticalLayout.setSpacing(2) self.verticalLayout.setContentsMargins(2, 2, 2, 2) self.verticalLayout.setObjectName("verticalLayout") self.horizontalLayout = QtGui.QHBoxLayout() self.horizontalLayout.setObjectName("horizontalLayout") self.section_label = QtGui.QLabel(self.main_frame) self.section_label.setStyleSheet("#section_label {\n" "font-size: 10pt\n" "}") self.section_label.setIndent(4) self.section_label.setObjectName("section_label") self.horizontalLayout.addWidget(self.section_label) self.expand_label = QtGui.QLabel(self.main_frame) self.expand_label.setMinimumSize(QtCore.QSize(20, 20)) self.expand_label.setBaseSize(QtCore.QSize(20, 20)) self.expand_label.setText("") self.expand_label.setPixmap(QtGui.QPixmap(":/res/group_expand.png")) self.expand_label.setScaledContents(False) self.expand_label.setAlignment(QtCore.Qt.AlignCenter) self.expand_label.setObjectName("expand_label") self.horizontalLayout.addWidget(self.expand_label) self.horizontalLayout.setStretch(0, 1) self.verticalLayout.addLayout(self.horizontalLayout) self.line = QtGui.QFrame(self.main_frame) self.line.setFrameShadow(QtGui.QFrame.Plain) self.line.setFrameShape(QtGui.QFrame.HLine) self.line.setFrameShadow(QtGui.QFrame.Sunken) self.line.setObjectName("line") self.verticalLayout.addWidget(self.line) self.item_frame = QtGui.QFrame(self.main_frame) self.item_frame.setStyleSheet("#item_frame {\n" "border-style: none;\n" "}") self.item_frame.setFrameShape(QtGui.QFrame.StyledPanel) self.item_frame.setFrameShadow(QtGui.QFrame.Raised) self.item_frame.setObjectName("item_frame") self.verticalLayout.addWidget(self.item_frame) self.verticalLayout.setStretch(2, 1) self.horizontalLayout_2.addWidget(self.main_frame) self.retranslateUi(ItemList) QtCore.QMetaObject.connectSlotsByName(ItemList)
def setupUi(self, ListItemWidget): ListItemWidget.setObjectName("ListItemWidget") ListItemWidget.resize(355, 105) self.horizontalLayout_3 = QtGui.QHBoxLayout(ListItemWidget) self.horizontalLayout_3.setSpacing(1) self.horizontalLayout_3.setContentsMargins(8, 4, 8, 4) self.horizontalLayout_3.setObjectName("horizontalLayout_3") self.box = QtGui.QFrame(ListItemWidget) self.box.setFrameShape(QtGui.QFrame.NoFrame) self.box.setObjectName("box") self.horizontalLayout_2 = QtGui.QHBoxLayout(self.box) self.horizontalLayout_2.setSpacing(10) self.horizontalLayout_2.setContentsMargins(4, 8, 4, 8) self.horizontalLayout_2.setObjectName("horizontalLayout_2") self.thumbnail = QtGui.QLabel(self.box) self.thumbnail.setMinimumSize(QtCore.QSize(96, 75)) self.thumbnail.setMaximumSize(QtCore.QSize(96, 75)) self.thumbnail.setText("") self.thumbnail.setPixmap(QtGui.QPixmap(":/tk_multi_infopanel/rect_512x400.png")) self.thumbnail.setScaledContents(True) self.thumbnail.setAlignment(QtCore.Qt.AlignCenter) self.thumbnail.setObjectName("thumbnail") self.horizontalLayout_2.addWidget(self.thumbnail) self.verticalLayout = QtGui.QVBoxLayout() self.verticalLayout.setSpacing(3) self.verticalLayout.setObjectName("verticalLayout") self.horizontalLayout = QtGui.QHBoxLayout() self.horizontalLayout.setSpacing(5) self.horizontalLayout.setObjectName("horizontalLayout") self.list_item_top_left = QtGui.QLabel(self.box) self.list_item_top_left.setObjectName("list_item_top_left") self.horizontalLayout.addWidget(self.list_item_top_left) self.list_item_top_right = QtGui.QLabel(self.box) self.list_item_top_right.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.list_item_top_right.setObjectName("list_item_top_right") self.horizontalLayout.addWidget(self.list_item_top_right) self.button = QtGui.QPushButton(self.box) self.button.setMaximumSize(QtCore.QSize(16, 16)) self.button.setIconSize(QtCore.QSize(10, 10)) self.button.setObjectName("button") self.horizontalLayout.addWidget(self.button) self.verticalLayout.addLayout(self.horizontalLayout) self.list_item_body = QtGui.QLabel(self.box) sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.list_item_body.sizePolicy().hasHeightForWidth()) self.list_item_body.setSizePolicy(sizePolicy) self.list_item_body.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignTop) self.list_item_body.setWordWrap(True) self.list_item_body.setObjectName("list_item_body") self.verticalLayout.addWidget(self.list_item_body) self.horizontalLayout_2.addLayout(self.verticalLayout) self.horizontalLayout_3.addWidget(self.box) self.retranslateUi(ListItemWidget) QtCore.QMetaObject.connectSlotsByName(ListItemWidget)
def setupUi(self, SummaryDialog): SummaryDialog.setObjectName("SummaryDialog") SummaryDialog.resize(501, 175) self.verticalLayout = QtGui.QVBoxLayout(SummaryDialog) self.verticalLayout.setContentsMargins(20, -1, 20, -1) self.verticalLayout.setObjectName("verticalLayout") self.stackedWidget = QtGui.QStackedWidget(SummaryDialog) self.stackedWidget.setObjectName("stackedWidget") self.page = QtGui.QWidget() self.page.setObjectName("page") self.verticalLayout_2 = QtGui.QVBoxLayout(self.page) self.verticalLayout_2.setObjectName("verticalLayout_2") self.label = QtGui.QLabel(self.page) self.label.setText("") self.label.setPixmap( QtGui.QPixmap(":/tk-flame-review/submission_complete.png")) self.label.setObjectName("label") self.verticalLayout_2.addWidget(self.label) self.stackedWidget.addWidget(self.page) self.page_2 = QtGui.QWidget() self.page_2.setObjectName("page_2") self.verticalLayout_3 = QtGui.QVBoxLayout(self.page_2) self.verticalLayout_3.setObjectName("verticalLayout_3") self.label_2 = QtGui.QLabel(self.page_2) self.label_2.setText("") self.label_2.setPixmap( QtGui.QPixmap(":/tk-flame-review/submission_failed.png")) self.label_2.setObjectName("label_2") self.verticalLayout_3.addWidget(self.label_2) self.stackedWidget.addWidget(self.page_2) self.verticalLayout.addWidget(self.stackedWidget) self.horizontalLayout = QtGui.QHBoxLayout() self.horizontalLayout.setObjectName("horizontalLayout") spacerItem = QtGui.QSpacerItem(368, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) self.horizontalLayout.addItem(spacerItem) self.submit = QtGui.QPushButton(SummaryDialog) self.submit.setObjectName("submit") self.horizontalLayout.addWidget(self.submit) self.verticalLayout.addLayout(self.horizontalLayout) self.retranslateUi(SummaryDialog) self.stackedWidget.setCurrentIndex(0) QtCore.QMetaObject.connectSlotsByName(SummaryDialog)
def _on_screenshot(self): """ Perform the actual screenshot """ # hide the containing window - we can't actuall hide # the window as this will break modality! Instead # we have to move the window off the screen: win = self._safe_get_dialog() win_geom = None if win: win_geom = win.geometry() win.setGeometry(1000000, 1000000, win_geom.width(), win_geom.height()) # make sure this event is processed: QtCore.QCoreApplication.processEvents() QtCore.QCoreApplication.sendPostedEvents(None, 0) QtCore.QCoreApplication.flush() path = None pm = None try: # get temporary file to use: # to be cross-platform and python 2.5 compliant, we can't use # tempfile.NamedTemporaryFile with delete=False. Instead, we # use tempfile.mkstemp which does practically the same thing! tf, path = tempfile.mkstemp(suffix=".png", prefix="tanktmp") if tf: os.close(tf) # do screenshot with thread so we don't block anything screenshot_thread = ThumbnailWidget.ScreenshotThread(path) screenshot_thread.start() while not screenshot_thread.isFinished(): screenshot_thread.wait(100) QtGui.QApplication.processEvents() er = screenshot_thread.get_error() if er: raise tank.TankError("Failed to capture screenshot: %s" % er) # load into pixmap: pm = QtGui.QPixmap(path) finally: # restore the window: if win: win.setGeometry(win_geom) QtCore.QCoreApplication.processEvents() # remove the temporary file: if path and os.path.exists(path): os.remove(path) return pm
def show_result(self, status, msg): """ Show the result page """ self._ui.page_stack.setCurrentWidget(self._ui.status_page) self._ui.status_title.setText( ["Oh No, Something Went Wrong!", "Success!"][status]) self._ui.status_details.setText([msg, "Snapshot Successfully Created" ][not msg]) self._ui.status_icon.setPixmap( QtGui.QPixmap([":/res/failure.png", ":/res/success.png"][status]))
def _on_screenshot(self): """ Perform the actual screenshot """ # hide the containing window - we can't actuall hide # the window as this will break modality! Instead # we have to move the window off the screen: win = self._safe_get_dialog() win_geom = None if win: win_geom = win.geometry() win.setGeometry(1000000, 1000000, win_geom.width(), win_geom.height()) # make sure this event is processed: QtCore.QCoreApplication.processEvents() path = None pm = None try: # get temporary file to use: with tempfile.NamedTemporaryFile(suffix=".png", prefix="tanktmp", delete=False) as temp_file: path = temp_file.name # screenshot if sys.platform == "darwin": # use built-in screenshot command on the mac os.system("screencapture -m -i -s %s" % path) elif sys.platform == "linux2": # use image magick os.system("import %s" % path) elif sys.platform == "win32": # use external boxcutter tool bc = os.path.abspath( os.path.join(__file__, "../resources/boxcutter.exe")) subprocess.check_call([bc, path]) # load into pixmap: pm = QtGui.QPixmap(path) finally: # restore the window: if win: win.setGeometry(win_geom) QtCore.QCoreApplication.processEvents() # remove the temporary file: if path: os.remove(path) return pm
def setupUi(self, PublishForm): PublishForm.setObjectName("PublishForm") PublishForm.resize(794, 549) PublishForm.setAutoFillBackground(False) self.verticalLayout = QtGui.QVBoxLayout(PublishForm) self.verticalLayout.setSpacing(20) self.verticalLayout.setObjectName("verticalLayout") self.horizontalLayout_2 = QtGui.QHBoxLayout() self.horizontalLayout_2.setObjectName("horizontalLayout_2") self.primary_icon_label = QtGui.QLabel(PublishForm) self.primary_icon_label.setMinimumSize(QtCore.QSize(80, 80)) self.primary_icon_label.setMaximumSize(QtCore.QSize(80, 80)) self.primary_icon_label.setBaseSize(QtCore.QSize(32, 32)) self.primary_icon_label.setText("") self.primary_icon_label.setPixmap( QtGui.QPixmap(":/res/default_header.png")) self.primary_icon_label.setScaledContents(False) self.primary_icon_label.setAlignment(QtCore.Qt.AlignCenter) self.primary_icon_label.setObjectName("primary_icon_label") self.horizontalLayout_2.addWidget(self.primary_icon_label) self.primary_details_label = QtGui.QLabel(PublishForm) self.primary_details_label.setStyleSheet("#primary_details_label {\n" "}") self.primary_details_label.setAlignment(QtCore.Qt.AlignLeading | QtCore.Qt.AlignLeft | QtCore.Qt.AlignVCenter) self.primary_details_label.setMargin(1) self.primary_details_label.setObjectName("primary_details_label") self.horizontalLayout_2.addWidget(self.primary_details_label) self.verticalLayout.addLayout(self.horizontalLayout_2) self.pages = QtGui.QStackedWidget(PublishForm) self.pages.setObjectName("pages") self.publish_details = PublishDetailsForm() self.publish_details.setObjectName("publish_details") self.horizontalLayout_3 = QtGui.QHBoxLayout(self.publish_details) self.horizontalLayout_3.setSpacing(0) self.horizontalLayout_3.setContentsMargins(0, 0, 0, 0) self.horizontalLayout_3.setObjectName("horizontalLayout_3") self.pages.addWidget(self.publish_details) self.publish_progress = PublishProgressForm() self.publish_progress.setObjectName("publish_progress") self.pages.addWidget(self.publish_progress) self.publish_result = PublishResultForm() self.publish_result.setObjectName("publish_result") self.horizontalLayout = QtGui.QHBoxLayout(self.publish_result) self.horizontalLayout.setSpacing(0) self.horizontalLayout.setContentsMargins(0, 0, 0, 0) self.horizontalLayout.setObjectName("horizontalLayout") self.pages.addWidget(self.publish_result) self.verticalLayout.addWidget(self.pages) self.retranslateUi(PublishForm) self.pages.setCurrentIndex(1) QtCore.QMetaObject.connectSlotsByName(PublishForm)
def __init__(self, app, worker, parent=None): ListBase.__init__(self, app, worker, parent) # set up the UI self.ui = Ui_Item() self.ui.setupUi(self) self._selected = False self._worker = worker self._worker_uid = None # spinner self._spin_icons = [] self._spin_icons.append(QtGui.QPixmap(":/res/thumb_loading_1.png")) self._spin_icons.append(QtGui.QPixmap(":/res/thumb_loading_2.png")) self._spin_icons.append(QtGui.QPixmap(":/res/thumb_loading_3.png")) self._spin_icons.append(QtGui.QPixmap(":/res/thumb_loading_4.png")) self._timer = QtCore.QTimer(self) self._timer.timeout.connect(self._update_spinner) self._current_spinner_index = 0