class SystemTray : public QObject {
Q_OBJECT
+ Q_ENUMS(State Mode MessageIcon ActivationReason)
public:
enum State {
MiddleClick
};
- SystemTray(QObject *parent = 0);
+ explicit SystemTray(QWidget *parent);
virtual ~SystemTray();
virtual void init() {}
virtual inline bool isSystemTrayAvailable() const;
void setAlert(bool alerted);
- inline void setInhibitActivation();
- inline bool isActivationInhibited() const;
+ virtual inline bool isVisible() const { return false; }
+
+ QWidget *associatedWidget() const;
public slots:
virtual void setState(State);
void toolTipChanged(const QString &title, const QString &subtitle);
void messageClicked();
+protected slots:
+ virtual void activate(SystemTray::ActivationReason = Trigger);
+
protected:
virtual void setMode(Mode mode);
inline Mode mode() const;
inline QMenu *trayMenu() const;
void setTrayMenu(QMenu *);
- virtual bool eventFilter(QObject *obj, QEvent *event);
-
private slots:
private:
Mode _mode;
State _state;
- bool _inhibitActivation;
-
QString _toolTipTitle, _toolTipSubTitle;
Icon _passiveIcon, _activeIcon, _needsAttentionIcon;
QMenu *_trayMenu;
+ QWidget *_associatedWidget;
};
// inlines
bool SystemTray::isSystemTrayAvailable() const { return false; }
bool SystemTray::isAlerted() const { return state() == NeedsAttention; }
-void SystemTray::setInhibitActivation() { _inhibitActivation = true; }
-bool SystemTray::isActivationInhibited() const { return _inhibitActivation; }
SystemTray::Mode SystemTray::mode() const { return _mode; }
SystemTray::State SystemTray::state() const { return _state; }
QMenu *SystemTray::trayMenu() const { return _trayMenu; }