Exemple #1
0
def initialize_post_publish_dialog():
    """
    A frameless, staysOnTop dialog to be initialized during post publish process
    for locking its application and actually show user that post publishes are in progress.
    """
    try:
        _fromUtf8 = QtCore.QString.fromUtf8
    except AttributeError:

        def direct_drive(s):
            return s

        _fromUtf8 = direct_drive

    dialog = QtWidgets.QDialog()
    dialog.vertical_layout = QtWidgets.QVBoxLayout(dialog)
    dialog.label = QtWidgets.QLabel(dialog.vertical_layout.widget())
    dialog.label.setText('POST PUBLISH IN PROGRESS')
    dialog.label.setStyleSheet(
        _fromUtf8("color: rgb(20, 255, 20);\n"
                  "font: 16pt;"))
    dialog.vertical_layout.addWidget(dialog.label)
    dialog.label1 = QtWidgets.QLabel(dialog.vertical_layout.widget())
    dialog.label1.setText('PLEASE WAIT...')
    dialog.label1.setAlignment(QtCore.Qt.AlignCenter)
    dialog.vertical_layout.addWidget(dialog.label1)
    dialog.setWindowFlags(QtCore.Qt.WindowStaysOnTopHint)
    dialog.setWindowFlags(QtCore.Qt.FramelessWindowHint)
    dialog.setWindowModality(QtCore.Qt.ApplicationModal)

    return dialog
Exemple #2
0
    def setup_ui(self):
        """create the UI widgets
        """
        self.vertical_layout = QtWidgets.QVBoxLayout(self)

        self.header_horizontal_layout = QtWidgets.QHBoxLayout()

        self.responsible_label = QtWidgets.QLabel(self)
        self.responsible_label.setText('Resource')
        self.responsible_label.setStyleSheet("""
            background-color: gray;
            font-weight: bold;
            color: white;
            padding: 0.5em;
        """)

        self.add_resource_button = QtWidgets.QPushButton(self)
        self.add_resource_button.setText('+')
        self.add_resource_button.setStyleSheet("""
            background-color: gray;
            color: white;
            padding: 0.5em;
        """)

        self.header_horizontal_layout.addWidget(self.responsible_label)
        self.header_horizontal_layout.addStretch(1)
        self.header_horizontal_layout.addWidget(self.add_resource_button)
        self.header_horizontal_layout.setStretch(0, 1)
        self.header_horizontal_layout.setStretch(1, 0)
        self.vertical_layout.addLayout(self.header_horizontal_layout)

        self.responsible_grid_layout = QtWidgets.QGridLayout()
        self.vertical_layout.addLayout(self.responsible_grid_layout)
Exemple #3
0
    def create_widgets(self):
        """
        Creates widgets
        """

        self.dialog_label = QtWidgets.QLabel()
        self.dialog_label.setStyleSheet("color: rgb(71, 143, 202);\n"
                                        "font: 18pt;")
        self.dialog_label.setText("Create User")

        self.line = QtWidgets.QFrame()
        self.line.setFrameShape(QtWidgets.QFrame.HLine)
        self.line.setFrameShadow(QtWidgets.QFrame.Sunken)

        self.name_line_edit = QtWidgets.QLineEdit()
        self.name_line_edit.setPlaceholderText("Enter Name")

        self.login_line_edit = QtWidgets.QLineEdit()
        self.login_line_edit.setPlaceholderText("stalker")

        self.email_line_edit = QtWidgets.QLineEdit()
        self.email_line_edit.setPlaceholderText("*****@*****.**")

        self.password_line_edit = QtWidgets.QLineEdit()
        self.password_line_edit.setPlaceholderText("******")

        self.ok_button = QtWidgets.QPushButton("OK")
        self.cancel_button = QtWidgets.QPushButton("Cancel")
Exemple #4
0
    def setup_ui(self):
        """create the UI widgets
        """
        self.vertical_layout = QtWidgets.QVBoxLayout(self)

        self.header_horizontal_layout = QtWidgets.QHBoxLayout()

        self.responsible_label = QtWidgets.QLabel(self)
        self.responsible_label.setText('Responsible')
        self.responsible_label.setStyleSheet("""
            background-color: gray;
            color: white;
            font-weight: bold;
            padding: 0.5em;
        """)

        self.add_responsible_button = QtWidgets.QPushButton(self)
        self.add_responsible_button.setText('+')
        self.add_responsible_button.setStyleSheet("""
            background-color: gray;
            color: white;
            font-weight: bold;
            padding: 0.5em;
        """)

        self.header_horizontal_layout.addWidget(self.responsible_label)
        self.header_horizontal_layout.addStretch(1)
        self.header_horizontal_layout.addWidget(self.add_responsible_button)
        self.header_horizontal_layout.setStretch(0, 1)
        self.header_horizontal_layout.setStretch(1, 0)
        self.vertical_layout.addLayout(self.header_horizontal_layout)

        self.responsible_grid_layout = QtWidgets.QGridLayout()
        self.vertical_layout.addLayout(self.responsible_grid_layout)

        line = QtWidgets.QFrame(self)
        line.setFrameShape(QtWidgets.QFrame.HLine)
        line.setFrameShadow(QtWidgets.QFrame.Sunken)
        self.vertical_layout.addWidget(line)

        horizontal_layout = QtWidgets.QHBoxLayout()
        self.vertical_layout.addLayout(horizontal_layout)

        review_set_label = QtWidgets.QLabel(self)
        review_set_label.setText('Review Set')
        horizontal_layout.addWidget(review_set_label)
Exemple #5
0
    def _setup_ui(self):
        """create the UI elements
        """
        # Create the main layout
        self.resize(850, 650)

        # Main Layout
        self.main_layout = QtWidgets.QVBoxLayout(self)

        # Dialog Label
        self.dialog_label = QtWidgets.QLabel(self)

        self.dialog_label.setText("Clip Manager")
        self.dialog_label.setStyleSheet("color: rgb(71, 143, 202);font: 18pt;")

        self.main_layout.addWidget(self.dialog_label)

        # Title Line
        line = QtWidgets.QFrame(self)
        line.setFrameShape(QtWidgets.QFrame.HLine)
        line.setFrameShadow(QtWidgets.QFrame.Sunken)
        self.main_layout.addWidget(line)

        # Add Clip Field Button
        self.add_clip_field_push_button = QtWidgets.QPushButton(self)
        self.add_clip_field_push_button.setText("Add Clip")
        self.main_layout.addWidget(self.add_clip_field_push_button)

        # Clip Fields Layout
        self.scroll_area_widget = QtWidgets.QWidget(self)
        self.clip_vertical_layout = QtWidgets.QVBoxLayout(self)
        self.scroll_area_widget.setLayout(self.clip_vertical_layout)

        self.scroll_area = QtWidgets.QScrollArea(self)
        self.scroll_area.setVerticalScrollBarPolicy(
            QtCore.Qt.ScrollBarAsNeeded)
        self.scroll_area.setHorizontalScrollBarPolicy(
            QtCore.Qt.ScrollBarAsNeeded)
        self.scroll_area.setWidgetResizable(True)
        self.scroll_area.setWidget(self.scroll_area_widget)

        self.main_layout.addWidget(self.scroll_area)

        # Create Shots Push Button
        self.create_shots_push_button = QtWidgets.QPushButton(self)
        self.create_shots_push_button.setText("Create")
        self.main_layout.addWidget(self.create_shots_push_button)

        # setup signals
        # Add Clip Push Button
        QtCore.QObject.connect(self.add_clip_field_push_button,
                               QtCore.SIGNAL("clicked()"), self.add_clip_field)

        # Create Push Button
        QtCore.QObject.connect(self.create_shots_push_button,
                               QtCore.SIGNAL("clicked()"), self.create_shots)
Exemple #6
0
    def _setup_dialog(self):
        """create the UI elements
        """
        # set window title
        self.setWindowTitle("Duplicate Task Hierarchy")

        # set window size
        self.resize(285, 118)

        # create the main layout
        self.main_layout = QtWidgets.QVBoxLayout(self)
        self.setLayout(self.main_layout)

        # the label
        self.label = QtWidgets.QLabel(self)
        self.label.setText('Duplicated Task Name:')
        self.main_layout.addWidget(self.label)

        # the line edit
        self.line_edit = QtWidgets.QLineEdit(self)
        self.line_edit.setText(self.duplicated_task_name)
        self.main_layout.addWidget(self.line_edit)

        # the check box
        self.check_box = QtWidgets.QCheckBox(self)
        self.check_box.setText('Keep resources')
        self.check_box.setChecked(True)
        self.main_layout.addWidget(self.check_box)

        # the button box
        self.button_box = QtWidgets.QDialogButtonBox(self)
        self.button_box.setOrientation(QtCore.Qt.Horizontal)
        self.button_box.setStandardButtons(
            QtWidgets.QDialogButtonBox.Cancel |
            QtWidgets.QDialogButtonBox.Ok
        )
        self.main_layout.addWidget(self.button_box)

        # setup signals
        QtCore.QObject.connect(
            self.button_box,
            QtCore.SIGNAL("accepted()"),
            self.accept
        )
        QtCore.QObject.connect(
            self.button_box,
            QtCore.SIGNAL("rejected()"),
            self.reject
        )
    def setup_ui(self):
        """create the UI widgets
        """
        self.vertical_layout = QtWidgets.QVBoxLayout(self)

        self.header_horizontal_layout = QtWidgets.QHBoxLayout()

        self.versions_use_in_label = QtWidgets.QLabel(self)
        self.versions_use_in_label.setText('Versions are used in')
        self.versions_use_in_label.setStyleSheet("""
            background-color: gray;
            color: white;
            font-weight: bold;
            padding: 0.5em;
        """)

        self.header_horizontal_layout.addWidget(self.versions_use_in_label)
        self.vertical_layout.addLayout(self.header_horizontal_layout)
    def _setup(self):
        """create UI elements
        """
        self.setWindowTitle("Create Shot Dialog")
        self.resize(550, 790)
        self.vertical_layout = QtWidgets.QVBoxLayout(self)

        # ----------------------------------------------
        # Dilog Label
        self.dialog_label = QtWidgets.QLabel(self)
        self.dialog_label.setText('Create Shot')
        self.dialog_label.setStyleSheet("color: rgb(71, 143, 202);font: 18pt;")
        self.vertical_layout.addWidget(self.dialog_label)

        # ----------------------------------------------
        # Title Line
        line = QtWidgets.QFrame(self)
        line.setFrameShape(QtWidgets.QFrame.HLine)
        line.setFrameShadow(QtWidgets.QFrame.Sunken)
        self.vertical_layout.addWidget(line)

        # ----------------------------------------------
        # Button Box
        self.buttonBox = QtWidgets.QDialogButtonBox(self)
        self.buttonBox.setOrientation(QtCore.Qt.Horizontal)
        self.buttonBox.setStandardButtons(
            QtWidgets.QDialogButtonBox.Cancel | QtWidgets.QDialogButtonBox.Ok
        )
        self.vertical_layout.addWidget(self.buttonBox)

        # ----------------------------------------------
        # SIGNALS

        # button box
        QtCore.QObject.connect(
            self.buttonBox,
            QtCore.SIGNAL("accepted()"),
            self.accept
        )
        QtCore.QObject.connect(
            self.buttonBox,
            QtCore.SIGNAL("rejected()"),
            self.reject
        )
Exemple #9
0
 def _setup_ui(self):
     """creates the ui elements
     """
     self.label = QtWidgets.QLabel(self.parent)
     self.parent_form_layout.setWidget(self.parent_form_layout_index,
                                       QtWidgets.QFormLayout.LabelRole,
                                       self.label)
     self.horizontal_layout = QtWidgets.QHBoxLayout()
     self.combo_box = QtWidgets.QComboBox(self.parent)
     self.horizontal_layout.addWidget(self.combo_box)
     self.update_push_button = QtWidgets.QPushButton(self.parent)
     self.horizontal_layout.addWidget(self.update_push_button)
     self.create_push_button = QtWidgets.QPushButton(self.parent)
     self.horizontal_layout.addWidget(self.create_push_button)
     self.horizontal_layout.setStretch(0, 1)
     self.parent_form_layout.setLayout(self.parent_form_layout_index,
                                       QtWidgets.QFormLayout.FieldRole,
                                       self.horizontal_layout)
     self.label.setText("Image Format")
     self.update_push_button.setText("Update...")
     self.create_push_button.setText("New...")
