From 47f361e3babf301a9f58b096795f8077267aa706 Mon Sep 17 00:00:00 2001 From: Vitali Graf Date: Tue, 12 Aug 2025 21:13:00 +0200 Subject: [PATCH] =?UTF-8?q?Kontextmen=C3=BC=20ist=20repariert?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/ui/MainWindow.py | 33 +++++++++++++-------------------- 1 file changed, 13 insertions(+), 20 deletions(-) diff --git a/src/ui/MainWindow.py b/src/ui/MainWindow.py index 2700531..1b62bd6 100644 --- a/src/ui/MainWindow.py +++ b/src/ui/MainWindow.py @@ -631,19 +631,18 @@ class MainWindow(QMainWindow): str: Der Node-Typ ('TreeNode', 'XslFile' oder 'Unknown') """ try: - # Hole die gespeicherte Node-ID - node_id = item.data(0, Qt.ItemDataRole.UserRole) - if not node_id: + # Hole das gespeicherte Node-Objekt direkt + node = item.data(0, Qt.ItemDataRole.UserRole) + if not node: return "Unknown" - # Suche in den Projekt-Nodes nach der ID - if hasattr(self, 'pdf_project') and self.pdf_project and self.pdf_project.nodes: - node = self._find_node_by_id(self.pdf_project.nodes, node_id) - if node: - if isinstance(node, TreeNode): - return "TreeNode" - elif isinstance(node, XslFile): - return "XslFile" + # Bestimme den Typ direkt vom Node-Objekt + if isinstance(node, TreeNode): + return "TreeNode" + elif isinstance(node, XslFile): + return "XslFile" + elif isinstance(node, XmlFile): + return "XmlFile" return "Unknown" @@ -1070,16 +1069,10 @@ class MainWindow(QMainWindow): QMessageBox.warning(self, "Warnung", "Keine Projekt-Einstellungen geladen.") return - # Hole die XslFile-Node-ID aus dem TreeWidgetItem - xsl_node_id = parent_item.data(0, Qt.ItemDataRole.UserRole) - if not xsl_node_id: - QMessageBox.warning(self, "Warnung", "Keine Node-ID gefunden für das ausgewählte Element.") - return - - # Finde den XslFile-Node in den Projekt-Daten - xsl_node = self._find_node_by_id(self.pdf_project.nodes, xsl_node_id) + # Hole das XslFile-Node-Objekt direkt aus dem TreeWidgetItem + xsl_node = parent_item.data(0, Qt.ItemDataRole.UserRole) if not xsl_node or not isinstance(xsl_node, XslFile): - QMessageBox.warning(self, "Warnung", "XSL-Datei-Node nicht gefunden oder falscher Typ.") + QMessageBox.warning(self, "Warnung", "Keine gültige XSL-Datei-Node gefunden.") return # Öffne Datei-Dialog zum Auswählen der XML-Datei