Esempio n. 1
0
    def setupUi(self, Dialog):
        Dialog.setObjectName("Dialog")
        Dialog.resize(490, 618)
        self.verticalLayout = QtGui.QVBoxLayout(Dialog)
        self.verticalLayout.setObjectName("verticalLayout")
        self.browser = SceneBrowserWidget(Dialog)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred,
                                       QtGui.QSizePolicy.Expanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.browser.sizePolicy().hasHeightForWidth())
        self.browser.setSizePolicy(sizePolicy)
        self.browser.setObjectName("browser")
        self.verticalLayout.addWidget(self.browser)
        self.horizontalLayout_3 = QtGui.QHBoxLayout()
        self.horizontalLayout_3.setSpacing(3)
        self.horizontalLayout_3.setObjectName("horizontalLayout_3")
        self.groupBox = QtGui.QGroupBox(Dialog)
        self.groupBox.setTitle("")
        self.groupBox.setObjectName("groupBox")
        self.horizontalLayout_2 = QtGui.QHBoxLayout(self.groupBox)
        self.horizontalLayout_2.setSpacing(10)
        self.horizontalLayout_2.setContentsMargins(2, 2, 2, 2)
        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
        self.label = QtGui.QLabel(self.groupBox)
        self.label.setObjectName("label")
        self.horizontalLayout_2.addWidget(self.label)
        self.chk_green = QtGui.QCheckBox(self.groupBox)
        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap(":/res/green_bullet.png"),
                       QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.chk_green.setIcon(icon)
        self.chk_green.setObjectName("chk_green")
        self.horizontalLayout_2.addWidget(self.chk_green)
        self.chk_red = QtGui.QCheckBox(self.groupBox)
        icon1 = QtGui.QIcon()
        icon1.addPixmap(QtGui.QPixmap(":/res/red_bullet.png"),
                        QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.chk_red.setIcon(icon1)
        self.chk_red.setObjectName("chk_red")
        self.horizontalLayout_2.addWidget(self.chk_red)
        self.horizontalLayout_3.addWidget(self.groupBox)
        spacerItem = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding,
                                       QtGui.QSizePolicy.Minimum)
        self.horizontalLayout_3.addItem(spacerItem)
        self.select_all = QtGui.QPushButton(Dialog)
        self.select_all.setObjectName("select_all")
        self.horizontalLayout_3.addWidget(self.select_all)
        self.update = QtGui.QPushButton(Dialog)
        self.update.setObjectName("update")
        self.horizontalLayout_3.addWidget(self.update)
        self.verticalLayout.addLayout(self.horizontalLayout_3)

        self.retranslateUi(Dialog)
        QtCore.QMetaObject.connectSlotsByName(Dialog)
 def create_layout(self):
     # Create a main layout
     self.layout = QtGui.QVBoxLayout()
     # Create the widgets
     self.enable_notifications_checkbox = QtGui.QCheckBox(
         'Enable Notifications')
     self.start_button = QtGui.QPushButton(self.START_TEXT)
     self.status_label = QtGui.QLabel('Status')
     self.status = QtGui.QLabel(self.STATUS_STOPPED)
     self.close_button = QtGui.QPushButton('Close')
     # Layout the status label and text
     self.status_layout = QtGui.QHBoxLayout()
     self.status_layout.addStretch(1)
     self.status_layout.addWidget(self.status_label, 0)
     self.status_layout.addWidget(self.status, 0)
     # Layout the close button
     self.footer_layout = QtGui.QHBoxLayout()
     self.footer_layout.addStretch(2)
     self.footer_layout.addWidget(self.close_button, 1)
     # Layout all the layout and widgets
     self.layout.addWidget(self.enable_notifications_checkbox, 0)
     self.layout.addWidget(self.start_button, 0)
     self.layout.addStretch(1)
     self.layout.addLayout(self.status_layout, 0)
     self.layout.addLayout(self.footer_layout, 0)
     # Set the main layout in the widget
     self.setLayout(self.layout)
    def _ensure_widgets_for_entity_type(self, entity_type):
        """
        Ensure widgets for Steps for the given Entity type are build.

        :param str entity_type: A Shotgun Entity type.
        """
        widgets = self._step_widgets[entity_type]
        if widgets:
            return widgets
        # Not already built, let's do it now
        for step in self._step_list[entity_type]:
            widget = QtGui.QCheckBox(step["code"])
            if step["color"]:
                pixmap = QtGui.QPixmap(100, 100)
                # Get the Step color and add a bit of transparency to the
                # color otherwise it is too bright.
                color = [int(x) for x in step["color"].split(",")] + [200]
                pixmap.fill(QtGui.QColor(*color))
                widget.setIcon(pixmap)
            # Turn it on if it was in the step saved filters
            # We do this before the toggled signal is connected to not emit
            # un-wanted signals.
            if step["id"] in self._current_filter_step_ids:
                widget.setChecked(True)
            widget.toggled.connect(lambda value, step_id=step[
                "id"]: self._on_step_filter_toggled(step_id, checked=value))
            item = QtGui.QListWidgetItem("", self._list_widget)
            item.setData(QtCore.Qt.UserRole, step)
            self._list_widget.setItemWidget(item, widget)
            self._step_widgets[entity_type].append(widget)
        return self._step_widgets[entity_type]
    def __setup_ui(self):
        """
        Creates and lays out all the Qt widgets
        :return:
        """
        layout = QtGui.QVBoxLayout()
        layout.setAlignment(QtCore.Qt.AlignLeft)
        self.setLayout(layout)

        # Create a check box to hold the state of whether we should set the task in review.
        self.review_cbx = QtGui.QCheckBox("Set task to in review")

        # Create a Combobox to list and chose the reviewers.
        self.reviewer_cmbx = QtGui.QComboBox()
        self.reviewer_cmbx.setAccessibleName("Reviewer selection dropdown")
        self.reviewer_lbl = QtGui.QLabel("Select reviewer")
        self.reviewer_layout = QtGui.QHBoxLayout()
        self.reviewer_layout.addWidget(self.reviewer_cmbx)
        self.reviewer_layout.addWidget(self.reviewer_lbl)

        sp = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding,
                               QtGui.QSizePolicy.Maximum)
        self.review_cbx.setSizePolicy(sp)
        self.reviewer_cmbx.setSizePolicy(sp)

        layout.addWidget(self.review_cbx)
        layout.setAlignment(self.review_cbx, QtCore.Qt.AlignLeft)
        layout.addLayout(self.reviewer_layout)
Esempio n. 5
0
    def setupUi(self, EntityTreeForm):
        EntityTreeForm.setObjectName("EntityTreeForm")
        EntityTreeForm.resize(349, 367)
        self.verticalLayout = QtGui.QVBoxLayout(EntityTreeForm)
        self.verticalLayout.setSpacing(4)
        self.verticalLayout.setContentsMargins(2, 6, 2, 2)
        self.verticalLayout.setObjectName("verticalLayout")
        self.horizontalLayout = QtGui.QHBoxLayout()
        self.horizontalLayout.setContentsMargins(2, -1, 2, 1)
        self.horizontalLayout.setObjectName("horizontalLayout")
        self.my_tasks_cb = QtGui.QCheckBox(EntityTreeForm)
        self.my_tasks_cb.setObjectName("my_tasks_cb")
        self.horizontalLayout.addWidget(self.my_tasks_cb)
        spacerItem = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding,
                                       QtGui.QSizePolicy.Minimum)
        self.horizontalLayout.addItem(spacerItem)
        self.new_task_btn = QtGui.QPushButton(EntityTreeForm)
        self.new_task_btn.setObjectName("new_task_btn")
        self.horizontalLayout.addWidget(self.new_task_btn)
        self.verticalLayout.addLayout(self.horizontalLayout)
        self.horizontalLayout_2 = QtGui.QHBoxLayout()
        self.horizontalLayout_2.setContentsMargins(1, -1, 1, -1)
        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
        self.search_ctrl = SearchWidget(EntityTreeForm)
        self.search_ctrl.setMinimumSize(QtCore.QSize(0, 20))
        self.search_ctrl.setStyleSheet("#search_ctrl {\n"
                                       "background-color: rgb(255, 128, 0);\n"
                                       "}")
        self.search_ctrl.setObjectName("search_ctrl")
        self.horizontalLayout_2.addWidget(self.search_ctrl)
        self.verticalLayout.addLayout(self.horizontalLayout_2)
        self.entity_tree = QtGui.QTreeView(EntityTreeForm)
        self.entity_tree.setStyleSheet(
            "QTreeView::item {\n"
            "padding: 2px;\n"
            "}\n"
            "\n"
            "QTreeView::branch:has-children:!has-siblings:closed,\n"
            "QTreeView::branch:closed:has-children:has-siblings  {\n"
            "        border-image: none;\n"
            "        image: url(:/ts_multi_workfiles2/tree_arrow_collapsed.png);\n"
            "}\n"
            " \n"
            "QTreeView::branch:open:has-children:!has-siblings,\n"
            "QTreeView::branch:open:has-children:has-siblings   {\n"
            "        border-image: none;\n"
            "        image: url(:/ts_multi_workfiles2/tree_arrow_expanded.png);\n"
            "}")
        self.entity_tree.setEditTriggers(
            QtGui.QAbstractItemView.NoEditTriggers)
        self.entity_tree.setProperty("showDropIndicator", False)
        self.entity_tree.setIconSize(QtCore.QSize(20, 20))
        self.entity_tree.setObjectName("entity_tree")
        self.entity_tree.header().setVisible(False)
        self.verticalLayout.addWidget(self.entity_tree)
        self.verticalLayout.setStretch(2, 1)

        self.retranslateUi(EntityTreeForm)
        QtCore.QMetaObject.connectSlotsByName(EntityTreeForm)
Esempio n. 6
0
    def populateUI(self, widget, exportTemplate):

        # prior to 10.5v1, this method created the layout. in 10.5v1 and later,
        # the widget already has a layout
        if self.app.get_nuke_version_tuple() >= (10, 5, 1):
            layout = widget.layout()
        else:
            # create a layout with custom top and bottom widgets
            layout = QtGui.QVBoxLayout(widget)
            layout.setContentsMargins(0, 0, 0, 0)
            layout.setSpacing(9)

        top = QtGui.QWidget()

        top_layout = QtGui.QVBoxLayout()
        top_layout.setContentsMargins(9, 0, 9, 0)
        create_version_checkbox = QtGui.QCheckBox("Create Shotgun Version",
                                                  widget)
        create_version_checkbox.setToolTip(
            "Create a Version in Shotgun for this transcode.\n\n"
            "If the output format is not a quicktime, then\n"
            "a quicktime will be created.  The quicktime will\n"
            "be uploaded to Shotgun as Screening Room media.")

        create_version_checkbox.setCheckState(QtCore.Qt.Checked)

        if not self._preset._properties.get("create_version", True):
            create_version_checkbox.setCheckState(QtCore.Qt.Unchecked)
        create_version_checkbox.stateChanged.connect(
            self.create_version_changed)
        top_layout.addWidget(create_version_checkbox)

        top.setLayout(top_layout)

        middle = QtGui.QWidget()

        # prior to 10.5v1, the layout was set in the base class. in 10.5v1, the
        # base class expects the widget to already have a layout.
        if self.app.get_nuke_version_tuple() >= (10, 5, 1):
            middle.setLayout(QtGui.QVBoxLayout())

        # populate the middle with the standard layout
        FnTranscodeExporterUI.TranscodeExporterUI.populateUI(
            self, middle, exportTemplate)

        layout.addWidget(top)
        layout.addWidget(middle)

        # Handle any custom widget work the user did via the custom_export_ui
        # hook.
        custom_widget = self._get_custom_widget(
            parent=widget,
            create_method="create_transcode_exporter_widget",
            get_method="get_transcode_exporter_ui_properties",
            set_method="set_transcode_exporter_ui_properties",
        )

        if custom_widget is not None:
            layout.addWidget(custom_widget)
 def __init__(self, layout, text):
     """
     :param layout: Layout in witch to add the widget.
     :param text: Name of the setting.
     """
     super(CheckboxHandler, self).__init__(QtGui.QCheckBox(text))
     layout.addWidget(self.editor)
     self.editor.setTristate(False)
