UI-Zustand beim Schließen speichern und beim Start wiederherstellen
Fenstergeometrie, Splitter-Positionen und TreeWidget-Spaltenbreiten werden jetzt in der Konfiguration gespeichert und beim nächsten Start automatisch wiederhergestellt. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -263,6 +263,28 @@ class MainWindow(QMainWindow):
|
||||
# Drag&Drop für TreeWidget aktivieren
|
||||
self._setup_drag_drop()
|
||||
|
||||
# Gespeicherte UI-Zustände wiederherstellen
|
||||
self._restore_ui_state()
|
||||
|
||||
def _restore_ui_state(self):
|
||||
"""Stellt die gespeicherten UI-Zustände wieder her (Fenstergeometrie, Splitter, TreeWidget-Spalten)."""
|
||||
global app_settings
|
||||
|
||||
# Fenstergeometrie wiederherstellen
|
||||
if app_settings.window_geometry:
|
||||
x, y, width, height = app_settings.window_geometry
|
||||
self.setGeometry(x, y, width, height)
|
||||
|
||||
# Splitter-Positionen wiederherstellen
|
||||
if app_settings.splitter_sizes:
|
||||
self.ui.splitter.setSizes(app_settings.splitter_sizes)
|
||||
|
||||
# TreeWidget-Spaltenbreiten wiederherstellen
|
||||
if app_settings.tree_column_widths:
|
||||
for col_idx, width in enumerate(app_settings.tree_column_widths):
|
||||
if col_idx < self.ui.treeWidget.columnCount():
|
||||
self.ui.treeWidget.setColumnWidth(col_idx, width)
|
||||
|
||||
def _setup_theme_menu(self):
|
||||
"""Initialisiert das Theme-Menü mit verfügbaren Themes."""
|
||||
# Hole alle verfügbaren Themes
|
||||
@@ -3556,6 +3578,9 @@ class MainWindow(QMainWindow):
|
||||
|
||||
def closeEvent(self, event):
|
||||
"""Wird beim Schließen der Anwendung aufgerufen."""
|
||||
# UI-Zustände speichern
|
||||
self._save_ui_state()
|
||||
|
||||
# Stoppe Hash-Berechnungs-Thread falls noch aktiv
|
||||
if (
|
||||
hasattr(self, "hash_calculator_thread")
|
||||
@@ -3576,3 +3601,21 @@ class MainWindow(QMainWindow):
|
||||
|
||||
# PDF-Dokumente schließen ist bei QtPdf automatisch durch Garbage Collection
|
||||
super().closeEvent(event)
|
||||
|
||||
def _save_ui_state(self):
|
||||
"""Speichert die aktuellen UI-Zustände (Fenstergeometrie, Splitter, TreeWidget-Spalten)."""
|
||||
global app_settings
|
||||
|
||||
# Fenstergeometrie speichern
|
||||
geometry = self.geometry()
|
||||
app_settings.window_geometry = (geometry.x(), geometry.y(), geometry.width(), geometry.height())
|
||||
|
||||
# Splitter-Positionen speichern
|
||||
app_settings.splitter_sizes = self.ui.splitter.sizes()
|
||||
|
||||
# TreeWidget-Spaltenbreiten speichern
|
||||
column_count = self.ui.treeWidget.columnCount()
|
||||
app_settings.tree_column_widths = [self.ui.treeWidget.columnWidth(i) for i in range(column_count)]
|
||||
|
||||
# Konfiguration speichern
|
||||
app_settings.save()
|
||||
|
||||
Reference in New Issue
Block a user