Here is a list of changes to make to your application so that it can take advantage of the new KStatusNotifierItem (KSNI) class, available since KDE 4.4.
* activated() becomes activateRequested(bool active, QPoint pos)
Icons can be passed as a QString or as a QPixmap. Note that both must go through D-Bus, so for performance reasons, pass icons by name whenever possible.
A KSNI tooltip is made of an icon, a title and a subtitle (which may contain some limited markup). This means you have to replace your call to setToolTip(QString) with calls to:
show() -> setStatus(KStatusNotifierItem::Active) hide() -> setStatus(KStatusNotifierItem::Passive)