예제 #1
0
    def __init__(self, parent=None):

        super(License_dialog, self).__init__(parent)
        self.setStyleSheet(cfg.stylesheet)
        self.layout = QtWidgets.QVBoxLayout(self)

        self.pipelineUI = self.parent()
        self.version = pipeline.__version__

        self.input_widget = QtWidgets.QWidget(self)
        self.input_layout = QtWidgets.QVBoxLayout(self.input_widget)
        self.setSizePolicy(QtWidgets.QSizePolicy.Expanding,
                           QtWidgets.QSizePolicy.Fixed)

        self.input_layout.setContentsMargins(5, 5, 5, 5)
        self.layout.setContentsMargins(10, 10, 10, 10)

        self.title = gui.Title(
            self,
            label="Please enter your Pipeline {} license key:".format(
                self.version[0]),
            seperator=False)
        self.title.layout.setContentsMargins(5, 0, 5, 0)
        self.input_layout.addWidget(self.title)
        self.note = gui.Title(self,
                              label="Activation requires internet connection.")
        font = QtGui.QFont()
        font.setItalic(True)
        self.note.label.setFont(font)
        self.input_layout.addWidget(self.note)

        self.key_widget = inputs.GroupInput(
            self,
            label="Key",
            inputWidget=QtWidgets.QLineEdit(self),
            ic=cfg.lock_icon)
        self.key_input = self.key_widget.input
        self.key_widget.label.setMinimumSize(QtCore.QSize(10, 30))
        self.key_widget.label.setText("")
        self.key_input.setMinimumSize(QtCore.QSize(300, 30))
        self.input_layout.addWidget(self.key_widget)
        self.layout.addWidget(self.input_widget)

        ok = QtWidgets.QPushButton("Activate")
        ok.setDefault(True)

        canc = QtWidgets.QPushButton("Cancel")

        buttons = QtWidgets.QDialogButtonBox(QtCore.Qt.Horizontal)
        buttons.addButton(ok, QtWidgets.QDialogButtonBox.AcceptRole)
        buttons.addButton(canc, QtWidgets.QDialogButtonBox.RejectRole)

        buttons.accepted.connect(self.accept)
        buttons.rejected.connect(self.reject)
        self.layout.addWidget(buttons)
예제 #2
0
    def __init__(self,parent_layout=None,parent=None):
        QtWidgets.QWidget.__init__(self, parent)

        # super(ComboWidget, self).__init__(parent)

        self.setHidden(True)
        self._parent_layout = parent_layout

        # UI
        self.setMaximumHeight(60)
        self.setMinimumHeight(60)
        self.layout = QtWidgets.QVBoxLayout(self)
        self.layout.setAlignment(QtCore.Qt.AlignLeft)

        self.label = QtWidgets.QLabel()
        self.comboBox = QtWidgets.QComboBox(parent)
        self.comboBox.setIconSize(QtCore.QSize(24, 24))
        self.comboBox.setSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
        # self.comboBox.setStyleSheet(cfg.stylesheet)

        self.layout.addWidget(self.label)
        self.layout.addWidget(self.comboBox)
        self.layout.setContentsMargins(0, 0, 0, 0)
        self.setLayout(self.layout)
        self._parent_layout.addWidget(self)
        self.setStyleSheet('''
            QComboBox::down-arrow {
            image:url(''' + cfg.light_down_arrow + ''');
            margin-right: 10px;
            }
            ''')
예제 #3
0
    def __init__(self, parent=None, preset_file=None, **kwargs):
        super(Preset_generation_dialog, self).__init__(parent, **kwargs)
        self.setWindowTitle("Preset generation")

        self.hierarchy_label.setMaximumHeight(30)
        self.components_label.setMaximumHeight(30)

        self.hierarchy_help_label.setHidden(True)
        self.components_help_label.setHidden(True)

        self.save_preset_btn.setHidden(True)
        self.load_preset_btn.setHidden(True)

        self.generate_preset_btn = QtWidgets.QPushButton("Generate tree")
        self.generate_preset_btn.setIcon(QtGui.QIcon(cfg.creation_icon))
        self.generate_preset_btn.setIconSize(QtCore.QSize(20, 20))

        self.actions_widget_layout.addWidget(self.generate_preset_btn)
        self.generate_preset_btn.clicked.connect(self.generate_preset)

        if preset_file:
            self.set_preset(preset_file)
            self.show()
        else:
            if self.load_preset():
                self.show()
            else:
                pass
예제 #4
0
파일: inputs.py 프로젝트: ddv0504/pipeline
    def __init__(self, parent, label=None,  ic=None):
        super(RangeInput, self).__init__(parent)

        self.layout = QtWidgets.QHBoxLayout(self)
        self.layout.setContentsMargins(5, 5, 5, 5)
        self.layout.setAlignment(QtCore.Qt.AlignLeft)

        if ic:
            self.icon = QtWidgets.QLabel()
            self.icon.setPixmap(ic)
            self.icon.setMinimumSize(QtCore.QSize(24, 24))
            self.layout.addWidget(self.icon)

        if label:
            self.label = QtWidgets.QLabel(label)
            self.label.setMinimumSize(QtCore.QSize(100, 30))
            self.layout.addWidget(self.label)

        self.from_label = QtWidgets.QLabel("From")
        # self.from_label.setMinimumSize(QtCore.QSize(100, 30))
        self.layout.addWidget(self.from_label)

        self.start_input = QtWidgets.QSpinBox(self)
        self.start_input.setSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding)
        self.start_input.setMinimumSize(QtCore.QSize(0, 30))
        self.layout.addWidget(self.start_input)

        self.to_label = QtWidgets.QLabel("To")
        # self.to_label.setMinimumSize(QtCore.QSize(100, 30))
        self.layout.addWidget(self.to_label)

        self.end_input = QtWidgets.QSpinBox(self)
        self.end_input.setSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding)
        self.end_input.setMinimumSize(QtCore.QSize(0, 30))
        self.layout.addWidget(self.end_input)


        self.step_label = QtWidgets.QLabel("Step")
        # self.to_label.setMinimumSize(QtCore.QSize(100, 30))
        self.layout.addWidget(self.to_label)

        self.step_input = QtWidgets.QSpinBox(self)
        self.step_input.setSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding)
        self.step_input.setMinimumSize(QtCore.QSize(0, 30))
        self.layout.addWidget(self.step_input)
