Exemplo n.º 1
0
    def create_ui(self):
        self.dialog = QtGui.QDialog()
        self.dialog.setWindowTitle('Select Item Type')
        self.dialog.setMinimumWidth(300)
        self.dialog.setMinimumHeight(100)
        self.dialog.setWindowFlags(QtCore.Qt.CustomizeWindowHint
                                   | QtCore.Qt.WindowTitleHint)
        self.dialog.keyPressEvent = self.key_press_event
        main_layout = QtGui.QVBoxLayout(self.dialog)

        qtwidgets = sgtk.platform.framework.load_framework(
            self.engine, self.engine.context, self.engine.env,
            "tk-framework-qtwidgets_v2.x.x")
        elided_label = qtwidgets.import_module("elided_label")

        path_label = elided_label.ElidedLabel()
        path_label.setText("File Name: {}".format(self.path))
        main_layout.addWidget(path_label)
        # create list widget with items
        self.items_list_widget = QtGui.QListWidget()
        self.items_list_widget.addItems(self.item_types)
        main_layout.addWidget(self.items_list_widget)
        # select first item
        self.items_list_widget.setCurrentRow(0)
        # create "OK" button
        ok_button = QtGui.QPushButton("OK")
        ok_button.clicked.connect(self.get_selected_item)
        main_layout.addWidget(ok_button)
        self.dialog.exec_()
Exemplo n.º 2
0
    def __init__(self, parent):
        super(EnvImporter, self).__init__(parent)

        self.state = {
            'projects': None,
            'project': None,
            'environments': None,
            'environment': None,
        }

        # Can't get this search widget to work right...
        # search = sgtk.platform.import_framework(
        #     "tk-framework-qtwidgets",
        #     "shotgun_search_widget",
        # )
        # self.project_search = search.GlobalSearchWidget(self)
        # self.project_search.set_searchable_entity_types({'Project': []})
        # self.project_search.set_placeholder_text('Search for Project')
        # self.project_search.entity_activated.connect(self.on_entity_activated)

        # Create widgets
        self.project_search = QtGui.QComboBox()
        self.env_list = QtGui.QComboBox()
        self.engine = QtGui.QLineEdit()
        self.engine.setReadOnly(True)
        self.engine.setFocusPolicy(QtCore.Qt.NoFocus)
        self.req_list = QtGui.QListWidget()
        self.import_button = QtGui.QPushButton('Import')
        self.cancel_button = QtGui.QPushButton('Cancel')

        # Layout widgets
        button_layout = QtGui.QHBoxLayout()
        button_layout.addWidget(self.import_button)
        button_layout.addWidget(self.cancel_button)

        layout = QtGui.QVBoxLayout()
        layout.addWidget(QtGui.QLabel('Project'))
        layout.addWidget(self.project_search)
        layout.addWidget(QtGui.QLabel('Environment'))
        layout.addWidget(self.env_list)
        layout.addWidget(QtGui.QLabel('Engine'))
        layout.addWidget(self.engine)
        layout.addWidget(QtGui.QLabel('Requires'))
        layout.addWidget(self.req_list)
        layout.addLayout(button_layout)
        self.setLayout(layout)

        # Connect widgets
        self.project_search.activated.connect(self.on_project_changed)
        self.env_list.activated.connect(self.on_env_changed)
        self.import_button.clicked.connect(self.on_import_clicked)
        self.cancel_button.clicked.connect(self.on_cancel_clicked)

        self.setWindowTitle('Import Environments')
        self.setWindowIcon(QtGui.QIcon(res.get_path('icon_dark_256.png')))

        self.update_projects()
Exemplo n.º 3
0
 def __init__(self):
     super(AppDialog, self).__init__()
     self.resize(800, 800)
     logger.info('Launching Asset Rename Filter...')
     self.worker = Worker()
     self.worker.trigger.connect(self.queryAssets)
     self.setWindowFlags(QtCore.Qt.Window)
     self.mainLayout = QtGui.QVBoxLayout(self)
     self.mainLayout.setContentsMargins(20, 5, 20, 20)
     self.mainLayout.setSpacing(0)
     self.listwidget = QtGui.QListWidget()
     self.listwidget.setObjectName(u'listWidget')
     self.listwidget.setSpacing(4)
     self.queryButton = QtGui.QPushButton('Query')
     self.queryButton.clicked.connect(self.startWorker)
     self.mainLayout.addWidget(self.queryButton)
     self.mainLayout.addWidget(self.listwidget)
