From cb364743b80f4d7b863a604b24ce7c09efffbdb2 Mon Sep 17 00:00:00 2001 From: Edric Milaret <edric.ladent-milaret@savoirfairelinux.com> Date: Tue, 15 Mar 2016 16:45:16 -0400 Subject: [PATCH] ui: remember mainwindow size and pos on exit Change-Id: I82585c4567d620f4ced6e2864486e50ec77d3b35 Tuleap: #396 --- mainwindow.cpp | 12 +++++++++++- settingskey.h | 3 ++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/mainwindow.cpp b/mainwindow.cpp index bb5812c..2461ff4 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -80,7 +80,14 @@ MainWindow::MainWindow(QWidget* parent) : } #endif - resize(1054, 600); + QSettings settings; + QVariant size = settings.value(SettingsKey::savedSize); + QVariant pos = settings.value(SettingsKey::savedPos); + if (size.isValid() && pos.isValid()) { + resize(size.toSize()); + move(pos.toPoint()); + } else + resize(1054, 600); #ifdef ENABLE_AUTOUPDATE win_sparkle_set_appcast_url("http://gpl.savoirfairelinux.net/ring-download/windows/winsparkle-ring.xml"); @@ -192,5 +199,8 @@ MainWindow::closeEvent(QCloseEvent* event) if (settings.value(SettingsKey::closeOrMinimized).toBool()) { this->hide(); event->ignore(); + } else { + settings.setValue(SettingsKey::savedSize, size()); + settings.setValue(SettingsKey::savedPos, pos()); } } diff --git a/settingskey.h b/settingskey.h index 58080fb..0620901 100644 --- a/settingskey.h +++ b/settingskey.h @@ -22,7 +22,8 @@ namespace SettingsKey { constexpr static char closeOrMinimized[] = "closeOrMin"; constexpr static char autoAnswer[] = "autoAnswer"; - +constexpr static char savedSize[] = "savedSize"; +constexpr static char savedPos[] = "savedPos"; } #define accountAutoAnswer(A) (A+SettingsKey::autoAnswer) -- GitLab