Mercurial > trustbridge
diff ui/trayicon.h @ 871:4efd6378c001
(issue51) Add fallback in case systemtray is unavailable.
If no systemtray is available it will now show a message box
as notification.
author | Andre Heinecke <andre.heinecke@intevation.de> |
---|---|
date | Wed, 06 Aug 2014 18:03:23 +0200 |
parents | |
children | c096881e8ed0 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ui/trayicon.h Wed Aug 06 18:03:23 2014 +0200 @@ -0,0 +1,39 @@ +#ifndef TRAYICON_H +#define TRAYICON_H +/* Copyright (C) 2014 by Bundesamt für Sicherheit in der Informationstechnik + * Software engineering by Intevation GmbH + * + * This file is Free Software under the GNU GPL (v>=2) + * and comes with ABSOLUTELY NO WARRANTY! + * See LICENSE.txt for details. + */ + +#include <QWidget> +#include <QSystemTrayIcon> + + +/**@brief Notification interface. + * + * This class provides an inherited implmentation of QSystemTrayIcon + * to be more flexible on platforms where no SystemTray is available. + * + * This class should become obsolete once Qt improves the support for + * StatusNotifier icons that are used in Plasma 5 and Unity. + */ +class TrayIcon : public QSystemTrayIcon +{ + Q_OBJECT +public: + TrayIcon (QObject *parent); + + void show(); + bool isAlternative() {return useAlt;} + +public Q_SLOTS: + void showMessage(const QString &title, const QString &msg, + QSystemTrayIcon::MessageIcon icon = QSystemTrayIcon::Information, int msecs = 10000); +private: + bool useAlt; +}; + +#endif // TRAYICON_H