Esempio n. 8
0
    def __init__(self, filter_id, group_id, filter_data, parent=None):
        """
        Constructor.

        Initialize the widget UI:
          - Left aligned checkbox
          - Left aligned icon (optional)
          - Left aligned filter value display text
          - Right aligned filter value count

        :param filter_id: The unique identifier for this widget.
        :type filter_id: str
        :param group_id: The unique identifier for the group this widget belongs to.
        :type group_id: str
        :param filter_data: Additional data to initialize the widget.
        :type filter_data: dict
        :param parent: The widget's parent
        :type parent: :class:`sgtk.platform.qt.QWidget`
        """

        super(ChoicesFilterItemWidget, self).__init__(filter_id, group_id, parent)

        layout = QtGui.QHBoxLayout()
        layout.setAlignment(QtCore.Qt.AlignLeft)

        # Left-aligned checkbox
        self.checkbox = QtGui.QCheckBox()
        self.checkbox.stateChanged.connect(self.state_changed)
        layout.addWidget(self.checkbox)

        # Left-aligned (optional) icon
        icon = filter_data.get("icon")
        if icon:
            icon_label = QtGui.QLabel()
            icon_label.setPixmap(icon.pixmap(14))
            layout.addWidget(icon_label)

        # Left-aligned filter value display text
        name = six.ensure_str(
            filter_data.get("display_name", filter_data.get("filter_value"))
        )
        self.label = QtGui.QLabel(name)
        layout.addWidget(self.label)

        # Right-aligned count label
        count = filter_data.get("count")
        if count:
            self.count_label = QtGui.QLabel(str(count))
            layout.addStretch()
            layout.addWidget(self.count_label)

        self.setLayout(layout)
Esempio n. 9
0
        def __init__(self, parent):
            super(FarmWrapperWidget, self).__init__(parent)

            # Create a nice simple layout with a checkbox in it.
            layout = QtGui.QFormLayout(self)
            self.setLayout(layout)

            label = QtGui.QLabel(
                "Clicking this checkbox will submit this task to the render farm.",
                self)
            label.setWordWrap(True)
            layout.addRow(label)

            self._check_box = QtGui.QCheckBox("Submit to Farm", self)
            self._check_box.setTristate(False)
            layout.addRow(self._check_box)
    def create_entity_tab_checkbox(self, name, parent, text=""):
        """
        Create a QCheckBox to be used by an entity tab.

        :param name: The name of the entity tab. This will be used to set the QCheckBox object name.
        :type name: str
        :param parent: The QCheckBox parent widget. This should be the entity tab widget.
        :type parent: :class:`sgtk.platform.qt.QtGui.QWidget`
        :param text: Optional text to dispaly with the checkbox. Defaults to the empty string.
        :type text: str
        :return: A checkbox intended to be used for an entity tab.
        :rtype: :class:`sgtk.platform.qt.QtGui.QCheckBox`
        """

        checkbox = QtGui.QCheckBox(text, parent)
        checkbox.setObjectName("entity_" + name + "_checkbox")
        return checkbox
Esempio n. 11
0
    def setupUi(self, UpdateEngine):
        UpdateEngine.setObjectName("UpdateEngine")
        UpdateEngine.resize(424, 178)
        self.verticalLayout = QtGui.QVBoxLayout(UpdateEngine)
        self.verticalLayout.setSpacing(0)
        self.verticalLayout.setObjectName("verticalLayout")
        self.message = QtGui.QLabel(UpdateEngine)
        self.message.setWordWrap(True)
        self.message.setOpenExternalLinks(True)
        self.message.setObjectName("message")
        self.verticalLayout.addWidget(self.message)
        spacerItem = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum,
                                       QtGui.QSizePolicy.Expanding)
        self.verticalLayout.addItem(spacerItem)
        self.horizontalLayout = QtGui.QHBoxLayout()
        self.horizontalLayout.setObjectName("horizontalLayout")
        self.never_again_checkbox = QtGui.QCheckBox(UpdateEngine)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Maximum,
                                       QtGui.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.never_again_checkbox.sizePolicy().hasHeightForWidth())
        self.never_again_checkbox.setSizePolicy(sizePolicy)
        self.never_again_checkbox.setObjectName("never_again_checkbox")
        self.horizontalLayout.addWidget(self.never_again_checkbox)
        self.verticalLayout.addLayout(self.horizontalLayout)
        self.horizontalLayout_2 = QtGui.QHBoxLayout()
        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
        self.ok_button = QtGui.QPushButton(UpdateEngine)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Maximum,
                                       QtGui.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.ok_button.sizePolicy().hasHeightForWidth())
        self.ok_button.setSizePolicy(sizePolicy)
        self.ok_button.setDefault(True)
        self.ok_button.setObjectName("ok_button")
        self.horizontalLayout_2.addWidget(self.ok_button)
        self.verticalLayout.addLayout(self.horizontalLayout_2)

        self.retranslateUi(UpdateEngine)
        QtCore.QMetaObject.connectSlotsByName(UpdateEngine)
Esempio n. 12
0
    def __init__(self, parent=None):
        """
        Construction
        
        :param parent:    Parent for this widget
        """
        GroupWidgetBase.__init__(self, parent)

        # create the checkbox that indicates the toggled/expanded state for
        # the group:
        self._cb = QtGui.QCheckBox(self)
        
        # and add it to a basic layout:
        layout = QtGui.QHBoxLayout(self)
        layout.addWidget(self._cb)
        self.setLayout(layout)
        
        # connect up to the checkbox state-change:
        self._cb.stateChanged.connect(self._on_expand_checkbox_state_changed)
