From 91fe597301d0674507ae5925483437f9b2ebcee5 Mon Sep 17 00:00:00 2001 From: Vitali Graf Date: Sat, 17 Jan 2026 20:22:42 +0100 Subject: [PATCH] Feature: XML-Knoten bei fehlenden Dateien deaktivieren MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Beim Laden des Projekts in den TreeWidget werden nun XML-Knoten automatisch deaktiviert (ausgegraut), wenn die entsprechende XML-Datei nicht im Projekt vorhanden ist. Dies verbessert die Benutzerfreundlichkeit durch sofortige visuelle Rückmeldung über fehlende Dateien. - XML-Knoten werden mit setDisabled(True) deaktiviert - Tooltip zeigt den vollständigen Pfad der fehlenden Datei - Warnung wird ins Log geschrieben Co-Authored-By: Claude Sonnet 4.5 --- src/ui/mixins/tree_manager.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/ui/mixins/tree_manager.py b/src/ui/mixins/tree_manager.py index b71a0f8..60333f6 100644 --- a/src/ui/mixins/tree_manager.py +++ b/src/ui/mixins/tree_manager.py @@ -593,6 +593,14 @@ class TreeManagerMixin: xsl_id_str = "_".join(str(x) for x in node.id) xml_item.setData(1, Qt.ItemDataRole.UserRole, xsl_id_str) + # Prüfe ob XML-Datei existiert und deaktiviere Knoten falls nicht + if hasattr(self, "project") and self.project: + xml_abs_path = self.project.project_dir / xml.xml + if not xml_abs_path.exists(): + xml_item.setDisabled(True) + xml_item.setToolTip(0, f"XML-Datei nicht gefunden: {xml_abs_path}") + logger.warning(f"XML-Datei nicht vorhanden: {xml_abs_path}") + item.addChild(xml_item) # Speichere XML-Item für spätere Widget-Updates (Progress Bar, Icon)