1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
|
#include "xdgnotificationmessage.h"
#include <QTimer>
QString xdg::NotificationMessage::appName() const
{
return m_appName;
}
QString xdg::NotificationMessage::appIcon() const
{
return m_appIcon;
}
QString xdg::NotificationMessage::summary() const
{
return m_summary;
}
QString xdg::NotificationMessage::body() const
{
return m_body;
}
QStringList xdg::NotificationMessage::actions() const
{
return m_actions;
}
QVariantMap xdg::NotificationMessage::hints() const
{
return m_hints;
}
uint xdg::NotificationMessage::id() const
{
return m_id;
}
void xdg::NotificationMessage::_expired()
{
emit expired(this);
}
xdg::NotificationMessage::NotificationMessage(
const QString &app_name,
const QString &app_icon,
const QString &summary,
const QString &body,
const QStringList &actions,
const QVariantMap &hints,
int timeout,
QObject *parent)
: QObject(parent)
, m_appName(app_name)
, m_appIcon(app_icon)
, m_summary(summary)
, m_body(body)
, m_actions(actions)
, m_hints(hints)
, m_timeout(timeout)
{
if(m_timeout > 0)
QTimer::singleShot(m_timeout, this, &xdg::NotificationMessage::_expired);
}
void xdg::NotificationMessage::update(const QString &app_name, const QString &app_icon, const QString &summary, const QString &body, const QStringList &actions, const QVariantMap &hints, int timeout)
{
if(m_appName != app_name)
{
m_appName = app_name;
emit appNameChanged(m_appName);
}
if(m_appIcon != app_icon)
{
m_appIcon = app_icon;
emit appIconChanged(m_appIcon);
}
if(m_summary != summary)
{
m_summary = summary;
emit summaryChanged(m_summary);
}
if(m_body != app_name)
{
m_body = body;
emit bodyChanged(m_body);
}
if(m_actions != actions)
{
m_actions = actions;
emit actionsChanged(m_actions);
}
if(m_hints != hints)
{
m_hints = hints;
emit hintsChanged(m_hints);
}
if(m_timeout != timeout)
{
m_timeout = timeout;
emit timeoutChanged(m_timeout);
}
if(m_timeout > 0)
QTimer::singleShot(m_timeout, this, &xdg::NotificationMessage::_expired);
}
void xdg::NotificationMessage::setId(uint id)
{
m_id = id;
}
|