1
1
/***************************************************************************
2
* Copyright (C) 2005-09 by the Quassel Project *
3
* devel@quassel-irc.org *
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. *
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. *
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
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
19
***************************************************************************/
21
#include <QVBoxLayout>
2
* Copyright (C) 2005-2010 by the Quassel Project *
3
* devel@quassel-irc.org *
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. *
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. *
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
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
19
***************************************************************************/
23
21
#include <KNotification>
24
22
#include <KNotifyConfigWidget>
25
23
#include <QTextDocument>
24
#include <QVBoxLayout>
27
26
#include "knotificationbackend.h"
31
30
#include "iconloader.h"
32
31
#include "networkmodel.h"
34
#include "systemtray.h"
36
34
KNotificationBackend::KNotificationBackend(QObject *parent)
37
35
: AbstractNotificationBackend(parent)
39
connect(QtUi::mainWindow()->systemTray(), SIGNAL(activated(QSystemTrayIcon::ActivationReason)),
40
SLOT(notificationActivated(QSystemTrayIcon::ActivationReason)));
37
connect(QtUi::mainWindow()->systemTray(), SIGNAL(activated(SystemTray::ActivationReason)),
38
SLOT(notificationActivated(SystemTray::ActivationReason)));
43
41
void KNotificationBackend::notify(const Notification &n) {
94
92
notificationActivated(id);
97
void KNotificationBackend::notificationActivated(QSystemTrayIcon::ActivationReason reason) {
98
if(reason == QSystemTrayIcon::Trigger && _notifications.count()) {
99
notificationActivated(_notifications.first().first); // oldest one
95
void KNotificationBackend::notificationActivated(SystemTray::ActivationReason reason) {
96
if(reason == SystemTray::Trigger) {
97
if( _notifications.count())
98
notificationActivated(_notifications.first().first); // oldest one
100
GraphicalUi::toggleMainWidget();
103
104
void KNotificationBackend::notificationActivated(uint notificationId) {
104
QtUi::mainWindow()->systemTray()->setInhibitActivation();
105
105
emit activated(notificationId);
109
108
SettingsPage *KNotificationBackend::createConfigWidget() const {