client: Port old HighlightRule to ExpressionMatch
[quassel.git] / src / qtui / statusnotifieritemdbus.cpp
index a52566e..ee21928 100644 (file)
@@ -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.         *
  ***************************************************************************/
 
 #include "mainwin.h"
@@ -31,7 +31,7 @@
 #include <QMenu>
 #include <QMovie>
 
-#ifdef HAVE_KDE
+#ifdef HAVE_KDE4
 #  include <KWindowInfo>
 #  include <KWindowSystem>
 #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());