Exemple #10
0
    def setup_ui(self):
        """create UI widgets
        """
        self.resize(447, 546)
        self.setWindowTitle("TimeLog Dialog")

        # -----------------------------
        # Setup Main Layout
        self.main_layout = QtWidgets.QHBoxLayout(self)

        # create the left column
        self.left_layout = QtWidgets.QVBoxLayout()
        self.main_layout.addLayout(self.left_layout)

        # create the right column
        # this will list the previously entered time logs
        self.right_layout = QtWidgets.QVBoxLayout()
        self.main_layout.addLayout(self.right_layout)

        # -----------------------------
        # Setup Form Layout
        self.form_layout = QtWidgets.QFormLayout()
        self.form_layout.setFieldGrowthPolicy(
            QtWidgets.QFormLayout.AllNonFixedFieldsGrow
        )
        self.left_layout.addLayout(self.form_layout)

        i = 0
        # -----------------------------
        # Tasks
        self.tasks_label = QtWidgets.QLabel(self)
        self.tasks_label.setText("Task")
        self.form_layout.setWidget(
            i,
            QtWidgets.QFormLayout.LabelRole,
            self.tasks_label
        )

        from anima.ui.widgets import TaskComboBox
        self.tasks_combo_box = TaskComboBox(self)
        self.tasks_combo_box.setObjectName("tasks_combo_box")
        self.form_layout.setWidget(
            i,
            QtWidgets.QFormLayout.FieldRole,
            self.tasks_combo_box
        )

        # -----------------------------
        # Tasks Progress Bar
        i += 1
        self.task_progress_bar = QtWidgets.QProgressBar(self)
        self.task_progress_bar.setProperty("value", 24)
        self.form_layout.setWidget(
            i,
            QtWidgets.QFormLayout.FieldRole,
            self.task_progress_bar
        )

        # -----------------------------
        # Resources
        i += 1
        self.resources_label = QtWidgets.QLabel(self)
        self.resources_label.setText("Resource")
        self.form_layout.setWidget(
            i,
            QtWidgets.QFormLayout.LabelRole,
            self.resources_label
        )

        self.resource_combo_box = QtWidgets.QComboBox(self)
        self.form_layout.setWidget(
            i,
            QtWidgets.QFormLayout.FieldRole,
            self.resource_combo_box
        )

        # -----------------------------
        # Calendar, Start & End Time
        i += 1

        # Label
        self.date_label = QtWidgets.QLabel(self)
        self.date_label.setText("Date")
        self.form_layout.setWidget(
            i,
            QtWidgets.QFormLayout.LabelRole,
            self.date_label
        )

        # Calendar Widget
        self.calendar_widget = QtWidgets.QCalendarWidget(self)
        self.calendar_widget.setFirstDayOfWeek(QtCore.Qt.Monday)
        self.form_layout.setWidget(
            i,
            QtWidgets.QFormLayout.FieldRole,
            self.calendar_widget
        )

        # -----------------------------
        # Start Time
        from anima.ui.widgets import TimeEdit

        i += 1
        self.start_time_label = QtWidgets.QLabel(self)
        self.start_time_label.setText("Start")
        self.form_layout.setWidget(
            i,
            QtWidgets.QFormLayout.LabelRole,
            self.start_time_label
        )

        from anima import TIMING_RESOLUTION
        self.start_time_edit = TimeEdit(self, resolution=TIMING_RESOLUTION)
        self.start_time_edit.setCurrentSection(QtWidgets.QDateTimeEdit.MinuteSection)
        self.start_time_edit.setCalendarPopup(True)
        self.start_time_edit.setObjectName("start_time_edit")
        self.start_time_edit.setWrapping(True)
        self.form_layout.setWidget(
            i,
            QtWidgets.QFormLayout.FieldRole,
            self.start_time_edit
        )
        self.start_time_edit.setDisplayFormat("HH:mm")

        # -----------------------------
        # End Time
        i += 1
        self.end_time_label = QtWidgets.QLabel(self)
        self.end_time_label.setText("End")
        self.form_layout.setWidget(
            i,
            QtWidgets.QFormLayout.LabelRole,
            self.end_time_label
        )

        self.end_time_edit = TimeEdit(self, resolution=TIMING_RESOLUTION)
        self.end_time_edit.setCurrentSection(
            QtWidgets.QDateTimeEdit.MinuteSection
        )
        self.end_time_edit.setCalendarPopup(True)
        self.end_time_edit.setObjectName("end_time_edit")
        self.end_time_edit.setWrapping(True)
        self.form_layout.setWidget(
            i,
            QtWidgets.QFormLayout.FieldRole,
            self.end_time_edit
        )
        self.end_time_edit.setDisplayFormat("HH:mm")

        # -----------------------------
        # Effort
        i += 1

        # Label
        self.effort_label = QtWidgets.QLabel(self)
        self.effort_label.setText("Effort")
        self.form_layout.setWidget(
            i,
            QtWidgets.QFormLayout.LabelRole,
            self.effort_label
        )

        effort_layout = QtWidgets.QHBoxLayout(self)
        self.form_layout.setLayout(
            i,
            QtWidgets.QFormLayout.FieldRole,
            effort_layout
        )

        self.effort_time_edit = TimeEdit(self, resolution=TIMING_RESOLUTION)
        self.effort_time_edit.setCurrentSection(QtWidgets.QDateTimeEdit.MinuteSection)
        self.effort_time_edit.setCalendarPopup(True)
        self.effort_time_edit.setObjectName("effort_time_edit")
        self.effort_time_edit.setWrapping(True)
        # self.form_layout.setWidget(
        #     i,
        #     QtWidgets.QFormLayout.FieldRole,
        #     self.effort_time_edit
        # )
        effort_layout.addWidget(self.effort_time_edit)
        self.effort_time_edit.setDisplayFormat("HH:mm")

        # -----------------------------
        # Advanced Time Controls
        self.show_advanced_time_controls_check_box = QtWidgets.QCheckBox(self)
        self.show_advanced_time_controls_check_box.setText('Advanced Controls')
        effort_layout.addWidget(self.show_advanced_time_controls_check_box)

        # -----------------------------
        # Time Left Info
        i += 1
        self.info_area_label = QtWidgets.QLabel(self)
        self.info_area_label.setText("INFO")
        self.form_layout.setWidget(
            i,
            QtWidgets.QFormLayout.FieldRole,
            self.info_area_label
        )

        # -----------------------------
        # Status
        i += 1
        self.status_label = QtWidgets.QLabel(self)
        self.status_label.setText("Status")
        self.form_layout.setWidget(
            i,
            QtWidgets.QFormLayout.LabelRole,
            self.status_label
        )

        self.not_finished_yet_radio_button = QtWidgets.QRadioButton(self)
        self.not_finished_yet_radio_button.setText("Not Finished Yet")
        self.not_finished_yet_radio_button.setChecked(True)
        self.form_layout.setWidget(
            i,
            QtWidgets.QFormLayout.FieldRole,
            self.not_finished_yet_radio_button
        )

        i += 1
        self.set_as_complete_radio_button = QtWidgets.QRadioButton(self)
        self.set_as_complete_radio_button.setText("Set As Completed")
        self.form_layout.setWidget(
            i,
            QtWidgets.QFormLayout.FieldRole,
            self.set_as_complete_radio_button
        )

        i += 1
        self.submit_for_final_review_radio_button = \
            QtWidgets.QRadioButton(self)
        self.submit_for_final_review_radio_button.setText(
            "Submit For Final Review"
        )
        self.form_layout.setWidget(
            i,
            QtWidgets.QFormLayout.FieldRole,
            self.submit_for_final_review_radio_button
        )

        # -----------------------------
        # Dialog Button Box
        self.dialog_button_box = QtWidgets.QDialogButtonBox(self)
        self.dialog_button_box.setOrientation(QtCore.Qt.Horizontal)
        self.dialog_button_box.setStandardButtons(
            QtWidgets.QDialogButtonBox.Cancel | QtWidgets.QDialogButtonBox.Ok
        )
        self.left_layout.addWidget(self.dialog_button_box)

        # create the right column which is the current date details
        self.formatted_date_label = QtWidgets.QLabel(self)
        self.formatted_date_label.setText("")
        self.right_layout.addWidget(self.formatted_date_label)

        # create the right column which is the current date details
        self.time_log_info_label = QtWidgets.QLabel(self)
        self.time_log_info_label.setText("")
        self.right_layout.addWidget(self.time_log_info_label)

        # set stretch
        self.main_layout.setStretchFactor(self.left_layout, 0)
        self.main_layout.setStretchFactor(self.right_layout, 1)

        # setup signals
        self._setup_signals()

        # setup defaults
        self._set_defaults()

        # center window
        self.center_window()
Exemple #11
0
    def _setup_ui(self):
        """setup the ui elements
        """
        self.resize(750, 180)
        self.vertical_layout = QtWidgets.QVBoxLayout(self)

        # Dialog Label
        self.dialog_label = QtWidgets.QLabel(self)
        self.dialog_label.setText('%s Filename Template' % self.mode)
        self.dialog_label.setStyleSheet("color: rgb(71, 143, 202);font: 18pt;")
        self.vertical_layout.addWidget(self.dialog_label)

        # Title Line
        line = QtWidgets.QFrame(self)
        line.setFrameShape(QtWidgets.QFrame.HLine)
        line.setFrameShadow(QtWidgets.QFrame.Sunken)
        self.vertical_layout.addWidget(line)

        # Form Layout
        self.form_layout = QtWidgets.QFormLayout()
        self.form_layout.setLabelAlignment(QtCore.Qt.AlignRight
                                           | QtCore.Qt.AlignTrailing
                                           | QtCore.Qt.AlignVCenter)
        self.vertical_layout.addLayout(self.form_layout)

        # ------------------------------------------------
        # Target Entity Type Field

        # label
        self.target_entity_type_label = \
            QtWidgets.QLabel('Target Entity Type', self)
        self.form_layout.setWidget(0, QtWidgets.QFormLayout.LabelRole,
                                   self.target_entity_type_label)

        # field
        self.target_entity_type_combo_box = QtWidgets.QComboBox(self)
        self.form_layout.setWidget(0, QtWidgets.QFormLayout.FieldRole,
                                   self.target_entity_type_combo_box)

        # ------------------------------------------------
        # Name Field
        self.name_label = QtWidgets.QLabel('Name', self)
        self.form_layout.setWidget(1, QtWidgets.QFormLayout.LabelRole,
                                   self.name_label)
        self.name_fields_vertical_layout = QtWidgets.QVBoxLayout()
        self.name_validator_label = QtWidgets.QLabel(self)
        self.name_validator_label.setStyleSheet('color: rgb(255, 0, 0);')

        from anima.ui.widgets import ValidatedLineEdit
        self.name_line_edit = ValidatedLineEdit(
            self, message_field=self.name_validator_label)

        self.name_fields_vertical_layout.addWidget(self.name_line_edit)
        self.name_fields_vertical_layout.addWidget(self.name_validator_label)
        self.form_layout.setLayout(1, QtWidgets.QFormLayout.FieldRole,
                                   self.name_fields_vertical_layout)

        # ------------------------------------------------
        # Path Code Field
        self.path_label = QtWidgets.QLabel('Path', self)
        self.form_layout.setWidget(2, QtWidgets.QFormLayout.LabelRole,
                                   self.path_label)

        self.path_line_edit = QtWidgets.QLineEdit(self)
        # set the default value to something useful
        self.form_layout.setWidget(2, QtWidgets.QFormLayout.FieldRole,
                                   self.path_line_edit)

        # ------------------------------------------------
        # Filename Code Field
        self.filename_label = QtWidgets.QLabel('Filename', self)
        self.form_layout.setWidget(3, QtWidgets.QFormLayout.LabelRole,
                                   self.filename_label)

        self.filename_line_edit = QtWidgets.QLineEdit(self)
        self.form_layout.setWidget(3, QtWidgets.QFormLayout.FieldRole,
                                   self.filename_line_edit)

        # ------------------------------------------------
        # Button Box
        self.button_box = QtWidgets.QDialogButtonBox(self)
        self.button_box.setOrientation(QtCore.Qt.Horizontal)
        self.button_box.setStandardButtons(QtWidgets.QDialogButtonBox.Cancel
                                           | QtWidgets.QDialogButtonBox.Ok)
        self.vertical_layout.addWidget(self.button_box)
        self.vertical_layout.setStretch(2, 1)

        # ------------------------------------------------
        # Default values
        self.target_entity_type_combo_box.addItems(
            ['Task', 'Asset', 'Shot', 'Sequence'])
        self.name_line_edit.set_invalid()  # Empty field is not valid
        self.path_line_edit.setText(
            '$REPO{{project.repository.code}}/{{project.code}}/'
            '{%- for parent_task in parent_tasks -%}{{parent_task.nice_name}}'
            '/{%- endfor -%}')
        self.filename_line_edit.setText(
            '{{version.nice_name}}_v{{"%03d"|format(version.version_number)}}')

        # ------------------------------------------------
        # Disable Fields
        if self.mode == 'Update':
            self.target_entity_type_combo_box.setEnabled(False)

        # ------------------------------------------------
        # Signals
        # Name
        QtCore.QObject.connect(self.name_line_edit,
                               QtCore.SIGNAL('textChanged(QString)'),
                               self.name_line_edit_changed)

        # Button box
        QtCore.QObject.connect(self.button_box, QtCore.SIGNAL("accepted()"),
                               self.accept)
        QtCore.QObject.connect(self.button_box, QtCore.SIGNAL("rejected()"),
                               self.reject)
Exemple #12
0
    def _setup_ui(self):
        self.setObjectName("Dialog")
        self.resize(502, 220)
        self.vertical_layout = QtWidgets.QVBoxLayout(self)
        self.vertical_layout.setObjectName("verticalLayout")
        self.dialog_label = QtWidgets.QLabel(self)
        self.dialog_label.setStyleSheet(
            "color: rgb(71, 143, 202);\n"
            "font: 18pt;"
        )
        self.dialog_label.setObjectName("dialog_label")
        self.dialog_label.setText("Create Repository")

        self.vertical_layout.addWidget(self.dialog_label)
        self.line = QtWidgets.QFrame(self)
        self.line.setFrameShape(QtWidgets.QFrame.HLine)
        self.line.setFrameShadow(QtWidgets.QFrame.Sunken)
        self.line.setObjectName("line")
        self.vertical_layout.addWidget(self.line)
        self.form_layout = QtWidgets.QFormLayout()
        self.form_layout.setLabelAlignment(
            QtCore.Qt.AlignRight | QtCore.Qt.AlignTrailing | QtCore.Qt.AlignVCenter
        )
        self.form_layout.setObjectName("form_layout")

        row_number = 0
        # -------------
        # Name
        # Label
        self.name_label = QtWidgets.QLabel(self)
        self.name_label.setObjectName("name_label")
        self.name_label.setText("Name")
        self.form_layout.setWidget(0, QtWidgets.QFormLayout.LabelRole, self.name_label)

        # Field
        self.name_fields_vertical_layout = QtWidgets.QVBoxLayout()
        self.name_fields_vertical_layout.setObjectName("name_fields_verticalLayout")
        self.name_validator_label = QtWidgets.QLabel(self)
        self.name_validator_label.setStyleSheet("color: rgb(255, 0, 0);")
        self.name_validator_label.setObjectName("name_validator_label")
        self.name_fields_vertical_layout.addWidget(self.name_validator_label)
        self.form_layout.setLayout(
            row_number,
            QtWidgets.QFormLayout.FieldRole,
            self.name_fields_vertical_layout
        )
        self.name_validator_label.setText("Validator Message")

        # create name_line_edit
        from anima.ui.widgets import ValidatedLineEdit
        self.name_line_edit = ValidatedLineEdit(
            message_field=self.name_validator_label
        )
        self.name_line_edit.setPlaceholderText('Enter Name')
        self.name_fields_vertical_layout.insertWidget(
            0, self.name_line_edit
        )

        row_number += 1
        # -------------
        # Code
        # Label
        self.code_label = QtWidgets.QLabel(self)
        self.code_label.setText("Code")
        self.code_label.setObjectName("code_label")
        self.form_layout.setWidget(
            row_number,
            QtWidgets.QFormLayout.LabelRole,
            self.code_label
        )

        # Field
        self.code_fields_vertical_layout = QtWidgets.QVBoxLayout()
        self.code_fields_vertical_layout.setObjectName("code_fields_verticalLayout")
        self.code_validator_label = QtWidgets.QLabel(self)
        self.code_validator_label.setStyleSheet("color: rgb(255, 0, 0);")
        self.code_validator_label.setObjectName("code_validator_label")
        self.code_fields_vertical_layout.addWidget(self.code_validator_label)
        self.form_layout.setLayout(
            row_number,
            QtWidgets.QFormLayout.FieldRole,
            self.code_fields_vertical_layout
        )

        # create code_line_edit
        from anima.ui.widgets import ValidatedLineEdit
        self.code_line_edit = ValidatedLineEdit(
            message_field=self.code_validator_label
        )
        self.code_line_edit.setPlaceholderText('Enter Code')
        self.code_fields_vertical_layout.insertWidget(
            0, self.code_line_edit
        )

        row_number += 1
        # -------------
        # Windows Path
        # Label
        self.windows_path_label = QtWidgets.QLabel(self)
        self.windows_path_label.setObjectName("windows_path_label")
        self.form_layout.setWidget(
            row_number,
            QtWidgets.QFormLayout.LabelRole,
            self.windows_path_label
        )
        self.windows_path_label.setText("Windows Path")

        # Field
        self.windows_path_line_edit = QtWidgets.QLineEdit(self)
        self.windows_path_line_edit.setObjectName("windows_path_lineEdit")
        self.form_layout.setWidget(
            row_number,
            QtWidgets.QFormLayout.FieldRole,
            self.windows_path_line_edit
        )

        row_number += 1
        # -------------
        # Linux Path
        # Label
        self.linux_label = QtWidgets.QLabel(self)
        self.linux_label.setObjectName("linux_label")
        self.linux_label.setText("Linux Path")
        self.form_layout.setWidget(
            row_number,
            QtWidgets.QFormLayout.LabelRole,
            self.linux_label
        )

        # Field
        self.linux_path_line_edit = QtWidgets.QLineEdit(self)
        self.linux_path_line_edit.setObjectName("linux_path_lineEdit")
        self.form_layout.setWidget(
            row_number,
            QtWidgets.QFormLayout.FieldRole,
            self.linux_path_line_edit
        )

        row_number += 1
        # -------------
        # OSX Path
        # Label
        self.osx_path_label = QtWidgets.QLabel(self)
        self.osx_path_label.setObjectName("osx_path_label")
        self.osx_path_label.setText("OSX Path")
        self.form_layout.setWidget(
            row_number,
            QtWidgets.QFormLayout.LabelRole,
            self.osx_path_label
        )

        # Field
        self.osx_path_line_edit = QtWidgets.QLineEdit(self)
        self.osx_path_line_edit.setObjectName("osx_path_lineEdit")
        self.form_layout.setWidget(
            row_number,
            QtWidgets.QFormLayout.FieldRole,
            self.osx_path_line_edit
        )
        self.vertical_layout.addLayout(self.form_layout)

        # Button Box
        self.button_box = QtWidgets.QDialogButtonBox(self)
        self.button_box.setOrientation(QtCore.Qt.Horizontal)
        self.button_box.setStandardButtons(
            QtWidgets.QDialogButtonBox.Cancel | QtWidgets.QDialogButtonBox.Ok
        )
        self.button_box.setObjectName("button_box")
        self.vertical_layout.addWidget(self.button_box)
        self.vertical_layout.setStretch(2, 1)

        QtCore.QObject.connect(
            self.button_box,
            QtCore.SIGNAL("accepted()"),
            self.accept
        )
        QtCore.QObject.connect(
            self.button_box,
            QtCore.SIGNAL("rejected()"),
            self.reject
        )
        QtCore.QMetaObject.connectSlotsByName(self)
