def __init__(self, parent=None): super(ProgressDialog, self).__init__(parent) # Window options self.setWindowTitle('tk-cpenv') self.setWindowIcon(QtGui.QIcon(res.get_path('module_dark_256.png'))) self.setWindowFlags(self.windowFlags() | QtCore.Qt.WindowStaysOnTopHint) self.hide_timer = None # Layout widgets self.label = QtGui.QLabel('Starting...') self.progress = QtGui.QProgressBar() self.progress.setRange(0, 100) self.progress.setTextVisible(True) self.progress.setAlignment(QtCore.Qt.AlignCenter) self.progress.setFormat('starting') self.frame = QtGui.QLabel() self.button = QtGui.QPushButton('Cancel') self.button.setSizePolicy( QtGui.QSizePolicy.Maximum, QtGui.QSizePolicy.Maximum, ) self.button.clicked.connect(self.cancel) self.layout = QtGui.QVBoxLayout() self.layout.addWidget(self.label) self.layout.addWidget(self.progress) self.layout.addWidget(self.frame) self.layout.addWidget(self.button) self.layout.setAlignment(self.button, QtCore.Qt.AlignRight) self.setLayout(self.layout)
def __init__(self): """ Constructor """ # first, call the base class and let it do its thing. QtGui.QWidget.__init__(self) styleButton = " QPushButton { border: none;margin: 0px;padding: 0px; }" styleButton += " QPushButton:hover{border: 1px solid #00BFFF;}" # most of the useful accessors are available through the Application class instance # it is often handy to keep a reference to this. You can get it via the following method: self._app = sgtk.platform.current_bundle() self.addFilterButton = QtGui.QPushButton() self.addFilterButton.setIcon( QtGui.QIcon(QtGui.QPixmap(getIconPath("add.png")))) self.addFilterButton.setStyleSheet(styleButton) self.addFilterButton.setIconSize(QtCore.QSize(15, 15)) # logLabel Layout self.resultLabel = QtGui.QTextEdit( "<font color='#000000'>Results : </font><br><br><br>") # main process Button Layout. self.processButton = QtGui.QPushButton("Start parsing") self.processProgressBar = QtGui.QProgressBar() self.processProgressBar.setFormat("waiting somethign to do") self.processProgressBar.setTextVisible(True) self.processProgressBar.setValue(50) processButtonLayout = QtGui.QHBoxLayout() processButtonLayout.addWidget(self.processButton) processButtonLayout.addWidget(self.processProgressBar) #processButtonLayout.addStretch() # main layout layout = QtGui.QVBoxLayout() # receive parserWidget self.filterlayout = QtGui.QVBoxLayout() layout.addWidget(self.addFilterButton) layout.addLayout(self.filterlayout) layout.addStretch() layout.addWidget(self.resultLabel) layout.addLayout(processButtonLayout) self.setLayout(layout) self.connect_widget() self.finishConstruct_set_ProjectTaskNameList() self.addFilterWidget(QTimeFrom=QtCore.QTime(12, 30, 0), QTimeTo=QtCore.QTime(14, 30, 0), QTimeRem=QtCore.QTime(0, 30, 0), QTimeEvery=QtCore.QTime(0, 50, 0)) self.addFilterWidget(QTimeFrom=QtCore.QTime(0, 0, 0), QTimeTo=QtCore.QTime(23, 59, 59), QTimeRem=QtCore.QTime(1, 30, 0), QTimeEvery=QtCore.QTime(0, 45, 0))
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 __init__(self): """ Constructor """ # first, call the base class and let it do its thing. QtGui.QWidget.__init__(self) logger.info('Launching Shot Comments app...') # create widgets self.button_file_open = QtGui.QPushButton('Select Excel Files') self.button_shotgun_import = QtGui.QPushButton('Shotgun Import') self.label_status = QtGui.QLabel() self.logo_example = QtGui.QLabel() self.progress_bar = QtGui.QProgressBar() self.table = QtGui.QTableWidget() # layout self.vertical_layout_1 = QtGui.QVBoxLayout() self.vertical_layout_2 = QtGui.QVBoxLayout() self.horizontal_layout_1 = QtGui.QHBoxLayout() self.vertical_layout_1.addWidget(self.logo_example) self.vertical_layout_1.addWidget(self.button_file_open) self.vertical_layout_1.addWidget(self.button_shotgun_import) spacerItem = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding) self.vertical_layout_1.addItem(spacerItem) self.vertical_layout_2.addWidget(self.progress_bar) self.vertical_layout_2.addWidget(self.table) self.vertical_layout_2.addWidget(self.label_status) self.horizontal_layout_1.addLayout(self.vertical_layout_1) self.horizontal_layout_1.addLayout(self.vertical_layout_2) # set dialog layout self.setLayout(self.horizontal_layout_1) # size self.button_file_open.setMinimumWidth(80) self.button_file_open.setMaximumWidth(100) size_policy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed) size_policy.setHorizontalStretch(0) size_policy.setVerticalStretch(0) size_policy.setHeightForWidth(self.logo_example.sizePolicy().hasHeightForWidth()) self.logo_example.setSizePolicy(size_policy) self.logo_example.setMaximumSize(QtCore.QSize(256, 256)) self.logo_example.setText("") self.logo_example.setPixmap(QtGui.QPixmap(":/res/sg_logo.png")) self.logo_example.setAlignment(QtCore.Qt.AlignCenter) self.logo_example.setObjectName("logo_example") # connect buttons self.button_file_open.clicked.connect(self._select_files) self.button_shotgun_import.clicked.connect(self._shotgun_import) # self._app.context # self._app.context.user # self._app.engine # self._app.project # self._app.shotgun etc... self._app = sgtk.platform.current_bundle() # data self.default_color = None self.header_list = None self.last_edl_file_path = None self.project = self._app.context.project self.project_name = self.project['name'] self.received_error = False self.table_rows_need_to_be_deleted = False self.user = self._app.context.user self.user_first_name = 'User' if self.user: self.user_first_name = self.user['name'].split()[0] self.wb = None self.ws = None # set-up gui self.button_shotgun_import.hide() self.progress_bar.hide() self.progress_bar.setValue(0) msg = 'Hi {}! Please select one or more excel files...'.format(self.user['name']) self.label_status.setText(unicode(msg)) # sg connection self.sg = self._app.shotgun # thread placeholder self._thread = None msg = 'Shot Comments import app initialize by {}'.format(self.user['name']) logger.info(msg)