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)