Version 1.6.5: 'Bearbeiten' als Standard-Aktion im Tree-Kontextmenü
Der Menüpunkt 'Bearbeiten' steht nun ganz oben im Kontextmenü aller Knotentypen (TreeNode, XslFile, XmlFile), wird fett dargestellt und öffnet sich per Doppelklick auf den jeweiligen Knoten. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -59,12 +59,31 @@ class TreeManagerMixin:
|
||||
# Aktiviere Kontextmenü für das TreeWidget
|
||||
self.ui.treeWidget.setContextMenuPolicy(Qt.ContextMenuPolicy.CustomContextMenu)
|
||||
self.ui.treeWidget.customContextMenuRequested.connect(self._show_tree_context_menu)
|
||||
self.ui.treeWidget.itemDoubleClicked.connect(self._on_tree_item_double_clicked)
|
||||
|
||||
# Verbinde Selection-Changed-Signal für automatisches Laden von Diff-PDFs
|
||||
self.ui.treeWidget.itemSelectionChanged.connect(self._on_tree_selection_changed)
|
||||
|
||||
logger.debug("Kontextmenü und Selection-Handler für TreeWidget eingerichtet")
|
||||
|
||||
def _on_tree_item_double_clicked(self, item, column):
|
||||
"""
|
||||
Behandelt Doppelklick auf ein TreeWidget-Item, indem die Bearbeiten-Aktion ausgeführt wird.
|
||||
|
||||
Args:
|
||||
item: Das angeklickte TreeWidgetItem
|
||||
column: Die Spalte des Doppelklicks
|
||||
"""
|
||||
if item.isDisabled():
|
||||
return
|
||||
node_type = self._get_node_type_from_item(item)
|
||||
if node_type == ItemType.TREE_NODE:
|
||||
self._edit_tree_node(item)
|
||||
elif node_type == ItemType.XSL_FILE:
|
||||
self._edit_xsl_file(item)
|
||||
elif node_type == ItemType.XML_FILE:
|
||||
self._edit_xml_file(item)
|
||||
|
||||
def _show_tree_context_menu(self, position):
|
||||
"""
|
||||
Zeigt das Kontextmenü für das TreeWidget an.
|
||||
@@ -299,6 +318,17 @@ class TreeManagerMixin:
|
||||
|
||||
if node_type == ItemType.TREE_NODE:
|
||||
# Kontextmenü für TreeNode
|
||||
action_edit = QAction("Bearbeiten", self)
|
||||
action_edit.setIcon(QIcon(QIcon.fromTheme(QIcon.ThemeIcon.DocumentProperties)))
|
||||
action_edit.triggered.connect(lambda: self._edit_tree_node(item))
|
||||
font = action_edit.font()
|
||||
font.setBold(True)
|
||||
action_edit.setFont(font)
|
||||
menu.addAction(action_edit)
|
||||
menu.setDefaultAction(action_edit)
|
||||
|
||||
menu.addSeparator()
|
||||
|
||||
action_add_child = QAction("Unterknoten hinzufügen", self)
|
||||
action_add_child.setIcon(QIcon(QIcon.fromTheme("folder-new")))
|
||||
action_add_child.triggered.connect(lambda: self._add_tree_node_child(item))
|
||||
@@ -341,11 +371,6 @@ class TreeManagerMixin:
|
||||
|
||||
menu.addSeparator()
|
||||
|
||||
action_edit = QAction("Bearbeiten", self)
|
||||
action_edit.setIcon(QIcon(QIcon.fromTheme(QIcon.ThemeIcon.DocumentProperties)))
|
||||
action_edit.triggered.connect(lambda: self._edit_tree_node(item))
|
||||
menu.addAction(action_edit)
|
||||
|
||||
action_delete = QAction("Löschen", self)
|
||||
action_delete.setIcon(QIcon(QIcon.fromTheme(QIcon.ThemeIcon.EditDelete)))
|
||||
action_delete.triggered.connect(lambda: self._delete_tree_node(item))
|
||||
@@ -353,6 +378,17 @@ class TreeManagerMixin:
|
||||
|
||||
elif node_type == ItemType.XSL_FILE:
|
||||
# Kontextmenü für XslFile
|
||||
action_edit = QAction("Bearbeiten", self)
|
||||
action_edit.setIcon(QIcon(QIcon.fromTheme(QIcon.ThemeIcon.DocumentProperties)))
|
||||
action_edit.triggered.connect(lambda: self._edit_xsl_file(item))
|
||||
font = action_edit.font()
|
||||
font.setBold(True)
|
||||
action_edit.setFont(font)
|
||||
menu.addAction(action_edit)
|
||||
menu.setDefaultAction(action_edit)
|
||||
|
||||
menu.addSeparator()
|
||||
|
||||
action_add_xml = QAction("XML-Datei hinzufügen", self)
|
||||
action_add_xml.setIcon(QIcon(QIcon.fromTheme("document-new")))
|
||||
action_add_xml.triggered.connect(lambda: self._add_xml_file_to_xsl(item))
|
||||
@@ -397,11 +433,6 @@ class TreeManagerMixin:
|
||||
|
||||
menu.addSeparator()
|
||||
|
||||
action_edit = QAction("Bearbeiten", self)
|
||||
action_edit.setIcon(QIcon(QIcon.fromTheme(QIcon.ThemeIcon.DocumentProperties)))
|
||||
action_edit.triggered.connect(lambda: self._edit_xsl_file(item))
|
||||
menu.addAction(action_edit)
|
||||
|
||||
action_delete = QAction("Löschen", self)
|
||||
action_delete.setIcon(QIcon(QIcon.fromTheme(QIcon.ThemeIcon.EditDelete)))
|
||||
action_delete.triggered.connect(lambda: self._delete_xsl_file(item))
|
||||
@@ -409,6 +440,17 @@ class TreeManagerMixin:
|
||||
|
||||
elif node_type == ItemType.XML_FILE:
|
||||
# Kontextmenü für XmlFile
|
||||
action_edit = QAction("Bearbeiten", self)
|
||||
action_edit.setIcon(QIcon(QIcon.fromTheme(QIcon.ThemeIcon.DocumentProperties)))
|
||||
action_edit.triggered.connect(lambda: self._edit_xml_file(item))
|
||||
font = action_edit.font()
|
||||
font.setBold(True)
|
||||
action_edit.setFont(font)
|
||||
menu.addAction(action_edit)
|
||||
menu.setDefaultAction(action_edit)
|
||||
|
||||
menu.addSeparator()
|
||||
|
||||
# Transformations-Aktionen
|
||||
action_transform = QAction("Transformieren", self)
|
||||
action_transform.setIcon(QIcon(QIcon.fromTheme("system-run")))
|
||||
@@ -422,11 +464,6 @@ class TreeManagerMixin:
|
||||
|
||||
menu.addSeparator()
|
||||
|
||||
action_edit = QAction("Bearbeiten", self)
|
||||
action_edit.setIcon(QIcon(QIcon.fromTheme(QIcon.ThemeIcon.DocumentProperties)))
|
||||
action_edit.triggered.connect(lambda: self._edit_xml_file(item))
|
||||
menu.addAction(action_edit)
|
||||
|
||||
action_delete = QAction("Löschen", self)
|
||||
action_delete.setIcon(QIcon(QIcon.fromTheme(QIcon.ThemeIcon.EditDelete)))
|
||||
action_delete.triggered.connect(lambda: self._delete_xml_file(item))
|
||||
|
||||
Reference in New Issue
Block a user