def contextMenuEvent(self, event): handled = True index = self.indexAt(event.pos()) menu = QtWidgets.QMenu() node = None if index.isValid(): node = self.model().getNode(index) # top_actions = list() def_actions = list() if node: def_actions.append(QtWidgets.QAction("Remove branch...", menu, triggered=functools.partial(self.remove, node, index))) else: def_actions.append(QtWidgets.QAction("Add branch...", menu, triggered=functools.partial(self.add, node))) menu.addActions(def_actions) menu.exec_(event.globalPos()) event.accept() return
def set_preset_menu(self): self.menu = None self.menu = QtWidgets.QMenu(self.load_preset_btn) self.menu.addAction( QtWidgets.QAction("Load from file...", self.menu, triggered=self.load_preset)) self.menu.addSeparator() for p in self.list_saved_presets(): self.menu.addAction( QtWidgets.QAction(p[1], self.menu, triggered=functools.partial( self.set_preset, p[0]))) self.menu.addSeparator() self.menu.addAction( QtWidgets.QAction("Clear", self.menu, triggered=self.clear_preset)) self.load_preset_btn.setMenu(self.menu)
def contextMenuEvent(self, event): handled = True index = self.indexAt(event.pos()) self.menu = QtWidgets.QMenu() node = None if index.isValid(): node = self.asModelNode(index) top_actions = list() def_actions = list() if hasattr(self.parent(), '_parent_box'): if not self.parent()._parent_box: if self.permissions.has_permissions( role_string=self.role(), action=self.permissions.create_preset): presets_menu = self.menu.addMenu("Create preset... ") presets_menu.addAction( QtWidgets.QAction('From file...', presets_menu, triggered=functools.partial( self.parent().apply_preset, None))) presets_menu.addSeparator() for p in preset_editor.Preset_dialog.list_saved_presets(): presets_menu.addAction( QtWidgets.QAction(p[1], presets_menu, triggered=functools.partial( self.parent().apply_preset, p[0]))) self.menu.addSeparator() if node: if node.typeInfo() != cfg._component_: if self.permissions.has_permissions( role_string=self.role(), action=self.permissions.create_category): top_actions.append( QtWidgets.QAction("Create Category...", self.menu, triggered=functools.partial( self.create_catagory, node, index))) if self.permissions.has_permissions( role_string=self.role(), action=self.permissions.create_component): top_actions.append( QtWidgets.QAction("Create Component...", self.menu, triggered=functools.partial( self.create_component, node, index))) if self.permissions.has_permissions( role_string=self.role(), action=self.permissions.rename): top_actions.append( QtWidgets.QAction("Rename category...", self.menu, triggered=functools.partial( self.rename_catagory, node, index))) if self.permissions.has_permissions( role_string=self.role(), action=self.permissions.delete): top_actions.append( QtWidgets.QAction("Delete...", self.menu, triggered=functools.partial( self.delete, node, index))) def_actions.append( QtWidgets.QAction("Explore...", self.menu, triggered=functools.partial( self.explore, node))) if node.typeInfo() == cfg._component_: if self.permissions.has_permissions( role_string=self.role(), action=self.permissions.rename): top_actions.append( QtWidgets.QAction("Rename component...", self.menu, triggered=functools.partial( self.rename_component, node, index))) else: if not self.search_mode: if self.permissions.has_permissions( role_string=self.role(), action=self.permissions.create_category): top_actions.append( QtWidgets.QAction("Create Category...", self.menu, triggered=functools.partial( self.create_catagory, node))) if self.permissions.has_permissions( role_string=self.role(), action=self.permissions.create_component): top_actions.append( QtWidgets.QAction("Create Component...", self.menu, triggered=functools.partial( self.create_component, node))) def_actions.append( QtWidgets.QAction("Explore...", self.menu, triggered=functools.partial( self.explore, node))) else: event.accept() return self.menu.addActions(top_actions) self.menu.addSeparator() self.menu.addActions(def_actions) self.menu.setStyleSheet(self.css) self.menu.exec_(event.globalPos()) event.accept() return