diff --git a/mainwindow.cpp b/mainwindow.cpp index bb5812c010d001ed9c7da3ff794b5d381175c7f7..2461ff40bba569d4028545d1ab0b17136914a50f 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 58080fb62482931676e90f47cd030233754f84a0..0620901c583fc64b2a44737e7095365e62af4977 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)