X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2Fmainwin.cpp;h=f31354c7f8bd8dd4fb11712731c2e9bae509d565;hp=487be1d3ef6e08e9011c2e88243a1dc1c9823bf7;hb=fed4298befe8e00a082b9f96bc166368faffb54b;hpb=419782afd8deeccb1fcd456fcdda2691aa11e406 diff --git a/src/qtui/mainwin.cpp b/src/qtui/mainwin.cpp index 487be1d3..f31354c7 100644 --- a/src/qtui/mainwin.cpp +++ b/src/qtui/mainwin.cpp @@ -212,15 +212,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); @@ -233,6 +236,8 @@ void MainWin::restoreStateFromSettings(UiSettings &s) { hideToTray(); else if(s.value("MainWinMinimized").toBool()) showMinimized(); + else if(maximized) + showMaximized(); else show(); } @@ -903,7 +908,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();