X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fuisupport%2Fgraphicalui.cpp;h=3a4fae98d369be9d42e7d31f06f3face942c157b;hb=28107860d0c324fa015477299853c4060bb5403e;hp=0fb34b04292650c25f2767c06ba512ca9139028d;hpb=1cb02004ee5973b89368bd84f234d4652794690d;p=quassel.git diff --git a/src/uisupport/graphicalui.cpp b/src/uisupport/graphicalui.cpp index 0fb34b04..3a4fae98 100644 --- a/src/uisupport/graphicalui.cpp +++ b/src/uisupport/graphicalui.cpp @@ -52,6 +52,9 @@ GraphicalUi::GraphicalUi(QObject *parent) : AbstractUi(parent) #ifdef Q_OS_WIN _dwTickCount = 0; #endif +#ifdef Q_OS_MAC + GetFrontProcess(&_procNum); +#endif } @@ -146,6 +149,9 @@ bool GraphicalUi::eventFilter(QObject *obj, QEvent *event) } +// NOTE: Window activation stuff seems to work just fine in Plasma 5 without requiring X11 hacks. +// TODO: Evaluate cleaning all this up once we can get rid of Qt4/KDE4 + // Code taken from KStatusNotifierItem for handling minimize/restore bool GraphicalUi::checkMainWidgetVisibility(bool perform) @@ -296,9 +302,13 @@ void GraphicalUi::activateMainWidget() // this does not actually work on all platforms... and causes more evil than good // mainWidget()->move(mainWidget()->frameGeometry().topLeft()); // avoid placement policies +#ifdef Q_OS_MAC + SetFrontProcess(&instance()->_procNum); +#else mainWidget()->show(); mainWidget()->raise(); mainWidget()->activateWindow(); +#endif #endif /* HAVE_KDE4 */ } @@ -312,7 +322,11 @@ void GraphicalUi::hideMainWidget() #endif if (instance()->isHidingMainWidgetAllowed()) +#ifdef Q_OS_MAC + ShowHideProcess(&instance()->_procNum, false); +#else mainWidget()->hide(); +#endif }