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
legacysystemtray.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 file is free software; you can redistribute it and/or modify *
6
* it under the terms of the GNU Library General Public License (LGPL) *
7
* as published by the Free Software Foundation; either version 2 of the *
8
* License, or (at your option) any later version. *
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
#ifndef LEGACYSYSTEMTRAY_H_
22
#define LEGACYSYSTEMTRAY_H_
23
24
#ifndef QT_NO_SYSTEMTRAYICON
25
26
#ifdef HAVE_KDE4
27
# include <KSystemTrayIcon>
28
#else
29
# include <QSystemTrayIcon>
30
#endif
31
32
#include <QIcon>
33
#include <QTimer>
34
35
#include "
systemtray.h
"
36
37
class
LegacySystemTray
:
public
SystemTray
38
{
39
Q_OBJECT
40
41
public
:
42
explicit
LegacySystemTray
(QWidget *parent);
43
virtual
~LegacySystemTray
() {}
44
virtual
void
init
();
45
46
virtual
bool
isVisible
()
const
;
47
virtual
inline
bool
isSystemTrayAvailable
()
const
;
48
virtual
QIcon
stateIcon
()
const
;
// overriden to care about blinkState
49
50
public
slots:
51
virtual
void
setState
(State
state
);
52
virtual
void
setVisible
(
bool
visible =
true
);
53
virtual
void
showMessage
(
const
QString &title,
const
QString &message,
MessageIcon
icon =
Information
,
int
msTimeout = 10000, uint notificationId = 0);
54
virtual
void
closeMessage
(uint notificationId);
55
56
protected
slots:
57
58
protected
:
59
virtual
void
setMode
(
Mode
mode
);
60
61
private
slots:
62
void
on_blinkTimeout
();
63
void
on_activated
(QSystemTrayIcon::ActivationReason);
64
void
on_messageClicked
();
65
66
void
syncLegacyIcon
();
67
68
private
:
69
QTimer
_blinkTimer
;
70
bool
_blinkState
;
71
uint
_lastMessageId
;
72
73
#ifdef HAVE_KDE4
74
KSystemTrayIcon *
_trayIcon
;
75
#else
76
QSystemTrayIcon *
_trayIcon
;
77
#endif
78
};
79
80
81
// inlines
82
83
bool
LegacySystemTray::isSystemTrayAvailable
()
const
84
{
85
return
mode
() ==
Legacy
?
QSystemTrayIcon::isSystemTrayAvailable
()
86
:
SystemTray::isSystemTrayAvailable
();
87
}
88
89
90
#endif
/* QT_NO_SYSTEMTRAYICON */
91
92
#endif
/* LEGACYSYSTEMTRAY_H_ */
tmp
quassel
src
qtui
legacysystemtray.h
Generated on Wed Sep 23 2015 13:43:29 for Quassel IRC by
1.8.1.2