X-Git-Url: http://git.maemo.org/git/?a=blobdiff_plain;f=src%2Fconfig.cpp;h=58cb3ba2fc121a960730c8e49c867b6170876085;hb=be19f82b54d541faa0ed5625ac403875e1b38c93;hp=cec2c908d3459d584912f21641d8affa7087f65f;hpb=b816b6113567502f34f08e0741dd5de18b9ee692;p=someplayer diff --git a/src/config.cpp b/src/config.cpp index cec2c90..58cb3ba 100644 --- a/src/config.cpp +++ b/src/config.cpp @@ -20,6 +20,7 @@ #include "config.h" #include #include +#include using namespace SomePlayer::Storage; @@ -28,10 +29,22 @@ Config::Config() _settings = new QSettings(QString(applicationDir())+"/settings.ini", QSettings::IniFormat); if (_settings->value("ui/iconstheme").toString() == "") _settings->setValue("ui/iconstheme", "white"); + if (_settings->value("ui/albumsorting").toString() == "") + _settings->setValue("ui/albumsorting", "date"); + if (_settings->value("ui/gradient").toString() == "") + _settings->setValue("ui/gradient", "yes"); + if (_settings->value("ui/language").toString() == "") + _settings->setValue("ui/language", "en"); + if (_settings->value("ui/trackcolor").toString() == "") + _settings->setValue("ui/trackcolor", "blue"); + _equalizer_settings = new QSettings("/etc/skel/.someplayer/equalizer.ini", QSettings::IniFormat); + _equalizer_user_settings = new QSettings(QString(applicationDir())+"/equalizer.ini", QSettings::IniFormat); } Config::~Config() { delete _settings; + delete _equalizer_settings; + delete _equalizer_user_settings; } QString Config::applicationDir() { @@ -50,3 +63,52 @@ QVariant Config::getValue(QString key) { void Config::setValue(QString key, QVariant value) { _settings->setValue(key, value); } + +QStringList Config::getEqualizerPresets() { + QStringList presets = _equalizer_settings->value("equalizer/presets").toStringList(); + QStringList user_presets = _equalizer_user_settings->value("equalizer/presets").toStringList(); + user_presets.append(presets); + user_presets = QList::fromSet(QSet::fromList(user_presets)); + return user_presets; +} + +double Config::getEqualizerValue(QString band, QString preset) { + QString section; + QSettings *settings = NULL; + if (preset.isEmpty()) { + section = "equalizer"; + settings = _equalizer_user_settings; + } else { + section = "equalizer_preset_"+preset; + QStringList user_presets = _equalizer_user_settings->value("equalizer/presets").toStringList(); + if (user_presets.contains(preset)) { + settings = _equalizer_user_settings; + } else { + settings = _equalizer_settings; + } + } + return settings->value(section+"/"+band).toDouble(); +} + +void Config::setEqualizerValue(QString band, double value) { + _equalizer_user_settings->setValue("equalizer/"+band, value); +} + +void Config::saveEqualizer(QString preset) { + QString section = QString("equalizer_preset_%1/%2").arg(preset); + QStringList user_presets = _equalizer_user_settings->value("equalizer/presets").toStringList(); + if (!user_presets.contains(preset)) user_presets.append(preset); + _equalizer_user_settings->setValue("equalizer/presets", user_presets); + for (int i = 0; i < 10; i++) { + QString band = QString("band%1").arg(i); + _equalizer_user_settings->setValue(section.arg(band), getEqualizerValue(band)); + } +} + +bool Config::equalizerEnabled() { + return _equalizer_user_settings->value("equalizer/enabled").toBool(); +} + +void Config::setEqualizerEnabled(bool enabled) { + _equalizer_user_settings->setValue("equalizer/enabled", enabled); +}