예제 #5
0
파일: users.py 프로젝트: ddv0504/pipeline
    def __init__(self, parent=None):
        super(LoginWindow, self).__init__(parent)
        self.setStyleSheet(cfg.stylesheet)
        self.setMaximumWidth(200)
        self.setMinimumWidth(200)
        self.setMaximumHeight(50)

        self.label = QtWidgets.QLabel()
        self.label.setPixmap(cfg.users_icon)

        self.label_user = QtWidgets.QLabel("Username:"******"Password:"******"Login")
        log.setDefault(True)

        canc = QtWidgets.QPushButton("Cancel")

        buttons = QtWidgets.QDialogButtonBox(QtCore.Qt.Horizontal)
        buttons.addButton(log, QtWidgets.QDialogButtonBox.AcceptRole)
        buttons.addButton(canc, QtWidgets.QDialogButtonBox.RejectRole)

        buttons.accepted.connect(self.accept)
        buttons.rejected.connect(self.reject)
        layout.addWidget(buttons)
예제 #6
0
파일: inputs.py 프로젝트: ddv0504/pipeline
    def __init__(self, parent, label=None, options=None, ic=None):
        super(GroupRadioInput, self).__init__(parent)


        self.options = [option for option in options]
        self.option = self.options[0]

        self.layout = QtWidgets.QHBoxLayout(self)
        self.layout.setContentsMargins(5, 5, 5, 5)
        self.layout.setAlignment(QtCore.Qt.AlignLeft)

        if ic:
            self.icon = QtWidgets.QLabel()
            self.icon.setPixmap(ic)
            self.icon.setMinimumSize(QtCore.QSize(24, 24))
            self.layout.addWidget(self.icon)
            self.icon.setAlignment(QtCore.Qt.AlignTop)


        if label:
            self.label = QtWidgets.QLabel(label)
            self.label.setMinimumSize(QtCore.QSize(100, 30))
            self.layout.addWidget(self.label)
            self.label.setAlignment(QtCore.Qt.AlignTop)


        self.options_widget = QtWidgets.QWidget()
        self.layout.addWidget(self.options_widget)
        self.options_widget_layout = QtWidgets.QVBoxLayout(self.options_widget)


        self.options_radio_widgets = []

        for option in self.options:

            option_widget = QtWidgets.QRadioButton(option)

            self.options_radio_widgets.append( option_widget )
            self.options_widget_layout.addWidget(option_widget)
            option_widget.clicked.connect(self.selection)


        self.options_radio_widgets[0].setChecked(True)
예제 #7
0
    def __init__(self, parent=None):
        super(Update_window, self).__init__(parent)

        # self.pipelineUI = self.parent()
        self.setWindowFlags(QtCore.Qt.Tool)
        self.setAttribute(QtCore.Qt.WA_DeleteOnClose)

        self.main_widget = QtWidgets.QWidget(self)
        self.setCentralWidget(self.main_widget)

        self.setStyleSheet(cfg.stylesheet)
        self.layout = QtWidgets.QVBoxLayout(self.main_widget)
        self.layout.setContentsMargins(10, 5, 10, 10)

        self.setMinimumHeight(120)
        self.setMaximumHeight(120)
        self.setMinimumWidth(600)
        self.setMaximumWidth(600)
        self.setSizePolicy(QtWidgets.QSizePolicy.Expanding,
                           QtWidgets.QSizePolicy.Expanding)

        # self.center_to_maya_window()

        # self.current_version = current_version
        self.caption = gui.Title(self, label="", seperator=False)

        self.link_label = Click_label()
        self.link_label.setHidden(True)
        self.layout.addWidget(self.link_label)
        self.layout.addWidget(self.caption)

        self.startup_switch = inputs.GroupInput(
            self,
            label="Check for updates on startup",
            inputWidget=QtWidgets.QCheckBox())
        self.startup_switch_input = self.startup_switch.input

        if settings.settings_node().check_for_updates:
            self.startup_switch_input.setCheckState(QtCore.Qt.Checked)

        self.startup_switch_input.stateChanged.connect(
            self.start_updates_toggle)
        self.layout.addWidget(self.startup_switch)

        self.ok = QtWidgets.QPushButton("Abort")
        self.ok.setIconSize(QtCore.QSize(20, 20))

        self.ok.setIcon(QtGui.QIcon(cfg.no_icon))
        self.ok.clicked.connect(self.close)
        self.layout.addWidget(self.ok)
예제 #8
0
파일: inputs.py 프로젝트: ddv0504/pipeline
    def __init__(self, parent, height, buttons = dict()):
        super(Toolbar, self).__init__(parent)

        self.layout = QtWidgets.QHBoxLayout(self)
        self.layout.setContentsMargins(1, 1, 1, 1)
        self.layout.setSpacing(2)
        self.layout.setAlignment(QtCore.Qt.AlignLeft)

        _buttons = dict()
        for k in buttons:

            button = QtWidgets.QPushButton(buttons[k]['label'])
            button.setIconSize(QtCore.QSize(height-2, height-2))
            button.setIcon(QtGui.QIcon(buttons[k]['icon']))
            self.layout.addWidget(button)
            _buttons[k] = button
