1
0
Fork 0
forked from len0rd/rockbox

rbtutil: introduce a RbSettings class help code reuse, and minimises duplicated code.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16159 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Dominik Wenger 2008-01-25 00:12:25 +00:00
parent a665d99d3a
commit 3a54c9b58d
25 changed files with 1011 additions and 481 deletions

View file

@ -97,49 +97,49 @@ void Config::accept()
proxy.setHost(ui.proxyHost->text());
proxy.setPort(ui.proxyPort->text().toInt());
}
userSettings->setValue("proxy", proxy.toString());
settings->setProxy(proxy.toString());
qDebug() << "new proxy:" << proxy;
// proxy type
QString proxyType;
if(ui.radioNoProxy->isChecked()) proxyType = "none";
else if(ui.radioSystemProxy->isChecked()) proxyType = "system";
else proxyType = "manual";
userSettings->setValue("proxytype", proxyType);
settings->setProxyType(proxyType);
// language
if(userSettings->value("lang").toString() != language)
if(settings->curLang() != language)
QMessageBox::information(this, tr("Language changed"),
tr("You need to restart the application for the changed language to take effect."));
userSettings->setValue("lang", language);
settings->setLang(language);
// mountpoint
QString mp = ui.mountPoint->text();
if(QFileInfo(mp).isDir())
userSettings->setValue("mountpoint", mp);
settings->setMountpoint( mp);
// platform
QString nplat;
if(ui.treeDevices->selectedItems().size() != 0) {
nplat = ui.treeDevices->selectedItems().at(0)->data(0, Qt::UserRole).toString();
userSettings->setValue("platform", nplat);
settings->setCurPlatform(nplat);
}
// cache settings
if(QFileInfo(ui.cachePath->text()).isDir())
userSettings->setValue("cachepath", ui.cachePath->text());
settings->setCachePath(ui.cachePath->text());
else // default to system temp path
userSettings->setValue("cachepath", QDir::tempPath());
userSettings->setValue("cachedisable", ui.cacheDisable->isChecked());
userSettings->setValue("offline", ui.cacheOfflineMode->isChecked());
settings->setCachePath( QDir::tempPath());
settings->setCacheDisable(ui.cacheDisable->isChecked());
settings->setCacheOffline(ui.cacheOfflineMode->isChecked());
// tts settings
userSettings->setValue("tts",ui.comboTts->currentText());
//encoder settings
userSettings->setValue("encoder",ui.comboEncoder->currentText());
settings->setCurTTS(ui.comboTts->currentText());
//encoder settings
settings->setCurEncoder(ui.comboEncoder->currentText());
// sync settings
userSettings->sync();
settings->sync();
this->close();
emit settingsUpdated();
}
@ -151,11 +151,10 @@ void Config::abort()
this->close();
}
void Config::setSettings(QSettings* user,QSettings* device)
void Config::setSettings(RbSettings* sett)
{
userSettings = user;
devices = device;
settings = sett;
setUserSettings();
setDevices();
}
@ -163,7 +162,7 @@ void Config::setSettings(QSettings* user,QSettings* device)
void Config::setUserSettings()
{
// set proxy
proxy = userSettings->value("proxy").toString();
proxy = settings->proxy();
if(proxy.port() > 0)
ui.proxyPort->setText(QString("%1").arg(proxy.port()));
@ -172,7 +171,7 @@ void Config::setUserSettings()
ui.proxyUser->setText(proxy.userName());
ui.proxyPass->setText(proxy.password());
QString proxyType = userSettings->value("proxytype", "system").toString();
QString proxyType = settings->proxyType();
if(proxyType == "manual") ui.radioManualProxy->setChecked(true);
else if(proxyType == "system") ui.radioSystemProxy->setChecked(true);
else ui.radioNoProxy->setChecked(true);
@ -183,7 +182,7 @@ void Config::setUserSettings()
// find key for lang value
QMap<QString, QString>::const_iterator i = lang.constBegin();
while (i != lang.constEnd()) {
if(i.value() == userSettings->value("lang").toString()) {
if(i.value() == settings->curLang()) {
b = i.key();
break;
}
@ -196,15 +195,15 @@ void Config::setUserSettings()
ui.listLanguages->setCurrentItem(a.at(0));
// devices tab
ui.mountPoint->setText(userSettings->value("mountpoint").toString());
ui.mountPoint->setText(settings->mountpoint());
// cache tab
if(!QFileInfo(userSettings->value("cachepath").toString()).isDir())
userSettings->setValue("cachepath", QDir::tempPath());
ui.cachePath->setText(userSettings->value("cachepath").toString());
ui.cacheDisable->setChecked(userSettings->value("cachedisable", true).toBool());
ui.cacheOfflineMode->setChecked(userSettings->value("offline").toBool());
updateCacheInfo(userSettings->value("cachepath").toString());
if(!QFileInfo(settings->cachePath()).isDir())
settings->setCachePath(QDir::tempPath());
ui.cachePath->setText(settings->cachePath());
ui.cacheDisable->setChecked(settings->cacheDisabled());
ui.cacheOfflineMode->setChecked(settings->cacheOffline());
updateCacheInfo(settings->cachePath());
}
@ -227,28 +226,21 @@ void Config::setDevices()
// setup devices table
qDebug() << "Config::setDevices()";
devices->beginGroup("platforms");
QStringList a = devices->childKeys();
devices->endGroup();
QStringList platformList = settings->allPlatforms();
QMap <QString, QString> manuf;
QMap <QString, QString> devcs;
for(int it = 0; it < a.size(); it++) {
QString curdev;
devices->beginGroup("platforms");
curdev = devices->value(a.at(it), "null").toString();
devices->endGroup();
QString curname;
devices->beginGroup(curdev);
curname = devices->value("name", "null").toString();
QString curbrand = devices->value("brand", "").toString();
devices->endGroup();
manuf.insertMulti(curbrand, curdev);
devcs.insert(curdev, curname);
for(int it = 0; it < platformList.size(); it++)
{
QString curname = settings->name(platformList.at(it));
QString curbrand = settings->brand(platformList.at(it));
manuf.insertMulti(curbrand, platformList.at(it));
devcs.insert(platformList.at(it), curname);
}
QString platform;
platform = devcs.value(userSettings->value("platform").toString());
platform = devcs.value(settings->curPlatform());
// set up devices table
ui.treeDevices->header()->hide();
@ -269,25 +261,16 @@ void Config::setDevices()
items.append(w);
// go through platforms again for sake of order
for(int it = 0; it < a.size(); it++) {
QString curdev;
devices->beginGroup("platforms");
curdev = devices->value(a.at(it), "null").toString();
devices->endGroup();
QString curname;
devices->beginGroup(curdev);
curname = devices->value("name", "null").toString();
QString curbrand = devices->value("brand", "").toString();
QString curicon = devices->value("icon", "").toString();
devices->endGroup();
for(int it = 0; it < platformList.size(); it++) {
QString curname = settings->name(platformList.at(it));
QString curbrand = settings->brand(platformList.at(it));
if(curbrand != brands.at(c)) continue;
qDebug() << "adding:" << brands.at(c) << curname << curdev;
qDebug() << "adding:" << brands.at(c) << curname;
w2 = new QTreeWidgetItem(w, QStringList(curname));
w2->setData(0, Qt::UserRole, curdev);
// QIcon icon;
// icon.addFile(":/icons/devices/" + curicon + "-tiny.png");
// w2->setIcon(0, icon);
// ui.treeDevices->setIconSize(QSize(32, 32));
w2->setData(0, Qt::UserRole, platformList.at(it));
if(platform.contains(curname)) {
w2->setSelected(true);
w->setExpanded(true);
@ -306,7 +289,7 @@ void Config::setDevices()
ui.comboEncoder->addItems(getEncoderList());
//update index of combobox
int index = ui.comboEncoder->findText(userSettings->value("encoder").toString(),Qt::MatchExactly);
int index = ui.comboEncoder->findText(settings->curEncoder(),Qt::MatchExactly);
if(index < 0) index = 0;
ui.comboEncoder->setCurrentIndex(index);
updateEncState(index);
@ -316,7 +299,7 @@ void Config::setDevices()
//update index of combobox
index = ui.comboTts->findText(userSettings->value("tts").toString(),Qt::MatchExactly);
index = ui.comboTts->findText(settings->curTTS(),Qt::MatchExactly);
if(index < 0) index = 0;
ui.comboTts->setCurrentIndex(index);
updateTtsState(index);
@ -328,7 +311,7 @@ void Config::updateTtsState(int index)
{
QString ttsName = ui.comboTts->itemText(index);
TTSBase* tts = getTTS(ttsName);
tts->setCfg(userSettings,devices);
tts->setCfg(settings);
if(tts->configOk())
{
@ -346,7 +329,7 @@ void Config::updateEncState(int index)
{
QString encoder = ui.comboEncoder->itemText(index);
EncBase* enc = getEncoder(encoder);
enc->setUserCfg(userSettings);
enc->setCfg(settings);
if(enc->configOk())
{
@ -594,7 +577,7 @@ void Config::cacheClear()
QFile::remove(f);
qDebug() << "removed:" << f;
}
updateCacheInfo(userSettings->value("cachepath").toString());
updateCacheInfo(settings->cachePath());
}
@ -602,7 +585,7 @@ void Config::configTts()
{
TTSBase* tts =getTTS(ui.comboTts->currentText());
tts->setCfg(userSettings,devices);
tts->setCfg(settings);
tts->showCfg();
updateTtsState(ui.comboTts->currentIndex());
}
@ -612,7 +595,7 @@ void Config::configEnc()
{
EncBase* enc =getEncoder(ui.comboEncoder->currentText());
enc->setUserCfg(userSettings);
enc->setCfg(settings);
enc->showCfg();
updateEncState(ui.comboEncoder->currentIndex());
}