summaryrefslogtreecommitdiff
path: root/rbutil/rbutilqt/base/rbsettings.h
diff options
context:
space:
mode:
authorDominik Wenger <domonoky@googlemail.com>2009-05-09 16:59:14 +0000
committerDominik Wenger <domonoky@googlemail.com>2009-05-09 16:59:14 +0000
commit33d9cf091a62cb217987092d03bf110c35444845 (patch)
tree4ee6be3018e0b71c38d4857f86ad17a08668afdd /rbutil/rbutilqt/base/rbsettings.h
parent8e63df19cbeee2de9470049feae8ae0f9c5a339e (diff)
downloadrockbox-33d9cf091a62cb217987092d03bf110c35444845.tar.gz
rockbox-33d9cf091a62cb217987092d03bf110c35444845.zip
rbutil: make RbSettings a static class. (FS#10183 with improvements)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20890 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'rbutil/rbutilqt/base/rbsettings.h')
-rw-r--r--rbutil/rbutilqt/base/rbsettings.h79
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;
29class RbSettings : public QObject 29class 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