X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2Fstatusnotifieritemdbus.cpp;h=ee21928ff3ef11ec0a4516b0c623441e791f2034;hp=2d5e2d2155d0c059e7ceac963870231a0a6e00fc;hb=54ebc1bf00f4f9a8376629925329f0e72be04662;hpb=5b686746c880e5cda6d5de3e08180ea4332ff222 diff --git a/src/qtui/statusnotifieritemdbus.cpp b/src/qtui/statusnotifieritemdbus.cpp index 2d5e2d21..ee21928f 100644 --- a/src/qtui/statusnotifieritemdbus.cpp +++ b/src/qtui/statusnotifieritemdbus.cpp @@ -31,7 +31,7 @@ #include #include -#ifdef HAVE_KDE +#ifdef HAVE_KDE4 # include # include #endif @@ -160,20 +160,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 +181,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,11 +320,11 @@ void StatusNotifierItemDBus::ContextMenu(int x, int y) //TODO: nicer placement, possible? if (!m_statusNotifierItem->trayMenu()->isVisible()) { -#ifdef HAVE_KDE +#ifdef HAVE_KDE4 m_statusNotifierItem->trayMenu()->setWindowFlags(Qt::Window|Qt::FramelessWindowHint); #endif m_statusNotifierItem->trayMenu()->popup(QPoint(x, y)); -#ifdef HAVE_KDE +#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());