Exemplo n.º 1
0
    def __init__(self,  parent=None):
        super(ImageViewer, self).__init__(parent)

        self.printer = QtGui.QPrinter()
        self.scaleFactor = 0.0

        self.imageLabel = lab()
        self.imageLabel.setBackgroundRole(QtGui.QPalette.Base)
        self.imageLabel.setSizePolicy(QtGui.QSizePolicy.Ignored,
                QtGui.QSizePolicy.Ignored)
        self.imageLabel.setScaledContents(True)

        self.scrollArea = QtGui.QScrollArea()
        self.scrollArea.setBackgroundRole(QtGui.QPalette.Dark)
        self.scrollArea.setWidget(self.imageLabel)
        self.setCentralWidget(self.scrollArea)

        self.createActions()
        self.createMenus()

        self.setWindowTitle("Image Viewer")
        self.resize(500, 400)
Exemplo n.º 2
0
    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)
Exemplo n.º 3
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,
                 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)
Exemplo n.º 5
0
    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()
Exemplo n.º 6
0
    def create_ui(self):
        """
        Create a dialog with the list of items received on object initialisation and,
        based on the choice to publish or not, and to reuse or export,
        modify the properties of each item
        """
        # create dialog
        self.dialog = QtGui.QDialog()
        self.dialog.setWindowTitle('%s or Export Channels' % self.reuse_text)
        self.dialog.setMinimumWidth(600)
        # show only title (no close button)
        self.dialog.setWindowFlags(QtCore.Qt.CustomizeWindowHint
                                   | QtCore.Qt.WindowTitleHint)

        main_layout = QtGui.QVBoxLayout(self.dialog)
        # add usage instructions
        instruction_label = QtGui.QLabel(
            "Select the channels to be published.\n"
            "Choose `%s` to %s the channel from previous publish.\n"
            "Choose `Export` to export it from the current Mari session.\n" %
            (self.reuse_text, self.reuse_text))
        instruction_label.setFrameStyle(QtGui.QFrame.StyledPanel)
        instruction_label.setMaximumHeight(60)
        instruction_label.setContentsMargins(1, 5, 1, 5)
        main_layout.addWidget(instruction_label)

        channels_heading_label = QtGui.QLabel("Channels:")
        channels_heading_label.setMaximumHeight(20)
        channels_heading_label.setContentsMargins(1, 5, 1, 5)
        main_layout.addWidget(channels_heading_label)

        # add scroll area for item list
        self.channel_layout = QtGui.QVBoxLayout()
        scroll_widget = QtGui.QWidget()
        scroll_widget.setLayout(self.channel_layout)

        channel_scroll_area = QtGui.QScrollArea()
        channel_scroll_area.setVerticalScrollBarPolicy(
            QtCore.Qt.ScrollBarAlwaysOn)
        channel_scroll_area.setWidgetResizable(True)
        channel_scroll_area.setWidget(scroll_widget)

        main_layout.addWidget(channel_scroll_area)

        # add checkbox per item
        for item in self.items:
            self.add_checkable(item)

        # add select all/none and OK buttons
        select_all_button = QtGui.QPushButton("Select All")
        select_all_button.setMaximumWidth(120)
        select_all_button.clicked.connect(
            lambda: self.set_channel_check_status(True))

        select_none_button = QtGui.QPushButton("Select None")
        select_none_button.setMaximumWidth(120)
        select_none_button.clicked.connect(
            lambda: self.set_channel_check_status(False))

        ok_button = QtGui.QPushButton("OK")
        ok_button.setMinimumWidth(75)
        ok_button.clicked.connect(self.ok_button_cb)

        button_layout = QtGui.QHBoxLayout()
        button_layout.addWidget(select_all_button)
        button_layout.addWidget(select_none_button)
        button_layout.addStretch()
        button_layout.addWidget(ok_button)

        main_layout.addLayout(button_layout)
        self.dialog.exec_()
