Go to the documentation of this file. 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);
99 void valueChanged(
const QString &newValue);
104 void helpTextChanged(
const QString &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};
193 void SetTypeFilter(QDir::Filters filter) { m_typeFilter = filter; };
194 void SetNameFilter(QStringList filter) { m_nameFilter = std::move(filter); };
199 QDir::Filters m_typeFilter {QDir::AllDirs | QDir::Drives |
200 QDir::Files | QDir::Readable |
201 QDir::Writable | QDir::Executable};
202 QStringList m_nameFilter {
"*"};
223 int getValueIndex(
const QString &value)
const;
224 QString getValueLabel(
void)
const;
227 void addSelection(
const QString &label, QString value = QString(),
228 bool select =
false);
229 void clearSelections();
232 virtual int size(
void)
const;
235 void setValue(
const QString &newValue)
override;
248 QVector<QString> m_labels;
249 QVector<QString> m_values;
253 bool m_isSet {
false};
283 const QString &defaultTime =
"00:00",
284 const int interval = 1) :
287 for (
int hour = 0; hour < 24; hour++)
289 for (
int minute = 0; minute < 60; minute += interval)
291 QString timeStr = QString(
"%1:%2")
292 .arg(hour, 2,10,QChar(
'0'))
293 .arg(minute,2,10,QChar(
'0'));
295 timeStr == defaultTime);
305 const QString &defaultTime =
"00:00",
306 const int interval = 1) :
309 for (
int hour = 0; hour < 24; hour++)
311 for (
int minute = 0; minute < 60; minute += interval)
313 QString timeStr = QString(
"%1:%2")
314 .arg(hour, 2,10,QChar(
'0'))
315 .arg(minute,2,10,QChar(
'0'));
317 timeStr == defaultTime);
343 int pageMultiple = 8,
344 QString special_value_text = QString());
350 QString m_specialValueText;
357 int pageMultiple = 5,
358 const QString &special_value_text = QString()) :
368 int pageMultiple = 8,
369 const QString &special_value_text = QString()) :
371 pageMultiple, special_value_text)
379 int pageMultiple = 8,
380 const QString &special_value_text = QString()) :
382 pageMultiple, special_value_text)
398 void setValue(
const QString &newValue)
override;
401 bool boolValue() {
return m_settingValue ==
"1"; }
444 virtual void applyChange() {}
446 virtual bool canDelete(
void) {
return false;}
447 virtual void deleteEntry(
void) {}
478 bool Create(
void)
override;
482 void deleteEntry(
void);
485 void Close(
void)
override;
487 void editEntry(
void);
488 void deleteSelected(
void);
489 void deleteEntryConfirmed(
bool ok);
492 void Load(
void)
override;
493 void Init(
void)
override;
514 bool m_loaded {
false};
TransMythUIComboBoxSetting(bool rw=false)
void SetDBValue(const QString &val) override
void resultEdit(DialogCompletionEvent *) override
TransMythUISpinBoxSetting(int min, int max, int step, int pageMultiple=5, const QString &special_value_text=QString())
GlobalTimeBoxSetting(const QString &name, const QString &defaultTime="00:00", const int interval=1)
QString getLabel(void) const
HostFileBrowserSetting(const QString &name)
virtual void setValue(const QString &newValue)
StandardSetting(Storage *_storage=nullptr)
virtual bool Create(void)
void customEvent(QEvent *event) override
Screen in which all other widgets are contained and rendered.
virtual void Load(void)
Load data which will ultimately be displayed on-screen or used to determine what appears on-screen (S...
Q_DECLARE_METATYPE(StandardSetting *)
GlobalTextEditSetting(const QString &name)
Storage * GetStorage(void) const
GlobalComboBoxSetting(const QString &name, bool rw=false)
HostCheckBoxSetting(const QString &name)
virtual void resultEdit(DialogCompletionEvent *dce)=0
QString getName(void) const
Basic menu dialog, message and a list of options.
StandardSetting * getParent() const
HostComboBoxSetting(const QString &name, bool rw=false)
virtual void setHelpText(const QString &str)
QMap< QString, QList< StandardSetting * > > m_targets
virtual QString getValue(void) const
virtual void Init(void)
Used after calling Load() to assign data to widgets and other UI initilisation which is prohibited in...
GlobalSpinBoxSetting(const QString &name, int min, int max, int step, int pageMultiple=8, const QString &special_value_text=QString())
GlobalCheckBoxSetting(const QString &name)
virtual void setLabel(QString str)
QString GetDBValue(void) const override
void valueChanged(const QString &newValue)
void addSelection(const QString &label, QString value=QString(), bool select=false)
All purpose text widget, displays a text string.
bool keyPressEvent(QKeyEvent *event) override
Key event handler.
static void fillSelectionsFromDir(const QDir &dir, AudioOutput::ADCVect *list)
virtual void edit(MythScreenType *screen)=0
HostTextEditSetting(const QString &name)
QString getHelpText(void) const
Event dispatched from MythUI modal dialogs to a listening class containing a result of some form.
bool isVisible(void) const
virtual void ShowMenu(void)
HostTimeBoxSetting(const QString &name, const QString &defaultTime="00:00", const int interval=1)
virtual void childChanged(StandardSetting *)
HostSpinBoxSetting(const QString &name, int min, int max, int step, int pageMultiple=8, const QString &special_value_text=QString())
virtual void updateButton(MythUIButtonListItem *item)
This method is called whenever the UI need to reflect a change Reimplement this If you widget need a ...
QList< StandardSetting * > m_children
void edit(MythScreenType *) override