Esempio n. 13
0
    def _populate_ui(self):
        """
        Build the UI. Should be called once on initialization.
        """

        model_check_box = QtGui.QCheckBox("Filter on SG Entity:", self)
        model_check_box.setToolTip(
            "Check to populate the view with ShotGrid entity data. Uncheck to populate with plain basic data."
        )
        model_check_box.setChecked(True)
        model_check_box.stateChanged.connect(self._set_model)

        top_toolbar = QtGui.QWidget(self)
        top_toolbar_layout = QtGui.QHBoxLayout(top_toolbar)
        top_toolbar_layout.addWidget(model_check_box)
        top_toolbar_layout.addWidget(self._entity_type_combo_box)
        top_toolbar_layout.addStretch()
        top_toolbar_layout.addWidget(self._filter_menu_btn)

        layout = QtGui.QVBoxLayout(self)
        layout.addWidget(top_toolbar)
        layout.addWidget(self._view)
        self.setLayout(layout)
    def __init__(self, layout, text, editor):
        """
        :param layout: Layout to add the widget into.
        :param text: Text on the left of the editor widget.
        :param editor: Widget used to edit the value.
        """
        super(WidgetHandler, self).__init__(editor)

        self._layout = QtGui.QHBoxLayout()
        self._check_box = QtGui.QCheckBox(text)
        self._label = QtGui.QLabel(text)

        # FIXME: Should take the size of the text + icon as the minimum width.
        self._check_box.setMinimumWidth(50)
        self._label.setMinimumWidth(50)

        self._check_box.stateChanged.connect(self._on_state_changed)

        self._layout.addWidget(self._check_box)
        self._layout.addWidget(self._label)
        self._layout.addWidget(self.editor)

        layout.addRow(self._layout)
    def setupUi(self, FileSaveForm):
        FileSaveForm.setObjectName("FileSaveForm")
        FileSaveForm.resize(850, 539)
        self.verticalLayout = QtGui.QVBoxLayout(FileSaveForm)
        self.verticalLayout.setSpacing(4)
        self.verticalLayout.setContentsMargins(0, 0, 0, 0)
        self.verticalLayout.setObjectName("verticalLayout")
        self.verticalLayout_3 = QtGui.QVBoxLayout()
        self.verticalLayout_3.setContentsMargins(12, 12, 12, 4)
        self.verticalLayout_3.setObjectName("verticalLayout_3")
        self.gridLayout_2 = QtGui.QGridLayout()
        self.gridLayout_2.setObjectName("gridLayout_2")
        self.horizontalLayout_3 = QtGui.QHBoxLayout()
        self.horizontalLayout_3.setSpacing(1)
        self.horizontalLayout_3.setObjectName("horizontalLayout_3")
        self.expand_checkbox = QtGui.QCheckBox(FileSaveForm)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Minimum,
                                       QtGui.QSizePolicy.Maximum)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.expand_checkbox.sizePolicy().hasHeightForWidth())
        self.expand_checkbox.setSizePolicy(sizePolicy)
        self.expand_checkbox.setMaximumSize(QtCore.QSize(16777215, 24))
        self.expand_checkbox.setStyleSheet(
            "#expand_checkbox::indicator {\n"
            "width: 24;\n"
            "height: 24;\n"
            "}\n"
            "\n"
            "#expand_checkbox::indicator::unchecked {\n"
            "    image: url(:/tk-multi-workfiles2/save_expand.png);\n"
            "\n"
            "}\n"
            "\n"
            "#expand_checkbox::indicator::unchecked::hover {\n"
            "    image: url(:/tk-multi-workfiles2/save_expand_hover.png);\n"
            "}\n"
            "\n"
            "#expand_checkbox::indicator::unchecked::pressed {\n"
            "    image: url(:/tk-multi-workfiles2/save_expand_pressed.png);\n"
            "}\n"
            "\n"
            "#expand_checkbox::indicator::checked {\n"
            "    image: url(:/tk-multi-workfiles2/save_collapse.png);\n"
            "}\n"
            "\n"
            "#expand_checkbox::indicator::checked:hover {\n"
            "    image: url(:/tk-multi-workfiles2/save_collapse_hover.png);\n"
            "}\n"
            "\n"
            "#expand_checkbox::indicator::checked:pressed {\n"
            "    image: url(:/tk-multi-workfiles2/save_collapse_pressed.png);\n"
            "}")
        self.expand_checkbox.setText("")
        self.expand_checkbox.setObjectName("expand_checkbox")
        self.horizontalLayout_3.addWidget(self.expand_checkbox)
        self.gridLayout_2.addLayout(self.horizontalLayout_3, 0, 0, 1, 1)
        self.nav = NavigationWidget(FileSaveForm)
        self.nav.setMinimumSize(QtCore.QSize(80, 30))
        self.nav.setStyleSheet("#nav {\n"
                               "background-color: rgb(255, 128, 0);\n"
                               "}")
        self.nav.setObjectName("nav")
        self.gridLayout_2.addWidget(self.nav, 0, 1, 1, 1)
        self.breadcrumbs = BreadcrumbWidget(FileSaveForm)
        self.breadcrumbs.setMinimumSize(QtCore.QSize(0, 30))
        self.breadcrumbs.setStyleSheet("#breadcrumbs {\n"
                                       "background-color: rgb(255, 128, 0);\n"
                                       "}")
        self.breadcrumbs.setObjectName("breadcrumbs")
        self.gridLayout_2.addWidget(self.breadcrumbs, 0, 2, 1, 1)
        self.gridLayout_2.setColumnStretch(2, 1)
        self.verticalLayout_3.addLayout(self.gridLayout_2)
        self.browser = BrowserForm(FileSaveForm)
        self.browser.setStyleSheet("#browser {\n"
                                   "background-color: rgb(255, 128, 0);\n"
                                   "}")
        self.browser.setObjectName("browser")
        self.verticalLayout_3.addWidget(self.browser)
        self.verticalLayout_3.setStretch(1, 1)
        self.verticalLayout.addLayout(self.verticalLayout_3)
        self.line = QtGui.QFrame(FileSaveForm)
        self.line.setFrameShape(QtGui.QFrame.HLine)
        self.line.setFrameShadow(QtGui.QFrame.Sunken)
        self.line.setObjectName("line")
        self.verticalLayout.addWidget(self.line)
        self.verticalLayout_2 = QtGui.QVBoxLayout()
        self.verticalLayout_2.setSpacing(20)
        self.verticalLayout_2.setContentsMargins(12, 4, 12, 4)
        self.verticalLayout_2.setObjectName("verticalLayout_2")
        self.file_controls_grid = QtGui.QGridLayout()
        self.file_controls_grid.setHorizontalSpacing(14)
        self.file_controls_grid.setVerticalSpacing(6)
        self.file_controls_grid.setObjectName("file_controls_grid")
        self.version_label = QtGui.QLabel(FileSaveForm)
        self.version_label.setMinimumSize(QtCore.QSize(0, 0))
        self.version_label.setAlignment(QtCore.Qt.AlignRight
                                        | QtCore.Qt.AlignTrailing
                                        | QtCore.Qt.AlignVCenter)
        self.version_label.setIndent(-1)
        self.version_label.setObjectName("version_label")
        self.file_controls_grid.addWidget(self.version_label, 1, 0, 1, 1)
        self.name_label = QtGui.QLabel(FileSaveForm)
        self.name_label.setMinimumSize(QtCore.QSize(0, 0))
        self.name_label.setAlignment(QtCore.Qt.AlignRight
                                     | QtCore.Qt.AlignTrailing
                                     | QtCore.Qt.AlignVCenter)
        self.name_label.setIndent(-1)
        self.name_label.setObjectName("name_label")
        self.file_controls_grid.addWidget(self.name_label, 0, 0, 1, 1)
        self.file_type_label = QtGui.QLabel(FileSaveForm)
        self.file_type_label.setMinimumSize(QtCore.QSize(0, 0))
        self.file_type_label.setAlignment(QtCore.Qt.AlignRight
                                          | QtCore.Qt.AlignTrailing
                                          | QtCore.Qt.AlignVCenter)
        self.file_type_label.setIndent(-1)
        self.file_type_label.setObjectName("file_type_label")
        self.file_controls_grid.addWidget(self.file_type_label, 2, 0, 1, 1)
        self.horizontalLayout_2 = QtGui.QHBoxLayout()
        self.horizontalLayout_2.setSpacing(-1)
        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
        self.version_spinner = QtGui.QSpinBox(FileSaveForm)
        self.version_spinner.setMaximum(9999999)
        self.version_spinner.setObjectName("version_spinner")
        self.horizontalLayout_2.addWidget(self.version_spinner)
        self.use_next_available_cb = QtGui.QCheckBox(FileSaveForm)
        self.use_next_available_cb.setObjectName("use_next_available_cb")
        self.horizontalLayout_2.addWidget(self.use_next_available_cb)
        spacerItem = QtGui.QSpacerItem(0, 20, QtGui.QSizePolicy.Expanding,
                                       QtGui.QSizePolicy.Minimum)
        self.horizontalLayout_2.addItem(spacerItem)
        self.file_controls_grid.addLayout(self.horizontalLayout_2, 1, 1, 1, 1)
        self.horizontalLayout_6 = QtGui.QHBoxLayout()
        self.horizontalLayout_6.setSpacing(0)
        self.horizontalLayout_6.setObjectName("horizontalLayout_6")
        self.file_type_menu = QtGui.QComboBox(FileSaveForm)
        self.file_type_menu.setMinimumSize(QtCore.QSize(200, 0))
        self.file_type_menu.setObjectName("file_type_menu")
        self.horizontalLayout_6.addWidget(self.file_type_menu)
        spacerItem1 = QtGui.QSpacerItem(0, 20, QtGui.QSizePolicy.Expanding,
                                        QtGui.QSizePolicy.Minimum)
        self.horizontalLayout_6.addItem(spacerItem1)
        self.file_controls_grid.addLayout(self.horizontalLayout_6, 2, 1, 1, 1)
        self.horizontalLayout_8 = QtGui.QHBoxLayout()
        self.horizontalLayout_8.setSpacing(0)
        self.horizontalLayout_8.setObjectName("horizontalLayout_8")
        self.name_edit = QtGui.QLineEdit(FileSaveForm)
        self.name_edit.setMaximumSize(QtCore.QSize(200, 16777215))
        self.name_edit.setFrame(True)
        self.name_edit.setObjectName("name_edit")
        self.horizontalLayout_8.addWidget(self.name_edit)
        spacerItem2 = QtGui.QSpacerItem(0, 20, QtGui.QSizePolicy.Expanding,
                                        QtGui.QSizePolicy.Minimum)
        self.horizontalLayout_8.addItem(spacerItem2)
        self.horizontalLayout_8.setStretch(0, 1)
        self.file_controls_grid.addLayout(self.horizontalLayout_8, 0, 1, 1, 1)
        self.file_controls_grid.setColumnMinimumWidth(0, 80)
        self.file_controls_grid.setColumnStretch(1, 1)
        self.verticalLayout_2.addLayout(self.file_controls_grid)
        self.feedback_stacked_widget = QtGui.QStackedWidget(FileSaveForm)
        self.feedback_stacked_widget.setObjectName("feedback_stacked_widget")
        self.preview_page = QtGui.QWidget()
        self.preview_page.setObjectName("preview_page")
        self.verticalLayout_4 = QtGui.QVBoxLayout(self.preview_page)
        self.verticalLayout_4.setContentsMargins(0, 0, 0, 0)
        self.verticalLayout_4.setObjectName("verticalLayout_4")
        self.preview_grid = QtGui.QGridLayout()
        self.preview_grid.setHorizontalSpacing(14)
        self.preview_grid.setVerticalSpacing(1)
        self.preview_grid.setObjectName("preview_grid")
        self.preview_label = QtGui.QLabel(self.preview_page)
        self.preview_label.setAlignment(QtCore.Qt.AlignRight
                                        | QtCore.Qt.AlignTop
                                        | QtCore.Qt.AlignTrailing)
        self.preview_label.setIndent(-1)
        self.preview_label.setObjectName("preview_label")
        self.preview_grid.addWidget(self.preview_label, 0, 0, 1, 1)
        self.file_name_preview = QtGui.QLabel(self.preview_page)
        self.file_name_preview.setAlignment(QtCore.Qt.AlignLeading
                                            | QtCore.Qt.AlignLeft
                                            | QtCore.Qt.AlignTop)
        self.file_name_preview.setWordWrap(True)
        self.file_name_preview.setIndent(-1)
        self.file_name_preview.setObjectName("file_name_preview")
        self.preview_grid.addWidget(self.file_name_preview, 0, 1, 1, 1)
        self.work_area_preview = ElidedLabel(self.preview_page)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Ignored,
                                       QtGui.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.work_area_preview.sizePolicy().hasHeightForWidth())
        self.work_area_preview.setSizePolicy(sizePolicy)
        self.work_area_preview.setAlignment(QtCore.Qt.AlignLeading
                                            | QtCore.Qt.AlignLeft
                                            | QtCore.Qt.AlignTop)
        self.work_area_preview.setWordWrap(True)
        self.work_area_preview.setIndent(-1)
        self.work_area_preview.setTextInteractionFlags(
            QtCore.Qt.TextSelectableByMouse)
        self.work_area_preview.setObjectName("work_area_preview")
        self.preview_grid.addWidget(self.work_area_preview, 1, 1, 1, 1)
        self.work_area_label = QtGui.QLabel(self.preview_page)
        self.work_area_label.setAlignment(QtCore.Qt.AlignRight
                                          | QtCore.Qt.AlignTop
                                          | QtCore.Qt.AlignTrailing)
        self.work_area_label.setIndent(-1)
        self.work_area_label.setObjectName("work_area_label")
        self.preview_grid.addWidget(self.work_area_label, 1, 0, 1, 1)
        self.preview_grid.setColumnMinimumWidth(0, 80)
        self.preview_grid.setColumnStretch(1, 1)
        self.verticalLayout_4.addLayout(self.preview_grid)
        self.feedback_stacked_widget.addWidget(self.preview_page)
        self.warning_page = QtGui.QWidget()
        self.warning_page.setObjectName("warning_page")
        self.horizontalLayout_7 = QtGui.QHBoxLayout(self.warning_page)
        self.horizontalLayout_7.setContentsMargins(0, 0, 0, 0)
        self.horizontalLayout_7.setObjectName("horizontalLayout_7")
        self.warning_grid = QtGui.QGridLayout()
        self.warning_grid.setContentsMargins(0, -1, -1, -1)
        self.warning_grid.setHorizontalSpacing(14)
        self.warning_grid.setVerticalSpacing(6)
        self.warning_grid.setObjectName("warning_grid")
        self.warning = QtGui.QLabel(self.warning_page)
        self.warning.setMinimumSize(QtCore.QSize(0, 45))
        self.warning.setAlignment(QtCore.Qt.AlignLeading | QtCore.Qt.AlignLeft
                                  | QtCore.Qt.AlignTop)
        self.warning.setWordWrap(True)
        self.warning.setMargin(0)
        self.warning.setIndent(-1)
        self.warning.setTextInteractionFlags(
            QtCore.Qt.LinksAccessibleByMouse
            | QtCore.Qt.TextSelectableByKeyboard
            | QtCore.Qt.TextSelectableByMouse)
        self.warning.setObjectName("warning")
        self.warning_grid.addWidget(self.warning, 0, 1, 1, 1)
        self.warning_label = QtGui.QLabel(self.warning_page)
        self.warning_label.setAlignment(QtCore.Qt.AlignRight
                                        | QtCore.Qt.AlignTop
                                        | QtCore.Qt.AlignTrailing)
        self.warning_label.setIndent(-1)
        self.warning_label.setObjectName("warning_label")
        self.warning_grid.addWidget(self.warning_label, 0, 0, 1, 1)
        self.warning_grid.setColumnMinimumWidth(0, 80)
        self.warning_grid.setColumnStretch(1, 1)
        self.horizontalLayout_7.addLayout(self.warning_grid)
        self.feedback_stacked_widget.addWidget(self.warning_page)
        self.verticalLayout_2.addWidget(self.feedback_stacked_widget)
        self.verticalLayout_2.setStretch(1, 1)
        self.verticalLayout.addLayout(self.verticalLayout_2)
        spacerItem3 = QtGui.QSpacerItem(20, 0, QtGui.QSizePolicy.Minimum,
                                        QtGui.QSizePolicy.Expanding)
        self.verticalLayout.addItem(spacerItem3)
        self.break_line = QtGui.QFrame(FileSaveForm)
        self.break_line.setFrameShape(QtGui.QFrame.HLine)
        self.break_line.setFrameShadow(QtGui.QFrame.Sunken)
        self.break_line.setObjectName("break_line")
        self.verticalLayout.addWidget(self.break_line)
        self.horizontalLayout_4 = QtGui.QHBoxLayout()
        self.horizontalLayout_4.setContentsMargins(12, 8, 12, 12)
        self.horizontalLayout_4.setObjectName("horizontalLayout_4")
        spacerItem4 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding,
                                        QtGui.QSizePolicy.Minimum)
        self.horizontalLayout_4.addItem(spacerItem4)
        self.cancel_btn = QtGui.QPushButton(FileSaveForm)
        self.cancel_btn.setObjectName("cancel_btn")
        self.horizontalLayout_4.addWidget(self.cancel_btn)
        self.save_btn = QtGui.QPushButton(FileSaveForm)
        self.save_btn.setDefault(True)
        self.save_btn.setObjectName("save_btn")
        self.horizontalLayout_4.addWidget(self.save_btn)
        self.verticalLayout.addLayout(self.horizontalLayout_4)
        self.verticalLayout.setStretch(0, 1)

        self.retranslateUi(FileSaveForm)
        self.feedback_stacked_widget.setCurrentIndex(0)
        QtCore.QMetaObject.connectSlotsByName(FileSaveForm)
        FileSaveForm.setTabOrder(self.name_edit, self.version_spinner)
        FileSaveForm.setTabOrder(self.version_spinner,
                                 self.use_next_available_cb)
        FileSaveForm.setTabOrder(self.use_next_available_cb,
                                 self.file_type_menu)
        FileSaveForm.setTabOrder(self.file_type_menu, self.cancel_btn)
        FileSaveForm.setTabOrder(self.cancel_btn, self.save_btn)
        FileSaveForm.setTabOrder(self.save_btn, self.expand_checkbox)