예제 #9
0
파일: inputs.py 프로젝트: ddv0504/pipeline
    def __init__(self, parent, label=None, inputWidget=None, ic=None):
        super(GroupInput, self).__init__(parent)

        self.layout = QtWidgets.QHBoxLayout(self)
        self.layout.setContentsMargins(2,2,2,2)
        self.layout.setSpacing(2)
        self.layout.setAlignment(QtCore.Qt.AlignLeft)


        if isinstance(inputWidget, QtWidgets.QCheckBox):
            self.input = inputWidget
            self.input.setSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
            self.input.setMinimumSize(QtCore.QSize(20, 0))
            self.layout.addWidget(self.input)
            ic = None
            if label:
                self.label = QtWidgets.QLabel(label)
                self.label.setMinimumSize(QtCore.QSize(100, 24))
                self.layout.addWidget(self.label)

            return
        else:
            if ic:
                self.icon = QtWidgets.QLabel()
                self.icon.setPixmap(ic)
                self.icon.setMaximumSize(QtCore.QSize(24, 24))
                self.icon.setMinimumSize(QtCore.QSize(24, 24))
                self.layout.addWidget(self.icon)

            if label:
                self.label = QtWidgets.QLabel(label)
                self.label.setMinimumSize(QtCore.QSize(100, 24))
                self.layout.addWidget(self.label)

            if inputWidget:
                self.input = inputWidget
                self.input.setSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed)
                self.input.setMinimumSize(QtCore.QSize(0, 24))
                self.layout.addWidget(self.input)
