X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2Fstatusnotifieritemdbus.cpp;h=e13af94af861855265bc9472566cc20970f24f20;hp=2be232838510ebfc9491397e09ecb1dfc7b2de27;hb=20745bd0cbae035b84913127dfec9e8433d1282d;hpb=b65b9f7615165e8700a44d59b7275a55558dd45b diff --git a/src/qtui/statusnotifieritemdbus.cpp b/src/qtui/statusnotifieritemdbus.cpp index 2be23283..e13af94a 100644 --- a/src/qtui/statusnotifieritemdbus.cpp +++ b/src/qtui/statusnotifieritemdbus.cpp @@ -24,17 +24,11 @@ #include "statusnotifieritemdbus.h" #include "statusnotifieritem.h" +#include #include -#include #include -#include #include -#include - -#ifdef HAVE_KDE4 -# include -# include -#endif +#include #include "statusnotifierwatcher.h" #include "statusnotifieritemadaptor.h" @@ -45,7 +39,6 @@ __inline int toInt(WId wid) return (int)((__int64)wid); } - #else __inline int toInt(WId wid) { @@ -160,20 +153,16 @@ int StatusNotifierItemDBus::s_serviceCount = 0; StatusNotifierItemDBus::StatusNotifierItemDBus(StatusNotifierItem *parent) : QObject(parent), m_statusNotifierItem(parent), - m_service(QString("org.kde.StatusNotifierItem-%1-%2") - .arg(QCoreApplication::applicationPid()) - .arg(++s_serviceCount)), - m_dbus(QDBusConnection::connectToBus(QDBusConnection::SessionBus, m_service)) + m_dbus(QDBusConnection::connectToBus(QDBusConnection::SessionBus, + QString("org.kde.StatusNotifierItem-%1-%2").arg(QCoreApplication::applicationPid()).arg(++s_serviceCount))) { new StatusNotifierItemAdaptor(this); - //qDebug() << "service is" << m_service; - registerService(); } StatusNotifierItemDBus::~StatusNotifierItemDBus() { - unregisterService(); + unregisterTrayIcon(); } @@ -185,28 +174,24 @@ QDBusConnection StatusNotifierItemDBus::dbusConnection() const // FIXME: prevent double registrations, also test this on platforms != KDE // -void StatusNotifierItemDBus::registerService() +void StatusNotifierItemDBus::registerTrayIcon() { - //qDebug() << "registering to" << m_service; - m_dbus.registerService(m_service); m_dbus.registerObject("/StatusNotifierItem", this); } // FIXME: see above -void StatusNotifierItemDBus::unregisterService() +void StatusNotifierItemDBus::unregisterTrayIcon() { - //qDebug() << "unregistering from" << m_service; if (m_dbus.isConnected()) { m_dbus.unregisterObject("/StatusNotifierItem"); - m_dbus.unregisterService(m_service); } } QString StatusNotifierItemDBus::service() const { - return m_service; + return m_dbus.baseService(); } @@ -328,15 +313,7 @@ void StatusNotifierItemDBus::ContextMenu(int x, int y) //TODO: nicer placement, possible? if (!m_statusNotifierItem->trayMenu()->isVisible()) { -#ifdef HAVE_KDE4 - m_statusNotifierItem->trayMenu()->setWindowFlags(Qt::Window|Qt::FramelessWindowHint); -#endif m_statusNotifierItem->trayMenu()->popup(QPoint(x, y)); -#ifdef HAVE_KDE4 - KWindowSystem::setState(m_statusNotifierItem->trayMenu()->winId(), NET::SkipTaskbar|NET::SkipPager|NET::KeepAbove); - KWindowSystem::setType(m_statusNotifierItem->trayMenu()->winId(), NET::PopupMenu); - KWindowSystem::forceActiveWindow(m_statusNotifierItem->trayMenu()->winId()); -#endif } else { m_statusNotifierItem->trayMenu()->hide();