Exemplo n.º 4
0
    def setupUi(self, BrowserForm):
        BrowserForm.setObjectName("BrowserForm")
        BrowserForm.resize(984, 751)
        self.horizontalLayout = QtGui.QHBoxLayout(BrowserForm)
        self.horizontalLayout.setContentsMargins(0, 0, 0, 0)
        self.horizontalLayout.setObjectName("horizontalLayout")
        self.splitter = QtGui.QSplitter(BrowserForm)
        self.splitter.setOrientation(QtCore.Qt.Horizontal)
        self.splitter.setObjectName("splitter")
        self.vertical_splitter = QtGui.QSplitter(self.splitter)
        self.vertical_splitter.setOrientation(QtCore.Qt.Vertical)
        self.vertical_splitter.setObjectName("vertical_splitter")
        self.task_browser_tabs = QtGui.QTabWidget(self.vertical_splitter)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(1)
        sizePolicy.setHeightForWidth(self.task_browser_tabs.sizePolicy().hasHeightForWidth())
        self.task_browser_tabs.setSizePolicy(sizePolicy)
        self.task_browser_tabs.setMinimumSize(QtCore.QSize(200, 0))
        self.task_browser_tabs.setObjectName("task_browser_tabs")
        self.step_filters_frame = QtGui.QFrame(self.vertical_splitter)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.step_filters_frame.sizePolicy().hasHeightForWidth())
        self.step_filters_frame.setSizePolicy(sizePolicy)
        self.step_filters_frame.setMinimumSize(QtCore.QSize(0, 0))
        self.step_filters_frame.setMaximumSize(QtCore.QSize(16777215, 16777215))
        self.step_filters_frame.setObjectName("step_filters_frame")
        self.verticalLayout = QtGui.QVBoxLayout(self.step_filters_frame)
        self.verticalLayout.setSpacing(2)
        self.verticalLayout.setContentsMargins(2, 2, 2, 2)
        self.verticalLayout.setObjectName("verticalLayout")
        self.step_filter_label = QtGui.QLabel(self.step_filters_frame)
        self.step_filter_label.setAlignment(QtCore.Qt.AlignCenter)
        self.step_filter_label.setObjectName("step_filter_label")
        self.verticalLayout.addWidget(self.step_filter_label)
        self.step_filter_list_widget = QtGui.QListWidget(self.step_filters_frame)
        self.step_filter_list_widget.setObjectName("step_filter_list_widget")
        self.verticalLayout.addWidget(self.step_filter_list_widget)
        self.horizontalLayout_2 = QtGui.QHBoxLayout()
        self.horizontalLayout_2.setSpacing(4)
        self.horizontalLayout_2.setContentsMargins(2, 2, 2, 2)
        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
        self.select_all_step_button = QtGui.QPushButton(self.step_filters_frame)
        self.select_all_step_button.setFlat(False)
        self.select_all_step_button.setObjectName("select_all_step_button")
        self.horizontalLayout_2.addWidget(self.select_all_step_button)
        self.select_none_step_button = QtGui.QPushButton(self.step_filters_frame)
        self.select_none_step_button.setFlat(False)
        self.select_none_step_button.setObjectName("select_none_step_button")
        self.horizontalLayout_2.addWidget(self.select_none_step_button)
        self.verticalLayout.addLayout(self.horizontalLayout_2)
        self.verticalLayout.setStretch(1, 1)
        self.file_browser_tabs = QtGui.QTabWidget(self.splitter)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding)
        sizePolicy.setHorizontalStretch(1)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.file_browser_tabs.sizePolicy().hasHeightForWidth())
        self.file_browser_tabs.setSizePolicy(sizePolicy)
        self.file_browser_tabs.setObjectName("file_browser_tabs")
        self.horizontalLayout.addWidget(self.splitter)

        self.retranslateUi(BrowserForm)
        self.file_browser_tabs.setCurrentIndex(-1)
        QtCore.QMetaObject.connectSlotsByName(BrowserForm)