Esempio n. 16
0
    def setupUi(self, Dialog):
        Dialog.setObjectName("Dialog")
        Dialog.resize(1226, 766)
        self.horizontalLayout_3 = QtGui.QHBoxLayout(Dialog)
        self.horizontalLayout_3.setObjectName("horizontalLayout_3")
        self.left_area = QtGui.QVBoxLayout()
        self.left_area.setSpacing(2)
        self.left_area.setObjectName("left_area")
        self.top_toolbar = QtGui.QHBoxLayout()
        self.top_toolbar.setObjectName("top_toolbar")
        self.navigation_home = QtGui.QToolButton(Dialog)
        self.navigation_home.setMinimumSize(QtCore.QSize(40, 40))
        self.navigation_home.setMaximumSize(QtCore.QSize(40, 40))
        self.navigation_home.setStyleSheet("QToolButton{\n"
"   border: none;\n"
"   background-color: none;\n"
"   background-repeat: no-repeat;\n"
"   background-position: center center;\n"
"   background-image: url(:/res/home.png);\n"
"}\n"
"\n"
"QToolButton:hover{\n"
"background-image: url(:/res/home_hover.png);\n"
"}\n"
"\n"
"QToolButton:Pressed {\n"
"background-image: url(:/res/home_pressed.png);\n"
"}\n"
"")
        self.navigation_home.setObjectName("navigation_home")
        self.top_toolbar.addWidget(self.navigation_home)
        self.navigation_prev = QtGui.QToolButton(Dialog)
        self.navigation_prev.setMinimumSize(QtCore.QSize(40, 40))
        self.navigation_prev.setMaximumSize(QtCore.QSize(40, 40))
        self.navigation_prev.setStyleSheet("QToolButton{\n"
"   border: none;\n"
"   background-color: none;\n"
"   background-repeat: no-repeat;\n"
"   background-position: center center;\n"
"   background-image: url(:/res/left_arrow.png);\n"
"}\n"
"\n"
"QToolButton:disabled{\n"
"   background-image: url(:/res/left_arrow_disabled.png);\n"
"}\n"
"\n"
"QToolButton:hover{\n"
"background-image: url(:/res/left_arrow_hover.png);\n"
"}\n"
"\n"
"QToolButton:Pressed {\n"
"background-image: url(:/res/left_arrow_pressed.png);\n"
"}\n"
"")
        self.navigation_prev.setObjectName("navigation_prev")
        self.top_toolbar.addWidget(self.navigation_prev)
        self.navigation_next = QtGui.QToolButton(Dialog)
        self.navigation_next.setMinimumSize(QtCore.QSize(40, 40))
        self.navigation_next.setMaximumSize(QtCore.QSize(40, 40))
        self.navigation_next.setStyleSheet("QToolButton{\n"
"   border: none;\n"
"   background-color: none;\n"
"   background-repeat: no-repeat;\n"
"   background-position: center center;\n"
"   background-image: url(:/res/right_arrow.png);\n"
"}\n"
"\n"
"QToolButton:disabled{\n"
"   background-image: url(:/res/right_arrow_disabled.png);\n"
"}\n"
"\n"
"\n"
"QToolButton:hover{\n"
"background-image: url(:/res/right_arrow_hover.png);\n"
"}\n"
"\n"
"QToolButton:Pressed {\n"
"background-image: url(:/res/right_arrow_pressed.png);\n"
"}\n"
"")
        self.navigation_next.setObjectName("navigation_next")
        self.top_toolbar.addWidget(self.navigation_next)
        self.label = QtGui.QLabel(Dialog)
        self.label.setText("")
        self.label.setObjectName("label")
        self.top_toolbar.addWidget(self.label)
        self.left_area.addLayout(self.top_toolbar)
        self.entity_preset_tabs = QtGui.QTabWidget(Dialog)
        self.entity_preset_tabs.setMaximumSize(QtCore.QSize(300, 16777202))
        self.entity_preset_tabs.setUsesScrollButtons(True)
        self.entity_preset_tabs.setObjectName("entity_preset_tabs")
        self.left_area.addWidget(self.entity_preset_tabs)
        self.label_4 = QtGui.QLabel(Dialog)
        self.label_4.setAlignment(QtCore.Qt.AlignCenter)
        self.label_4.setObjectName("label_4")
        self.left_area.addWidget(self.label_4)
        self.publish_type_list = QtGui.QListView(Dialog)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Maximum)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.publish_type_list.sizePolicy().hasHeightForWidth())
        self.publish_type_list.setSizePolicy(sizePolicy)
        self.publish_type_list.setMinimumSize(QtCore.QSize(100, 100))
        self.publish_type_list.setStyleSheet("QListView::item {\n"
"    border-top: 1px dotted #888888;\n"
"    padding: 5px;\n"
" }")
        self.publish_type_list.setEditTriggers(QtGui.QAbstractItemView.NoEditTriggers)
        self.publish_type_list.setProperty("showDropIndicator", False)
        self.publish_type_list.setSelectionMode(QtGui.QAbstractItemView.NoSelection)
        self.publish_type_list.setUniformItemSizes(True)
        self.publish_type_list.setObjectName("publish_type_list")
        self.left_area.addWidget(self.publish_type_list)
        self.horizontalLayout_6 = QtGui.QHBoxLayout()
        self.horizontalLayout_6.setSpacing(2)
        self.horizontalLayout_6.setObjectName("horizontalLayout_6")
        self.check_all = QtGui.QToolButton(Dialog)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.check_all.sizePolicy().hasHeightForWidth())
        self.check_all.setSizePolicy(sizePolicy)
        self.check_all.setObjectName("check_all")
        self.horizontalLayout_6.addWidget(self.check_all)
        self.check_none = QtGui.QToolButton(Dialog)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.check_none.sizePolicy().hasHeightForWidth())
        self.check_none.setSizePolicy(sizePolicy)
        self.check_none.setObjectName("check_none")
        self.horizontalLayout_6.addWidget(self.check_none)
        self.label_3 = QtGui.QLabel(Dialog)
        self.label_3.setText("")
        self.label_3.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
        self.label_3.setObjectName("label_3")
        self.horizontalLayout_6.addWidget(self.label_3)
        self.cog_button = QtGui.QToolButton(Dialog)
        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap(":/res/gear.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.cog_button.setIcon(icon)
        self.cog_button.setIconSize(QtCore.QSize(20, 16))
        self.cog_button.setPopupMode(QtGui.QToolButton.InstantPopup)
        self.cog_button.setObjectName("cog_button")
        self.horizontalLayout_6.addWidget(self.cog_button)
        self.left_area.addLayout(self.horizontalLayout_6)
        self.horizontalLayout_3.addLayout(self.left_area)
        self.middle_area = QtGui.QVBoxLayout()
        self.middle_area.setObjectName("middle_area")
        self.horizontalLayout_2 = QtGui.QHBoxLayout()
        self.horizontalLayout_2.setSpacing(1)
        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
        self.entity_breadcrumbs = QtGui.QLabel(Dialog)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Ignored, QtGui.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.entity_breadcrumbs.sizePolicy().hasHeightForWidth())
        self.entity_breadcrumbs.setSizePolicy(sizePolicy)
        self.entity_breadcrumbs.setMinimumSize(QtCore.QSize(0, 40))
        self.entity_breadcrumbs.setText("")
        self.entity_breadcrumbs.setObjectName("entity_breadcrumbs")
        self.horizontalLayout_2.addWidget(self.entity_breadcrumbs)
        spacerItem = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Ignored, QtGui.QSizePolicy.Minimum)
        self.horizontalLayout_2.addItem(spacerItem)
        self.thumbnail_mode = QtGui.QToolButton(Dialog)
        self.thumbnail_mode.setMinimumSize(QtCore.QSize(0, 26))
        icon1 = QtGui.QIcon()
        icon1.addPixmap(QtGui.QPixmap(":/res/mode_switch_thumb_active.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.thumbnail_mode.setIcon(icon1)
        self.thumbnail_mode.setCheckable(True)
        self.thumbnail_mode.setChecked(True)
        self.thumbnail_mode.setObjectName("thumbnail_mode")
        self.horizontalLayout_2.addWidget(self.thumbnail_mode)
        self.list_mode = QtGui.QToolButton(Dialog)
        self.list_mode.setMinimumSize(QtCore.QSize(0, 26))
        icon2 = QtGui.QIcon()
        icon2.addPixmap(QtGui.QPixmap(":/res/mode_switch_card.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.list_mode.setIcon(icon2)
        self.list_mode.setCheckable(True)
        self.list_mode.setObjectName("list_mode")
        self.horizontalLayout_2.addWidget(self.list_mode)
        self.label_5 = QtGui.QLabel(Dialog)
        self.label_5.setMinimumSize(QtCore.QSize(5, 0))
        self.label_5.setMaximumSize(QtCore.QSize(5, 16777215))
        self.label_5.setText("")
        self.label_5.setObjectName("label_5")
        self.horizontalLayout_2.addWidget(self.label_5)
        self.search_publishes = QtGui.QToolButton(Dialog)
        self.search_publishes.setMinimumSize(QtCore.QSize(0, 26))
        icon3 = QtGui.QIcon()
        icon3.addPixmap(QtGui.QPixmap(":/res/search.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.search_publishes.setIcon(icon3)
        self.search_publishes.setCheckable(True)
        self.search_publishes.setObjectName("search_publishes")
        self.horizontalLayout_2.addWidget(self.search_publishes)
        self.info = QtGui.QToolButton(Dialog)
        self.info.setMinimumSize(QtCore.QSize(0, 26))
        self.info.setObjectName("info")
        self.horizontalLayout_2.addWidget(self.info)
        self.middle_area.addLayout(self.horizontalLayout_2)
        self.publish_frame = QtGui.QFrame(Dialog)
        self.publish_frame.setObjectName("publish_frame")
        self.horizontalLayout_7 = QtGui.QHBoxLayout(self.publish_frame)
        self.horizontalLayout_7.setSpacing(1)
        self.horizontalLayout_7.setContentsMargins(1, 1, 1, 1)
        self.horizontalLayout_7.setObjectName("horizontalLayout_7")
        self.publish_view = QtGui.QListView(self.publish_frame)
        self.publish_view.setEditTriggers(QtGui.QAbstractItemView.NoEditTriggers)
        self.publish_view.setResizeMode(QtGui.QListView.Adjust)
        self.publish_view.setSpacing(5)
        self.publish_view.setViewMode(QtGui.QListView.IconMode)
        self.publish_view.setUniformItemSizes(True)
        self.publish_view.setObjectName("publish_view")
        self.horizontalLayout_7.addWidget(self.publish_view)
        self.middle_area.addWidget(self.publish_frame)
        self.horizontalLayout_4 = QtGui.QHBoxLayout()
        self.horizontalLayout_4.setObjectName("horizontalLayout_4")
        self.show_sub_items = QtGui.QCheckBox(Dialog)
        self.show_sub_items.setObjectName("show_sub_items")
        self.horizontalLayout_4.addWidget(self.show_sub_items)
        spacerItem1 = QtGui.QSpacerItem(128, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
        self.horizontalLayout_4.addItem(spacerItem1)
        self.scale_label = QtGui.QLabel(Dialog)
        self.scale_label.setText("")
        self.scale_label.setPixmap(QtGui.QPixmap(":/res/search.png"))
        self.scale_label.setObjectName("scale_label")
        self.horizontalLayout_4.addWidget(self.scale_label)
        self.thumb_scale = QtGui.QSlider(Dialog)
        self.thumb_scale.setMinimumSize(QtCore.QSize(100, 0))
        self.thumb_scale.setMaximumSize(QtCore.QSize(100, 16777215))
        self.thumb_scale.setStyleSheet("QSlider::groove:horizontal {\n"
"     /*border: 1px solid #999999; */\n"
"     height: 2px; /* the groove expands to the size of the slider by default. by giving it a height, it has a fixed size */\n"
"     background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #3F3F3F, stop:1 #545454);\n"
"     margin: 2px 0;\n"
"     border-radius: 1px;\n"
" }\n"
"\n"
" QSlider::handle:horizontal {\n"
"     background: #545454;\n"
"     border: 1px solid #B6B6B6;\n"
"     width: 5px;\n"
"     margin: -2px 0; /* handle is placed by default on the contents rect of the groove. Expand outside the groove */\n"
"     border-radius: 3px;\n"
" }\n"
"")
        self.thumb_scale.setMinimum(70)
        self.thumb_scale.setMaximum(250)
        self.thumb_scale.setProperty("value", 70)
        self.thumb_scale.setSliderPosition(70)
        self.thumb_scale.setOrientation(QtCore.Qt.Horizontal)
        self.thumb_scale.setInvertedAppearance(False)
        self.thumb_scale.setInvertedControls(False)
        self.thumb_scale.setObjectName("thumb_scale")
        self.horizontalLayout_4.addWidget(self.thumb_scale)
        self.middle_area.addLayout(self.horizontalLayout_4)
        self.horizontalLayout_3.addLayout(self.middle_area)
        self.details = QtGui.QGroupBox(Dialog)
        self.details.setMinimumSize(QtCore.QSize(300, 0))
        self.details.setMaximumSize(QtCore.QSize(300, 16777215))
        self.details.setTitle("")
        self.details.setObjectName("details")
        self.verticalLayout_3 = QtGui.QVBoxLayout(self.details)
        self.verticalLayout_3.setSpacing(2)
        self.verticalLayout_3.setContentsMargins(4, 4, 4, 4)
        self.verticalLayout_3.setObjectName("verticalLayout_3")
        self.horizontalLayout = QtGui.QHBoxLayout()
        self.horizontalLayout.setObjectName("horizontalLayout")
        spacerItem2 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
        self.horizontalLayout.addItem(spacerItem2)
        self.details_image = QtGui.QLabel(self.details)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.details_image.sizePolicy().hasHeightForWidth())
        self.details_image.setSizePolicy(sizePolicy)
        self.details_image.setMinimumSize(QtCore.QSize(256, 200))
        self.details_image.setMaximumSize(QtCore.QSize(256, 200))
        self.details_image.setScaledContents(True)
        self.details_image.setAlignment(QtCore.Qt.AlignCenter)
        self.details_image.setObjectName("details_image")
        self.horizontalLayout.addWidget(self.details_image)
        spacerItem3 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
        self.horizontalLayout.addItem(spacerItem3)
        self.verticalLayout_3.addLayout(self.horizontalLayout)
        self.horizontalLayout_5 = QtGui.QHBoxLayout()
        self.horizontalLayout_5.setObjectName("horizontalLayout_5")
        self.details_header = QtGui.QLabel(self.details)
        self.details_header.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignTop)
        self.details_header.setWordWrap(True)
        self.details_header.setObjectName("details_header")
        self.horizontalLayout_5.addWidget(self.details_header)
        spacerItem4 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
        self.horizontalLayout_5.addItem(spacerItem4)
        self.verticalLayout_4 = QtGui.QVBoxLayout()
        self.verticalLayout_4.setObjectName("verticalLayout_4")
        self.detail_playback_btn = QtGui.QToolButton(self.details)
        self.detail_playback_btn.setMinimumSize(QtCore.QSize(55, 55))
        self.detail_playback_btn.setMaximumSize(QtCore.QSize(55, 55))
        self.detail_playback_btn.setText("")
        icon4 = QtGui.QIcon()
        icon4.addPixmap(QtGui.QPixmap(":/res/play_icon.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.detail_playback_btn.setIcon(icon4)
        self.detail_playback_btn.setIconSize(QtCore.QSize(40, 40))
        self.detail_playback_btn.setToolButtonStyle(QtCore.Qt.ToolButtonTextBesideIcon)
        self.detail_playback_btn.setObjectName("detail_playback_btn")
        self.verticalLayout_4.addWidget(self.detail_playback_btn)
        self.detail_actions_btn = QtGui.QToolButton(self.details)
        self.detail_actions_btn.setMinimumSize(QtCore.QSize(55, 0))
        self.detail_actions_btn.setMaximumSize(QtCore.QSize(55, 16777215))
        self.detail_actions_btn.setPopupMode(QtGui.QToolButton.InstantPopup)
        self.detail_actions_btn.setToolButtonStyle(QtCore.Qt.ToolButtonTextOnly)
        self.detail_actions_btn.setObjectName("detail_actions_btn")
        self.verticalLayout_4.addWidget(self.detail_actions_btn)
        self.horizontalLayout_5.addLayout(self.verticalLayout_4)
        self.verticalLayout_3.addLayout(self.horizontalLayout_5)
        self.version_history_label = QtGui.QLabel(self.details)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Maximum)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.version_history_label.sizePolicy().hasHeightForWidth())
        self.version_history_label.setSizePolicy(sizePolicy)
        self.version_history_label.setStyleSheet("QLabel { padding-top: 14px}")
        self.version_history_label.setAlignment(QtCore.Qt.AlignCenter)
        self.version_history_label.setWordWrap(True)
        self.version_history_label.setObjectName("version_history_label")
        self.verticalLayout_3.addWidget(self.version_history_label)
        self.history_view = QtGui.QListView(self.details)
        self.history_view.setVerticalScrollMode(QtGui.QAbstractItemView.ScrollPerPixel)
        self.history_view.setHorizontalScrollMode(QtGui.QAbstractItemView.ScrollPerPixel)
        self.history_view.setUniformItemSizes(True)
        self.history_view.setObjectName("history_view")
        self.verticalLayout_3.addWidget(self.history_view)
        self.horizontalLayout_3.addWidget(self.details)
        self.horizontalLayout_3.setStretch(0, 1)
        self.horizontalLayout_3.setStretch(1, 2)

        self.retranslateUi(Dialog)
        self.entity_preset_tabs.setCurrentIndex(-1)
        QtCore.QMetaObject.connectSlotsByName(Dialog)
        Dialog.setTabOrder(self.navigation_home, self.navigation_prev)
        Dialog.setTabOrder(self.navigation_prev, self.navigation_next)
        Dialog.setTabOrder(self.navigation_next, self.publish_type_list)
        Dialog.setTabOrder(self.publish_type_list, self.show_sub_items)
        Dialog.setTabOrder(self.show_sub_items, self.thumb_scale)
        Dialog.setTabOrder(self.thumb_scale, self.history_view)
Esempio n. 17
0
    def _create_table(self):

        # set initial rows and columns
        row_count = len(self.edl_data) + 1
        column_count = len(self.header_list)
        self.ui.table.setRowCount(row_count)
        self.ui.table.setColumnCount(column_count)

        black = QtGui.QColor(0, 0, 0)

        logger.info('Creating table header row')

        # create table header row
        col_num = 0
        for header_name in self.header_list:
            item = QtGui.QTableWidgetItem()
            item.setText(header_name)
            item.setBackground(black)
            item.setFlags(QtCore.Qt.ItemIsEnabled
                          | QtCore.Qt.ItemIsSelectable)  # not ItemIsEditable
            self.ui.table.setItem(0, col_num, item)
            col_num += 1

        logger.info('Adding EDL data to table')

        # add all rows of edl data to the table
        for row_num, shot_dict in enumerate(self.edl_data):
            row_num += 1  # adjust for header row
            col_num = 0
            # use header names as keys
            for k in self.header_list:
                item = QtGui.QTableWidgetItem()
                if k == 'Import':
                    checkbox = QtGui.QCheckBox()
                    checkbox.setCheckState(QtCore.Qt.Checked)
                    self.ui.table.setCellWidget(row_num, col_num, checkbox)
                else:
                    item = QtGui.QTableWidgetItem()
                    if k == 'Entity Type':
                        item.setText('Element')
                    else:
                        item.setText(shot_dict[k])
                item.setFlags(
                    QtCore.Qt.ItemIsEnabled
                    | QtCore.Qt.ItemIsSelectable)  # not ItemIsEditable
                self.ui.table.setItem(row_num, col_num, item)
                col_num += 1

        # create list of parents shots in table
        parent_shot_list = list()
        parent_shots_column = self.header_list.index('Parent Shots')
        for row in range(1, self.ui.table.rowCount() + 1):
            item = self.ui.table.item(row, parent_shots_column)
            if item and item.text():
                parent_shot = item.text()
                if parent_shot not in parent_shot_list:
                    parent_shot_list.append(parent_shot)

        # TODO: REMOVE THIS
        logger.info('Checking shotgun for existing parent shots')

        # check shotgun for parent shots that may have been previously created
        # make a list of any shots that need to be created
        create_new_shot_list = list()
        for parent_shot in parent_shot_list:
            # find in shotgun
            shot = self.sg.find_one(
                'Shot',
                [['project', 'is', self.project], ['code', 'is', parent_shot]])
            if not shot and parent_shot not in create_new_shot_list:
                create_new_shot_list.append(parent_shot)

        logger.info('Adding parent shots to table')

        # add new shots to table
        for shot_name in create_new_shot_list:
            row = 0
            col = self.header_list.index('Parent Shots')
            # find the shot in the table, we need the row number
            for row in range(1, self.ui.table.rowCount() + 1):
                item = self.ui.table.item(row, col)
                if item.text() == shot_name:
                    break
            if row == 0:
                continue
            episode_item = self.ui.table.item(
                row, self.header_list.index('Episode'))
            sequence_item = self.ui.table.item(
                row, self.header_list.index('Sequence'))
            episode = ''
            sequence = ''
            if episode_item:
                episode = episode_item.text()
            if sequence_item:
                sequence = sequence_item.text()
            # find where to insert new shot row
            # loop through rows until an "Element" is found
            # we will insert new shot row before the element row
            new_row_number = 1
            for new_row_number in range(1, self.ui.table.rowCount()):
                item = self.ui.table.item(
                    new_row_number, self.header_list.index('Entity Type'))
                if item.text() == 'Element':
                    break
            self.ui.table.insertRow(new_row_number)
            # add new shot to table
            for header_name in self.header_list:
                item = QtGui.QTableWidgetItem()
                if header_name == 'Episode':
                    item.setText(episode)
                elif header_name == 'Sequence':
                    item.setText(sequence)
                elif header_name == 'Shot Code':
                    item.setText(shot_name)
                elif header_name == 'Entity Type':
                    item.setText('Shot')
                self.ui.table.setItem(new_row_number,
                                      self.header_list.index(header_name),
                                      item)
            checkbox = QtGui.QCheckBox()
            checkbox.setCheckState(QtCore.Qt.Checked)
            self.ui.table.setCellWidget(new_row_number,
                                        self.ui.table.columnCount() - 1,
                                        checkbox)

        # remove all flags to disable item
        # item.setFlags(QtCore.Qt.NoItemFlags)
        # set a flag
        # note this will wipe out other flag values
        # item.setFlags(QtCore.Qt.ItemIsSelectable)
        # set several flags
        # item.setFlags(QtCore.Qt.ItemIsEnabled | QtCore.Qt.ItemIsSelectable | QtCore.Qt.ItemIsEditable)
        self.setMinimumSize(1500, 540)
        self.resize(1500, 540)
        self.ui.button_file_open.hide()
        self.ui.button_shotgun_import.show()
        self.update()
    def setupUi(self, FileGroupWidget):
        FileGroupWidget.setObjectName("FileGroupWidget")
        FileGroupWidget.resize(326, 57)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred,
                                       QtGui.QSizePolicy.MinimumExpanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            FileGroupWidget.sizePolicy().hasHeightForWidth())
        FileGroupWidget.setSizePolicy(sizePolicy)
        FileGroupWidget.setMouseTracking(True)
        FileGroupWidget.setFocusPolicy(QtCore.Qt.TabFocus)
        self.verticalLayout = QtGui.QVBoxLayout(FileGroupWidget)
        self.verticalLayout.setSpacing(2)
        self.verticalLayout.setSizeConstraint(QtGui.QLayout.SetMinimumSize)
        self.verticalLayout.setContentsMargins(0, 0, 0, 0)
        self.verticalLayout.setObjectName("verticalLayout")
        self.horizontalLayout = QtGui.QHBoxLayout()
        self.horizontalLayout.setContentsMargins(-1, -1, 6, -1)
        self.horizontalLayout.setObjectName("horizontalLayout")
        self.expand_check_box = QtGui.QCheckBox(FileGroupWidget)
        self.expand_check_box.setMinimumSize(QtCore.QSize(0, 20))
        self.expand_check_box.setStyleSheet("")
        self.expand_check_box.setText("")
        self.expand_check_box.setIconSize(QtCore.QSize(16, 16))
        self.expand_check_box.setObjectName("expand_check_box")
        self.horizontalLayout.addWidget(self.expand_check_box)
        self.title_label = QtGui.QLabel(FileGroupWidget)
        self.title_label.setStyleSheet("")
        self.title_label.setAlignment(QtCore.Qt.AlignLeading
                                      | QtCore.Qt.AlignLeft
                                      | QtCore.Qt.AlignVCenter)
        self.title_label.setMargin(0)
        self.title_label.setObjectName("title_label")
        self.horizontalLayout.addWidget(self.title_label)
        self.user_label = QtGui.QLabel(FileGroupWidget)
        self.user_label.setStyleSheet("")
        self.user_label.setAlignment(QtCore.Qt.AlignLeading
                                     | QtCore.Qt.AlignLeft
                                     | QtCore.Qt.AlignVCenter)
        self.user_label.setIndent(3)
        self.user_label.setObjectName("user_label")
        self.horizontalLayout.addWidget(self.user_label)
        spacerItem = QtGui.QSpacerItem(0, 20, QtGui.QSizePolicy.Expanding,
                                       QtGui.QSizePolicy.Minimum)
        self.horizontalLayout.addItem(spacerItem)
        self.spinner = QtGui.QLabel(FileGroupWidget)
        self.spinner.setMinimumSize(QtCore.QSize(20, 20))
        self.spinner.setMaximumSize(QtCore.QSize(20, 20))
        self.spinner.setStyleSheet("")
        self.spinner.setText("")
        self.spinner.setObjectName("spinner")
        self.horizontalLayout.addWidget(self.spinner)
        self.horizontalLayout.setStretch(3, 1)
        self.verticalLayout.addLayout(self.horizontalLayout)
        self.verticalLayout_2 = QtGui.QVBoxLayout()
        self.verticalLayout_2.setSpacing(0)
        self.verticalLayout_2.setSizeConstraint(QtGui.QLayout.SetMinimumSize)
        self.verticalLayout_2.setContentsMargins(0, -1, 0, -1)
        self.verticalLayout_2.setObjectName("verticalLayout_2")
        self.line = QtGui.QFrame(FileGroupWidget)
        self.line.setFrameShape(QtGui.QFrame.HLine)
        self.line.setFrameShadow(QtGui.QFrame.Sunken)
        self.line.setObjectName("line")
        self.verticalLayout_2.addWidget(self.line)
        self.msg_label = QtGui.QLabel(FileGroupWidget)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred,
                                       QtGui.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.msg_label.sizePolicy().hasHeightForWidth())
        self.msg_label.setSizePolicy(sizePolicy)
        self.msg_label.setStyleSheet("")
        self.msg_label.setAlignment(QtCore.Qt.AlignLeading
                                    | QtCore.Qt.AlignLeft | QtCore.Qt.AlignTop)
        self.msg_label.setWordWrap(True)
        self.msg_label.setMargin(2)
        self.msg_label.setObjectName("msg_label")
        self.verticalLayout_2.addWidget(self.msg_label)
        self.verticalLayout.addLayout(self.verticalLayout_2)
        self.verticalLayout.setStretch(1, 1)

        self.retranslateUi(FileGroupWidget)
        QtCore.QMetaObject.connectSlotsByName(FileGroupWidget)
Esempio n. 19
0
    def _populate_ui(self):
        """
        Build the UI.
        """

        show_msg_box = QtGui.QPushButton("Click to show MessageBox")
        show_msg_box.clicked.connect(self._show_message_box)

        show_details_always = QtGui.QCheckBox("Always Show Details")
        show_details_always.clicked.connect(self._set_always_show_details)

        show_remember_checkbox = QtGui.QCheckBox("Hide Remember Checkbox")
        show_remember_checkbox.clicked.connect(
            self._set_show_remember_checkbox)

        show_details_text_label = QtGui.QLabel(
            "Customize the 'Show Details...' Button Text:")
        show_details_text_label.setToolTip("Leave blank to use default")
        self._show_details_text = QtGui.QLineEdit()
        show_details_text_layout = QtGui.QHBoxLayout()
        show_details_text_layout.addWidget(show_details_text_label)
        show_details_text_layout.addWidget(self._show_details_text)

        hide_details_text_label = QtGui.QLabel(
            "Customize the 'Hide Details...' Button Text:")
        hide_details_text_label.setToolTip("Leave blank to use default")
        self._hide_details_text = QtGui.QLineEdit()
        hide_details_text_layout = QtGui.QHBoxLayout()
        hide_details_text_layout.addWidget(hide_details_text_label)
        hide_details_text_layout.addWidget(self._hide_details_text)

        checkbox_options = QtGui.QHBoxLayout()
        checkbox_options.addWidget(show_details_always)
        checkbox_options.addWidget(show_remember_checkbox)
        checkbox_options.addStretch()

        toolbar_layout = QtGui.QVBoxLayout()
        toolbar_layout.addLayout(checkbox_options)
        toolbar_layout.addLayout(show_details_text_layout)
        toolbar_layout.addLayout(hide_details_text_layout)

        self._msg_box_result = QtGui.QLabel()
        self._msg_box_result.setToolTip(
            "This is the button role of the button that was clicked to close the dialog."
        )
        self._button_clicked_result = QtGui.QLabel()
        self._msg_box_result.setToolTip(
            "This is the button that was clicked to close the dialog.")
        self._remember_value = QtGui.QLabel()
        self._msg_box_result.setToolTip(
            "This is the value of the 'remember' checkbox on closing the dialog."
        )

        footer_layout = QtGui.QVBoxLayout()
        footer_layout.addWidget(self._msg_box_result)
        footer_layout.addWidget(self._button_clicked_result)
        footer_layout.addWidget(self._remember_value)

        # The main demo layout
        vlayout = QtGui.QVBoxLayout()
        vlayout.addLayout(toolbar_layout)
        vlayout.addStretch()
        vlayout.addWidget(show_msg_box)
        vlayout.addStretch()
        vlayout.addLayout(footer_layout)

        self.setLayout(vlayout)
    def _setup_ui(self):
        self.setWindowTitle('Create Output')
        self.setFixedSize(465, 125)

        output_group = QtGui.QGroupBox('Create Output')

        # Name and type layout
        type_layout = QtGui.QHBoxLayout()

        type_label = QtGui.QLabel('Type:')

        self._type_combo = QtGui.QComboBox()
        for out_type in self._types:
            self._type_combo.addItem(out_type)

        self._name_line = QtGui.QLineEdit()
        self._name_line.setPlaceholderText('Cache Name')
        self._name_line.returnPressed.connect(self._on_btn_press)

        cache_name = QtGui.QLabel('Cache Name:')

        type_layout.addWidget(type_label)
        type_layout.addWidget(self._type_combo)
        type_layout.addWidget(cache_name)
        type_layout.addWidget(self._name_line)

        # toggles layout
        range_label = QtGui.QLabel('Range:')

        self._range_combo = QtGui.QComboBox()
        self._range_combo.addItem('Single')
        self._range_combo.addItem('Multiple')
        self._range_combo.setCurrentIndex(1)

        range_layout = QtGui.QHBoxLayout()
        range_layout.addWidget(range_label)
        range_layout.addWidget(self._range_combo)

        self._sim_toggle = QtGui.QCheckBox('Simulation')
        self._version_toggle = QtGui.QCheckBox('Auto Version')
        self._version_toggle.setChecked(True)
        self._publish_toggle = QtGui.QCheckBox('Auto Publish')

        toggle_layout = QtGui.QHBoxLayout()

        toggle_layout.addLayout(range_layout)
        toggle_layout.addWidget(self._sim_toggle)
        toggle_layout.addWidget(self._version_toggle)
        toggle_layout.addWidget(self._publish_toggle)

        # Add layout
        changedgroup_layout = QtGui.QVBoxLayout(output_group)
        changedgroup_layout.addLayout(type_layout)
        changedgroup_layout.addLayout(toggle_layout)

        # Create _button
        self._button = QtGui.QPushButton('Create outputs')
        self._button.clicked.connect(self._on_btn_press)

        layout = QtGui.QVBoxLayout()
        layout.addWidget(output_group)
        layout.addWidget(self._button)
        self.setLayout(layout)
Esempio n. 21
0
    def setupUi(self, FileGroupWidget):
        FileGroupWidget.setObjectName("FileGroupWidget")
        FileGroupWidget.resize(326, 49)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred,
                                       QtGui.QSizePolicy.MinimumExpanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            FileGroupWidget.sizePolicy().hasHeightForWidth())
        FileGroupWidget.setSizePolicy(sizePolicy)
        FileGroupWidget.setMouseTracking(True)
        FileGroupWidget.setFocusPolicy(QtCore.Qt.TabFocus)
        self.verticalLayout = QtGui.QVBoxLayout(FileGroupWidget)
        self.verticalLayout.setSpacing(2)
        self.verticalLayout.setSizeConstraint(QtGui.QLayout.SetMinimumSize)
        self.verticalLayout.setContentsMargins(0, 0, 0, 0)
        self.verticalLayout.setObjectName("verticalLayout")
        self.horizontalLayout = QtGui.QHBoxLayout()
        self.horizontalLayout.setContentsMargins(-1, -1, 6, -1)
        self.horizontalLayout.setObjectName("horizontalLayout")
        self.expand_check_box = QtGui.QCheckBox(FileGroupWidget)
        self.expand_check_box.setMinimumSize(QtCore.QSize(0, 20))
        self.expand_check_box.setStyleSheet(
            "#expand_check_box::indicator {\n"
            "width: 12;\n"
            "height: 12;\n"
            "}\n"
            "\n"
            "#expand_check_box {\n"
            "font: 14px;\n"
            "}\n"
            "\n"
            "#expand_check_box::indicator::unchecked {\n"
            "    image: url(:/tk-multi-workfiles2/tree_arrow_collapsed.png);\n"
            "\n"
            "}\n"
            "\n"
            "#expand_check_box::indicator::unchecked::hover {\n"
            "    image: url(:/tk-multi-workfiles2/tree_arrow_collapsed.png);\n"
            "}\n"
            "\n"
            "#expand_check_box::indicator::checked {\n"
            "    image: url(:/tk-multi-workfiles2/tree_arrow_expanded.png);\n"
            "}\n"
            "\n"
            "/*#grid_radio_btn::indicator::checked::hover {\n"
            "    image: url(:/tk-multi-workfiles2/grid_view_checked_hover.png);\n"
            "}*/")
        self.expand_check_box.setText("")
        self.expand_check_box.setIconSize(QtCore.QSize(16, 16))
        self.expand_check_box.setObjectName("expand_check_box")
        self.horizontalLayout.addWidget(self.expand_check_box)
        self.title_label = QtGui.QLabel(FileGroupWidget)
        self.title_label.setStyleSheet("#title_label {\n"
                                       "font-size: 14px;\n"
                                       "}")
        self.title_label.setAlignment(QtCore.Qt.AlignLeading
                                      | QtCore.Qt.AlignLeft
                                      | QtCore.Qt.AlignVCenter)
        self.title_label.setMargin(0)
        self.title_label.setObjectName("title_label")
        self.horizontalLayout.addWidget(self.title_label)
        self.user_label = QtGui.QLabel(FileGroupWidget)
        self.user_label.setStyleSheet("#user_label {\n"
                                      "font-size: 10px;\n"
                                      "color: rgb(0, 178, 236);\n"
                                      "}")
        self.user_label.setAlignment(QtCore.Qt.AlignLeading
                                     | QtCore.Qt.AlignLeft
                                     | QtCore.Qt.AlignVCenter)
        self.user_label.setIndent(3)
        self.user_label.setObjectName("user_label")
        self.horizontalLayout.addWidget(self.user_label)
        spacerItem = QtGui.QSpacerItem(0, 20, QtGui.QSizePolicy.Expanding,
                                       QtGui.QSizePolicy.Minimum)
        self.horizontalLayout.addItem(spacerItem)
        self.spinner = QtGui.QLabel(FileGroupWidget)
        self.spinner.setMinimumSize(QtCore.QSize(20, 20))
        self.spinner.setMaximumSize(QtCore.QSize(20, 20))
        self.spinner.setStyleSheet("")
        self.spinner.setText("")
        self.spinner.setObjectName("spinner")
        self.horizontalLayout.addWidget(self.spinner)
        self.horizontalLayout.setStretch(3, 1)
        self.verticalLayout.addLayout(self.horizontalLayout)
        self.verticalLayout_2 = QtGui.QVBoxLayout()
        self.verticalLayout_2.setSpacing(0)
        self.verticalLayout_2.setSizeConstraint(QtGui.QLayout.SetMinimumSize)
        self.verticalLayout_2.setContentsMargins(0, -1, 0, -1)
        self.verticalLayout_2.setObjectName("verticalLayout_2")
        self.line = QtGui.QFrame(FileGroupWidget)
        self.line.setFrameShape(QtGui.QFrame.HLine)
        self.line.setFrameShadow(QtGui.QFrame.Sunken)
        self.line.setObjectName("line")
        self.verticalLayout_2.addWidget(self.line)
        self.msg_label = QtGui.QLabel(FileGroupWidget)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred,
                                       QtGui.QSizePolicy.Preferred)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.msg_label.sizePolicy().hasHeightForWidth())
        self.msg_label.setSizePolicy(sizePolicy)
        self.msg_label.setStyleSheet("#msg_label {\n"
                                     "font: 11px;\n"
                                     "color: grey;\n"
                                     "}")
        self.msg_label.setAlignment(QtCore.Qt.AlignLeading
                                    | QtCore.Qt.AlignLeft | QtCore.Qt.AlignTop)
        self.msg_label.setWordWrap(True)
        self.msg_label.setMargin(2)
        self.msg_label.setObjectName("msg_label")
        self.verticalLayout_2.addWidget(self.msg_label)
        self.verticalLayout.addLayout(self.verticalLayout_2)
        self.verticalLayout.setStretch(1, 1)

        self.retranslateUi(FileGroupWidget)
        QtCore.QMetaObject.connectSlotsByName(FileGroupWidget)