예제 #10
0
    def __init__(self, parent=None, **kwargs):
        super(ProjectDialog, self).__init__(parent)
        # self.setStyleSheet(cfg.stylesheet)

        css = loadCSS.loadCSS(
            os.path.join(os.path.dirname(pipeline.CSS.__file__),
                         'mainWindow.css'))
        self.setStyleSheet(css)

        self.layout = QtWidgets.QVBoxLayout(self)
        self.layout.setContentsMargins(5, 5, 5, 10)
        # self.setMaximumHeight(150)
        self.setWindowTitle('Create new project')
        self.input_widget = QtWidgets.QWidget(self)
        self.input_layout = QtWidgets.QVBoxLayout(self.input_widget)

        self.title = gui.Title(self, label="New project")
        self.input_layout.addWidget(self.title)

        self.name_widget = inputs.GroupInput(
            self,
            label="Project name",
            inputWidget=QtWidgets.QLineEdit(self),
            ic=cfg.text_icon)
        self.name_input = self.name_widget.input
        self.input_layout.addWidget(self.name_widget)

        self.nice_name_widget = inputs.GroupInput(
            self,
            label="Nice name",
            inputWidget=QtWidgets.QLineEdit(self),
            ic=cfg.text_icon)
        self.nice_name_input = self.nice_name_widget.input
        self.input_layout.addWidget(self.nice_name_widget)

        self.path_widget = inputs.GroupInput(
            self,
            label="Project path",
            inputWidget=QtWidgets.QLineEdit(self),
            ic=cfg.text_icon)
        self.path_input = self.path_widget.input
        self.path_input.setEnabled(False)
        self.path_set_btn = QtWidgets.QPushButton()
        self.path_widget.layout.addWidget(self.path_set_btn)
        self.path_set_btn.setIcon(QtGui.QIcon(cfg.search_icon))
        self.path_set_btn.setIconSize(QtCore.QSize(20, 20))

        self.path_set_btn.clicked.connect(self.set_project_path)
        self.input_layout.addWidget(self.path_widget)

        self.input_padding_widget = inputs.GroupInput(
            self,
            label="Padding",
            inputWidget=QtWidgets.QSpinBox(self),
            ic=cfg.counter_icon)

        self.padding_slider = self.input_padding_widget.input
        self.padding_slider.setMinimum(0)
        self.padding_slider.setMaximum(6)
        self.padding_slider.setValue(3)
        self.input_layout.addWidget(self.input_padding_widget)

        self.input_fps_widget = inputs.GroupInput(
            self,
            label="Default fps",
            inputWidget=QtWidgets.QComboBox(self),
            ic=cfg.time_icon)
        self.fps_input = self.input_fps_widget.input
        self.fps_input.setEditable(False)
        rates = ["PAL (25fps)", "Film (24fps)", "NTSC (30fps)"]
        self.fps_input.addItems(rates)
        self.input_layout.addWidget(self.input_fps_widget)
        i = self.fps_input.findText(rates[0], QtCore.Qt.MatchFixedString)
        if i >= 0:
            self.fps_input.setCurrentIndex(i)

        self.input_playblasts_switch_widget = inputs.GroupInput(
            self,
            label="Save playblast at",
            inputWidget=QtWidgets.QComboBox(self),
            ic=cfg.icons.HDD)

        self.playblasts_switch_input = self.input_playblasts_switch_widget.input
        self.playblasts_switch_input.setEditable(False)
        rates = [
            cfg.playblast_save_options.PROJECT_ROOT,
            cfg.playblast_save_options.PROJECT_SISTER,
            cfg.playblast_save_options.COMPONENT
        ]  # "Projects root (Recommended)", "Project sister folder", "Component root"]
        self.playblasts_switch_input.addItems(rates)
        self.input_layout.addWidget(self.input_playblasts_switch_widget)
        i = self.playblasts_switch_input.findText(rates[0],
                                                  QtCore.Qt.MatchFixedString)
        if i >= 0:
            self.playblasts_switch_input.setCurrentIndex(i)

        # self.prefix_widget = inputs.GroupInput(self, label="Project prefix", inputWidget=QtWidgets.QLineEdit(self),
        #                                        ic=cfg.text_icon)
        # self.prefix_input = self.prefix_widget.input
        # self.input_layout.addWidget(self.prefix_widget)
        # self.playblasts_switch = inputs.GroupInput(self,label="Save playblasts to root folder",inputWidget= QtWidgets.QCheckBox(),ic = cfg.camrea_icon)
        # self.playblasts_switch_input = self.playblasts_switch.input
        # self.input_layout.addWidget(self.playblasts_switch)
        # self.playblasts_switch_input.stateChanged.connect(self.playblasts_switch_toggle)

        self.var_title = gui.Title(self, label="Project variables")
        self.input_layout.addWidget(self.var_title)

        self.layout.addWidget(self.input_widget)
        self.input_layout.setContentsMargins(0, 0, 0, 0)
        self.input_widget.setSizePolicy(QtWidgets.QSizePolicy.Expanding,
                                        QtWidgets.QSizePolicy.Fixed)

        self.tab_widgets = QtWidgets.QWidget(self)
        self.tab_widgets_layout = QtWidgets.QVBoxLayout(self.tab_widgets)
        self.tab_widgets_layout.setContentsMargins(0, 0, 0, 0)
        self.tab_widgets.setSizePolicy(QtWidgets.QSizePolicy.Expanding,
                                       QtWidgets.QSizePolicy.Expanding)
        self.layout.addWidget(self.tab_widgets)

        self.variable_tabs = gui.Tabs(self)
        self.tab_widgets_layout.addWidget(self.variable_tabs)

        self.branches_widget = QtWidgets.QWidget()

        self.branches_layout = QtWidgets.QVBoxLayout(self.branches_widget)
        # self.branches_widget.setMinimumHeight(600)
        self.branches_widget.setMinimumWidth(450)
        self.variable_tabs.tab_widget.addTab(self.branches_widget, "Branches")

        self.branches_view = branch_view.Branch_list_view(self)

        self.branches_layout.addWidget(self.branches_view)
        # self.branches_view.setSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding)

        self.users_widget = QtWidgets.QWidget()
        self.users_layout = QtWidgets.QVBoxLayout(self.users_widget)
        self.users_widget.setMinimumHeight(400)
        self.users_widget.setMinimumWidth(450)
        self.variable_tabs.tab_widget.addTab(self.users_widget, "Users")

        self.users_switch = inputs.GroupInput(
            self,
            label="Enable users",
            inputWidget=QtWidgets.QCheckBox(),
            ic=cfg.users_icon)
        self.users_swith_input = self.users_switch.input
        self.users_layout.addWidget(self.users_switch)
        self.users_swith_input.stateChanged.connect(self.users_table_toggle)
        self.users_tree = views.Project_Users_View(self.users_widget)
        self.users_layout.addWidget(self.users_tree)
        # self.users_tree.setSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding)

        # self.list_view.setModel_(self.list_model)

        # self.setSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)

        self.actions_widget = QtWidgets.QWidget(self)
        self.actions_widget_layout = QtWidgets.QVBoxLayout(self.actions_widget)
        self.actions_widget_layout.setContentsMargins(0, 0, 0, 0)
        self.actions_widget.setSizePolicy(QtWidgets.QSizePolicy.Expanding,
                                          QtWidgets.QSizePolicy.Fixed)
        self.layout.addWidget(self.actions_widget)

        buttons = QtWidgets.QDialogButtonBox(
            QtWidgets.QDialogButtonBox.Ok | QtWidgets.QDialogButtonBox.Cancel,
            QtCore.Qt.Horizontal, self)

        buttons.accepted.connect(self.accept)
        buttons.rejected.connect(self.reject)
        self.actions_widget_layout.addWidget(buttons)

        self.populate_brnaches()
        self.populated_users()

        # self.name_input.setText(cfg.preset["project_name"])
        self.padding_slider.setValue(3)
        # self.prefix_input.setText(cfg.preset["prefix"])

        self.name_input.textChanged.connect(self.name_changed)
        self.path_input.textChanged.connect(self.path_changed)

        self.users_swith_input.setCheckState(QtCore.Qt.Checked)
        self.users_table_toggle(QtCore.Qt.Checked)
        # self.playblasts_switch_input.setCheckState(QtCore.Qt.Checked)
        # self.playblasts_switch_toggle(QtCore.Qt.Checked)

        self.users_mode = True
        self.playblast_on_root = True
