X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fqtui%2Fstatusnotifieritemdbus.h;h=9eb6e22d32fcf20ad394fe9ba2d027593d573873;hb=2c8434f74c68194d56f2084f637419123e61d18b;hp=670a7c765b8138393ad8e69eb38167112a0644ff;hpb=b858144c9d38623bdd9afaa02c404d9515243ab7;p=quassel.git diff --git a/src/qtui/statusnotifieritemdbus.h b/src/qtui/statusnotifieritemdbus.h index 670a7c76..9eb6e22d 100644 --- a/src/qtui/statusnotifieritemdbus.h +++ b/src/qtui/statusnotifieritemdbus.h @@ -4,9 +4,9 @@ * Quasselfied 2010 by Manuel Nickschas * * * * This file is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * + * it under the terms of the GNU Library General Public License (LGPL) * + * as published by the Free Software Foundation; either version 2 of the * + * License, or (at your option) any later version. * * * * This program is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * @@ -16,7 +16,7 @@ * You should have received a copy of the GNU General Public License * * along with this program; if not, write to the * * Free Software Foundation, Inc., * - * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * ***************************************************************************/ #ifndef STATUSNOTIFIERITEMDBUS_H_ @@ -35,7 +35,7 @@ struct DBusImageStruct { QByteArray data; }; -typedef QVector DBusImageVector; +using DBusImageVector = QVector; struct DBusToolTipStruct { QString icon; @@ -63,11 +63,28 @@ class StatusNotifierItemDBus : public QObject Q_PROPERTY(DBusImageVector AttentionIconPixmap READ AttentionIconPixmap) Q_PROPERTY(QString AttentionMovieName READ AttentionMovieName) Q_PROPERTY(DBusToolTipStruct ToolTip READ ToolTip) + Q_PROPERTY(QString IconThemePath READ IconThemePath) + Q_PROPERTY(QDBusObjectPath Menu READ Menu) friend class StatusNotifierItem; public: StatusNotifierItemDBus(StatusNotifierItem *parent); - ~StatusNotifierItemDBus(); + ~StatusNotifierItemDBus() override; + + /** + * @return the dbus connection used by this object + */ + QDBusConnection dbusConnection() const; + + /** + * Register the StatusNotifierItem to DBus + */ + void registerTrayIcon(); + + /** + * Unregister the StatusNotifierItem from DBus + */ + void unregisterTrayIcon(); /** * @return the service this object is registered on the bus under @@ -145,8 +162,17 @@ public: */ DBusToolTipStruct ToolTip() const; + /** + * @return path to extra icon theme, to load application specific icons + */ + QString IconThemePath() const; + + /** + * @return object path to the dbusmenu object + */ + QDBusObjectPath Menu() const; -public Q_SLOTS: +public slots: //interaction /** * Shows the context menu associated to this item @@ -170,7 +196,7 @@ public Q_SLOTS: */ void Scroll(int delta, const QString &orientation); -Q_SIGNALS: +signals: /** * Inform the systemtray that the own main icon has been changed, * so should be reloaded @@ -201,7 +227,6 @@ Q_SIGNALS: private: StatusNotifierItem *m_statusNotifierItem; - QString m_service; QDBusConnection m_dbus; static int s_serviceCount; };