Exemplo n.º 5
0
    def _populate_ui(self):

        # --- query some data

        # query the full site schema from shotgun
        self._schema = self._app.shotgun.schema_read()

        # --- build the ui components

        select_lbl = QtGui.QLabel("Select an Entity type from the list:")

        # populate a combo box with all the entity types (the keys)
        self._entity_type_combo = QtGui.QComboBox(self)
        self._entity_type_combo.addItems(sorted(self._schema.keys()))

        field_lbl = QtGui.QLabel("Select a Field name from the list:")

        self._field_name_combo = QtGui.QComboBox(self)
        self._field_name_combo.setSizeAdjustPolicy(
            QtGui.QComboBox.AdjustToContents)

        # get_type_display_name
        type_display_lbl = MethodLabel("get_type_display_name():")
        self._type_display_lbl = ValueLabel()

        # get_field_display_name
        field_display_lbl = MethodLabel("get_field_display_name():")
        self._field_display_lbl = ValueLabel()

        # get_empty_phrase
        empty_phrase_lbl = MethodLabel("get_empty_phrase():")
        self._empty_phrase_lbl = ValueLabel()

        # get_entity_type_icon
        entity_type_icon = MethodLabel("get_entity_type_icon():")
        self._entity_type_icon = ValueLabel()

        # get_entity_type_icon_url
        entity_type_icon_url = MethodLabel("get_entity_type_icon_url():")
        self._entity_type_icon_url = ValueLabel()

        # get_valid_values
        valid_values_lbl = MethodLabel("get_valid_values():")
        self._valid_values_list = QtGui.QListWidget()
        self._valid_values_list.setMaximumHeight(100)

        # field_is_editable
        field_is_editable_lbl = MethodLabel("field_is_editable():")
        self._field_is_editable_lbl = ValueLabel()

        # field_is_visible
        field_is_visible_lbl = MethodLabel("field_is_visible():")
        self._field_is_visible_lbl = ValueLabel()

        # --- layout the components

        row = 0

        layout = QtGui.QGridLayout(self)
        layout.addWidget(select_lbl, row, 0, QtCore.Qt.AlignRight)
        layout.addWidget(self._entity_type_combo, row, 1, QtCore.Qt.AlignLeft)
        row += 1

        layout.addWidget(type_display_lbl, row, 0, QtCore.Qt.AlignRight)
        layout.addWidget(self._type_display_lbl, row, 1, QtCore.Qt.AlignLeft)
        row += 1

        layout.addWidget(entity_type_icon, row, 0, QtCore.Qt.AlignRight)
        layout.addWidget(self._entity_type_icon, row, 1, QtCore.Qt.AlignLeft)
        row += 1

        layout.addWidget(entity_type_icon_url, row, 0, QtCore.Qt.AlignRight)
        layout.addWidget(self._entity_type_icon_url, row, 1,
                         QtCore.Qt.AlignLeft)
        row += 1

        layout.addWidget(field_lbl, row, 0, QtCore.Qt.AlignRight)
        layout.addWidget(self._field_name_combo, row, 1, QtCore.Qt.AlignLeft)
        row += 1

        layout.addWidget(field_display_lbl, row, 0, QtCore.Qt.AlignRight)
        layout.addWidget(self._field_display_lbl, row, 1, QtCore.Qt.AlignLeft)
        row += 1

        layout.addWidget(empty_phrase_lbl, row, 0, QtCore.Qt.AlignRight)
        layout.addWidget(self._empty_phrase_lbl, row, 1, QtCore.Qt.AlignLeft)
        row += 1

        layout.addWidget(valid_values_lbl, row, 0,
                         QtCore.Qt.AlignRight | QtCore.Qt.AlignTop)
        layout.addWidget(self._valid_values_list, row, 1, QtCore.Qt.AlignLeft)
        row += 1

        layout.addWidget(field_is_editable_lbl, row, 0, QtCore.Qt.AlignRight)
        layout.addWidget(self._field_is_editable_lbl, row, 1,
                         QtCore.Qt.AlignLeft)
        row += 1

        layout.addWidget(field_is_visible_lbl, row, 0, QtCore.Qt.AlignRight)
        layout.addWidget(self._field_is_visible_lbl, row, 1,
                         QtCore.Qt.AlignLeft)
        row += 1

        # ---- connect some signals

        # handle entity type changes
        self._entity_type_combo.activated[str].connect(
            self._on_entity_type_combo_activated)

        # handle field name changes
        self._field_name_combo.activated[str].connect(
            self._on_field_name_combo_activated)

        # ---- populate the defaults

        # entity
        entity_type_index = self._entity_type_combo.findText(
            DEFAULT_ENTITY_TYPE)
        if entity_type_index > -1:
            self._entity_type_combo.setCurrentIndex(entity_type_index)
            self._on_entity_type_combo_activated(DEFAULT_ENTITY_TYPE)

        # field
        field_name_index = self._field_name_combo.findText(DEFAULT_FIELD_NAME)
        if field_name_index > -1:
            self._field_name_combo.setCurrentIndex(field_name_index)
            self._on_field_name_combo_activated(DEFAULT_FIELD_NAME)