예제 #11
0
    def __init__(self, parent, **kwargs):

        super(Preset_dialog, self).__init__(parent)

        self.setWindowFlags(QtCore.Qt.Tool)
        self.setAttribute(QtCore.Qt.WA_DeleteOnClose)

        self.pipeline_window = None
        if 'pipeline_window' in kwargs:
            self.pipeline_window = kwargs['pipeline_window']

        self.setMinimumHeight(650)
        self.setMinimumWidth(800)
        self.setSizePolicy(QtWidgets.QSizePolicy.Expanding,
                           QtWidgets.QSizePolicy.Fixed)

        self.center_to_maya_window()

        self.main_widget = QtWidgets.QWidget(self)

        self.setCentralWidget(self.main_widget)

        # self.setStyleSheet(cfg.stylesheet)
        css = loadCSS.loadCSS(
            os.path.join(os.path.dirname(pipeline.CSS.__file__),
                         'mainWindow.css'))
        self.setStyleSheet(css)

        self.layout = QtWidgets.QVBoxLayout(self.main_widget)
        self.layout.setContentsMargins(5, 5, 5, 5)
        # self.setLayout(self.layout)

        self.setWindowTitle("Preset editor")

        self.header = gui.Title(self, label="Tree construction preset")
        self.header.setMaximumHeight(40)
        self.layout.addWidget(self.header)

        self.editor_tables_widget = QtWidgets.QWidget(self)
        self.editor_tables_widget_layout = QtWidgets.QVBoxLayout(
            self.editor_tables_widget)
        self.editor_tables_widget_layout.setContentsMargins(5, 5, 5, 5)
        self.editor_tables_widget_layout.setSpacing(10)
        self.layout.addWidget(self.editor_tables_widget)

        self.hierarchy_table_view = views.Hierarcy_catagories_view(
            parent=self, parentWidget=self.editor_tables_widget)
        self.hierarchy_table_view.setSizePolicy(
            QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding)

        branches = [
            os.path.split(p)[1] for p in self.pipeline_window.project.branches
        ] if self.pipeline_window else list()

        self.components_table_view = views.Hierarcy_components_view(
            parent=self,
            parentWidget=self.editor_tables_widget,
            branches=branches)
        self.components_table_view.setSizePolicy(
            QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding)

        self.hierarchy_label = gui.Title(self,
                                         label="Tree hierarchy",
                                         seperator=False)
        # self.hierarchy_label.setMaximumHeight(30)
        self.components_label = gui.Title(self,
                                          label="Child omponents",
                                          seperator=False)
        # self.components_label.setMaximumHeight(30)

        self.hierarchy_help_label = QtWidgets.QLabel()
        self.hierarchy_help_label.setText(
            "Use right click for options.\n"
            "Each category will be generated under it's parent category.\n\n"
            "{} = during creation the user will be prompt to enter a value.".
            format(cfg.Hierarcy_options.ASK_USER))

        italic = QtGui.QFont()
        italic.setItalic(True)

        self.hierarchy_help_label.setFont(italic)

        self.components_help_label = QtWidgets.QLabel()
        self.components_help_label.setText(
            "Components and categories will be generated for the defined branch,\n"
            "under the lower category.\n\n"
            "Branches will be created if they are not exists in the project.")

        italic = QtGui.QFont()
        italic.setItalic(True)

        self.components_help_label.setFont(italic)

        self.editor_tables_widget_layout.addWidget(self.hierarchy_label)
        self.editor_tables_widget_layout.addWidget(self.hierarchy_help_label)
        self.editor_tables_widget_layout.addWidget(self.hierarchy_table_view)
        self.editor_tables_widget_layout.addWidget(self.components_label)
        self.editor_tables_widget_layout.addWidget(self.components_help_label)
        self.editor_tables_widget_layout.addWidget(self.components_table_view)

        self.actions_widget = QtWidgets.QWidget(self)
        self.actions_widget_layout = QtWidgets.QHBoxLayout(self.actions_widget)
        self.actions_widget_layout.setContentsMargins(5, 5, 5, 5)
        self.layout.addWidget(self.actions_widget)

        self.save_preset_btn = QtWidgets.QPushButton("Save preset")
        self.save_preset_btn.setIcon(QtGui.QIcon(cfg.save_icon))
        self.save_preset_btn.setIconSize(QtCore.QSize(20, 20))

        self.load_preset_btn = QtWidgets.QPushButton("Load preset")
        self.load_preset_btn.setIcon(QtGui.QIcon(cfg.folder_open_icon))
        self.load_preset_btn.setIconSize(QtCore.QSize(20, 20))
        self.load_preset_btn.setStyleSheet('''
                                            QPushButton::menu-indicator{
                                            image: url(none.jpg);
                                            }
                                            ''')
        self.set_preset_menu()
        # self.menu = QtWidgets.QMenu(self.load_preset_btn)
        # self.menu.addAction(QtWidgets.QAction("Load from file...", self.menu, triggered=self.load_preset))
        # self.menu.addSeparator()
        #
        # for p in self.list_saved_presets():
        #     self.menu.addAction(QtWidgets.QAction(p[1], self.menu, triggered=functools.partial(self.set_preset, p[0])))
        #
        # self.menu.addSeparator()
        # self.menu.addAction(QtWidgets.QAction("Clear", self.menu, triggered=self.clear_preset))
        # self.load_preset_btn.setMenu(self.menu)
        #

        self.actions_widget_layout.addWidget(self.save_preset_btn)
        self.actions_widget_layout.addWidget(self.load_preset_btn)
        self.save_preset_btn.clicked.connect(self.save_preset)
