X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fuisupport%2Fgraphicalui.cpp;h=33b0d87b9f9d35df8abd98d1479e4a0453b3bc6d;hb=ba3f171f93c522212aee15eb5ce23db4dca6e359;hp=73affbf7a0371f87b5c8bc6b6fc7d0cabe6df959;hpb=c1cf157116de7fc3da96203aa6f03c38c7ebb650;p=quassel.git diff --git a/src/uisupport/graphicalui.cpp b/src/uisupport/graphicalui.cpp index 73affbf7..33b0d87b 100644 --- a/src/uisupport/graphicalui.cpp +++ b/src/uisupport/graphicalui.cpp @@ -144,38 +144,26 @@ bool GraphicalUi::eventFilter(QObject* obj, QEvent* event) bool GraphicalUi::checkMainWidgetVisibility(bool perform) { + bool needsActivation{true}; + #ifdef Q_OS_WIN // the problem is that we lose focus when the systray icon is activated // and we don't know the former active window // therefore we watch for activation event and use our stopwatch :) if (GetTickCount() - _dwTickCount < 300) { // we were active in the last 300ms -> hide it - if (perform) - minimizeRestore(false); - return false; - } - else { - if (perform) - minimizeRestore(true); - return true; + needsActivation = false; } - #else - - if (!mainWidget()->isVisible() || mainWidget()->isMinimized() || !mainWidget()->isActiveWindow()) { - if (perform) - minimizeRestore(true); - return true; + if (mainWidget()->isVisible() && !mainWidget()->isMinimized() && mainWidget()->isActiveWindow()) { + needsActivation = false; } - else { - if (perform) - minimizeRestore(false); - return false; - } - #endif - return true; + if (perform) { + minimizeRestore(needsActivation); + } + return needsActivation; } bool GraphicalUi::isMainWidgetVisible()