~ubuntu-branches/ubuntu/saucy/quassel/saucy-proposed

« back to all changes in this revision

Viewing changes to src/qtui/knotificationbackend.cpp

  • Committer: Bazaar Package Importer
  • Author(s): Scott Kitterman
  • Date: 2010-02-17 12:49:50 UTC
  • mto: This revision was merged to the branch mainline in revision 59.
  • Revision ID: james.westby@ubuntu.com-20100217124950-v9hajw5d2xa6fszn
Tags: upstream-0.6~beta1
ImportĀ upstreamĀ versionĀ 0.6~beta1

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
/***************************************************************************
2
 
*   Copyright (C) 2005-09 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
 
*   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
19
 
***************************************************************************/
20
 
 
21
 
#include <QVBoxLayout>
 
2
 *   Copyright (C) 2005-2010 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
 *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
 
19
 ***************************************************************************/
22
20
 
23
21
#include <KNotification>
24
22
#include <KNotifyConfigWidget>
25
23
#include <QTextDocument>
 
24
#include <QVBoxLayout>
26
25
 
27
26
#include "knotificationbackend.h"
28
27
 
31
30
#include "iconloader.h"
32
31
#include "networkmodel.h"
33
32
#include "qtui.h"
34
 
#include "systemtray.h"
35
33
 
36
34
KNotificationBackend::KNotificationBackend(QObject *parent)
37
35
: AbstractNotificationBackend(parent)
38
36
{
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)));
41
39
}
42
40
 
43
41
void KNotificationBackend::notify(const Notification &n) {
94
92
  notificationActivated(id);
95
93
}
96
94
 
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
 
99
    else
 
100
      GraphicalUi::toggleMainWidget();
100
101
  }
101
102
}
102
103
 
103
104
void KNotificationBackend::notificationActivated(uint notificationId) {
104
 
  QtUi::mainWindow()->systemTray()->setInhibitActivation();
105
105
  emit activated(notificationId);
106
 
 
107
106
}
108
107
 
109
108
SettingsPage *KNotificationBackend::createConfigWidget() const {