Exemple #13
0
    def setup_ui(self):
        """create UI widgets
        """
        self.resize(447, 546)
        self.setWindowTitle("TimeLog Dialog")

        # -----------------------------
        # Setup Main Layout
        self.main_layout = QtWidgets.QHBoxLayout(self)

        # create the left column
        self.left_layout = QtWidgets.QVBoxLayout()
        self.main_layout.addLayout(self.left_layout)

        # create the right column
        # this will list the previously entered time logs
        self.right_layout = QtWidgets.QVBoxLayout()
        self.main_layout.addLayout(self.right_layout)

        # -----------------------------
        # Setup Form Layout
        self.form_layout = QtWidgets.QFormLayout()
        self.form_layout.setFieldGrowthPolicy(
            QtWidgets.QFormLayout.AllNonFixedFieldsGrow
        )
        self.left_layout.addLayout(self.form_layout)

        # -----------------------------
        # Tasks
        self.tasks_label = QtWidgets.QLabel(self)
        self.tasks_label.setText("Task")
        self.form_layout.setWidget(
            0,
            QtWidgets.QFormLayout.LabelRole,
            self.tasks_label
        )

        from anima.ui.widgets import TaskComboBox
        self.tasks_combo_box = TaskComboBox(self)
        self.tasks_combo_box.setObjectName("tasks_combo_box")
        self.form_layout.setWidget(
            0,
            QtWidgets.QFormLayout.FieldRole,
            self.tasks_combo_box
        )

        # -----------------------------
        # Tasks Progress Bar
        self.task_progress_bar = QtWidgets.QProgressBar(self)
        self.task_progress_bar.setProperty("value", 24)
        self.form_layout.setWidget(
            1,
            QtWidgets.QFormLayout.FieldRole,
            self.task_progress_bar
        )

        # -----------------------------
        # Resources
        self.resources_label = QtWidgets.QLabel(self)
        self.resources_label.setText("Resource")
        self.form_layout.setWidget(
            2,
            QtWidgets.QFormLayout.LabelRole,
            self.resources_label
        )

        self.resource_combo_box = QtWidgets.QComboBox(self)
        self.form_layout.setWidget(
            2,
            QtWidgets.QFormLayout.FieldRole,
            self.resource_combo_box
        )

        # -----------------------------
        # Calendar, Start & End Time

        # Label
        self.date_label = QtWidgets.QLabel(self)
        self.date_label.setText("Date")
        self.form_layout.setWidget(
            3,
            QtWidgets.QFormLayout.LabelRole,
            self.date_label
        )

        # Calendar Widget
        self.calendar_widget = QtWidgets.QCalendarWidget(self)
        self.calendar_widget.setFirstDayOfWeek(QtCore.Qt.Monday)
        self.form_layout.setWidget(
            3,
            QtWidgets.QFormLayout.FieldRole,
            self.calendar_widget
        )

        # Start Time
        self.start_time_label = QtWidgets.QLabel(self)
        self.start_time_label.setText("Start")
        self.form_layout.setWidget(
            4,
            QtWidgets.QFormLayout.LabelRole,
            self.start_time_label
        )

        from anima.ui.widgets import TimeEdit
        self.start_time_edit = TimeEdit(self, resolution=timing_resolution)
        self.start_time_edit.setCurrentSection(
            QtWidgets.QDateTimeEdit.MinuteSection
        )
        self.start_time_edit.setCalendarPopup(True)
        self.start_time_edit.setObjectName("start_time_edit")
        self.start_time_edit.setWrapping(True)
        self.form_layout.setWidget(
            4,
            QtWidgets.QFormLayout.FieldRole,
            self.start_time_edit
        )
        self.start_time_edit.setDisplayFormat("HH:mm")

        # End Time
        self.end_time_label = QtWidgets.QLabel(self)
        self.end_time_label.setText("End")
        self.form_layout.setWidget(
            5,
            QtWidgets.QFormLayout.LabelRole,
            self.end_time_label
        )

        self.end_time_edit = TimeEdit(self, resolution=timing_resolution)
        self.end_time_edit.setCurrentSection(
            QtWidgets.QDateTimeEdit.MinuteSection
        )
        self.end_time_edit.setCalendarPopup(True)
        self.end_time_edit.setObjectName("end_time_edit")
        self.end_time_edit.setWrapping(True)
        self.form_layout.setWidget(
            5,
            QtWidgets.QFormLayout.FieldRole,
            self.end_time_edit
        )
        self.end_time_edit.setDisplayFormat("HH:mm")

        # -----------------------------
        # Time Left Info
        self.info_area_label = QtWidgets.QLabel(self)
        self.info_area_label.setText("INFO")
        self.form_layout.setWidget(
            6,
            QtWidgets.QFormLayout.FieldRole,
            self.info_area_label
        )

        # -----------------------------
        # Revision
        self.revision_label = QtWidgets.QLabel(self)
        self.revision_label.setText(
            """<html>
                <head/>
                <body>
                    <p align=\"right\">
                        Revision
                        <br/>
                        Type
                    </p>
                </body>
            </html>
            """
        )
        self.form_layout.setWidget(
            7,
            QtWidgets.QFormLayout.LabelRole,
            self.revision_label
        )

        self.revision_type_combo_box = QtWidgets.QComboBox(self)
        self.form_layout.setWidget(
            7,
            QtWidgets.QFormLayout.FieldRole,
            self.revision_type_combo_box
        )

        # -----------------------------
        # Description
        self.description_label = QtWidgets.QLabel(self)
        self.description_label.setText("Description")
        self.form_layout.setWidget(
            8,
            QtWidgets.QFormLayout.LabelRole,
            self.description_label
        )

        self.description_plain_text_edit = QtWidgets.QPlainTextEdit(self)
        self.form_layout.setWidget(
            8,
            QtWidgets.QFormLayout.FieldRole,
            self.description_plain_text_edit
        )

        # -----------------------------
        # Status
        self.status_label = QtWidgets.QLabel(self)
        self.status_label.setText("Status")
        self.form_layout.setWidget(
            9,
            QtWidgets.QFormLayout.LabelRole,
            self.status_label
        )

        self.not_finished_yet_radio_button = QtWidgets.QRadioButton(self)
        self.not_finished_yet_radio_button.setText("Not Finished Yet")
        self.not_finished_yet_radio_button.setChecked(True)
        self.form_layout.setWidget(
            9,
            QtWidgets.QFormLayout.FieldRole,
            self.not_finished_yet_radio_button
        )

        self.set_as_complete_radio_button = QtWidgets.QRadioButton(self)
        self.set_as_complete_radio_button.setText("Set As Complete")
        self.form_layout.setWidget(
            10,
            QtWidgets.QFormLayout.FieldRole,
            self.set_as_complete_radio_button
        )

        self.submit_for_final_review_radio_button = \
            QtWidgets.QRadioButton(self)
        self.submit_for_final_review_radio_button.setText(
            "Submit For Final Review"
        )
        self.form_layout.setWidget(
            11,
            QtWidgets.QFormLayout.FieldRole,
            self.submit_for_final_review_radio_button
        )

        # -----------------------------
        # Dialog Button Box
        self.dialog_button_box = QtWidgets.QDialogButtonBox(self)
        self.dialog_button_box.setOrientation(QtCore.Qt.Horizontal)
        self.dialog_button_box.setStandardButtons(
            QtWidgets.QDialogButtonBox.Cancel | QtWidgets.QDialogButtonBox.Ok
        )
        self.left_layout.addWidget(self.dialog_button_box)

        # create the right column which is the current date details
        self.formatted_date_label = QtWidgets.QLabel(self)
        self.formatted_date_label.setText("")
        self.right_layout.addWidget(self.formatted_date_label)

        # create the right column which is the current date details
        self.time_log_info_label = QtWidgets.QLabel(self)
        self.time_log_info_label.setText("")
        self.right_layout.addWidget(self.time_log_info_label)

        # set stretch
        self.main_layout.setStretchFactor(self.left_layout, 0)
        self.main_layout.setStretchFactor(self.right_layout, 1)

        # setup signals
        self._setup_signals()

        # setup defaults
        self._set_defaults()

        # center window
        self.center_window()
