LeechCraft
0.6.70-18450-gabe19ee3b0
Modular cross-platform feature rich live environment.
Toggle main menu visibility
Loading...
Searching...
No Matches
fancytrayicon.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 <memory>
12
#include <variant>
13
#include <QObject>
14
#include <QIcon>
15
#include <QPointer>
16
#include "
guiconfig.h
"
17
18
class
QMenu;
19
20
namespace
LC::Util
21
{
22
class
FancyTrayIconImpl
;
23
24
class
UTIL_GUI_API
FancyTrayIcon
:
public
QObject
25
{
26
Q_OBJECT
27
public
:
28
struct
IconInfo
29
{
30
QString
Id_
;
31
QString
Title_
;
32
};
33
34
struct
Tooltip
35
{
36
QString
PlainText_
;
37
QString
HTML_
;
38
};
39
40
enum class
Status
41
{
42
Passive,
43
Active,
44
NeedsAttention,
45
};
46
47
using
Icon
= std::variant<QString, QIcon>;
48
private
:
49
std::unique_ptr<FancyTrayIconImpl> Impl_;
50
51
const
IconInfo
Info_;
52
53
bool
Visible_ =
true
;
54
Status
Status_ =
Status::Active
;
55
Icon
Icon_;
56
Tooltip
Tooltip_;
57
QPointer<QMenu> Menu_;
58
public
:
59
explicit
FancyTrayIcon
(
IconInfo
info, QObject *parent =
nullptr
);
60
~FancyTrayIcon
()
override
;
61
62
const
IconInfo
&
GetInfo
()
const
;
63
64
void
SetVisible
(
bool
visible);
65
66
void
SetStatus
(
Status
status);
67
Status
GetStatus
()
const
;
68
69
void
SetIcon
(
const
Icon
& icon);
70
const
Icon
&
GetIcon
()
const
;
71
72
void
SetToolTip
(
Tooltip
tooltip);
73
const
Tooltip
&
GetTooltip
()
const
;
74
75
void
SetContextMenu
(QMenu *menu);
76
QMenu*
GetContextMenu
()
const
;
77
private
:
78
void
ReinitImpl ();
79
signals:
80
void
activated
();
81
void
secondaryActivated
();
82
void
scrolled
(
int
, Qt::Orientation);
83
};
84
}
LC::Util::FancyTrayIcon::~FancyTrayIcon
~FancyTrayIcon() override
LC::Util::FancyTrayIcon::SetStatus
void SetStatus(Status status)
Definition
fancytrayicon.cpp:46
LC::Util::FancyTrayIcon::GetInfo
const IconInfo & GetInfo() const
Definition
fancytrayicon.cpp:29
LC::Util::FancyTrayIcon::Icon
std::variant< QString, QIcon > Icon
Definition
fancytrayicon.h:47
LC::Util::FancyTrayIcon::SetIcon
void SetIcon(const Icon &icon)
Definition
fancytrayicon.cpp:58
LC::Util::FancyTrayIcon::SetVisible
void SetVisible(bool visible)
Definition
fancytrayicon.cpp:34
LC::Util::FancyTrayIcon::activated
void activated()
LC::Util::FancyTrayIcon::GetTooltip
const Tooltip & GetTooltip() const
Definition
fancytrayicon.cpp:77
LC::Util::FancyTrayIcon::Status
Status
Definition
fancytrayicon.h:41
LC::Util::FancyTrayIcon::Status::Active
@ Active
Definition
fancytrayicon.h:43
LC::Util::FancyTrayIcon::GetIcon
const Icon & GetIcon() const
Definition
fancytrayicon.cpp:65
LC::Util::FancyTrayIcon::FancyTrayIcon
FancyTrayIcon(IconInfo info, QObject *parent=nullptr)
Definition
fancytrayicon.cpp:20
LC::Util::FancyTrayIcon::SetContextMenu
void SetContextMenu(QMenu *menu)
Definition
fancytrayicon.cpp:82
LC::Util::FancyTrayIcon::SetToolTip
void SetToolTip(Tooltip tooltip)
Definition
fancytrayicon.cpp:70
LC::Util::FancyTrayIcon::scrolled
void scrolled(int, Qt::Orientation)
LC::Util::FancyTrayIcon::GetStatus
Status GetStatus() const
Definition
fancytrayicon.cpp:53
LC::Util::FancyTrayIcon::GetContextMenu
QMenu * GetContextMenu() const
Definition
fancytrayicon.cpp:89
LC::Util::FancyTrayIcon::secondaryActivated
void secondaryActivated()
LC::Util::FancyTrayIconImpl
Definition
fancytrayiconimpl.h:17
guiconfig.h
UTIL_GUI_API
#define UTIL_GUI_API
Definition
guiconfig.h:16
LC::Util
Definition
icoreproxy.h:34
LC::Util::FancyTrayIcon::IconInfo
Definition
fancytrayicon.h:29
LC::Util::FancyTrayIcon::IconInfo::Id_
QString Id_
Definition
fancytrayicon.h:30
LC::Util::FancyTrayIcon::IconInfo::Title_
QString Title_
Definition
fancytrayicon.h:31
LC::Util::FancyTrayIcon::Tooltip
Definition
fancytrayicon.h:35
LC::Util::FancyTrayIcon::Tooltip::PlainText_
QString PlainText_
Definition
fancytrayicon.h:36
LC::Util::FancyTrayIcon::Tooltip::HTML_
QString HTML_
Definition
fancytrayicon.h:37
src
util
gui
fancytrayicon.h
Generated by
1.17.0