Feature: Expand-Status von Tree-Knoten bei jedem Speichern persistent sichern

- ProjectData um optionales Feld 'expanded_nodes' erweitert (abwärtskompatibel)
- _save_project_settings() speichert nun automatisch den Expand-Status
- Expand-Status wird bei allen Speicheroperationen gesichert:
  * Beim Bearbeiten von TreeNodes und XslFiles
  * Bei Drag&Drop-Operationen im Tree
  * Bei Hash-Berechnungen für XML-Dateien
  * Beim Laden von Daten aus der Datenbank
  * Beim Beenden der Anwendung
- Beim Laden eines Projekts werden aufgeklappte Knoten wiederhergestellt
- Rekursive Speicherung und Wiederherstellung für TreeNode und XslFile
- Umfassendes Logging für Debugging und Fehlerbehandlung
This commit is contained in:
2026-02-01 15:44:55 +01:00
parent 0f14418749
commit e6b2743677
3 changed files with 113 additions and 0 deletions
+8
View File
@@ -964,6 +964,14 @@ class MainWindow(
# UI-Zustände speichern
self._save_ui_state()
# Speichere Projekt-Einstellungen inkl. Expand-Status (falls Projekt geladen)
if hasattr(self, "project") and self.project and hasattr(self, "pdf_project") and self.pdf_project:
try:
self._save_project_settings()
logger.info("Projekt-Einstellungen beim Beenden gespeichert")
except Exception as e:
logger.error(f"Fehler beim Speichern der Projekt-Einstellungen: {e}")
# Stoppe Hash-Berechnungs-Thread falls noch aktiv
if (
hasattr(self, "hash_calculator_thread")