Exemple #14
0
    def _setup_ui(self):
        """create UI elements
        """
        self.resize(517, 545)
        self.verticalLayout = QtWidgets.QVBoxLayout(self)

        self.setWindowTitle("Project Dialog")

        # ----------------------
        # Dialog Label
        self.dialog_label = QtWidgets.QLabel(self)
        self.dialog_label.setText('%s Project' % self.mode)
        self.dialog_label.setStyleSheet(
            "color: rgb(71, 143, 202);\nfont: 18pt;")
        self.verticalLayout.addWidget(self.dialog_label)
        self.line = QtWidgets.QFrame(self)
        self.line.setFrameShape(QtWidgets.QFrame.HLine)
        self.line.setFrameShadow(QtWidgets.QFrame.Sunken)
        self.verticalLayout.addWidget(self.line)

        self.project_info_formLayout = QtWidgets.QFormLayout()
        self.project_info_formLayout.setLabelAlignment(
            QtCore.Qt.AlignRight | QtCore.Qt.AlignTrailing
            | QtCore.Qt.AlignVCenter)

        # ----------------------
        # Name Fields
        self.name_label = QtWidgets.QLabel(self)
        self.name_label.setText("Name")
        self.project_info_formLayout.setWidget(0,
                                               QtWidgets.QFormLayout.LabelRole,
                                               self.name_label)

        self.name_fields_verticalLayout = QtWidgets.QVBoxLayout()
        self.name_validator_label = QtWidgets.QLabel(self)
        self.name_validator_label.setText("Validator Message")
        self.name_validator_label.setStyleSheet("color: rgb(255, 0, 0);")
        self.name_fields_verticalLayout.addWidget(self.name_validator_label)
        self.project_info_formLayout.setLayout(0,
                                               QtWidgets.QFormLayout.FieldRole,
                                               self.name_fields_verticalLayout)

        # add name_lineEdit
        from anima.ui.widgets import ValidatedLineEdit
        self.name_lineEdit = ValidatedLineEdit(
            message_field=self.name_validator_label)
        self.name_fields_verticalLayout.insertWidget(0, self.name_lineEdit)

        # ----------------------
        # Code Fields
        self.code_label = QtWidgets.QLabel(self)
        self.code_label.setText("Code")
        self.project_info_formLayout.setWidget(1,
                                               QtWidgets.QFormLayout.LabelRole,
                                               self.code_label)
        self.code_fields_verticalLayout = QtWidgets.QVBoxLayout()
        self.code_validator_label = QtWidgets.QLabel(self)
        self.code_validator_label.setText("Validator Message")
        self.code_validator_label.setStyleSheet("color: rgb(255, 0, 0);")
        self.code_fields_verticalLayout.addWidget(self.code_validator_label)
        self.project_info_formLayout.setLayout(1,
                                               QtWidgets.QFormLayout.FieldRole,
                                               self.code_fields_verticalLayout)

        # add code_lineEdit
        self.code_lineEdit = ValidatedLineEdit(
            message_field=self.code_validator_label)
        self.code_fields_verticalLayout.insertWidget(0, self.code_lineEdit)

        # ----------------------
        # Type Fields
        self.type_label = QtWidgets.QLabel(self)
        self.type_label.setText("Type")
        self.project_info_formLayout.setWidget(2,
                                               QtWidgets.QFormLayout.LabelRole,
                                               self.type_label)
        self.type_comboBox = QtWidgets.QComboBox(self)
        self.type_comboBox.setEditable(True)
        self.project_info_formLayout.setWidget(2,
                                               QtWidgets.QFormLayout.FieldRole,
                                               self.type_comboBox)

        # ----------------------
        # Date Fields
        self.date_label = QtWidgets.QLabel(self)
        self.date_label.setText("Date")
        self.project_info_formLayout.setWidget(3,
                                               QtWidgets.QFormLayout.LabelRole,
                                               self.date_label)
        self.date_dateEdit = QtWidgets.QDateEdit(self)
        self.project_info_formLayout.setWidget(3,
                                               QtWidgets.QFormLayout.FieldRole,
                                               self.date_dateEdit)

        # ----------------------
        # Image Format Fields
        from anima.ui.widgets.image_format import ImageFormatWidget
        self.image_format = ImageFormatWidget(
            parent=self,
            parent_form_layout=self.project_info_formLayout,
            parent_form_layout_index=4)

        # ----------------------
        # FPS Fields
        self.fps_label = QtWidgets.QLabel(self)
        self.fps_label.setText("FPS")
        self.project_info_formLayout.setWidget(5,
                                               QtWidgets.QFormLayout.LabelRole,
                                               self.fps_label)
        self.fps_spinBox = QtWidgets.QSpinBox(self)
        self.fps_spinBox.setMinimum(1)
        self.fps_spinBox.setProperty("value", 25)
        self.project_info_formLayout.setWidget(5,
                                               QtWidgets.QFormLayout.FieldRole,
                                               self.fps_spinBox)

        # ----------------------
        # Repository Fields
        self.repository_label = QtWidgets.QLabel(self)
        self.repository_label.setText("Repository")
        self.project_info_formLayout.setWidget(6,
                                               QtWidgets.QFormLayout.LabelRole,
                                               self.repository_label)
        self.repository_horizontalLayout = QtWidgets.QHBoxLayout()
        self.repository_comboBox = QtWidgets.QComboBox(self)
        self.repository_horizontalLayout.addWidget(self.repository_comboBox)

        # Update Repository Push Button
        self.update_repository_pushButton = QtWidgets.QPushButton(self)
        self.update_repository_pushButton.setText("Update...")
        self.repository_horizontalLayout.addWidget(
            self.update_repository_pushButton)

        # Create Repository Push Button
        self.create_repository_pushButton = QtWidgets.QPushButton(self)
        self.create_repository_pushButton.setText("New...")
        self.repository_horizontalLayout.addWidget(
            self.create_repository_pushButton)

        self.repository_horizontalLayout.setStretch(0, 1)
        self.project_info_formLayout.setLayout(
            6, QtWidgets.QFormLayout.FieldRole,
            self.repository_horizontalLayout)

        # ----------------------
        self.structure_label = QtWidgets.QLabel(self)
        self.structure_label.setText("Structure")

        self.project_info_formLayout.setWidget(7,
                                               QtWidgets.QFormLayout.LabelRole,
                                               self.structure_label)
        self.structure_horizontalLayout = QtWidgets.QHBoxLayout()
        self.structure_comboBox = QtWidgets.QComboBox(self)
        self.structure_horizontalLayout.addWidget(self.structure_comboBox)

        # Update Structure Push Button
        self.update_structure_pushButton = QtWidgets.QPushButton(self)
        self.update_structure_pushButton.setText("Update...")
        self.structure_horizontalLayout.addWidget(
            self.update_structure_pushButton)

        # Create Structure Push Button
        self.create_structure_pushButton = QtWidgets.QPushButton(self)
        self.create_structure_pushButton.setText("New...")
        self.structure_horizontalLayout.addWidget(
            self.create_structure_pushButton)

        self.structure_horizontalLayout.setStretch(0, 1)
        self.project_info_formLayout.setLayout(7,
                                               QtWidgets.QFormLayout.FieldRole,
                                               self.structure_horizontalLayout)

        # ----------------------
        # Status Fields
        self.status_label = QtWidgets.QLabel(self)
        self.status_label.setText("Status")
        self.project_info_formLayout.setWidget(8,
                                               QtWidgets.QFormLayout.LabelRole,
                                               self.status_label)
        self.status_comboBox = QtWidgets.QComboBox(self)
        self.project_info_formLayout.setWidget(8,
                                               QtWidgets.QFormLayout.FieldRole,
                                               self.status_comboBox)
        self.verticalLayout.addLayout(self.project_info_formLayout)

        # ----------------------
        # Client Fields
        self.client_info_label = QtWidgets.QLabel(self)
        self.client_info_label.setText("Client Info")
        self.client_info_label.setStyleSheet(
            "color: rgb(71, 143, 202);\nfont: 18pt;")
        self.verticalLayout.addWidget(self.client_info_label)
        self.line_2 = QtWidgets.QFrame(self)
        self.line_2.setFrameShape(QtWidgets.QFrame.HLine)
        self.line_2.setFrameShadow(QtWidgets.QFrame.Sunken)
        self.verticalLayout.addWidget(self.line_2)
        self.client_info_formLayout = QtWidgets.QFormLayout()
        self.client_info_formLayout.setLabelAlignment(QtCore.Qt.AlignRight
                                                      | QtCore.Qt.AlignTrailing
                                                      | QtCore.Qt.AlignVCenter)

        # Client Fields
        self.client_label = QtWidgets.QLabel(self)
        self.client_label.setText("Client")
        self.client_info_formLayout.setWidget(0,
                                              QtWidgets.QFormLayout.LabelRole,
                                              self.client_label)
        self.client_comboBox = QtWidgets.QComboBox(self)
        self.client_comboBox.setEditable(True)
        self.client_info_formLayout.setWidget(0,
                                              QtWidgets.QFormLayout.FieldRole,
                                              self.client_comboBox)

        # Agency Fields
        self.agency_label = QtWidgets.QLabel(self)
        self.agency_label.setText("Agency")
        self.client_info_formLayout.setWidget(1,
                                              QtWidgets.QFormLayout.LabelRole,
                                              self.agency_label)
        self.agency_comboBox = QtWidgets.QComboBox(self)
        self.agency_comboBox.setEditable(True)
        self.client_info_formLayout.setWidget(1,
                                              QtWidgets.QFormLayout.FieldRole,
                                              self.agency_comboBox)

        # Production Company Fields
        self.production_company_label = QtWidgets.QLabel(self)
        self.production_company_label.setText(
            "<html><head/><body><p align=\"right\">Production<br/>"
            "Company</p></body></html>")

        self.client_info_formLayout.setWidget(2,
                                              QtWidgets.QFormLayout.LabelRole,
                                              self.production_company_label)
        self.production_company_comboBox = QtWidgets.QComboBox(self)
        self.production_company_comboBox.setEditable(True)
        self.client_info_formLayout.setWidget(2,
                                              QtWidgets.QFormLayout.FieldRole,
                                              self.production_company_comboBox)
        self.verticalLayout.addLayout(self.client_info_formLayout)
        self.buttonBox = QtWidgets.QDialogButtonBox(self)
        self.buttonBox.setOrientation(QtCore.Qt.Horizontal)
        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.Cancel
                                          | QtWidgets.QDialogButtonBox.Ok)
        self.verticalLayout.addWidget(self.buttonBox)
        self.verticalLayout.setStretch(2, 2)
        self.verticalLayout.setStretch(5, 1)
Exemple #15
0
    def setup_ui(self):
        """add tools
        """
        # create the main tab layout
        main_tab_widget = QtWidgets.QTabWidget(self.widget())
        self.addWidget(main_tab_widget)

        # add the General Tab
        general_tab_widget = QtWidgets.QWidget(self.widget())
        general_tab_vertical_layout = QtWidgets.QVBoxLayout()
        general_tab_vertical_layout.setSizeConstraint(
            QtWidgets.QLayout.SetMaximumSize
        )
        general_tab_widget.setLayout(general_tab_vertical_layout)

        main_tab_widget.addTab(general_tab_widget, 'Generic')

        # Create tools for general tab

        # -------------------------------------------------------------------
        # Open Version
        add_button(
            'Open Version',
            general_tab_vertical_layout,
            GenericTools.version_dialog,
            callback_kwargs={"parent": self.parent(), "mode": 1}
        )

        # Save As Version
        add_button(
            'Save As Version',
            general_tab_vertical_layout,
            GenericTools.version_dialog,
            callback_kwargs={"parent": self.parent(), "mode": 0}
        )

        # Update Outputs
        add_button(
            'Update Savers',
            general_tab_vertical_layout,
            GenericTools.update_savers
        )

        # Loader Report
        add_button(
            'Loader Report',
            general_tab_vertical_layout,
            GenericTools.loader_report
        )

        # PassThrough All Saver nodes
        add_button(
            'PassThrough All Savers',
            general_tab_vertical_layout,
            GenericTools.pass_through_all_savers
        )

        # Insert Pipe Router
        add_button(
            'Insert Pipe Router',
            general_tab_vertical_layout,
            GenericTools.insert_pipe_router_to_selected_node
        )

        # Loader From Saver
        add_button(
            'Loader from Saver',
            general_tab_vertical_layout,
            GenericTools.loader_from_saver
        )

        # Delete Recent Comps
        add_button(
            'Delete Recent Comps',
            general_tab_vertical_layout,
            GenericTools.delete_recent_comps
        )

        # Set Frames At Once To 1, 5 and 10
        hbox_layout = QtWidgets.QHBoxLayout()
        general_tab_vertical_layout.addLayout(hbox_layout)
        set_frames_at_once_label = QtWidgets.QLabel()
        set_frames_at_once_label.setText("Set Frames At Once To")
        hbox_layout.addWidget(set_frames_at_once_label)

        for i in [1, 5, 10]:
            button = add_button(
                '%s' % i,
                hbox_layout,
                GenericTools.set_frames_at_once,
                callback_kwargs={'count': i}
            )
            button.setMinimumSize(QtCore.QSize(25, 0))

        add_line(general_tab_vertical_layout)

        # Range From Shot
        add_button(
            'Get Comp Range From Database',
            general_tab_vertical_layout,
            GenericTools.range_from_shot
        )

        # Shot From Range
        add_button(
            'Set Comp Range To Database',
            general_tab_vertical_layout,
            GenericTools.shot_from_range
        )

        add_line(general_tab_vertical_layout)

        # Render Merger
        add_button(
            'Render Merger',
            general_tab_vertical_layout,
            GenericTools.render_merger,
            tooltip="Creates comp setup to merge renders created with Render Slicer."
        )

        # Render Merger
        import functools
        add_button(
            '3DE4 Lens Distort',
            general_tab_vertical_layout,
            functools.partial(GenericTools.tde4_lens_distort_node_creator, self.parent()),
            tooltip=GenericTools.tde4_lens_distort_node_creator.__doc__
        )

        # -------------------------------------------------------------------
        # Add the stretcher
        general_tab_vertical_layout.addStretch()
Exemple #16
0
    def _setup_ui(self):
        """the ui
        """
        self.resize(243, 209)

        # from anima.ui.lib import QtWidgets
        # if False:
        #     from PySide2 import QtWidgets
        # assert QtWidgets is QtWidgets
        from PySide2 import QtWidgets

        self.vertical_layout = QtWidgets.QVBoxLayout(self)
        self.setLayout(self.vertical_layout)
        self.vertical_layout.setStretch(2, 1)

        self.setWindowTitle(self.dialog_name)

        self.form_layout = QtWidgets.QFormLayout()
        self.form_layout.setFieldGrowthPolicy(
            QtWidgets.QFormLayout.AllNonFixedFieldsGrow
        )
        self.form_layout.setLabelAlignment(
            QtCore.Qt.AlignRight |
            QtCore.Qt.AlignTrailing |
            QtCore.Qt.AlignVCenter
        )

        label_role = QtWidgets.QFormLayout.LabelRole
        field_role = QtWidgets.QFormLayout.FieldRole

        form_field_index = -1
        # --------------------
        # Number of Joints Field
        form_field_index += 1

        # Label
        self.number_of_joints_label = QtWidgets.QLabel(self)
        self.number_of_joints_label.setText("Number Of Joints")

        self.form_layout.setWidget(
            form_field_index, label_role, self.number_of_joints_label,
        )

        # Field
        self.number_of_joints_spin_box = QtWidgets.QSpinBox(self)
        self.form_layout.setWidget(
            form_field_index, field_role, self.number_of_joints_spin_box
        )
        self.number_of_joints_spin_box.setValue(2)
        self.number_of_joints_spin_box.setMinimum(2)

        # -----------------------
        # Orientation
        form_field_index += 1

        # Label
        self.orientation_label = QtWidgets.QLabel(self)
        self.orientation_label.setText("Orientation")
        self.form_layout.setWidget(
            form_field_index, label_role, self.orientation_label
        )

        # Field
        self.orientation_combo_box = QtWidgets.QComboBox(self)
        self.orientation_combo_box.addItems(
            [
                "xyz",
                "yzx",
                "zxy",
                "xzy",
                "yxz",
                "zyx",
            ]
        )

        self.form_layout.setWidget(
            form_field_index, field_role, self.orientation_combo_box
        )

        # ---------------------------
        # Second Axis World Orientation
        form_field_index += 1

        # Label
        self.second_axis_world_orientation_label = QtWidgets.QLabel(self)
        self.second_axis_world_orientation_label.setText(
            "Second Axis World Orientation"
        )
        self.form_layout.setWidget(
            form_field_index, label_role,
            self.second_axis_world_orientation_label
        )

        # Field
        self.second_axis_world_orientation_combo_box = \
            QtWidgets.QComboBox(self)
        self.second_axis_world_orientation_combo_box.addItems(
            [
                "+x",
                "-x",
                "+y",
                "-y",
                "+z",
                "-z",
            ]
        )
        self.form_layout.setWidget(
            form_field_index, field_role,
            self.second_axis_world_orientation_combo_box
        )

        # --------------------------------
        # Align To World
        form_field_index += 1

        # Label
        self.align_to_world_label = QtWidgets.QLabel(self)
        self.align_to_world_label.setText("Align To World")
        self.form_layout.setWidget(
            form_field_index, label_role, self.align_to_world_label
        )

        # Field
        self.align_to_world_check_box = QtWidgets.QCheckBox(self)
        self.form_layout.setWidget(
            form_field_index, field_role, self.align_to_world_check_box
        )

        # ----------------------------------
        # Reverse Curve
        form_field_index += 1

        # Label
        self.reverse_curve_label = QtWidgets.QLabel(self)
        self.reverse_curve_label.setText("Reverse Curve")
        self.form_layout.setWidget(
            form_field_index, label_role, self.reverse_curve_label
        )

        self.reverse_curve_check_box = QtWidgets.QCheckBox(self)
        self.form_layout.setWidget(
            form_field_index, field_role, self.reverse_curve_check_box
        )

        # -------------------------------
        # Joint Names
        form_field_index += 1

        # Label
        self.joint_names_label = QtWidgets.QLabel(self)
        self.joint_names_label.setText("Joint Names")
        self.form_layout.setWidget(
            form_field_index, label_role, self.joint_names_label
        )

        # Field
        self.joint_names_layout = QtWidgets.QHBoxLayout(self)
        self.joint_names_check_box = QtWidgets.QCheckBox(self)
        self.joint_names_line_edit = QtWidgets.QLineEdit(self)
        self.joint_names_line_edit.setText("joint")
        self.joint_names_line_edit.setEnabled(False)

        self.joint_names_layout.addWidget(self.joint_names_check_box)
        self.joint_names_layout.addWidget(self.joint_names_line_edit)

        self.form_layout.setLayout(
            form_field_index, field_role, self.joint_names_layout
        )

        # setup signals
        QtCore.QObject.connect(
            self.joint_names_check_box,
            QtCore.SIGNAL("stateChanged(int)"),
            self.joint_names_line_edit.setEnabled
        )

        # ------------------------
        # Suffix Joint Names
        form_field_index += 1

        # Label
        self.suffix_joint_names_label = QtWidgets.QLabel(self)
        self.suffix_joint_names_label.setText("Suffix Joint Names")
        self.form_layout.setWidget(
            form_field_index, label_role, self.suffix_joint_names_label
        )

        # Field
        self.suffix_joint_names_layout = QtWidgets.QHBoxLayout(self)
        self.suffix_joint_names_check_box = QtWidgets.QCheckBox(self)
        self.suffix_joint_names_line_edit = QtWidgets.QLineEdit(self)
        self.suffix_joint_names_line_edit.setText("_suffix")
        self.suffix_joint_names_line_edit.setEnabled(False)

        self.suffix_joint_names_layout.addWidget(
            self.suffix_joint_names_check_box
        )
        self.suffix_joint_names_layout.addWidget(
            self.suffix_joint_names_line_edit
        )

        self.form_layout.setLayout(
            form_field_index, field_role, self.suffix_joint_names_layout
        )

        # setup signals
        QtCore.QObject.connect(
            self.suffix_joint_names_check_box,
            QtCore.SIGNAL("stateChanged(int)"),
            self.suffix_joint_names_line_edit.setEnabled
        )

        # ----------------
        self.vertical_layout.addLayout(self.form_layout)

        # ----------------
        # Create Joints Button
        self.create_joints_button = QtWidgets.QPushButton()
        self.create_joints_button.setText("Create Joints")
        self.vertical_layout.addWidget(self.create_joints_button)

        # setup signals
        QtCore.QObject.connect(
            self.create_joints_button,
            QtCore.SIGNAL("clicked()"),
            self.create_joints
        )