Esempio n. 22
0
    def setupUi(self, BrowserIntegrationUserSwitchDialog):
        BrowserIntegrationUserSwitchDialog.setObjectName(
            "BrowserIntegrationUserSwitchDialog")
        BrowserIntegrationUserSwitchDialog.resize(430, 141)
        self.verticalLayout = QtGui.QVBoxLayout(
            BrowserIntegrationUserSwitchDialog)
        self.verticalLayout.setObjectName("verticalLayout")
        self.reason_label = QtGui.QLabel(BrowserIntegrationUserSwitchDialog)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred,
                                       QtGui.QSizePolicy.MinimumExpanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.reason_label.sizePolicy().hasHeightForWidth())
        self.reason_label.setSizePolicy(sizePolicy)
        self.reason_label.setAlignment(QtCore.Qt.AlignLeading
                                       | QtCore.Qt.AlignLeft
                                       | QtCore.Qt.AlignTop)
        self.reason_label.setWordWrap(True)
        self.reason_label.setObjectName("reason_label")
        self.verticalLayout.addWidget(self.reason_label)
        self.verticalLayout_2 = QtGui.QVBoxLayout()
        self.verticalLayout_2.setObjectName("verticalLayout_2")
        self.horizontalLayout_2 = QtGui.QHBoxLayout()
        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
        spacerItem = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding,
                                       QtGui.QSizePolicy.Minimum)
        self.horizontalLayout_2.addItem(spacerItem)
        self.ignore_checkbox = QtGui.QCheckBox(
            BrowserIntegrationUserSwitchDialog)
        self.ignore_checkbox.setObjectName("ignore_checkbox")
        self.horizontalLayout_2.addWidget(self.ignore_checkbox)
        spacerItem1 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding,
                                        QtGui.QSizePolicy.Minimum)
        self.horizontalLayout_2.addItem(spacerItem1)
        self.verticalLayout_2.addLayout(self.horizontalLayout_2)
        self.horizontalLayout = QtGui.QHBoxLayout()
        self.horizontalLayout.setObjectName("horizontalLayout")
        self.restart_button = QtGui.QPushButton(
            BrowserIntegrationUserSwitchDialog)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed,
                                       QtGui.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.restart_button.sizePolicy().hasHeightForWidth())
        self.restart_button.setSizePolicy(sizePolicy)
        self.restart_button.setObjectName("restart_button")
        self.horizontalLayout.addWidget(self.restart_button)
        self.ignore_button = QtGui.QPushButton(
            BrowserIntegrationUserSwitchDialog)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed,
                                       QtGui.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.ignore_button.sizePolicy().hasHeightForWidth())
        self.ignore_button.setSizePolicy(sizePolicy)
        self.ignore_button.setDefault(True)
        self.ignore_button.setObjectName("ignore_button")
        self.horizontalLayout.addWidget(self.ignore_button)
        self.verticalLayout_2.addLayout(self.horizontalLayout)
        self.verticalLayout.addLayout(self.verticalLayout_2)
        self.label_2 = QtGui.QLabel(BrowserIntegrationUserSwitchDialog)
        self.label_2.setAlignment(QtCore.Qt.AlignCenter)
        self.label_2.setOpenExternalLinks(True)
        self.label_2.setObjectName("label_2")
        self.verticalLayout.addWidget(self.label_2)

        self.retranslateUi(BrowserIntegrationUserSwitchDialog)
        QtCore.QMetaObject.connectSlotsByName(
            BrowserIntegrationUserSwitchDialog)
