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:
+1
-1
@@ -4,7 +4,7 @@
|
|||||||
<!-- Paket-Definition (ersetzt Product in v4) -->
|
<!-- Paket-Definition (ersetzt Product in v4) -->
|
||||||
<Package
|
<Package
|
||||||
Name="DocuMentor"
|
Name="DocuMentor"
|
||||||
Version="1.6.4"
|
Version="1.6.5"
|
||||||
Manufacturer="Vitali Graf / Software- und Datenbankentwicklung"
|
Manufacturer="Vitali Graf / Software- und Datenbankentwicklung"
|
||||||
UpgradeCode="F498B66C-726D-44AA-95F4-CB4FBDCEF26E"
|
UpgradeCode="F498B66C-726D-44AA-95F4-CB4FBDCEF26E"
|
||||||
Language="1031"
|
Language="1031"
|
||||||
|
|||||||
@@ -253,5 +253,5 @@ HINWEISE
|
|||||||
|
|
||||||
================================================================================
|
================================================================================
|
||||||
Stand: April 2026
|
Stand: April 2026
|
||||||
Erstellt für: DocuMentor v1.6.4
|
Erstellt für: DocuMentor v1.6.5
|
||||||
================================================================================
|
================================================================================
|
||||||
|
|||||||
+1
-1
@@ -10,7 +10,7 @@
|
|||||||
; Build-Befehl: iscc installer.iss
|
; Build-Befehl: iscc installer.iss
|
||||||
|
|
||||||
#define MyAppName "DocuMentor"
|
#define MyAppName "DocuMentor"
|
||||||
#define MyAppVersion "1.6.4"
|
#define MyAppVersion "1.6.5"
|
||||||
#define MyAppPublisher "Ihr Name/Organisation"
|
#define MyAppPublisher "Ihr Name/Organisation"
|
||||||
#define MyAppURL "https://github.com/yourusername/xsl-validator"
|
#define MyAppURL "https://github.com/yourusername/xsl-validator"
|
||||||
#define MyAppExeName "DocuMentor.exe"
|
#define MyAppExeName "DocuMentor.exe"
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
[project]
|
[project]
|
||||||
name = "DocuMentor"
|
name = "DocuMentor"
|
||||||
version = "1.6.4"
|
version = "1.6.5"
|
||||||
description = "Professionelle XSL-Transformations-Verwaltung und PDF-Generierung"
|
description = "Professionelle XSL-Transformations-Verwaltung und PDF-Generierung"
|
||||||
readme = "README.md"
|
readme = "README.md"
|
||||||
license = {text = "MIT"}
|
license = {text = "MIT"}
|
||||||
|
|||||||
@@ -59,12 +59,31 @@ class TreeManagerMixin:
|
|||||||
# Aktiviere Kontextmenü für das TreeWidget
|
# Aktiviere Kontextmenü für das TreeWidget
|
||||||
self.ui.treeWidget.setContextMenuPolicy(Qt.ContextMenuPolicy.CustomContextMenu)
|
self.ui.treeWidget.setContextMenuPolicy(Qt.ContextMenuPolicy.CustomContextMenu)
|
||||||
self.ui.treeWidget.customContextMenuRequested.connect(self._show_tree_context_menu)
|
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
|
# Verbinde Selection-Changed-Signal für automatisches Laden von Diff-PDFs
|
||||||
self.ui.treeWidget.itemSelectionChanged.connect(self._on_tree_selection_changed)
|
self.ui.treeWidget.itemSelectionChanged.connect(self._on_tree_selection_changed)
|
||||||
|
|
||||||
logger.debug("Kontextmenü und Selection-Handler für TreeWidget eingerichtet")
|
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):
|
def _show_tree_context_menu(self, position):
|
||||||
"""
|
"""
|
||||||
Zeigt das Kontextmenü für das TreeWidget an.
|
Zeigt das Kontextmenü für das TreeWidget an.
|
||||||
@@ -299,6 +318,17 @@ class TreeManagerMixin:
|
|||||||
|
|
||||||
if node_type == ItemType.TREE_NODE:
|
if node_type == ItemType.TREE_NODE:
|
||||||
# Kontextmenü für TreeNode
|
# 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 = QAction("Unterknoten hinzufügen", self)
|
||||||
action_add_child.setIcon(QIcon(QIcon.fromTheme("folder-new")))
|
action_add_child.setIcon(QIcon(QIcon.fromTheme("folder-new")))
|
||||||
action_add_child.triggered.connect(lambda: self._add_tree_node_child(item))
|
action_add_child.triggered.connect(lambda: self._add_tree_node_child(item))
|
||||||
@@ -341,11 +371,6 @@ class TreeManagerMixin:
|
|||||||
|
|
||||||
menu.addSeparator()
|
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 = QAction("Löschen", self)
|
||||||
action_delete.setIcon(QIcon(QIcon.fromTheme(QIcon.ThemeIcon.EditDelete)))
|
action_delete.setIcon(QIcon(QIcon.fromTheme(QIcon.ThemeIcon.EditDelete)))
|
||||||
action_delete.triggered.connect(lambda: self._delete_tree_node(item))
|
action_delete.triggered.connect(lambda: self._delete_tree_node(item))
|
||||||
@@ -353,6 +378,17 @@ class TreeManagerMixin:
|
|||||||
|
|
||||||
elif node_type == ItemType.XSL_FILE:
|
elif node_type == ItemType.XSL_FILE:
|
||||||
# Kontextmenü für XslFile
|
# 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 = QAction("XML-Datei hinzufügen", self)
|
||||||
action_add_xml.setIcon(QIcon(QIcon.fromTheme("document-new")))
|
action_add_xml.setIcon(QIcon(QIcon.fromTheme("document-new")))
|
||||||
action_add_xml.triggered.connect(lambda: self._add_xml_file_to_xsl(item))
|
action_add_xml.triggered.connect(lambda: self._add_xml_file_to_xsl(item))
|
||||||
@@ -397,11 +433,6 @@ class TreeManagerMixin:
|
|||||||
|
|
||||||
menu.addSeparator()
|
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 = QAction("Löschen", self)
|
||||||
action_delete.setIcon(QIcon(QIcon.fromTheme(QIcon.ThemeIcon.EditDelete)))
|
action_delete.setIcon(QIcon(QIcon.fromTheme(QIcon.ThemeIcon.EditDelete)))
|
||||||
action_delete.triggered.connect(lambda: self._delete_xsl_file(item))
|
action_delete.triggered.connect(lambda: self._delete_xsl_file(item))
|
||||||
@@ -409,6 +440,17 @@ class TreeManagerMixin:
|
|||||||
|
|
||||||
elif node_type == ItemType.XML_FILE:
|
elif node_type == ItemType.XML_FILE:
|
||||||
# Kontextmenü für XmlFile
|
# 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
|
# Transformations-Aktionen
|
||||||
action_transform = QAction("Transformieren", self)
|
action_transform = QAction("Transformieren", self)
|
||||||
action_transform.setIcon(QIcon(QIcon.fromTheme("system-run")))
|
action_transform.setIcon(QIcon(QIcon.fromTheme("system-run")))
|
||||||
@@ -422,11 +464,6 @@ class TreeManagerMixin:
|
|||||||
|
|
||||||
menu.addSeparator()
|
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 = QAction("Löschen", self)
|
||||||
action_delete.setIcon(QIcon(QIcon.fromTheme(QIcon.ThemeIcon.EditDelete)))
|
action_delete.setIcon(QIcon(QIcon.fromTheme(QIcon.ThemeIcon.EditDelete)))
|
||||||
action_delete.triggered.connect(lambda: self._delete_xml_file(item))
|
action_delete.triggered.connect(lambda: self._delete_xml_file(item))
|
||||||
|
|||||||
@@ -39,7 +39,7 @@ wheels = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "documentor"
|
name = "documentor"
|
||||||
version = "1.6.4"
|
version = "1.6.5"
|
||||||
source = { virtual = "." }
|
source = { virtual = "." }
|
||||||
dependencies = [
|
dependencies = [
|
||||||
{ name = "connectorx" },
|
{ name = "connectorx" },
|
||||||
|
|||||||
Reference in New Issue
Block a user