Exemple #17
0
    def _setup_ui(self):
        """create the ui elements
        """
        self.resize(650, 850)
        # ----------------------------------------------------
        # Main Layout
        self.main_layout = QtWidgets.QVBoxLayout(self)

        # ----------------------------------------------------
        # Dialog Label
        self.dialog_label = QtWidgets.QLabel(self)

        self.dialog_label.setText('Publish Checker')
        self.dialog_label.setStyleSheet("color: rgb(71, 143, 202);font: 18pt;")

        self.main_layout.addWidget(self.dialog_label)

        # ----------------------------------------------------
        # Title Line
        line = QtWidgets.QFrame(self)
        line.setFrameShape(QtWidgets.QFrame.HLine)
        line.setFrameShadow(QtWidgets.QFrame.Sunken)
        self.main_layout.addWidget(line)

        # Version Label
        self.version_label = QtWidgets.QLabel(self)
        self.version_label.setText(self.version.nice_name)
        self.version_label.setStyleSheet(
            "color: rgb(71, 143, 202);font: 12pt;")
        self.main_layout.addWidget(self.version_label)

        # Version Line
        line1 = QtWidgets.QFrame(self)
        line1.setFrameShape(QtWidgets.QFrame.HLine)
        line1.setFrameShadow(QtWidgets.QFrame.Sunken)
        self.main_layout.addWidget(line1)

        # ----------------------------------------------------
        # Fields

        # Publisher Type ComboBox
        # self.publisher_type_layout = \
        #     QtWidgets.QHBoxLayout(self.main_layout.widget())
        #
        # self.publisher_type_label = QtWidgets.QLabel(self)
        # self.publisher_type_label.setText('Publisher Type')
        # self.publisher_type_layout.addWidget(self.publisher_type_label)
        #
        # self.publisher_type_combo_box = QtWidgets.QComboBox(self)
        # self.publisher_type_layout.addWidget(self.publisher_type_combo_box)
        # self.publisher_type_layout.setStretch(0, 0)
        # self.publisher_type_layout.setStretch(1, 1)
        #
        # self.main_layout.addLayout(self.publisher_type_layout)

        # Check all push button
        self.check_all_push_button = QtWidgets.QPushButton(self)
        self.check_all_push_button.setText('CHECK ALL')
        if self.version and self.version.task.type:
            self.check_all_push_button.setText('CHECK ALL for %s' %
                                               self.version.task.type.name)

        self.main_layout.addWidget(self.check_all_push_button)

        # create the signal for check all push button
        QtCore.QObject.connect(self.check_all_push_button,
                               QtCore.SIGNAL('clicked()'),
                               self.check_all_publishers)

        # Publish Field
        # self.publisher_grid_layout = \
        #     QtWidgets.QGridLayout(self.main_layout.widget())
        self.scroll_area_widget = QtWidgets.QWidget(self)
        self.publisher_vertical_layout = QtWidgets.QVBoxLayout(self)
        self.scroll_area_widget.setLayout(self.publisher_vertical_layout)

        self.scroll_area = QtWidgets.QScrollArea(self)
        self.scroll_area.setVerticalScrollBarPolicy(
            QtCore.Qt.ScrollBarAsNeeded)
        self.scroll_area.setHorizontalScrollBarPolicy(
            QtCore.Qt.ScrollBarAsNeeded)
        self.scroll_area.setWidgetResizable(True)
        self.scroll_area.setWidget(self.scroll_area_widget)

        # self.scroll_area_layout = QtWidgets.QVBoxLayout(self)
        # self.main_layout.addLayout(self.scroll_area_layout)
        self.main_layout.addWidget(self.scroll_area)

        # performance label
        self.duration_label = QtWidgets.QLabel(self)
        self.main_layout.addWidget(self.duration_label)

        # Publish push button
        self.publish_push_button = QtWidgets.QPushButton(self)
        self.publish_push_button.setText('PUBLISH')
        self.publish_push_button.setEnabled(False)
        self.main_layout.addWidget(self.publish_push_button)

        # connect publish button signal
        QtCore.QObject.connect(self.publish_push_button,
                               QtCore.SIGNAL('clicked()'),
                               self.publish_push_button_clicked)
Exemple #18
0
    def create(self, parent=None):
        """Creates this publisher

        :param parent:
        :return:
        """
        # Create layout
        self.layout = QtWidgets.QHBoxLayout(parent)

        # Create Icons
        self.publisher_state_ok_icon = parent.style() \
            .standardIcon(QtWidgets.QStyle.SP_DialogYesButton)
        self.publisher_state_not_ok_icon = parent.style() \
            .standardIcon(QtWidgets.QStyle.SP_DialogNoButton)

        # Create check push button
        self.check_push_button = QtWidgets.QPushButton(parent)
        self.check_push_button.setText('Check')
        self.layout.addWidget(self.check_push_button)
        self.check_push_button.setSizePolicy(QtWidgets.QSizePolicy.Fixed,
                                             QtWidgets.QSizePolicy.Fixed)

        # Create fix push button
        self.fix_push_button = QtWidgets.QPushButton(parent)
        self.fix_push_button.setText('Fix')
        self.layout.addWidget(self.fix_push_button)
        self.fix_push_button.setSizePolicy(QtWidgets.QSizePolicy.Fixed,
                                           QtWidgets.QSizePolicy.Fixed)
        self.fix_push_button.setMaximumWidth(40)

        # Create Progress Bar
        self.progress_bar = QtWidgets.QProgressBar(parent)
        self.progress_bar.setFixedWidth(100)
        self.progress_bar.setSizePolicy(QtWidgets.QSizePolicy.Expanding,
                                        QtWidgets.QSizePolicy.Fixed)
        self.layout.addWidget(self.progress_bar)

        self.progress_bar_manager = QProgressBarWrapper(
            progress_bar=self.progress_bar,
            minimum=0,
            maximum=100.0,
            value=0.0)

        # Create state label
        self.publisher_state_label = QtWidgets.QLabel(parent)
        self.publisher_state_label.setSizePolicy(QtWidgets.QSizePolicy.Fixed,
                                                 QtWidgets.QSizePolicy.Fixed)
        self.layout.addWidget(self.publisher_state_label)

        # Create performance label
        self.performance_label = QtWidgets.QLabel(parent)
        self.performance_label.setText('x.x sec')
        self.performance_label.setSizePolicy(QtWidgets.QSizePolicy.Fixed,
                                             QtWidgets.QSizePolicy.Fixed)
        self.layout.addWidget(self.performance_label)

        # Create name label
        self.publisher_name_label = QtWidgets.QLabel(parent)
        self.publisher_name_label.setText(
            self.publisher.__doc__.split('\n')[0].strip())
        self.publisher_name_label.setAlignment(QtCore.Qt.AlignLeft
                                               | QtCore.Qt.AlignVCenter)
        self.publisher_name_label.setToolTip(self.publisher.__doc__)
        self.performance_label.setSizePolicy(QtWidgets.QSizePolicy.Fixed,
                                             QtWidgets.QSizePolicy.Fixed)
        self.layout.addWidget(self.publisher_name_label)

        # Create help push button
        self.help_push_button = QtWidgets.QPushButton(parent)
        self.help_push_button.setText('?')
        self.layout.addWidget(self.help_push_button)
        self.help_push_button.setSizePolicy(QtWidgets.QSizePolicy.Fixed,
                                            QtWidgets.QSizePolicy.Fixed)
        self.help_push_button.setMaximumWidth(20)

        spacer = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Expanding,
                                       QtWidgets.QSizePolicy.Minimum)
        self.layout.addItem(spacer)

        self.state = False

        # create button signal
        QtCore.QObject.connect(self.check_push_button,
                               QtCore.SIGNAL("clicked()"), self.run_publisher)

        QtCore.QObject.connect(self.help_push_button,
                               QtCore.SIGNAL('clicked()'),
                               self.show_publisher_docs)

        QtCore.QObject.connect(self.fix_push_button,
                               QtCore.SIGNAL('clicked()'),
                               self.run_fix_definition)
    def _setup_ui(self):
        """create UI elements
        """
        self.resize(520, 550)
        self.vertical_layout = QtWidgets.QVBoxLayout(self)

        # -------------------------
        # Dialog Label
        self.dialog_label = QtWidgets.QLabel(self)
        self.dialog_label.setText('Set Project Users')
        self.dialog_label.setStyleSheet(
            "color: rgb(71, 143, 202);\nfont: 18pt;")
        self.vertical_layout.addWidget(self.dialog_label)
        self.line = QtWidgets.QFrame(self)
        self.line.setFrameShape(QtWidgets.QFrame.HLine)
        self.line.setFrameShadow(QtWidgets.QFrame.Sunken)
        self.vertical_layout.addWidget(self.line)

        self.form_layout = QtWidgets.QFormLayout()
        self.form_layout.setLabelAlignment(QtCore.Qt.AlignRight
                                           | QtCore.Qt.AlignTrailing
                                           | QtCore.Qt.AlignVCenter)
        self.vertical_layout.addLayout(self.form_layout)

        i = -1

        # create Project Combo box
        i += 1
        self.projects_label = QtWidgets.QLabel(self)
        self.projects_label.setText('Projects')
        self.form_layout.setWidget(i, QtWidgets.QFormLayout.LabelRole,
                                   self.projects_label)

        self.projects_combo_box = QtWidgets.QComboBox(self)
        self.form_layout.setWidget(i, QtWidgets.QFormLayout.FieldRole,
                                   self.projects_combo_box)

        # create DoubleListWidget
        i += 1
        self.users_label = QtWidgets.QLabel(self)
        self.users_label.setText('Users')
        self.form_layout.setWidget(i, QtWidgets.QFormLayout.LabelRole,
                                   self.users_label)

        self.users_fields_vertical_layout = QtWidgets.QVBoxLayout()
        self.form_layout.setLayout(i, QtWidgets.QFormLayout.FieldRole,
                                   self.users_fields_vertical_layout)

        from anima.ui.widgets import DoubleListWidget
        self.users_double_list_widget = DoubleListWidget(
            dialog=self,
            parent_layout=self.users_fields_vertical_layout,
            primary_label_text='Users From DB',
            secondary_label_text='Selected Users')
        # set the tooltip
        self.users_double_list_widget\
            .primary_list_widget.setToolTip(
                "Right Click to Create/Update FilenameTemplates"
            )
        self.users_double_list_widget\
            .secondary_list_widget.setToolTip(
                "Right Click to Create/Update FilenameTemplates"
            )

        # Button Box
        self.button_box = QtWidgets.QDialogButtonBox(self)
        self.button_box.setOrientation(QtCore.Qt.Horizontal)
        self.button_box.setStandardButtons(QtWidgets.QDialogButtonBox.Cancel
                                           | QtWidgets.QDialogButtonBox.Ok)
        self.vertical_layout.addWidget(self.button_box)
        self.vertical_layout.setStretch(2, 1)
Exemple #20
0
    def setup_ui(self):
        """add tools
        """
        # create the main tab layout
        main_tab_widget = QtWidgets.QTabWidget(self.widget())
        self.addWidget(main_tab_widget)

        # add the General Tab
        general_tab_widget = QtWidgets.QWidget(self.widget())
        general_tab_vertical_layout = QtWidgets.QVBoxLayout()
        general_tab_widget.setLayout(general_tab_vertical_layout)

        main_tab_widget.addTab(general_tab_widget, 'Generic')

        # Create tools for general tab
        from anima.ui.utils import add_button
        # -------------------------------------------------------------------
        # Template
        template_line_edit = QtWidgets.QLineEdit()
        # template_line_edit.setPlaceHolder("Template")
        template_line_edit.setText(GenericTools.default_output_template)

        general_tab_vertical_layout.addWidget(template_line_edit)

        # -------------------------------------------------------------------
        # Per Clip Output Generator
        # create a new layout
        layout = QtWidgets.QHBoxLayout()
        general_tab_vertical_layout.addLayout(layout)

        per_clip_version_label = QtWidgets.QLabel()
        per_clip_version_label.setText("Version")
        per_clip_version_spinbox = QtWidgets.QSpinBox()
        per_clip_version_spinbox.setMinimum(1)

        def per_clip_output_generator_wrapper():
            version_number = per_clip_version_spinbox.value()
            template = template_line_edit.text()
            GenericTools.per_clip_output_generator(
                version_number=version_number, template=template)

        add_button('Per Clip Output Generator', layout,
                   per_clip_output_generator_wrapper)

        layout.addWidget(per_clip_version_label)
        layout.addWidget(per_clip_version_spinbox)

        # Clip Output Generator
        # create a new layout
        layout = QtWidgets.QHBoxLayout()
        general_tab_vertical_layout.addLayout(layout)

        clip_index_label = QtWidgets.QLabel()
        clip_index_label.setText("Clip Index")
        clip_index_spinbox = QtWidgets.QSpinBox()
        clip_index_spinbox.setMinimum(1)

        version_label = QtWidgets.QLabel()
        version_label.setText("Version")
        version_spinbox = QtWidgets.QSpinBox()
        version_spinbox.setMinimum(1)

        def clip_output_generator_wrapper():
            clip_index = clip_index_spinbox.value()
            version_number = version_spinbox.value()
            GenericTools.clip_output_generator(clip_index, version_number)

        add_button('Clip Output Generator', layout,
                   clip_output_generator_wrapper)
        layout.addWidget(clip_index_label)
        layout.addWidget(clip_index_spinbox)
        layout.addWidget(version_label)
        layout.addWidget(version_spinbox)

        # add_button(
        #     "Get Shot Code",
        #     general_tab_vertical_layout,
        #     GenericTools.get_shot_code,
        #     GenericTools.get_shot_code.__doc__
        # )

        # # -------------------------------------------------------------------
        # # Set Shot Code
        #
        # layout = QtWidgets.QHBoxLayout()
        # general_tab_vertical_layout.addLayout(layout)
        #
        # set_clip_code_label = QtWidgets.QLabel()
        # set_clip_code_label.setText("Code")
        # set_clip_code_line_edit = QtWidgets.QLineEdit()
        #
        # def set_shot_code_wrapper():
        #     shot_code = set_clip_code_line_edit.text()
        #     GenericTools.set_shot_code(shot_code)
        #
        # layout.addWidget(set_clip_code_label)
        # layout.addWidget(set_clip_code_line_edit)
        # add_button(
        #     "Set Shot Code",
        #     layout,
        #     set_shot_code_wrapper,
        #     GenericTools.set_shot_code.__doc__,
        # )

        def parent_ui_callback():
            GenericTools.shot_manager(parent_ui=self.parent())

        add_button("Shot Manager", general_tab_vertical_layout,
                   parent_ui_callback, GenericTools.shot_manager.__doc__)

        # add_button(
        #     "Get Current Thumbnail",
        #     general_tab_vertical_layout,
        #     GenericTools.get_thumbnail,
        #     GenericTools.get_thumbnail.__doc__
        # )

        # -------------------------------------------------------------------
        # Add the stretcher
        general_tab_vertical_layout.addStretch()
