Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <QtCore>
- #include <QtGui>
- #include <KStatusNotifierItem>
- #include <KMenu>
- class Window : public QWidget{
- QSystemTrayIcon *trayIcon;
- QMenu *trayMenu;
- KMenu *trayMenu2;
- QAction *trayMenuQuit;
- QAction *trayMenuTest3;
- QAction *trayMenuTest;
- QAction *trayMenuTest2;
- KStatusNotifierItem *kdetray;
- public:
- Window(){
- trayMenuQuit = new QAction("Quit", this);
- trayMenuTest = new QAction("Test", this);
- trayIcon = new QSystemTrayIcon(this);
- trayMenu = new QMenu(this);
- trayMenu->addAction(trayMenuTest);
- trayMenu->addAction(trayMenuQuit);
- trayMenuTest3 = new QAction("Test2", this);
- trayMenuTest2 = new QAction("Test", this);
- trayMenu2 = new KMenu(this);
- trayMenu2->addAction(trayMenuTest2);
- trayMenu2->addAction(trayMenuTest3);
- trayIcon->setContextMenu(trayMenu);
- trayIcon->setIcon(QIcon::fromTheme("preferences-desktop"));
- trayIcon->show();
- kdetray = new KStatusNotifierItem(this);
- kdetray->setTitle("test");
- kdetray->setIconByName("preferences-desktop");
- kdetray->setStatus( KStatusNotifierItem::Active );
- kdetray->setContextMenu(trayMenu2);
- }
- };
- int main(int argc, char **argv){
- QApplication app(argc, argv);
- if (!QSystemTrayIcon::isSystemTrayAvailable()) {
- QMessageBox::critical(0, "Systray", "Couldn't detect any system tray on this system.");
- return 1;
- }
- Window w;
- w.show();
- return app.exec();
- }
Advertisement
Add Comment
Please, Sign In to add comment