X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2Fsystemtray.cpp;h=6b2b33cdf1ce68e8f122ae63527995c9814a6d6b;hp=9944823e1301ee4daaafee91039c473c1b3a64b6;hb=138bb708911ef06fa37859fa51bca5f47125ccdd;hpb=e7d1bc1fa02e1233f140e4b04d99ab8f4685bce5 diff --git a/src/qtui/systemtray.cpp b/src/qtui/systemtray.cpp index 9944823e..6b2b33cd 100644 --- a/src/qtui/systemtray.cpp +++ b/src/qtui/systemtray.cpp @@ -25,25 +25,33 @@ #include "client.h" #include "iconloader.h" #include "qtui.h" -#include "qtuisettings.h" -SystemTray::SystemTray(QObject *parent) +#ifdef HAVE_KDE +# include +# include +#endif + +SystemTray::SystemTray(QWidget *parent) : QObject(parent), _mode(Invalid), _state(Passive), - _inhibitActivation(false), _passiveIcon(DesktopIcon("quassel_inactive")), _activeIcon(DesktopIcon("quassel")), _needsAttentionIcon(DesktopIcon("quassel_message")), - _trayMenu(0) + _trayMenu(0), + _associatedWidget(parent) { - qApp->installEventFilter(this); + Q_ASSERT(parent); } SystemTray::~SystemTray() { _trayMenu->deleteLater(); } +QWidget *SystemTray::associatedWidget() const { + return _associatedWidget; +} + void SystemTray::setTrayMenu(QMenu *menu) { if(menu) _trayMenu = menu; @@ -59,7 +67,6 @@ void SystemTray::setTrayMenu(QMenu *menu) { _trayMenu->addSeparator(); _trayMenu->addAction(coll->action("Quit")); #endif /* HAVE_KDE */ - } void SystemTray::setMode(Mode mode_) { @@ -119,10 +126,6 @@ void SystemTray::showMessage(const QString &title, const QString &message, Messa Q_UNUSED(millisecondsTimeoutHint) } -bool SystemTray::eventFilter(QObject *obj, QEvent *event) { - Q_UNUSED(obj); - if(event->type() == QEvent::MouseButtonRelease) { - _inhibitActivation = false; - } - return false; +void SystemTray::activate(SystemTray::ActivationReason reason) { + emit activated(reason); }