X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2Fsystemtray.h;h=d98bf46eb96387cc50017f38387cbad4000f9b90;hp=1e811cd8cea76a386e415abbbe814d23f4d1e59b;hb=6f442c275cc5a2d5f1084ac2ceca5f1ffce1d024;hpb=308e090392713b0fa2e402156fbae2fa74cab96a diff --git a/src/qtui/systemtray.h b/src/qtui/systemtray.h index 1e811cd8..d98bf46e 100644 --- a/src/qtui/systemtray.h +++ b/src/qtui/systemtray.h @@ -21,7 +21,12 @@ #ifndef SYSTEMTRAY_H_ #define SYSTEMTRAY_H_ -#include +#ifdef HAVE_KDE +# include +#else +# include +#endif + #include #include "icon.h" @@ -39,8 +44,9 @@ public: ~SystemTray(); inline bool isSystemTrayAvailable() const; - Icon icon() const; - QString toolTip() const; + inline bool isAlerted() const; + + inline void setInhibitActivation(); public slots: void setState(State); @@ -50,22 +56,31 @@ public slots: void showMessage(const QString &title, const QString &message, QSystemTrayIcon::MessageIcon icon = QSystemTrayIcon::Information, int millisecondsTimeoutHint = 10000); - signals: void activated(QSystemTrayIcon::ActivationReason); void iconChanged(const Icon &); void messageClicked(); +protected: + bool eventFilter(QObject *obj, QEvent *event); + private slots: void nextPhase(); + void on_activated(QSystemTrayIcon::ActivationReason); private: void loadAnimations(); +#ifdef HAVE_KDE + KSystemTrayIcon *_trayIcon; +#else QSystemTrayIcon *_trayIcon; +#endif + QMenu *_trayMenu; State _state; bool _alert; + bool _inhibitActivation; int _idxOffStart, _idxOffEnd, _idxOnStart, _idxOnEnd, _idxAlertStart; int _currentIdx; @@ -77,5 +92,7 @@ private: // inlines bool SystemTray::isSystemTrayAvailable() const { return QSystemTrayIcon::isSystemTrayAvailable(); } +bool SystemTray::isAlerted() const { return _alert; } +void SystemTray::setInhibitActivation() { _inhibitActivation = true; } #endif