KWin
Loading...
Searching...
No Matches
src
plugins
nightcolor
clockskewnotifier.cpp
Go to the documentation of this file.
1
/*
2
SPDX-FileCopyrightText: 2019 Vlad Zahorodnii <vlad.zahorodnii@kde.org>
3
4
SPDX-License-Identifier: GPL-2.0-or-later
5
*/
6
7
#include "
clockskewnotifier.h
"
8
#include "
clockskewnotifierengine_p.h
"
9
10
namespace
KWin
11
{
12
13
class
ClockSkewNotifier::Private
14
{
15
public
:
16
void
loadNotifierEngine
();
17
void
unloadNotifierEngine
();
18
19
ClockSkewNotifier
*
notifier
=
nullptr
;
20
ClockSkewNotifierEngine
*
engine
=
nullptr
;
21
bool
isActive
=
false
;
22
};
23
24
void
ClockSkewNotifier::Private::loadNotifierEngine
()
25
{
26
engine
=
ClockSkewNotifierEngine::create
(
notifier
);
27
28
if
(
engine
) {
29
QObject::connect(
engine
, &
ClockSkewNotifierEngine::clockSkewed
,
notifier
, &
ClockSkewNotifier::clockSkewed
);
30
}
31
}
32
33
void
ClockSkewNotifier::Private::unloadNotifierEngine
()
34
{
35
if
(!engine) {
36
return
;
37
}
38
39
QObject::disconnect(engine, &
ClockSkewNotifierEngine::clockSkewed
, notifier, &
ClockSkewNotifier::clockSkewed
);
40
engine->deleteLater();
41
42
engine =
nullptr
;
43
}
44
45
ClockSkewNotifier::ClockSkewNotifier
(QObject *parent)
46
: QObject(parent)
47
, d(new
Private
)
48
{
49
d->notifier =
this
;
50
}
51
52
ClockSkewNotifier::~ClockSkewNotifier
()
53
{
54
}
55
56
bool
ClockSkewNotifier::isActive
()
const
57
{
58
return
d->isActive;
59
}
60
61
void
ClockSkewNotifier::setActive
(
bool
set)
62
{
63
if
(d->isActive == set) {
64
return
;
65
}
66
67
d->isActive = set;
68
69
if
(d->isActive) {
70
d->loadNotifierEngine();
71
}
else
{
72
d->unloadNotifierEngine();
73
}
74
75
Q_EMIT
activeChanged
();
76
}
77
78
}
// namespace KWin
79
80
#include "moc_clockskewnotifier.cpp"
KWin::ClockSkewNotifier::Private
Definition
clockskewnotifier.cpp:14
KWin::ClockSkewNotifier::Private::unloadNotifierEngine
void unloadNotifierEngine()
Definition
clockskewnotifier.cpp:33
KWin::ClockSkewNotifier::Private::notifier
ClockSkewNotifier * notifier
Definition
clockskewnotifier.cpp:19
KWin::ClockSkewNotifier::Private::loadNotifierEngine
void loadNotifierEngine()
Definition
clockskewnotifier.cpp:24
KWin::ClockSkewNotifier::Private::engine
ClockSkewNotifierEngine * engine
Definition
clockskewnotifier.cpp:20
KWin::ClockSkewNotifier::Private::isActive
bool isActive
Definition
clockskewnotifier.cpp:21
KWin::ClockSkewNotifierEngine
Definition
clockskewnotifierengine_p.h:15
KWin::ClockSkewNotifierEngine::clockSkewed
void clockSkewed()
KWin::ClockSkewNotifierEngine::create
static ClockSkewNotifierEngine * create(QObject *parent)
Definition
clockskewnotifierengine.cpp:15
KWin::ClockSkewNotifier
Definition
clockskewnotifier.h:23
KWin::ClockSkewNotifier::activeChanged
void activeChanged()
KWin::ClockSkewNotifier::~ClockSkewNotifier
~ClockSkewNotifier() override
Definition
clockskewnotifier.cpp:52
KWin::ClockSkewNotifier::ClockSkewNotifier
ClockSkewNotifier(QObject *parent=nullptr)
Definition
clockskewnotifier.cpp:45
KWin::ClockSkewNotifier::isActive
bool isActive() const
Definition
clockskewnotifier.cpp:56
KWin::ClockSkewNotifier::clockSkewed
void clockSkewed()
KWin::ClockSkewNotifier::setActive
void setActive(bool active)
Definition
clockskewnotifier.cpp:61
clockskewnotifier.h
clockskewnotifierengine_p.h
KWin
Definition
activation_test.cpp:20
Generated on Sat Feb 17 2024 01:42:10 for KWin by
1.10.0