qTox  Version: nightly | Commit: bc751c8e1cac455f9690654fcfe0f560d2d7dfdd
desktopnotify.h
Go to the documentation of this file.
1 /*
2  Copyright © 2019 by The qTox Project Contributors
3 
4  This file is part of qTox, a Qt-based graphical interface for Tox.
5 
6  qTox is libre software: you can redistribute it and/or modify
7  it under the terms of the GNU General Public License as published by
8  the Free Software Foundation, either version 3 of the License, or
9  (at your option) any later version.
10 
11  qTox is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU General Public License for more details.
15 
16  You should have received a copy of the GNU General Public License
17  along with qTox. If not, see <http://www.gnu.org/licenses/>.
18 */
19 
20 #pragma once
21 
23 
24 #include <libsnore/snore.h>
25 
26 #include <QObject>
27 
28 #include <memory>
29 #include <unordered_set>
30 
31 class DesktopNotify : public QObject
32 {
33  Q_OBJECT
34 public:
35  DesktopNotify();
36 
37 public slots:
38  void notifyMessage(const NotificationData& notificationData);
39 
40 signals:
41  void notificationClosed();
42 
43 private slots:
44  void onNotificationClose(Snore::Notification notification);
45 
46 private:
47  Snore::SnoreCore& notifyCore;
48  Snore::Application snoreApp;
49  Snore::Icon snoreIcon;
50  Snore::Notification lastNotification;
51  uint latestId;
52 };
DesktopNotify
Definition: desktopnotify.h:31
DesktopNotify::lastNotification
Snore::Notification lastNotification
Definition: desktopnotify.h:50
DesktopNotify::notificationClosed
void notificationClosed()
NotificationData
Definition: notificationdata.h:25
DesktopNotify::snoreIcon
Snore::Icon snoreIcon
Definition: desktopnotify.h:49
DesktopNotify::notifyCore
Snore::SnoreCore & notifyCore
Definition: desktopnotify.h:47
DesktopNotify::latestId
uint latestId
Definition: desktopnotify.h:51
notificationdata.h
DesktopNotify::onNotificationClose
void onNotificationClose(Snore::Notification notification)
DesktopNotify::notifyMessage
void notifyMessage(const NotificationData &notificationData)
DesktopNotify::snoreApp
Snore::Application snoreApp
Definition: desktopnotify.h:48
DesktopNotify::DesktopNotify
DesktopNotify()