예제 #12
0
파일: massage.py 프로젝트: ddv0504/pipeline
    def __init__(self,
                 parent,
                 title='oops!',
                 prompt=None,
                 override_yes_text=None,
                 override_no_label=None,
                 override_cancel_label="Cancel",
                 cancel_button=False,
                 color=None,
                 override_yes_icon=None,
                 override_no_icon=None,
                 cancel_icon=None):
        super(PromptUser, self).__init__(parent)

        if not color:
            color = '#fff'

        css = loadCSS.loadCSS(
            os.path.join(os.path.dirname(pipeline.CSS.__file__),
                         'mainWindow.css'))
        self.setStyleSheet(css)

        self.setObjectName('prompt_massage')
        self.setStyleSheet(self.styleSheet() + ''' QLabel { color: ''' +
                           color + ''' ;} ''')

        self.setWindowTitle(title)
        self.setText(prompt)
        self.setIconPixmap(cfg.simple_warning_icon)

        if override_yes_icon:
            self.yes_btn = QtWidgets.QPushButton(self)
            self.yes_btn.setText(override_yes_text)

            self.yes_btn.setMinimumHeight(30)
            self.yes_btn.setIconSize(QtCore.QSize(24, 24))

            self.yes_btn.setIcon(QtGui.QIcon(override_yes_icon))
            self.addButton(self.yes_btn, QtWidgets.QMessageBox.YesRole)
        else:
            self.addButton(override_yes_text, QtWidgets.QMessageBox.YesRole)

        if override_yes_icon:
            self.no_btn = QtWidgets.QPushButton(self)
            self.no_btn.setText(override_no_label)
            self.no_btn.setIcon(QtGui.QIcon(override_no_icon))
            self.addButton(self.no_btn, QtWidgets.QMessageBox.NoRole)

            self.no_btn.setMinimumHeight(30)
            self.no_btn.setIconSize(QtCore.QSize(24, 24))
        else:
            self.addButton(override_no_label, QtWidgets.QMessageBox.NoRole)

        # self.addButton(override_no_label, QtWidgets.QMessageBox.NoRole)

        if cancel_button:
            if cancel_icon:
                self.canc_btn = QtWidgets.QPushButton(self)
                self.canc_btn.setText(override_cancel_label)
                self.canc_btn.setIcon(QtGui.QIcon(cancel_icon))
                self.addButton(self.canc_btn, QtWidgets.QMessageBox.RejectRole)

                self.canc_btn.setMinimumHeight(30)
                self.canc_btn.setIconSize(QtCore.QSize(24, 24))
            else:
                self.addButton(override_cancel_label,
                               QtWidgets.QMessageBox.RejectRole)