Exemple #21
0
    def setup_ui(self):
        self.resize(328, 184)
        self.vertical_layout = QtWidgets.QVBoxLayout(self)
        self.dialog_label = QtWidgets.QLabel(self)
        self.dialog_label.setStyleSheet("color: rgb(71, 143, 202);\n"
                                        "font: 18pt;")
        self.vertical_layout.addWidget(self.dialog_label)
        self.line = QtWidgets.QFrame(self)
        self.line.setFrameShape(QtWidgets.QFrame.HLine)
        self.line.setFrameShadow(QtWidgets.QFrame.Sunken)
        self.vertical_layout.addWidget(self.line)
        self.form_layout = QtWidgets.QFormLayout()
        self.form_layout.setLabelAlignment(QtCore.Qt.AlignRight
                                           | QtCore.Qt.AlignTrailing
                                           | QtCore.Qt.AlignVCenter)
        self.name_fields_vertical_layout = QtWidgets.QVBoxLayout()
        self.name_validator_label = QtWidgets.QLabel(self)
        self.name_validator_label.setStyleSheet("color: rgb(255, 0, 0);")
        self.name_fields_vertical_layout.addWidget(self.name_validator_label)
        self.form_layout.setLayout(0, QtWidgets.QFormLayout.FieldRole,
                                   self.name_fields_vertical_layout)
        self.width_height_label = QtWidgets.QLabel(self)
        self.form_layout.setWidget(1, QtWidgets.QFormLayout.LabelRole,
                                   self.width_height_label)
        self.horizontal_layout = QtWidgets.QHBoxLayout()
        self.width_spin_box = QtWidgets.QSpinBox(self)
        self.width_spin_box.setMaximum(99999)
        self.horizontal_layout.addWidget(self.width_spin_box)
        self.label = QtWidgets.QLabel(self)
        self.horizontal_layout.addWidget(self.label)
        self.height_spin_box = QtWidgets.QSpinBox(self)
        self.height_spin_box.setMaximum(99999)
        self.horizontal_layout.addWidget(self.height_spin_box)
        self.horizontal_layout.setStretch(0, 1)
        self.horizontal_layout.setStretch(2, 1)
        self.form_layout.setLayout(1, QtWidgets.QFormLayout.FieldRole,
                                   self.horizontal_layout)
        self.pixel_aspect_label = QtWidgets.QLabel(self)
        self.form_layout.setWidget(2, QtWidgets.QFormLayout.LabelRole,
                                   self.pixel_aspect_label)
        self.pixel_aspect_double_spin_box = QtWidgets.QDoubleSpinBox(self)
        self.pixel_aspect_double_spin_box.setProperty("value", 1.0)
        self.form_layout.setWidget(2, QtWidgets.QFormLayout.FieldRole,
                                   self.pixel_aspect_double_spin_box)
        self.name_label = QtWidgets.QLabel(self)
        self.form_layout.setWidget(0, QtWidgets.QFormLayout.LabelRole,
                                   self.name_label)
        self.vertical_layout.addLayout(self.form_layout)
        self.button_box = QtWidgets.QDialogButtonBox(self)
        self.button_box.setOrientation(QtCore.Qt.Horizontal)
        self.button_box.setStandardButtons(QtWidgets.QDialogButtonBox.Cancel
                                           | QtWidgets.QDialogButtonBox.Ok)
        self.vertical_layout.addWidget(self.button_box)
        self.vertical_layout.setStretch(2, 1)

        QtCore.QObject.connect(self.button_box, QtCore.SIGNAL("accepted()"),
                               self.accept)
        QtCore.QObject.connect(self.button_box, QtCore.SIGNAL("rejected()"),
                               self.reject)
        QtCore.QMetaObject.connectSlotsByName(self)

        self.setWindowTitle("Image Format Dialog")
        self.dialog_label.setText("Create Image Format")
        self.name_validator_label.setText("Validator Message")
        self.width_height_label.setText("Width x Height")
        self.label.setText("x")
        self.pixel_aspect_label.setText("Pixel Aspect")
        self.name_label.setText("Name")
Exemple #22
0
    def setup_ui(self):
        """add tools
        """
        # create the main tab layout
        main_tab_widget = QtWidgets.QTabWidget(self.widget())
        self.addWidget(main_tab_widget)

        # add the General Tab
        general_tab_widget = QtWidgets.QWidget(self.widget())
        general_tab_vertical_layout = QtWidgets.QVBoxLayout()
        general_tab_widget.setLayout(general_tab_vertical_layout)

        main_tab_widget.addTab(general_tab_widget, 'Generic')

        # Create tools for general tab

        from anima.ui.utils import add_button
        # -------------------------------------------------------------------
        # Per Clip Output Generator
        # create a new layout
        layout = QtWidgets.QHBoxLayout()
        general_tab_vertical_layout.addLayout(layout)

        per_clip_version_label = QtWidgets.QLabel()
        per_clip_version_label.setText("Version")
        per_clip_version_spinbox = QtWidgets.QSpinBox()
        per_clip_version_spinbox.setMinimum(1)

        def per_clip_output_generator_wrapper():
            version_number = per_clip_version_spinbox.value()
            GenericTools.per_clip_output_generator(version_number)

        add_button('Per Clip Output Generator', layout,
                   per_clip_output_generator_wrapper)

        layout.addWidget(per_clip_version_label)
        layout.addWidget(per_clip_version_spinbox)

        # Clip Output Generator
        # create a new layout
        layout = QtWidgets.QHBoxLayout()
        general_tab_vertical_layout.addLayout(layout)

        clip_index_label = QtWidgets.QLabel()
        clip_index_label.setText("Clip Index")
        clip_index_spinbox = QtWidgets.QSpinBox()
        clip_index_spinbox.setMinimum(1)

        version_label = QtWidgets.QLabel()
        version_label.setText("Version")
        version_spinbox = QtWidgets.QSpinBox()
        version_spinbox.setMinimum(1)

        def clip_output_generator_wrapper():
            clip_index = clip_index_spinbox.value()
            version_number = version_spinbox.value()
            GenericTools.clip_output_generator(clip_index, version_number)

        add_button('Clip Output Generator', layout,
                   clip_output_generator_wrapper)
        layout.addWidget(clip_index_label)
        layout.addWidget(clip_index_spinbox)
        layout.addWidget(version_label)
        layout.addWidget(version_spinbox)

        # -------------------------------------------------------------------
        # Add the stretcher
        general_tab_vertical_layout.addStretch()
Exemple #23
0
    def _setup_ui(self):
        """setups UI
        """
        try:
            _fromUtf8 = QtCore.QString.fromUtf8
        except AttributeError:
            _fromUtf8 = lambda s: s

        bmgc_project_name = self.project.GetName()
        bmgc_project_fps = self.project.GetSetting('timelineFrameRate')

        self.setWindowTitle('Conformer')
        self.resize(500, 100)

        self.vertical_layout = QtWidgets.QVBoxLayout(self)

        self.bmgc_project_label = QtWidgets.QLabel(self.vertical_layout.widget())
        self.bmgc_project_label.setText('%s - [%s fps] / Resolve' % (bmgc_project_name, bmgc_project_fps))
        self.bmgc_project_label.setStyleSheet(_fromUtf8("color: rgb(71, 143, 202);\n""font: 12pt;"))
        self.vertical_layout.addWidget(self.bmgc_project_label)

        line = QtWidgets.QFrame(self.vertical_layout.parent())
        line.setFrameShape(QtWidgets.QFrame.HLine)
        line.setFrameShadow(QtWidgets.QFrame.Sunken)
        self.vertical_layout.addWidget(line)

        self.h_layout1 = QtWidgets.QHBoxLayout(self.vertical_layout.widget())

        self.stalker_project_label = QtWidgets.QLabel(self.h_layout1.widget())
        self.stalker_project_label.setText('Stalker Project:')
        self.h_layout1.addWidget(self.stalker_project_label)

        size_policy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed)
        self.project_combo_box = QtWidgets.QComboBox(self.h_layout1.widget())
        self.project_combo_box.setSizePolicy(size_policy)
        self.h_layout1.addWidget(self.project_combo_box)

        self.vertical_layout.addLayout(self.h_layout1)

        self.h_layout2 = QtWidgets.QHBoxLayout(self.vertical_layout.widget())

        self.stalker_seq_label = QtWidgets.QLabel(self.h_layout2.widget())
        self.stalker_seq_label.setText('Stalker Seq:      ')
        self.h_layout2.addWidget(self.stalker_seq_label)

        size_policy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed)
        self.seq_combo_box = QtWidgets.QComboBox(self.h_layout2.widget())
        self.seq_combo_box.setSizePolicy(size_policy)
        self.h_layout2.addWidget(self.seq_combo_box)

        self.vertical_layout.addLayout(self.h_layout2)

        self.h_layout3 = QtWidgets.QHBoxLayout(self.vertical_layout.widget())

        self.stalker_scene_label = QtWidgets.QLabel(self.h_layout3.widget())
        self.stalker_scene_label.setText('Stalker Scene:  ')
        self.h_layout3.addWidget(self.stalker_scene_label)

        size_policy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed)
        self.scene_combo_box = QtWidgets.QComboBox(self.h_layout3.widget())
        self.scene_combo_box.setSizePolicy(size_policy)
        self.h_layout3.addWidget(self.scene_combo_box)

        self.vertical_layout.addLayout(self.h_layout3)

        self.h_layout_shots = QtWidgets.QHBoxLayout(self.vertical_layout.widget())

        self.shot_in_label = QtWidgets.QLabel(self.h_layout_shots.widget())
        self.shot_in_label.setText('Shot In:')
        self.h_layout_shots.addWidget(self.shot_in_label)

        size_policy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed)
        self.shot_in_combo_box = QtWidgets.QComboBox(self.h_layout_shots.widget())
        self.shot_in_combo_box.setSizePolicy(size_policy)
        self.h_layout_shots.addWidget(self.shot_in_combo_box)

        self.shot_out_label = QtWidgets.QLabel(self.h_layout_shots.widget())
        self.shot_out_label.setText('Shot Out:')
        self.h_layout_shots.addWidget(self.shot_out_label)

        size_policy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed)
        self.shot_out_combo_box = QtWidgets.QComboBox(self.h_layout_shots.widget())
        self.shot_out_combo_box.setSizePolicy(size_policy)
        self.h_layout_shots.addWidget(self.shot_out_combo_box)

        self.vertical_layout.addLayout(self.h_layout_shots)

        self.h_layout4 = QtWidgets.QHBoxLayout(self.vertical_layout.widget())

        self.width_label = QtWidgets.QLabel(self.h_layout4.widget())
        self.width_label.setText('Width:')
        self.h_layout4.addWidget(self.width_label)

        self.width_line = QtWidgets.QLineEdit(self.h_layout4.widget())
        self.width_line.setText('-')
        self.width_line.setEnabled(0)
        self.h_layout4.addWidget(self.width_line)

        self.height_label = QtWidgets.QLabel(self.h_layout4.widget())
        self.height_label.setText('Height:')
        self.h_layout4.addWidget(self.height_label)

        self.height_line = QtWidgets.QLineEdit(self.h_layout4.widget())
        self.height_line.setText('-')
        self.height_line.setEnabled(0)
        self.h_layout4.addWidget(self.height_line)

        self.fps_label = QtWidgets.QLabel(self.h_layout4.widget())
        self.fps_label.setText('Fps:')
        self.h_layout4.addWidget(self.fps_label)

        self.fps_line = QtWidgets.QLineEdit(self.h_layout4.widget())
        self.fps_line.setText('-')
        self.fps_line.setEnabled(0)
        self.h_layout4.addWidget(self.fps_line)

        self.vertical_layout.addLayout(self.h_layout4)

        self.h_layout4a = QtWidgets.QHBoxLayout(self.vertical_layout.widget())

        self.filter_statuses_check_box = QtWidgets.QCheckBox(self.h_layout4a.widget())
        self.filter_statuses_check_box.setText('Filter Statuses')
        self.h_layout4a.addWidget(self.filter_statuses_check_box)

        self.wip_check_box = QtWidgets.QCheckBox(self.h_layout4a.widget())
        self.wip_check_box.setText('WIP')
        self.h_layout4a.addWidget(self.wip_check_box)

        self.hrev_check_box = QtWidgets.QCheckBox(self.h_layout4a.widget())
        self.hrev_check_box.setText('HREV')
        self.h_layout4a.addWidget(self.hrev_check_box)

        self.prev_check_box = QtWidgets.QCheckBox(self.h_layout4a.widget())
        self.prev_check_box.setText('PREV')
        self.h_layout4a.addWidget(self.prev_check_box)

        self.completed_check_box = QtWidgets.QCheckBox(self.h_layout4a.widget())
        self.completed_check_box.setText('CMLT')
        self.h_layout4a.addWidget(self.completed_check_box)

        self.vertical_layout.addLayout(self.h_layout4a)

        self.h_layout5 = QtWidgets.QHBoxLayout(self.vertical_layout.widget())

        self.task_name_label = QtWidgets.QLabel(self.h_layout5.widget())
        self.task_name_label.setText('Task Name:')
        self.h_layout5.addWidget(self.task_name_label)

        size_policy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed)
        self.task_name_combo_box = QtWidgets.QComboBox(self.h_layout5.widget())
        self.task_name_combo_box.setSizePolicy(size_policy)
        self.h_layout5.addWidget(self.task_name_combo_box)

        self.ext_name_label = QtWidgets.QLabel(self.h_layout5.widget())
        self.ext_name_label.setText('Extension:')
        self.h_layout5.addWidget(self.ext_name_label)

        size_policy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed)
        self.ext_name_combo_box = QtWidgets.QComboBox(self.h_layout5.widget())
        self.ext_name_combo_box.setSizePolicy(size_policy)
        self.h_layout5.addWidget(self.ext_name_combo_box)

        self.plus_plates_check_box = QtWidgets.QCheckBox(self.h_layout5.widget())
        self.plus_plates_check_box.setText('+ Plates')
        self.h_layout5.addWidget(self.plus_plates_check_box)

        self.alpha_only_check_box = QtWidgets.QCheckBox(self.h_layout5.widget())
        self.alpha_only_check_box.setText('Alpha Only')
        self.h_layout5.addWidget(self.alpha_only_check_box)
        
        self.vertical_layout.addLayout(self.h_layout5)

        self.conform_button = QtWidgets.QPushButton(self.vertical_layout.widget())
        self.conform_button.setText('CONFORM ALL')
        self.vertical_layout.addWidget(self.conform_button)

        line1 = QtWidgets.QFrame(self.vertical_layout.parent())
        line1.setFrameShape(QtWidgets.QFrame.HLine)
        line1.setFrameShadow(QtWidgets.QFrame.Sunken)
        self.vertical_layout.addWidget(line1)

        self.h_layout6 = QtWidgets.QHBoxLayout(self.vertical_layout.widget())

        self.date_label = QtWidgets.QLabel(self.h_layout6.widget())
        self.date_label.setText('check From:')
        self.date_label.setAlignment(QtCore.Qt.AlignCenter)
        self.h_layout6.addWidget(self.date_label)

        self.start_date = QtWidgets.QDateEdit(self.h_layout6.widget())
        self.start_date.setDate(QtCore.QDate.currentDate()) # setDate(QtCore.QDate(2021, 1, 1))
        self.start_date.setCurrentSection(QtWidgets.QDateTimeEdit.MonthSection)
        self.start_date.setCalendarPopup(True)
        self.h_layout6.addWidget(self.start_date)

        self.now_label = QtWidgets.QLabel(self.h_layout6.widget())
        self.now_label.setText(':until Now')
        self.now_label.setAlignment(QtCore.Qt.AlignCenter)
        self.h_layout6.addWidget(self.now_label)

        self.vertical_layout.addLayout(self.h_layout6)

        self.updated_shot_list = QtWidgets.QListWidget(self.vertical_layout.widget())
        self.updated_shot_list.setSelectionMode(QtWidgets.QAbstractItemView.NoSelection)
        self.vertical_layout.addWidget(self.updated_shot_list)

        self.status_button= QtWidgets.QPushButton(self.vertical_layout.widget())
        self.status_button.setText('LIST UPDATED SHOTS')
        self.vertical_layout.addWidget(self.status_button)

        self.conform_updates_button= QtWidgets.QPushButton(self.vertical_layout.widget())
        self.conform_updates_button.setText('CONFORM UPDATED SHOTS ONLY')
        self.vertical_layout.addWidget(self.conform_updates_button)

        line2 = QtWidgets.QFrame(self.vertical_layout.parent())
        line2.setFrameShape(QtWidgets.QFrame.HLine)
        line2.setFrameShadow(QtWidgets.QFrame.Sunken)
        self.vertical_layout.addWidget(line2)

        self.info_label = QtWidgets.QLabel(self.vertical_layout.widget())
        self.info_label.setText('check Console for Progress Info...')
        self.vertical_layout.addWidget(self.info_label)

        self.fill_ui_with_stalker_projects()