Exemplo n.º 7
0
    def setupUi(self, DesktopWindow):
        DesktopWindow.setObjectName("DesktopWindow")
        DesktopWindow.resize(427, 715)
        DesktopWindow.setMouseTracking(True)
        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap(":/tk-desktop/default_systray_icon.png"),
                       QtGui.QIcon.Normal, QtGui.QIcon.Off)
        DesktopWindow.setWindowIcon(icon)
        DesktopWindow.setDockNestingEnabled(False)
        DesktopWindow.setUnifiedTitleAndToolBarOnMac(False)
        self.center = QtGui.QWidget(DesktopWindow)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred,
                                       QtGui.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.center.sizePolicy().hasHeightForWidth())
        self.center.setSizePolicy(sizePolicy)
        self.center.setMouseTracking(True)
        self.center.setObjectName("center")
        self.border_layout = QtGui.QVBoxLayout(self.center)
        self.border_layout.setSpacing(0)
        self.border_layout.setContentsMargins(0, 0, 0, 0)
        self.border_layout.setObjectName("border_layout")
        self.banners = QtGui.QWidget(self.center)
        self.banners.setAutoFillBackground(True)
        self.banners.setObjectName("banners")
        self.verticalLayout_4 = QtGui.QVBoxLayout(self.banners)
        self.verticalLayout_4.setSpacing(1)
        self.verticalLayout_4.setContentsMargins(0, 0, 0, 0)
        self.verticalLayout_4.setObjectName("verticalLayout_4")
        self.border_layout.addWidget(self.banners)
        self.header = QtGui.QFrame(self.center)
        self.header.setFrameShape(QtGui.QFrame.NoFrame)
        self.header.setFrameShadow(QtGui.QFrame.Raised)
        self.header.setObjectName("header")
        self.horizontalLayout_2 = QtGui.QHBoxLayout(self.header)
        self.horizontalLayout_2.setSpacing(20)
        self.horizontalLayout_2.setContentsMargins(20, 0, 20, 0)
        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
        self.tabs = QtGui.QHBoxLayout()
        self.tabs.setObjectName("tabs")
        self.horizontalLayout_2.addLayout(self.tabs)
        spacerItem = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding,
                                       QtGui.QSizePolicy.Minimum)
        self.horizontalLayout_2.addItem(spacerItem)
        self.border_layout.addWidget(self.header)
        self.tab_view = QtGui.QStackedWidget(self.center)
        self.tab_view.setObjectName("tab_view")
        self.apps_tab = QtGui.QStackedWidget()
        self.apps_tab.setObjectName("apps_tab")
        self.project_browser_page = QtGui.QWidget()
        self.project_browser_page.setObjectName("project_browser_page")
        self.verticalLayout = QtGui.QVBoxLayout(self.project_browser_page)
        self.verticalLayout.setSpacing(0)
        self.verticalLayout.setContentsMargins(0, 0, 0, 0)
        self.verticalLayout.setObjectName("verticalLayout")
        self.subheader = QtGui.QFrame(self.project_browser_page)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred,
                                       QtGui.QSizePolicy.Minimum)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.subheader.sizePolicy().hasHeightForWidth())
        self.subheader.setSizePolicy(sizePolicy)
        self.subheader.setMaximumSize(QtCore.QSize(16777215, 60))
        self.subheader.setFrameShape(QtGui.QFrame.NoFrame)
        self.subheader.setFrameShadow(QtGui.QFrame.Plain)
        self.subheader.setLineWidth(1)
        self.subheader.setMidLineWidth(0)
        self.subheader.setObjectName("subheader")
        self.horizontalLayout = QtGui.QHBoxLayout(self.subheader)
        self.horizontalLayout.setSpacing(15)
        self.horizontalLayout.setContentsMargins(20, 15, 15, 15)
        self.horizontalLayout.setObjectName("horizontalLayout")
        self.subheader_label = QtGui.QLabel(self.subheader)
        self.subheader_label.setMouseTracking(True)
        self.subheader_label.setFocusPolicy(QtCore.Qt.WheelFocus)
        self.subheader_label.setTextInteractionFlags(
            QtCore.Qt.NoTextInteraction)
        self.subheader_label.setObjectName("subheader_label")
        self.horizontalLayout.addWidget(self.subheader_label)
        spacerItem1 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding,
                                        QtGui.QSizePolicy.Minimum)
        self.horizontalLayout.addItem(spacerItem1)
        self.search_frame = QtGui.QFrame(self.subheader)
        self.search_frame.setFrameShape(QtGui.QFrame.StyledPanel)
        self.search_frame.setFrameShadow(QtGui.QFrame.Raised)
        self.search_frame.setProperty("collapsed", False)
        self.search_frame.setObjectName("search_frame")
        self.horizontalLayout_6 = QtGui.QHBoxLayout(self.search_frame)
        self.horizontalLayout_6.setSpacing(2)
        self.horizontalLayout_6.setContentsMargins(5, 5, 5, 5)
        self.horizontalLayout_6.setObjectName("horizontalLayout_6")
        self.search_magnifier = QtGui.QLabel(self.search_frame)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed,
                                       QtGui.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.search_magnifier.sizePolicy().hasHeightForWidth())
        self.search_magnifier.setSizePolicy(sizePolicy)
        self.search_magnifier.setMaximumSize(QtCore.QSize(17, 17))
        self.search_magnifier.setText("")
        self.search_magnifier.setPixmap(
            QtGui.QPixmap(":/tk-desktop/search_dark.png"))
        self.search_magnifier.setScaledContents(True)
        self.search_magnifier.setObjectName("search_magnifier")
        self.horizontalLayout_6.addWidget(self.search_magnifier)
        self.search_text = QtGui.QLineEdit(self.search_frame)
        self.search_text.setObjectName("search_text")
        self.horizontalLayout_6.addWidget(self.search_text)
        self.search_button = QtGui.QPushButton(self.search_frame)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed,
                                       QtGui.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.search_button.sizePolicy().hasHeightForWidth())
        self.search_button.setSizePolicy(sizePolicy)
        self.search_button.setMaximumSize(QtCore.QSize(17, 17))
        self.search_button.setFocusPolicy(QtCore.Qt.NoFocus)
        self.search_button.setText("")
        icon1 = QtGui.QIcon()
        icon1.addPixmap(QtGui.QPixmap(":/tk-desktop/icon_inbox_clear.png"),
                        QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.search_button.setIcon(icon1)
        self.search_button.setIconSize(QtCore.QSize(17, 17))
        self.search_button.setFlat(True)
        self.search_button.setObjectName("search_button")
        self.horizontalLayout_6.addWidget(self.search_button)
        self.horizontalLayout.addWidget(self.search_frame)
        self.verticalLayout.addWidget(self.subheader)
        self.projects = ActionListView(self.project_browser_page)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.MinimumExpanding,
                                       QtGui.QSizePolicy.MinimumExpanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.projects.sizePolicy().hasHeightForWidth())
        self.projects.setSizePolicy(sizePolicy)
        self.projects.setMouseTracking(True)
        self.projects.setFocusPolicy(QtCore.Qt.NoFocus)
        self.projects.setFrameShape(QtGui.QFrame.NoFrame)
        self.projects.setFrameShadow(QtGui.QFrame.Plain)
        self.projects.setLineWidth(0)
        self.projects.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAsNeeded)
        self.projects.setAutoScroll(False)
        self.projects.setEditTriggers(QtGui.QAbstractItemView.NoEditTriggers)
        self.projects.setProperty("showDropIndicator", False)
        self.projects.setSelectionMode(QtGui.QAbstractItemView.SingleSelection)
        self.projects.setVerticalScrollMode(
            QtGui.QAbstractItemView.ScrollPerPixel)
        self.projects.setMovement(QtGui.QListView.Static)
        self.projects.setFlow(QtGui.QListView.LeftToRight)
        self.projects.setProperty("isWrapping", True)
        self.projects.setResizeMode(QtGui.QListView.Adjust)
        self.projects.setLayoutMode(QtGui.QListView.SinglePass)
        self.projects.setSpacing(5)
        self.projects.setViewMode(QtGui.QListView.IconMode)
        self.projects.setUniformItemSizes(False)
        self.projects.setSelectionRectVisible(False)
        self.projects.setObjectName("projects")
        self.verticalLayout.addWidget(self.projects)
        self.apps_tab.addWidget(self.project_browser_page)
        self.project_page = QtGui.QWidget()
        self.project_page.setObjectName("project_page")
        self.verticalLayout_2 = QtGui.QVBoxLayout(self.project_page)
        self.verticalLayout_2.setSpacing(0)
        self.verticalLayout_2.setContentsMargins(0, 0, 0, 0)
        self.verticalLayout_2.setObjectName("verticalLayout_2")
        self.project_subheader = QtGui.QFrame(self.project_page)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred,
                                       QtGui.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.project_subheader.sizePolicy().hasHeightForWidth())
        self.project_subheader.setSizePolicy(sizePolicy)
        self.project_subheader.setMaximumSize(QtCore.QSize(16777215, 60))
        self.project_subheader.setFrameShape(QtGui.QFrame.NoFrame)
        self.project_subheader.setFrameShadow(QtGui.QFrame.Plain)
        self.project_subheader.setLineWidth(1)
        self.project_subheader.setMidLineWidth(0)
        self.project_subheader.setObjectName("project_subheader")
        self.horizontalLayout_4 = QtGui.QHBoxLayout(self.project_subheader)
        self.horizontalLayout_4.setSpacing(0)
        self.horizontalLayout_4.setContentsMargins(0, 0, 0, 0)
        self.horizontalLayout_4.setObjectName("horizontalLayout_4")
        self.spacer_button_1 = QtGui.QPushButton(self.project_subheader)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed,
                                       QtGui.QSizePolicy.Expanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.spacer_button_1.sizePolicy().hasHeightForWidth())
        self.spacer_button_1.setSizePolicy(sizePolicy)
        self.spacer_button_1.setMinimumSize(QtCore.QSize(10, 0))
        self.spacer_button_1.setMaximumSize(QtCore.QSize(10, 16777215))
        self.spacer_button_1.setBaseSize(QtCore.QSize(10, 0))
        self.spacer_button_1.setFocusPolicy(QtCore.Qt.NoFocus)
        self.spacer_button_1.setText("")
        self.spacer_button_1.setFlat(True)
        self.spacer_button_1.setObjectName("spacer_button_1")
        self.horizontalLayout_4.addWidget(self.spacer_button_1)
        self.project_arrow = QtGui.QPushButton(self.project_subheader)
        self.project_arrow.setMaximumSize(QtCore.QSize(30, 62))
        self.project_arrow.setFocusPolicy(QtCore.Qt.NoFocus)
        self.project_arrow.setText("")
        icon2 = QtGui.QIcon()
        icon2.addPixmap(QtGui.QPixmap(":/tk-desktop/back_arrow.png"),
                        QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.project_arrow.setIcon(icon2)
        self.project_arrow.setIconSize(QtCore.QSize(20, 20))
        self.project_arrow.setFlat(True)
        self.project_arrow.setObjectName("project_arrow")
        self.horizontalLayout_4.addWidget(self.project_arrow)
        spacerItem2 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding,
                                        QtGui.QSizePolicy.Minimum)
        self.horizontalLayout_4.addItem(spacerItem2)
        self.project_icon = QtGui.QLabel(self.project_subheader)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Minimum,
                                       QtGui.QSizePolicy.Expanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.project_icon.sizePolicy().hasHeightForWidth())
        self.project_icon.setSizePolicy(sizePolicy)
        self.project_icon.setMaximumSize(QtCore.QSize(42, 42))
        self.project_icon.setText("")
        self.project_icon.setPixmap(
            QtGui.QPixmap(":/tk-desktop/missing_thumbnail_project.png"))
        self.project_icon.setScaledContents(True)
        self.project_icon.setMargin(5)
        self.project_icon.setObjectName("project_icon")
        self.horizontalLayout_4.addWidget(self.project_icon)
        self.project_name = QtGui.QLabel(self.project_subheader)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred,
                                       QtGui.QSizePolicy.MinimumExpanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.project_name.sizePolicy().hasHeightForWidth())
        self.project_name.setSizePolicy(sizePolicy)
        self.project_name.setMaximumSize(QtCore.QSize(280, 16777215))
        self.project_name.setMargin(5)
        self.project_name.setObjectName("project_name")
        self.horizontalLayout_4.addWidget(self.project_name)
        spacerItem3 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding,
                                        QtGui.QSizePolicy.Minimum)
        self.horizontalLayout_4.addItem(spacerItem3)
        self.project_menu = QtGui.QToolButton(self.project_subheader)
        self.project_menu.setFocusPolicy(QtCore.Qt.NoFocus)
        icon3 = QtGui.QIcon()
        icon3.addPixmap(QtGui.QPixmap(":/tk-desktop/down_arrow.png"),
                        QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.project_menu.setIcon(icon3)
        self.project_menu.setIconSize(QtCore.QSize(20, 20))
        self.project_menu.setPopupMode(QtGui.QToolButton.InstantPopup)
        self.project_menu.setObjectName("project_menu")
        self.horizontalLayout_4.addWidget(self.project_menu)
        self.spacer_button_4 = QtGui.QPushButton(self.project_subheader)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed,
                                       QtGui.QSizePolicy.Expanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.spacer_button_4.sizePolicy().hasHeightForWidth())
        self.spacer_button_4.setSizePolicy(sizePolicy)
        self.spacer_button_4.setMinimumSize(QtCore.QSize(10, 0))
        self.spacer_button_4.setMaximumSize(QtCore.QSize(10, 16777215))
        self.spacer_button_4.setBaseSize(QtCore.QSize(10, 0))
        self.spacer_button_4.setFocusPolicy(QtCore.Qt.NoFocus)
        self.spacer_button_4.setText("")
        self.spacer_button_4.setFlat(True)
        self.spacer_button_4.setObjectName("spacer_button_4")
        self.horizontalLayout_4.addWidget(self.spacer_button_4)
        self.verticalLayout_2.addWidget(self.project_subheader)
        self.configuration_frame = QtGui.QFrame(self.project_page)
        self.configuration_frame.setFrameShape(QtGui.QFrame.NoFrame)
        self.configuration_frame.setFrameShadow(QtGui.QFrame.Plain)
        self.configuration_frame.setObjectName("configuration_frame")
        self.horizontalLayout_8 = QtGui.QHBoxLayout(self.configuration_frame)
        self.horizontalLayout_8.setSpacing(0)
        self.horizontalLayout_8.setContentsMargins(0, 0, 0, 0)
        self.horizontalLayout_8.setObjectName("horizontalLayout_8")
        spacerItem4 = QtGui.QSpacerItem(150, 20, QtGui.QSizePolicy.Expanding,
                                        QtGui.QSizePolicy.Minimum)
        self.horizontalLayout_8.addItem(spacerItem4)
        self.configuration_name = QtGui.QLabel(self.configuration_frame)
        self.configuration_name.setAlignment(QtCore.Qt.AlignCenter)
        self.configuration_name.setObjectName("configuration_name")
        self.horizontalLayout_8.addWidget(self.configuration_name)
        self.configuration_label = QtGui.QLabel(self.configuration_frame)
        self.configuration_label.setAlignment(QtCore.Qt.AlignRight
                                              | QtCore.Qt.AlignTrailing
                                              | QtCore.Qt.AlignVCenter)
        self.configuration_label.setObjectName("configuration_label")
        self.horizontalLayout_8.addWidget(self.configuration_label)
        self.horizontalLayout_8.setStretch(0, 1)
        self.horizontalLayout_8.setStretch(1, 1)
        self.horizontalLayout_8.setStretch(2, 1)
        self.verticalLayout_2.addWidget(self.configuration_frame)
        self.command_panel_area = QtGui.QScrollArea(self.project_page)
        self.command_panel_area.setStyleSheet("QScrollArea {\n"
                                              "border: 0, 0, 0, 0\n"
                                              "}")
        self.command_panel_area.setWidgetResizable(True)
        self.command_panel_area.setAlignment(QtCore.Qt.AlignLeading
                                             | QtCore.Qt.AlignLeft
                                             | QtCore.Qt.AlignTop)
        self.command_panel_area.setObjectName("command_panel_area")
        self.scrollAreaWidgetContents_3 = QtGui.QWidget()
        self.scrollAreaWidgetContents_3.setGeometry(QtCore.QRect(
            0, 0, 100, 30))
        self.scrollAreaWidgetContents_3.setObjectName(
            "scrollAreaWidgetContents_3")
        self.command_panel_area.setWidget(self.scrollAreaWidgetContents_3)
        self.verticalLayout_2.addWidget(self.command_panel_area)
        self.apps_tab.addWidget(self.project_page)
        self.tab_view.addWidget(self.apps_tab)
        self.border_layout.addWidget(self.tab_view)
        self.footer = QtGui.QFrame(self.center)
        self.footer.setMouseTracking(True)
        self.footer.setFrameShape(QtGui.QFrame.NoFrame)
        self.footer.setFrameShadow(QtGui.QFrame.Plain)
        self.footer.setObjectName("footer")
        self.horizontalLayout_3 = QtGui.QHBoxLayout(self.footer)
        self.horizontalLayout_3.setSpacing(0)
        self.horizontalLayout_3.setContentsMargins(10, 5, 10, 5)
        self.horizontalLayout_3.setObjectName("horizontalLayout_3")
        self.shotgun_button = QtGui.QPushButton(self.footer)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Minimum,
                                       QtGui.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.shotgun_button.sizePolicy().hasHeightForWidth())
        self.shotgun_button.setSizePolicy(sizePolicy)
        self.shotgun_button.setMinimumSize(QtCore.QSize(132, 26))
        self.shotgun_button.setMaximumSize(QtCore.QSize(132, 26))
        self.shotgun_button.setMouseTracking(True)
        self.shotgun_button.setFocusPolicy(QtCore.Qt.NoFocus)
        icon4 = QtGui.QIcon()
        icon4.addPixmap(
            QtGui.QPixmap(":/tk-desktop/shotgun_logo_light_medium.png"),
            QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.shotgun_button.setIcon(icon4)
        self.shotgun_button.setIconSize(QtCore.QSize(122, 16))
        self.shotgun_button.setFlat(True)
        self.shotgun_button.setObjectName("shotgun_button")
        self.horizontalLayout_3.addWidget(self.shotgun_button)
        spacerItem5 = QtGui.QSpacerItem(173, 20, QtGui.QSizePolicy.Expanding,
                                        QtGui.QSizePolicy.Minimum)
        self.horizontalLayout_3.addItem(spacerItem5)
        self.user_button = QtGui.QPushButton(self.footer)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed,
                                       QtGui.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.user_button.sizePolicy().hasHeightForWidth())
        self.user_button.setSizePolicy(sizePolicy)
        self.user_button.setMinimumSize(QtCore.QSize(40, 40))
        self.user_button.setMaximumSize(QtCore.QSize(40, 40))
        self.user_button.setMouseTracking(True)
        self.user_button.setFocusPolicy(QtCore.Qt.NoFocus)
        self.user_button.setText("")
        icon5 = QtGui.QIcon()
        icon5.addPixmap(QtGui.QPixmap(":/tk-desktop/default_user_thumb.png"),
                        QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.user_button.setIcon(icon5)
        self.user_button.setIconSize(QtCore.QSize(30, 30))
        self.user_button.setFlat(True)
        self.user_button.setObjectName("user_button")
        self.horizontalLayout_3.addWidget(self.user_button)
        self.border_layout.addWidget(self.footer)
        DesktopWindow.setCentralWidget(self.center)
        self.actionQuit = QtGui.QAction(DesktopWindow)
        self.actionQuit.setObjectName("actionQuit")
        self.actionPin_to_Menu = QtGui.QAction(DesktopWindow)
        self.actionPin_to_Menu.setObjectName("actionPin_to_Menu")
        self.actionSign_Out = QtGui.QAction(DesktopWindow)
        self.actionSign_Out.setObjectName("actionSign_Out")
        self.actionKeep_on_Top = QtGui.QAction(DesktopWindow)
        self.actionKeep_on_Top.setCheckable(True)
        self.actionKeep_on_Top.setObjectName("actionKeep_on_Top")
        self.actionProject_Filesystem_Folder = QtGui.QAction(DesktopWindow)
        self.actionProject_Filesystem_Folder.setObjectName(
            "actionProject_Filesystem_Folder")
        self.actionShow_Console = QtGui.QAction(DesktopWindow)
        self.actionShow_Console.setObjectName("actionShow_Console")
        self.actionRefresh_Projects = QtGui.QAction(DesktopWindow)
        self.actionRefresh_Projects.setObjectName("actionRefresh_Projects")
        self.actionAdvanced_Project_Setup = QtGui.QAction(DesktopWindow)
        self.actionAdvanced_Project_Setup.setObjectName(
            "actionAdvanced_Project_Setup")
        self.actionHelp = QtGui.QAction(DesktopWindow)
        self.actionHelp.setObjectName("actionHelp")
        self.actionRegenerate_Certificates = QtGui.QAction(DesktopWindow)
        self.actionRegenerate_Certificates.setObjectName(
            "actionRegenerate_Certificates")

        self.retranslateUi(DesktopWindow)
        self.apps_tab.setCurrentIndex(0)
        QtCore.QMetaObject.connectSlotsByName(DesktopWindow)
        DesktopWindow.setTabOrder(self.projects, self.user_button)
        DesktopWindow.setTabOrder(self.user_button, self.search_button)
        DesktopWindow.setTabOrder(self.search_button, self.search_text)
    def 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)