예제 #13
0
    def __init__(self, parent=None, origin='', settings={}, **kwargs):
        super(Publish_Dialog, self).__init__(parent)

        css = loadCSS.loadCSS(
            os.path.join(os.path.dirname(pipeline.CSS.__file__),
                         'mainWindow.css'))
        self.setStyleSheet(css)

        self.layout = QtWidgets.QVBoxLayout(self)
        self.layout.setSpacing(5)
        self.layout.setContentsMargins(5, 5, 5, 5)
        self.setSizePolicy(QtWidgets.QSizePolicy.Fixed,
                           QtWidgets.QSizePolicy.Fixed)

        self.setMinimumWidth(400)
        self.setWindowTitle('Save master')
        # self.title = gui.Title(self, label="Save master")
        # self.layout.addWidget(self.title)
        self.center_to_maya_window()

        self.main_widget = QtWidgets.QWidget(self)
        self.main_widget_layout = QtWidgets.QVBoxLayout(self.main_widget)
        self.main_widget_layout.setSpacing(2)
        self.main_widget_layout.setContentsMargins(5, 5, 5, 5)
        self.layout.addWidget(self.main_widget)

        self.options_widget = QtWidgets.QWidget()

        self.options_widget_layout = QtWidgets.QVBoxLayout(self.options_widget)
        self.options_widget_layout.setSpacing(2)
        self.options_widget_layout.setContentsMargins(2, 2, 2, 2)
        self.options_widget_layout.setAlignment(QtCore.Qt.AlignTop)

        self.scripts_table_label = QtWidgets.QLabel('Execute scripts')
        self.scripts_table_view = views.Run_scripts_View(parent=self)
        self.scripts_table_view.setSizePolicy(QtWidgets.QSizePolicy.Expanding,
                                              QtWidgets.QSizePolicy.Expanding)

        self.scripts_table_toolbar = QtWidgets.QToolBar(self.main_widget)
        self.scripts_table_toolbar.setIconSize(QtCore.QSize(20, 20))

        add = self.scripts_table_toolbar.addAction(
            QtGui.QIcon(cfg.simple_add_icon), '', self.add_script)
        add.setToolTip('Add script')
        rm = self.scripts_table_toolbar.addAction(
            QtGui.QIcon(cfg.simple_rm_icon), '', self.remove_script)
        rm.setToolTip('Remove script')

        self.scripts_table_toolbar.addAction(QtGui.QIcon(cfg.simple_up_icon),
                                             '', self.move_up)
        self.scripts_table_toolbar.addAction(QtGui.QIcon(cfg.simple_dn_icon),
                                             '', self.move_down)

        self.scripts_table_toolbar.setStyleSheet('''
        QToolButton{
        border: none;
        }
        QToolButton::hover {
        background-color: ''' + cfg.colors.LIGHT_GRAY_plus + ''';
        border none;
        }

        ''')

        self.label_Note = QtWidgets.QLabel('Note')
        self.textNote = QtWidgets.QTextEdit(self)
        self.textNote.setSizePolicy(QtWidgets.QSizePolicy.Expanding,
                                    QtWidgets.QSizePolicy.Fixed)
        self.textNote.setMaximumHeight(100)

        self.remember = inputs.GroupInput(
            self.options_widget,
            "Remember these settings for {}".format(origin),
            QtWidgets.QCheckBox(),
            ic=cfg.save_icon)
        self.remember_input = self.remember.input
        self.remember_input.setCheckState(QtCore.Qt.Checked)

        self.open_after = inputs.GroupInput(self.options_widget,
                                            "Open master after save",
                                            QtWidgets.QCheckBox(),
                                            ic=cfg.save_icon)
        self.open_after_input = self.open_after.input
        self.open_after_input.setCheckState(QtCore.Qt.Checked)

        self.main_widget_layout.addWidget(self.options_widget)

        space1 = gui.HLine()
        space1.setMinimumHeight(20)
        self.main_widget_layout.addWidget(space1)

        self.main_widget_layout.addWidget(self.scripts_table_label)
        self.main_widget_layout.addWidget(self.scripts_table_toolbar)
        self.main_widget_layout.addWidget(self.scripts_table_view)

        space2 = gui.HLine()
        space2.setMinimumHeight(20)
        self.main_widget_layout.addWidget(space2)

        self.main_widget_layout.addWidget(self.label_Note)
        self.main_widget_layout.addWidget(self.textNote)
        self.main_widget_layout.addWidget(self.remember)
        self.main_widget_layout.addWidget(self.open_after)

        self.import_references = inputs.GroupInput(self.options_widget,
                                                   "Import references",
                                                   QtWidgets.QCheckBox(),
                                                   ic=cfg.creation_icon)
        self.import_references_input = self.import_references.input
        self.import_references_input.setCheckState(QtCore.Qt.Checked)
        self.options_widget_layout.addWidget(self.import_references)

        self.delete_namespaces = inputs.GroupInput(self.options_widget,
                                                   "Delete namespaces",
                                                   QtWidgets.QCheckBox(),
                                                   ic=cfg.creation_icon)
        self.delete_namespaces_input = self.delete_namespaces.input
        self.delete_namespaces_input.setCheckState(QtCore.Qt.Checked)
        self.options_widget_layout.addWidget(self.delete_namespaces)

        self.clean_up = inputs.GroupInput(self.options_widget,
                                          "Optimize scene",
                                          QtWidgets.QCheckBox(),
                                          ic=cfg.creation_icon)
        self.clean_up_input = self.clean_up.input
        self.clean_up_input.setCheckState(QtCore.Qt.Checked)
        self.options_widget_layout.addWidget(self.clean_up)

        self.delete_ng = inputs.GroupInput(self.options_widget,
                                           "Delete ngSkinTools nodes",
                                           QtWidgets.QCheckBox(),
                                           ic=cfg.creation_icon)
        self.delete_ng_input = self.delete_ng.input
        self.delete_ng_input.setCheckState(QtCore.Qt.Checked)
        self.options_widget_layout.addWidget(self.delete_ng)

        # buttons = QtWidgets.QDialogButtonBox(
        #     QtWidgets.QDialogButtonBox.Ok | QtWidgets.QDialogButtonBox.Cancel,
        #     QtCore.Qt.Horizontal, self)
        #
        # buttons.accepted.setText('Save')
        # buttons.accepted.connect(self.accept)
        # buttons.rejected.connect(self.reject)

        save = QtWidgets.QPushButton("Save")

        canc = QtWidgets.QPushButton("Cancel")
        canc.setDefault(True)

        buttons = QtWidgets.QDialogButtonBox(QtCore.Qt.Horizontal)
        buttons.addButton(save, QtWidgets.QDialogButtonBox.AcceptRole)
        buttons.addButton(canc, QtWidgets.QDialogButtonBox.RejectRole)

        buttons.accepted.connect(self.accept)
        buttons.rejected.connect(self.reject)

        self.main_widget_layout.addWidget(buttons)

        model = models.Script_files_Model(list())
        self.scripts_table_view.setModel(model)

        # logger.info(settings)
        stat = QtCore.Qt.Checked if settings[
            'import_ref'] else QtCore.Qt.Unchecked
        self.import_references_input.setCheckState(stat)

        stat = QtCore.Qt.Checked if settings[
            'delete_ns'] else QtCore.Qt.Unchecked
        self.delete_namespaces_input.setCheckState(stat)

        stat = QtCore.Qt.Checked if settings[
            'optimize'] else QtCore.Qt.Unchecked
        self.clean_up_input.setCheckState(stat)

        if settings['scripts']:
            items = list()
            for s in settings['scripts']:
                items.append(dt.ScriptFileNode(name='script', path=s))

            model = models.Script_files_Model(items)
        else:
            model = models.Script_files_Model(list())

        self.scripts_table_view.setModel(model)

        stat = QtCore.Qt.Checked if settings[
            'remember_settings'] else QtCore.Qt.Unchecked
        self.remember_input.setCheckState(stat)

        stat = QtCore.Qt.Checked if settings[
            'open_after'] else QtCore.Qt.Unchecked
        self.open_after_input.setCheckState(stat)
