LeechCraft
0.6.70-19424-g027e980fd1
Modular cross-platform feature rich live environment.
Toggle main menu visibility
Loading...
Searching...
No Matches
fancytrayiconfreedesktop.h
Go to the documentation of this file.
1
/**********************************************************************
2
* LeechCraft - modular cross-platform feature rich internet client.
3
* Copyright (C) 2006-2014 Georg Rudoy
4
*
5
* Distributed under the Boost Software License, Version 1.0.
6
* (See accompanying file LICENSE or copy at https://www.boost.org/LICENSE_1_0.txt)
7
**********************************************************************/
8
9
#pragma once
10
11
#include <QObject>
12
#include <QDBusAbstractAdaptor>
13
#include "
fancytrayiconimpl.h
"
14
15
namespace
LC::Util
16
{
17
class
FancyTrayIconFreedesktop
;
18
}
19
20
namespace
LC::Util::detail
21
{
22
struct
IconFrame
23
{
24
int
Width_
;
25
int
Height_
;
26
QByteArray
Data_
;
27
28
static
IconFrame
FromPixmap
(
const
QPixmap&);
29
};
30
31
struct
DBusTooltip
32
{
33
QString
Title_
;
34
QString
Subtitle_
;
35
};
36
}
37
38
Q_DECLARE_METATYPE
(
LC::Util::detail::IconFrame
)
39
Q_DECLARE_METATYPE
(
LC::Util::detail::DBusTooltip
)
40
41
namespace
LC::Util::detail
42
{
43
class
SNIAdaptor
:
public
QDBusAbstractAdaptor
44
{
45
Q_OBJECT
46
47
// KDE seems to expect `org.kde.StatusNotifierItem` contrary to the spec
48
Q_CLASSINFO (
"D-Bus Interface"
,
"org.kde.StatusNotifierItem"
)
49
50
Q_PROPERTY (QString
Category
MEMBER Category_ CONSTANT)
51
Q_PROPERTY (quint32
WindowId
MEMBER WindowId_ CONSTANT)
52
53
Q_PROPERTY (QString
Id
READ GetId CONSTANT)
54
Q_PROPERTY (QString
Title
READ GetTitle)
55
Q_PROPERTY (QString
Status
READ GetStatus NOTIFY
NewStatus
)
56
57
Q_PROPERTY (QString
IconName
READ GetIconName)
58
Q_PROPERTY (
QList
<
LC
::
Util
::
detail
::
IconFrame
>
IconPixmap
READ GetIconPixmap NOTIFY
NewIcon
)
59
60
Q_PROPERTY (
LC
::
Util
::
detail
::
DBusTooltip
ToolTip
READ GetTooltip NOTIFY
NewTooltip
)
61
62
FancyTrayIconFreedesktop
& Impl_;
63
64
const QString Category_ = QStringLiteral (
"ApplicationStatus"
);
65
const QString Status_ = QStringLiteral (
"Active"
);
66
const quint32 WindowId_ = 0;
67
public:
68
explicit
SNIAdaptor
(
FancyTrayIconFreedesktop
&);
69
public slots:
70
void
ContextMenu
(
int
x,
int
y);
71
void
Activate
(
int
,
int
);
72
void
SecondaryActivate
(
int
,
int
);
73
void
Scroll
(
int
, const QString&);
74
private:
75
QString GetId () const;
76
QString GetTitle () const;
77
QString GetStatus () const;
78
QString GetIconName () const;
79
QList
<
IconFrame
> GetIconPixmap () const;
80
DBusTooltip
GetTooltip () const;
81
signals:
82
void
NewIcon
();
83
void
NewTooltip
();
84
void
NewStatus
();
85
};
86
}
87
88
namespace
LC
::
Util
89
{
90
class
FancyTrayIconFreedesktop
:
public
FancyTrayIconImpl
91
{
92
friend
class
detail::SNIAdaptor
;
93
94
FancyTrayIcon
& FTI_;
95
96
detail::SNIAdaptor
Adaptor_;
97
public
:
98
explicit
FancyTrayIconFreedesktop
(
FancyTrayIcon
& icon);
99
100
void
UpdateIcon
()
override
;
101
void
UpdateTooltip
()
override
;
102
void
UpdateMenu
()
override
;
103
void
UpdateStatus
()
override
;
104
};
105
}
LC::Util::FancyTrayIconFreedesktop
Definition
fancytrayiconfreedesktop.h:91
LC::Util::FancyTrayIconFreedesktop::UpdateTooltip
void UpdateTooltip() override
Definition
fancytrayiconfreedesktop.cpp:128
LC::Util::FancyTrayIconFreedesktop::UpdateStatus
void UpdateStatus() override
Definition
fancytrayiconfreedesktop.cpp:137
LC::Util::FancyTrayIconFreedesktop::FancyTrayIconFreedesktop
FancyTrayIconFreedesktop(FancyTrayIcon &icon)
Definition
fancytrayiconfreedesktop.cpp:95
LC::Util::FancyTrayIconFreedesktop::UpdateIcon
void UpdateIcon() override
Definition
fancytrayiconfreedesktop.cpp:123
LC::Util::FancyTrayIconFreedesktop::UpdateMenu
void UpdateMenu() override
Definition
fancytrayiconfreedesktop.cpp:133
LC::Util::FancyTrayIcon
Definition
fancytrayicon.h:25
LC::Util::FancyTrayIconImpl
Definition
fancytrayiconimpl.h:17
LC::Util::detail::SNIAdaptor
Definition
fancytrayiconfreedesktop.h:44
LC::Util::detail::SNIAdaptor::IconPixmap
QList< LC::Util::detail::IconFrame > IconPixmap
Definition
fancytrayiconfreedesktop.h:58
LC::Util::detail::SNIAdaptor::Status
QString Status
Definition
fancytrayiconfreedesktop.h:55
LC::Util::detail::SNIAdaptor::ContextMenu
void ContextMenu(int x, int y)
Definition
fancytrayiconfreedesktop.cpp:154
LC::Util::detail::SNIAdaptor::ToolTip
LC::Util::detail::DBusTooltip ToolTip
Definition
fancytrayiconfreedesktop.h:60
LC::Util::detail::SNIAdaptor::Activate
void Activate(int, int)
Definition
fancytrayiconfreedesktop.cpp:160
LC::Util::detail::SNIAdaptor::WindowId
quint32 WindowId
Definition
fancytrayiconfreedesktop.h:51
LC::Util::detail::SNIAdaptor::Category
QString Category
Definition
fancytrayiconfreedesktop.h:50
LC::Util::detail::SNIAdaptor::IconName
QString IconName
Definition
fancytrayiconfreedesktop.h:57
LC::Util::detail::SNIAdaptor::NewTooltip
void NewTooltip()
LC::Util::detail::SNIAdaptor::SecondaryActivate
void SecondaryActivate(int, int)
Definition
fancytrayiconfreedesktop.cpp:165
LC::Util::detail::SNIAdaptor::NewStatus
void NewStatus()
LC::Util::detail::SNIAdaptor::Id
QString Id
Definition
fancytrayiconfreedesktop.h:53
LC::Util::detail::SNIAdaptor::Title
QString Title
Definition
fancytrayiconfreedesktop.h:54
LC::Util::detail::SNIAdaptor::NewIcon
void NewIcon()
LC::Util::detail::SNIAdaptor::Scroll
void Scroll(int, const QString &)
Definition
fancytrayiconfreedesktop.cpp:170
LC::Util::detail::SNIAdaptor::SNIAdaptor
SNIAdaptor(FancyTrayIconFreedesktop &)
Definition
fancytrayiconfreedesktop.cpp:145
QList
Definition
ianrulesstorage.h:16
fancytrayiconimpl.h
LC::Util::detail
Definition
fancytrayiconfreedesktop.cpp:24
LC::Util
Definition
icoreproxy.h:34
LC
Definition
constants.h:15
LC::Util::detail::DBusTooltip
Definition
fancytrayiconfreedesktop.h:32
LC::Util::detail::DBusTooltip::Title_
QString Title_
Definition
fancytrayiconfreedesktop.h:33
LC::Util::detail::DBusTooltip::Subtitle_
QString Subtitle_
Definition
fancytrayiconfreedesktop.h:34
LC::Util::detail::IconFrame
Definition
fancytrayiconfreedesktop.h:23
LC::Util::detail::IconFrame::Width_
int Width_
Definition
fancytrayiconfreedesktop.h:24
LC::Util::detail::IconFrame::Height_
int Height_
Definition
fancytrayiconfreedesktop.h:25
LC::Util::detail::IconFrame::FromPixmap
static IconFrame FromPixmap(const QPixmap &)
Definition
fancytrayiconfreedesktop.cpp:25
LC::Util::detail::IconFrame::Data_
QByteArray Data_
Definition
fancytrayiconfreedesktop.h:26
Q_DECLARE_METATYPE
Q_DECLARE_METATYPE(QVariantList *)
src
util
gui
fancytrayiconfreedesktop.h
Generated by
1.18.0