MythTV
master
mythtv
programs
mythwelcome
welcomesettings.cpp
Go to the documentation of this file.
1
//myth
2
#include "
libmythbase/mythcorecontext.h
"
3
#include "
libmythbase/mythdirs.h
"
4
5
// mythwelcome
6
#include "
welcomesettings.h
"
7
9
// daily wakeup/shutdown settings
11
12
#define TR MythWelcomeSettings::tr
13
14
static
StandardSetting
*
DailyWakeupStart
(
const
QString& n)
15
{
16
auto
*gc =
new
GlobalTimeBoxSetting
(
"DailyWakeupStartPeriod"
+ n,
"00:00"
);
17
gc->setLabel(
TR
(
"Period %1 start time"
).arg(n));
18
gc->setHelpText(
TR
(
"Period %1 start time. "
19
"Defines a period the master backend should be awake. "
20
"Set both Start & End times to 00:00 to disable."
).arg(n));
21
return
gc;
22
}
23
24
static
StandardSetting
*
DailyWakeupEnd
(
const
QString& n)
25
{
26
auto
*gc =
new
GlobalTimeBoxSetting
(
"DailyWakeupEndPeriod"
+ n,
"00:00"
);
27
gc->setLabel(
TR
(
"Period %1 end time"
).arg(n));
28
gc->setHelpText(
TR
(
"Period %1 end time. "
29
"Defines a period the master backend should be awake. "
30
"Set both Start & End times to 00:00 to disable."
).arg(n));
31
return
gc;
32
}
33
34
static
StandardSetting
*
DailyWakeup
(
const
QString& n)
35
{
36
auto
*gc =
new
GroupSetting
();
37
38
gc->setLabel(
TR
(
"Daily Wakeup/ShutDown Period %1"
).arg(n));
39
gc->addChild(
DailyWakeupStart
(n));
40
gc->addChild(
DailyWakeupEnd
(n));
41
return
gc;
42
}
43
44
static
StandardSetting
*
AutoStartFrontend
()
45
{
46
auto
*gc =
new
HostCheckBoxSetting
(
"AutoStartFrontend"
);
47
gc->setLabel(
TR
(
"Automatically Start mythfrontend"
));
48
gc->setValue(
true
);
49
gc->setHelpText(
TR
(
"Mythwelcome will automatically "
50
"start mythfrontend if it is determined that it was "
51
"not started to record a program."
));
52
return
gc;
53
}
54
55
static
StandardSetting
*
ShutdownWithBE
()
56
{
57
auto
*gc =
new
HostCheckBoxSetting
(
"ShutdownWithMasterBE"
);
58
gc->setLabel(
TR
(
"Shutdown with Master Backend"
));
59
gc->setValue(
false
);
60
gc->setHelpText(
TR
(
"Mythwelcome will automatically "
61
"shutdown this computer when the master backend shuts "
62
"down. Should only be set on frontend only machines"
));
63
return
gc;
64
}
65
66
MythWelcomeSettings::MythWelcomeSettings
()
67
{
68
setLabel
(tr(
"MythWelcome Settings"
));
69
70
addChild
(
DailyWakeup
(
"1"
));
71
addChild
(
DailyWakeup
(
"2"
));
72
73
addChild
(
AutoStartFrontend
());
74
75
// this setting only makes sense on frontend only machines
76
if
(
gCoreContext
->
IsFrontendOnly
())
77
addChild
(
ShutdownWithBE
());
78
}
79
81
// mythshutdown script settings
83
84
#undef TR
85
#define TR MythShutdownSettings::tr
86
87
static
StandardSetting
*
MythShutdownNvramCmd
()
88
{
89
auto
*gc =
new
HostTextEditSetting
(
"MythShutdownNvramCmd"
);
90
gc->setLabel(
TR
(
"Command to Set Wakeup Time"
));
91
gc->setValue(
"/usr/bin/nvram-wakeup --settime $time"
);
92
gc->setHelpText(
TR
(
"Command to set the wakeup time "
93
"in the BIOS. See the README file for more examples."
));
94
return
gc;
95
}
96
97
static
StandardSetting
*
WakeupTimeFormat
()
98
{
99
auto
*gc =
new
HostComboBoxSetting
(
"MythShutdownWakeupTimeFmt"
,
true
);
100
gc->setLabel(
TR
(
"Wakeup time format"
));
101
gc->addSelection(
"time_t"
);
102
gc->addSelection(
"yyyy-MM-dd hh:mm:ss"
);
103
gc->setHelpText(
TR
(
"The format of the time string "
104
"passed to the \'Set Wakeup Time Command\' as $time. "
105
"See QT::QDateTime.toString() for details. Set to "
106
"'time_t' for seconds since epoch (use time_t for "
107
"nvram_wakeup)."
));
108
return
gc;
109
}
110
111
static
StandardSetting
*
MythShutdownNvramRestartCmd
()
112
{
113
auto
*gc =
new
HostTextEditSetting
(
"MythShutdownNvramRestartCmd"
);
114
gc->setLabel(
TR
(
"nvram-wakeup Restart Command"
));
115
gc->setValue(
"/sbin/grub-set-default 1"
);
116
gc->setHelpText(
TR
(
"Command to run if your bios "
117
"requires you to reboot to allow nvram-wakeup settings "
118
"to take effect. Leave blank if your bios does not "
119
"require a reboot. See the README file for more "
120
"examples."
));
121
return
gc;
122
}
123
124
static
StandardSetting
*
MythShutdownReboot
()
125
{
126
auto
*gc =
new
HostTextEditSetting
(
"MythShutdownReboot"
);
127
gc->setLabel(
TR
(
"Command to reboot"
));
128
gc->setValue(
"/sbin/reboot"
);
129
gc->setHelpText(
TR
(
"Command to reboot computer."
));
130
return
gc;
131
}
132
133
static
StandardSetting
*
MythShutdownPowerOff
()
134
{
135
auto
*gc =
new
HostTextEditSetting
(
"MythShutdownPowerOff"
);
136
gc->setLabel(
TR
(
"Command to shutdown"
));
137
gc->setValue(
"/sbin/poweroff"
);
138
gc->setHelpText(
TR
(
"Command to shutdown computer."
));
139
return
gc;
140
}
141
142
static
StandardSetting
*
MythShutdownStartFECmd
()
143
{
144
auto
*gc =
new
HostTextEditSetting
(
"MythWelcomeStartFECmd"
);
145
gc->setLabel(
TR
(
"Command to run to start the Frontend"
));
146
gc->setValue(
GetAppBinDir
() +
"mythfrontend"
);
147
gc->setHelpText(
TR
(
"Command to start mythfrontend."
));
148
return
gc;
149
}
150
151
static
StandardSetting
*
MythShutdownXTermCmd
()
152
{
153
auto
*gc =
new
HostTextEditSetting
(
"MythShutdownXTermCmd"
);
154
gc->setLabel(
TR
(
"Command to run Xterm"
));
155
gc->setValue(
"xterm"
);
156
gc->setHelpText(
TR
(
"Command to start an Xterm. Can "
157
"be disabled by leaving this "
158
"setting blank."
));
159
return
gc;
160
}
161
162
MythShutdownSettings::MythShutdownSettings
()
163
{
164
setLabel
(tr(
"MythShutdown/MythWelcome Settings"
));
165
addChild
(
MythShutdownNvramCmd
());
166
addChild
(
WakeupTimeFormat
());
167
addChild
(
MythShutdownNvramRestartCmd
());
168
addChild
(
MythShutdownReboot
());
169
addChild
(
MythShutdownPowerOff
());
170
addChild
(
MythShutdownXTermCmd
());
171
addChild
(
MythShutdownStartFECmd
());
172
}
welcomesettings.h
MythWelcomeSettings::MythWelcomeSettings
MythWelcomeSettings()
Definition:
welcomesettings.cpp:66
DailyWakeupStart
static StandardSetting * DailyWakeupStart(const QString &n)
Definition:
welcomesettings.cpp:14
MythCoreContext::IsFrontendOnly
bool IsFrontendOnly(void)
is there a frontend, but no backend, running on this host
Definition:
mythcorecontext.cpp:749
HostTextEditSetting
Definition:
standardsettings.h:168
MythShutdownSettings::MythShutdownSettings
MythShutdownSettings()
Definition:
welcomesettings.cpp:162
DailyWakeup
static StandardSetting * DailyWakeup(const QString &n)
Definition:
welcomesettings.cpp:34
TR
#define TR
Definition:
welcomesettings.cpp:85
mythdirs.h
HostCheckBoxSetting
Definition:
standardsettings.h:417
StandardSetting::addChild
virtual void addChild(StandardSetting *child)
Definition:
standardsettings.cpp:71
GlobalTimeBoxSetting
Definition:
standardsettings.h:301
MythShutdownXTermCmd
static StandardSetting * MythShutdownXTermCmd()
Definition:
welcomesettings.cpp:151
MythShutdownNvramRestartCmd
static StandardSetting * MythShutdownNvramRestartCmd()
Definition:
welcomesettings.cpp:111
WakeupTimeFormat
static StandardSetting * WakeupTimeFormat()
Definition:
welcomesettings.cpp:97
MythShutdownPowerOff
static StandardSetting * MythShutdownPowerOff()
Definition:
welcomesettings.cpp:133
gCoreContext
MythCoreContext * gCoreContext
This global variable contains the MythCoreContext instance for the app.
Definition:
mythcorecontext.cpp:55
ShutdownWithBE
static StandardSetting * ShutdownWithBE()
Definition:
welcomesettings.cpp:55
StandardSetting::setLabel
virtual void setLabel(QString str)
Definition:
standardsettings.h:34
DailyWakeupEnd
static StandardSetting * DailyWakeupEnd(const QString &n)
Definition:
welcomesettings.cpp:24
MythShutdownNvramCmd
static StandardSetting * MythShutdownNvramCmd()
Definition:
welcomesettings.cpp:87
mythcorecontext.h
HostComboBoxSetting
Definition:
standardsettings.h:257
MythShutdownStartFECmd
static StandardSetting * MythShutdownStartFECmd()
Definition:
welcomesettings.cpp:142
GetAppBinDir
QString GetAppBinDir(void)
Definition:
mythdirs.cpp:253
StandardSetting
Definition:
standardsettings.h:29
MythShutdownReboot
static StandardSetting * MythShutdownReboot()
Definition:
welcomesettings.cpp:124
AutoStartFrontend
static StandardSetting * AutoStartFrontend()
Definition:
welcomesettings.cpp:44
GroupSetting
Definition:
standardsettings.h:435
Generated on Mon Nov 25 2024 03:16:20 for MythTV by
1.8.17