예제 #14
0
    def __init__(self, parent=None):

        super(ProjectsDialog, self).__init__(parent)

        css = loadCSS.loadCSS(
            os.path.join(os.path.dirname(pipeline.CSS.__file__),
                         'mainWindow.css'))
        self.setStyleSheet(css)

        self.setWindowFlags(QtCore.Qt.Tool)
        self.setAttribute(QtCore.Qt.WA_DeleteOnClose)

        self.pipeline_window = self.parent()

        self.setMinimumHeight(600)
        self.setMinimumWidth(600)
        self.setSizePolicy(QtWidgets.QSizePolicy.Expanding,
                           QtWidgets.QSizePolicy.Expanding)

        self.center_to_maya_window()

        self.main_widget = QtWidgets.QWidget(self)

        self.setCentralWidget(self.main_widget)

        # self.setStyleSheet(cfg.stylesheet)

        self.layout = QtWidgets.QVBoxLayout(self.main_widget)
        self.layout.setContentsMargins(5, 5, 5, 5)
        # self.setLayout(self.layout)

        self.setWindowTitle("Projects")

        self.header = gui.Title(self, label="Current Projects")
        self.header.setMaximumHeight(40)
        self.layout.addWidget(self.header)

        self.project_table_widget = QtWidgets.QWidget(self)
        self.projects_table_widget_layout = QtWidgets.QVBoxLayout(
            self.project_table_widget)
        self.projects_table_widget_layout.setContentsMargins(5, 5, 5, 5)
        self.layout.addWidget(self.project_table_widget)

        self.projects_table_view = views.Projects_View(
            parent=self, parentWidget=self.project_table_widget)
        self.project_table_widget.layout().addWidget(self.projects_table_view)
        self.projects_table_view.setSizePolicy(QtWidgets.QSizePolicy.Expanding,
                                               QtWidgets.QSizePolicy.Expanding)

        self.projects_table_view.setModel_(self.pipeline_window.projects)

        self.actions_widget = QtWidgets.QWidget(self)
        self.actions_widget_layout = QtWidgets.QHBoxLayout(self.actions_widget)
        self.actions_widget_layout.setContentsMargins(5, 5, 5, 5)
        self.layout.addWidget(self.actions_widget)

        self.create_project_btn = QtWidgets.QPushButton(
            "Create Project")  #inputs.NiceQLabelButton("Create new Project")#
        self.create_project_btn.setIcon(QtGui.QIcon(cfg.new_icon))
        self.create_project_btn.setIconSize(QtCore.QSize(20, 20))

        self.load_project_btn = QtWidgets.QPushButton("Load Project")
        self.load_project_btn.setIcon(QtGui.QIcon(cfg.load_icon))
        self.load_project_btn.setIconSize(QtCore.QSize(20, 20))

        self.unload_project_btn = QtWidgets.QPushButton("Unload Project")
        self.unload_project_btn.setIcon(QtGui.QIcon(cfg.unload_icon))
        self.unload_project_btn.setIconSize(QtCore.QSize(20, 20))

        self.actions_widget_layout.addWidget(self.create_project_btn)
        self.actions_widget_layout.addWidget(self.load_project_btn)
        self.actions_widget_layout.addWidget(self.unload_project_btn)

        self.create_project_btn.clicked.connect(self.create_project)
        self.load_project_btn.clicked.connect(self.load_project)
        self.unload_project_btn.clicked.connect(self.unload_project)
예제 #15
0
    def __init__(self, parent, text=""):
        super(TextBox, self).__init__(parent)

        self.setStyleSheet(cfg.stylesheet)

        # self.layout = QtWidgets.QHBoxLayout(self)
        # self.layout.setContentsMargins(0,0,0,0)
        #
        # self.text_box = QtWidgets.QPlainTextEdit()
        # self.layout.addWidget(self.text_box)

        self.setStyleSheet(cfg.stylesheet)

        self._original_text = text
        # self.setPadding(5)
        self._changed = False
        # self.setText(self._original_text)

        font = QtGui.QFont()
        font.setItalic(True)
        font.setBold(True)
        self.setFont(font)

        self.commit_button = inputs.NiceQPushButton(
            parent=self)  #QtWidgets.QPushButton(self, "Save")
        # self.commit_button.setPixmap(cfg.yes_icon)
        self.commit_button.setIconSize(QtCore.QSize(12, 12))
        self.commit_button.setIcon(QtGui.QIcon(cfg.yes_icon))
        # self.commit_button.setText("Save")
        # self.commit_button.setMinimumHeight(20)

        self.discard_button = inputs.NiceQPushButton(
            parent=self)  #QtWidgets.QPushButton(self, "Save")
        # self.discard_button.setText("Discard")
        # self.discard_button.setMinimumHeight(20)
        self.discard_button.setIconSize(QtCore.QSize(12, 12))
        self.discard_button.setIcon(QtGui.QIcon(cfg.no_icon))

        self.viewport_VLayout = QtWidgets.QVBoxLayout(self)
        self.viewport().setLayout(self.viewport_VLayout)
        self.viewport_VLayout.setContentsMargins(0, 0, 0, 0)
        self.viewport_VLayout.setAlignment(QtCore.Qt.AlignBottom)

        self.input_panel = QtWidgets.QWidget(self)
        self.input_panel_layout = QtWidgets.QHBoxLayout(self.input_panel)
        self.input_panel_layout.setContentsMargins(2, 2, 2, 2)
        self.input_panel_layout.setSpacing(5)
        self.input_panel_layout.setAlignment(QtCore.Qt.AlignRight)

        self.input_panel_layout.addWidget(self.commit_button)
        self.input_panel_layout.addWidget(self.discard_button)

        self.commit_button.clicked.connect(self.save_text)
        self.discard_button.clicked.connect(self.restore_text)

        self.icon_widget = QtWidgets.QWidget()
        self.icon_widget.setSizePolicy(QtWidgets.QSizePolicy.Expanding,
                                       QtWidgets.QSizePolicy.Expanding)
        self.icon_widget_layout = QtWidgets.QVBoxLayout(self.icon_widget)
        self.icon_widget_layout.setContentsMargins(0, 0, 0, 0)
        self.icon_widget_layout.setAlignment(QtCore.Qt.AlignTop)
        self.icon_label_widget = QtWidgets.QLabel()
        self.icon_label_widget.setPixmap(cfg.add_comment_icon)
        self.icon_widget_layout.addWidget(self.icon_label_widget)
        self.viewport_VLayout.addWidget(self.icon_widget)

        self.viewport_VLayout.addWidget(self.input_panel)
        self.textChanged.connect(self.text_edit)

        self.setText(self._original_text)
        self.panel_hide(True)