/***************************************************************************
- * Copyright (C) 2005-2010 by the Quassel Project *
+ * Copyright (C) 2005-2012 by the Quassel Project *
* devel@quassel-irc.org *
* *
* This program is free software; you can redistribute it and/or modify *
Q_OBJECT
public:
- LegacySystemTray(QObject *parent = 0);
+ explicit LegacySystemTray(QWidget *parent);
virtual ~LegacySystemTray() {}
virtual void init();
+ virtual bool isVisible() const;
virtual inline bool isSystemTrayAvailable() const;
virtual Icon stateIcon() const; // overriden to care about blinkState
public slots:
virtual void setState(State state);
virtual void setVisible(bool visible = true);
- virtual void showMessage(const QString &title, const QString &message, MessageIcon icon = Information, int millisecondsTimeoutHint = 10000);
+ virtual void showMessage(const QString &title, const QString &message, MessageIcon icon = Information, int msTimeout = 10000, uint notificationId = 0);
+ virtual void closeMessage(uint notificationId);
+
+protected slots:
protected:
virtual void setMode(Mode mode);
private slots:
void on_blinkTimeout();
void on_activated(QSystemTrayIcon::ActivationReason);
+ void on_messageClicked();
-private:
void syncLegacyIcon();
+private:
QTimer _blinkTimer;
bool _blinkState;
- bool _isVisible;
+ uint _lastMessageId;
#ifdef HAVE_KDE
KSystemTrayIcon *_trayIcon;
// inlines
-bool LegacySystemTray::isSystemTrayAvailable() const { return QSystemTrayIcon::isSystemTrayAvailable(); }
+bool LegacySystemTray::isSystemTrayAvailable() const {
+ return mode() == Legacy ? QSystemTrayIcon::isSystemTrayAvailable()
+ : SystemTray::isSystemTrayAvailable();
+}
#endif /* QT_NO_SYSTEMTRAYICON */