1 | /**************************************************************************** |
2 | ** |
3 | ** Copyright (C) 2008 Urs Wolfer <uwolfer @ kde.org> |
4 | ** |
5 | ** This file is part of KDE. |
6 | ** |
7 | ** This program is free software; you can redistribute it and/or modify |
8 | ** it under the terms of the GNU General Public License as published by |
9 | ** the Free Software Foundation; either version 2 of the License, or |
10 | ** (at your option) any later version. |
11 | ** |
12 | ** This program is distributed in the hope that it will be useful, |
13 | ** but WITHOUT ANY WARRANTY; without even the implied warranty of |
14 | ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
15 | ** GNU General Public License for more details. |
16 | ** |
17 | ** You should have received a copy of the GNU General Public License |
18 | ** along with this program; see the file COPYING. If not, write to |
19 | ** the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, |
20 | ** Boston, MA 02110-1301, USA. |
21 | ** |
22 | ****************************************************************************/ |
23 | |
24 | #include "systemtrayicon.h" |
25 | |
26 | #include "mainwindow.h" |
27 | |
28 | #include <KActionCollection> |
29 | #include <KLocale> |
30 | #include <KMenu> |
31 | |
32 | SystemTrayIcon::SystemTrayIcon(MainWindow *parent) |
33 | : KStatusNotifierItem(parent), |
34 | m_mainWindow(parent) |
35 | { |
36 | setIconByName("krdc" ); |
37 | setStatus(KStatusNotifierItem::Active); |
38 | setCategory(KStatusNotifierItem::ApplicationStatus); |
39 | |
40 | setToolTipIconByName("krdc" ); |
41 | setToolTipTitle(i18n("KDE Remote Desktop Client" )); |
42 | |
43 | contextMenu()->addSeparator(); |
44 | contextMenu()->addAction(parent->actionCollection()->action("bookmark" )); |
45 | contextMenu()->addSeparator(); |
46 | |
47 | connect(this, SIGNAL(activateRequested(bool,QPoint)), this, SLOT(checkActivatedWindow(bool))); |
48 | } |
49 | |
50 | void SystemTrayIcon::checkActivatedWindow(bool active) |
51 | { |
52 | // make sure the fullscreen window stays fullscreen by restoring the FullScreen state upon restore. |
53 | if(active && associatedWidget() != m_mainWindow) { |
54 | associatedWidget()->setWindowState(Qt::WindowFullScreen); |
55 | } |
56 | } |
57 | |
58 | SystemTrayIcon::~SystemTrayIcon() |
59 | { |
60 | } |
61 | |
62 | #include "systemtrayicon.moc" |
63 | |