1
0
Fork 0
forked from len0rd/rockbox

rbutil: rework rbsettings to have less code dublication.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17244 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Dominik Wenger 2008-04-24 20:40:33 +00:00
parent 35f41e666d
commit 7449751cff
2 changed files with 72 additions and 130 deletions

View file

@ -48,6 +48,30 @@ void RbSettings::sync()
userSettings->sync(); userSettings->sync();
} }
QVariant RbSettings::deviceSettingCurGet(QString entry,QString def)
{
QString platform = userSettings->value("platform").toString();
devices->beginGroup(platform);
QVariant result = devices->value(entry,def);
devices->endGroup();
return result;
}
QVariant RbSettings::userSettingsGroupGet(QString group,QString entry,QVariant def)
{
userSettings->beginGroup(group);
QVariant result = userSettings->value(entry,def);
userSettings->endGroup();
return result;
}
void RbSettings::userSettingsGroupSet(QString group,QString entry,QVariant value)
{
userSettings->beginGroup(group);
userSettings->setValue(entry,value);
userSettings->endGroup();
}
QString RbSettings::userSettingFilename() QString RbSettings::userSettingFilename()
{ {
return userSettings->fileName(); return userSettings->fileName();
@ -60,10 +84,7 @@ bool RbSettings::cacheOffline()
bool RbSettings::curNeedsBootloader() bool RbSettings::curNeedsBootloader()
{ {
QString platform = userSettings->value("platform").toString(); QString result = deviceSettingCurGet("needsbootloader", "").toString();
devices->beginGroup(platform);
QString result = devices->value("needsbootloader", "").toString();
devices->endGroup();
if( result == "no") if( result == "no")
{ {
return false; return false;
@ -192,30 +213,18 @@ QString RbSettings::curPlatform()
QString RbSettings::curPlatformName() QString RbSettings::curPlatformName()
{ {
QString platform = userSettings->value("platform").toString(); return deviceSettingCurGet("platform").toString();
devices->beginGroup(platform);
QString name = devices->value("platform").toString();
devices->endGroup();
return name;
} }
QString RbSettings::curManual() QString RbSettings::curManual()
{ {
QString platform = userSettings->value("platform").toString(); return deviceSettingCurGet("manualname","rockbox-" +
devices->beginGroup(platform);
QString name = devices->value("manualname","rockbox-" +
devices->value("platform").toString()).toString(); devices->value("platform").toString()).toString();
devices->endGroup();
return name;
} }
bool RbSettings::curReleased() bool RbSettings::curReleased()
{ {
QString platform = userSettings->value("platform").toString(); QString released = deviceSettingCurGet("released").toString();
devices->beginGroup(platform);
QString released = devices->value("released").toString();
devices->endGroup();
if(released == "yes") if(released == "yes")
return true; return true;
else else
@ -224,29 +233,17 @@ bool RbSettings::curReleased()
QString RbSettings::curBootloaderMethod() QString RbSettings::curBootloaderMethod()
{ {
QString platform = userSettings->value("platform").toString(); return deviceSettingCurGet("bootloadermethod").toString();
devices->beginGroup(platform);
QString method = devices->value("bootloadermethod").toString();
devices->endGroup();
return method;
} }
QString RbSettings::curBootloaderName() QString RbSettings::curBootloaderName()
{ {
QString platform = userSettings->value("platform").toString(); return deviceSettingCurGet("bootloadername").toString();
devices->beginGroup(platform);
QString name = devices->value("bootloadername").toString();
devices->endGroup();
return name;
} }
QString RbSettings::curVoiceName() QString RbSettings::curVoiceName()
{ {
QString platform = userSettings->value("platform").toString(); return deviceSettingCurGet("voicename").toString();
devices->beginGroup(platform);
QString name = devices->value("voicename").toString();
devices->endGroup();
return name;
} }
QString RbSettings::curLang() QString RbSettings::curLang()
@ -281,91 +278,54 @@ int RbSettings::wavtrimTh()
QString RbSettings::ttsPath(QString tts) QString RbSettings::ttsPath(QString tts)
{ {
userSettings->beginGroup(tts); return userSettingsGroupGet(tts,"ttspath").toString();
QString path = userSettings->value("ttspath").toString();
userSettings->endGroup();
return path;
} }
QString RbSettings::ttsOptions(QString tts) QString RbSettings::ttsOptions(QString tts)
{ {
userSettings->beginGroup(tts); return userSettingsGroupGet(tts,"ttsoptions").toString();
QString op = userSettings->value("ttsoptions").toString();
userSettings->endGroup();
return op;
} }
QString RbSettings::ttsVoice(QString tts) QString RbSettings::ttsVoice(QString tts)
{ {
userSettings->beginGroup(tts); return userSettingsGroupGet(tts,"ttsoptions","Microsoft Sam").toString();
QString op = userSettings->value("ttsvoice","Microsoft Sam").toString();
userSettings->endGroup();
return op;
} }
int RbSettings::ttsSpeed(QString tts) int RbSettings::ttsSpeed(QString tts)
{ {
userSettings->beginGroup(tts); return userSettingsGroupGet(tts,"ttsspeed",0).toInt();
int sp = userSettings->value("ttsspeed",0).toInt();
userSettings->endGroup();
return sp;
} }
QString RbSettings::ttsLang(QString tts) QString RbSettings::ttsLang(QString tts)
{ {
userSettings->beginGroup(tts); return userSettingsGroupGet(tts,"ttslanguage","english").toString();
QString op = userSettings->value("ttslanguage","english").toString();
userSettings->endGroup();
return op;
} }
bool RbSettings::ttsUseSapi4() bool RbSettings::ttsUseSapi4()
{ {
userSettings->beginGroup("sapi"); return userSettingsGroupGet("sapi","useSapi4",false).toBool();
bool op = userSettings->value("useSapi4",false).toBool();
userSettings->endGroup();
return op;
} }
QString RbSettings::encoderPath(QString enc) QString RbSettings::encoderPath(QString enc)
{ {
userSettings->beginGroup(enc); return userSettingsGroupGet(enc,"encoderpath").toString();
QString path = userSettings->value("encoderpath").toString();
userSettings->endGroup();
return path;
} }
QString RbSettings::encoderOptions(QString enc) QString RbSettings::encoderOptions(QString enc)
{ {
userSettings->beginGroup(enc); return userSettingsGroupGet(enc,"encoderoptions").toString();
QString op = userSettings->value("encoderoptions").toString();
userSettings->endGroup();
return op;
} }
double RbSettings::encoderQuality(QString enc) double RbSettings::encoderQuality(QString enc)
{ {
userSettings->beginGroup(enc); return userSettingsGroupGet(enc,"quality",8.f).toDouble();
double q =userSettings->value("quality",8.f).toDouble();
userSettings->endGroup();
return q;
} }
int RbSettings::encoderComplexity(QString enc) int RbSettings::encoderComplexity(QString enc)
{ {
userSettings->beginGroup(enc); return userSettingsGroupGet(enc,"complexity",10).toInt();
int c = userSettings->value("complexity",10).toInt();
userSettings->endGroup();
return c;
} }
double RbSettings::encoderVolume(QString enc) double RbSettings::encoderVolume(QString enc)
{ {
userSettings->beginGroup(enc); return userSettingsGroupGet(enc,"volume",1.f).toDouble();
double v = userSettings->value("volume",1.f).toDouble();
userSettings->endGroup();
return v;
} }
bool RbSettings::encoderNarrowband(QString enc) bool RbSettings::encoderNarrowband(QString enc)
{ {
userSettings->beginGroup(enc); return userSettingsGroupGet(enc,"narrowband",false).toBool();
bool nb = userSettings->value("narrowband",false).toBool();
userSettings->endGroup();
return nb;
} }
QStringList RbSettings::allPlatforms() QStringList RbSettings::allPlatforms()
@ -489,20 +449,12 @@ QMap<int, QString> RbSettings::usbIdIncompatMap()
QString RbSettings::curResolution() QString RbSettings::curResolution()
{ {
QString platform = userSettings->value("platform").toString(); return deviceSettingCurGet("resolution").toString();
devices->beginGroup(platform);
QString resolution = devices->value("resolution").toString();
devices->endGroup();
return resolution;
} }
int RbSettings::curTargetId() int RbSettings::curTargetId()
{ {
QString platform = userSettings->value("platform").toString(); return deviceSettingCurGet("targetid").toInt();
devices->beginGroup(platform);
int id = devices->value("targetid").toInt();
devices->endGroup();
return id;
} }
@ -584,82 +536,57 @@ void RbSettings::setCurEncoder(QString enc)
void RbSettings::setTTSPath(QString tts, QString path) void RbSettings::setTTSPath(QString tts, QString path)
{ {
userSettings->beginGroup(tts); userSettingsGroupSet(tts,"ttspath",path);
userSettings->setValue("ttspath",path);
userSettings->endGroup();
} }
void RbSettings::setTTSOptions(QString tts, QString options) void RbSettings::setTTSOptions(QString tts, QString options)
{ {
userSettings->beginGroup(tts); userSettingsGroupSet(tts,"ttsoptions",options);
userSettings->setValue("ttsoptions",options);
userSettings->endGroup();
} }
void RbSettings::setTTSVoice(QString tts, QString voice) void RbSettings::setTTSVoice(QString tts, QString voice)
{ {
userSettings->beginGroup(tts); userSettingsGroupSet(tts,"ttsvoice",voice);
userSettings->setValue("ttsvoice",voice);
userSettings->endGroup();
} }
void RbSettings::setTTSSpeed(QString tts, int speed) void RbSettings::setTTSSpeed(QString tts, int speed)
{ {
userSettings->beginGroup(tts); userSettingsGroupSet(tts,"ttsspeed",speed);
userSettings->setValue("ttsspeed",speed);
userSettings->endGroup();
} }
void RbSettings::setTTSLang(QString tts, QString lang) void RbSettings::setTTSLang(QString tts, QString lang)
{ {
userSettings->beginGroup(tts); userSettingsGroupSet(tts,"ttslanguage",lang);
userSettings->setValue("ttslanguage",lang);
userSettings->endGroup();
} }
void RbSettings::setTTSUseSapi4(bool value) void RbSettings::setTTSUseSapi4(bool value)
{ {
userSettings->beginGroup("sapi"); userSettingsGroupSet("sapi","useSapi4",value);
userSettings->setValue("useSapi4",value);
userSettings->endGroup();
} }
void RbSettings::setEncoderPath(QString enc, QString path) void RbSettings::setEncoderPath(QString enc, QString path)
{ {
userSettings->beginGroup(enc); userSettingsGroupSet(enc,"encoderpath",path);
userSettings->setValue("encoderpath",path);
userSettings->endGroup();
} }
void RbSettings::setEncoderOptions(QString enc, QString options) void RbSettings::setEncoderOptions(QString enc, QString options)
{ {
userSettings->beginGroup(enc); userSettingsGroupSet(enc,"encoderoptions",options);
userSettings->setValue("encoderoptions",options);
userSettings->endGroup();
} }
void RbSettings::setEncoderQuality(QString enc, double q) void RbSettings::setEncoderQuality(QString enc, double q)
{ {
userSettings->beginGroup(enc); userSettingsGroupSet(enc,"quality",q);
userSettings->setValue("quality",q);
userSettings->endGroup();
} }
void RbSettings::setEncoderComplexity(QString enc, int c) void RbSettings::setEncoderComplexity(QString enc, int c)
{ {
userSettings->beginGroup(enc); userSettingsGroupSet(enc,"complexity",c);
userSettings->setValue("complexity",c);
userSettings->endGroup();
} }
void RbSettings::setEncoderVolume(QString enc,double v) void RbSettings::setEncoderVolume(QString enc,double v)
{ {
userSettings->beginGroup(enc); userSettingsGroupSet(enc,"volume",v);
userSettings->setValue("volume",v);
userSettings->endGroup();
} }
void RbSettings::setEncoderNarrowband(QString enc,bool nb) void RbSettings::setEncoderNarrowband(QString enc,bool nb)
{ {
userSettings->beginGroup(enc); userSettingsGroupSet(enc,"narrowband",nb);
userSettings->setValue("narrowband",nb);
userSettings->endGroup();
} }

View file

@ -101,6 +101,7 @@ class RbSettings : public QObject
QString curResolution(); QString curResolution();
int curTargetId(); int curTargetId();
//! Set Fucntions
void setOfPath(QString path); void setOfPath(QString path);
void setCachePath(QString path); void setCachePath(QString path);
void setBuild(QString build); void setBuild(QString build);
@ -130,6 +131,20 @@ class RbSettings : public QObject
void setEncoderNarrowband(QString enc,bool nb); void setEncoderNarrowband(QString enc,bool nb);
private: private:
//! helper function to get an entry in the current platform section
QVariant deviceSettingCurGet(QString entry,QString def="");
//! helper function to get an entry out of a group in the userSettings
QVariant userSettingsGroupGet(QString group,QString entry,QVariant def="");
//! helper function to set an entry in a group in the userSettings
void userSettingsGroupSet(QString group,QString entry,QVariant value);
//! private copy constructors to prvent copying
RbSettings& operator= (const RbSettings& other) {return *this; }
RbSettings(const RbSettings& other) {}
//! pointers to our setting objects
QSettings *devices; QSettings *devices;
QSettings *userSettings; QSettings *userSettings;