1#ifndef STANDARDSETTINGS_H_
2#define STANDARDSETTINGS_H_
4#include <initializer_list>
34 virtual void setLabel(QString str) { m_label = std::move(str); }
35 QString
getLabel(
void)
const {
return m_label; }
37 virtual void setHelpText(
const QString &str) { m_helptext = str; emit helpTextChanged(m_helptext); }
40 virtual void setName(
const QString &name);
41 QString
getName(
void)
const {
return m_name; }
48 void setChanged(
bool changed);
52 virtual QString
getValue(
void)
const {
return m_settingValue;}
57 void SetDBValue(
const QString &val)
override { setValue(val); }
58 QString
GetDBValue(
void)
const override {
return getValue(); }
65 virtual QList<StandardSetting *> *getSubSettings();
66 virtual bool haveSubSettings();
67 virtual void clearSettings();
68 void clearTargetedSettings(
const QString &value);
73 virtual void Load(
void);
74 virtual void Save(
void);
82 void addTargetedChildren(
const QString &value,
83 std::initializer_list<StandardSetting *> settings);
86 virtual bool keyPressEvent(QKeyEvent *event);
88 void MoveToThread(QThread *thread);
91 virtual void setEnabled(
bool enabled);
92 virtual void setReadOnly(
bool readonly);
93 void setVisible(
bool visible);
94 virtual void setValue(
const QString &newValue);
95 virtual void setValue(
int newValue);
108 : m_storage(_storage) {}
112 bool m_enabled {
true};
113 bool m_readonly {
false};
117 bool m_visible {
true};
120 bool m_haveChanged {
false};
132 void Save(
void)
override;
152 void SetPasswordEcho(
bool b);
157 bool m_passwordEcho {
false};
204 void SetNameFilter(QStringList filter) { m_nameFilter = std::move(filter); };
209 QDir::Filters m_typeFilter {QDir::AllDirs | QDir::Drives |
210 QDir::Files | QDir::Readable |
211 QDir::Writable | QDir::Executable};
212 QStringList m_nameFilter {
"*"};
237 void setValue(
int value)
override;
238 int getValueIndex(
const QString &value)
const;
239 QString getValueLabel(
void)
const;
242 void addSelection(
const QString &label, QString value = QString(),
243 bool select =
false);
244 void clearSelections();
247 virtual int size(
void)
const;
250 void setValue(
const QString &newValue)
override;
268 bool m_isSet {
false};
308 const QString &defaultTime =
"00:00",
309 const int interval = 1) :
312 for (
int hour = 0; hour < 24; hour++)
314 for (
int minute = 0; minute < 60; minute += interval)
316 QString timeStr = QString(
"%1:%2")
317 .arg(hour, 2,10,QChar(
'0'))
318 .arg(minute,2,10,QChar(
'0'));
319 addSelection(timeStr, timeStr,
320 timeStr == defaultTime);
330 const QString &defaultTime =
"00:00",
331 const int interval = 1) :
334 for (
int hour = 0; hour < 24; hour++)
336 for (
int minute = 0; minute < 60; minute += interval)
338 QString timeStr = QString(
"%1:%2")
339 .arg(hour, 2,10,QChar(
'0'))
340 .arg(minute,2,10,QChar(
'0'));
341 addSelection(timeStr, timeStr,
342 timeStr == defaultTime);
368 int pageMultiple = 8,
369 QString special_value_text = QString());
382 int pageMultiple = 5,
383 const QString &special_value_text = QString()) :
393 int pageMultiple = 8,
394 const QString &special_value_text = QString()) :
396 pageMultiple, special_value_text)
409 int pageMultiple = 8,
410 const QString &special_value_text = QString()) :
412 pageMultiple, special_value_text)
433 void setValue(
const QString &newValue)
override;
434 virtual void setValue(
bool value);
523 bool Create(
void)
override;
524 void customEvent(QEvent *event)
override;
525 bool keyPressEvent(QKeyEvent *event)
override;
526 void ShowMenu(
void)
override;
527 void deleteEntry(
void);
530 void Close(
void)
override;
532 void editEntry(
void);
533 void deleteSelected(
void);
534 void deleteEntryConfirmed(
bool ok);
537 void Load(
void)
override;
538 void Init(
void)
override;
559 bool m_loaded {
false};
void resultEdit(DialogCompletionEvent *) override
void edit(MythScreenType *) override
Event dispatched from MythUI modal dialogs to a listening class containing a result of some form.
~GlobalCheckBoxSetting() override
GlobalCheckBoxSetting(const QString &name)
GlobalComboBoxSetting(const QString &name, bool rw=false)
~GlobalComboBoxSetting() override
~GlobalSpinBoxSetting() override
GlobalSpinBoxSetting(const QString &name, int min, int max, int step, int pageMultiple=8, const QString &special_value_text=QString())
GlobalTextEditSetting(const QString &name)
~GlobalTextEditSetting() override
GlobalTimeBoxSetting(const QString &name, const QString &defaultTime="00:00", const int interval=1)
virtual void applyChange()
virtual void deleteEntry(void)
virtual bool canDelete(void)
void resultEdit(DialogCompletionEvent *) override
~HostCheckBoxSetting() override
HostCheckBoxSetting(const QString &name)
HostComboBoxSetting(const QString &name, bool rw=false)
~HostComboBoxSetting() override
~HostFileBrowserSetting() override
HostFileBrowserSetting(const QString &name)
~HostSpinBoxSetting() override
HostSpinBoxSetting(const QString &name, int min, int max, int step, int pageMultiple=8, const QString &special_value_text=QString())
HostTextEditSetting(const QString &name)
~HostTextEditSetting() override
HostTimeBoxSetting(const QString &name, const QString &defaultTime="00:00", const int interval=1)
Basic menu dialog, message and a list of options.
Screen in which all other widgets are contained and rendered.
QVector< QString > m_labels
QVector< QString > m_values
MythUIComboBoxSetting(Storage *_storage=nullptr, bool rw=false)
Create a Setting Widget to select the value from a list.
void SetNameFilter(QStringList filter)
void SetTypeFilter(QDir::Filters filter)
MythUIFileBrowserSetting(Storage *_storage)
QString m_specialValueText
MythUITextEditSetting(Storage *_storage=nullptr)
All purpose text widget, displays a text string.
StandardSettingDialog(MythScreenStack *parent, const char *name, GroupSetting *groupSettings=nullptr)
void valueChanged(StandardSetting *setting)
void helpTextChanged(const QString &newValue)
QString getHelpText(void) const
bool isVisible(void) const
void SetDBValue(const QString &val) override
QString getName(void) const
void settingsChanged(StandardSetting *selectedSetting=nullptr)
virtual void setHelpText(const QString &str)
QString getLabel(void) const
StandardSetting * getParent() const
virtual void edit(MythScreenType *screen)=0
void ShouldRedraw(StandardSetting *setting)
virtual void childChanged(StandardSetting *)
QMap< QString, QList< StandardSetting * > > m_targets
virtual void resultEdit(DialogCompletionEvent *dce)=0
virtual void setValue(const QString &newValue)
Storage * GetStorage(void) const
QList< StandardSetting * > m_children
StandardSetting(Storage *_storage=nullptr)
QString GetDBValue(void) const override
void valueChanged(const QString &newValue)
virtual QString getValue(void) const
virtual void setLabel(QString str)
TransMythUICheckBoxSetting()=default
TransMythUIComboBoxSetting(bool rw=false)
TransMythUISpinBoxSetting(int min, int max, int step, int pageMultiple=5, const QString &special_value_text=QString())
TransTextEditSetting()=default
Q_DECLARE_METATYPE(StandardSetting *)
uint fillSelectionsFromDir(const QDir &dir, uint minor_min, uint minor_max, const QString &card, const QRegularExpression &driver, bool allow_duplicates, V2CaptureDeviceList *pList, const QString &cardType)