view ui/trayicon.h @ 1250:7ea3a4c0e2ae

This should be serious software.
author Andre Heinecke <andre.heinecke@intevation.de>
date Thu, 25 Sep 2014 15:53:49 +0200
parents a4282bc67a8b
children 2a1aa9df8f11
line wrap: on
line source
#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 QMessageBox;

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,
                     const QString &okBtnText = QString());
private Q_SLOTS:
    void messageDestroyed();

private:
    bool useAlt;
    QMessageBox *mMessageBox;
};

#endif // TRAYICON_H

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