From: Manuel Nickschas Date: Tue, 26 May 2009 20:40:55 +0000 (+0200) Subject: Fix restoring maximized state at restart on Windows X-Git-Tag: 0.4.3~10 X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=commitdiff_plain;h=a40c49fe41ddb65bcf77a0a192f16aa64ac6204e Fix restoring maximized state at restart on Windows --- 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();