def __init__(self, version, entity, asset, **kwargs): super(VersionItemWidget, self).__init__(**kwargs) self.version = version self.entity = entity self.asset = asset self.layout1 = QtWidgets.QHBoxLayout() self.version_label = Label() self.version_label.setStyleSheet('font: italic bold 17px Arial') self.color_label = QtWidgets.QLabel() self.step_label = Label() self.step_label.setStyleSheet('font: bold 17px Arial') self.layout1.addWidget(self.version_label) self.layout1.addStretch() self.layout1.addWidget(self.color_label) self.layout1.addWidget(self.step_label) self.form_layout = QtWidgets.QFormLayout() self.form_layout.setLabelAlignment(QtCore.Qt.AlignLeft) self.masterLayout = QtWidgets.QVBoxLayout() self.masterLayout.addSpacing(5) self.masterLayout.addLayout(self.layout1) self.masterLayout.addStretch() self.masterLayout.addLayout(self.form_layout) self.setLayout(self.masterLayout) self.masterLayout.setAlignment(QtCore.Qt.AlignTop) self.masterLayout.setContentsMargins(10, 0, 0, 5) # self.version_label.setText(self.version.name) self.color_label.setFixedSize(QtCore.QSize(20, 20)) self.tooltip_text = None basset_name = Label('BAsset:') # basset_label = Label(self.exporter.basset_url.asset.name) basset_label = Label(self.asset.name) entity_name = Label('Entity:') entity_label = Label(self.entity.get_full_name()) for label in [basset_name, entity_name, basset_label, entity_label]: # label.setStyleSheet('font: 12px Liberation Sans') # label.setStyleSheet('font: 12px Bitstream Vera Sans') label.setStyleSheet('font: 12px DejaVu Sans') self.form_layout.addRow(basset_name, basset_label) self.form_layout.addRow(entity_name, entity_label) if self.entity.type == 'step': self.step_label.setText(self.entity.name) style = """ *{ background: transparent; color: rgb(220, 220, 220); } QToolTip{ color:white; } """ self.setStyleSheet(style) self.is_highlight = False self.resize(200, 80)
def init_ui(self): super(NoteWidget, self).init_ui() link_color_red, link_color_green, link_color_blue = get_link_color( self.text_color) # print link_color_red, link_color_green, link_color_blue self.note_content_edit.setText(u""" <div style="margin-bottom: 8px"><a href="{url}"><font color=#{color}>{subject}</font></a></div> <div>{content}</div> """.format(url=self.note_object.url, color='%02x%02x%02x' % (link_color_red, link_color_green, link_color_blue), subject=self.note_subject, content=self.note_content.replace('\n', '<br/>'))) self.attachments_widget = AttachmentsWidget() self.children_layout = QtWidgets.QVBoxLayout() self.children_layout.setAlignment(QtCore.Qt.AlignTop) self.children_layout.setContentsMargins(20, 0, 0, 0) self.reply_button = QtWidgets.QPushButton('Reply', self) self.reply_button.setFixedWidth(50) self.reply_button.setFixedHeight(22) self.reply_button.setVisible(False) self.reply_button.setStyleSheet(""" QPushButton{ background: transparent; border: none; border-radius: 3px; outline: 0px; } QPushButton:hover{ background: rgb(100, 100, 100, 50); } QPushButton:pressed{ background: rgb(100, 100, 100, 70); } """) self.reply_layout = QtWidgets.QHBoxLayout() self.reply_layout.setAlignment(QtCore.Qt.AlignLeft) self.reply_layout.setContentsMargins(50, 0, 0, 0) self.reply_edit = None self.masterLayout = QtWidgets.QVBoxLayout() self.masterLayout.setAlignment(QtCore.Qt.AlignTop) self.masterLayout.addLayout(self.current_note_layout) self.masterLayout.addWidget(self.attachments_widget) # self.masterLayout.addSpacing(10) self.masterLayout.addLayout(self.children_layout) self.masterLayout.addLayout(self.reply_layout) self.masterLayout.addStretch() self.setLayout(self.masterLayout) self.reply_button.clicked.connect(self.reply_button_clicked)
def add_item(self, file_name, local_path): count = self.rename_table.rowCount() self.rename_table.insertRow(count) item = QtWidgets.QTableWidgetItem(file_name) item.setToolTip('source name') self.rename_table.setItem(count, 1, item) rename_item = QtWidgets.QTableWidgetItem('') rename_item.setToolTip('alias name') self.rename_table.setItem(count, 3, rename_item) self.rename_table.setItem(count, 2, QtWidgets.QTableWidgetItem(local_path)) self.add_button(count, file_name)
def create_context_menu(self): self.menu = QtWidgets.QMenu(self) self.addStepMenu = QtWidgets.QMenu('Add pipeline step', self) self.addTypeMenu = QtWidgets.QMenu('Add file type', self) for step in PIPELINE_STEPS: action = QtWidgets.QAction(step, self.addStepMenu) action.triggered.connect(self.add_new_step_to_list) self.addStepMenu.addAction(action) for type in FILE_TYPES: action = QtWidgets.QAction(type, self.addTypeMenu) action.triggered.connect(self.add_new_type_to_list) self.addTypeMenu.addAction(action) self.menu.addMenu(self.addStepMenu) self.menu.addMenu(self.addTypeMenu)
def __init__(self): self.mode_model = QtCore.QStringListModel(["Shot", "Asset"]) self.upload_type = QtCore.QStringListModel( ["Attachment", "Thumbnail", "Reference_qt"]) self.show_model = QtGui.QStandardItemModel() self.path_model = QtWidgets.QDirModel() shows = get_approved_shows() for show_item in shows.items(): if show_item[1] in frozenset(['production', 'production2']): item = QtGui.QStandardItem(show_item[0]) item.setData(show_item[1], SG_DATA) self.show_model.appendRow(item) self.tree_model = QtWidgets.QFileSystemModel() self.tree_model.setRootPath("/") self.none_tree = QtWidgets.QFileSystemModel()
def updat_ui(self, version_item, d_versions): for d_version in d_versions: d_version_item = QtWidgets.QTreeWidgetItem(d_version[0]) version_item.addChild(d_version_item) if d_version[1].sources: d_sources = self.dependency_version(d_version[1]) self.updat_ui(d_version_item, d_sources)
def __init__(self, combine_version=False, parent=None): super(GraphicsSceneWidget, self).__init__(parent=parent) self.scene = GraphicsScene(combine_version=combine_version, parent=self) # orientation: 0-h 1-v self.view = GraphicsView() self.view.setScene(self.scene) self.setGeometry(100, 100, 800, 600) self.view.setRenderHint(QtGui.QPainter.Antialiasing) self.view.setViewportUpdateMode( QtWidgets.QGraphicsView.FullViewportUpdate) layout = QtWidgets.QVBoxLayout() layout.addWidget(self.view) self.setLayout(layout) self.scene.setSceneRect( QtCore.QRectF( -(self.view.viewport().width() / self.view.current_zoom * 2 + 25000) / 2, -(self.view.viewport().height() / self.view.current_zoom * 2 + 25000) / 2, self.view.viewport().width() / self.view.current_zoom * 2 + 25000, self.view.viewport().height() / self.view.current_zoom * 2 + 25000)) # self.itemPopulate.connect(self.test, QtCore.Qt.QueuedConnection) self.showWidgetSignal.connect(self.show_version_widget, QtCore.Qt.QueuedConnection)
def main(): """main function that's render when the script is render as a standalone script.""" app = QtWidgets.QApplication(sys.argv) from bfx.data.ple.assets import Version v = Version.get(id=128875) window = TreeWidget(v) window.show() sys.exit(app.exec_())
def create_context_menu(self): self.menu = QtWidgets.QMenu(self.scene().parent()) self.show_detail_action = QtWidgets.QAction("Open in Browser", self.menu) self.show_detail_action.triggered.connect( self._show_details_action_triggered) self.open_in_file_action = QtWidgets.QAction("Open in File Browser", self.menu) self.open_in_file_action.triggered.connect( self._open_file_action_triggered) self.menu.addAction(self.show_detail_action) self.menu.addAction(self.open_in_file_action) self.menu.setStyleSheet(""" QMenu::item:selected{ background:rgb(100, 100, 150) } """)
def init_ui(self, caption="", directory="", filter=""): up_icon = os.path.join(ICON_DIR, "navigation", "svg", "ic_arrow_upward_48px.svg") self.go_up_btn.setIcon(get_icon(up_icon)) list_icon = os.path.join(ICON_DIR, "action", "svg", "ic_view_module_48px.svg") self.list_radio.setIcon(get_icon(list_icon)) detail_icon = os.path.join(ICON_DIR, "action", "svg", "ic_view_list_48px.svg") self.detail_radio.setIcon(get_icon(detail_icon)) self.view_mode_btns.addButton(self.list_radio, self.List) self.view_mode_btns.addButton(self.detail_radio, self.Detail) self.detail_radio.click() self.go_to(QtCore.QDir.currentPath()) self.sequences_ckb.setChecked(True) self.horizontalLayout_5.removeItem(self.main_view_hbox) self.horizontalLayout_5.removeWidget(self.side_bar) self.splitter = QtWidgets.QSplitter() self.splitter.setOrientation(QtCore.Qt.Horizontal) self.splitter.addWidget(self.side_bar) main_view_widget = QtWidgets.QWidget() main_view_widget.setContentsMargins(0, 0, 0, 0) self.main_view_hbox.setContentsMargins(0, 0, 0, 0) main_view_widget.setLayout(self.main_view_hbox) self.splitter.addWidget(main_view_widget) self.splitter.setStretchFactor(0, 1) self.splitter.setStretchFactor(1, 5) self.horizontalLayout_5.addWidget(self.splitter) if caption: self.setWindowTitle(caption) if directory and os.path.isdir(directory): self.setDirectory(directory) if filter: self.setNameFilters(filter) else: self.files_type_cbbox.addItem("all files (*.*)") self.init_sidebar()
def __init__(self, parent=None, caption="", directory="", filter="", task_context=""): """ Constructs a file dialog with the given parent and caption that initially displays the contents of the specified directory. The contents of the directory are filtered before being shown in the dialog, using a semicolon-separated list of filters specified by each_filter. If you want to use multiple filters, separate each one with two semicolons. For example: "Images (*.png *.xpm *.jpg);;Text files (*.txt);;XML files (*.xml)" :param parent: :param caption: :param directory: :param filter: :param task_context: """ super(FileDialog, self).__init__(parent=parent) # setup UI -------------------------------------------- # ui_file = os.path.join(os.path.dirname(__file__), 'design', 'file_dialog.ui') uic.loadUi(ui_file, self) self.view_mode_btns = QtWidgets.QButtonGroup() self._model = QtWidgets.QFileSystemModel() self.task_context = task_context self.tree_widget.resizeEvent = self._tree_resize_event # self.list_view.mouseReleaseEvent = self._list_view_mouse_release_event self.list_view.setModel(self.tree_widget.model()) self.file_mode = self.FilesAndDirectories self.create_connect() self.init_ui(caption, directory, filter)
def add_button(self, index, file_name): if self.check_file_name(file_name): color = "green" icon = PASSED else: color = 'red' icon = FAILED check_button = QtWidgets.QPushButton() check_button.setFlat(True) check_button.setIcon(get_icon(icon, color)) check_button.clicked.connect(self.check_state) self.rename_table.setCellWidget(index, 0, check_button)
def __init__(self, model): QtWidgets.QWidget.__init__(self) self.sg = None self.model = model self.copy_path = COPY_PATH # ignore BE001 self.setWindowTitle("Batch Uploader") self.resize(700, 800) screen_size = QtWidgets.QDesktopWidget().geometry() self.move((screen_size.width() - self.width()) / 2, (screen_size.height() - self.height()) / 2) self.setAcceptDrops(True) self.element_widget()
def __init__(self, attachable=True, *args, **kwargs): super(AddNoteTextEdit, self).__init__(*args, **kwargs) self.attachable = attachable attach_icon = get_pixmap(os.path.join(ICON_DIR, 'file', 'svg', 'ic_attachment_24px.svg'), size=[20, 20]) self.attachButton = LabelButton(name='Attachment', icon=attach_icon, parent=self) self.attachButton.setFixedSize(20, 20) self.attachButton.setVisible(attachable) self.attach_files = [] self.cancelButton = QtWidgets.QPushButton('Cancel', self) self.applyButton = QtWidgets.QPushButton('Apply', self) for button in [self.applyButton, self.cancelButton]: button.setFixedSize(50, 20) button.setStyleSheet(""" QPushButton{ border: none; border: 1px solid rgb(200, 200, 220); border-radius: 2px; } """) self.setStyleSheet(""" QTextEdit{ border: 1px solid rgb(200, 200, 220); border-radius: 5px; } """) self.setFixedWidth(350) self.set_editable(False) self.applyButton.clicked.connect(self.apply_clicked) self.cancelButton.clicked.connect(self.cancel_clicked) self.attachButton.clicked.connect(self.attach_clicked)
def __init__(self, *args, **kwargs): super(VersionWidget, self).__init__(*args, **kwargs) self.masterLayout = QtWidgets.QVBoxLayout() self.layout1 = QtWidgets.QHBoxLayout() self.versionNumEdit = QtWidgets.QLineEdit() self.versionNumEdit.setPlaceholderText('Display Version Number:') self.versionNumEdit.setText(str(rv.commands.readSettings('Dailies', 'versionNum', 5))) self.versionNumEdit.editingFinished.connect(self.change_version_number) self.refreshButton = QtWidgets.QPushButton('Refresh') self.refreshButton.clicked.connect(self.refresh_clicked) self.layout1.addWidget(self.versionNumEdit) self.layout1.addWidget(self.refreshButton) self.masterLayout.addLayout(self.layout1) self.versionLists = [] for i in range(10): version_list_widget = VersionList() self.masterLayout.addWidget(version_list_widget) version_list_widget.setVisible(False) version_list_widget.itemSelectionChanged.connect(self.item_select_changed) version_list_widget.set_version_num(int(self.versionNumEdit.text())) self.versionLists.append(version_list_widget) self.setLayout(self.masterLayout)
def __init__(self, parent=None): super(ColorTable, self).__init__(parent) # self.setFixedWidth(110) self.masterLayout = QtWidgets.QVBoxLayout() self.showButton = QtWidgets.QPushButton('hide sheet', self) self.showButton.setStyleSheet( "color:gray;text-align:right;border:none") self.colorLayout = QtWidgets.QFormLayout() keys = list(PIPELINE_COLOR._fields) keys.remove("other") keys.sort() # keys.append("other") for step in keys: color = get_pipeline_color(step) color_label = ColorLabel(color) self.colorLayout.addRow(step + ' ', color_label) for key in SPECIAL_COLOR: color = SPECIAL_COLOR[key] color_label = ColorLabel(color) self.colorLayout.addRow(key + ' ', color_label) self.colorLayout.addRow('other' + ' ', ColorLabel(get_pipeline_color('other'))) self.colorGroup = QtWidgets.QGroupBox() self.colorGroup.setLayout(self.colorLayout) # self.masterLayout.addWidget(self.showButton) self.masterLayout.addSpacing(20) self.masterLayout.addWidget(self.colorGroup) self.setLayout(self.masterLayout) self.setStyleSheet("color:white;background:transparent") self.showButton.clicked.connect(self.show_btn_clicked)
def main(): """main function that's render when the script is render as a standalone script.""" app = QtWidgets.QApplication(sys.argv) os.environ[ENV.entity_id] = str(315715) os.environ[ENV.task_path] = 'test_guzy' dialog = FileDialog() # dialog.setDirectory("/show/CWT/seq/sc002/shot/sc002_0050/task/plate/workspace/BP/sc002_0050_plate_bp_v001/output/exr/2048x1152") # dialog.setNameFilter("Images (*.png *.exr *.jpg);;Text files (*.txt);;XML files (*.xml)") # dialog.setSidebarPaths(['/sw/PLE/workspace/guzy/', '/sw/PLE/workspace/chencheng/']) dialog.setViewMode(FileDialog.List) result = dialog.exec_() if result == FileDialog.Accepted: print dialog.selected_files
def main(): """main function that's render when the script is render as a standalone script.""" app = QtWidgets.QApplication(sys.argv) from bfx.data.ple.assets import Version # v = Version.get(id=834342) # v = Version.get(id=818022) # v = Version.get(id=606882) # cc_bundle # v = Version.get(id=579564) # v = Version.get(id=659547) v = Version.get(id=898056) window = VersionGraph(combine_version=True) window.set_populate_depth(1) window.set_orientation(0) window.show() window.show_version(v) sys.exit(app.exec_())
def __init__(self, seq_data, parent=None): super(SeqFilesItem, self).__init__(parent) self._seq_data = seq_data self._file_info = QtCore.QFileInfo(self._seq_data["files"][0]) self.path = self._seq_data["filename"] self._icon = QtWidgets.QFileIconProvider().icon(self._file_info) self.setText( 0, "{name} {first}-{last}".format(name=os.path.basename(self.path), first=self._seq_data["first_frame"], last=self._seq_data["last_frame"])) self.setText(1, "") self.setText(2, "Sequence") self.setText(3, "") self.setIcon(0, self._icon)
def rename_dialog(self, type): rename_list = [] for index in self.rename_table.selectedIndexes(): if index.column() == 1: rename_list.append( str(self.rename_table.item(index.row(), 1).text())) else: context = self.rename_table.item(index.row(), 3) if context: rename_list.append(str(context.text())) self.rename = RenameDialog(rename_list, type, parent=self) rename_list = self.rename.new_filed if rename_list: count = 0 for index in self.rename_table.selectedIndexes(): if rename_list[count]: item = QtWidgets.QTableWidgetItem(rename_list[count]) item.setToolTip('alias name') self.rename_table.setItem(index.row(), 3, item) count += 1
def init_ui(self): self.version_submit_info_layout = QtWidgets.QHBoxLayout() self.user_icon_layout = QtWidgets.QVBoxLayout() self.user_icon = UserIconLabel() self.user_icon_layout.setAlignment(QtCore.Qt.AlignTop) self.user_icon_layout.addWidget(self.user_icon) self.version_layout = QtWidgets.QVBoxLayout() self.version_layout.setAlignment(QtCore.Qt.AlignTop) self.version_layout.setSpacing(0) self.user_time_layout = QtWidgets.QHBoxLayout() self.user_time_layout.setAlignment(QtCore.Qt.AlignLeft) self.user_label = QtWidgets.QLabel() self.user_time_layout.addWidget(self.user_label) self.user_time_layout.addSpacing(15) self.user_time_label = QtWidgets.QLabel() self.user_time_label.setStyleSheet( 'color: rgb({}, {}, {}, 125)'.format( self.text_color.red(), self.text_color.green(), self.text_color.blue(), )) self.user_time_layout.addWidget(self.user_time_label) self.version_description_edit = AutoResizeTextEdit() self.version_layout.addLayout(self.user_time_layout) self.version_layout.addWidget(self.version_description_edit) # self.version_layout.addStretch() self.version_submit_info_layout.setAlignment(QtCore.Qt.AlignLeft) self.version_submit_info_layout.setContentsMargins(4, 0, 0, 0) self.version_submit_info_layout.addLayout(self.user_icon_layout) self.version_submit_info_layout.addLayout(self.version_layout) self.setLayout(self.version_submit_info_layout) self.setSizePolicy( QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Maximum)) self.user_label.linkActivated.connect(self.open_link)
def init_ui(self): self.user_icon_layout = QtWidgets.QVBoxLayout() self.user_icon = UserIconLabel() self.user_icon.set_user(self.note_user) self.user_icon_layout.setAlignment(QtCore.Qt.AlignTop) self.user_icon_layout.addWidget(self.user_icon) self.note_layout = QtWidgets.QVBoxLayout() self.note_layout.setAlignment(QtCore.Qt.AlignTop) self.note_layout.setSpacing(0) self.user_time_layout = QtWidgets.QHBoxLayout() self.user_time_layout.setAlignment(QtCore.Qt.AlignLeft) self.user_time_layout.addSpacing(4) self.note_user_name_label = QtWidgets.QLabel(self.note_user_name) self.user_time_layout.addWidget(self.note_user_name_label) self.user_time_layout.addSpacing(15) note_date_label = QtWidgets.QLabel( self.note_date.strftime('%Y-%m-%d %H:%M:%S')) note_date_label.setStyleSheet('color: rgb({}, {}, {}, 125)'.format( self.text_color.red(), self.text_color.green(), self.text_color.blue(), )) self.user_time_layout.addWidget(note_date_label) self.note_content_edit = AutoResizeTextEdit() self.note_content_edit.setText( u'{content}'.format(content=self.note_content)) self.note_layout.addLayout(self.user_time_layout) self.note_layout.addWidget(self.note_content_edit) self.current_note_layout = QtWidgets.QHBoxLayout() self.current_note_layout.addLayout(self.user_icon_layout) self.current_note_layout.addSpacing(5) self.current_note_layout.addLayout(self.note_layout) self.setSizePolicy( QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Maximum))
def init_ui(self): self.checkSelectedButton = QtWidgets.QPushButton() self.checkSelectedButton.setToolTip('Check newest of select version') self.checkSelectedButton.setIcon( get_icon(os.path.join(ICON_DIR, 'action', 'svg', 'ic_find_replace_48px.svg'), color='white')) self.checkSelectedButton.setIconSize(QtCore.QSize(25, 25)) self.checkAllButton = QtWidgets.QPushButton() self.checkAllButton.setToolTip('Check newest of all version') self.checkAllButton.setIcon( get_icon(os.path.join(ICON_DIR, 'action', 'svg', 'ic_autorenew_48px.svg'), color='white')) self.checkAllButton.setIconSize(QtCore.QSize(25, 25)) self.expandAllButton = QtWidgets.QPushButton() self.expandAllButton.setToolTip('Expand all versions') self.expandAllButton.setIcon( get_icon(os.path.join(ICON_DIR, 'action', 'svg', 'ic_swap_horiz_24px.svg'), color='white')) self.expandAllButton.setIconSize(QtCore.QSize(25, 25)) for button in [ self.checkSelectedButton, self.checkAllButton, self.expandAllButton ]: button.setFixedSize(25, 25) self.horizontalLayout.addWidget(self.checkSelectedButton) self.horizontalLayout.addWidget(self.checkAllButton) self.horizontalLayout.addWidget(self.expandAllButton) self.scene_widget = GraphicsSceneWidget( combine_version=self.combine_version, parent=self) self.scene_widget.itemDoubleClicked.connect(self.__item_double_clicked) self.view_layout.addWidget(self.scene_widget) self.setStyleSheet(""" *{ color:white; background-color:rgb(50, 50, 50); border:none } QPushButton:hover{ background-color:rgb(60, 60, 60); } QPushButton:pressed{ background-color:rgb(40, 40, 40); } QLabel{ background-color:transparent; } """) self.checkSelectedButton.clicked.connect( self.scene_widget.check_selected_version) self.checkAllButton.clicked.connect( self.scene_widget.check_all_version) self.expandAllButton.clicked.connect(self.scene_widget.expand_all)
self.version_user_name = self.version_user.name self.user_icon.set_user(self.version_user) link_color_red, link_color_green, link_color_blue = get_link_color( self.text_color) self.user_label.setText(""" <a href="{url}"><font color=#{color}>Version</font></a> by {version_user} """.format( url=self.version_object.url, color='%02x%02x%02x' % (link_color_red, link_color_green, link_color_blue), version_user=self.version_user_name, )) self.user_time_label.setText( self.version_date.strftime('%Y-%m-%d %H:%M:%S')) self.version_description_edit.setText(self.version_description) self.version_description_edit.set_size() def open_link(self, url): webbrowser.open(str(url)) if __name__ == '__main__': app = QtWidgets.QApplication(sys.argv) note = Note.get(id=164253) window = NoteWidget(note=note, attachments=note.attachments) window.show() window.resize(500, 400) sys.exit(app.exec_())
def create_path_item(self, text, path): item = QtWidgets.QListWidgetItem() item.setText(text) item.setIcon(get_icon(icons.FOLDER_BLACK)) item.path_data = path # May be dangerous. return item
def element_widget(self): show_label = QtWidgets.QLabel("Show") self.path_label = QtWidgets.QLabel("Reference Path") mode_label = QtWidgets.QLabel("Mode") upload_type = QtWidgets.QLabel("Type") self.tree_view = QtWidgets.QTreeView() self.tree_view.setModel(self.model.none_tree) self.tree_view.setSelectionMode( QtWidgets.QAbstractItemView.ExtendedSelection) self.tree_view.setSelectionBehavior( QtWidgets.QAbstractItemView.SelectItems) self.tree_view.setColumnWidth(0, 450) self.tree_view.setColumnWidth(1, 80) self.tree_view.setColumnWidth(2, 50) self.tree_view.setDragEnabled(True) self.tree_view.setAcceptDrops(True) rename_label = QtWidgets.QLabel("Selected File ") rename_label.setFont(QtGui.QFont('Timer', 13)) delete_action = QtWidgets.QAction('Delete row', self) delete_action.triggered.connect(self.delete_row) file_name_item = QtWidgets.QAction('Create alias name', self) file_name_item.triggered.connect( lambda: self.rename_dialog(type='alias_name')) alias_name_item = QtWidgets.QAction('Modify alias name', self) alias_name_item.triggered.connect( lambda: self.rename_dialog(type='modify_alias_name')) self.file_name_menu = QtWidgets.QMenu('Create alias name', self) self.file_name_menu.addAction(delete_action) self.file_name_menu.addAction(file_name_item) self.alias_name_menu = QtWidgets.QMenu('Modify alias name', self) self.alias_name_menu.addAction(delete_action) self.alias_name_menu.addAction(alias_name_item) self.rename_table = CustomTablewidget() self.rename_table.customDataChanged.connect(self.rename_command) self.rename_table.customContextMenuRequested.connect( self.set_item_menu) self.uploader_button = QtWidgets.QPushButton("Upload") self.uploader_button.setFont(QtGui.QFont('Timer', 13)) self.uploader_button.setMinimumHeight(40) self.uploader_button.setEnabled(False) self.uploader_button.clicked.connect(self.upload_button_command) self.copy_file_path_label = QtWidgets.QLabel("Copy reference to:") self.copy_file_path_edit = QtWidgets.QLineEdit() self.copy_file_path_edit.setText("") self.show_line_combox = QtWidgets.QComboBox() self.show_line_combox.setModel(self.model.show_model) self.show_line_combox.currentIndexChanged.connect( self.show_line_command) self.show_line_combox.setFixedWidth(90) self.mode_combo_box = QtWidgets.QComboBox() self.mode_combo_box.setModel(self.model.mode_model) self.mode_combo_box.currentIndexChanged.connect( self.mode_combo_box_command) self.path_edit = QtWidgets.QLineEdit() self.path_completer = QtWidgets.QCompleter() self.path_completer.setModel(self.model.path_model) self.path_edit.setCompleter(self.path_completer) self.path_edit.returnPressed.connect(self.path_completion) self.path_edit.setFixedWidth(300) self.path_edit.textChanged.connect(self.set_root_path) self.file_select = QtWidgets.QToolButton() self.file_select.setIcon(QtGui.QIcon(FILE_ICON)) self.file_select.setToolButtonStyle(QtCore.Qt.ToolButtonIconOnly) self.file_select.clicked.connect(self.open_file_path) self.upload_type = QtWidgets.QComboBox() self.upload_type.setFixedWidth(95) self.upload_type.setModel(self.model.upload_type) self.upload_type.currentIndexChanged.connect(self.upload_type_command) show_mode_hbox = QtWidgets.QHBoxLayout() show_hbox = QtWidgets.QHBoxLayout() show_hbox.addWidget(show_label) show_hbox.addWidget(self.show_line_combox) show_hbox.addStretch(1) mode_hbox = QtWidgets.QHBoxLayout() mode_hbox.addWidget(mode_label) mode_hbox.addWidget(self.mode_combo_box) mode_hbox.addStretch(1) type_hbox = QtWidgets.QHBoxLayout() type_hbox.addWidget(upload_type) type_hbox.addWidget(self.upload_type) type_hbox.addStretch(1) show_mode_hbox.addLayout(show_hbox) show_mode_hbox.addLayout(mode_hbox) show_mode_hbox.addLayout(type_hbox) path_file_select_hbox = QtWidgets.QHBoxLayout() path_file_select_hbox.addWidget(self.path_label) path_file_select_hbox.addWidget(self.path_edit) path_file_select_hbox.addWidget(self.file_select) show_mode_hbox.addLayout(path_file_select_hbox) copy_path_hbox = QtWidgets.QHBoxLayout() copy_path_hbox.addWidget(self.copy_file_path_label) copy_path_hbox.addWidget(self.copy_file_path_edit) vbox = QtWidgets.QVBoxLayout() vbox.addLayout(show_mode_hbox) vbox.addSpacing(10) vbox.addLayout(copy_path_hbox) vbox.addSpacing(10) vbox.addWidget(self.tree_view) vbox.addWidget(rename_label, 0, QtCore.Qt.AlignCenter) vbox.addWidget(self.rename_table) self.attachment_widget = QtWidgets.QWidget() attachment_vbox = QtWidgets.QVBoxLayout() self.attachment_widget.setLayout(attachment_vbox) self.attachment_widget.setVisible(True) vbox.addWidget(self.attachment_widget) vbox.addWidget(self.uploader_button) self.setLayout(vbox) self.show_line_combox.currentIndexChanged.emit(0)
def init_ui(self): self.version_info_widget = VersionInfoWidget(text_color=self.text_color) if self.show_version: self.version_info_widget.show() else: self.version_info_widget.hide() self.notes_layout = QtWidgets.QVBoxLayout() self.notes_layout.setAlignment(QtCore.Qt.AlignTop) self.notes_layout.setContentsMargins(0, 0, 0, 0) self.add_note_layout = QtWidgets.QHBoxLayout() self.user_icon_layout = QtWidgets.QVBoxLayout() self.user_icon = UserIconLabel() self.user_icon.set_user(self.current_user) self.user_icon_layout.setAlignment(QtCore.Qt.AlignTop) self.user_icon_layout.addWidget(self.user_icon) self.add_note_edit = AddNoteTextEdit() self.add_note_layout.addLayout(self.user_icon_layout) self.add_note_layout.addSpacing(8) self.add_note_layout.addWidget(self.add_note_edit) self.add_note_layout.addStretch() self.add_note_layout.setContentsMargins(3, 0, 0, 0) self.unsupport_label = QtWidgets.QLabel('unsupported version!') self.unsupport_label.setAlignment(QtCore.Qt.AlignCenter) self.unsupport_label.setVisible(False) self.unsupport_label.setSizePolicy(QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.MinimumExpanding)) self.show_all_notes_button = QtWidgets.QPushButton('Show All Notes') self.show_all_notes_button.clicked.connect(self.show_all_notes) self.show_all_notes_button.setStyleSheet(""" QPushButton{ background:transparent; border:none; color: rgb(%s, %s, %s, 100); } QPushButton:hover{ color: rgb(%s, %s, %s, 150); } """ % (self.text_color.red(), self.text_color.green(), self.text_color.blue(), self.text_color.red(), self.text_color.green(), self.text_color.blue(), )) self.show_all_notes_button.setCursor(QtCore.Qt.PointingHandCursor) self.show_all_notes_button.hide() self.masterLayout = QtWidgets.QVBoxLayout() self.masterLayout.setAlignment(QtCore.Qt.AlignTop) self.masterLayout.addWidget(self.version_info_widget) self.masterLayout.addWidget(self.show_all_notes_button) self.masterLayout.addLayout(self.notes_layout) self.masterLayout.addLayout(self.add_note_layout) self.masterLayout.addWidget(self.unsupport_label) self.masterLayout.addStretch() self.setLayout(self.masterLayout) self.user_icon.hide() self.add_note_edit.hide() self.add_note_edit.applyNote.connect(self.add_new_note)
def init_ui(self): self.tree_widget_item = QtWidgets.QTreeWidgetItem( self.tree_item(self.version)) d_versions = self.dependency_version(self.version) self.updat_ui(self.tree_widget_item, d_versions) self.tree_widget.addTopLevelItem(self.tree_widget_item)
def __init__(self): rv.rvtypes.MinorMode.__init__(self) # self.init("pyside_test", [("key-down--s", self.go_to_shot_edit, ""),], None, None) self.init("pyside_test", None, None, None) self.playing = False self.rvSessionQObject = rv.qtutils.sessionWindow() self.sessionGLView = rv.qtutils.sessionGLView() self.toShotEdit = QtWidgets.QLineEdit(self.sessionGLView) self.toShotLabel = QtWidgets.QLabel('Go To Shot:', self.toShotEdit) self.toShotLabel.setFixedHeight(self.toShotEdit.height()) self.toShotEdit.hide() self.toShotEdit.setTextMargins(80, 0, 0, 0) self.toShotEdit.setStyleSheet(""" QLineEdit{ border:none; } QLabel{ background:transparent; } """) # self.toShotEdit.editingFinished.connect(self.go_to_shot) self.dialog = QtWidgets.QDockWidget('version', self.rvSessionQObject) widget1 = QtWidgets.QWidget() layout = QtWidgets.QVBoxLayout() button1 = QtWidgets.QPushButton('add source') button2 = QtWidgets.QPushButton('delete source') button3 = QtWidgets.QPushButton('get current frame') button4 = QtWidgets.QPushButton('add seq') button5 = QtWidgets.QPushButton('delete seq') button6 = QtWidgets.QPushButton('add stack') button7 = QtWidgets.QPushButton('delete stack') button8 = QtWidgets.QPushButton('add source to seq') button9 = QtWidgets.QPushButton('del source from seq') button10 = QtWidgets.QPushButton('add seq to stack(show)') button11 = QtWidgets.QPushButton('del seq from stack(hide)') button12 = QtWidgets.QPushButton('replace source') button1.clicked.connect(self.add_source) button2.clicked.connect(self.delete_source) button3.clicked.connect(self.get_frame) button4.clicked.connect(self.add_seq) button5.clicked.connect(self.del_seq) button6.clicked.connect(self.add_stack) button7.clicked.connect(self.del_stack) button8.clicked.connect(self.add_source_to_seq) button9.clicked.connect(self.del_source_from_seq) button10.clicked.connect(self.add_seq_to_stack) button11.clicked.connect(self.del_seq_from_stack) # button12.clicked.connect(self.replace_source) layout.addWidget(button1) layout.addWidget(button2) layout.addWidget(button3) layout.addWidget(button4) layout.addWidget(button5) layout.addWidget(button6) layout.addWidget(button7) layout.addWidget(button8) layout.addWidget(button9) layout.addWidget(button10) layout.addWidget(button11) layout.addWidget(button12) widget1.setLayout(layout) self.versionWidget = VersionWidget() self.versionWidget.itemChanged.connect(self.item_select_changed) self.versionWidget.setMinimumWidth(200) master_widget = QtWidgets.QWidget() master_layout = QtWidgets.QVBoxLayout() # master_layout.addWidget(widget1) master_layout.addWidget(self.versionWidget) master_widget.setLayout(master_layout) self.dialog.setWidget(master_widget) self.rvSessionQObject.addDockWidget(QtCore.Qt.RightDockWidgetArea, self.dialog) self.auto_update = True self.dialog2 = QtWidgets.QDockWidget('Timeline', self.rvSessionQObject) self.timeline = Timeline() # self.timeline.composition.setFrame.connect(self.set_frame) self.dialog2.setWidget(self.timeline) self.rvSessionQObject.addDockWidget(QtCore.Qt.BottomDockWidgetArea, self.dialog2) # rv.commands.bind('pyside_test', 'global', 'frame-changed', self.frame_changed(), '') # rv.commands.bind('pyside_test', 'global', 'new-source', self.new_source(), '') # rv.commands.bind('pyside_test', 'global', 'source-modified', self.source_modified(), '') # rv.commands.bind('pyside_test', 'global', 'media-relocated', self.media_relocated(), '') # rv.commands.bind('pyside_test', 'global', 'source-media-set', self.source_media_set(), '') # rv.commands.bind('pyside_test', 'global', 'new-node', self.new_node(), '') # rv.commands.bind('pyside_test', 'global', 'graph-new-node', self.graph_new_node(), '') # rv.commands.bind('pyside_test', 'global', 'new-in-point', self.new_in_point(), '') # rv.commands.bind('pyside_test', 'global', 'graph-node-inputs-changed', self.graph_node_inputs_changed(), '') # rv.commands.bind('pyside_test', 'global', 'range-changed', self.range_changed(), '') # rv.commands.bind('pyside_test', 'global', 'after-graph-view-change', self.after_graph_view_change, '') rv.commands.bind('pyside_test', 'global', 'play-start', self.play_start(), '') rv.commands.bind('pyside_test', 'global', 'play-stop', self.play_stop(), '') rv.commands.bind('pyside_test', 'global', 'frame-changed', self.frame_changed(), '') rv.commands.bind('pyside_test', 'global', 'after-graph-view-change', self.view_changed, '') rv.commands.bind('pyside_test', 'global', 'graph-node-inputs-changed', self.inputs_changed(), '') rv.commands.bind('pyside_test', 'global', 'before-session-read', self.before_read_section(), '') rv.commands.bind('pyside_test', 'global', 'after-session-read', self.after_read_section(), '') rv.commands.bind('pyside_test', 'global', 'key-down--s', self.go_to_shot_edit, '')
def main(args): app = QtWidgets.QApplication(args) model = Model() window = MainWindow(model) window.show() sys.exit(app.exec_())