Exemple #24
0
    def _setup_ui(self):
        """create the ui elements
        """
        self.resize(1350, 950)
        self.vertical_layout = QtWidgets.QVBoxLayout(self)

        # Dialog Label
        self.dialog_label = QtWidgets.QLabel(self)
        self.dialog_label.setText('Task Manager')
        self.dialog_label.setStyleSheet("color: rgb(71, 143, 202);font: 18pt;")
        self.vertical_layout.addWidget(self.dialog_label)

        # Title Line
        line = QtWidgets.QFrame(self)
        line.setFrameShape(QtWidgets.QFrame.HLine)
        line.setFrameShadow(QtWidgets.QFrame.Sunken)
        self.vertical_layout.addWidget(line)

        # --------------------------------------------
        # Filter Fields
        label_role = QtWidgets.QFormLayout.LabelRole
        field_role = QtWidgets.QFormLayout.FieldRole

        expanding = QtWidgets.QSizePolicy.Expanding
        fixed = QtWidgets.QSizePolicy.Fixed
        minimum = QtWidgets.QSizePolicy.Minimum

        # Filters Form Layout
        self.filters_form_layout = QtWidgets.QFormLayout()
        self.filters_form_layout.setLabelAlignment(QtCore.Qt.AlignRight
                                                   | QtCore.Qt.AlignTrailing
                                                   | QtCore.Qt.AlignVCenter)
        self.vertical_layout.addLayout(self.filters_form_layout)

        # Filer By Label
        i = 0
        self.filter_by_label = QtWidgets.QLabel(self)
        self.filter_by_label.setText('Filter By')
        self.filters_form_layout.setWidget(i, field_role, self.filter_by_label)
        i += 1

        # Project
        #   Label
        self.filter_by_project_label = QtWidgets.QLabel(self)
        self.filter_by_project_label.setText('Project')

        self.filters_form_layout.setWidget(i, label_role,
                                           self.filter_by_project_label)

        #   Field
        self.filter_by_project_combo_box = QtWidgets.QComboBox(self)
        self.filter_by_project_combo_box.setSizePolicy(expanding, fixed)
        self.filter_by_project_combo_box.setEditable(True)

        self.filters_form_layout.setWidget(i, field_role,
                                           self.filter_by_project_combo_box)
        i += 1

        # Entity Type
        #   Label
        self.filter_by_entity_type_label = QtWidgets.QLabel(self)
        self.filter_by_entity_type_label.setText('Entity Type')
        self.filters_form_layout.setWidget(i, label_role,
                                           self.filter_by_entity_type_label)

        #   Field
        self.filter_by_entity_type_combo_box = QtWidgets.QComboBox(self)
        self.filter_by_entity_type_combo_box.setSizePolicy(expanding, fixed)
        self.filters_form_layout.setWidget(
            i, field_role, self.filter_by_entity_type_combo_box)
        i += 1

        # Task Type
        #   Label
        self.filter_by_task_type_label = QtWidgets.QLabel(self)
        self.filter_by_task_type_label.setText('Task Type')
        self.filters_form_layout.setWidget(i, label_role,
                                           self.filter_by_task_type_label)

        #   Field
        self.filter_by_task_type_combo_box = QtWidgets.QComboBox(self)
        self.filter_by_task_type_combo_box.setSizePolicy(expanding, fixed)
        self.filters_form_layout.setWidget(i, field_role,
                                           self.filter_by_task_type_combo_box)
        i += 1

        # Sequence
        #   Only visible when entity type is Shot
        #   Label
        self.filter_by_sequence_label = QtWidgets.QLabel(self)
        self.filter_by_sequence_label.setText('Sequence')
        self.filters_form_layout.setWidget(i, label_role,
                                           self.filter_by_sequence_label)

        #   Field
        self.filter_by_sequence_combo_box = QtWidgets.QComboBox(self)
        self.filter_by_sequence_combo_box.setSizePolicy(expanding, fixed)
        self.filters_form_layout.setWidget(i, field_role,
                                           self.filter_by_sequence_combo_box)
        i += 1

        # Resource
        #   Label
        self.filter_by_resource_label = QtWidgets.QLabel(self)
        self.filter_by_resource_label.setText('Resource')
        self.filters_form_layout.setWidget(i, label_role,
                                           self.filter_by_resource_label)

        #   Field
        self.filter_by_resource_combo_box = QtWidgets.QComboBox(self)
        self.filter_by_resource_combo_box.setSizePolicy(expanding, fixed)
        self.filters_form_layout.setWidget(i, field_role,
                                           self.filter_by_resource_combo_box)
        i += 1

        # ------------------------------------------------
        # Filter Button
        self.filter_button_horizontal_layout = QtWidgets.QHBoxLayout(self)
        self.filters_form_layout.setLayout(
            i, field_role, self.filter_button_horizontal_layout)

        self.filter_push_button = QtWidgets.QPushButton(self)
        self.filter_push_button.setText('-> Apply Filter <-')
        self.filter_button_horizontal_layout.addWidget(self.filter_push_button)

        # spacer
        spacer = QtWidgets.QSpacerItem(40, 20, expanding, minimum)
        self.filter_button_horizontal_layout.addItem(spacer)

        # ------------------------------------------------
        # The main table widget
        self.data_table_widget = QtWidgets.QTableWidget(self)
        self.data_table_widget.setAutoFillBackground(True)
        self.data_table_widget.setEditTriggers(
            QtWidgets.QAbstractItemView.NoEditTriggers)
        self.data_table_widget.setColumnCount(2)
        self.data_table_widget.setRowCount(0)
        item = QtWidgets.QTableWidgetItem()
        self.data_table_widget.setHorizontalHeaderItem(0, item)

        item = QtWidgets.QTableWidgetItem()
        self.data_table_widget.setHorizontalHeaderItem(1, item)

        self.data_table_widget.horizontalHeader().setStretchLastSection(True)
        self.vertical_layout.addWidget(self.data_table_widget)
Exemple #25
0
    def setup_ui(self):
        """creates the UI widgets
        """
        self.setStyleSheet("""
            QLabel{
                background-color: #d9edf7;
                color: #3a87ad;
                padding-top: 2px;
                padding-bottom: 2px;
            }
            QLabel[labelField="true"] {
                font-weight: bold;
            }
        """)

        # the main layout
        self.vertical_layout = QtWidgets.QVBoxLayout(self)

        # -------------------------------------------------------------
        # Title Label
        self.title_label = QtWidgets.QLabel(self)
        self.title_label.setText('Timing (0 TimeLogs)')
        self.title_label.setAlignment(QtCore.Qt.AlignCenter)
        self.title_label.setStyleSheet("""
            font-weight: bold;
            background-color: white;
            color: #7c9fca;
        """)
        self.vertical_layout.addWidget(self.title_label)

        # the form layout
        self.form_layout = QtWidgets.QFormLayout()
        self.form_layout.setLabelAlignment(
            QtCore.Qt.AlignRight |
            QtCore.Qt.AlignTrailing |
            QtCore.Qt.AlignVCenter
        )
        self.form_layout.setSpacing(2)
        self.vertical_layout.addLayout(self.form_layout)

        i = -1
        label_width = 120
        field_width = 60
        label_align = QtCore.Qt.AlignRight
        # -------------------------------------------------------------
        # Bid Field
        i += 1
        self.bid_label = QtWidgets.QLabel(self)
        self.bid_label.setText("Bid")
        self.bid_label.setProperty('labelField', True)
        self.bid_label.setMinimumWidth(label_width)
        self.bid_label.setAlignment(label_align)

        self.bid_field = QtWidgets.QLabel(self)
        self.bid_field.setMinimumWidth(field_width)

        self.form_layout.setWidget(
            i,
            QtWidgets.QFormLayout.LabelRole,
            self.bid_label
        )
        self.form_layout.setWidget(
            i,
            QtWidgets.QFormLayout.FieldRole,
            self.bid_field
        )

        # -------------------------------------------------------------
        # Schedule Timing Field
        i += 1
        self.schedule_timing_label = QtWidgets.QLabel(self)
        self.schedule_timing_label.setText("Schedule Timing")
        self.schedule_timing_label.setProperty('labelField', True)
        self.schedule_timing_label.setMinimumWidth(label_width)
        self.schedule_timing_label.setAlignment(label_align)

        self.schedule_timing_field = QtWidgets.QLabel(self)
        self.schedule_timing_field.setMinimumWidth(field_width)

        self.form_layout.setWidget(
            i,
            QtWidgets.QFormLayout.LabelRole,
            self.schedule_timing_label
        )
        self.form_layout.setWidget(
            i,
            QtWidgets.QFormLayout.FieldRole,
            self.schedule_timing_field
        )

        # -------------------------------------------------------------
        # Total TimeLogs Field
        i += 1
        self.total_time_logs_label = QtWidgets.QLabel(self)
        self.total_time_logs_label.setText("Total Time Logs")
        self.total_time_logs_label.setProperty('labelField', True)
        self.total_time_logs_label.setMinimumWidth(label_width)
        self.total_time_logs_label.setAlignment(label_align)

        self.total_time_logs_field = QtWidgets.QLabel(self)
        self.total_time_logs_field.setMinimumWidth(field_width)

        self.form_layout.setWidget(
            i,
            QtWidgets.QFormLayout.LabelRole,
            self.total_time_logs_label
        )
        self.form_layout.setWidget(
            i,
            QtWidgets.QFormLayout.FieldRole,
            self.total_time_logs_field
        )

        # -------------------------------------------------------------
        # Time To Complete Field
        i += 1
        self.time_to_complete_label = QtWidgets.QLabel(self)
        self.time_to_complete_label.setText("Time To Complete")
        self.time_to_complete_label.setProperty('labelField', True)
        self.time_to_complete_label.setMinimumWidth(label_width)
        self.time_to_complete_label.setAlignment(label_align)

        self.time_to_complete_field = QtWidgets.QLabel(self)
        self.time_to_complete_field.setMinimumWidth(field_width)

        self.form_layout.setWidget(
            i,
            QtWidgets.QFormLayout.LabelRole,
            self.time_to_complete_label
        )
        self.form_layout.setWidget(
            i,
            QtWidgets.QFormLayout.FieldRole,
            self.time_to_complete_field
        )

        # -------------------------------------------------------------
        # Schedule Model Field
        i += 1
        self.schedule_model_label = QtWidgets.QLabel(self)
        self.schedule_model_label.setText("Schedule Model")
        self.schedule_model_label.setProperty('labelField', True)
        self.schedule_model_label.setMinimumWidth(label_width)
        self.schedule_model_label.setAlignment(label_align)

        self.schedule_model_field = QtWidgets.QLabel(self)
        self.schedule_model_field.setMinimumWidth(field_width)

        self.form_layout.setWidget(
            i,
            QtWidgets.QFormLayout.LabelRole,
            self.schedule_model_label
        )
        self.form_layout.setWidget(
            i,
            QtWidgets.QFormLayout.FieldRole,
            self.schedule_model_field
        )
Exemple #26
0
    def __init__ui(self):
        """creates the Widgets
        """
        # create a horizontal layout to hold the widgets
        self.main_layout = QtWidgets.QHBoxLayout()

        # ----------------------------------
        # Primary Widgets Layout
        self.primary_widgets_layout = QtWidgets.QVBoxLayout()

        # label
        self.primary_label = QtWidgets.QLabel(self.dialog)
        self.primary_label.setText(self.primary_label_text)
        self.primary_label.setAlignment(QtCore.Qt.AlignCenter)
        self.primary_widgets_layout.addWidget(self.primary_label)

        # list widget
        self.primary_list_widget = QtWidgets.QListWidget(self.dialog)
        self.primary_widgets_layout.addWidget(self.primary_list_widget)
        self.main_layout.addLayout(self.primary_widgets_layout)

        # ----------------------------------
        # Button Layout
        self.button_layout = QtWidgets.QVBoxLayout()
        self.button_layout.insertStretch(0, 0)
        self.primary_to_secondary_push_button = \
            QtWidgets.QPushButton('>>', parent=self.dialog)
        self.secondary_to_primary_push_button = \
            QtWidgets.QPushButton('<<', parent=self.dialog)

        self.primary_to_secondary_push_button.setMaximumSize(25, 16777215)
        self.secondary_to_primary_push_button.setMaximumSize(25, 16777215)

        self.button_layout.addWidget(self.primary_to_secondary_push_button)
        self.button_layout.addWidget(self.secondary_to_primary_push_button)

        self.button_layout.insertStretch(3, 0)
        self.main_layout.addLayout(self.button_layout)

        # ----------------------------------
        # Secondary Widgets Layout
        self.secondary_widgets_layout = QtWidgets.QVBoxLayout()

        # label
        self.secondary_label = QtWidgets.QLabel(self.dialog)
        self.secondary_label.setText(self.secondary_label_text)
        self.secondary_label.setAlignment(QtCore.Qt.AlignCenter)

        # list widget
        self.secondary_widgets_layout.addWidget(self.secondary_label)

        self.secondary_list_widget = QtWidgets.QListWidget(self.dialog)
        self.secondary_widgets_layout.addWidget(self.secondary_list_widget)
        self.main_layout.addLayout(self.secondary_widgets_layout)

        self.main_layout.setStretch(0, 1)
        self.main_layout.setStretch(1, 0)
        self.main_layout.setStretch(2, 1)

        self.parent_layout.addLayout(self.main_layout)

        # Create signals
        QtCore.QObject.connect(self.primary_to_secondary_push_button,
                               QtCore.SIGNAL('clicked()'),
                               self.primary_to_secondary_push_button_clicked)

        QtCore.QObject.connect(
            self.primary_list_widget,
            QtCore.SIGNAL('itemDoubleClicked(QListWidgetItem*)'),
            self.primary_to_secondary_push_button_clicked)

        QtCore.QObject.connect(self.secondary_to_primary_push_button,
                               QtCore.SIGNAL('clicked()'),
                               self.secondary_to_primary_push_button_clicked)

        QtCore.QObject.connect(
            self.secondary_list_widget,
            QtCore.SIGNAL('itemDoubleClicked(QListWidgetItem*)'),
            self.secondary_to_primary_push_button_clicked)
