def openMenu(self, position): indexes = self.selectedIndexes() if len(indexes) > 0: level = 0 index = indexes[0] while index.parent().isValid(): index = index.parent() level += 1 menu = QtGui.QMenu() delete_menu = None open_explorer_menu = None if level == 1: open_explorer_menu = QtGui.QAction("Open in Explorer", self) menu.addAction(open_explorer_menu) delete_menu = QtGui.QAction("Delete", self) menu.addAction(delete_menu) if open_explorer_menu: open_explorer_menu.triggered.connect( partial(self._on_right_click, 'explorer')) if delete_menu: delete_menu.triggered.connect( partial(self._on_right_click, 'delete')) menu.exec_(self.viewport().mapToGlobal(position))
def openMenu(self, position): if not self.parent_view: return indexes = self.parent_view.selectedIndexes() if not indexes: return if len(indexes) > 0: level = 0 index = indexes[0] while index.parent().isValid(): index = index.parent() level += 1 menu = QtGui.QMenu() assign_new_image_action = None if level == 1: assign_new_image_action = QtGui.QAction( 'Assign new thumbnail from viewport', self) menu.addAction(assign_new_image_action) if assign_new_image_action: assign_new_image_action.triggered.connect(self._on_click) menu.exec_(self.mapToGlobal(position))
def __init__(self, parent=None): super(Dialog, self).__init__(parent) self.setWindowTitle("Foreign Asset Manager") self.setMinimumSize(400, 175) self.add_wizard = Wizard() self.preferences_window = PreferencesWindow() self.maya_class = MayaOperationClass() self.model = TreeModel() self.proxy1 = Proxy01() self.proxy1.setSourceModel(self.model) self.proxy1.setFilterCaseSensitivity(QtCore.Qt.CaseInsensitive) self.proxy1.setDynamicSortFilter(True) master_lyt = QtGui.QVBoxLayout(self) splitter = QtGui.QSplitter(self) splitter.setChildrenCollapsible(False) splitter.setOrientation(QtCore.Qt.Horizontal) self.ui_widget = QtGui.QWidget(splitter) layout = QtGui.QVBoxLayout(self.ui_widget) layout.setContentsMargins(-1, 20, -1, -1) expand_collapse_lyt = QtGui.QHBoxLayout() expand_collapse_lyt.setSpacing(0) self.expand_all_button = QtGui.QPushButton('+') self.expand_all_button.setMaximumSize(20, 20) expand_collapse_lyt.addWidget(self.expand_all_button) self.collapse_all_button = QtGui.QPushButton('-') self.collapse_all_button.setMaximumSize(20, 20) expand_collapse_lyt.addWidget(self.collapse_all_button) spacer2 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) expand_collapse_lyt.addItem(spacer2) self.refresh_button = QtGui.QPushButton('r') self.refresh_button.setMaximumSize(20, 20) expand_collapse_lyt.addWidget(self.refresh_button) layout.addLayout(expand_collapse_lyt) self.tree_view = TreeView() self.tree_view.setModel(self.proxy1) self.tree_view.setSortingEnabled(True) self.tree_view.setAlternatingRowColors(True) self.tree_view.right_button_clicked.connect(self.rightMenuClicked) self.tree_view.selection_cleared.connect(self.resetPreviewImage) self.expand_all_button.clicked.connect(self.expandAll) self.collapse_all_button.clicked.connect(self.collpaseAll) self.refresh_button.clicked.connect(self.refreshView) layout.addWidget(self.tree_view) search_layout = QtGui.QHBoxLayout() self.search_line_edit = QtGui.QLineEdit() self.search_line_edit.setPlaceholderText('Search') self.search_line_edit.returnPressed.connect(self.updateFilter) search_layout.addWidget(self.search_line_edit) self.search_button = QtGui.QPushButton('Search') self.search_button.setMaximumWidth(75) self.search_button.clicked.connect(self.updateFilter) search_layout.addWidget(self.search_button) layout.addLayout(search_layout) QtCore.QObject.connect(self.tree_view, QtCore.SIGNAL("clicked(QModelIndex)"), self.row_clicked) QtCore.QObject.connect(self.tree_view, QtCore.SIGNAL("doubleClicked(QModelIndex)"), self.row_double_clicked) self.detail_panel_widget = QtGui.QWidget(splitter) image_layout = QtGui.QVBoxLayout(self.detail_panel_widget) self.image_label = ImageLabel(parent_view=self.tree_view) self.image_label.image_assign_signal.connect(self.assignImage) image_layout.addWidget(self.image_label) master_lyt.addWidget(splitter) self.qmenuBar = QtGui.QMenuBar(self) self.default_qmenubar_height = self.qmenuBar.height() file_menu = self.qmenuBar.addMenu('File') preferences_action = QtGui.QAction('Preferences', self) preferences_action.triggered.connect(self.preferencesClicked) add_asset_action = QtGui.QAction('Add new asset', self) add_asset_action.triggered.connect(self.addMenuClicked) file_menu.addAction(add_asset_action) file_menu.addAction(preferences_action)