From a40c49fe41ddb65bcf77a0a192f16aa64ac6204e Mon Sep 17 00:00:00 2001 From: Manuel Nickschas Date: Tue, 26 May 2009 22:40:55 +0200 Subject: [PATCH] Fix restoring maximized state at restart on Windows --- src/qtui/mainwin.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/qtui/mainwin.cpp b/src/qtui/mainwin.cpp index 8578ad0d..01b63753 100644 --- a/src/qtui/mainwin.cpp +++ b/src/qtui/mainwin.cpp @@ -206,15 +206,18 @@ void MainWin::saveStateToSettings(UiSettings &s) { s.setValue("MainWinState", saveState()); s.setValue("MainWinGeometry", saveGeometry()); s.setValue("MainWinMinimized", isMinimized()); + s.setValue("MainWinMaximized", isMaximized()); s.setValue("MainWinHidden", _isHidden); } void MainWin::restoreStateFromSettings(UiSettings &s) { _normalSize = s.value("MainWinSize", size()).toSize(); _normalPos = s.value("MainWinPos", pos()).toPoint(); + bool maximized = s.value("MainWinMaximized", false).toBool(); restoreGeometry(s.value("MainWinGeometry").toByteArray()); - if(isMaximized()) { + + if(maximized) { // restoreGeometry() fails if the windows was maximized, so we resize and position explicitly resize(_normalSize); move(_normalPos); @@ -227,6 +230,8 @@ void MainWin::restoreStateFromSettings(UiSettings &s) { hideToTray(); else if(s.value("MainWinMinimized").toBool()) showMinimized(); + else if(maximized) + showMaximized(); else show(); } @@ -851,7 +856,8 @@ void MainWin::forceActivated() { setWindowState((windowState() & ~Qt::WindowMinimized) | Qt::WindowActive); } - move(frameGeometry().topLeft()); // avoid placement policies + // this does not actually work on all platforms... and causes more evil than good + // move(frameGeometry().topLeft()); // avoid placement policies show(); raise(); activateWindow(); -- 2.20.1