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

http://wald.intevation.org/projects/trustbridge/