Kontexrmenü für neues Root-Element im Baum

This commit is contained in:
2025-08-03 17:04:23 +02:00
parent 253e4fa01d
commit 719d4b34e7
+19 -9
View File
@@ -555,14 +555,16 @@ class MainWindow(QMainWindow):
"""
# Hole das Item an der Position
item = self.ui.treeWidget.itemAt(position)
if not item:
return
# Bestimme den Node-Typ basierend auf dem Item
node_type = self._get_node_type_from_item(item)
# Erstelle das entsprechende Kontextmenü
context_menu = self._create_context_menu_for_type(node_type, item)
# Kein Item gefunden - zeige Kontextmenü für Root-Elemente
node_type = "Unknown"
context_menu = self._create_context_menu_for_type(node_type, None)
else:
# Bestimme den Node-Typ basierend auf dem Item
node_type = self._get_node_type_from_item(item)
# Erstelle das entsprechende Kontextmenü
context_menu = self._create_context_menu_for_type(node_type, item)
if context_menu:
# Zeige das Kontextmenü an der globalen Position
@@ -720,8 +722,10 @@ class MainWindow(QMainWindow):
menu.addAction(action_delete)
else:
# Unbekannter Typ - kein Menü
return None
# Unbekannter Typ oder leerer Bereich - Menü für Root-Elemente
action_add_tree_node = QAction("Unterknoten hinzufügen", self)
action_add_tree_node.triggered.connect(lambda: self._add_root_tree_node())
menu.addAction(action_add_tree_node)
return menu
@@ -1040,6 +1044,12 @@ class MainWindow(QMainWindow):
print(f"XmlFile löschen: {item.text(0)}")
# TODO: Bestätigungsdialog und Löschung implementieren
# Kontextmenü-Aktionen für Root-Elemente (Unbekannter Typ)
def _add_root_tree_node(self):
"""Fügt einen neuen TreeNode als Root-Element hinzu."""
print("Neuen TreeNode als Root-Element hinzufügen")
# TODO: Dialog zum Eingeben der TreeNode-Daten öffnen
def closeEvent(self, event):
"""Wird beim Schließen der Anwendung aufgerufen."""
# PDF-Dokumente schließen ist bei QtPdf automatisch durch Garbage Collection