def _pin_to_menu(self, animated=True): # figure out start and end positions for the window self.systray.show() QtGui.QApplication.instance().processEvents() systray_geo = self.systray.geometry() logger.debug("systray_geo: %s", systray_geo) if animated: final = QtCore.QRect(systray_geo.center().x(), systray_geo.bottom(), 5, 5) start = self.geometry() # setup the animation to shrink the window to the systray # parent the anim to self to keep it from being garbage collected anim = QtCore.QPropertyAnimation(self, "geometry", self) anim.setDuration(300) anim.setStartValue(start) anim.setEndValue(final) anim.setEasingCurve(QtCore.QEasingCurve.InQuad) # when the anim is finished, call the post handler def post_close_animation(): self.hide() self.setGeometry(start) self.state = self.STATE_PINNED anim.finished.connect(post_close_animation) # run the animation anim.start() else: # not animated self.hide() self.state = self.STATE_PINNED
def _fit_screen_geometry(self): # Compute the union of all screen geometries, and resize to fit. desktop = QtGui.QApplication.desktop() workspace_rect = QtCore.QRect() for i in range(desktop.screenCount()): workspace_rect = workspace_rect.united(desktop.screenGeometry(i)) self.setGeometry(workspace_rect)
def _get_item_rect(self, index): """ Return the cached item rectangle for the specified model index. :param index: The model index to find the item rectangle for :returns: A QRect representing the rectangle this index occupies in the view. This rectangle is viewport relative. """ # first, get the row for each level of the hierarchy (bottom to top) rows = [] while index.isValid() and index != self.rootIndex(): rows.append(index.row()) index = index.parent() if not rows: return QtCore.QRect() # find the info for the root item: root_row = rows[-1] if root_row >= len(self._item_info): return QtCore.QRect() root_info = self._item_info[root_row] # and the Y offset for the start of the root item: y_offset = self._border.height() for row_info in self._item_info[:root_row]: y_offset += row_info.rect.height() if not row_info.collapsed: y_offset += row_info.child_area_rect.height() y_offset += self._group_spacing else: y_offset += self._item_spacing.height() # get the rect for the leaf item: rect = QtCore.QRect() if len(rows) == 1: rect = root_info.rect else: y_offset += root_info.rect.height() child_row = rows[-2] if child_row < len(root_info.child_info): rect = self._item_info[root_row].child_info[child_row][2] # and offset the rect by the Y offset: rect = rect.translated(0, y_offset) return rect
def __recompute_position(self): """ Adjust geometry of the widget based on progress widget """ pos = self._progress_widget.pos() self.setGeometry( QtCore.QRect(pos.x(), 5, self._progress_widget.width(), pos.y() - 5))
def mouseReleaseEvent(self, evt): """ Mouse release event """ if evt.button() == QtCore.Qt.LeftButton and self._click_pos is not None: # End click drag operation and commit the current capture rect self._capture_rect = QtCore.QRect(self._click_pos, evt.globalPos()).normalized() self._click_pos = None self.close()
def _on_get_desktop_pixmap_btn_clicked(self): """Performs a screen capture on the specified rectangle.""" # capture the rect and show the results rect = QtCore.QRect() rect.setLeft(self.ui.left_spin.value()) rect.setRight(self.ui.right_spin.value()) rect.setTop(self.ui.top_spin.value()) rect.setBottom(self.ui.bottom_spin.value()) self._set_results_pixmap(screen_grab.get_desktop_pixmap(rect))
def _calc_expanded_pos(self): """ Calculates the position of the banner in the parent window. The banner is centered and its top-side is flush with the dialog's top-side. :returns: The rectangle in which the banner will be displayed. :rtype: :class:`PySide.QtCore.QRect` """ window_size = self.window().size() banner_width = window_size.width() * 0.5 return QtCore.QRect((window_size.width() - banner_width) / 2, 0, banner_width, self._HEIGHT)
def add_attachment(self, pixmap): size = self.gridSize() item = QtGui.QListWidgetItem() item.attachment = pixmap pixmap = pixmap.scaled( size, QtCore.Qt.KeepAspectRatioByExpanding, ).copy(QtCore.QRect(QtCore.QPoint(), size)) item.setIcon(QtGui.QIcon(pixmap)) item.setSizeHint(size) self.insertItem(0, item) self._attachments.insert(0, item)
def _get_thumbnail_rect(self, option, index, thumbnail=None): """ Override the base ViewItemDelegate method. Return the bounding rect for the item's thumbnail. The bounding rect will be positioned at the top of the option rect, span the full width and height will be set to the `thumbnail_size` property height. NOTE that the `min_height` property is ignored here. :param option: The option used for rendering the item. :type option: :class:`sgtk.platform.qt.QtGui.QStyleOptionViewItem` :param index: The index of the item. :type index: :class:`sgtk.platform.qt.QtCore.QModelIndex` :return: The bounding rect for the item thumbnail. :rtype: :class:`sgtk.platform.qt.QtCore.QRect` """ if thumbnail is None: thumbnail = self._get_thumbnail(index) if not thumbnail: return QtCore.QRect() rect = QtCore.QRect(option.rect) width = max(self.thumbnail_size.width(), self.min_width) # Account for extra text padding width += max(0, self.text_padding.left - self.thumbnail_padding.left) width += max(0, self.text_padding.right - self.thumbnail_padding.right) rect.setSize(QtCore.QSize(width, self.thumbnail_size.height())) rect.adjust( self.thumbnail_padding.left, self.thumbnail_padding.top, -self.thumbnail_padding.right, -self.thumbnail_padding.bottom, ) return rect
def drawLineTo(self, endPoint): painter = QtGui.QPainter(self.image) painter.setPen( QtGui.QPen(self.myPenColor, self.myPenWidth, QtCore.Qt.SolidLine, QtCore.Qt.RoundCap, QtCore.Qt.RoundJoin)) painter.drawLine(self.lastPoint, endPoint) self.modified = True rad = self.myPenWidth / 2 + 2 self.update( QtCore.QRect(self.lastPoint, endPoint).normalized().adjusted( -rad, -rad, +rad, +rad)) self.lastPoint = QtCore.QPoint(endPoint)
def resizeEvent(self, event): """Make sure line number area is updated on resize. :param event: resize event object """ super(PythonInputWidget, self).resizeEvent(event) contents_rect = self.contentsRect() line_number_area_rect = QtCore.QRect(contents_rect.left(), contents_rect.top(), self.line_number_area_width(), contents_rect.height()) self._line_number_area.setGeometry(line_number_area_rect)
def __init__(self, notificationList = [], peopleList = [], parent = None): QtGui.QWidget.__init__(self, parent) self.speedFactor = 1 self.notificationList = notificationList self.notification = 0 self.lay = QtGui.QHBoxLayout() self.lay.setSpacing(0) self.lay.setContentsMargins(0,0,0,0) self.setLayout(self.lay) self.labelEdit = NotificationWriter() self.label=QtGui.QLabel() #self.setText() self.label.setAlignment(QtCore.Qt.AlignTop) self.label.setMinimumHeight(32) self.label.setMinimumWidth(600) self.animate = QtCore.QPropertyAnimation(self.label, "pos") self.animate.finished.connect(self.myfinished) self.lay.addWidget(self.label) self.geom = QtCore.QRect() self.painted = False self._filter = Filter() self.labelEdit.writeTo.installEventFilter(self) self.labelEdit.writeTo.setAutoCompletion(peopleList) self.labelEdit.writeWhat.installEventFilter(self) self.labelEdit.sendButton.installEventFilter(self) self.radioChecked = 0 if self.radioChecked == 0 : self.notificationList = docLoad() elif self.radioChecked == 1 : self.notificationList = autoLoad() else : self.notificationList = []
def visualRect(self, index): """ Overriden base method that should return the rectangle occupied by the given index in the viewport :param index: The model index to return the rectangle for :returns: A QRect() representing the rectangle this index will occupy in the viewport """ rect = QtCore.QRect() if index.isValid(): item_rect = self._get_item_rect(index) if item_rect.isValid(): # rectangle should be widget relative, not viewport relative: rect = item_rect.translated(-self.horizontalOffset(), -self.verticalOffset()) return rect
def paintEvent(self, event): """ Paint event """ # Convert click and current mouse positions to local space. mouse_pos = self.mapFromGlobal(QtGui.QCursor.pos()) click_pos = None if self._click_pos is not None: click_pos = self.mapFromGlobal(self._click_pos) painter = QtGui.QPainter(self) # Draw background. Aside from aesthetics, this makes the full # tool region accept mouse events. painter.setBrush(QtGui.QColor(0, 0, 0, self._opacity)) painter.setPen(QtCore.Qt.NoPen) painter.drawRect(event.rect()) # Clear the capture area if click_pos is not None: capture_rect = QtCore.QRect(click_pos, mouse_pos) painter.setCompositionMode(QtGui.QPainter.CompositionMode_Clear) painter.drawRect(capture_rect) painter.setCompositionMode(QtGui.QPainter.CompositionMode_SourceOver) pen = QtGui.QPen(QtGui.QColor(255, 255, 255, 64), 1, QtCore.Qt.DotLine) painter.setPen(pen) # Draw cropping markers at click position if click_pos is not None: painter.drawLine( event.rect().left(), click_pos.y(), event.rect().right(), click_pos.y() ) painter.drawLine( click_pos.x(), event.rect().top(), click_pos.x(), event.rect().bottom() ) # Draw cropping markers at current mouse position painter.drawLine( event.rect().left(), mouse_pos.y(), event.rect().right(), mouse_pos.y() ) painter.drawLine( mouse_pos.x(), event.rect().top(), mouse_pos.x(), event.rect().bottom() )
def __init__(self, parent=None): """ Constructor """ super(ScreenGrabber, self).__init__(parent) self._opacity = 1 self._click_pos = None self._capture_rect = QtCore.QRect() self.setWindowFlags(QtCore.Qt.FramelessWindowHint | QtCore.Qt.WindowStaysOnTopHint | QtCore.Qt.CustomizeWindowHint | QtCore.Qt.Tool) self.setAttribute(QtCore.Qt.WA_TranslucentBackground) self.setCursor(QtCore.Qt.CrossCursor) self.setMouseTracking(True) desktop = QtGui.QApplication.desktop() desktop.resized.connect(self._fit_screen_geometry) desktop.screenCountChanged.connect(self._fit_screen_geometry)
def _get_text_rect(self, option, index): """ Override the base ViewItemDelegate method. Return the bounding rect for the item's text. The bounding rect will be positioned directly under the bounding rect of the thumbnail, span the full width and take up the remaining height of the option rect. :param option: The option used for rendering the item. :type option: :class:`sgtk.platform.qt.QtGui.QStyleOptionViewItem` :param index: The index of the item. :type index: :class:`sgtk.platform.qt.QtCore.QModelIndex` :return: The bounding rect for the item text. :rtype: :class:`sgtk.platform.qt.QtCore.QRect` """ if not self._get_thumbnail(index): return super(ThumbnailViewItemDelegate, self)._get_text_rect(option, index) rect = QtCore.QRect(option.rect) top_left = rect.topLeft() top_left.setY(top_left.y() + self.thumbnail_height) rect.setSize( QtCore.QSize(rect.width(), rect.height() - self.thumbnail_height)) rect.moveTo(top_left) rect.adjust( self.text_padding.left, self.text_padding.top, -self.text_padding.right, -self.text_padding.bottom, ) return rect
def showEvent(self, event): """ Override the showEvent method in order to reposition the menu correctly. """ # Only apply menu position patch for menus that are shown from QToolButtons. fix_menu_pos = hasattr( self, "patch_toolbutton") and isinstance( self.patch_toolbutton, QtGui.QToolButton) if fix_menu_pos: # Get the orientation for the menu. horizontal = True if isinstance(self.patch_toolbutton.parentWidget(), QtGui.QToolBar): if (self.patch_toolbutton.parentWidget().orientation() == QtCore.Qt.Vertical): horizontal = False # Get the correct position for the menu. initial_pos = self.position_menu(horizontal, self.sizeHint(), self.patch_toolbutton) # Save the geometry of the menu, we will need to re-set the geometry after # the menu is shown to make sure the menu size is correct. rect = QtCore.QRect(initial_pos, self.size()) # Move the menu to the correct position before the show event. self.move(initial_pos) super(QMenuPatch, self).showEvent(event) if fix_menu_pos: # Help correct the size of the menu. self.setGeometry(rect)
def setupUi(self, StorageMapWidget): StorageMapWidget.setObjectName("StorageMapWidget") StorageMapWidget.resize(456, 182) StorageMapWidget.setAutoFillBackground(True) self.gridLayout_2 = QtGui.QGridLayout(StorageMapWidget) self.gridLayout_2.setContentsMargins(8, 8, 8, 8) self.gridLayout_2.setHorizontalSpacing(12) self.gridLayout_2.setVerticalSpacing(6) self.gridLayout_2.setObjectName("gridLayout_2") self.root_desc_layout = QtGui.QHBoxLayout() self.root_desc_layout.setSpacing(0) self.root_desc_layout.setObjectName("root_desc_layout") spacerItem = QtGui.QSpacerItem(12, 20, QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Minimum) self.root_desc_layout.addItem(spacerItem) self.stroage_root_desc_area = QtGui.QScrollArea(StorageMapWidget) self.stroage_root_desc_area.setFocusPolicy(QtCore.Qt.NoFocus) self.stroage_root_desc_area.setFrameShape(QtGui.QFrame.NoFrame) self.stroage_root_desc_area.setFrameShadow(QtGui.QFrame.Plain) self.stroage_root_desc_area.setWidgetResizable(True) self.stroage_root_desc_area.setObjectName("stroage_root_desc_area") self.storage_root_desc = QtGui.QWidget() self.storage_root_desc.setGeometry(QtCore.QRect(0, 0, 157, 104)) self.storage_root_desc.setObjectName("storage_root_desc") self.verticalLayout = QtGui.QVBoxLayout(self.storage_root_desc) self.verticalLayout.setSpacing(0) self.verticalLayout.setContentsMargins(0, 0, 0, 0) self.verticalLayout.setObjectName("verticalLayout") self.root_description = QtGui.QLabel(self.storage_root_desc) self.root_description.setStyleSheet("font-size: 10px;\n" "color: rgb(160, 160, 160);") self.root_description.setAlignment(QtCore.Qt.AlignLeading | QtCore.Qt.AlignLeft | QtCore.Qt.AlignTop) self.root_description.setWordWrap(True) self.root_description.setObjectName("root_description") self.verticalLayout.addWidget(self.root_description) self.stroage_root_desc_area.setWidget(self.storage_root_desc) self.root_desc_layout.addWidget(self.stroage_root_desc_area) self.root_desc_layout.setStretch(0, 1) self.gridLayout_2.addLayout(self.root_desc_layout, 1, 0, 1, 1) self.storage_layout = QtGui.QHBoxLayout() self.storage_layout.setSpacing(6) self.storage_layout.setObjectName("storage_layout") self.storage_lbl = QtGui.QLabel(StorageMapWidget) self.storage_lbl.setObjectName("storage_lbl") self.storage_layout.addWidget(self.storage_lbl) self.storage_select_combo = QtGui.QComboBox(StorageMapWidget) self.storage_select_combo.setFocusPolicy(QtCore.Qt.NoFocus) self.storage_select_combo.setAutoFillBackground(True) self.storage_select_combo.setSizeAdjustPolicy( QtGui.QComboBox.AdjustToContents) self.storage_select_combo.setObjectName("storage_select_combo") self.storage_layout.addWidget(self.storage_select_combo) self.save_storage_btn = QtGui.QToolButton(StorageMapWidget) font = QtGui.QFont() font.setPointSize(10) self.save_storage_btn.setFont(font) self.save_storage_btn.setFocusPolicy(QtCore.Qt.NoFocus) self.save_storage_btn.setToolButtonStyle(QtCore.Qt.ToolButtonTextOnly) self.save_storage_btn.setObjectName("save_storage_btn") self.storage_layout.addWidget(self.save_storage_btn) spacerItem1 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) self.storage_layout.addItem(spacerItem1) self.storage_layout.setStretch(0, 1) self.storage_layout.setStretch(1, 1) self.storage_layout.setStretch(2, 1) self.storage_layout.setStretch(3, 100) self.gridLayout_2.addLayout(self.storage_layout, 0, 1, 1, 1) self.paths_layout = QtGui.QHBoxLayout() self.paths_layout.setSpacing(0) self.paths_layout.setObjectName("paths_layout") self.path_frame = QtGui.QFrame(StorageMapWidget) self.path_frame.setObjectName("path_frame") self.gridLayout_3 = QtGui.QGridLayout(self.path_frame) self.gridLayout_3.setContentsMargins(6, 6, 6, 6) self.gridLayout_3.setSpacing(4) self.gridLayout_3.setObjectName("gridLayout_3") self.windows_path_lbl = QtGui.QLabel(self.path_frame) self.windows_path_lbl.setStyleSheet("font-size: 10px;\n" "color: rgb(120, 120, 120);") self.windows_path_lbl.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignTrailing | QtCore.Qt.AlignVCenter) self.windows_path_lbl.setObjectName("windows_path_lbl") self.gridLayout_3.addWidget(self.windows_path_lbl, 2, 0, 1, 1) self.windows_path_layout = QtGui.QHBoxLayout() self.windows_path_layout.setSpacing(4) self.windows_path_layout.setObjectName("windows_path_layout") self.windows_path = QtGui.QLineEdit(self.path_frame) self.windows_path.setEnabled(False) self.windows_path.setFocusPolicy(QtCore.Qt.NoFocus) self.windows_path.setObjectName("windows_path") self.windows_path_layout.addWidget(self.windows_path) self.windows_path_edit = QtGui.QLineEdit(self.path_frame) self.windows_path_edit.setFocusPolicy(QtCore.Qt.ClickFocus) self.windows_path_edit.setObjectName("windows_path_edit") self.windows_path_layout.addWidget(self.windows_path_edit) self.windows_path_layout.setStretch(0, 1) self.windows_path_layout.setStretch(1, 1) self.gridLayout_3.addLayout(self.windows_path_layout, 2, 1, 1, 1) self.linux_path_layout = QtGui.QHBoxLayout() self.linux_path_layout.setSpacing(4) self.linux_path_layout.setObjectName("linux_path_layout") self.linux_path = QtGui.QLineEdit(self.path_frame) self.linux_path.setEnabled(False) self.linux_path.setFocusPolicy(QtCore.Qt.NoFocus) self.linux_path.setObjectName("linux_path") self.linux_path_layout.addWidget(self.linux_path) self.linux_path_edit = QtGui.QLineEdit(self.path_frame) self.linux_path_edit.setFocusPolicy(QtCore.Qt.ClickFocus) self.linux_path_edit.setObjectName("linux_path_edit") self.linux_path_layout.addWidget(self.linux_path_edit) self.linux_path_layout.setStretch(0, 1) self.linux_path_layout.setStretch(1, 1) self.gridLayout_3.addLayout(self.linux_path_layout, 0, 1, 1, 1) self.linux_path_lbl = QtGui.QLabel(self.path_frame) self.linux_path_lbl.setStyleSheet("font-size: 10px;\n" "color: rgb(120, 120, 120);") self.linux_path_lbl.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignTrailing | QtCore.Qt.AlignVCenter) self.linux_path_lbl.setObjectName("linux_path_lbl") self.gridLayout_3.addWidget(self.linux_path_lbl, 0, 0, 1, 1) self.mac_path_lbl = QtGui.QLabel(self.path_frame) self.mac_path_lbl.setStyleSheet("font-size: 10px;\n" "color: rgb(120, 120, 120);") self.mac_path_lbl.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignTrailing | QtCore.Qt.AlignVCenter) self.mac_path_lbl.setObjectName("mac_path_lbl") self.gridLayout_3.addWidget(self.mac_path_lbl, 1, 0, 1, 1) self.mac_path_layout = QtGui.QHBoxLayout() self.mac_path_layout.setSpacing(4) self.mac_path_layout.setObjectName("mac_path_layout") self.mac_path = QtGui.QLineEdit(self.path_frame) self.mac_path.setEnabled(False) self.mac_path.setFocusPolicy(QtCore.Qt.NoFocus) self.mac_path.setObjectName("mac_path") self.mac_path_layout.addWidget(self.mac_path) self.mac_path_edit = QtGui.QLineEdit(self.path_frame) self.mac_path_edit.setFocusPolicy(QtCore.Qt.ClickFocus) self.mac_path_edit.setObjectName("mac_path_edit") self.mac_path_layout.addWidget(self.mac_path_edit) self.mac_path_layout.setStretch(0, 1) self.mac_path_layout.setStretch(1, 1) self.gridLayout_3.addLayout(self.mac_path_layout, 1, 1, 1, 1) self.horizontalLayout_3 = QtGui.QHBoxLayout() self.horizontalLayout_3.setSpacing(0) self.horizontalLayout_3.setObjectName("horizontalLayout_3") spacerItem2 = QtGui.QSpacerItem(0, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) self.horizontalLayout_3.addItem(spacerItem2) self.linux_path_browse = QtGui.QToolButton(self.path_frame) self.linux_path_browse.setFocusPolicy(QtCore.Qt.NoFocus) icon = QtGui.QIcon() icon.addPixmap( QtGui.QPixmap( ":/tk-framework-adminui/setup_project/file_browse.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.linux_path_browse.setIcon(icon) self.linux_path_browse.setObjectName("linux_path_browse") self.horizontalLayout_3.addWidget(self.linux_path_browse) self.linux_lock = QtGui.QLabel(self.path_frame) self.linux_lock.setMinimumSize(QtCore.QSize(8, 11)) self.linux_lock.setMaximumSize(QtCore.QSize(8, 11)) self.linux_lock.setText("") self.linux_lock.setPixmap( QtGui.QPixmap( ":/tk-framework-adminui/setup_project/icon_lock.png")) self.linux_lock.setScaledContents(True) self.linux_lock.setObjectName("linux_lock") self.horizontalLayout_3.addWidget(self.linux_lock) spacerItem3 = QtGui.QSpacerItem(0, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) self.horizontalLayout_3.addItem(spacerItem3) self.gridLayout_3.addLayout(self.horizontalLayout_3, 0, 2, 1, 1) self.horizontalLayout_4 = QtGui.QHBoxLayout() self.horizontalLayout_4.setSpacing(0) self.horizontalLayout_4.setObjectName("horizontalLayout_4") spacerItem4 = QtGui.QSpacerItem(0, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) self.horizontalLayout_4.addItem(spacerItem4) self.mac_path_browse = QtGui.QToolButton(self.path_frame) self.mac_path_browse.setFocusPolicy(QtCore.Qt.NoFocus) self.mac_path_browse.setIcon(icon) self.mac_path_browse.setObjectName("mac_path_browse") self.horizontalLayout_4.addWidget(self.mac_path_browse) self.mac_lock = QtGui.QLabel(self.path_frame) self.mac_lock.setMinimumSize(QtCore.QSize(8, 11)) self.mac_lock.setMaximumSize(QtCore.QSize(8, 11)) self.mac_lock.setText("") self.mac_lock.setPixmap( QtGui.QPixmap( ":/tk-framework-adminui/setup_project/icon_lock.png")) self.mac_lock.setScaledContents(True) self.mac_lock.setObjectName("mac_lock") self.horizontalLayout_4.addWidget(self.mac_lock) spacerItem5 = QtGui.QSpacerItem(0, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) self.horizontalLayout_4.addItem(spacerItem5) self.gridLayout_3.addLayout(self.horizontalLayout_4, 1, 2, 1, 1) self.horizontalLayout_5 = QtGui.QHBoxLayout() self.horizontalLayout_5.setSpacing(0) self.horizontalLayout_5.setObjectName("horizontalLayout_5") spacerItem6 = QtGui.QSpacerItem(0, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) self.horizontalLayout_5.addItem(spacerItem6) self.windows_path_browse = QtGui.QToolButton(self.path_frame) self.windows_path_browse.setFocusPolicy(QtCore.Qt.NoFocus) self.windows_path_browse.setIcon(icon) self.windows_path_browse.setObjectName("windows_path_browse") self.horizontalLayout_5.addWidget(self.windows_path_browse) self.windows_lock = QtGui.QLabel(self.path_frame) self.windows_lock.setMinimumSize(QtCore.QSize(8, 11)) self.windows_lock.setMaximumSize(QtCore.QSize(8, 11)) self.windows_lock.setText("") self.windows_lock.setPixmap( QtGui.QPixmap( ":/tk-framework-adminui/setup_project/icon_lock.png")) self.windows_lock.setScaledContents(True) self.windows_lock.setObjectName("windows_lock") self.horizontalLayout_5.addWidget(self.windows_lock) spacerItem7 = QtGui.QSpacerItem(0, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) self.horizontalLayout_5.addItem(spacerItem7) self.gridLayout_3.addLayout(self.horizontalLayout_5, 2, 2, 1, 1) self.gridLayout_3.setColumnStretch(0, 1) self.gridLayout_3.setColumnStretch(1, 100) self.gridLayout_3.setColumnStretch(2, 1) self.paths_layout.addWidget(self.path_frame) self.gridLayout_2.addLayout(self.paths_layout, 1, 1, 1, 1) self.root_name_layout = QtGui.QHBoxLayout() self.root_name_layout.setSpacing(4) self.root_name_layout.setObjectName("root_name_layout") self.root_name = QtGui.QLabel(StorageMapWidget) self.root_name.setObjectName("root_name") self.root_name_layout.addWidget(self.root_name) spacerItem8 = QtGui.QSpacerItem(40, 4, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) self.root_name_layout.addItem(spacerItem8) self.root_name_layout.setStretch(0, 1) self.root_name_layout.setStretch(1, 10) self.gridLayout_2.addLayout(self.root_name_layout, 0, 0, 1, 1) self.horizontalLayout_2 = QtGui.QHBoxLayout() self.horizontalLayout_2.setObjectName("horizontalLayout_2") self.count_lbl = QtGui.QLabel(StorageMapWidget) self.count_lbl.setStyleSheet("font-size: 10px;\n" "color: rgb(120, 120, 120);") self.count_lbl.setText("") self.count_lbl.setObjectName("count_lbl") self.horizontalLayout_2.addWidget(self.count_lbl) spacerItem9 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) self.horizontalLayout_2.addItem(spacerItem9) self.storage_info = QtGui.QLabel(StorageMapWidget) self.storage_info.setStyleSheet("font-size: 10px;\n" "color: rgb(252, 98, 70);") self.storage_info.setText("") self.storage_info.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignTrailing | QtCore.Qt.AlignVCenter) self.storage_info.setWordWrap(True) self.storage_info.setObjectName("storage_info") self.horizontalLayout_2.addWidget(self.storage_info) self.horizontalLayout_2.setStretch(0, 1) self.horizontalLayout_2.setStretch(1, 1) self.horizontalLayout_2.setStretch(2, 10) self.gridLayout_2.addLayout(self.horizontalLayout_2, 2, 0, 1, 2) self.gridLayout_2.setColumnStretch(0, 2) self.gridLayout_2.setColumnStretch(1, 3) self.gridLayout_2.setRowStretch(0, 1) self.retranslateUi(StorageMapWidget) QtCore.QMetaObject.connectSlotsByName(StorageMapWidget)
def setupUi(self, DesktopWindow): DesktopWindow.setObjectName("DesktopWindow") DesktopWindow.resize(427, 715) DesktopWindow.setMouseTracking(True) icon = QtGui.QIcon() icon.addPixmap(QtGui.QPixmap(":/tk-desktop/default_systray_icon.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) DesktopWindow.setWindowIcon(icon) DesktopWindow.setDockNestingEnabled(False) DesktopWindow.setUnifiedTitleAndToolBarOnMac(False) self.center = QtGui.QWidget(DesktopWindow) sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.center.sizePolicy().hasHeightForWidth()) self.center.setSizePolicy(sizePolicy) self.center.setMouseTracking(True) self.center.setObjectName("center") self.border_layout = QtGui.QVBoxLayout(self.center) self.border_layout.setSpacing(0) self.border_layout.setContentsMargins(0, 0, 0, 0) self.border_layout.setObjectName("border_layout") self.banners = QtGui.QWidget(self.center) self.banners.setAutoFillBackground(True) self.banners.setObjectName("banners") self.verticalLayout_4 = QtGui.QVBoxLayout(self.banners) self.verticalLayout_4.setSpacing(1) self.verticalLayout_4.setContentsMargins(0, 0, 0, 0) self.verticalLayout_4.setObjectName("verticalLayout_4") self.border_layout.addWidget(self.banners) self.header = QtGui.QFrame(self.center) self.header.setFrameShape(QtGui.QFrame.NoFrame) self.header.setFrameShadow(QtGui.QFrame.Raised) self.header.setObjectName("header") self.horizontalLayout_2 = QtGui.QHBoxLayout(self.header) self.horizontalLayout_2.setSpacing(20) self.horizontalLayout_2.setContentsMargins(20, 0, 20, 0) self.horizontalLayout_2.setObjectName("horizontalLayout_2") self.tabs = QtGui.QHBoxLayout() self.tabs.setObjectName("tabs") self.horizontalLayout_2.addLayout(self.tabs) spacerItem = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) self.horizontalLayout_2.addItem(spacerItem) self.border_layout.addWidget(self.header) self.tab_view = QtGui.QStackedWidget(self.center) self.tab_view.setObjectName("tab_view") self.apps_tab = QtGui.QStackedWidget() self.apps_tab.setObjectName("apps_tab") self.project_browser_page = QtGui.QWidget() self.project_browser_page.setObjectName("project_browser_page") self.verticalLayout = QtGui.QVBoxLayout(self.project_browser_page) self.verticalLayout.setSpacing(0) self.verticalLayout.setContentsMargins(0, 0, 0, 0) self.verticalLayout.setObjectName("verticalLayout") self.subheader = QtGui.QFrame(self.project_browser_page) sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Minimum) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.subheader.sizePolicy().hasHeightForWidth()) self.subheader.setSizePolicy(sizePolicy) self.subheader.setMaximumSize(QtCore.QSize(16777215, 60)) self.subheader.setFrameShape(QtGui.QFrame.NoFrame) self.subheader.setFrameShadow(QtGui.QFrame.Plain) self.subheader.setLineWidth(1) self.subheader.setMidLineWidth(0) self.subheader.setObjectName("subheader") self.horizontalLayout = QtGui.QHBoxLayout(self.subheader) self.horizontalLayout.setSpacing(15) self.horizontalLayout.setContentsMargins(20, 15, 15, 15) self.horizontalLayout.setObjectName("horizontalLayout") self.subheader_label = QtGui.QLabel(self.subheader) self.subheader_label.setMouseTracking(True) self.subheader_label.setFocusPolicy(QtCore.Qt.WheelFocus) self.subheader_label.setTextInteractionFlags( QtCore.Qt.NoTextInteraction) self.subheader_label.setObjectName("subheader_label") self.horizontalLayout.addWidget(self.subheader_label) spacerItem1 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) self.horizontalLayout.addItem(spacerItem1) self.search_frame = QtGui.QFrame(self.subheader) self.search_frame.setFrameShape(QtGui.QFrame.StyledPanel) self.search_frame.setFrameShadow(QtGui.QFrame.Raised) self.search_frame.setProperty("collapsed", False) self.search_frame.setObjectName("search_frame") self.horizontalLayout_6 = QtGui.QHBoxLayout(self.search_frame) self.horizontalLayout_6.setSpacing(2) self.horizontalLayout_6.setContentsMargins(5, 5, 5, 5) self.horizontalLayout_6.setObjectName("horizontalLayout_6") self.search_magnifier = QtGui.QLabel(self.search_frame) sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.search_magnifier.sizePolicy().hasHeightForWidth()) self.search_magnifier.setSizePolicy(sizePolicy) self.search_magnifier.setMaximumSize(QtCore.QSize(17, 17)) self.search_magnifier.setText("") self.search_magnifier.setPixmap( QtGui.QPixmap(":/tk-desktop/search_dark.png")) self.search_magnifier.setScaledContents(True) self.search_magnifier.setObjectName("search_magnifier") self.horizontalLayout_6.addWidget(self.search_magnifier) self.search_text = QtGui.QLineEdit(self.search_frame) self.search_text.setObjectName("search_text") self.horizontalLayout_6.addWidget(self.search_text) self.search_button = QtGui.QPushButton(self.search_frame) sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.search_button.sizePolicy().hasHeightForWidth()) self.search_button.setSizePolicy(sizePolicy) self.search_button.setMaximumSize(QtCore.QSize(17, 17)) self.search_button.setFocusPolicy(QtCore.Qt.NoFocus) self.search_button.setText("") icon1 = QtGui.QIcon() icon1.addPixmap(QtGui.QPixmap(":/tk-desktop/icon_inbox_clear.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.search_button.setIcon(icon1) self.search_button.setIconSize(QtCore.QSize(17, 17)) self.search_button.setFlat(True) self.search_button.setObjectName("search_button") self.horizontalLayout_6.addWidget(self.search_button) self.horizontalLayout.addWidget(self.search_frame) self.verticalLayout.addWidget(self.subheader) self.projects = ActionListView(self.project_browser_page) sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.MinimumExpanding, QtGui.QSizePolicy.MinimumExpanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.projects.sizePolicy().hasHeightForWidth()) self.projects.setSizePolicy(sizePolicy) self.projects.setMouseTracking(True) self.projects.setFocusPolicy(QtCore.Qt.NoFocus) self.projects.setFrameShape(QtGui.QFrame.NoFrame) self.projects.setFrameShadow(QtGui.QFrame.Plain) self.projects.setLineWidth(0) self.projects.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAsNeeded) self.projects.setAutoScroll(False) self.projects.setEditTriggers(QtGui.QAbstractItemView.NoEditTriggers) self.projects.setProperty("showDropIndicator", False) self.projects.setSelectionMode(QtGui.QAbstractItemView.SingleSelection) self.projects.setVerticalScrollMode( QtGui.QAbstractItemView.ScrollPerPixel) self.projects.setMovement(QtGui.QListView.Static) self.projects.setFlow(QtGui.QListView.LeftToRight) self.projects.setProperty("isWrapping", True) self.projects.setResizeMode(QtGui.QListView.Adjust) self.projects.setLayoutMode(QtGui.QListView.SinglePass) self.projects.setSpacing(5) self.projects.setViewMode(QtGui.QListView.IconMode) self.projects.setUniformItemSizes(False) self.projects.setSelectionRectVisible(False) self.projects.setObjectName("projects") self.verticalLayout.addWidget(self.projects) self.apps_tab.addWidget(self.project_browser_page) self.project_page = QtGui.QWidget() self.project_page.setObjectName("project_page") self.verticalLayout_2 = QtGui.QVBoxLayout(self.project_page) self.verticalLayout_2.setSpacing(0) self.verticalLayout_2.setContentsMargins(0, 0, 0, 0) self.verticalLayout_2.setObjectName("verticalLayout_2") self.project_subheader = QtGui.QFrame(self.project_page) sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.project_subheader.sizePolicy().hasHeightForWidth()) self.project_subheader.setSizePolicy(sizePolicy) self.project_subheader.setMaximumSize(QtCore.QSize(16777215, 60)) self.project_subheader.setFrameShape(QtGui.QFrame.NoFrame) self.project_subheader.setFrameShadow(QtGui.QFrame.Plain) self.project_subheader.setLineWidth(1) self.project_subheader.setMidLineWidth(0) self.project_subheader.setObjectName("project_subheader") self.horizontalLayout_4 = QtGui.QHBoxLayout(self.project_subheader) self.horizontalLayout_4.setSpacing(0) self.horizontalLayout_4.setContentsMargins(0, 0, 0, 0) self.horizontalLayout_4.setObjectName("horizontalLayout_4") self.spacer_button_1 = QtGui.QPushButton(self.project_subheader) sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.spacer_button_1.sizePolicy().hasHeightForWidth()) self.spacer_button_1.setSizePolicy(sizePolicy) self.spacer_button_1.setMinimumSize(QtCore.QSize(10, 0)) self.spacer_button_1.setMaximumSize(QtCore.QSize(10, 16777215)) self.spacer_button_1.setBaseSize(QtCore.QSize(10, 0)) self.spacer_button_1.setFocusPolicy(QtCore.Qt.NoFocus) self.spacer_button_1.setText("") self.spacer_button_1.setFlat(True) self.spacer_button_1.setObjectName("spacer_button_1") self.horizontalLayout_4.addWidget(self.spacer_button_1) self.project_arrow = QtGui.QPushButton(self.project_subheader) self.project_arrow.setMaximumSize(QtCore.QSize(30, 62)) self.project_arrow.setFocusPolicy(QtCore.Qt.NoFocus) self.project_arrow.setText("") icon2 = QtGui.QIcon() icon2.addPixmap(QtGui.QPixmap(":/tk-desktop/back_arrow.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.project_arrow.setIcon(icon2) self.project_arrow.setIconSize(QtCore.QSize(20, 20)) self.project_arrow.setFlat(True) self.project_arrow.setObjectName("project_arrow") self.horizontalLayout_4.addWidget(self.project_arrow) spacerItem2 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) self.horizontalLayout_4.addItem(spacerItem2) self.project_icon = QtGui.QLabel(self.project_subheader) sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.project_icon.sizePolicy().hasHeightForWidth()) self.project_icon.setSizePolicy(sizePolicy) self.project_icon.setMaximumSize(QtCore.QSize(42, 42)) self.project_icon.setText("") self.project_icon.setPixmap( QtGui.QPixmap(":/tk-desktop/missing_thumbnail_project.png")) self.project_icon.setScaledContents(True) self.project_icon.setMargin(5) self.project_icon.setObjectName("project_icon") self.horizontalLayout_4.addWidget(self.project_icon) self.project_name = QtGui.QLabel(self.project_subheader) sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.MinimumExpanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.project_name.sizePolicy().hasHeightForWidth()) self.project_name.setSizePolicy(sizePolicy) self.project_name.setMaximumSize(QtCore.QSize(280, 16777215)) self.project_name.setMargin(5) self.project_name.setObjectName("project_name") self.horizontalLayout_4.addWidget(self.project_name) spacerItem3 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) self.horizontalLayout_4.addItem(spacerItem3) self.project_menu = QtGui.QToolButton(self.project_subheader) self.project_menu.setFocusPolicy(QtCore.Qt.NoFocus) icon3 = QtGui.QIcon() icon3.addPixmap(QtGui.QPixmap(":/tk-desktop/down_arrow.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.project_menu.setIcon(icon3) self.project_menu.setIconSize(QtCore.QSize(20, 20)) self.project_menu.setPopupMode(QtGui.QToolButton.InstantPopup) self.project_menu.setObjectName("project_menu") self.horizontalLayout_4.addWidget(self.project_menu) self.spacer_button_4 = QtGui.QPushButton(self.project_subheader) sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.spacer_button_4.sizePolicy().hasHeightForWidth()) self.spacer_button_4.setSizePolicy(sizePolicy) self.spacer_button_4.setMinimumSize(QtCore.QSize(10, 0)) self.spacer_button_4.setMaximumSize(QtCore.QSize(10, 16777215)) self.spacer_button_4.setBaseSize(QtCore.QSize(10, 0)) self.spacer_button_4.setFocusPolicy(QtCore.Qt.NoFocus) self.spacer_button_4.setText("") self.spacer_button_4.setFlat(True) self.spacer_button_4.setObjectName("spacer_button_4") self.horizontalLayout_4.addWidget(self.spacer_button_4) self.verticalLayout_2.addWidget(self.project_subheader) self.configuration_frame = QtGui.QFrame(self.project_page) self.configuration_frame.setFrameShape(QtGui.QFrame.NoFrame) self.configuration_frame.setFrameShadow(QtGui.QFrame.Plain) self.configuration_frame.setObjectName("configuration_frame") self.horizontalLayout_8 = QtGui.QHBoxLayout(self.configuration_frame) self.horizontalLayout_8.setSpacing(0) self.horizontalLayout_8.setContentsMargins(0, 0, 0, 0) self.horizontalLayout_8.setObjectName("horizontalLayout_8") spacerItem4 = QtGui.QSpacerItem(150, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) self.horizontalLayout_8.addItem(spacerItem4) self.configuration_name = QtGui.QLabel(self.configuration_frame) self.configuration_name.setAlignment(QtCore.Qt.AlignCenter) self.configuration_name.setObjectName("configuration_name") self.horizontalLayout_8.addWidget(self.configuration_name) self.configuration_label = QtGui.QLabel(self.configuration_frame) self.configuration_label.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignTrailing | QtCore.Qt.AlignVCenter) self.configuration_label.setObjectName("configuration_label") self.horizontalLayout_8.addWidget(self.configuration_label) self.horizontalLayout_8.setStretch(0, 1) self.horizontalLayout_8.setStretch(1, 1) self.horizontalLayout_8.setStretch(2, 1) self.verticalLayout_2.addWidget(self.configuration_frame) self.command_panel_area = QtGui.QScrollArea(self.project_page) self.command_panel_area.setStyleSheet("QScrollArea {\n" "border: 0, 0, 0, 0\n" "}") self.command_panel_area.setWidgetResizable(True) self.command_panel_area.setAlignment(QtCore.Qt.AlignLeading | QtCore.Qt.AlignLeft | QtCore.Qt.AlignTop) self.command_panel_area.setObjectName("command_panel_area") self.scrollAreaWidgetContents_3 = QtGui.QWidget() self.scrollAreaWidgetContents_3.setGeometry(QtCore.QRect( 0, 0, 100, 30)) self.scrollAreaWidgetContents_3.setObjectName( "scrollAreaWidgetContents_3") self.command_panel_area.setWidget(self.scrollAreaWidgetContents_3) self.verticalLayout_2.addWidget(self.command_panel_area) self.apps_tab.addWidget(self.project_page) self.tab_view.addWidget(self.apps_tab) self.border_layout.addWidget(self.tab_view) self.footer = QtGui.QFrame(self.center) self.footer.setMouseTracking(True) self.footer.setFrameShape(QtGui.QFrame.NoFrame) self.footer.setFrameShadow(QtGui.QFrame.Plain) self.footer.setObjectName("footer") self.horizontalLayout_3 = QtGui.QHBoxLayout(self.footer) self.horizontalLayout_3.setSpacing(0) self.horizontalLayout_3.setContentsMargins(10, 5, 10, 5) self.horizontalLayout_3.setObjectName("horizontalLayout_3") self.shotgun_button = QtGui.QPushButton(self.footer) sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.shotgun_button.sizePolicy().hasHeightForWidth()) self.shotgun_button.setSizePolicy(sizePolicy) self.shotgun_button.setMinimumSize(QtCore.QSize(132, 26)) self.shotgun_button.setMaximumSize(QtCore.QSize(132, 26)) self.shotgun_button.setMouseTracking(True) self.shotgun_button.setFocusPolicy(QtCore.Qt.NoFocus) icon4 = QtGui.QIcon() icon4.addPixmap( QtGui.QPixmap(":/tk-desktop/shotgun_logo_light_medium.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.shotgun_button.setIcon(icon4) self.shotgun_button.setIconSize(QtCore.QSize(122, 16)) self.shotgun_button.setFlat(True) self.shotgun_button.setObjectName("shotgun_button") self.horizontalLayout_3.addWidget(self.shotgun_button) spacerItem5 = QtGui.QSpacerItem(173, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) self.horizontalLayout_3.addItem(spacerItem5) self.user_button = QtGui.QPushButton(self.footer) sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.user_button.sizePolicy().hasHeightForWidth()) self.user_button.setSizePolicy(sizePolicy) self.user_button.setMinimumSize(QtCore.QSize(40, 40)) self.user_button.setMaximumSize(QtCore.QSize(40, 40)) self.user_button.setMouseTracking(True) self.user_button.setFocusPolicy(QtCore.Qt.NoFocus) self.user_button.setText("") icon5 = QtGui.QIcon() icon5.addPixmap(QtGui.QPixmap(":/tk-desktop/default_user_thumb.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.user_button.setIcon(icon5) self.user_button.setIconSize(QtCore.QSize(30, 30)) self.user_button.setFlat(True) self.user_button.setObjectName("user_button") self.horizontalLayout_3.addWidget(self.user_button) self.border_layout.addWidget(self.footer) DesktopWindow.setCentralWidget(self.center) self.actionQuit = QtGui.QAction(DesktopWindow) self.actionQuit.setObjectName("actionQuit") self.actionPin_to_Menu = QtGui.QAction(DesktopWindow) self.actionPin_to_Menu.setObjectName("actionPin_to_Menu") self.actionSign_Out = QtGui.QAction(DesktopWindow) self.actionSign_Out.setObjectName("actionSign_Out") self.actionKeep_on_Top = QtGui.QAction(DesktopWindow) self.actionKeep_on_Top.setCheckable(True) self.actionKeep_on_Top.setObjectName("actionKeep_on_Top") self.actionProject_Filesystem_Folder = QtGui.QAction(DesktopWindow) self.actionProject_Filesystem_Folder.setObjectName( "actionProject_Filesystem_Folder") self.actionShow_Console = QtGui.QAction(DesktopWindow) self.actionShow_Console.setObjectName("actionShow_Console") self.actionRefresh_Projects = QtGui.QAction(DesktopWindow) self.actionRefresh_Projects.setObjectName("actionRefresh_Projects") self.actionAdvanced_Project_Setup = QtGui.QAction(DesktopWindow) self.actionAdvanced_Project_Setup.setObjectName( "actionAdvanced_Project_Setup") self.actionHelp = QtGui.QAction(DesktopWindow) self.actionHelp.setObjectName("actionHelp") self.actionRegenerate_Certificates = QtGui.QAction(DesktopWindow) self.actionRegenerate_Certificates.setObjectName( "actionRegenerate_Certificates") self.retranslateUi(DesktopWindow) self.apps_tab.setCurrentIndex(0) QtCore.QMetaObject.connectSlotsByName(DesktopWindow) DesktopWindow.setTabOrder(self.projects, self.user_button) DesktopWindow.setTabOrder(self.user_button, self.search_button) DesktopWindow.setTabOrder(self.search_button, self.search_text)
def _update_item_info(self): """ Update the cached item info when needed. This updates the item layout for any items that have been 'dirtied' or if the widget size has changed, etc. This is typically run immediately before painting. """ # double check that the item-info list is the correct length. PyQt doesn't # seem to call 'rowsAboutToBeRemoved' when a model is cleared so this list can # become out of sync! if self.model().rowCount() != len(self._item_info): self._update_all_item_info = True # check to see if the viewport size has changed: viewport_sz = self.viewport().size() viewport_resized = False if not self.verticalScrollBar().isVisible(): # to avoid unnecessary resizing, we always calculate the viewport width as if # the vertical scroll bar were visible: scroll_bar_width = self.style().pixelMetric( QtGui.QStyle.PM_ScrollBarExtent) viewport_sz.setWidth(viewport_sz.width() - scroll_bar_width) if viewport_sz != self._prev_viewport_sz: # the viewport width has changed so we'll need to update all geometry :( viewport_resized = True # keep track of the new viewport size for the next time self._prev_viewport_sz = viewport_sz if (not self._update_some_item_info and not self._update_all_item_info and not viewport_resized): # nothing to do! return # print "%s, %s, %s, %s" % (self._update_all_item_info, self._update_some_item_info, viewport_resized, self._item_info) self._update_all_item_info = self._update_all_item_info or viewport_resized # if we're updating all item info then may as well clear the existing list: if self._update_all_item_info: self._item_info = [] viewport_width = viewport_sz.width() max_width = viewport_width - self._border.width() base_view_options = self.viewOptions() # iterate over root items: something_updated = False for row in range(self.model().rowCount()): # get the item info for this row - create it if needed! item_info = None if row < len(self._item_info): item_info = self._item_info[row] else: item_info = GroupedListView._ItemInfo() self._item_info.append(item_info) if not self._update_all_item_info and not item_info.dirty: # no need to update item info! max_width = max(max_width, item_info.child_area_rect.width()) continue # construct the model index for this row: index = self.model().index(row, 0) # get the size of the item: view_options = base_view_options item_size = self.itemDelegate().sizeHint(view_options, index) item_info.rect = QtCore.QRect(self._border.width(), 0, item_size.width(), item_size.height()) # update size info of children: row_height = 0 relative_column = 0 relative_row = 0 left = self._border.width() x_pos = left y_pos = self._item_spacing.height() child_info = [] for child_row in range(self.model().rowCount(index)): child_index = self.model().index(child_row, 0, index) # do we need to modify the view options? view_options = base_view_options # get the item size: child_item_size = self.itemDelegate().sizeHint( view_options, child_index) # see if it fits in the current row: if x_pos == left or (x_pos + child_item_size.width()) < viewport_width: # item will fit in the current row! pass else: # start a new row for this item: y_pos = y_pos + row_height + self._item_spacing.height() row_height = 0 x_pos = left relative_column = 0 relative_row += 1 # store the item rect: child_item_rect = QtCore.QRect(x_pos, y_pos, child_item_size.width(), child_item_size.height()) child_info.append( (relative_row, relative_column, child_item_rect)) # keep track of the tallest row item: row_height = max(row_height, child_item_rect.height()) x_pos += self._item_spacing.width() + child_item_rect.width() max_width = max(child_item_rect.right(), max_width) relative_column += 1 item_info.child_info = child_info item_info.child_area_rect = QtCore.QRect(self._border.width(), 0, max_width, y_pos + row_height) # reset dirty flag for item: item_info.dirty = False something_updated = True # reset flags: self._update_all_item_info = False self._update_some_item_info = False if something_updated: # update all root level items to be the full width of the viewport: for item_info in self._item_info: item_info.rect.setRight(max_width) self._max_width = max_width # update scroll bars for the new dimensions: self.updateGeometries()
def playblast_submit_dialog(self): """A dialog UI widget that allows the user to enter comments and then initiate the upload to Shotgun as a Version if they choose, by entering text + clicking the button. Intercepts before the standard upload. NOTE: sgtk's implementation of Qt doesn't have libraries available for using .ui files directly, so we have to program it explicitly. """ # main dialog self.dialog = QtGui.QDialog( None, QtCore.Qt.WindowTitleHint | QtCore.Qt.WindowCloseButtonHint ) self.dialog.setObjectName('PlayblastDialog') self.dialog.resize(440, 240) self.dialog.setMinimumSize(QtCore.QSize(440, 240)) self.dialog.setMaximumSize(QtCore.QSize(440, 240)) self.dialog.setWindowFlags( self.dialog.windowFlags() | QtCore.Qt.WindowStaysOnTopHint ) self.dialog.setWindowTitle( QtGui.QApplication.translate( 'PlayblastDialog', 'Playblast to Shotgun - Sinking Ship', None, QtGui.QApplication.UnicodeUTF8 ) ) # main layout & grid self.dialog.gridLayoutWidget = QtGui.QWidget(self.dialog) self.dialog.gridLayoutWidget.setGeometry(QtCore.QRect(9, 9, 421, 221)) self.dialog.gridLayoutWidget.setObjectName('gridLayoutWidget') self.dialog.gridLayout_main = QtGui.QGridLayout( self.dialog.gridLayoutWidget ) self.dialog.gridLayout_main.setContentsMargins(0, 0, 0, 0) self.dialog.gridLayout_main.setObjectName('gridLayout_main') # upload button self.dialog.pushButton_upload = QtGui.QPushButton( self.dialog.gridLayoutWidget ) self.dialog.pushButton_upload.setObjectName('pushButton_upload') self.dialog.pushButton_upload.setText( QtGui.QApplication.translate( 'PlayblastDialog', 'Upload as Version to Shotgun', None, QtGui.QApplication.UnicodeUTF8 ) ) self.dialog.gridLayout_main.addWidget( self.dialog.pushButton_upload, 2, 0, 1, 1 ) # comments groupbox self.dialog.groupBox_comments = QtGui.QGroupBox( self.dialog.gridLayoutWidget ) self.dialog.groupBox_comments.setAlignment(QtCore.Qt.AlignCenter) self.dialog.groupBox_comments.setFlat(False) self.dialog.groupBox_comments.setObjectName('groupBox_comments') self.dialog.groupBox_comments.setTitle( QtGui.QApplication.translate( 'PlayblastDialog', 'Artist Comments', None, QtGui.QApplication.UnicodeUTF8 ) ) # comments textedit self.dialog.textEdit_comments = QtGui.QTextEdit( self.dialog.groupBox_comments ) self.dialog.textEdit_comments.setGeometry( QtCore.QRect(12, 20, 395, 131) ) self.dialog.textEdit_comments.setMinimumSize(QtCore.QSize(395, 131)) self.dialog.textEdit_comments.setMaximumSize(QtCore.QSize(395, 131)) self.dialog.textEdit_comments.setObjectName('textEdit_comments') self.dialog.gridLayout_main.addWidget( self.dialog.groupBox_comments, 1, 0, 1, 1 ) # signals and slots self.dialog.pushButton_upload.clicked.connect( self.maya_shot_playblast_version ) # launch dialog self.dialog.exec_()
def setupUi(self, Wizard): Wizard.setObjectName("Wizard") Wizard.resize(701, 528) icon = QtGui.QIcon() icon.addPixmap(QtGui.QPixmap(":/res/shotgun_logo.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) Wizard.setWindowIcon(icon) Wizard.setModal(True) Wizard.setWizardStyle(QtGui.QWizard.ModernStyle) Wizard.setOptions(QtGui.QWizard.CancelButtonOnLeft|QtGui.QWizard.HaveHelpButton|QtGui.QWizard.NoBackButtonOnLastPage) Wizard.setTitleFormat(QtCore.Qt.RichText) Wizard.setSubTitleFormat(QtCore.Qt.RichText) self.setup_type_page = SetupTypePage() self.setup_type_page.setObjectName("setup_type_page") self.verticalLayout = QtGui.QVBoxLayout(self.setup_type_page) self.verticalLayout.setContentsMargins(25, 20, 25, 20) self.verticalLayout.setObjectName("verticalLayout") self.setup_type_subheader = QtGui.QLabel(self.setup_type_page) self.setup_type_subheader.setStyleSheet("font-size: 14px;") self.setup_type_subheader.setWordWrap(True) self.setup_type_subheader.setObjectName("setup_type_subheader") self.verticalLayout.addWidget(self.setup_type_subheader) spacerItem = QtGui.QSpacerItem(20, 20, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Fixed) self.verticalLayout.addItem(spacerItem) self.select_standard = QtGui.QRadioButton(self.setup_type_page) self.select_standard.setFocusPolicy(QtCore.Qt.NoFocus) self.select_standard.setStyleSheet("QRadioButton {\n" " font-size: 16px;\n" "}\n" "") self.select_standard.setChecked(True) self.select_standard.setObjectName("select_standard") self.verticalLayout.addWidget(self.select_standard) self.label_standard = QtGui.QLabel(self.setup_type_page) self.label_standard.setStyleSheet("font-size: 12px;\n" "color: rgb(160, 160, 160);") self.label_standard.setIndent(20) self.label_standard.setObjectName("label_standard") self.verticalLayout.addWidget(self.label_standard) spacerItem1 = QtGui.QSpacerItem(20, 10, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Fixed) self.verticalLayout.addItem(spacerItem1) self.select_project = QtGui.QRadioButton(self.setup_type_page) self.select_project.setFocusPolicy(QtCore.Qt.NoFocus) self.select_project.setStyleSheet("QRadioButton {\n" " font-size: 16px;\n" "}\n" "") self.select_project.setObjectName("select_project") self.verticalLayout.addWidget(self.select_project) self.label_project = QtGui.QLabel(self.setup_type_page) self.label_project.setStyleSheet("font-size: 12px;\n" "color: rgb(160, 160, 160);") self.label_project.setIndent(20) self.label_project.setObjectName("label_project") self.verticalLayout.addWidget(self.label_project) spacerItem2 = QtGui.QSpacerItem(20, 10, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Fixed) self.verticalLayout.addItem(spacerItem2) self.select_github = QtGui.QRadioButton(self.setup_type_page) self.select_github.setFocusPolicy(QtCore.Qt.NoFocus) self.select_github.setStyleSheet("QRadioButton {\n" " font-size: 16px;\n" "}\n" "") self.select_github.setObjectName("select_github") self.verticalLayout.addWidget(self.select_github) self.label_github = QtGui.QLabel(self.setup_type_page) self.label_github.setStyleSheet("font-size: 12px;\n" "color: rgb(160, 160, 160);") self.label_github.setIndent(20) self.label_github.setObjectName("label_github") self.verticalLayout.addWidget(self.label_github) spacerItem3 = QtGui.QSpacerItem(20, 10, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Fixed) self.verticalLayout.addItem(spacerItem3) self.select_disk = QtGui.QRadioButton(self.setup_type_page) self.select_disk.setFocusPolicy(QtCore.Qt.NoFocus) self.select_disk.setStyleSheet("QRadioButton {\n" " font-size: 16px;\n" "}\n" "") self.select_disk.setObjectName("select_disk") self.verticalLayout.addWidget(self.select_disk) self.label_disk = QtGui.QLabel(self.setup_type_page) self.label_disk.setStyleSheet("font-size: 12px;\n" "color: rgb(160, 160, 160);") self.label_disk.setIndent(20) self.label_disk.setObjectName("label_disk") self.verticalLayout.addWidget(self.label_disk) spacerItem4 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding) self.verticalLayout.addItem(spacerItem4) self.verticalLayout.setStretch(13, 1) Wizard.addPage(self.setup_type_page) self.default_configs_page = DefaultConfigPage() self.default_configs_page.setObjectName("default_configs_page") self.verticalLayout_3 = QtGui.QVBoxLayout(self.default_configs_page) self.verticalLayout_3.setContentsMargins(25, 20, 25, 20) self.verticalLayout_3.setObjectName("verticalLayout_3") self.default_configs_subheader = QtGui.QLabel(self.default_configs_page) self.default_configs_subheader.setStyleSheet("font-size: 14px;") self.default_configs_subheader.setWordWrap(True) self.default_configs_subheader.setObjectName("default_configs_subheader") self.verticalLayout_3.addWidget(self.default_configs_subheader) self.scrollArea = QtGui.QScrollArea(self.default_configs_page) self.scrollArea.setWidgetResizable(True) self.scrollArea.setObjectName("scrollArea") self.scrollAreaWidgetContents = QtGui.QWidget() self.scrollAreaWidgetContents.setGeometry(QtCore.QRect(0, 0, 629, 312)) self.scrollAreaWidgetContents.setObjectName("scrollAreaWidgetContents") self.verticalLayout_11 = QtGui.QVBoxLayout(self.scrollAreaWidgetContents) self.verticalLayout_11.setObjectName("verticalLayout_11") self.select_default_config = QtGui.QRadioButton(self.scrollAreaWidgetContents) self.select_default_config.setFocusPolicy(QtCore.Qt.NoFocus) self.select_default_config.setStyleSheet("QRadioButton {\n" " font-size: 16px;\n" "}") self.select_default_config.setChecked(True) self.select_default_config.setObjectName("select_default_config") self.verticalLayout_11.addWidget(self.select_default_config) self.label_default_config = QtGui.QLabel(self.scrollAreaWidgetContents) self.label_default_config.setStyleSheet("font-size: 12px;\n" "color: rgb(160, 160, 160);") self.label_default_config.setWordWrap(True) self.label_default_config.setIndent(20) self.label_default_config.setObjectName("label_default_config") self.verticalLayout_11.addWidget(self.label_default_config) self.select_multiroot_config = QtGui.QRadioButton(self.scrollAreaWidgetContents) self.select_multiroot_config.setFocusPolicy(QtCore.Qt.NoFocus) self.select_multiroot_config.setStyleSheet("QRadioButton {\n" " font-size: 16px;\n" "}") self.select_multiroot_config.setObjectName("select_multiroot_config") self.verticalLayout_11.addWidget(self.select_multiroot_config) self.label_multiroot_config = QtGui.QLabel(self.scrollAreaWidgetContents) self.label_multiroot_config.setStyleSheet("font-size: 12px;\n" "color: rgb(160, 160, 160);") self.label_multiroot_config.setWordWrap(True) self.label_multiroot_config.setIndent(20) self.label_multiroot_config.setObjectName("label_multiroot_config") self.verticalLayout_11.addWidget(self.label_multiroot_config) self.select_flame_config = QtGui.QRadioButton(self.scrollAreaWidgetContents) self.select_flame_config.setFocusPolicy(QtCore.Qt.NoFocus) self.select_flame_config.setStyleSheet("QRadioButton {\n" " font-size: 16px;\n" "}") self.select_flame_config.setObjectName("select_flame_config") self.verticalLayout_11.addWidget(self.select_flame_config) self.label_multiroot_config_2 = QtGui.QLabel(self.scrollAreaWidgetContents) self.label_multiroot_config_2.setStyleSheet("font-size: 12px;\n" "color: rgb(160, 160, 160);") self.label_multiroot_config_2.setWordWrap(True) self.label_multiroot_config_2.setIndent(20) self.label_multiroot_config_2.setObjectName("label_multiroot_config_2") self.verticalLayout_11.addWidget(self.label_multiroot_config_2) self.select_games_config = QtGui.QRadioButton(self.scrollAreaWidgetContents) self.select_games_config.setFocusPolicy(QtCore.Qt.NoFocus) self.select_games_config.setStyleSheet("QRadioButton {\n" " font-size: 16px;\n" "}") self.select_games_config.setObjectName("select_games_config") self.verticalLayout_11.addWidget(self.select_games_config) self.label_games_config = QtGui.QLabel(self.scrollAreaWidgetContents) self.label_games_config.setStyleSheet("font-size: 12px;\n" "color: rgb(160, 160, 160);") self.label_games_config.setWordWrap(True) self.label_games_config.setIndent(20) self.label_games_config.setObjectName("label_games_config") self.verticalLayout_11.addWidget(self.label_games_config) self.scrollArea.setWidget(self.scrollAreaWidgetContents) self.verticalLayout_3.addWidget(self.scrollArea) self.default_configs_errors = QtGui.QLabel(self.default_configs_page) self.default_configs_errors.setStyleSheet("color: rgb(252, 98, 70);") self.default_configs_errors.setText("") self.default_configs_errors.setAlignment(QtCore.Qt.AlignCenter) self.default_configs_errors.setWordWrap(True) self.default_configs_errors.setObjectName("default_configs_errors") self.verticalLayout_3.addWidget(self.default_configs_errors) Wizard.addPage(self.default_configs_page) self.project_config_page = ProjectConfigPage() self.project_config_page.setObjectName("project_config_page") self.verticalLayout_2 = QtGui.QVBoxLayout(self.project_config_page) self.verticalLayout_2.setContentsMargins(25, 20, 25, 20) self.verticalLayout_2.setObjectName("verticalLayout_2") self.project_config_subheader = QtGui.QLabel(self.project_config_page) self.project_config_subheader.setStyleSheet("font-size: 14px;") self.project_config_subheader.setWordWrap(True) self.project_config_subheader.setObjectName("project_config_subheader") self.verticalLayout_2.addWidget(self.project_config_subheader) spacerItem5 = QtGui.QSpacerItem(20, 20, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Fixed) self.verticalLayout_2.addItem(spacerItem5) self.project_list = QtGui.QListView(self.project_config_page) self.project_list.setFrameShape(QtGui.QFrame.NoFrame) self.project_list.setFrameShadow(QtGui.QFrame.Plain) self.project_list.setAutoScroll(False) self.project_list.setEditTriggers(QtGui.QAbstractItemView.NoEditTriggers) self.project_list.setProperty("showDropIndicator", False) self.project_list.setSelectionMode(QtGui.QAbstractItemView.SingleSelection) self.project_list.setTextElideMode(QtCore.Qt.ElideNone) self.project_list.setMovement(QtGui.QListView.Static) self.project_list.setFlow(QtGui.QListView.LeftToRight) self.project_list.setProperty("isWrapping", True) self.project_list.setResizeMode(QtGui.QListView.Adjust) self.project_list.setLayoutMode(QtGui.QListView.Batched) self.project_list.setSpacing(10) self.project_list.setViewMode(QtGui.QListView.IconMode) self.project_list.setUniformItemSizes(True) self.project_list.setWordWrap(True) self.project_list.setSelectionRectVisible(False) self.project_list.setObjectName("project_list") self.verticalLayout_2.addWidget(self.project_list) self.project_errors = QtGui.QLabel(self.project_config_page) self.project_errors.setStyleSheet("color: rgb(252, 98, 70);") self.project_errors.setText("") self.project_errors.setAlignment(QtCore.Qt.AlignCenter) self.project_errors.setWordWrap(True) self.project_errors.setObjectName("project_errors") self.verticalLayout_2.addWidget(self.project_errors) Wizard.addPage(self.project_config_page) self.github_config_page = GithubConfigPage() sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.github_config_page.sizePolicy().hasHeightForWidth()) self.github_config_page.setSizePolicy(sizePolicy) self.github_config_page.setObjectName("github_config_page") self.verticalLayout_6 = QtGui.QVBoxLayout(self.github_config_page) self.verticalLayout_6.setSpacing(0) self.verticalLayout_6.setContentsMargins(25, 20, 25, 20) self.verticalLayout_6.setObjectName("verticalLayout_6") self.github_config_subheader = QtGui.QLabel(self.github_config_page) self.github_config_subheader.setStyleSheet("font-size: 14px;") self.github_config_subheader.setWordWrap(True) self.github_config_subheader.setObjectName("github_config_subheader") self.verticalLayout_6.addWidget(self.github_config_subheader) spacerItem6 = QtGui.QSpacerItem(20, 20, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Fixed) self.verticalLayout_6.addItem(spacerItem6) self.horizontalLayout = QtGui.QHBoxLayout() self.horizontalLayout.setSpacing(20) self.horizontalLayout.setObjectName("horizontalLayout") self.octocat = QtGui.QLabel(self.github_config_page) self.octocat.setMaximumSize(QtCore.QSize(200, 200)) self.octocat.setText("") self.octocat.setPixmap(QtGui.QPixmap(":/tk-framework-adminui/setup_project/octocats/original.png")) self.octocat.setScaledContents(True) self.octocat.setObjectName("octocat") self.horizontalLayout.addWidget(self.octocat) self.verticalLayout_4 = QtGui.QVBoxLayout() self.verticalLayout_4.setSpacing(20) self.verticalLayout_4.setObjectName("verticalLayout_4") spacerItem7 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding) self.verticalLayout_4.addItem(spacerItem7) self.github_url = QtGui.QLineEdit(self.github_config_page) self.github_url.setText("") self.github_url.setObjectName("github_url") self.verticalLayout_4.addWidget(self.github_url) self.label = QtGui.QLabel(self.github_config_page) self.label.setObjectName("label") self.verticalLayout_4.addWidget(self.label) spacerItem8 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding) self.verticalLayout_4.addItem(spacerItem8) self.horizontalLayout.addLayout(self.verticalLayout_4) self.horizontalLayout.setStretch(1, 1) self.verticalLayout_6.addLayout(self.horizontalLayout) self.github_errors = QtGui.QLabel(self.github_config_page) self.github_errors.setStyleSheet("color: rgb(252, 98, 70);") self.github_errors.setText("") self.github_errors.setAlignment(QtCore.Qt.AlignCenter) self.github_errors.setWordWrap(True) self.github_errors.setObjectName("github_errors") self.verticalLayout_6.addWidget(self.github_errors) Wizard.addPage(self.github_config_page) self.disk_config_page = DiskConfigPage() self.disk_config_page.setObjectName("disk_config_page") self.verticalLayout_8 = QtGui.QVBoxLayout(self.disk_config_page) self.verticalLayout_8.setContentsMargins(25, 20, 25, 20) self.verticalLayout_8.setObjectName("verticalLayout_8") self.disk_config_subheader = QtGui.QLabel(self.disk_config_page) self.disk_config_subheader.setStyleSheet("font-size: 14px;") self.disk_config_subheader.setWordWrap(True) self.disk_config_subheader.setObjectName("disk_config_subheader") self.verticalLayout_8.addWidget(self.disk_config_subheader) spacerItem9 = QtGui.QSpacerItem(20, 20, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Fixed) self.verticalLayout_8.addItem(spacerItem9) self.horizontalLayout_2 = QtGui.QHBoxLayout() self.horizontalLayout_2.setSpacing(20) self.horizontalLayout_2.setObjectName("horizontalLayout_2") self.folder_icon = QtGui.QLabel(self.disk_config_page) self.folder_icon.setMaximumSize(QtCore.QSize(200, 200)) self.folder_icon.setText("") self.folder_icon.setPixmap(QtGui.QPixmap(":/tk-framework-adminui/setup_project/shotgun_folder.png")) self.folder_icon.setScaledContents(True) self.folder_icon.setObjectName("folder_icon") self.horizontalLayout_2.addWidget(self.folder_icon) self.verticalLayout_7 = QtGui.QVBoxLayout() self.verticalLayout_7.setSpacing(20) self.verticalLayout_7.setObjectName("verticalLayout_7") spacerItem10 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding) self.verticalLayout_7.addItem(spacerItem10) self.horizontalLayout_4 = QtGui.QHBoxLayout() self.horizontalLayout_4.setSpacing(20) self.horizontalLayout_4.setObjectName("horizontalLayout_4") self.path = QtGui.QLineEdit(self.disk_config_page) self.path.setObjectName("path") self.horizontalLayout_4.addWidget(self.path) self.disk_browse_button = QtGui.QPushButton(self.disk_config_page) self.disk_browse_button.setObjectName("disk_browse_button") self.horizontalLayout_4.addWidget(self.disk_browse_button) self.verticalLayout_7.addLayout(self.horizontalLayout_4) self.label_2 = QtGui.QLabel(self.disk_config_page) self.label_2.setObjectName("label_2") self.verticalLayout_7.addWidget(self.label_2) spacerItem11 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding) self.verticalLayout_7.addItem(spacerItem11) self.horizontalLayout_2.addLayout(self.verticalLayout_7) self.horizontalLayout_2.setStretch(1, 1) self.verticalLayout_8.addLayout(self.horizontalLayout_2) self.disk_errors = QtGui.QLabel(self.disk_config_page) self.disk_errors.setStyleSheet("color: rgb(252, 98, 70);") self.disk_errors.setText("") self.disk_errors.setAlignment(QtCore.Qt.AlignCenter) self.disk_errors.setWordWrap(True) self.disk_errors.setObjectName("disk_errors") self.verticalLayout_8.addWidget(self.disk_errors) Wizard.addPage(self.disk_config_page) self.project_name_page = ProjectNamePage() self.project_name_page.setObjectName("project_name_page") self.verticalLayout_9 = QtGui.QVBoxLayout(self.project_name_page) self.verticalLayout_9.setContentsMargins(0, 0, 0, 0) self.verticalLayout_9.setObjectName("verticalLayout_9") self.project_name_scroll_area = QtGui.QScrollArea(self.project_name_page) self.project_name_scroll_area.setFocusPolicy(QtCore.Qt.NoFocus) self.project_name_scroll_area.setFrameShape(QtGui.QFrame.NoFrame) self.project_name_scroll_area.setFrameShadow(QtGui.QFrame.Plain) self.project_name_scroll_area.setWidgetResizable(True) self.project_name_scroll_area.setObjectName("project_name_scroll_area") self.project_name_scroll_area_contents = QtGui.QWidget() self.project_name_scroll_area_contents.setGeometry(QtCore.QRect(0, 0, 332, 200)) self.project_name_scroll_area_contents.setObjectName("project_name_scroll_area_contents") self.project_contents_layout = QtGui.QVBoxLayout(self.project_name_scroll_area_contents) self.project_contents_layout.setContentsMargins(25, 20, 25, 20) self.project_contents_layout.setObjectName("project_contents_layout") self.project_name_subheader = QtGui.QLabel(self.project_name_scroll_area_contents) self.project_name_subheader.setStyleSheet("font-size: 14px;") self.project_name_subheader.setWordWrap(True) self.project_name_subheader.setObjectName("project_name_subheader") self.project_contents_layout.addWidget(self.project_name_subheader) spacerItem12 = QtGui.QSpacerItem(20, 20, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Fixed) self.project_contents_layout.addItem(spacerItem12) self.project_name = QtGui.QLineEdit(self.project_name_scroll_area_contents) self.project_name.setObjectName("project_name") self.project_contents_layout.addWidget(self.project_name) spacerItem13 = QtGui.QSpacerItem(20, 20, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Fixed) self.project_contents_layout.addItem(spacerItem13) self.project_directories = QtGui.QLabel(self.project_name_scroll_area_contents) sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.project_directories.sizePolicy().hasHeightForWidth()) self.project_directories.setSizePolicy(sizePolicy) self.project_directories.setFrameShape(QtGui.QFrame.NoFrame) self.project_directories.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignTop) self.project_directories.setObjectName("project_directories") self.project_contents_layout.addWidget(self.project_directories) self.project_name_scroll_area.setWidget(self.project_name_scroll_area_contents) self.verticalLayout_9.addWidget(self.project_name_scroll_area) spacerItem14 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding) self.verticalLayout_9.addItem(spacerItem14) self.project_name_errors = QtGui.QLabel(self.project_name_page) self.project_name_errors.setStyleSheet("color: rgb(252, 98, 70);") self.project_name_errors.setText("") self.project_name_errors.setAlignment(QtCore.Qt.AlignCenter) self.project_name_errors.setWordWrap(True) self.project_name_errors.setObjectName("project_name_errors") self.verticalLayout_9.addWidget(self.project_name_errors) Wizard.addPage(self.project_name_page) self.config_location_page = ConfigLocationPage() self.config_location_page.setObjectName("config_location_page") self.gridLayout_3 = QtGui.QGridLayout(self.config_location_page) self.gridLayout_3.setContentsMargins(25, 20, 25, 20) self.gridLayout_3.setObjectName("gridLayout_3") self.mac_browse = QtGui.QPushButton(self.config_location_page) self.mac_browse.setEnabled(True) self.mac_browse.setObjectName("mac_browse") self.gridLayout_3.addWidget(self.mac_browse, 2, 3, 1, 1) self.windows_path = QtGui.QLineEdit(self.config_location_page) self.windows_path.setObjectName("windows_path") self.gridLayout_3.addWidget(self.windows_path, 6, 2, 1, 1) self.linux_path = QtGui.QLineEdit(self.config_location_page) self.linux_path.setObjectName("linux_path") self.gridLayout_3.addWidget(self.linux_path, 5, 2, 1, 1) self.config_location_errors = QtGui.QLabel(self.config_location_page) self.config_location_errors.setStyleSheet("color: rgb(252, 98, 70);") self.config_location_errors.setText("") self.config_location_errors.setAlignment(QtCore.Qt.AlignCenter) self.config_location_errors.setWordWrap(True) self.config_location_errors.setObjectName("config_location_errors") self.gridLayout_3.addWidget(self.config_location_errors, 8, 0, 1, 4) self.linux_browse = QtGui.QPushButton(self.config_location_page) self.linux_browse.setEnabled(True) self.linux_browse.setObjectName("linux_browse") self.gridLayout_3.addWidget(self.linux_browse, 5, 3, 1, 1) spacerItem15 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding) self.gridLayout_3.addItem(spacerItem15, 7, 0, 1, 4) self.windows_label = QtGui.QLabel(self.config_location_page) self.windows_label.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.windows_label.setObjectName("windows_label") self.gridLayout_3.addWidget(self.windows_label, 6, 0, 1, 1) self.config_location_subheader = QtGui.QLabel(self.config_location_page) self.config_location_subheader.setStyleSheet("font-size: 14px;") self.config_location_subheader.setWordWrap(True) self.config_location_subheader.setObjectName("config_location_subheader") self.gridLayout_3.addWidget(self.config_location_subheader, 0, 0, 1, 4) self.windows_browse = QtGui.QPushButton(self.config_location_page) self.windows_browse.setEnabled(True) self.windows_browse.setObjectName("windows_browse") self.gridLayout_3.addWidget(self.windows_browse, 6, 3, 1, 1) self.mac_label = QtGui.QLabel(self.config_location_page) self.mac_label.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.mac_label.setObjectName("mac_label") self.gridLayout_3.addWidget(self.mac_label, 2, 0, 1, 1) self.linux_label = QtGui.QLabel(self.config_location_page) self.linux_label.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.linux_label.setObjectName("linux_label") self.gridLayout_3.addWidget(self.linux_label, 5, 0, 1, 1) self.mac_path = QtGui.QLineEdit(self.config_location_page) self.mac_path.setObjectName("mac_path") self.gridLayout_3.addWidget(self.mac_path, 2, 2, 1, 1) spacerItem16 = QtGui.QSpacerItem(20, 20, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Fixed) self.gridLayout_3.addItem(spacerItem16, 1, 0, 1, 4) Wizard.addPage(self.config_location_page) self.progress_page = ProgressPage() self.progress_page.setObjectName("progress_page") self.verticalLayout_5 = QtGui.QVBoxLayout(self.progress_page) self.verticalLayout_5.setSpacing(15) self.verticalLayout_5.setContentsMargins(25, -1, 25, -1) self.verticalLayout_5.setObjectName("verticalLayout_5") spacerItem17 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding) self.verticalLayout_5.addItem(spacerItem17) self.message = QtGui.QLabel(self.progress_page) self.message.setText("") self.message.setObjectName("message") self.verticalLayout_5.addWidget(self.message) self.progress = QtGui.QProgressBar(self.progress_page) self.progress.setObjectName("progress") self.verticalLayout_5.addWidget(self.progress) self.horizontalLayout_3 = QtGui.QHBoxLayout() self.horizontalLayout_3.setObjectName("horizontalLayout_3") self.additional_details_button = QtGui.QPushButton(self.progress_page) self.additional_details_button.setBaseSize(QtCore.QSize(20, 32)) self.additional_details_button.setFocusPolicy(QtCore.Qt.NoFocus) self.additional_details_button.setAutoDefault(False) self.additional_details_button.setFlat(False) self.additional_details_button.setObjectName("additional_details_button") self.horizontalLayout_3.addWidget(self.additional_details_button) spacerItem18 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) self.horizontalLayout_3.addItem(spacerItem18) self.verticalLayout_5.addLayout(self.horizontalLayout_3) self.progress_output = QtGui.QPlainTextEdit(self.progress_page) self.progress_output.setFocusPolicy(QtCore.Qt.NoFocus) self.progress_output.setUndoRedoEnabled(False) self.progress_output.setLineWrapMode(QtGui.QPlainTextEdit.NoWrap) self.progress_output.setReadOnly(True) self.progress_output.setTextInteractionFlags(QtCore.Qt.LinksAccessibleByKeyboard|QtCore.Qt.LinksAccessibleByMouse|QtCore.Qt.TextBrowserInteraction|QtCore.Qt.TextSelectableByKeyboard|QtCore.Qt.TextSelectableByMouse) self.progress_output.setObjectName("progress_output") self.verticalLayout_5.addWidget(self.progress_output) spacerItem19 = QtGui.QSpacerItem(20, 0, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding) self.verticalLayout_5.addItem(spacerItem19) self.complete_errors = QtGui.QLabel(self.progress_page) self.complete_errors.setStyleSheet("color: rgb(252, 98, 70);") self.complete_errors.setText("") self.complete_errors.setAlignment(QtCore.Qt.AlignCenter) self.complete_errors.setWordWrap(True) self.complete_errors.setObjectName("complete_errors") self.verticalLayout_5.addWidget(self.complete_errors) Wizard.addPage(self.progress_page) self.summary_page = QtGui.QWizardPage() self.summary_page.setObjectName("summary_page") self.gridLayout = QtGui.QGridLayout(self.summary_page) self.gridLayout.setContentsMargins(25, 60, 25, 20) self.gridLayout.setVerticalSpacing(20) self.gridLayout.setObjectName("gridLayout") spacerItem20 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding) self.gridLayout.addItem(spacerItem20, 5, 2, 1, 1) self.final_message = QtGui.QLabel(self.summary_page) self.final_message.setStyleSheet("font-size: 16px;\n" "color: rgb(141, 143, 143);") self.final_message.setTextFormat(QtCore.Qt.RichText) self.final_message.setWordWrap(True) self.final_message.setOpenExternalLinks(True) self.final_message.setObjectName("final_message") self.gridLayout.addWidget(self.final_message, 6, 2, 1, 1) spacerItem21 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) self.gridLayout.addItem(spacerItem21, 0, 0, 1, 1) spacerItem22 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) self.gridLayout.addItem(spacerItem22, 0, 6, 1, 1) self.setup_complete = QtGui.QLabel(self.summary_page) self.setup_complete.setStyleSheet("font-size: 20px;") self.setup_complete.setAlignment(QtCore.Qt.AlignCenter) self.setup_complete.setObjectName("setup_complete") self.gridLayout.addWidget(self.setup_complete, 4, 2, 1, 1) self.horizontalLayout_5 = QtGui.QHBoxLayout() self.horizontalLayout_5.setObjectName("horizontalLayout_5") self.icon = QtGui.QLabel(self.summary_page) self.icon.setMaximumSize(QtCore.QSize(100, 100)) self.icon.setText("") self.icon.setPixmap(QtGui.QPixmap(":/tk-framework-adminui/setup_project/circle_logo.png")) self.icon.setScaledContents(True) self.icon.setObjectName("icon") self.horizontalLayout_5.addWidget(self.icon) self.gridLayout.addLayout(self.horizontalLayout_5, 0, 2, 1, 1) spacerItem23 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding) self.gridLayout.addItem(spacerItem23, 7, 2, 1, 1) Wizard.addPage(self.summary_page) self.label_standard.setBuddy(self.select_standard) self.label_project.setBuddy(self.select_project) self.label_github.setBuddy(self.select_github) self.label_disk.setBuddy(self.select_disk) self.label_default_config.setBuddy(self.select_standard) self.label_multiroot_config.setBuddy(self.select_project) self.label_multiroot_config_2.setBuddy(self.select_project) self.label_games_config.setBuddy(self.select_github) self.octocat.setBuddy(self.github_url) self.project_directories.setBuddy(self.project_name) self.windows_label.setBuddy(self.windows_path) self.mac_label.setBuddy(self.mac_path) self.linux_label.setBuddy(self.linux_path) self.retranslateUi(Wizard) QtCore.QMetaObject.connectSlotsByName(Wizard) Wizard.setTabOrder(self.project_list, self.github_url) Wizard.setTabOrder(self.github_url, self.path) Wizard.setTabOrder(self.path, self.disk_browse_button) Wizard.setTabOrder(self.disk_browse_button, self.project_name) Wizard.setTabOrder(self.project_name, self.mac_path) Wizard.setTabOrder(self.mac_path, self.mac_browse) Wizard.setTabOrder(self.mac_browse, self.linux_path) Wizard.setTabOrder(self.linux_path, self.linux_browse) Wizard.setTabOrder(self.linux_browse, self.windows_path) Wizard.setTabOrder(self.windows_path, self.windows_browse) Wizard.setTabOrder(self.windows_browse, self.project_name_scroll_area)