diff options
Diffstat (limited to 'rbutil/rbutilqt/base/rbsettings.h')
-rw-r--r-- | rbutil/rbutilqt/base/rbsettings.h | 79 |
1 files changed, 38 insertions, 41 deletions
diff --git a/rbutil/rbutilqt/base/rbsettings.h b/rbutil/rbutilqt/base/rbsettings.h index 341577abc8..4f2a5c3617 100644 --- a/rbutil/rbutilqt/base/rbsettings.h +++ b/rbutil/rbutilqt/base/rbsettings.h | |||
@@ -29,23 +29,15 @@ class QSettings; | |||
29 | class RbSettings : public QObject | 29 | class RbSettings : public QObject |
30 | { | 30 | { |
31 | Q_OBJECT | 31 | Q_OBJECT |
32 | |||
33 | public: | 32 | public: |
34 | RbSettings() {} | 33 | //! Type of requested usb-id map |
35 | |||
36 | //! open the settings files | ||
37 | void open(); | ||
38 | //! call this to flush the user Settings | ||
39 | void sync(); | ||
40 | |||
41 | // returns the filename of the usersettings file | ||
42 | QString userSettingFilename(); | ||
43 | |||
44 | enum MapType { | 34 | enum MapType { |
45 | MapDevice, | 35 | MapDevice, |
46 | MapError, | 36 | MapError, |
47 | MapIncompatible, | 37 | MapIncompatible, |
48 | }; | 38 | }; |
39 | |||
40 | //! All user settings | ||
49 | enum UserSettings { | 41 | enum UserSettings { |
50 | RbutilVersion, | 42 | RbutilVersion, |
51 | CurrentPlatform, | 43 | CurrentPlatform, |
@@ -76,6 +68,8 @@ class RbSettings : public QObject | |||
76 | EncoderQuality, | 68 | EncoderQuality, |
77 | EncoderVolume, | 69 | EncoderVolume, |
78 | }; | 70 | }; |
71 | |||
72 | //! All system settings | ||
79 | enum SystemSettings { | 73 | enum SystemSettings { |
80 | ManualUrl, | 74 | ManualUrl, |
81 | BleedingUrl, | 75 | BleedingUrl, |
@@ -103,40 +97,43 @@ class RbSettings : public QObject | |||
103 | CurConfigureModel, | 97 | CurConfigureModel, |
104 | CurTargetId, | 98 | CurTargetId, |
105 | }; | 99 | }; |
106 | 100 | ||
107 | QVariant value(enum SystemSettings setting); | 101 | //! call this to flush the user Settings |
108 | // generic and "current selection" values -- getters | 102 | static void sync(); |
109 | QVariant value(enum UserSettings setting) | 103 | //! returns the filename of the usersettings file |
110 | { QString empty; return subValue(empty, setting); } | 104 | static QString userSettingFilename(); |
111 | void setValue(enum UserSettings setting , QVariant value) | 105 | //! return a list of all platforms (rbutil internal names) |
112 | { QString empty; return setSubValue(empty, setting, value); } | 106 | static QStringList platforms(void); |
113 | 107 | //! returns a list of all languages | |
114 | QVariant subValue(QString& sub, enum UserSettings setting); | 108 | static QStringList languages(void); |
115 | QVariant subValue(const char* sub, enum UserSettings setting) | 109 | //! maps a platform to its name |
116 | { QString s = sub; return subValue(s, setting); } | 110 | static QString name(QString plattform); |
117 | void setSubValue(QString& sub, enum UserSettings setting, QVariant value); | 111 | //! maps a platform to its brand |
118 | void setSubValue(const char* sub, enum UserSettings setting, QVariant value) | 112 | static QString brand(QString plattform); |
119 | { QString s = sub; return setSubValue(s, setting, value); } | 113 | //! returns a map of usb-ids and their targets |
120 | 114 | static QMap<int, QString> usbIdMap(enum MapType); | |
121 | QStringList platforms(void); | 115 | //! get a value from system settings |
122 | QStringList languages(void); | 116 | static QVariant value(enum SystemSettings setting); |
123 | 117 | //! get a vaulue from user settings | |
124 | QString name(QString plattform); | 118 | static QVariant value(enum UserSettings setting); |
125 | QString brand(QString plattform); | 119 | //! set a user setting value |
126 | 120 | static void setValue(enum UserSettings setting , QVariant value); | |
127 | QMap<int, QString> usbIdMap(enum MapType); | 121 | //! get a user setting from a subvalue (ie for encoders and tts engines) |
122 | static QVariant subValue(QString sub, enum UserSettings setting); | ||
123 | //! set a user setting from a subvalue (ie for encoders and tts engines) | ||
124 | static void setSubValue(QString sub, enum UserSettings setting, QVariant value); | ||
128 | 125 | ||
129 | private: | 126 | private: |
130 | //! private copy constructors to prvent copying | 127 | //! you shouldnt call this, its a fully static calls |
131 | RbSettings& operator= (const RbSettings& other) | 128 | RbSettings() {} |
132 | { (void)other; return *this; } | 129 | //! create the setting objects if neccessary |
133 | RbSettings(const RbSettings& other) :QObject() | 130 | static void ensureRbSettingsExists(); |
134 | { (void)other; } | 131 | //! create a settings path, substitute platform, tts and encoder |
135 | QString constructSettingPath(QString path, QString substitute = QString()); | 132 | static QString constructSettingPath(QString path, QString substitute = QString()); |
136 | 133 | ||
137 | //! pointers to our setting objects | 134 | //! pointers to our setting objects |
138 | QSettings *systemSettings; | 135 | static QSettings *systemSettings; |
139 | QSettings *userSettings; | 136 | static QSettings *userSettings; |
140 | }; | 137 | }; |
141 | 138 | ||
142 | #endif | 139 | #endif |