Esempio n. 23
0
    def _populate_ui(self):
        """
        Build the UI.
        """

        # Button options to change the view model data
        self._basic_model_button = QtGui.QPushButton("Basic Model", self)
        self._basic_model_button.setCheckable(True)
        self._basic_model_button.setFlat(True)
        self._basic_model_button.clicked.connect(self._toggle_view_model)
        self._shotgun_model_button = QtGui.QPushButton("ShotGrid Model", self)
        self._shotgun_model_button.setCheckable(True)
        self._shotgun_model_button.setFlat(True)
        self._shotgun_model_button.clicked.connect(self._toggle_view_model)

        # Button options to change the view mode
        self._list_view_button = QtGui.QPushButton("List View", self)
        self._list_view_button.clicked.connect(self._toggle_view_mode)
        self._list_view_button.setCheckable(True)
        self._list_view_button.setFlat(True)
        self._thumbnail_view_button = QtGui.QPushButton("Thumbnail View", self)
        self._thumbnail_view_button.clicked.connect(self._toggle_view_mode)
        self._thumbnail_view_button.setCheckable(True)
        self._thumbnail_view_button.setFlat(True)

        # Create a slider to dynamically change the view item row height
        self._size_slider = QtGui.QSlider(QtCore.Qt.Horizontal, self)
        self._size_slider.setToolTip(
            "Slider will change row height. This is disabled when the expand checkbox is checked."
        )
        self._size_slider.setMinimum(35)
        self._size_slider.setMaximum(300)
        self._size_slider.valueChanged.connect(self._item_size_change)
        self._size_slider.setValue(75)

        # Create a checkbox option to set the view to expand to fit all text
        size_cb = QtGui.QCheckBox("Expand Row to Fit Text", self)
        size_cb.setToolTip(
            "Expand the row height to fit all text. Checking this will disable the slider."
        )
        size_cb.stateChanged.connect(self._expand_row_height_to_text_changed)
        size_cb.setCheckState(QtCore.Qt.Checked)

        # Set up the top toolbar
        top_toolbar = QtGui.QWidget(self)
        top_toolbar_layout = QtGui.QHBoxLayout(self)
        top_toolbar_layout.addWidget(self._basic_model_button)
        top_toolbar_layout.addWidget(self._shotgun_model_button)
        top_toolbar_layout.addStretch()
        top_toolbar_layout.addWidget(self._list_view_button)
        top_toolbar_layout.addWidget(self._thumbnail_view_button)
        top_toolbar.setLayout(top_toolbar_layout)

        # Set up the bottom toolbar
        bottom_toolbar = QtGui.QWidget(self)
        bottom_toolbar_layout = QtGui.QHBoxLayout(self)
        bottom_toolbar_layout.addWidget(size_cb)
        bottom_toolbar_layout.addWidget(self._size_slider)
        bottom_toolbar.setLayout(bottom_toolbar_layout)

        # Finally layout the main widget
        layout = QtGui.QVBoxLayout(self)
        layout.addWidget(top_toolbar)
        layout.addWidget(self._view)
        layout.addWidget(bottom_toolbar)
        self.setLayout(layout)

        # Start with the displaying the BasicListModel in List mode
        self._basic_model_button.click()
        self._list_view_button.click()
