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') str: Der Node-Typ ('TreeNode', 'XslFile' oder 'Unknown')
""" """
try: try:
# Hole die gespeicherte Node-ID # Hole das gespeicherte Node-Objekt direkt
node_id = item.data(0, Qt.ItemDataRole.UserRole) node = item.data(0, Qt.ItemDataRole.UserRole)
if not node_id: if not node:
return "Unknown" return "Unknown"
# Suche in den Projekt-Nodes nach der ID # Bestimme den Typ direkt vom Node-Objekt
if hasattr(self, 'pdf_project') and self.pdf_project and self.pdf_project.nodes: if isinstance(node, TreeNode):
node = self._find_node_by_id(self.pdf_project.nodes, node_id) return "TreeNode"
if node: elif isinstance(node, XslFile):
if isinstance(node, TreeNode): return "XslFile"
return "TreeNode" elif isinstance(node, XmlFile):
elif isinstance(node, XslFile): return "XmlFile"
return "XslFile"
return "Unknown" return "Unknown"
@@ -1070,16 +1069,10 @@ class MainWindow(QMainWindow):
QMessageBox.warning(self, "Warnung", "Keine Projekt-Einstellungen geladen.") QMessageBox.warning(self, "Warnung", "Keine Projekt-Einstellungen geladen.")
return return
# Hole die XslFile-Node-ID aus dem TreeWidgetItem # Hole das XslFile-Node-Objekt direkt aus dem TreeWidgetItem
xsl_node_id = parent_item.data(0, Qt.ItemDataRole.UserRole) xsl_node = 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)
if not xsl_node or not isinstance(xsl_node, XslFile): 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 return
# Öffne Datei-Dialog zum Auswählen der XML-Datei # Öffne Datei-Dialog zum Auswählen der XML-Datei