MythTV master
mythsettings.h
Go to the documentation of this file.
1// -*- Mode: c++ -*-
2
3#ifndef MYTHSETTINGS_H
4#define MYTHSETTINGS_H
5
6#include <utility>
7
8// Qt headers
9#include <QMap>
10#include <QStringList>
11
13{
14 public:
15 MythSettingBase() = default;
16 virtual ~MythSettingBase() = default;
17 virtual QString ToHTML(uint /*depth*/) const { return {}; }
18};
19using MythSettingList = QList<MythSettingBase*>;
20
22{
23 public:
24 MythSettingGroup(QString hlabel, QString ulabel,
25 QString script = "") :
26 m_human_label(std::move(hlabel)),
27 m_unique_label(std::move(ulabel)),
28 m_ecma_script(std::move(script)) {}
29
30 QString ToHTML(uint depth) const override; // MythSettingBase
31
32 public:
37};
38
40{
41 public:
42 enum SettingType : std::uint8_t {
47 };
48
49 enum DataType : std::uint8_t {
65 };
66
67 MythSetting(QString _value, const QString& _default_data,
68 SettingType _stype, QString _label,
69 QString _help_text, DataType _dtype) :
70 m_value(std::move(_value)), m_data(_default_data),
71 m_default_data(_default_data), m_stype(_stype),
72 m_label(std::move(_label)), m_help_text(std::move(_help_text)),
73 m_dtype(_dtype)
74 {
75 }
76
77 MythSetting(QString _value, const QString& _default_data,
78 SettingType _stype, QString _label,
79 QString _help_text, DataType _dtype,
80 QStringList _data_list, QStringList _display_list) :
81 m_value(std::move(_value)), m_data(_default_data),
82 m_default_data(_default_data), m_stype(_stype),
83 m_label(std::move(_label)), m_help_text(std::move(_help_text)),
84 m_dtype(_dtype), m_data_list(std::move(_data_list)),
85 m_display_list(std::move(_display_list))
86 {
87 }
88
89 MythSetting(QString _value, const QString& _default_data, SettingType _stype,
90 QString _label, QString _help_text, DataType _dtype,
91 long long _range_min, long long _range_max) :
92 m_value(std::move(_value)), m_data(_default_data),
93 m_default_data(_default_data), m_stype(_stype),
94 m_label(std::move(_label)), m_help_text(std::move(_help_text)),
95 m_dtype(_dtype), m_range_min(_range_min), m_range_max(_range_max)
96 {
97 }
98
99 MythSetting(QString _value, const QString& _default_data, SettingType _stype,
100 QString _label, QString _help_text, DataType _dtype,
101 QStringList _data_list, QStringList _display_list,
102 long long _range_min, long long _range_max,
103 QString _placeholder) :
104 m_value(std::move(_value)), m_data(_default_data),
105 m_default_data(_default_data), m_stype(_stype),
106 m_label(std::move(_label)), m_help_text(std::move(_help_text)),
107 m_dtype(_dtype), m_data_list(std::move(_data_list)),
108 m_display_list(std::move(_display_list)),
109 m_range_min(_range_min), m_range_max(_range_max),
110 m_placeholder_text(std::move(_placeholder))
111 {
112 }
113
114 QString ToHTML(uint level) const override; // MythSettingBase
115
116 public:
117 QString m_value;
118 QString m_data;
121 QString m_label;
122 QString m_help_text;
124 QStringList m_data_list;
125 QStringList m_display_list;
126 long long m_range_min {-1};
127 long long m_range_max {-1};
129};
130
131bool parse_settings(MythSettingList &settings, const QString &filename,
132 const QString &group = "");
133bool load_settings(MythSettingList &settings, const QString &hostname);
134bool check_settings(MythSettingList &database_settings,
135 const QMap<QString,QString> &params, QString &result);
136
137QStringList GetSettingValueList(const QString &type);
138QString StringMapToJSON(const QMap<QString,QString> &map);
139QString StringListToJSON(const QString &key, const QStringList &sList);
140QMap<QString,QString> GetSettingsMap(const MythSettingList &settings, const QString &hostname);
141
142#endif // MYTHSETTINGS_H
virtual QString ToHTML(uint) const
Definition: mythsettings.h:17
virtual ~MythSettingBase()=default
MythSettingBase()=default
MythSettingGroup(QString hlabel, QString ulabel, QString script="")
Definition: mythsettings.h:24
QString m_ecma_script
Definition: mythsettings.h:36
QString m_unique_label
div name for stylesheets & javascript
Definition: mythsettings.h:34
QString ToHTML(uint depth) const override
QString m_human_label
Definition: mythsettings.h:33
MythSettingList m_settings
Definition: mythsettings.h:35
MythSetting(QString _value, const QString &_default_data, SettingType _stype, QString _label, QString _help_text, DataType _dtype, QStringList _data_list, QStringList _display_list, long long _range_min, long long _range_max, QString _placeholder)
Definition: mythsettings.h:99
QString m_help_text
Definition: mythsettings.h:122
DataType m_dtype
Definition: mythsettings.h:123
MythSetting(QString _value, const QString &_default_data, SettingType _stype, QString _label, QString _help_text, DataType _dtype)
Definition: mythsettings.h:67
QStringList m_data_list
Definition: mythsettings.h:124
long long m_range_min
Definition: mythsettings.h:126
@ kComboBox
list where user input is allowed
Definition: mythsettings.h:55
@ kSelect
list where only data_list are valid
Definition: mythsettings.h:54
QString m_default_data
Definition: mythsettings.h:119
SettingType m_stype
Definition: mythsettings.h:120
MythSetting(QString _value, const QString &_default_data, SettingType _stype, QString _label, QString _help_text, DataType _dtype, QStringList _data_list, QStringList _display_list)
Definition: mythsettings.h:77
long long m_range_max
Definition: mythsettings.h:127
QStringList m_display_list
Definition: mythsettings.h:125
QString m_placeholder_text
Definition: mythsettings.h:128
QString m_data
Definition: mythsettings.h:118
QString m_label
Definition: mythsettings.h:121
QString m_value
Definition: mythsettings.h:117
@ kInvalidSettingType
Definition: mythsettings.h:46
MythSetting(QString _value, const QString &_default_data, SettingType _stype, QString _label, QString _help_text, DataType _dtype, long long _range_min, long long _range_max)
Definition: mythsettings.h:89
QString ToHTML(uint level) const override
unsigned int uint
Definition: compat.h:68
QMap< QString, QString > GetSettingsMap(const MythSettingList &settings, const QString &hostname)
QString StringListToJSON(const QString &key, const QStringList &sList)
bool parse_settings(MythSettingList &settings, const QString &filename, const QString &group="")
bool load_settings(MythSettingList &settings, const QString &hostname)
bool check_settings(MythSettingList &database_settings, const QMap< QString, QString > &params, QString &result)
QStringList GetSettingValueList(const QString &type)
QString StringMapToJSON(const QMap< QString, QString > &map)
QList< MythSettingBase * > MythSettingList
Definition: mythsettings.h:19
string hostname
Definition: caa.py:17
STL namespace.