Esempio n. 24
0
    def setupUi(self, FileListForm):
        FileListForm.setObjectName("FileListForm")
        FileListForm.resize(675, 632)
        self.verticalLayout = QtGui.QVBoxLayout(FileListForm)
        self.verticalLayout.setSpacing(4)
        self.verticalLayout.setContentsMargins(2, 6, 2, 2)
        self.verticalLayout.setObjectName("verticalLayout")
        self.horizontalLayout_3 = QtGui.QHBoxLayout()
        self.horizontalLayout_3.setContentsMargins(1, -1, 1, -1)
        self.horizontalLayout_3.setObjectName("horizontalLayout_3")
        self.user_filter_btn = UserFilterButton(FileListForm)
        self.user_filter_btn.setStyleSheet(
            "#user_filter_btn {\n"
            "    width: 40;\n"
            "    height: 24;\n"
            "    border: 0px, none;\n"
            "    border-image: url(:/tk-multi-workfiles2/users_none.png);\n"
            "}\n"
            "#user_filter_btn::hover, #user_filter_btn::pressed {\n"
            "    border-image: url(:/tk-multi-workfiles2/users_none_hover.png);\n"
            "}\n"
            "\n"
            "#user_filter_btn[user_style=\"none\"] {\n"
            "    border-image: url(:/tk-multi-workfiles2/users_none.png);\n"
            "}\n"
            "#user_filter_btn[user_style=\"current\"] {\n"
            "    border-image: url(:/tk-multi-workfiles2/users_current.png);\n"
            "}\n"
            "#user_filter_btn[user_style=\"other\"] {\n"
            "    border-image: url(:/tk-multi-workfiles2/users_other.png);\n"
            "}\n"
            "#user_filter_btn[user_style=\"all\"] {\n"
            "    border-image: url(:/tk-multi-workfiles2/users_all.png);\n"
            "}\n"
            "\n"
            "#user_filter_btn::hover[user_style=\"none\"], #user_filter_btn::pressed[user_style=\"none\"] {\n"
            "    border-image: url(:/tk-multi-workfiles2/users_none_hover.png);\n"
            "}\n"
            "#user_filter_btn::hover[user_style=\"current\"], #user_filter_btn::pressed[user_style=\"current\"] {\n"
            "    border-image: url(:/tk-multi-workfiles2/users_current_hover.png);\n"
            "}\n"
            "#user_filter_btn::hover[user_style=\"other\"], #user_filter_btn::pressed[user_style=\"other\"] {\n"
            "    border-image: url(:/tk-multi-workfiles2/users_other_hover.png);\n"
            "}\n"
            "#user_filter_btn::hover[user_style=\"all\"], #user_filter_btn::pressed[user_style=\"all\"] {\n"
            "    border-image: url(:/tk-multi-workfiles2/users_all_hover.png);\n"
            "}\n"
            "\n"
            "#user_filter_btn::menu-indicator, #user_filter_btn::menu-indicator::pressed, #user_filter_btn::menu-indicator::open {\n"
            "    left: -2px;\n"
            "    top: -2px;\n"
            "    width: 8px;\n"
            "    height: 6px;\n"
            "}\n"
            "")
        self.user_filter_btn.setText("")
        self.user_filter_btn.setFlat(True)
        self.user_filter_btn.setObjectName("user_filter_btn")
        self.horizontalLayout_3.addWidget(self.user_filter_btn)
        self.all_versions_cb = QtGui.QCheckBox(FileListForm)
        self.all_versions_cb.setObjectName("all_versions_cb")
        self.horizontalLayout_3.addWidget(self.all_versions_cb)
        spacerItem = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding,
                                       QtGui.QSizePolicy.Minimum)
        self.horizontalLayout_3.addItem(spacerItem)
        self.search_ctrl = SearchWidget(FileListForm)
        self.search_ctrl.setMinimumSize(QtCore.QSize(100, 0))
        self.search_ctrl.setStyleSheet("#search_ctrl {\n"
                                       "background-color: rgb(255, 128, 0);\n"
                                       "}")
        self.search_ctrl.setObjectName("search_ctrl")
        self.horizontalLayout_3.addWidget(self.search_ctrl)
        self.horizontalLayout_3.setStretch(2, 1)
        self.verticalLayout.addLayout(self.horizontalLayout_3)
        self.view_pages = QtGui.QStackedWidget(FileListForm)
        self.view_pages.setObjectName("view_pages")
        self.list_page = QtGui.QWidget()
        self.list_page.setObjectName("list_page")
        self.horizontalLayout_5 = QtGui.QHBoxLayout(self.list_page)
        self.horizontalLayout_5.setContentsMargins(0, 0, 0, 0)
        self.horizontalLayout_5.setObjectName("horizontalLayout_5")
        self.file_list_view = GroupedListView(self.list_page)
        self.file_list_view.setStyleSheet("")
        self.file_list_view.setObjectName("file_list_view")
        self.horizontalLayout_5.addWidget(self.file_list_view)
        self.view_pages.addWidget(self.list_page)
        self.details_page = QtGui.QWidget()
        self.details_page.setObjectName("details_page")
        self.horizontalLayout_4 = QtGui.QHBoxLayout(self.details_page)
        self.horizontalLayout_4.setContentsMargins(0, 0, 0, 0)
        self.horizontalLayout_4.setObjectName("horizontalLayout_4")
        self.file_details_view = FileDetailsView(self.details_page)
        self.file_details_view.setObjectName("file_details_view")
        self.horizontalLayout_4.addWidget(self.file_details_view)
        self.view_pages.addWidget(self.details_page)
        self.verticalLayout.addWidget(self.view_pages)
        self.verticalLayout.setStretch(1, 1)

        self.retranslateUi(FileListForm)
        self.view_pages.setCurrentIndex(0)
        QtCore.QMetaObject.connectSlotsByName(FileListForm)
