KVIrc 5.2.6
Developer APIs
libkvitrayicon.h
Go to the documentation of this file.
1#ifndef _KVI_TRAYICON_H_
2#define _KVI_TRAYICON_H_
3//=============================================================================
4//
5// File : libkvitrayicon.h
6// Creation date : Tue Jan 02 2001 14:34:12 CEST by Szymon Stefanek
7//
8// This file is part of the KVIrc IRC client distribution
9// Copyright (C) 2001 Szymon Stefanek (pragma at kvirc dot net)
10// Copyright (C) 2007 Alexey Uzhva (wizard at opendoor dot ru)
11// Copyright (C) 2008 Elvio Basello (hellvis69 at netsons dot org)
12//
13// This program is FREE software. You can redistribute it and/or
14// modify it under the terms of the GNU General Public License
15// as published by the Free Software Foundation; either version 2
16// of the License, or (at your option) any later version.
17//
18// This program is distributed in the HOPE that it will be USEFUL,
19// but WITHOUT ANY WARRANTY; without even the implied warranty of
20// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
21// See the GNU General Public License for more details.
22//
23// You should have received a copy of the GNU General Public License
24// along with this program. If not, write to the Free Software Foundation,
25// Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
26//
27//=============================================================================
28
29#include "kvi_settings.h"
30#include "KviMainWindow.h"
31#include "KviTrayIcon.h"
32
33#include <QObject>
34#include <QLabel>
35#include <QMenu>
36#include <QString>
37#include <QTimer>
38
39#ifdef COMPILE_KDE_SUPPORT
40#include <KStatusNotifierItem>
41#else
42#include <QSystemTrayIcon>
43#endif
44
45class QPixmap;
46
48#ifdef COMPILE_KDE_SUPPORT
49: public KStatusNotifierItem, public KviTrayIcon
50#else
51: public QSystemTrayIcon, public KviTrayIcon
52#endif
53{
54 Q_OBJECT
55public:
57 ~KviTrayIconWidget() override;
58
59private:
62#ifndef COMPILE_ON_MAC
63 QLabel * m_pTitleLabel;
64#endif
65
66 QAction * m_pToggleFrame;
67 QAction * m_pAwayMenuId;
68
71
73
75 unsigned int m_iConsoles;
76 unsigned int m_iChannels;
77 unsigned int m_iQueries;
78 unsigned int m_iOther;
79
80public:
81 void refresh() override;
82 void updateIcon();
83#ifdef COMPILE_KDE_SUPPORT
84 void show();
85#endif
86
87private:
88 void grabActivityInfo();
89 const QString getToolTipText(bool bHtml);
90private slots:
91 void fillContextPopup();
92 void toggleParentFrame();
93 void doAway(bool);
94 void flashingTimerShot();
95#ifndef COMPILE_KDE_SUPPORT
96 void activatedSlot(QSystemTrayIcon::ActivationReason reason);
97#endif
98 void executeInternalCommand(bool);
99 void disableTrayIcon();
100};
101
102#endif //_KVI_TRAYICON_H_
QPixmap m_CurrentPixmap
Definition libkvitrayicon.h:72
void updateIcon()
Definition libkvitrayicon.cpp:632
QMenu m_awayPopup
Definition libkvitrayicon.h:61
void activatedSlot(QSystemTrayIcon::ActivationReason reason)
Definition libkvitrayicon.cpp:488
unsigned int m_iConsoles
Definition libkvitrayicon.h:75
unsigned int m_iChannels
Definition libkvitrayicon.h:76
QLabel * m_pTitleLabel
Definition libkvitrayicon.h:63
void disableTrayIcon()
Definition libkvitrayicon.cpp:178
QTimer m_flashingTimer
Definition libkvitrayicon.h:74
void executeInternalCommand(bool)
Definition libkvitrayicon.cpp:154
bool m_bFlashed
Definition libkvitrayicon.h:69
QMenu * m_pContextPopup
Definition libkvitrayicon.h:60
~KviTrayIconWidget() override
Definition libkvitrayicon.cpp:133
QAction * m_pAwayMenuId
Definition libkvitrayicon.h:67
void refresh() override
Definition libkvitrayicon.cpp:427
void grabActivityInfo()
Definition libkvitrayicon.cpp:513
bool m_bHidden
Definition libkvitrayicon.h:70
void fillContextPopup()
Definition libkvitrayicon.cpp:316
void toggleParentFrame()
Definition libkvitrayicon.cpp:375
unsigned int m_iQueries
Definition libkvitrayicon.h:77
KviTrayIconWidget()
Definition libkvitrayicon.cpp:67
QAction * m_pToggleFrame
Definition libkvitrayicon.h:66
void flashingTimerShot()
Definition libkvitrayicon.cpp:172
void doAway(bool)
Definition libkvitrayicon.cpp:252
unsigned int m_iOther
Definition libkvitrayicon.h:78
const QString getToolTipText(bool bHtml)
Definition libkvitrayicon.cpp:208
The KviTrayIcon class.
Definition KviTrayIcon.h:36
This file contains compile time settings.