< Development | TutorialsRevision as of 17:27, 25 February 2010 by Agateau (talk | contribs) (Created page with '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. == Initialization == *...')(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff) 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. Contents 1 Initialization 2 Icons 3 Tooltip 4 Misc Initialization KSNI constructor takes a QObject, not a QWidget Be sure to set your Signals: * activated() becomes activateRequested(bool active, QPoint pos) Icons 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. setIcon() becomes either setIconByName(QString) or setIconByPixmap(QPixmap) Tooltip 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: setToolTipIconByName(QString) or setToolTipIconByPixmap() setToolTipTitle(QString) setToolTipSubTitle(QString) show() -> setStatus(KStatusNotifierItem::Active) hide() -> setStatus(KStatusNotifierItem::Passive) Misc There is no equivalent for the convenience static loadIcon(QString) function. You have to replace it with KIconLoader::global()->loadIcon(name, KIconLoader::Panel) Retrieved from "https://techbase.kde.org/index.php?title=Development/Tutorials/PortToKStatusNotifierItem&oldid=49759" Content is available under Creative Commons License SA 4.0 unless otherwise noted.