Esempio n. 25
0
    def setupUi(self, Preferences):
        Preferences.setObjectName("Preferences")
        Preferences.resize(328, 80)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed,
                                       QtGui.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            Preferences.sizePolicy().hasHeightForWidth())
        Preferences.setSizePolicy(sizePolicy)
        Preferences.setMinimumSize(QtCore.QSize(328, 80))
        Preferences.setMaximumSize(QtCore.QSize(328, 80))
        Preferences.setModal(True)
        self.gridLayout = QtGui.QGridLayout(Preferences)
        self.gridLayout.setObjectName("gridLayout")
        self.auto_start_label = QtGui.QLabel(Preferences)
        self.auto_start_label.setEnabled(True)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred,
                                       QtGui.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.auto_start_label.sizePolicy().hasHeightForWidth())
        self.auto_start_label.setSizePolicy(sizePolicy)
        self.auto_start_label.setMaximumSize(QtCore.QSize(16777215, 18))
        self.auto_start_label.setAlignment(QtCore.Qt.AlignBottom
                                           | QtCore.Qt.AlignLeading
                                           | QtCore.Qt.AlignLeft)
        self.auto_start_label.setObjectName("auto_start_label")
        self.gridLayout.addWidget(self.auto_start_label, 0, 1, 1, 3)
        self.auto_start_checkbox = QtGui.QCheckBox(Preferences)
        self.auto_start_checkbox.setEnabled(True)
        self.auto_start_checkbox.setText("")
        self.auto_start_checkbox.setObjectName("auto_start_checkbox")
        self.gridLayout.addWidget(self.auto_start_checkbox, 0, 0, 1, 1)
        self.horizontalLayout_3 = QtGui.QHBoxLayout()
        self.horizontalLayout_3.setSpacing(3)
        self.horizontalLayout_3.setObjectName("horizontalLayout_3")
        self.hotkey = HotKeyEditor(Preferences)
        self.hotkey.setText("")
        self.hotkey.setFrame(False)
        self.hotkey.setObjectName("hotkey")
        self.horizontalLayout_3.addWidget(self.hotkey)
        self.hotkey_clear = QtGui.QPushButton(Preferences)
        self.hotkey_clear.setEnabled(True)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed,
                                       QtGui.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.hotkey_clear.sizePolicy().hasHeightForWidth())
        self.hotkey_clear.setSizePolicy(sizePolicy)
        self.hotkey_clear.setMaximumSize(QtCore.QSize(16, 16))
        self.hotkey_clear.setText("")
        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap(":/tk-desktop/x.png"), QtGui.QIcon.Normal,
                       QtGui.QIcon.Off)
        self.hotkey_clear.setIcon(icon)
        self.hotkey_clear.setIconSize(QtCore.QSize(8, 8))
        self.hotkey_clear.setAutoDefault(False)
        self.hotkey_clear.setObjectName("hotkey_clear")
        self.horizontalLayout_3.addWidget(self.hotkey_clear)
        self.gridLayout.addLayout(self.horizontalLayout_3, 1, 2, 1, 2)
        self.hotkey_label = QtGui.QLabel(Preferences)
        self.hotkey_label.setEnabled(True)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred,
                                       QtGui.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.hotkey_label.sizePolicy().hasHeightForWidth())
        self.hotkey_label.setSizePolicy(sizePolicy)
        self.hotkey_label.setMaximumSize(QtCore.QSize(16777215, 18))
        self.hotkey_label.setTextInteractionFlags(QtCore.Qt.NoTextInteraction)
        self.hotkey_label.setObjectName("hotkey_label")
        self.gridLayout.addWidget(self.hotkey_label, 1, 1, 1, 1)
        self.gridLayout.setColumnStretch(3, 1)

        self.retranslateUi(Preferences)
        QtCore.QMetaObject.connectSlotsByName(Preferences)
Esempio n. 26
0
    def _setup_ui(self):
        self.setWindowTitle('Flipbook')

        #Top lout
        upper_bar = QtGui.QHBoxLayout()
        title_lab = QtGui.QLabel('Flipbook versioning system')
        refresh_but = QtGui.QPushButton()
        refresh_but.setFixedSize(25, 25)
        icon = QtGui.QIcon(
            os.path.abspath(
                os.path.join(os.path.dirname(__file__), "..", "..",
                             "resources", "refresh.png")))
        refresh_but.setIcon(icon)
        refresh_but.clicked.connect(self._refresh_treewidget)

        upper_bar.addWidget(title_lab)
        upper_bar.addWidget(refresh_but)

        #Tree layout
        self._tree_widget = QtGui.QTreeWidget()
        self._tree_widget.itemClicked.connect(self._set_flipbook_name_sel)

        self._tree_widget.setColumnCount(
            len(self._column_names.get_nice_names()))
        self._tree_widget.setHeaderLabels(self._column_names.get_nice_names())
        self._tree_widget.setSelectionMode(
            QtGui.QAbstractItemView.SelectionMode.ExtendedSelection)
        self._tree_widget.header().setSectionsMovable(False)
        self._tree_widget.header().resizeSections(
            QtGui.QHeaderView.ResizeToContents)
        self._tree_widget.itemDoubleClicked.connect(self._item_double_clicked)
        self._tree_widget.itemExpanded.connect(self._item_expanded)

        tree_bar = QtGui.QHBoxLayout()
        del_but = QtGui.QPushButton('Delete')
        del_but.clicked.connect(self._del_flipbooks)
        load_but = QtGui.QPushButton('Load in Mplay')
        load_but.clicked.connect(self._load_flipbooks)
        send_but = QtGui.QPushButton('Copy Path')
        send_but.clicked.connect(self._copy_flipbook_clipboard)
        publish_but = QtGui.QPushButton('Publish')
        publish_but.clicked.connect(self._publish_flipbook)

        tree_bar.addWidget(del_but)
        tree_bar.addWidget(load_but)
        tree_bar.addWidget(send_but)
        tree_bar.addWidget(publish_but)

        #New flipbook layout
        new_flipbook_bar = QtGui.QVBoxLayout()
        title_label = QtGui.QLabel('New Flipbook Settings')

        #Name
        name_bar = QtGui.QHBoxLayout()
        self._name_line = QtGui.QLineEdit()
        self._name_line.setPlaceholderText('flipbook')

        name_bar.addWidget(self._name_line)

        name_box = QtGui.QGroupBox('Flipbook Name')
        name_box.setLayout(name_bar)

        #Comment
        comment_bar = QtGui.QHBoxLayout()
        self._comment_line = QtGui.QLineEdit()
        self._comment_line.returnPressed.connect(self._create_flipbook)

        comment_bar.addWidget(self._comment_line)

        comment_box = QtGui.QGroupBox('Comment')
        comment_box.setLayout(comment_bar)

        name_comment_layout = QtGui.QHBoxLayout()
        name_comment_layout.addWidget(name_box)
        name_comment_layout.addWidget(comment_box)

        #Create Name Button Larout
        name_but_layout = QtGui.QHBoxLayout()
        name_but_layout.addLayout(name_comment_layout)

        #Range
        range_bar = QtGui.QHBoxLayout()
        self._start_line = QtGui.QLineEdit()
        self._start_line.setPlaceholderText('$RFSTART')
        self._end_line = QtGui.QLineEdit()
        self._end_line.setPlaceholderText('$RFEND')

        range_bar.addWidget(self._start_line)
        range_bar.addWidget(self._end_line)

        range_box = QtGui.QGroupBox('Range')
        range_box.setLayout(range_bar)

        #Create button
        create_bar = QtGui.QVBoxLayout()
        self._beauty_toggle = QtGui.QCheckBox('Render Bg')
        self._beauty_toggle.setCheckState(QtCore.Qt.CheckState.Unchecked)

        create_but = QtGui.QPushButton('Create')
        create_but.setDefault(True)
        create_but.clicked.connect(self._create_flipbook)

        create_bar.addWidget(self._beauty_toggle)
        create_bar.addWidget(create_but)

        #Create Range Res Layout
        groupbox_layout = QtGui.QHBoxLayout()
        groupbox_layout.addWidget(range_box)
        groupbox_layout.addLayout(create_bar)

        new_flipbook_bar.addWidget(title_label)
        new_flipbook_bar.addLayout(name_but_layout)
        new_flipbook_bar.addLayout(groupbox_layout)

        #Create final layout
        self.setLayout(QtGui.QVBoxLayout())
        self.layout().addLayout(upper_bar)
        self.layout().addWidget(self._tree_widget)
        self.layout().addLayout(tree_bar)
        self.layout().addLayout(new_flipbook_bar)