MythTV
master
mythtv
libs
libmythui
mythscreensaver.cpp
Go to the documentation of this file.
1
// Qt
2
#include <QtGlobal>
3
#include <QGuiApplication>
4
5
// MythTV
6
#include "libmythbase/mythconfig.h"
7
8
#include "
mythmainwindow.h
"
9
#include "
mythscreensaver.h
"
10
11
#if CONFIG_DRM
12
#include "
platforms/mythscreensaverdrm.h
"
13
#endif
14
15
#if CONFIG_QTDBUS
16
#include "
platforms/mythscreensaverdbus.h
"
17
#endif
18
19
#ifdef Q_OS_DARWIN
20
#include "
platforms/mythscreensaverosx.h
"
21
#endif
22
23
#ifdef Q_OS_ANDROID
24
#include "
platforms/mythscreensaverandroid.h
"
25
#endif
26
27
#if CONFIG_WAYLANDEXTRAS
28
#include "
platforms/mythscreensaverwayland.h
"
29
#endif
30
31
#if CONFIG_X11
32
#include "
platforms/mythscreensaverx11.h
"
33
#include "
platforms/mythxdisplay.h
"
34
#endif
35
42
MythScreenSaverControl::MythScreenSaverControl
([[maybe_unused]]
MythMainWindow
* MainWin,
43
[[maybe_unused]]
MythDisplay
* mDisplay)
44
{
45
#if CONFIG_QTDBUS
46
m_screenSavers
.push_back(
new
MythScreenSaverDBus
(
this
));
47
#endif
48
#if CONFIG_X11
49
MythXDisplay
* display =
MythXDisplay::OpenMythXDisplay
(
false
);
50
if
(display)
51
{
52
m_screenSavers
.push_back(
new
MythScreenSaverX11
(
this
));
53
delete
display;
54
}
55
#elif defined(Q_OS_DARWIN)
56
m_screenSavers
.push_back(
new
MythScreenSaverOSX
(
this
));
57
#endif
58
#ifdef ANDROID
59
m_screenSavers
.push_back(
new
MythScreenSaverAndroid
(
this
));
60
#endif
61
#if CONFIG_DRM
62
MythScreenSaverDRM
* drmsaver =
MythScreenSaverDRM::Create
(
this
, mDisplay);
63
if
(drmsaver)
64
m_screenSavers
.push_back(drmsaver);
65
#endif
66
#if CONFIG_WAYLANDEXTRAS
67
if
(QGuiApplication::platformName().toLower().contains(
"wayland"
))
68
m_screenSavers
.push_back(
new
MythScreenSaverWayland
(
this
, MainWin));
69
#endif
70
71
for
(
auto
* screensaver :
m_screenSavers
)
72
{
73
connect(
this
, &
MythScreenSaverControl::Disable
, screensaver, &
MythScreenSaver::Disable
);
74
connect(
this
, &
MythScreenSaverControl::Reset
, screensaver, &
MythScreenSaver::Reset
);
75
connect(
this
, &
MythScreenSaverControl::Restore
, screensaver, &
MythScreenSaver::Restore
);
76
}
77
}
78
79
bool
MythScreenSaverControl::Asleep
()
80
{
81
for
(
auto
* screensaver :
m_screenSavers
)
82
if
(screensaver->Asleep())
83
return
true
;
84
return
false
;
85
}
MythDisplay
Definition:
mythdisplay.h:23
MythMainWindow
Definition:
mythmainwindow.h:29
MythScreenSaverAndroid
Definition:
mythscreensaverandroid.h:11
MythScreenSaverControl::MythScreenSaverControl
MythScreenSaverControl(MythMainWindow *MainWin, MythDisplay *mDisplay)
Definition:
mythscreensaver.cpp:42
MythScreenSaverControl::Disable
void Disable()
MythScreenSaverControl::Reset
void Reset()
MythScreenSaverControl::Asleep
bool Asleep()
Definition:
mythscreensaver.cpp:79
MythScreenSaverControl::m_screenSavers
std::vector< MythScreenSaver * > m_screenSavers
Definition:
mythscreensaver.h:51
MythScreenSaverControl::Restore
void Restore()
MythScreenSaverDBus
Definition:
mythscreensaverdbus.h:11
MythScreenSaverDRM
Definition:
mythscreensaverdrm.h:9
MythScreenSaverDRM::Create
static MythScreenSaverDRM * Create(QObject *Parent, MythDisplay *mDisplay)
Definition:
mythscreensaverdrm.cpp:5
MythScreenSaverOSX
Definition:
mythscreensaverosx.h:11
MythScreenSaverWayland
Definition:
mythscreensaverwayland.h:13
MythScreenSaverX11
Definition:
mythscreensaverx11.h:11
MythScreenSaver::Restore
virtual void Restore()=0
MythScreenSaver::Reset
virtual void Reset()=0
MythScreenSaver::Disable
virtual void Disable()=0
MythXDisplay
Definition:
mythxdisplay.h:16
MythXDisplay::OpenMythXDisplay
static MythXDisplay * OpenMythXDisplay(bool Warn=true)
Definition:
mythxdisplay.cpp:25
mythmainwindow.h
mythscreensaver.h
mythscreensaverandroid.h
mythscreensaverdbus.h
mythscreensaverdrm.h
mythscreensaverosx.h
mythscreensaverwayland.h
mythscreensaverx11.h
mythxdisplay.h
Generated on Sat Nov 29 2025 03:16:15 for MythTV by
1.9.4