summaryrefslogtreecommitdiff
path: root/rbutil/rbutilqt/base/rbsettings.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'rbutil/rbutilqt/base/rbsettings.cpp')
-rw-r--r--rbutil/rbutilqt/base/rbsettings.cpp60
1 files changed, 58 insertions, 2 deletions
diff --git a/rbutil/rbutilqt/base/rbsettings.cpp b/rbutil/rbutilqt/base/rbsettings.cpp
index bd6f94f2f4..527312b108 100644
--- a/rbutil/rbutilqt/base/rbsettings.cpp
+++ b/rbutil/rbutilqt/base/rbsettings.cpp
@@ -94,9 +94,24 @@ const static struct {
94 { RbSettings::EncoderVolume, ":encoder:/volume", "1.0" }, 94 { RbSettings::EncoderVolume, ":encoder:/volume", "1.0" },
95}; 95};
96 96
97// server settings
98const static struct {
99 RbSettings::ServerSettings setting;
100 const char* name;
101 const char* def;
102} ServerSettingsList[] = {
103 { RbSettings::CurReleaseVersion, ":platform:/releaseversion", "" },
104 { RbSettings::CurStatus, ":platform:/status", "" },
105 { RbSettings::DailyRevision, "dailyrev", "" },
106 { RbSettings::DailyDate, "dailydate", "" },
107 { RbSettings::BleedingRevision, "bleedingrev", "" },
108 { RbSettings::BleedingDate, "bleedingdate", "" },
109};
110
97//! pointer to setting object to NULL 111//! pointer to setting object to NULL
98QSettings* RbSettings::systemSettings = NULL; 112QSettings* RbSettings::systemSettings = NULL;
99QSettings* RbSettings::userSettings = NULL; 113QSettings* RbSettings::userSettings = NULL;
114QSettings* RbSettings::serverSettings = NULL;
100 115
101void RbSettings::ensureRbSettingsExists() 116void RbSettings::ensureRbSettingsExists()
102{ 117{
@@ -106,7 +121,13 @@ void RbSettings::ensureRbSettingsExists()
106 // only use built-in rbutil.ini 121 // only use built-in rbutil.ini
107 systemSettings = new QSettings(":/ini/rbutil.ini", QSettings::IniFormat, 0); 122 systemSettings = new QSettings(":/ini/rbutil.ini", QSettings::IniFormat, 0);
108 } 123 }
109 124
125 if(serverSettings == NULL)
126 {
127 serverSettings = new QSettings(QSettings::IniFormat,
128 QSettings::UserScope, "rockbox.org", "RockboxUtility",NULL);
129 }
130
110 if(userSettings == NULL) 131 if(userSettings == NULL)
111 { 132 {
112 // portable installation: 133 // portable installation:
@@ -200,6 +221,20 @@ QVariant RbSettings::subValue(QString sub, enum UserSettings setting)
200 return userSettings->value(s, UserSettingsList[i].def); 221 return userSettings->value(s, UserSettingsList[i].def);
201} 222}
202 223
224QVariant RbSettings::value(enum ServerSettings setting)
225{
226 ensureRbSettingsExists();
227
228 // locate setting item
229 int i = 0;
230 while(ServerSettingsList[i].setting != setting)
231 i++;
232
233 QString s = constructSettingPath(ServerSettingsList[i].name);
234 qDebug() << "[Settings] GET SERV:" << s << serverSettings->value(s, ServerSettingsList[i].def).toString();
235 return serverSettings->value(s, ServerSettingsList[i].def);
236}
237
203void RbSettings::setValue(enum UserSettings setting , QVariant value) 238void RbSettings::setValue(enum UserSettings setting , QVariant value)
204{ 239{
205 QString empty; 240 QString empty;
@@ -216,8 +251,29 @@ void RbSettings::setSubValue(QString sub, enum UserSettings setting, QVariant va
216 i++; 251 i++;
217 252
218 QString s = constructSettingPath(UserSettingsList[i].name, sub); 253 QString s = constructSettingPath(UserSettingsList[i].name, sub);
219 qDebug() << "[Settings] SET U:" << s << userSettings->value(s).toString();
220 userSettings->setValue(s, value); 254 userSettings->setValue(s, value);
255 qDebug() << "[Settings] SET U:" << s << userSettings->value(s).toString();
256}
257
258void RbSettings::setValue(enum ServerSettings setting, QVariant value)
259{
260 QString empty;
261 return setPlatformValue(empty, setting, value);
262}
263
264void RbSettings::setPlatformValue(QString platform, enum ServerSettings setting, QVariant value)
265{
266 ensureRbSettingsExists();
267
268 // locate setting item
269 int i = 0;
270 while(ServerSettingsList[i].setting != setting)
271 i++;
272
273 QString s = ServerSettingsList[i].name;
274 s.replace(":platform:", platform);
275 serverSettings->setValue(s, value);
276 qDebug() << "[Settings] SET SERV:" << s << serverSettings->value(s).toString();
221} 277}
222 278
223 279