Bitcoin Core 22.99.0
P2P Digital Currency
notificator.h
Go to the documentation of this file.
1// Copyright (c) 2011-2018 The Bitcoin Core developers
2// Distributed under the MIT software license, see the accompanying
3// file COPYING or http://www.opensource.org/licenses/mit-license.php.
4
5#ifndef BITCOIN_QT_NOTIFICATOR_H
6#define BITCOIN_QT_NOTIFICATOR_H
7
8#if defined(HAVE_CONFIG_H)
10#endif
11
12#include <QIcon>
13#include <QObject>
14
15QT_BEGIN_NAMESPACE
16class QSystemTrayIcon;
17
18#ifdef USE_DBUS
19class QDBusInterface;
20#endif
21QT_END_NAMESPACE
22
24class Notificator: public QObject
25{
26 Q_OBJECT
27
28public:
32 Notificator(const QString &programName, QSystemTrayIcon *trayIcon, QWidget *parent);
34
35 // Message class
36 enum Class
37 {
41 };
42
43public Q_SLOTS:
52 void notify(Class cls, const QString &title, const QString &text,
53 const QIcon &icon = QIcon(), int millisTimeout = 10000);
54
55private:
56 QWidget *parent;
57 enum Mode {
62 };
63 QString programName;
65 QSystemTrayIcon *trayIcon;
66#ifdef USE_DBUS
67 QDBusInterface *interface;
68
69 void notifyDBus(Class cls, const QString &title, const QString &text, const QIcon &icon, int millisTimeout);
70#endif
71 void notifySystray(Class cls, const QString &title, const QString &text, int millisTimeout);
72#ifdef Q_OS_MAC
73 void notifyMacUserNotificationCenter(const QString &title, const QString &text);
74#endif
75};
76
77#endif // BITCOIN_QT_NOTIFICATOR_H
Cross-platform desktop notification client.
Definition: notificator.h:25
QString programName
Definition: notificator.h:63
QWidget * parent
Definition: notificator.h:56
@ Information
Informational message.
Definition: notificator.h:38
@ Critical
An error occurred.
Definition: notificator.h:40
@ Warning
Notify user of potential problem.
Definition: notificator.h:39
@ UserNotificationCenter
Use the 10.8+ User Notification Center (Mac only)
Definition: notificator.h:61
@ QSystemTray
Use QSystemTrayIcon::showMessage()
Definition: notificator.h:60
@ Freedesktop
Use DBus org.freedesktop.Notifications.
Definition: notificator.h:59
@ None
Ignore informational notifications, and show a modal pop-up dialog for Critical notifications.
Definition: notificator.h:58
void notifySystray(Class cls, const QString &title, const QString &text, int millisTimeout)
Notificator(const QString &programName, QSystemTrayIcon *trayIcon, QWidget *parent)
Create a new notificator.
Definition: notificator.cpp:30
QSystemTrayIcon * trayIcon
Definition: notificator.h:65
void notify(Class cls, const QString &title, const QString &text, const QIcon &icon=QIcon(), int millisTimeout=10000)
Show notification message.