def __init__(self, parent=None, project=None): logger.debug("initializing the interface") super(MainDialog, self).__init__(parent) self.setupUi(self) # store the logged in user self.logged_in_user = None self.project = project self.mode = 'Create' if self.project: self.mode = 'Update' self.dialog_label.setText('%s Project' % self.mode) from anima.ui.widgets import ValidatedLineEdit # add name_lineEdit self.name_lineEdit = ValidatedLineEdit( message_field=self.name_validator_label) self.name_fields_verticalLayout.insertWidget(0, self.name_lineEdit) # add code_lineEdit self.code_lineEdit = ValidatedLineEdit( message_field=self.code_validator_label) self.code_fields_verticalLayout.insertWidget(0, self.code_lineEdit) self._setup_signals() self._set_defaults() if self.project: self.fill_ui_with_project(self.project)
def __init__(self, parent=None, repository=None): super(MainDialog, self).__init__(parent=parent) self.setupUi(self) self.repository = repository self.mode = 'Create' if self.repository: self.mode = 'Update' self.dialog_label.setText('%s Repository' % self.mode) # create name_lineEdit from anima.ui.widgets import ValidatedLineEdit self.name_lineEdit = ValidatedLineEdit( message_field=self.name_validator_label) self.name_lineEdit.setPlaceholderText('Enter Name') self.name_fields_verticalLayout.insertWidget(0, self.name_lineEdit) self._setup_signals() self._set_defaults() if self.repository: self.fill_ui_with_repository(self.repository)
def __init__(self, parent=None, structure=None): super(MainDialog, self).__init__(parent=parent) self.setupUi(self) self.structure = structure self.mode = 'Create' if self.structure: self.mode = 'Update' self.dialog_label.setText('%s Structure' % self.mode) # 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_verticalLayout.insertWidget( 0, self.name_line_edit ) # create DoubleListWidget from anima.ui.widgets import DoubleListWidget self.filename_templates_double_list_widget = DoubleListWidget( dialog=self, parent_layout=self.filename_template_fields_verticalLayout, primary_label_text='Templates From DB', secondary_label_text='Selected Templates' ) # set the tooltip self.filename_templates_double_list_widget\ .primary_list_widget.setToolTip( "Right Click to Create/Update FilenameTemplates" ) self.filename_templates_double_list_widget\ .secondary_list_widget.setToolTip( "Right Click to Create/Update FilenameTemplates" ) self._setup_signals() self._set_defaults() if self.structure: self.fill_ui_with_structure(self.structure)
def __init__(self, parent=None, image_format=None): super(MainDialog, self).__init__(parent=parent) self.vertical_layout = None self.dialog_label = None self.line = None self.form_layout = None self.name_fields_vertical_layout = None self.name_validator_label = None self.width_height_label = None self.horizontal_layout = None self.width_spin_box = None self.label = None self.height_spin_box = None self.pixel_aspect_label = None self.pixel_aspect_double_spin_box = None self.name_label = None self.button_box = None self.setup_ui() self.image_format = image_format self.mode = 'Create' if self.image_format: self.mode = 'Update' self.dialog_label.setText('%s Image Format' % self.mode) # 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 ) self._setup_signals() self._set_defaults() if self.image_format: self.fill_ui_with_image_format(self.image_format)
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)
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)
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)