Basic StatusNotifierItem support
authorManuel Nickschas <sputnick@quassel-irc.org>
Tue, 16 Feb 2010 15:58:24 +0000 (16:58 +0100)
committerManuel Nickschas <sputnick@quassel-irc.org>
Tue, 16 Feb 2010 15:58:24 +0000 (16:58 +0100)
commitb858144c9d38623bdd9afaa02c404d9515243ab7
treeea409403fca25e0d1ac2a40756fbbf7d6f34214c
parent74a5ad0fb62894e054dabbad11c9ad9dad4941ec
Basic StatusNotifierItem support

This implements the new dbus spec that replaces the old systray:
<http://www.notmart.org/misc/statusnotifieritem/>

Until the spec has been ratified by freedesktop.org (which should happen soon), we're
using the org.kde namespace to get it working in newish (>= 4.4) KDE versions at least.
In order to support this even without KDE integration, we've taken a bunch of code
from KDE's implementation (written by Marco Martin), only using the parts that are
relevant for Quassel, and adapting them to our needs.

In case no DBus support is present, or noone listens for the service, we fall back
to the classical tray icon.

Various bits and pieces are still missing, e.g. tooltips, and the context menu
isn't working yet if Qt doesn't support QSystemTrayIcon (but you'll get the dbus
item if there's a service listening even without tray icon support in Qt).
interfaces/org.kde.StatusNotifierItem.xml [new file with mode: 0644]
interfaces/org.kde.StatusNotifierWatcher.xml [new file with mode: 0644]
src/qtui/CMakeLists.txt
src/qtui/mainwin.cpp
src/qtui/statusnotifieritem.cpp [new file with mode: 0644]
src/qtui/statusnotifieritem.h [new file with mode: 0644]
src/qtui/statusnotifieritemdbus.cpp [new file with mode: 0644]
src/qtui/statusnotifieritemdbus.h [new file with mode: 0644]