MythTV master
globalsettings.h
Go to the documentation of this file.
1#ifndef MYTHSETTINGS_H
2#define MYTHSETTINGS_H
3
4// Qt
5#include <QtGlobal>
6#include <QCoreApplication>
7#include <QMutex>
8#include <QObject>
9#include <QStringList>
10
11// MythTV
12#include "libmythbase/mythconfig.h"
15
16class QFileInfo;
17
19{
20 Q_OBJECT
21
22 public:
24 void ShowMenu(void) override; // StandardSettingDialog
25
26 protected slots:
28 void DeleteProfileItem(void);
29 void MoveProfileItemDown(void);
30 void MoveProfileItemUp(void);
31};
32
34{
35 Q_OBJECT
36
37 public:
39 void Load(void) override; // StandardSetting
40
41 private slots:
42 void NewPlaybackProfileSlot(void) const;
43 void CreateNewPlaybackProfileSlot(const QString &name);
44
45 private:
48};
49
51{
52 Q_OBJECT
53
54 public:
55 explicit VideoModeSettings(const char *c);
56 void updateButton(MythUIButtonListItem *item) override;
57};
58
60{
61 Q_DECLARE_TR_FUNCTIONS(LcdSettings)
62};
63
64
66{
67 Q_DECLARE_TR_FUNCTIONS(WatchListSettings)
68};
69
71{
72 Q_DECLARE_TR_FUNCTIONS(ChannelGroupSettings)
73};
74
75#ifdef Q_OS_DARWIN
76class MacMainSettings : public GroupSetting
77{
78#if QT_VERSION < QT_VERSION_CHECK(6,0,0)
79 Q_OBJECT
80#else
81 Q_DECLARE_TR_FUNCTIONS(MacMainSettings);
82#endif
83 public:
84 MacMainSettings();
85};
86
87class MacFloatSettings : public GroupSetting
88{
89#if QT_VERSION < QT_VERSION_CHECK(6,0,0)
90 Q_OBJECT
91#else
92 Q_DECLARE_TR_FUNCTIONS(MacFloatSettings);
93#endif
94
95 public:
96 MacFloatSettings();
97};
98
99
100class MacDockSettings : public GroupSetting
101{
102#if QT_VERSION < QT_VERSION_CHECK(6,0,0)
103 Q_OBJECT
104#else
105 Q_DECLARE_TR_FUNCTIONS(MacDockSettings);
106#endif
107
108 public:
109 MacDockSettings();
110};
111
112
113class MacDesktopSettings : public GroupSetting
114{
115#if QT_VERSION < QT_VERSION_CHECK(6,0,0)
116 Q_OBJECT
117#else
118 Q_DECLARE_TR_FUNCTIONS(MacDesktopSettings);
119#endif
120
121 public:
122 MacDesktopSettings();
123};
124#endif // Q_OS_DARWIN
125
127{
129
130 public:
131 OSDSettings();
132};
133
135{
137
138 public:
140};
141
143{
145
146 public:
147 EPGSettings();
148};
149
150class MythDisplay;
152{
153 Q_OBJECT
154
155 public:
157 ~AppearanceSettings() override = default;
158 void applyChange() override; // GroupSetting
159
160 public slots:
161 void PopulateScreens(int Screens);
162
163 private:
166 MythDisplay *m_display { nullptr };
167};
168
170{
171 Q_OBJECT
172
173 public:
174 explicit HostRefreshRateComboBoxSetting(const QString &name) :
175 HostComboBoxSetting(name) { }
177
178 public slots:
179 virtual void ChangeResolution(StandardSetting *setting);
180
181 private:
182 static std::vector<double> GetRefreshRates(const QString &resolution);
183};
184
186{
187 Q_OBJECT
188
189 public:
191 void applyChange() override; // GroupSetting
192
193#if CONFIG_LIBCEC
194 public slots:
195 void cecChanged(bool setting);
196 protected:
197 HostCheckBoxSetting *m_cecPowerOnTVAllowed {nullptr};
198 HostCheckBoxSetting *m_cecPowerOffTVAllowed {nullptr};
199 HostCheckBoxSetting *m_cecPowerOnTVOnStart {nullptr};
200 HostCheckBoxSetting *m_cecPowerOffTVOnExit {nullptr};
201#endif // CONFIG_LIBCEC
202};
203
205{
207
208 public:
210};
211
214{
215 Q_OBJECT
216
217 public:
219 MythVideoProfileItem &_item);
220
221 void Load(void) override; // StandardSetting
222 void Save(void) override; // StandardSetting
223
224 bool keyPressEvent(QKeyEvent *e) override; // StandardSetting
225 uint GetIndex(void) const;
226 void ShowDeleteDialog(void) const;
227 void DecreasePriority(void);
228 void IncreasePriority(void);
229
230 private slots:
231 void widthChanged(const QString &val);
232 void heightChanged(const QString &val);
233 void framerateChanged(const QString &val);
234 void decoderChanged(const QString &dec);
235 void vrenderChanged(const QString &renderer);
236 void SingleQualityChanged(const QString &Quality);
237 void DoubleQualityChanged(const QString &Quality);
238 static void LoadQuality(TransMythUIComboBoxSetting *Deint,
241 QString &Value);
242 static QString GetQuality(TransMythUIComboBoxSetting *Deint,
245 void InitLabel(void);
246 void DoDeleteSlot(bool doDelete);
247
248 private:
267};
268
270{
271 Q_OBJECT
272
273 public:
274 PlaybackProfileConfig(QString profilename, StandardSetting *parent);
275 ~PlaybackProfileConfig() override = default;
276
277 void Save(void) override; // StandardSetting
278
280
281 // This function doesn't guarantee that no exceptions will be thrown.
282 void swap(int indexA, int indexB); // NOLINT(performance-noexcept-swap)
283
284 private slots:
285 void AddNewEntry(void);
286
287 private:
288 void InitUI(StandardSetting *parent);
290
291 private:
292 void ReloadSettings(void);
293 std::vector<MythVideoProfileItem> m_items;
294 std::vector<MythVideoProfileItem> m_delItems;
297
300 std::vector<PlaybackProfileItemConfig*> m_profiles;
301 std::vector<TransMythUISpinBoxSetting*> m_priority;
302};
303
305{
306 Q_OBJECT
307
308 public:
309 ChannelGroupSetting(const QString &groupName, int groupId);
310 void Load() override; // StandardSetting
311 void Save() override; // StandardSetting
312 bool canDelete(void) override; // GroupSetting
313 void deleteEntry(void) override; // GroupSetting
314
315 public slots:
316 void LoadChannelGroup(void);
317 void LoadChannelGroupChannels(void);
318
319 private:
320 int m_groupId {-1};
323 std::map<std::pair<int,uint>, TransMythUICheckBoxSetting *> m_boxMap;
324};
325
327{
328 Q_OBJECT
329
330 public:
332 void Load() override; // StandardSetting
333
334 public slots:
335 void ShowNewGroupDialog(void) const;
336 void CreateNewGroup(const QString& name);
337
338 private:
340};
341
342#endif
MythDisplay * m_display
void PopulateScreens(int Screens)
void applyChange() override
HostComboBoxSetting * m_screenAspect
HostComboBoxSetting * m_screen
~AppearanceSettings() override=default
void Load() override
TransTextEditSetting * m_groupName
ChannelGroupSetting(const QString &groupName, int groupId)
void Save() override
std::map< std::pair< int, uint >, TransMythUICheckBoxSetting * > m_boxMap
HostComboBoxSetting * m_groupSelection
void LoadChannelGroupChannels(void)
void deleteEntry(void) override
bool canDelete(void) override
void ShowNewGroupDialog(void) const
void CreateNewGroup(const QString &name)
ButtonStandardSetting * m_addGroupButton
Q_DECLARE_TR_FUNCTIONS(EPGSettings)
Q_DECLARE_TR_FUNCTIONS(GeneralRecPrioritiesSettings)
Q_DECLARE_TR_FUNCTIONS(GeneralSettings)
~HostRefreshRateComboBoxSetting() override=default
HostRefreshRateComboBoxSetting(const QString &name)
static std::vector< double > GetRefreshRates(const QString &resolution)
virtual void ChangeResolution(StandardSetting *setting)
void applyChange() override
Q_DECLARE_TR_FUNCTIONS(OSDSettings)
std::vector< PlaybackProfileItemConfig * > m_profiles
PlaybackProfileConfig(QString profilename, StandardSetting *parent)
TransMythUICheckBoxSetting * m_markForDeletion
void swap(int indexA, int indexB)
std::vector< MythVideoProfileItem > m_items
void Save(void) override
void DeleteProfileItem(PlaybackProfileItemConfig *profile)
ButtonStandardSetting * m_addNewEntry
std::vector< TransMythUISpinBoxSetting * > m_priority
void InitUI(StandardSetting *parent)
std::vector< MythVideoProfileItem > m_delItems
StandardSetting * InitProfileItem(uint i, StandardSetting *parent)
~PlaybackProfileConfig() override=default
void decoderChanged(const QString &dec)
TransTextEditSetting * m_heightRange
void framerateChanged(const QString &val)
TransMythUICheckBoxSetting * m_skipLoop
static QString GetQuality(TransMythUIComboBoxSetting *Deint, TransMythUICheckBoxSetting *Shader, TransMythUICheckBoxSetting *Driver)
TransMythUIComboBoxSetting * m_singleDeint
TransTextEditSetting * m_widthRange
void Save(void) override
TransTextEditSetting * m_framerate
void DoDeleteSlot(bool doDelete)
TransMythUICheckBoxSetting * m_doubleDriver
TransMythUIComboBoxSetting * m_upscaler
void DoubleQualityChanged(const QString &Quality)
MythVideoProfileItem & m_item
MythUIComboBoxSetting * m_codecs
PlaybackProfileConfig * m_parentConfig
void widthChanged(const QString &val)
TransMythUICheckBoxSetting * m_singleDriver
TransMythUICheckBoxSetting * m_singleShader
TransMythUICheckBoxSetting * m_doubleShader
static void LoadQuality(TransMythUIComboBoxSetting *Deint, TransMythUICheckBoxSetting *Shader, TransMythUICheckBoxSetting *Driver, QString &Value)
Parse the required deinterlacing quality and preferences.
bool keyPressEvent(QKeyEvent *e) override
PlaybackProfileItemConfig(PlaybackProfileConfig *parent, uint idx, MythVideoProfileItem &_item)
TransMythUIComboBoxSetting * m_doubleDeint
TransMythUISpinBoxSetting * m_maxCpus
void Load(void) override
TransMythUIComboBoxSetting * m_decoder
void vrenderChanged(const QString &renderer)
void heightChanged(const QString &val)
void ShowDeleteDialog(void) const
void SingleQualityChanged(const QString &Quality)
TransMythUIComboBoxSetting * m_vidRend
void ShowPlaybackProfileMenu(MythUIButtonListItem *item)
void ShowMenu(void) override
PlaybackSettingsDialog(MythScreenStack *stack)
void NewPlaybackProfileSlot(void) const
void Load(void) override
MythUIComboBoxSetting * m_playbackProfiles
void CreateNewPlaybackProfileSlot(const QString &name)
ButtonStandardSetting * m_newPlaybackProfileButton
void updateButton(MythUIButtonListItem *item) override
This method is called whenever the UI need to reflect a change Reimplement this If you widget need a ...
VideoModeSettings(const char *c)
unsigned int uint
Definition: freesurround.h:24