From 6cea3308d05c21aabe073f77c3d013485b0429a0 Mon Sep 17 00:00:00 2001 From: Dominik Riebeling Date: Tue, 11 Aug 2009 17:02:35 +0000 Subject: Clean up accessing system setting values for a specific player. Remove the ugly "save, change and restore platform" accesses and extend the settings class to allow accessing player specific system values. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22254 a1c6a512-1295-4272-9138-f99709370657 --- rbutil/rbutilqt/base/rbsettings.cpp | 20 ++++++++++++++++++++ rbutil/rbutilqt/base/rbsettings.h | 5 ++++- 2 files changed, 24 insertions(+), 1 deletion(-) (limited to 'rbutil/rbutilqt/base') diff --git a/rbutil/rbutilqt/base/rbsettings.cpp b/rbutil/rbutilqt/base/rbsettings.cpp index 8ab340faa3..150640f010 100644 --- a/rbutil/rbutilqt/base/rbsettings.cpp +++ b/rbutil/rbutilqt/base/rbsettings.cpp @@ -220,6 +220,25 @@ void RbSettings::setSubValue(QString sub, enum UserSettings setting, QVariant va userSettings->setValue(s, value); } + +QVariant RbSettings::platformValue(QString platform, enum SystemSettings setting) +{ + ensureRbSettingsExists(); + + // locate setting item + int i = 0; + while(SystemSettingsList[i].setting != setting) + i++; + + QString s = SystemSettingsList[i].name; + s.replace(":platform:", platform); + QString d = SystemSettingsList[i].def; + d.replace(":platform:", platform); + qDebug() << "[Settings] GET P:" << s << systemSettings->value(s, d).toString(); + return systemSettings->value(s, d); +} + + QStringList RbSettings::platforms() { ensureRbSettingsExists(); @@ -250,6 +269,7 @@ QStringList RbSettings::languages() return result; } + QString RbSettings::name(QString platform) { ensureRbSettingsExists(); diff --git a/rbutil/rbutilqt/base/rbsettings.h b/rbutil/rbutilqt/base/rbsettings.h index 4f2a5c3617..c9aceb4039 100644 --- a/rbutil/rbutilqt/base/rbsettings.h +++ b/rbutil/rbutilqt/base/rbsettings.h @@ -114,7 +114,7 @@ class RbSettings : public QObject static QMap usbIdMap(enum MapType); //! get a value from system settings static QVariant value(enum SystemSettings setting); - //! get a vaulue from user settings + //! get a value from user settings static QVariant value(enum UserSettings setting); //! set a user setting value static void setValue(enum UserSettings setting , QVariant value); @@ -122,6 +122,8 @@ class RbSettings : public QObject static QVariant subValue(QString sub, enum UserSettings setting); //! set a user setting from a subvalue (ie for encoders and tts engines) static void setSubValue(QString sub, enum UserSettings setting, QVariant value); + //! get a value from system settings for a named platform. + static QVariant platformValue(QString platform, enum SystemSettings setting); private: //! you shouldnt call this, its a fully static calls @@ -137,3 +139,4 @@ class RbSettings : public QObject }; #endif + -- cgit v1.2.3