From ef14fed3050d9d0cfca406e8f6e0daffad0cf586 Mon Sep 17 00:00:00 2001 From: Ilya Ashikhmin Date: Thu, 2 Jul 2026 23:39:31 +0200 Subject: [PATCH] feat(app): persist window geometry and dock layout across sessions Co-Authored-By: Claude Fable 5 --- src/app/MainWindow.cpp | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/src/app/MainWindow.cpp b/src/app/MainWindow.cpp index 41a4cda..186cccc 100644 --- a/src/app/MainWindow.cpp +++ b/src/app/MainWindow.cpp @@ -14,6 +14,7 @@ #include #include #include +#include #include #include @@ -68,6 +69,10 @@ MainWindow::MainWindow(QWidget* parent) : QMainWindow(parent) m_settings.load(); applySettings(m_settings); + + QSettings s; + restoreGeometry(s.value(QStringLiteral("window/geometry")).toByteArray()); + restoreState(s.value(QStringLiteral("window/state")).toByteArray()); } void MainWindow::buildActions() @@ -254,10 +259,14 @@ void MainWindow::runSimulation(bool enabled) void MainWindow::closeEvent(QCloseEvent* event) { - if (maybeSave()) - event->accept(); - else + if (!maybeSave()) { event->ignore(); + return; + } + QSettings s; + s.setValue(QStringLiteral("window/geometry"), saveGeometry()); + s.setValue(QStringLiteral("window/state"), saveState()); + event->accept(); } } // namespace diag