Kontextmenü ist repariert

This commit is contained in:
2025-08-12 21:13:00 +02:00
parent b69b8755a8
commit 47f361e3ba
+13 -20
View File
@@ -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