Exemple #27
0
    def setup_ui(self):
        """create the UI widgets
        """
        # we need a main layout
        # may be a vertical one
        # or a form layout
        self.vertical_layout = QtWidgets.QVBoxLayout(self)

        # -------------------------
        # Dialog Label and buttons
        horizontal_layout3 = QtWidgets.QHBoxLayout()
        self.vertical_layout.addLayout(horizontal_layout3)

        self.widget_label = QtWidgets.QLabel(self)
        self.widget_label.setText(self.task.name if self.task else 'Task Name')
        self.widget_label.setStyleSheet(
            "color: rgb(71, 143, 202);\nfont: 18pt;")
        horizontal_layout3.addWidget(self.widget_label)
        horizontal_layout3.addStretch(1)

        # Add Watch Task button
        self.watch_task_button = QtWidgets.QPushButton(self)
        self.watch_task_button.setMaximumWidth(24)
        self.watch_task_button.setMaximumHeight(24)
        self.watch_task_button.setText("W")
        self.watch_task_button.setToolTip("Watch Task")
        self.fix_task_status_button = QtWidgets.QPushButton(self)
        self.fix_task_status_button.setMaximumWidth(24)
        self.fix_task_status_button.setMaximumHeight(24)
        self.fix_task_status_button.setText("F")
        self.fix_task_status_button.setToolTip("Fix Task Status")
        horizontal_layout3.addWidget(self.watch_task_button)
        horizontal_layout3.addWidget(self.fix_task_status_button)

        # Add Status Label
        vertical_layout3 = QtWidgets.QVBoxLayout()
        from anima.ui.widgets.task_status_label import TaskStatusLabel
        self.task_status_label = TaskStatusLabel(task=self.task)
        self.task_status_label.setMaximumHeight(12)
        vertical_layout3.addWidget(self.task_status_label)

        # Add ProgressBar
        self.task_progress = QtWidgets.QProgressBar(self)
        self.task_progress.setMinimum(0)
        self.task_progress.setMaximum(100)
        self.task_progress.setValue(50)
        self.task_progress.setAlignment(QtCore.Qt.AlignCenter)
        self.task_progress.setMaximumHeight(12)
        self.task_progress.setStyleSheet("""
            QProgressBar::chunk {
                background-color: #3add36;
                width: 1px;
            }
        """)
        vertical_layout3.addWidget(self.task_progress)

        # set items closer to each other
        vertical_layout3.setSpacing(0)

        horizontal_layout3.addLayout(vertical_layout3)

        # Add divider
        line = QtWidgets.QFrame(self)
        line.setFrameShape(QtWidgets.QFrame.HLine)
        line.setFrameShadow(QtWidgets.QFrame.Sunken)
        self.vertical_layout.addWidget(line)

        horizontal_layout1 = QtWidgets.QHBoxLayout()
        self.vertical_layout.addLayout(horizontal_layout1)

        vertical_layout1 = QtWidgets.QVBoxLayout()
        vertical_layout2 = QtWidgets.QVBoxLayout()
        horizontal_layout1.addLayout(vertical_layout1)
        horizontal_layout1.addLayout(vertical_layout2)

        # --------------------------
        # Horizontal Layout for thumbnail and detail widgets
        horizontal_layout2 = QtWidgets.QHBoxLayout()
        vertical_layout1.addLayout(horizontal_layout2)

        # --------------------------
        # Task Thumbnail
        from anima.ui.widgets.entity_thumbnail import EntityThumbnailWidget
        self.task_thumbnail_widget = \
            EntityThumbnailWidget(task=self.task, parent=self)

        horizontal_layout2.addWidget(self.task_thumbnail_widget)

        # --------------------------
        # Task Detail Info
        from anima.ui.widgets.task_detail import TaskDetailWidget
        self.task_detail_widget = TaskDetailWidget(task=self.task, parent=self)

        horizontal_layout2.addWidget(self.task_detail_widget)

        # --------------------------
        # Task Timing Info
        from anima.ui.widgets.task_timing import TaskTimingWidget
        self.task_timing_widget = TaskTimingWidget(task=self.task, parent=self)

        horizontal_layout2.addWidget(self.task_timing_widget)

        # add stretcher
        # horizontal_layout2.addStretch(1)

        # --------------------------
        # Description field
        self.description_label = QtWidgets.QLabel(self)
        self.description_label.setStyleSheet("""
        background-color: gray;
        color: white;
        font-weight: bold;
        padding: 0.5em;
        """)
        self.description_label.setText("Description")
        self.description_field = QtWidgets.QTextEdit(self)
        self.description_field.setAcceptRichText(True)
        vertical_layout1.addWidget(self.description_label)
        vertical_layout1.addWidget(self.description_field)

        # add stretcher
        vertical_layout1.addStretch(1)

        # ---------------------------
        # Responsible Info
        from anima.ui.widgets.responsible_info import ResponsibleInfoWidget
        self.responsible_info_widget = ResponsibleInfoWidget(task=self.task,
                                                             parent=self)
        vertical_layout2.addWidget(self.responsible_info_widget)

        # ---------------------------
        # Resource Info
        from anima.ui.widgets.resource_info import ResourceInfoWidget
        self.resource_info_widget = ResourceInfoWidget(task=self.task,
                                                       parent=self)
        vertical_layout2.addWidget(self.resource_info_widget)

        # ---------------------------
        # Task Versions Usage Info
        from anima.ui.widgets.task_version_usage_info import \
            TaskVersionUsageInfoWidget
        self.task_versions_usage_info_widget = TaskVersionUsageInfoWidget(
            task=self.task, parent=self)
        vertical_layout2.addWidget(self.task_versions_usage_info_widget)

        vertical_layout2.addStretch(1)

        horizontal_layout1.setStretch(0, 2)
        horizontal_layout1.setStretch(1, 1)

        # ---------------------------
        # Task Notes
        from anima.ui.widgets.entity_notes import EntityNotesWidgets
        self.task_notes_widget = \
            EntityNotesWidgets(entity=self.task, parent=self)
        self.vertical_layout.addWidget(self.task_notes_widget)
Exemple #28
0
    def setup_ui(self):
        """creates the UI widgets
        """
        self.setStyleSheet("""
        QLabel[labelField="true"] {
            font-weight: bold;
        }
        """)

        # the main layout
        self.vertical_layout = QtWidgets.QVBoxLayout(self)

        # the form layout
        from anima.ui.lib import QtCore
        self.form_layout = QtWidgets.QFormLayout()
        self.form_layout.setLabelAlignment(QtCore.Qt.AlignRight
                                           | QtCore.Qt.AlignTrailing
                                           | QtCore.Qt.AlignVCenter)
        self.vertical_layout.addLayout(self.form_layout)

        i = -1
        # -------------------------------------------------------------
        # Name Field
        i += 1
        self.name_label = QtWidgets.QLabel(self)
        self.name_label.setText("Name")
        self.name_label.setProperty("labelField", True)

        self.name_field = QtWidgets.QLineEdit(self)

        self.form_layout.setWidget(i, QtWidgets.QFormLayout.LabelRole,
                                   self.name_label)
        self.form_layout.setWidget(i, QtWidgets.QFormLayout.FieldRole,
                                   self.name_field)

        # -------------------------------------------------------------
        # Type Field
        i += 1
        self.type_label = QtWidgets.QLabel(self)
        self.type_label.setText("Type")
        self.type_label.setProperty("labelField", True)

        self.type_field = QtWidgets.QComboBox(self)

        self.form_layout.setWidget(i, QtWidgets.QFormLayout.LabelRole,
                                   self.type_label)
        self.form_layout.setWidget(i, QtWidgets.QFormLayout.FieldRole,
                                   self.type_field)

        # -------------------------------------------------------------
        # Created By Field
        i += 1
        self.created_by_label = QtWidgets.QLabel(self)
        self.created_by_label.setText("Created By")
        self.created_by_label.setProperty("labelField", True)

        self.created_by_field = QtWidgets.QLabel(self)

        self.form_layout.setWidget(i, QtWidgets.QFormLayout.LabelRole,
                                   self.created_by_label)
        self.form_layout.setWidget(i, QtWidgets.QFormLayout.FieldRole,
                                   self.created_by_field)

        # -------------------------------------------------------------
        # Updated By Field
        i += 1
        self.updated_by_label = QtWidgets.QLabel(self)
        self.updated_by_label.setText("Updated By")
        self.updated_by_label.setProperty("labelField", True)

        self.updated_by_field = QtWidgets.QLabel(self)

        self.form_layout.setWidget(i, QtWidgets.QFormLayout.LabelRole,
                                   self.updated_by_label)
        self.form_layout.setWidget(i, QtWidgets.QFormLayout.FieldRole,
                                   self.updated_by_field)

        # -------------------------------------------------------------
        # Timing Field
        i += 1
        self.timing_label = QtWidgets.QLabel(self)
        self.timing_label.setText("Timing")
        self.timing_label.setProperty("labelField", True)

        self.timing_field = QtWidgets.QLabel(self)
        self.timing_field.setText('23 Hours ago -> an Hour ago!')

        self.form_layout.setWidget(i, QtWidgets.QFormLayout.LabelRole,
                                   self.timing_label)
        self.form_layout.setWidget(i, QtWidgets.QFormLayout.FieldRole,
                                   self.timing_field)

        # -------------------------------------------------------------
        # Priority
        i += 1
        self.priority_label = QtWidgets.QLabel(self)
        self.priority_label.setText("Priority")
        self.priority_label.setProperty("labelField", True)

        self.priority_field = QtWidgets.QLabel(self)
        self.priority_field.setText('950')

        self.form_layout.setWidget(i, QtWidgets.QFormLayout.LabelRole,
                                   self.priority_label)
        self.form_layout.setWidget(i, QtWidgets.QFormLayout.FieldRole,
                                   self.priority_field)

        # Create signals
        QtCore.QObject.connect(self.type_field,
                               QtCore.SIGNAL('currentIndexChanged(QString)'),
                               self.type_field_changed)
Exemple #29
0
    def setup_ui(self):
        """sets the ui up
        """
        from anima.utils import do_db_setup
        do_db_setup()

        # get logged in user
        self.get_logged_in_user()

        self.setWindowTitle("Shot Manager")

        self.main_layout = QtWidgets.QVBoxLayout(self)
        self.form_layout = QtWidgets.QFormLayout(self)
        self.main_layout.addLayout(self.form_layout)

        i = 0
        # Project
        label = QtWidgets.QLabel(self)
        label.setText("Project")
        self.form_layout.setWidget(
            i,
            QtWidgets.QFormLayout.LabelRole,
            label
        )

        from anima.ui.widgets.project import ProjectComboBox
        self.project_combo_box = ProjectComboBox(self)
        self.form_layout.setWidget(
            i,
            QtWidgets.QFormLayout.FieldRole,
            self.project_combo_box
        )

        # Sequence
        i += 1
        label = QtWidgets.QLabel(self)
        label.setText("Sequence")
        self.form_layout.setWidget(
            i,
            QtWidgets.QFormLayout.LabelRole,
            label
        )

        from anima.ui.widgets.sequence import SequenceComboBox
        self.sequence_combo_box = SequenceComboBox(self)
        self.form_layout.setWidget(
            i,
            QtWidgets.QFormLayout.FieldRole,
            self.sequence_combo_box
        )

        # Get Shot List button
        get_shot_list_push_button = QtWidgets.QPushButton(self)
        get_shot_list_push_button.setText("Get Shot List")
        self.main_layout.addWidget(get_shot_list_push_button)

        # Check Duplicate Shot Code
        validate_shots_push_button = QtWidgets.QPushButton(self)
        validate_shots_push_button.setText("Validate Shots")
        self.main_layout.addWidget(validate_shots_push_button)

        # Check Duplicate Shot Code
        check_duplicate_shot_code_push_button = QtWidgets.QPushButton(self)
        check_duplicate_shot_code_push_button.setText("Check Duplicate Shot Code")
        self.main_layout.addWidget(check_duplicate_shot_code_push_button)

        # Create Render Jobs button
        create_render_jobs_button = QtWidgets.QPushButton(self)
        create_render_jobs_button.setText("Create Render Jobs")
        self.main_layout.addWidget(create_render_jobs_button)

        # Update Shot Thumbnail button
        update_shot_thumbnail_button = QtWidgets.QPushButton(self)
        update_shot_thumbnail_button.setText("Update Shot Thumbnail")
        self.main_layout.addWidget(update_shot_thumbnail_button)

        # Ok button
        ok_button = QtWidgets.QPushButton(self)
        ok_button.setText("OK")
        self.main_layout.addWidget(ok_button)

        # Signals
        self.project_changed(None)

        QtCore.QObject.connect(
            self.project_combo_box,
            QtCore.SIGNAL("currentIndexChanged(QString)"),
            self.project_changed
        )

        QtCore.QObject.connect(
            ok_button,
            QtCore.SIGNAL("clicked()"),
            self.close
        )

        QtCore.QObject.connect(
            create_render_jobs_button,
            QtCore.SIGNAL("clicked()"),
            self.create_render_jobs
        )

        QtCore.QObject.connect(
            get_shot_list_push_button,
            QtCore.SIGNAL("clicked()"),
            self.get_shot_list
        )

        QtCore.QObject.connect(
            check_duplicate_shot_code_push_button,
            QtCore.SIGNAL("clicked()"),
            self.check_duplicate_shots
        )

        QtCore.QObject.connect(
            validate_shots_push_button,
            QtCore.SIGNAL("clicked()"),
            self.validate_shot_codes
        )

        QtCore.QObject.connect(
            update_shot_thumbnail_button,
            QtCore.SIGNAL("clicked()"),
            self.update_shot_thumbnail
        )