X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2Fstatusnotifieritemdbus.cpp;h=5e67e698a3ae86a71acdef7ebb74d6da06a8f0af;hp=430bd610078eeeba17445ba8ca9820e062a59150;hb=36e8b4acbff3f1830421d010b14e47da3d9ce61e;hpb=1b7cc9767b6f3aaf27475ab6fd853082f40d21ee diff --git a/src/qtui/statusnotifieritemdbus.cpp b/src/qtui/statusnotifieritemdbus.cpp index 430bd610..5e67e698 100644 --- a/src/qtui/statusnotifieritemdbus.cpp +++ b/src/qtui/statusnotifieritemdbus.cpp @@ -148,13 +148,30 @@ StatusNotifierItemDBus::StatusNotifierItemDBus(StatusNotifierItem *parent) { new StatusNotifierItemAdaptor(this); //qDebug() << "service is" << m_service; - m_dbus.registerService(m_service); + registerService(); m_dbus.registerObject("/StatusNotifierItem", this); } StatusNotifierItemDBus::~StatusNotifierItemDBus() { - m_dbus.unregisterService(m_service); + unregisterService(); +} + +// FIXME: prevent double registrations, also test this on platforms != KDE +// +void StatusNotifierItemDBus::registerService() +{ + //qDebug() << "registering to" << m_service; + m_dbus.registerService(m_service); +} + +// FIXME: see above +void StatusNotifierItemDBus::unregisterService() +{ + //qDebug() << "unregistering from" << m_service; + if(m_dbus.isConnected()) { + m_dbus.unregisterService(m_service); + } } QString StatusNotifierItemDBus::service() const @@ -181,7 +198,7 @@ QString StatusNotifierItemDBus::Id() const } QString StatusNotifierItemDBus::Status() const - { +{ return m_statusNotifierItem->metaObject()->enumerator(m_statusNotifierItem->metaObject()->indexOfEnumerator("State")).valueToKey(m_statusNotifierItem->state()); }