StatusNotifierItem ("D-Bus tray icon") improvements
[quassel.git] / src / qtui / statusnotifieritem.h
index 3bed80f..ab2d218 100644 (file)
@@ -46,8 +46,12 @@ public:
   explicit StatusNotifierItem(QWidget *parent);
   virtual ~StatusNotifierItem();
 
+  virtual bool isSystemTrayAvailable() const;
+  virtual bool isVisible() const;
+
 public slots:
   virtual void setState(State state);
+  virtual void setVisible(bool visible);
   virtual void showMessage(const QString &title, const QString &message, MessageIcon icon = Information, int msTimeout = 10000, uint notificationId = 0);
   virtual void closeMessage(uint notificationId);
 
@@ -59,12 +63,15 @@ protected:
   QString iconName() const;
   QString attentionIconName() const;
   QString toolTipIconName() const;
+  QString iconThemePath() const;
+  QString menuObjectPath() const;
 
   virtual bool eventFilter(QObject *watched, QEvent *event);
 
 private slots:
   void activated(const QPoint &pos);
   void serviceChange(const QString& name, const QString& oldOwner, const QString& newOwner);
+  void checkForRegisteredHosts();
 
   void notificationClosed(uint id, uint reason);
   void notificationInvoked(uint id, const QString &action);
@@ -73,6 +80,7 @@ private:
   void registerToDaemon();
 
   static const int _protocolVersion;
+  static const QString _statusNotifierWatcherServiceName;
   StatusNotifierItemDBus *_statusNotifierItemDBus;
 
   org::kde::StatusNotifierWatcher *_statusNotifierWatcher;
@@ -81,6 +89,9 @@ private:
   quint32 _lastNotificationsDBusId;
   QHash<uint, uint> _notificationsIdMap; ///< Maps our own notification ID to the D-Bus one
 
+  QString _iconThemePath;
+  QString _menuObjectPath;
+
   friend class StatusNotifierItemDBus;
 };