X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fuisupport%2Fgraphicalui.cpp;h=c2422b3e5dcfa6d499369774a108ba1cd2f2806b;hb=f7de6cee3148bc799ee20cd9def47d9e5703d66c;hp=f9a357412421f373bd725c9286760010011403be;hpb=8a0d40791b63681ae500f6497a06fdd3f6b085ba;p=quassel.git diff --git a/src/uisupport/graphicalui.cpp b/src/uisupport/graphicalui.cpp index f9a35741..c2422b3e 100644 --- a/src/uisupport/graphicalui.cpp +++ b/src/uisupport/graphicalui.cpp @@ -25,6 +25,7 @@ #include "actioncollection.h" #include "contextmenuactionprovider.h" +#include "toolbaractionprovider.h" #ifdef Q_WS_X11 # include @@ -57,12 +58,6 @@ void GraphicalUi::init() { #endif } -GraphicalUi::~GraphicalUi() { -#ifdef Q_WS_WIN - mainWidget()->removeEventFilter(this); -#endif -} - ActionCollection *GraphicalUi::actionCollection(const QString &category) { if(_actionCollections.contains(category)) return _actionCollections.value(category); @@ -89,6 +84,12 @@ void GraphicalUi::setUiStyle(UiStyle *style) { _uiStyle = style; } +void GraphicalUi::disconnectedFromCore() { + _contextMenuActionProvider->disconnectedFromCore(); + _toolBarActionProvider->disconnectedFromCore(); + AbstractUi::disconnectedFromCore(); +} + bool GraphicalUi::eventFilter(QObject *obj, QEvent *event) { #ifdef Q_WS_WIN if(obj == mainWidget() && event->type() == QEvent::ActivationChange) { @@ -107,9 +108,13 @@ bool GraphicalUi::checkMainWidgetVisibility(bool perform) { // therefore we watch for activation event and use our stopwatch :) if(GetTickCount() - _dwTickCount < 300) { // we were active in the last 300ms -> hide it - minimizeRestore(false); + if(perform) + minimizeRestore(false); + return false; } else { - minimizeRestore(true); + if(perform) + minimizeRestore(true); + return true; } #elif defined(HAVE_KDE) && defined(Q_WS_X11) @@ -188,6 +193,10 @@ bool GraphicalUi::checkMainWidgetVisibility(bool perform) { return true; } +bool GraphicalUi::isMainWidgetVisible() { + return !instance()->checkMainWidgetVisibility(false); +} + void GraphicalUi::minimizeRestore(bool show) { if(show) activateMainWidget();