def _setup_storage_widgets(self, project_paths_dict): # setup os info and ordering os_info = [ # (dict key, label, current os) ("darwin", "Mac", sys.platform == "darwin"), ("linux2", "Linux", sys.platform.startswith("linux")), ("win32", "Windows", sys.platform == "win32"), ] # current os first, then alphabetically def os_key(element): # return a key that sorts the os'es properly (_, label, os_current) = element return (not os_current, label) os_info.sort(key=os_key) wiz = self.wizard() for storage in project_paths_dict: # each storage gets a group showing what paths will be created for that storage group = QtGui.QGroupBox(" %s " % storage.title()) group.setStyleSheet(""" QGroupBox { border: 1px solid rgb(217, 217, 217); border-radius: 3px; margin-top: 0.5em; } QGroupBox::title { font-size: 14px; subcontrol-origin: margin; left: 10px; padding: 0 3px 0 3px; color: rgb(55, 168, 225); } """) group_layout = QtGui.QGridLayout(group) row = 0 for (key, label, _) in os_info: path = project_paths_dict[storage].get(key) if path: group_layout.addWidget( QtGui.QLabel("<big>%s</big>" % label), row, 0, 1, 1) path_widget = QtGui.QLabel() self._storage_path_widgets.setdefault( storage, {})[key] = path_widget group_layout.addWidget(path_widget, row, 1, 1, 1) row += 1 group_layout.setColumnStretch(1, 1) group_layout.setHorizontalSpacing(15) wiz.ui.project_contents_layout.addWidget(group) # Keep added widgets in order to remove them in case back button is used. self._widget_groups.append(group)
def __init__(self, parent): """ :param QtGui.QWidget: Parent widget. """ # The Commands are displayed on a grid. super(CommandList, self).__init__(parent, QtGui.QGridLayout()) # The filler is a widget that prevents the button on the last row # from taking up the whole row if there is only one. self._filler = QtGui.QWidget(self) # This will hold the CommandButton instances index by the button name. self._buttons = {}
def setupUi(self, NewProjectForm): NewProjectForm.setObjectName("NewProjectForm") NewProjectForm.resize(604, 473) self.verticalLayout = QtGui.QVBoxLayout(NewProjectForm) self.verticalLayout.setSpacing(4) self.verticalLayout.setContentsMargins(12, 12, 12, 4) self.verticalLayout.setObjectName("verticalLayout") self.verticalLayout_2 = QtGui.QVBoxLayout() self.verticalLayout_2.setSpacing(4) self.verticalLayout_2.setContentsMargins(0, 0, 0, 0) self.verticalLayout_2.setObjectName("verticalLayout_2") self.verticalLayout.addLayout(self.verticalLayout_2) self.context_widget = context_selector.ContextWidget(NewProjectForm) self.context_widget.setObjectName("context_widget") self.verticalLayout_2.addWidget(self.context_widget) self.context_warning_label = QtGui.QLabel(NewProjectForm) self.context_warning_label.setText("") self.context_warning_label.setAlignment(QtCore.Qt.AlignLeading | QtCore.Qt.AlignLeft | QtCore.Qt.AlignTop) self.context_warning_label.setMargin(1) self.context_warning_label.setIndent(-1) self.context_warning_label.setObjectName("context_warning_label") self.verticalLayout_2.addWidget(self.context_warning_label) self.verticalLayout_3 = QtGui.QVBoxLayout() self.verticalLayout_3.setSpacing(12) self.verticalLayout_3.setContentsMargins(0, 0, 0, 0) self.verticalLayout_3.setObjectName("verticalLayout_3") self.project_groupbox = QtGui.QGroupBox(NewProjectForm) self.project_groupbox.setObjectName("project_groupbox") self.project_groupbox.setLayout(self.verticalLayout_3) self.verticalLayout.addWidget(self.project_groupbox) self.verticalLayout_4 = QtGui.QVBoxLayout() self.verticalLayout_4.setSpacing(4) self.verticalLayout_4.setObjectName("verticalLayout_4") self.info_label = QtGui.QLabel(NewProjectForm) self.info_label.setMinimumSize(QtCore.QSize(0, 0)) self.info_label.setAlignment(QtCore.Qt.AlignLeading | QtCore.Qt.AlignLeft | QtCore.Qt.AlignVCenter) self.info_label.setWordWrap(False) self.info_label.setObjectName("info_label") self.verticalLayout_4.addWidget(self.info_label) self.name_line = QtGui.QFrame(NewProjectForm) self.name_line.setFrameShadow(QtGui.QFrame.Plain) self.name_line.setFrameShape(QtGui.QFrame.HLine) self.name_line.setFrameShadow(QtGui.QFrame.Sunken) self.name_line.setObjectName("name_line") self.verticalLayout_4.addWidget(self.name_line) self.verticalLayout_3.addLayout(self.verticalLayout_4) self.gridLayout = QtGui.QGridLayout() self.gridLayout.setSpacing(-1) self.gridLayout.setObjectName("gridLayout") self.label_2 = QtGui.QLabel(NewProjectForm) self.label_2.setMargin(1) self.label_2.setObjectName("label_2") self.gridLayout.addWidget(self.label_2, 0, 0, 1, 1) self.name_edit = QtGui.QLineEdit(NewProjectForm) self.name_edit.setObjectName("name_edit") self.gridLayout.addWidget(self.name_edit, 0, 1, 1, 1) self.name_preview_label = QtGui.QLabel(NewProjectForm) self.name_preview_label.setText("") self.name_preview_label.setAlignment(QtCore.Qt.AlignLeading | QtCore.Qt.AlignLeft | QtCore.Qt.AlignTop) self.name_preview_label.setMargin(1) self.name_preview_label.setIndent(-1) self.name_preview_label.setObjectName("name_preview_label") self.gridLayout.addWidget(self.name_preview_label, 1, 1, 1, 1) self.label_4 = QtGui.QLabel(NewProjectForm) self.label_4.setAlignment(QtCore.Qt.AlignLeading | QtCore.Qt.AlignLeft | QtCore.Qt.AlignTop) self.label_4.setMargin(1) self.label_4.setObjectName("label_4") self.gridLayout.addWidget(self.label_4, 1, 0, 1, 1) self.verticalLayout_3.addLayout(self.gridLayout) spacerItem = QtGui.QSpacerItem(20, 20, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Fixed) self.verticalLayout_3.addItem(spacerItem) self.verticalLayout_6 = QtGui.QVBoxLayout() self.verticalLayout_6.setSpacing(4) self.verticalLayout_6.setObjectName("verticalLayout_6") self.label = QtGui.QLabel(NewProjectForm) self.label.setObjectName("label") self.verticalLayout_6.addWidget(self.label) self.publishes_line = QtGui.QFrame(NewProjectForm) self.publishes_line.setFrameShadow(QtGui.QFrame.Plain) self.publishes_line.setFrameShape(QtGui.QFrame.HLine) self.publishes_line.setFrameShadow(QtGui.QFrame.Sunken) self.publishes_line.setObjectName("publishes_line") self.verticalLayout_6.addWidget(self.publishes_line) self.verticalLayout_3.addLayout(self.verticalLayout_6) self.verticalLayout_5 = QtGui.QVBoxLayout() self.verticalLayout_5.setSpacing(4) self.verticalLayout_5.setObjectName("verticalLayout_5") self.publish_list = PublishListView(NewProjectForm) self.publish_list.setStyleSheet("#publish_list {\n" "background-color: rgb(255, 128, 0);\n" "}") self.publish_list.setObjectName("publish_list") self.verticalLayout_5.addWidget(self.publish_list) self.horizontalLayout = QtGui.QHBoxLayout() self.horizontalLayout.setObjectName("horizontalLayout") spacerItem1 = QtGui.QSpacerItem(0, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) self.horizontalLayout.addItem(spacerItem1) self.add_publish_btn = QtGui.QPushButton(NewProjectForm) self.add_publish_btn.setMinimumSize(QtCore.QSize(32, 0)) self.add_publish_btn.setObjectName("add_publish_btn") self.horizontalLayout.addWidget(self.add_publish_btn) self.horizontalLayout.setStretch(0, 1) self.verticalLayout_5.addLayout(self.horizontalLayout) self.verticalLayout_5.setStretch(0, 1) self.verticalLayout_3.addLayout(self.verticalLayout_5) self.horizontalLayout_3 = QtGui.QHBoxLayout() self.horizontalLayout_3.setContentsMargins(12, 8, 12, 12) self.horizontalLayout_3.setObjectName("horizontalLayout_3") spacerItem2 = QtGui.QSpacerItem(0, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) self.horizontalLayout_3.addItem(spacerItem2) self.cancel_btn = QtGui.QPushButton(NewProjectForm) self.cancel_btn.setMinimumSize(QtCore.QSize(90, 0)) self.cancel_btn.setObjectName("cancel_btn") self.horizontalLayout_3.addWidget(self.cancel_btn) self.create_btn = QtGui.QPushButton(NewProjectForm) self.create_btn.setMinimumSize(QtCore.QSize(90, 0)) self.create_btn.setDefault(True) self.create_btn.setObjectName("create_btn") self.horizontalLayout_3.addWidget(self.create_btn) self.verticalLayout.addLayout(self.horizontalLayout_3) self.verticalLayout.setStretch(1, 1) self.retranslateUi(NewProjectForm) QtCore.QObject.connect(self.cancel_btn, QtCore.SIGNAL("clicked()"), NewProjectForm.close) QtCore.QMetaObject.connectSlotsByName(NewProjectForm)
def _populate_ui(self): """ The fields manager has been initialized. Now we can requests some widgets to use in the UI. :return: """ entity_type = "HumanUser" # only show visible, editable, supported fields human_user_fields = [ f for f in shotgun_globals.get_entity_fields(entity_type) if shotgun_globals.field_is_visible(entity_type, f) and shotgun_globals.field_is_editable(entity_type, f) ] human_user_fields = sorted( self._fields_manager.supported_fields(entity_type, human_user_fields)) # get some info about the current user current_user = self._bundle.context.user if not current_user: layout = QtGui.QVBoxLayout(self) layout.addStretch() layout.addWidget( QtGui.QLabel("FAIL: Could not determine the current user.")) layout.addStretch() return # make sure we have all the fields we need for this user current_user = self._bundle.shotgun.find_one( entity_type, [["id", "is", current_user["id"]]], fields=human_user_fields) form_layout = QtGui.QGridLayout() form_layout.setSpacing(4) row = 0 column = 0 for field in human_user_fields: # get the display name for this field field_display_name = shotgun_globals.get_field_display_name( entity_type, field) # get a widget for the entity type and field. supply the current # user entity so that the data is populated. by default, this will # return an "EDITABLE" widget. editable_field_widget = self._fields_manager.create_widget( entity_type, field, entity=current_user, parent=self) # give the image field widget a minimum size if field == "image": editable_field_widget.setMinimumSize(QtCore.QSize(64, 64)) # add the label lbl = FieldLabel("%s:" % (field_display_name, )) form_layout.addWidget(lbl, row, column, QtCore.Qt.AlignRight) # add the widget form_layout.addWidget(editable_field_widget, row, column + 1, QtCore.Qt.AlignLeft) # listen to the value_changed signal editable_field_widget.value_changed.connect( lambda f=field_display_name, w=editable_field_widget: self. _on_value_changed(f, w)) row += 1 form_layout.setRowStretch(row, 10) form_layout.setColumnStretch(column + 1, 10) form_widget = QtGui.QWidget() form_widget.setLayout(form_layout) scroll_area = QtGui.QScrollArea() scroll_area.setWidget(form_widget) scroll_area.setWidgetResizable(True) scroll_area.setFocusPolicy(QtCore.Qt.NoFocus) # add an output box at the bottom of the grid to show what happens as # signals are emitted when the widgets are interacted with output_lbl = QtGui.QLabel( "Interact with the widgets above. Value change signals will be " "echo'd below.") self._output_text = QtGui.QTextEdit() self._output_text.setMaximumHeight(100) self._output_text.setReadOnly(True) layout = QtGui.QVBoxLayout(self) layout.addWidget(scroll_area) layout.addWidget(output_lbl) layout.addWidget(self._output_text)
def setupUi(self, NewTaskForm): NewTaskForm.setObjectName("NewTaskForm") NewTaskForm.resize(380, 270) NewTaskForm.setMinimumSize(QtCore.QSize(380, 270)) self.verticalLayout = QtGui.QVBoxLayout(NewTaskForm) self.verticalLayout.setSpacing(4) self.verticalLayout.setContentsMargins(0, 0, 0, 0) self.verticalLayout.setObjectName("verticalLayout") self.verticalLayout_2 = QtGui.QVBoxLayout() self.verticalLayout_2.setSpacing(20) self.verticalLayout_2.setContentsMargins(12, 12, 12, 4) self.verticalLayout_2.setObjectName("verticalLayout_2") self.label_3 = QtGui.QLabel(NewTaskForm) self.label_3.setWordWrap(True) self.label_3.setObjectName("label_3") self.verticalLayout_2.addWidget(self.label_3) self.gridLayout = QtGui.QGridLayout() self.gridLayout.setHorizontalSpacing(20) self.gridLayout.setVerticalSpacing(6) self.gridLayout.setObjectName("gridLayout") self.assigned_to = QtGui.QLabel(NewTaskForm) self.assigned_to.setObjectName("assigned_to") self.gridLayout.addWidget(self.assigned_to, 7, 2, 1, 1) self.label_6 = QtGui.QLabel(NewTaskForm) font = QtGui.QFont() font.setWeight(75) font.setBold(True) self.label_6.setFont(font) self.label_6.setObjectName("label_6") self.gridLayout.addWidget(self.label_6, 7, 0, 1, 1) self.label_4 = QtGui.QLabel(NewTaskForm) font = QtGui.QFont() font.setWeight(75) font.setBold(True) self.label_4.setFont(font) self.label_4.setObjectName("label_4") self.gridLayout.addWidget(self.label_4, 8, 0, 1, 1) self.pipeline_step = QtGui.QComboBox(NewTaskForm) self.pipeline_step.setObjectName("pipeline_step") self.gridLayout.addWidget(self.pipeline_step, 1, 2, 1, 1) spacerItem = QtGui.QSpacerItem(10, 10, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Fixed) self.gridLayout.addItem(spacerItem, 6, 0, 1, 1) self.entity = QtGui.QLabel(NewTaskForm) self.entity.setObjectName("entity") self.gridLayout.addWidget(self.entity, 8, 2, 1, 1) self.label = QtGui.QLabel(NewTaskForm) font = QtGui.QFont() font.setWeight(75) font.setBold(True) self.label.setFont(font) self.label.setObjectName("label") self.gridLayout.addWidget(self.label, 1, 0, 1, 1) self.label_2 = QtGui.QLabel(NewTaskForm) font = QtGui.QFont() font.setWeight(75) font.setBold(True) self.label_2.setFont(font) self.label_2.setObjectName("label_2") self.gridLayout.addWidget(self.label_2, 0, 0, 1, 1) self.task_name = QtGui.QLineEdit(NewTaskForm) self.task_name.setObjectName("task_name") self.gridLayout.addWidget(self.task_name, 0, 2, 1, 1) self.gridLayout.setColumnStretch(2, 1) self.verticalLayout_2.addLayout(self.gridLayout) self.warning = QtGui.QLabel(NewTaskForm) self.warning.setText("") self.warning.setWordWrap(True) self.warning.setObjectName("warning") self.verticalLayout_2.addWidget(self.warning) self.verticalLayout.addLayout(self.verticalLayout_2) spacerItem1 = QtGui.QSpacerItem(20, 11, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding) self.verticalLayout.addItem(spacerItem1) self.break_line = QtGui.QFrame(NewTaskForm) self.break_line.setFrameShape(QtGui.QFrame.HLine) self.break_line.setFrameShadow(QtGui.QFrame.Sunken) self.break_line.setObjectName("break_line") self.verticalLayout.addWidget(self.break_line) self.horizontalLayout = QtGui.QHBoxLayout() self.horizontalLayout.setSizeConstraint(QtGui.QLayout.SetDefaultConstraint) self.horizontalLayout.setContentsMargins(12, 8, 12, 12) self.horizontalLayout.setObjectName("horizontalLayout") spacerItem2 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) self.horizontalLayout.addItem(spacerItem2) self.cancel_btn = QtGui.QPushButton(NewTaskForm) self.cancel_btn.setObjectName("cancel_btn") self.horizontalLayout.addWidget(self.cancel_btn) self.create_btn = QtGui.QPushButton(NewTaskForm) self.create_btn.setDefault(True) self.create_btn.setObjectName("create_btn") self.horizontalLayout.addWidget(self.create_btn) self.verticalLayout.addLayout(self.horizontalLayout) self.verticalLayout.setStretch(2, 1) self.retranslateUi(NewTaskForm) QtCore.QObject.connect(self.cancel_btn, QtCore.SIGNAL("clicked()"), NewTaskForm.close) QtCore.QMetaObject.connectSlotsByName(NewTaskForm) NewTaskForm.setTabOrder(self.task_name, self.pipeline_step) NewTaskForm.setTabOrder(self.pipeline_step, self.create_btn) NewTaskForm.setTabOrder(self.create_btn, self.cancel_btn)
def setupUi(self, FileSaveForm): FileSaveForm.setObjectName("FileSaveForm") FileSaveForm.resize(850, 539) self.verticalLayout = QtGui.QVBoxLayout(FileSaveForm) self.verticalLayout.setSpacing(4) self.verticalLayout.setContentsMargins(0, 0, 0, 0) self.verticalLayout.setObjectName("verticalLayout") self.verticalLayout_3 = QtGui.QVBoxLayout() self.verticalLayout_3.setContentsMargins(12, 12, 12, 4) self.verticalLayout_3.setObjectName("verticalLayout_3") self.gridLayout_2 = QtGui.QGridLayout() self.gridLayout_2.setObjectName("gridLayout_2") self.horizontalLayout_3 = QtGui.QHBoxLayout() self.horizontalLayout_3.setSpacing(1) self.horizontalLayout_3.setObjectName("horizontalLayout_3") self.expand_checkbox = QtGui.QCheckBox(FileSaveForm) sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Maximum) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.expand_checkbox.sizePolicy().hasHeightForWidth()) self.expand_checkbox.setSizePolicy(sizePolicy) self.expand_checkbox.setMaximumSize(QtCore.QSize(16777215, 24)) self.expand_checkbox.setStyleSheet( "#expand_checkbox::indicator {\n" "width: 24;\n" "height: 24;\n" "}\n" "\n" "#expand_checkbox::indicator::unchecked {\n" " image: url(:/tk-multi-workfiles2/save_expand.png);\n" "\n" "}\n" "\n" "#expand_checkbox::indicator::unchecked::hover {\n" " image: url(:/tk-multi-workfiles2/save_expand_hover.png);\n" "}\n" "\n" "#expand_checkbox::indicator::unchecked::pressed {\n" " image: url(:/tk-multi-workfiles2/save_expand_pressed.png);\n" "}\n" "\n" "#expand_checkbox::indicator::checked {\n" " image: url(:/tk-multi-workfiles2/save_collapse.png);\n" "}\n" "\n" "#expand_checkbox::indicator::checked:hover {\n" " image: url(:/tk-multi-workfiles2/save_collapse_hover.png);\n" "}\n" "\n" "#expand_checkbox::indicator::checked:pressed {\n" " image: url(:/tk-multi-workfiles2/save_collapse_pressed.png);\n" "}") self.expand_checkbox.setText("") self.expand_checkbox.setObjectName("expand_checkbox") self.horizontalLayout_3.addWidget(self.expand_checkbox) self.gridLayout_2.addLayout(self.horizontalLayout_3, 0, 0, 1, 1) self.nav = NavigationWidget(FileSaveForm) self.nav.setMinimumSize(QtCore.QSize(80, 30)) self.nav.setStyleSheet("#nav {\n" "background-color: rgb(255, 128, 0);\n" "}") self.nav.setObjectName("nav") self.gridLayout_2.addWidget(self.nav, 0, 1, 1, 1) self.breadcrumbs = BreadcrumbWidget(FileSaveForm) self.breadcrumbs.setMinimumSize(QtCore.QSize(0, 30)) self.breadcrumbs.setStyleSheet("#breadcrumbs {\n" "background-color: rgb(255, 128, 0);\n" "}") self.breadcrumbs.setObjectName("breadcrumbs") self.gridLayout_2.addWidget(self.breadcrumbs, 0, 2, 1, 1) self.gridLayout_2.setColumnStretch(2, 1) self.verticalLayout_3.addLayout(self.gridLayout_2) self.browser = BrowserForm(FileSaveForm) self.browser.setStyleSheet("#browser {\n" "background-color: rgb(255, 128, 0);\n" "}") self.browser.setObjectName("browser") self.verticalLayout_3.addWidget(self.browser) self.verticalLayout_3.setStretch(1, 1) self.verticalLayout.addLayout(self.verticalLayout_3) self.line = QtGui.QFrame(FileSaveForm) self.line.setFrameShape(QtGui.QFrame.HLine) self.line.setFrameShadow(QtGui.QFrame.Sunken) self.line.setObjectName("line") self.verticalLayout.addWidget(self.line) self.verticalLayout_2 = QtGui.QVBoxLayout() self.verticalLayout_2.setSpacing(20) self.verticalLayout_2.setContentsMargins(12, 4, 12, 4) self.verticalLayout_2.setObjectName("verticalLayout_2") self.file_controls_grid = QtGui.QGridLayout() self.file_controls_grid.setHorizontalSpacing(14) self.file_controls_grid.setVerticalSpacing(6) self.file_controls_grid.setObjectName("file_controls_grid") self.version_label = QtGui.QLabel(FileSaveForm) self.version_label.setMinimumSize(QtCore.QSize(0, 0)) self.version_label.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignTrailing | QtCore.Qt.AlignVCenter) self.version_label.setIndent(-1) self.version_label.setObjectName("version_label") self.file_controls_grid.addWidget(self.version_label, 1, 0, 1, 1) self.name_label = QtGui.QLabel(FileSaveForm) self.name_label.setMinimumSize(QtCore.QSize(0, 0)) self.name_label.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignTrailing | QtCore.Qt.AlignVCenter) self.name_label.setIndent(-1) self.name_label.setObjectName("name_label") self.file_controls_grid.addWidget(self.name_label, 0, 0, 1, 1) self.file_type_label = QtGui.QLabel(FileSaveForm) self.file_type_label.setMinimumSize(QtCore.QSize(0, 0)) self.file_type_label.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignTrailing | QtCore.Qt.AlignVCenter) self.file_type_label.setIndent(-1) self.file_type_label.setObjectName("file_type_label") self.file_controls_grid.addWidget(self.file_type_label, 2, 0, 1, 1) self.horizontalLayout_2 = QtGui.QHBoxLayout() self.horizontalLayout_2.setSpacing(-1) self.horizontalLayout_2.setObjectName("horizontalLayout_2") self.version_spinner = QtGui.QSpinBox(FileSaveForm) self.version_spinner.setMaximum(9999999) self.version_spinner.setObjectName("version_spinner") self.horizontalLayout_2.addWidget(self.version_spinner) self.use_next_available_cb = QtGui.QCheckBox(FileSaveForm) self.use_next_available_cb.setObjectName("use_next_available_cb") self.horizontalLayout_2.addWidget(self.use_next_available_cb) spacerItem = QtGui.QSpacerItem(0, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) self.horizontalLayout_2.addItem(spacerItem) self.file_controls_grid.addLayout(self.horizontalLayout_2, 1, 1, 1, 1) self.horizontalLayout_6 = QtGui.QHBoxLayout() self.horizontalLayout_6.setSpacing(0) self.horizontalLayout_6.setObjectName("horizontalLayout_6") self.file_type_menu = QtGui.QComboBox(FileSaveForm) self.file_type_menu.setMinimumSize(QtCore.QSize(200, 0)) self.file_type_menu.setObjectName("file_type_menu") self.horizontalLayout_6.addWidget(self.file_type_menu) spacerItem1 = QtGui.QSpacerItem(0, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) self.horizontalLayout_6.addItem(spacerItem1) self.file_controls_grid.addLayout(self.horizontalLayout_6, 2, 1, 1, 1) self.horizontalLayout_8 = QtGui.QHBoxLayout() self.horizontalLayout_8.setSpacing(0) self.horizontalLayout_8.setObjectName("horizontalLayout_8") self.name_edit = QtGui.QLineEdit(FileSaveForm) self.name_edit.setMaximumSize(QtCore.QSize(200, 16777215)) self.name_edit.setFrame(True) self.name_edit.setObjectName("name_edit") self.horizontalLayout_8.addWidget(self.name_edit) spacerItem2 = QtGui.QSpacerItem(0, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) self.horizontalLayout_8.addItem(spacerItem2) self.horizontalLayout_8.setStretch(0, 1) self.file_controls_grid.addLayout(self.horizontalLayout_8, 0, 1, 1, 1) self.file_controls_grid.setColumnMinimumWidth(0, 80) self.file_controls_grid.setColumnStretch(1, 1) self.verticalLayout_2.addLayout(self.file_controls_grid) self.feedback_stacked_widget = QtGui.QStackedWidget(FileSaveForm) self.feedback_stacked_widget.setObjectName("feedback_stacked_widget") self.preview_page = QtGui.QWidget() self.preview_page.setObjectName("preview_page") self.verticalLayout_4 = QtGui.QVBoxLayout(self.preview_page) self.verticalLayout_4.setContentsMargins(0, 0, 0, 0) self.verticalLayout_4.setObjectName("verticalLayout_4") self.preview_grid = QtGui.QGridLayout() self.preview_grid.setHorizontalSpacing(14) self.preview_grid.setVerticalSpacing(1) self.preview_grid.setObjectName("preview_grid") self.preview_label = QtGui.QLabel(self.preview_page) self.preview_label.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignTop | QtCore.Qt.AlignTrailing) self.preview_label.setIndent(-1) self.preview_label.setObjectName("preview_label") self.preview_grid.addWidget(self.preview_label, 0, 0, 1, 1) self.file_name_preview = QtGui.QLabel(self.preview_page) self.file_name_preview.setAlignment(QtCore.Qt.AlignLeading | QtCore.Qt.AlignLeft | QtCore.Qt.AlignTop) self.file_name_preview.setWordWrap(True) self.file_name_preview.setIndent(-1) self.file_name_preview.setObjectName("file_name_preview") self.preview_grid.addWidget(self.file_name_preview, 0, 1, 1, 1) self.work_area_preview = ElidedLabel(self.preview_page) sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Ignored, QtGui.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.work_area_preview.sizePolicy().hasHeightForWidth()) self.work_area_preview.setSizePolicy(sizePolicy) self.work_area_preview.setAlignment(QtCore.Qt.AlignLeading | QtCore.Qt.AlignLeft | QtCore.Qt.AlignTop) self.work_area_preview.setWordWrap(True) self.work_area_preview.setIndent(-1) self.work_area_preview.setTextInteractionFlags( QtCore.Qt.TextSelectableByMouse) self.work_area_preview.setObjectName("work_area_preview") self.preview_grid.addWidget(self.work_area_preview, 1, 1, 1, 1) self.work_area_label = QtGui.QLabel(self.preview_page) self.work_area_label.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignTop | QtCore.Qt.AlignTrailing) self.work_area_label.setIndent(-1) self.work_area_label.setObjectName("work_area_label") self.preview_grid.addWidget(self.work_area_label, 1, 0, 1, 1) self.preview_grid.setColumnMinimumWidth(0, 80) self.preview_grid.setColumnStretch(1, 1) self.verticalLayout_4.addLayout(self.preview_grid) self.feedback_stacked_widget.addWidget(self.preview_page) self.warning_page = QtGui.QWidget() self.warning_page.setObjectName("warning_page") self.horizontalLayout_7 = QtGui.QHBoxLayout(self.warning_page) self.horizontalLayout_7.setContentsMargins(0, 0, 0, 0) self.horizontalLayout_7.setObjectName("horizontalLayout_7") self.warning_grid = QtGui.QGridLayout() self.warning_grid.setContentsMargins(0, -1, -1, -1) self.warning_grid.setHorizontalSpacing(14) self.warning_grid.setVerticalSpacing(6) self.warning_grid.setObjectName("warning_grid") self.warning = QtGui.QLabel(self.warning_page) self.warning.setMinimumSize(QtCore.QSize(0, 45)) self.warning.setAlignment(QtCore.Qt.AlignLeading | QtCore.Qt.AlignLeft | QtCore.Qt.AlignTop) self.warning.setWordWrap(True) self.warning.setMargin(0) self.warning.setIndent(-1) self.warning.setTextInteractionFlags( QtCore.Qt.LinksAccessibleByMouse | QtCore.Qt.TextSelectableByKeyboard | QtCore.Qt.TextSelectableByMouse) self.warning.setObjectName("warning") self.warning_grid.addWidget(self.warning, 0, 1, 1, 1) self.warning_label = QtGui.QLabel(self.warning_page) self.warning_label.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignTop | QtCore.Qt.AlignTrailing) self.warning_label.setIndent(-1) self.warning_label.setObjectName("warning_label") self.warning_grid.addWidget(self.warning_label, 0, 0, 1, 1) self.warning_grid.setColumnMinimumWidth(0, 80) self.warning_grid.setColumnStretch(1, 1) self.horizontalLayout_7.addLayout(self.warning_grid) self.feedback_stacked_widget.addWidget(self.warning_page) self.verticalLayout_2.addWidget(self.feedback_stacked_widget) self.verticalLayout_2.setStretch(1, 1) self.verticalLayout.addLayout(self.verticalLayout_2) spacerItem3 = QtGui.QSpacerItem(20, 0, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding) self.verticalLayout.addItem(spacerItem3) self.break_line = QtGui.QFrame(FileSaveForm) self.break_line.setFrameShape(QtGui.QFrame.HLine) self.break_line.setFrameShadow(QtGui.QFrame.Sunken) self.break_line.setObjectName("break_line") self.verticalLayout.addWidget(self.break_line) self.horizontalLayout_4 = QtGui.QHBoxLayout() self.horizontalLayout_4.setContentsMargins(12, 8, 12, 12) self.horizontalLayout_4.setObjectName("horizontalLayout_4") spacerItem4 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) self.horizontalLayout_4.addItem(spacerItem4) self.cancel_btn = QtGui.QPushButton(FileSaveForm) self.cancel_btn.setObjectName("cancel_btn") self.horizontalLayout_4.addWidget(self.cancel_btn) self.save_btn = QtGui.QPushButton(FileSaveForm) self.save_btn.setDefault(True) self.save_btn.setObjectName("save_btn") self.horizontalLayout_4.addWidget(self.save_btn) self.verticalLayout.addLayout(self.horizontalLayout_4) self.verticalLayout.setStretch(0, 1) self.retranslateUi(FileSaveForm) self.feedback_stacked_widget.setCurrentIndex(0) QtCore.QMetaObject.connectSlotsByName(FileSaveForm) FileSaveForm.setTabOrder(self.name_edit, self.version_spinner) FileSaveForm.setTabOrder(self.version_spinner, self.use_next_available_cb) FileSaveForm.setTabOrder(self.use_next_available_cb, self.file_type_menu) FileSaveForm.setTabOrder(self.file_type_menu, self.cancel_btn) FileSaveForm.setTabOrder(self.cancel_btn, self.save_btn) FileSaveForm.setTabOrder(self.save_btn, self.expand_checkbox)
def __init__(self, store_name, store_info, uri, parent=None): BasePage.__init__(self, parent) # initialize member variables self._uri = uri self._store_name = store_name self._store_info = store_info self._last_page = False # setup the UI layout = QtGui.QGridLayout(self) layout.setContentsMargins(25, 20, 25, 20) self.setTitle("<p></p><font size=18>Define %s Storage</font><p></p>" % store_name.title()) self.setSubTitle(" ") # setup the subtitle subtitle = QtGui.QLabel(self) subtitle.setWordWrap(True) subtitle.setStyleSheet("font-size: 14px;") subtitle.setText(""" <p style="line-height: 130%%"> Specify where you want Shotgun to store files on disk.<br/> If you use multiple operating systems, enter the equivalent path for each.<br/> </p> """) layout.addWidget(subtitle, 0, 0, 1, 4) # setup a label to describe the storage description = QtGui.QLabel(self) description.setWordWrap(True) description.setText( """ <p style="line-height: 130%%"> Storage description:<br/> %s </p> """ % (store_info["description"])) layout.addWidget(description, 1, 0, 1, 4) # add a spacer between storages spacer = QtGui.QSpacerItem(20, 20, QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed) layout.addItem(spacer, 2, 0, 1, 4) # Setup a group of line edits per storage os_specifics = [ # (Label, info_key, current_os) ("Mac", "darwin", "/Path/On/Mac", sys.platform == "darwin"), ("Linux", "linux2", "/path/on/linux", sys.platform.startswith("linux")), ("Windows", "win32", "\\\\Path\\On\\Windows", sys.platform == "win32"), ] # current os first, then alphabetically def os_key(element): # return a key that sorts the os'es properly (os_display, _, _, os_current) = element return (not os_current, os_display) os_specifics.sort(key=os_key) self._store_path_widgets = {} for (i, (os_display, os_key, os_placeholder, os_current)) in enumerate(os_specifics): # setup the os widgets os_label = QtGui.QLabel("%s" % os_display, self) os_label.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignTrailing | QtCore.Qt.AlignVCenter) os_path = QtGui.QLineEdit(self) os_path.setPlaceholderText(os_placeholder) # populate with existing paths if store_info[os_key]: os_path.setText(store_info[os_key]) # don't allow editing data from Shotgun, too dangerous if store_info["defined_in_shotgun"] and store_info[os_key]: os_path.setReadOnly(True) os_path.setEnabled(False) os_path.setToolTip( "Can not edit paths defined Shotgun. This has to be changed in Shotgun's preferences.") # keep around the line edits for validation self._store_path_widgets[os_key] = os_path # only create the browse button for the current os if # the storage is not in Shotgun or # the storage is blank in Shotgun create_browse = os_current and ( not store_info["defined_in_shotgun"] or (store_info["defined_in_shotgun"] and not store_info[os_key])) if create_browse: os_button = QtGui.QPushButton("Browse...", self) # connect the button to populate the os specific path def generate_on_browse_clicked(path_widget): # generate the slot as a closure to capture the current widget def ret(): storage_dir = QtGui.QFileDialog.getExistingDirectory( self, "Choose storage root", None, QtGui.QFileDialog.ShowDirsOnly | QtGui.QFileDialog.DontConfirmOverwrite) path_widget.setText(storage_dir) return ret os_button.pressed.connect(generate_on_browse_clicked(os_path)) # add the widgets to the layout layout.addWidget(os_label, 3+i, 0, 1, 1) layout.addWidget(os_path, 3+i, 2, 1, 1) if create_browse: layout.addWidget(os_button, 3+i, 3, 1, 1) # add a spacer since spacer = QtGui.QSpacerItem(20, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding) layout.addItem(spacer, 6, 0, 1, 4) # setup a place to report errors self.storage_errors = QtGui.QLabel(self) self.storage_errors.setWordWrap(True) self.storage_errors.setStyleSheet("color: rgb(252, 98, 70);") self.storage_errors.setAlignment(QtCore.Qt.AlignLeading | QtCore.Qt.AlignLeft | QtCore.Qt.AlignVCenter) layout.addWidget(self.storage_errors, 7, 0, 1, 4)
def setupUi(self, Dialog): Dialog.setObjectName("Dialog") Dialog.resize(750, 900) self.gridLayout = QtGui.QGridLayout(Dialog) self.gridLayout.setObjectName("gridLayout") self.horizontalLayout = QtGui.QHBoxLayout() self.horizontalLayout.setObjectName("horizontalLayout") self.taskTabWidget = QtGui.QTabWidget(Dialog) sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.taskTabWidget.sizePolicy().hasHeightForWidth()) self.taskTabWidget.setSizePolicy(sizePolicy) font = QtGui.QFont() font.setPointSize(10) font.setWeight(75) font.setBold(True) self.taskTabWidget.setFont(font) self.taskTabWidget.setAcceptDrops(True) self.taskTabWidget.setObjectName("taskTabWidget") self.horizontalLayout.addWidget(self.taskTabWidget) self.timeTabWidget = QtGui.QTabWidget(Dialog) font = QtGui.QFont() font.setPointSize(10) font.setWeight(75) font.setBold(True) self.timeTabWidget.setFont(font) self.timeTabWidget.setObjectName("timeTabWidget") self.horizontalLayout.addWidget(self.timeTabWidget) self.gridLayout.addLayout(self.horizontalLayout, 0, 0, 1, 2) self.horizontalLayout_2 = QtGui.QHBoxLayout() self.horizontalLayout_2.setSizeConstraint( QtGui.QLayout.SetDefaultConstraint) self.horizontalLayout_2.setObjectName("horizontalLayout_2") spacerItem = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) self.horizontalLayout_2.addItem(spacerItem) self.time_sum_label = QtGui.QLabel(Dialog) font = QtGui.QFont() font.setPointSize(16) self.time_sum_label.setFont(font) self.time_sum_label.setObjectName("time_sum_label") self.horizontalLayout_2.addWidget(self.time_sum_label) self.horizontalLayout_3 = QtGui.QHBoxLayout() self.horizontalLayout_3.setObjectName("horizontalLayout_3") self.time_sum_today_label = QtGui.QLabel(Dialog) font = QtGui.QFont() font.setPointSize(16) self.time_sum_today_label.setFont(font) self.time_sum_today_label.setObjectName("time_sum_today_label") self.horizontalLayout_3.addWidget(self.time_sum_today_label) self.time_sum_week_label = QtGui.QLabel(Dialog) font = QtGui.QFont() font.setPointSize(16) self.time_sum_week_label.setFont(font) self.time_sum_week_label.setObjectName("time_sum_week_label") self.horizontalLayout_3.addWidget(self.time_sum_week_label) self.horizontalLayout_2.addLayout(self.horizontalLayout_3) spacerItem1 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) self.horizontalLayout_2.addItem(spacerItem1) self.gridLayout.addLayout(self.horizontalLayout_2, 2, 0, 1, 1) self.tableLayout = QtGui.QVBoxLayout() self.tableLayout.setObjectName("tableLayout") self.gridLayout.addLayout(self.tableLayout, 3, 0, 1, 1) self.retranslateUi(Dialog) self.timeTabWidget.setCurrentIndex(-1) QtCore.QMetaObject.connectSlotsByName(Dialog)
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 __init__(self, dataType, data, noteData=None, parent=None): super(noteContentLayout, self).__init__(parent) self.data = data self.noteData = noteData # is a list layout = QtGui.QVBoxLayout() self.setLayout(layout) layoutContainer = QtGui.QHBoxLayout() titleGridLayout = QtGui.QGridLayout() layoutContainer.addLayout(titleGridLayout) #titleGridLayout.setColumnStretch(2,40) # author authorTxt = "unknown" self.attachmentLayout = QtGui.QHBoxLayout() self.Qt_noteContent = my_textEdit("", editable=bool(self.data), parent=self) # QtGui.QTextEdit( ) if self.data: try: self.Qt_noteContent.setPlainText( QtCore.QString.fromUtf8(self.data["content"])) except: self.Qt_noteContent.setPlainText(self.data["content"]) if dataType == "Reply": titleGridLayout.setColumnStretch(0, 0) titleGridLayout.setColumnStretch(1, 1) authorHtmlTxt = "<font size=2 color=#BBBBBB>Author : " + self.data[ "user"]['name'] + "</font><br>" dateHtmlTxt = "<font size=2 color=#BBBBBB>Date : " + self.data[ "created_at"].strftime('%Y-%m-%d %H:%M:%S') + "</font>" labelText = QtGui.QLabel(authorHtmlTxt + dateHtmlTxt, parent=self) titleGridLayout.setHorizontalSpacing(20) titleGridLayout.addWidget(labelText, 0, 0, QtCore.Qt.AlignTop) titleGridLayout.addWidget(self.Qt_noteContent, 0, 1) layout.addLayout(layoutContainer) layout.addLayout(self.attachmentLayout) titleGridLayout.setContentsMargins(0, 0, 0, 0) layout.setContentsMargins(0, 0, 0, 0) else: authorHtmlTxt = "<font color=#BBBBBB>Author : " + self.data[ "user"]['name'] + "</font><br>" dateHtmlTxt = "<font color=#BBBBBB>Date : <b>" + self.data[ "created_at"].strftime( '%Y-%m-%d %H:%M:%S') + "</font></b><br>" labelText = QtGui.QLabel(authorHtmlTxt + dateHtmlTxt, parent=self) titleGridLayout.addWidget(labelText, 0, 0, QtCore.Qt.AlignTop) layout.addLayout(layoutContainer) layout.addWidget(self.Qt_noteContent) layout.addLayout(self.attachmentLayout) self.Qt_noteContent.setStyleSheet( "QTextEdit { color : #F0F0F0 ; }") titleGridLayout.setContentsMargins(0, 0, 0, 0) layout.setContentsMargins(0, 0, 0, 0) if not self.data: if dataType == "Reply": if len(self.noteData) > 1: self.Qt_noteContent.setText( u"Type a reply for all the selected notes") else: self.Qt_noteContent.setText(u"Type a reply") self.Qt_noteContent.selectAll() self.Qt_noteContent.SIGNAL_return.connect( self.replyNoteSlot) elif dataType == "Note": self.Qt_noteContent.setText(u"Type a note") self.Qt_noteContent.setFocus() self.Qt_noteContent.selectAll() self.Qt_noteContent.SIGNAL_return.connect(self.createNoteSlot) layout.setContentsMargins(0, 0, 0, 0) layout.addLayout(layoutContainer) layout.addWidget(self.Qt_noteContent) layout.addLayout(self.attachmentLayout) if self.data: for attachementFile in self.data["queriedAttachement"]: labelImage = PicButton(attachementFile["fileOnDisk"], overImageName="magnifier.png", parent=self) labelImage.SIGNAL_imageClicked.connect(self.showImageDisplay) self.attachmentLayout.addWidget(labelImage) else: attachButton = QtGui.QPushButton(parent=self) attachmentPixmap = QtGui.QPixmap( getRessources("note_attachment.png")) attachementScaled = attachmentPixmap.scaled( 32, 32, QtCore.Qt.KeepAspectRatio) attachButton.setIcon(QtGui.QIcon(attachementScaled)) attachButton.clicked.connect(self.addAttachment) screenShotButton = QtGui.QPushButton(parent=self) attachmentPixmap = QtGui.QPixmap( getRessources("note_screenShot.png")) attachementScaled = attachmentPixmap.scaled( 32, 32, QtCore.Qt.KeepAspectRatio) screenShotButton.setIcon(QtGui.QIcon(attachementScaled)) screenShotButton.clicked.connect(self.addScreenShot) self.attachmentLayout.addWidget(screenShotButton) self.attachmentLayout.addWidget(attachButton) replyButton = None if dataType == "Reply": replyButton = QtGui.QPushButton("Reply", parent=self) replyButton.clicked.connect(self.replyNoteSlot) #replyButton.setStyleSheet("QPushButton {border: 1px solid #199909;border-radius: 6px;background-color: #116a06;}") replyButton.setMinimumHeight(18) replyButton.setStyleSheet( "QPushButton {border: 1px solid #39B3FF;border-radius: 6px;background-color: #474747;background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 0.67, stop: 0 #6B6B6B, stop: 1 #474747);}" ) self.statusLabel = QtGui.QComboBox(parent=self) self.statusLabel.addItem( QtGui.QIcon(getRessources("status_opn.png")), "Open") self.statusLabel.addItem( QtGui.QIcon(getRessources("status_clsd.png")), "closed") self.statusLabel.addItem( QtGui.QIcon(getRessources("status_ip.png")), "In progress") if self.noteData[0]["sg_status_list"] == "opn": self.statusLabel.setCurrentIndex(0) elif self.noteData[0]["sg_status_list"] == "clsd": self.statusLabel.setCurrentIndex(1) elif self.noteData[0]["sg_status_list"] == "ip": self.statusLabel.setCurrentIndex(2) self.statusLabel.setMaximumWidth(100) #self.connect(self.statusLabel, QtCore.SIGNAL("currentIndexChanged(int)"), self.updateNodeDataStatus ) self.statusLabel.currentIndexChanged.connect( self.updateNodeDataStatus) layout.addWidget(self.statusLabel) layout.addWidget(replyButton) elif dataType == "Note": #self.linkFilterWidget = comboFilterWidget2() replyButton = QtGui.QPushButton("Create Note", parent=self) replyButton.setMinimumHeight(18) replyButton.setStyleSheet( "QPushButton {border: 1px solid #39B3FF;border-radius: 6px;background-color: #3990CA;background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 0.67, stop: 0 #3990CA, stop: 1 #215272);}" ) replyButton.clicked.connect(self.createNoteSlot) layout.addWidget(replyButton) self.attachmentLayout.addStretch() style = "background-color: red;"
def __init__(self, data, comboFilterWidgetList=None, threadQueue=None, sgtkQueue=None, color=False, parent=None): super(noteLayoutWidget, self).__init__(parent) self.top_assigneesFilterWidget = None self.taskFilterWidget = None self.shotWidgetItemList = None self.my_versionWidgetCombo = None self.queue = None self.myNoteBox = None self.receiveFocusWidget = None self.shotList = None self.getFocus = True self.data = data self.multiDisplay = False if self.data: if len(self.data) > 1: self.multiDisplay = True self.replyListWidget = None # hold Replies, if any ! layout = QtGui.QVBoxLayout() self.setLayout(layout) titleGridLayout = QtGui.QGridLayout() titleGridLayout.setColumnStretch(0, False) titleGridLayout.setColumnStretch(1, False) self.titreLabel = None if self.data: if not self.multiDisplay: pass elif comboFilterWidgetList[0]: self.top_assigneesFilterWidget = comboFilterWidgetList[5] self.queue = threadQueue self.sgtkQueue = sgtkQueue idx = 0 self.shotComboBox = comboFilterWidget3(comboFilterWidgetList[4], comboFilterWidgetList[5], parent=self) self.shotComboBox.fillItem(comboFilterWidgetList[0]) self.shotWidgetItemList = comboFilterWidgetList[0] fct = lambda idx, getFocus, shotItemList=comboFilterWidgetList[ 0], top_taskFilterWidget=comboFilterWidgetList[ 1], top_assigneesFilterWidget=comboFilterWidgetList[ 5]: self.refillTaskFilter(idx, getFocus, shotItemList, top_taskFilterWidget, top_assigneesFilterWidget) self.shotComboBox.SIGNAL_currentIndexChanged.connect(fct) self.shotComboBox.SIGNAL_filterResultEmpty.connect( self.disableNoteLayout) titleGridLayout.addWidget(QtGui.QLabel("Shot/Asset", parent=self), idx, 0) titleGridLayout.addWidget(self.shotComboBox, idx, 1) idx += 1 typeDict, entriesDictList = comboFilterWidgetList[1].retrieveDict() myShotItem = comboFilterWidgetList[0][0] assignedToTxt = comboFilterWidgetList[5].widget.text() if not isinstance(assignedToTxt, unicode): assignedToTxt = unicode(assignedToTxt.toUtf8(), "utf-8") availableTaskList = myShotItem["sgAvailableTaskList"] if not assignedToTxt == "": availableTaskList = [] for tasks in myShotItem["sgtaskDictWithAssignees"].keys(): #print assignedToTxt.upper() , " ".join(comboFilterWidgetList[0][idx]["sgtaskDictWithAssignees"][tasks]).upper() if assignedToTxt.upper() in " ".join( myShotItem["sgtaskDictWithAssignees"] [tasks]).upper(): availableTaskList.append(tasks) checkNumber = 0 for idx in range(len(entriesDictList)): if entriesDictList[idx]["text"] == "NoTask": if not checkNumber: entriesDictList[idx]["checked"] = True continue if not availableTaskList: if "NoTask" in entriesDictList[idx]["values"]: entriesDictList[idx]["checked"] = True else: entriesDictList[idx]["checked"] = False else: test = False for availableTask in availableTaskList: if availableTask in entriesDictList[idx]["values"]: test = True if entriesDictList[idx]["checked"] == True and not test: entriesDictList[idx]["checked"] = False if entriesDictList[idx]["checked"] == True: checkNumber += 1 self.taskFilterWidget = comboFilterWidget2(typeDict, entriesDictList, showLabel=False, parent=self) self.taskFilterWidget.widget.currentIndexChanged.connect( self.getVersion) if self.taskFilterWidget.widget.count() == 1: self.taskFilterWidget.drawComplex = False self.shotList = comboFilterWidgetList[0] comboFilterWidgetList[1].SIGNAL_TaskcurrentIndexesChanged.connect( self.filterTasks) titleGridLayout.addWidget(QtGui.QLabel("Task", parent=self), idx, 0) titleGridLayout.addWidget(self.taskFilterWidget, idx, 1) idx += 1 self.typeFilterWidget = comboFilterWidget2( *comboFilterWidgetList[2].retrieveDict(), showLabel=False, parent=self) if self.typeFilterWidget.widget.count() == 1: self.typeFilterWidget.drawComplex = False comboFilterWidgetList[2].SIGNAL_currentIndexesChanged.connect( self.typeFilterWidget.setMyCurrentFromIndexes) titleGridLayout.addWidget(QtGui.QLabel("Type", parent=self), idx, 0) titleGridLayout.addWidget(self.typeFilterWidget, idx, 1) idx += 1 self.statusFilterWidget = comboFilterWidget2( *comboFilterWidgetList[3].retrieveDict(), showLabel=False, parent=self) if self.statusFilterWidget.widget.count() == 1: self.statusFilterWidget.drawComplex = False comboFilterWidgetList[3].SIGNAL_currentIndexesChanged.connect( self.statusFilterWidget.setMyCurrentFromIndexes) titleGridLayout.addWidget(QtGui.QLabel("Status", parent=self), idx, 0) titleGridLayout.addWidget(self.statusFilterWidget, idx, 1) self.titreLabel = QtGui.QLineEdit("", parent=self) self.titreLabel.hide() self.my_versionWidgetCombo = versionWidgetCombo(parent=self) self.my_versionWidgetCombo.versionQtCombo.currentIndexChanged.connect( self.setTextEditOnFocus) layout.addWidget(self.my_versionWidgetCombo) # separator line = QtGui.QFrame(parent=self) line.setFrameShape(QtGui.QFrame.HLine) line.setFrameShadow(QtGui.QFrame.Sunken) layout.addWidget(line) else: selectLabel = QtGui.QLabel( "<font color:#F0F0F0><b> Select a Shot or a Note </b></font>", parent=self) selectLabel.setAlignment(QtCore.Qt.AlignCenter) font = selectLabel.font() font.setPointSize(10) selectLabel.setFont(font) layout.addWidget(selectLabel) self.statusLabel = None if self.data: if not self.multiDisplay: noteLinkVersion = [] if self.data[0].has_key("note_links"): for linksDict in self.data[0]["note_links"]: if linksDict["type"] == "Version": noteLinkVersion.append(linksDict) if noteLinkVersion: versionLayout = QtGui.QHBoxLayout() versionLayout.setContentsMargins(0, 0, 0, 0) layout.addLayout(versionLayout) idx = 0 for versionDict in noteLinkVersion: taskIcon = None if versionDict["sg_task"]: taskIcon = comboFilterWidgetList[ 1].retrieveIconFromValue( versionDict["sg_task"]["name"]) if idx == 0 and len(noteLinkVersion) > 1: shortCutCodeList = ["Ctrl+Space"] else: shortCutCodeList = ["Ctrl+Alt+Space"] versionLayout.addWidget( versionWidget(versionDict, shortCutCodeList=shortCutCodeList, taskIcon=taskIcon, parent=self)) idx += 1 if len(noteLinkVersion) == 2: labelArrow = QtGui.QLabel(parent=self) labelArrow.setPixmap( QtGui.QPixmap(getRessources("versionArrow.png"))) versionLayout.insertWidget(1, labelArrow) if noteLinkVersion: line = QtGui.QFrame(parent=self) line.setFrameShape(QtGui.QFrame.HLine) line.setFrameShadow(QtGui.QFrame.Sunken) layout.addWidget(line) # Note content contentLayout = QtGui.QHBoxLayout() if self.data: if not self.multiDisplay: contentLayout.addWidget( noteContentLayout("Note", self.data[0], noteData=None, parent=self)) elif comboFilterWidgetList[0]: my_noteContentLayout = noteContentLayout("Note", None, noteData=None, parent=self) my_noteContentLayout.SIGNAL_send_NoteContent.connect(self.todo) self.receiveFocusWidget = my_noteContentLayout.Qt_noteContent contentLayout.addWidget(my_noteContentLayout) if self.data: if not self.multiDisplay: tmpLayout = QtGui.QVBoxLayout() tmpLayout.setContentsMargins(0, 0, 0, 0) #tmpLayout.addLayout(titleGridLayout ) tmpLayout.addLayout(contentLayout) tmpLayout.addStretch() w = QtGui.QWidget(parent=self) w.setLayout(tmpLayout) myScrollNote = QtGui.QScrollArea(parent=self) myScrollNote.setHorizontalScrollBarPolicy( QtCore.Qt.ScrollBarAlwaysOff) myScrollNote.setWidget(w) myScrollNote.setWidgetResizable(True) style = "QScrollArea {border: 0px none gray; border-radius: 0px;}" myScrollNote.setStyleSheet(style) self.myNoteBox = QtGui.QGroupBox(str(self.data[0]["subject"])) self.myNoteBox.setCheckable(True) self.myNoteBox.installEventFilter(self) myNoteBox_layout = QtGui.QHBoxLayout() myNoteBox_layout.setContentsMargins(5, 10, 0, 0) myNoteBox_layout.addWidget(myScrollNote) self.myNoteBox.setLayout(myNoteBox_layout) borderColor = "#CCCCCC" if self.data[0]["sg_status_list"] == "opn": borderColor = "#30A6E3" elif self.data[0]["sg_status_list"] == "ip": borderColor = "#FFC31E" style = "QGroupBox { border: 2px solid " + borderColor + "; border-radius: 5px; margin-top: 2ex; } " style += "QGroupBox::title { subcontrol-origin: margin; subcontrol-position: top center; padding: 0 3px; color: " + borderColor + " ;} " style += "QGroupBox::indicator { width: 20px; height: 20px;} " p = getRessources("status_" + self.data[0]["sg_status_list"] + ".png").replace("\\", "/") style += "QGroupBox::indicator:checked { image: url('" + p + "'); }" self.myNoteBox.setStyleSheet(style) layout.addWidget(self.myNoteBox) else: layout.addLayout(titleGridLayout) layout.addLayout(contentLayout) # Reply widget if self.data: if not self.multiDisplay: myEmptyNewReply = noteContentLayout("Reply", None, noteData=self.data, parent=self) self.receiveFocusWidget = myEmptyNewReply.Qt_noteContent myEmptyNewReply.SIGNAL_createReply.connect(self.replyNoteSlot) replyDataList = self.data[0]["queriedReplies"] if replyDataList: #[0,1,2] myform = QtGui.QVBoxLayout() myReplyBox = QtGui.QGroupBox() style = " QGroupBox { background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 rgba(255, 255, 255, 0%), stop: 1 rgba(0, 0, 0, 33%) ); border: 0px none gray; border-radius: 0px}" myReplyBox.setAttribute(QtCore.Qt.WA_TranslucentBackground, True) myReplyBox.setStyleSheet(style) myReplyBox.setLayout(myform) scroll = QtGui.QScrollArea(parent=self) scroll.setWidget(myReplyBox) scroll.setWidgetResizable(True) style = "QScrollArea {border: 0px none gray; border-radius: 0px;}" scroll.setStyleSheet(style) scroll.setHorizontalScrollBarPolicy( QtCore.Qt.ScrollBarAlwaysOff) moveScrollBarToBottom = lambda min, max: scroll.verticalScrollBar( ).setValue(max) scroll.verticalScrollBar().rangeChanged.connect( moveScrollBarToBottom) for replyData in replyDataList: myform.addWidget( noteContentLayout("Reply", replyData, noteData=None, parent=self)) line = QtGui.QFrame(parent=self) line.setFrameShape(QtGui.QFrame.HLine) line.setFrameShadow(QtGui.QFrame.Sunken) myform.addWidget(line) replyBox = QtGui.QGroupBox(" Replies ") replyBox_layout = QtGui.QHBoxLayout() replyBox_layout.setContentsMargins(0, 10, 0, 0) replyBox.setLayout(replyBox_layout) replyBox_layout.addWidget(scroll) style = "QGroupBox { border: 2px solid gray; border-radius: 5px; margin-top: 2ex; } " style += "QGroupBox::title { subcontrol-origin: margin; subcontrol-position: top center; padding: 0 3px; }" replyBox.setStyleSheet(style) layout.addWidget(replyBox) layout.addWidget(myEmptyNewReply) else: myEmptyNewReply = noteContentLayout("Reply", None, noteData=self.data, parent=self) myEmptyNewReply.SIGNAL_createMultiReply.connect( self.multiReplyNoteSlot) layout.addWidget(myEmptyNewReply)
def __init__(self, parent=None): super(ModuleInfo, self).__init__(parent=parent) self._spec = None self._default_icon = QtGui.QPixmap(res.get_path('module_256.png')) self.icon = QtGui.QLabel() self.icon.setFixedSize(48, 48) self.icon.setScaledContents(True) self.icon.setPixmap(self._default_icon) self.name = QtGui.QLabel('Module Info') self.name.setAlignment(QtCore.Qt.AlignVCenter | QtCore.Qt.AlignLeft) self.description = QtGui.QLabel('') self.description.setMinimumHeight(24) self.description.setWordWrap(True) self.author = QtGui.QLabel('Author') self.author.setWordWrap(True) self.email = QtGui.QLabel('Email') self.email.setWordWrap(True) self.version = QtGui.QLabel('Version') self.size = QtGui.QLabel('Size') self.requires = MinimizedList(parent=self) self.requires.setSelectionMode(self.requires.NoSelection) self.requires.setFocusPolicy(QtCore.Qt.NoFocus) self.requires_copy = QtGui.QToolButton( icon=QtGui.QIcon(res.get_path('copy.png'))) self.requires_copy.setIconSize(QtCore.QSize(10, 10)) self.requires_copy.setToolTip('Copy requires to clipboard.') self.requires_copy.clicked.connect( lambda: self.copy_to_clipboard('requires')) self.environment = EnvTree('module_environment', {}, parent=self) self.environment.setSizePolicy( QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding, ) self.environment.setFocusPolicy(QtCore.Qt.NoFocus) self.environment.setSelectionMode(self.environment.NoSelection) self.environment_copy = QtGui.QToolButton( icon=QtGui.QIcon(res.get_path('copy.png'))) self.environment_copy.setIconSize(QtCore.QSize(10, 10)) self.environment_copy.setToolTip('Copy environment to clipboard.') self.environment_copy.clicked.connect( lambda: self.copy_to_clipboard('environment')) header_layout = QtGui.QHBoxLayout() header_layout.addWidget(self.icon) header_layout.addWidget(self.name) info_grid = QtGui.QGridLayout() info_grid.setColumnStretch(1, 1) info_grid.setRowStretch(7, 1) for i in range(7): info_grid.setRowMinimumHeight(i, 10) info_grid.addWidget(FormLabel('version:'), 0, 0) info_grid.addWidget(self.version, 0, 1) info_grid.addWidget(FormLabel('author:'), 1, 0) info_grid.addWidget(self.author, 1, 1) info_grid.addWidget(FormLabel('email:'), 2, 0) info_grid.addWidget(self.email, 2, 1) info_grid.addWidget(FormLabel('size:'), 3, 0) info_grid.addWidget(self.size, 3, 1) info_grid.addWidget(FormLabel('requires:'), 4, 0) info_grid.addWidget(self.requires_copy, 4, 1, alignment=QtCore.Qt.AlignRight) info_grid.addWidget(self.requires, 5, 0, 1, 2) info_grid.addWidget(FormLabel('environment:'), 6, 0) info_grid.addWidget(self.environment_copy, 6, 1, alignment=QtCore.Qt.AlignRight) info_grid.addWidget(self.environment, 7, 0, 1, 2) info_widget = QtGui.QWidget(parent=self) info_widget.setLayout(info_grid) self.info = QtGui.QScrollArea(parent=self) self.info.setFocusPolicy(QtCore.Qt.NoFocus) self.info.setWidgetResizable(True) self.info.setWidget(info_widget) self.info.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff) self.info.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAsNeeded) self.layout = QtGui.QVBoxLayout() self.layout.setContentsMargins(0, 0, 0, 0) self.layout.setAlignment(QtCore.Qt.AlignTop) self.layout.addLayout(header_layout) self.layout.addWidget(self.description) self.layout.addWidget(self.info) self.setLayout(self.layout) self.setMinimumWidth(300) self.clear_module_spec()
def _populate_ui(self): # --- query some data # query the full site schema from shotgun self._schema = self._app.shotgun.schema_read() # --- build the ui components select_lbl = QtGui.QLabel("Select an Entity type from the list:") # populate a combo box with all the entity types (the keys) self._entity_type_combo = QtGui.QComboBox(self) self._entity_type_combo.addItems(sorted(self._schema.keys())) field_lbl = QtGui.QLabel("Select a Field name from the list:") self._field_name_combo = QtGui.QComboBox(self) self._field_name_combo.setSizeAdjustPolicy( QtGui.QComboBox.AdjustToContents) # get_type_display_name type_display_lbl = MethodLabel("get_type_display_name():") self._type_display_lbl = ValueLabel() # get_field_display_name field_display_lbl = MethodLabel("get_field_display_name():") self._field_display_lbl = ValueLabel() # get_empty_phrase empty_phrase_lbl = MethodLabel("get_empty_phrase():") self._empty_phrase_lbl = ValueLabel() # get_entity_type_icon entity_type_icon = MethodLabel("get_entity_type_icon():") self._entity_type_icon = ValueLabel() # get_entity_type_icon_url entity_type_icon_url = MethodLabel("get_entity_type_icon_url():") self._entity_type_icon_url = ValueLabel() # get_valid_values valid_values_lbl = MethodLabel("get_valid_values():") self._valid_values_list = QtGui.QListWidget() self._valid_values_list.setMaximumHeight(100) # field_is_editable field_is_editable_lbl = MethodLabel("field_is_editable():") self._field_is_editable_lbl = ValueLabel() # field_is_visible field_is_visible_lbl = MethodLabel("field_is_visible():") self._field_is_visible_lbl = ValueLabel() # --- layout the components row = 0 layout = QtGui.QGridLayout(self) layout.addWidget(select_lbl, row, 0, QtCore.Qt.AlignRight) layout.addWidget(self._entity_type_combo, row, 1, QtCore.Qt.AlignLeft) row += 1 layout.addWidget(type_display_lbl, row, 0, QtCore.Qt.AlignRight) layout.addWidget(self._type_display_lbl, row, 1, QtCore.Qt.AlignLeft) row += 1 layout.addWidget(entity_type_icon, row, 0, QtCore.Qt.AlignRight) layout.addWidget(self._entity_type_icon, row, 1, QtCore.Qt.AlignLeft) row += 1 layout.addWidget(entity_type_icon_url, row, 0, QtCore.Qt.AlignRight) layout.addWidget(self._entity_type_icon_url, row, 1, QtCore.Qt.AlignLeft) row += 1 layout.addWidget(field_lbl, row, 0, QtCore.Qt.AlignRight) layout.addWidget(self._field_name_combo, row, 1, QtCore.Qt.AlignLeft) row += 1 layout.addWidget(field_display_lbl, row, 0, QtCore.Qt.AlignRight) layout.addWidget(self._field_display_lbl, row, 1, QtCore.Qt.AlignLeft) row += 1 layout.addWidget(empty_phrase_lbl, row, 0, QtCore.Qt.AlignRight) layout.addWidget(self._empty_phrase_lbl, row, 1, QtCore.Qt.AlignLeft) row += 1 layout.addWidget(valid_values_lbl, row, 0, QtCore.Qt.AlignRight | QtCore.Qt.AlignTop) layout.addWidget(self._valid_values_list, row, 1, QtCore.Qt.AlignLeft) row += 1 layout.addWidget(field_is_editable_lbl, row, 0, QtCore.Qt.AlignRight) layout.addWidget(self._field_is_editable_lbl, row, 1, QtCore.Qt.AlignLeft) row += 1 layout.addWidget(field_is_visible_lbl, row, 0, QtCore.Qt.AlignRight) layout.addWidget(self._field_is_visible_lbl, row, 1, QtCore.Qt.AlignLeft) row += 1 # ---- connect some signals # handle entity type changes self._entity_type_combo.activated[str].connect( self._on_entity_type_combo_activated) # handle field name changes self._field_name_combo.activated[str].connect( self._on_field_name_combo_activated) # ---- populate the defaults # entity entity_type_index = self._entity_type_combo.findText( DEFAULT_ENTITY_TYPE) if entity_type_index > -1: self._entity_type_combo.setCurrentIndex(entity_type_index) self._on_entity_type_combo_activated(DEFAULT_ENTITY_TYPE) # field field_name_index = self._field_name_combo.findText(DEFAULT_FIELD_NAME) if field_name_index > -1: self._field_name_combo.setCurrentIndex(field_name_index) self._on_field_name_combo_activated(DEFAULT_FIELD_NAME)
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, Preferences): Preferences.setObjectName("Preferences") Preferences.resize(328, 80) sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( Preferences.sizePolicy().hasHeightForWidth()) Preferences.setSizePolicy(sizePolicy) Preferences.setMinimumSize(QtCore.QSize(328, 80)) Preferences.setMaximumSize(QtCore.QSize(328, 80)) Preferences.setModal(True) self.gridLayout = QtGui.QGridLayout(Preferences) self.gridLayout.setObjectName("gridLayout") self.auto_start_label = QtGui.QLabel(Preferences) self.auto_start_label.setEnabled(True) sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.auto_start_label.sizePolicy().hasHeightForWidth()) self.auto_start_label.setSizePolicy(sizePolicy) self.auto_start_label.setMaximumSize(QtCore.QSize(16777215, 18)) self.auto_start_label.setAlignment(QtCore.Qt.AlignBottom | QtCore.Qt.AlignLeading | QtCore.Qt.AlignLeft) self.auto_start_label.setObjectName("auto_start_label") self.gridLayout.addWidget(self.auto_start_label, 0, 1, 1, 3) self.auto_start_checkbox = QtGui.QCheckBox(Preferences) self.auto_start_checkbox.setEnabled(True) self.auto_start_checkbox.setText("") self.auto_start_checkbox.setObjectName("auto_start_checkbox") self.gridLayout.addWidget(self.auto_start_checkbox, 0, 0, 1, 1) self.horizontalLayout_3 = QtGui.QHBoxLayout() self.horizontalLayout_3.setSpacing(3) self.horizontalLayout_3.setObjectName("horizontalLayout_3") self.hotkey = HotKeyEditor(Preferences) self.hotkey.setText("") self.hotkey.setFrame(False) self.hotkey.setObjectName("hotkey") self.horizontalLayout_3.addWidget(self.hotkey) self.hotkey_clear = QtGui.QPushButton(Preferences) self.hotkey_clear.setEnabled(True) sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.hotkey_clear.sizePolicy().hasHeightForWidth()) self.hotkey_clear.setSizePolicy(sizePolicy) self.hotkey_clear.setMaximumSize(QtCore.QSize(16, 16)) self.hotkey_clear.setText("") icon = QtGui.QIcon() icon.addPixmap(QtGui.QPixmap(":/tk-desktop/x.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.hotkey_clear.setIcon(icon) self.hotkey_clear.setIconSize(QtCore.QSize(8, 8)) self.hotkey_clear.setAutoDefault(False) self.hotkey_clear.setObjectName("hotkey_clear") self.horizontalLayout_3.addWidget(self.hotkey_clear) self.gridLayout.addLayout(self.horizontalLayout_3, 1, 2, 1, 2) self.hotkey_label = QtGui.QLabel(Preferences) self.hotkey_label.setEnabled(True) sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.hotkey_label.sizePolicy().hasHeightForWidth()) self.hotkey_label.setSizePolicy(sizePolicy) self.hotkey_label.setMaximumSize(QtCore.QSize(16777215, 18)) self.hotkey_label.setTextInteractionFlags(QtCore.Qt.NoTextInteraction) self.hotkey_label.setObjectName("hotkey_label") self.gridLayout.addWidget(self.hotkey_label, 1, 1, 1, 1) self.gridLayout.setColumnStretch(3, 1) self.retranslateUi(Preferences) QtCore.QMetaObject.connectSlotsByName(Preferences)
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)
def initUI(self): # --- initiate ui components btn_publish_files = QtGui.QPushButton('Publish Files') lbl_folder = QtGui.QLabel('Folder:') self._lbl_display_folder = QtGui.QLineEdit('nothing selected') self._lbl_display_folder.setReadOnly(True) btn_browse_files = QtGui.QPushButton('...') btn_create_assets = QtGui.QPushButton('Create Assets') btn_create_sheet = QtGui.QPushButton('Create Sheet') lbl_asset_type = QtGui.QLabel('Type:') self._combo_entity_type = QtGui.QComboBox(self) result = sg.schema_field_read("Asset", "sg_asset_type") self._combo_entity_type.addItems(result['sg_asset_type']['properties']['valid_values']['value']) lbl_parent_assets = QtGui.QLabel('Parent Asset:') self._txt_parent_assets = QtGui.QLineEdit('Assets') lbl_asset_tags = QtGui.QLabel('Tags:') self._txt_asset_tag = QtGui.QLineEdit('Tags') completer = Completer_new() completer.setCompletionMode(QtGui.QCompleter.PopupCompletion) completer.setCaseSensitivity(QtCore.Qt.CaseInsensitive) self._txt_asset_tag.setCompleter(completer) model = QtGui.QStringListModel() completer.setModel(model) filters = [['id', 'greater_than', 0]] fields = ['name'] temp_tag_list = sg.find('Tag', filters, fields) tag_list = [] for t in temp_tag_list: tag_list.append(t['name']) model.setStringList(tag_list) # --- build the ui components layout = QtGui.QGridLayout(self) layout.setHorizontalSpacing(5) layout.setVerticalSpacing(6) # addWidget (self, QWidget, int row, int column, int rowSpan, int columnSpan, Qt.Alignment alignment = 0) layout.addWidget(lbl_folder, 0, 0) layout.addWidget(self._lbl_display_folder, 0, 1, 1, 4) layout.addWidget(btn_browse_files, 0, 5) row = 1 layout.addWidget(btn_create_sheet, row, 1) layout.addWidget(btn_create_assets, row, 2) row += 1 layout.addWidget(lbl_asset_type, row, 0) # layout.addWidget(self.txt_type, row, 1, 1, 5) layout.addWidget(self._combo_entity_type, row, 1, 1, 5) row += 1 layout.addWidget(lbl_parent_assets, row, 0) layout.addWidget(self._txt_parent_assets, row, 1, 1, 5) row += 1 layout.addWidget(lbl_asset_tags, row, 0) layout.addWidget(self._txt_asset_tag, row, 1, 1, 5) row += 1 layout.addWidget(btn_publish_files) logging_widget = QtGui.QSplitter() log_handler = QPlainTextEditLogger(logging_widget) logger.addHandler(log_handler) layout.addWidget(logging_widget, row, 1, 5, 5) logger.info('tk-legend-shotgun-publish running') # ---- connect some signals btn_publish_files.clicked.connect(self._publish_files) btn_browse_files.clicked.connect(self._browse_files) btn_create_sheet.clicked.connect(self._create_sheet) btn_create_assets.clicked.connect(self._create_assets) self.setGeometry(10, 20, 500, 100) self.setWindowTitle('Legend Shotgun Publish') # Remember this to remind yourself not to mess up live scripts self.setLayout(layout) self.show()
def __init__(self, parent=None): super(Client, self).__init__(parent) hostLabel = QtGui.QLabel("&Server name:") portLabel = QtGui.QLabel("S&erver port:") methodLabel = QtGui.QLabel("Method:") paramsLabel = QtGui.QLabel("Params:") self.hostLineEdit = QtGui.QLineEdit("127.0.0.1") self.portLineEdit = QtGui.QLineEdit("55893") self.portLineEdit.setValidator(QtGui.QIntValidator(1, 65535, self)) self.paramsLineEdit = QtGui.QLineEdit("{}") self.methodCombo = QtGui.QComboBox() self.resultsTextEdit = QtGui.QTextEdit("") hostLabel.setBuddy(self.hostLineEdit) portLabel.setBuddy(self.portLineEdit) paramsLabel.setBuddy(self.paramsLineEdit) methodLabel.setBuddy(self.methodCombo) self.statusLabel = QtGui.QLabel("Ready.") self.sendCommandButton = QtGui.QPushButton("Send") self.sendCommandButton.setDefault(True) self.sendCommandButton.setEnabled(False) quitButton = QtGui.QPushButton("Quit") self.connectButton = QtGui.QPushButton("Connect") buttonBox = QtGui.QDialogButtonBox() buttonBox.addButton( self.connectButton, QtGui.QDialogButtonBox.ActionRole ) buttonBox.addButton( self.sendCommandButton, QtGui.QDialogButtonBox.ActionRole ) buttonBox.addButton(quitButton, QtGui.QDialogButtonBox.RejectRole) self.hostLineEdit.textChanged.connect(self.enablesendCommandButton) self.portLineEdit.textChanged.connect(self.enablesendCommandButton) self.sendCommandButton.clicked.connect(self.sendCommand) self.connectButton.clicked.connect(self.connect_to_host) quitButton.clicked.connect(self.close) mainLayout = QtGui.QGridLayout() mainLayout.addWidget(hostLabel, 0, 0) mainLayout.addWidget(self.hostLineEdit, 0, 1) mainLayout.addWidget(portLabel, 1, 0) mainLayout.addWidget(self.portLineEdit, 1, 1) mainLayout.addWidget(methodLabel, 2, 0) mainLayout.addWidget(self.methodCombo, 2, 1) mainLayout.addWidget(paramsLabel, 3, 0) mainLayout.addWidget(self.paramsLineEdit, 3, 1) mainLayout.addWidget(self.resultsTextEdit, 4, 1) mainLayout.addWidget(self.statusLabel, 5, 0, 1, 2) mainLayout.addWidget(buttonBox, 6, 0, 1, 2) self.setLayout(mainLayout) self.setWindowTitle("Toon Boom Harmony Engine Client") self.portLineEdit.setFocus() self.client = QTcpSocketClient(parent=self)