Quassel IRC
Pre-Release
Main Page
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
knotificationbackend.h
Go to the documentation of this file.
1
/***************************************************************************
2
* Copyright (C) 2005-2015 by the Quassel Project *
3
* devel@quassel-irc.org *
4
* *
5
* This program is free software; you can redistribute it and/or modify *
6
* it under the terms of the GNU General Public License as published by *
7
* the Free Software Foundation; either version 2 of the License, or *
8
* (at your option) version 3. *
9
* *
10
* This program is distributed in the hope that it will be useful, *
11
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
12
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
13
* GNU General Public License for more details. *
14
* *
15
* You should have received a copy of the GNU General Public License *
16
* along with this program; if not, write to the *
17
* Free Software Foundation, Inc., *
18
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
19
***************************************************************************/
20
21
#pragma once
22
23
#include <QPointer>
24
25
#include "
abstractnotificationbackend.h
"
26
#include "
settingspage.h
"
27
#include "
systemtray.h
"
28
29
class
KNotification;
30
class
KNotifyConfigWidget;
31
32
class
KNotificationBackend
:
public
AbstractNotificationBackend
33
{
34
Q_OBJECT
35
36
public
:
37
KNotificationBackend
(QObject *parent = 0);
38
39
void
notify
(
const
Notification
&);
40
void
close
(uint notificationId);
41
virtual
SettingsPage
*
createConfigWidget
()
const
;
42
43
private
slots:
44
void
notificationActivated
();
45
void
notificationActivated
(
SystemTray::ActivationReason
);
46
void
notificationActivated
(uint notificationId);
47
48
private
:
49
class
ConfigWidget
;
50
51
void
removeNotificationById
(uint
id
);
52
void
updateToolTip
();
53
54
QList<QPair<uint, QPointer<KNotification>>>
_notifications
;
55
};
56
57
58
class
KNotificationBackend::ConfigWidget
:
public
SettingsPage
59
{
60
Q_OBJECT
61
62
public
:
63
ConfigWidget
(QWidget *parent = 0);
64
65
void
save
();
66
void
load
();
67
68
private
slots:
69
void
widgetChanged
(
bool
);
70
71
private
:
72
KNotifyConfigWidget *
_widget
;
73
};
tmp
quassel
src
qtui
knotificationbackend.h
Generated on Wed Sep 23 2015 13:43:29 for Quassel IRC by
1.8.1.2