summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDominik Wenger <domonoky@googlemail.com>2008-01-25 00:12:25 +0000
committerDominik Wenger <domonoky@googlemail.com>2008-01-25 00:12:25 +0000
commit3a54c9b58d05e29343eef2044cf3d3cbce47ca50 (patch)
tree66c0ba1f872af0af3e3c02ec8580ba697353cbf8
parenta665d99d3a1e37c3fa7e1a5f79f9dbb82dd3686d (diff)
downloadrockbox-3a54c9b58d05e29343eef2044cf3d3cbce47ca50.tar.gz
rockbox-3a54c9b58d05e29343eef2044cf3d3cbce47ca50.zip
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
-rw-r--r--rbutil/rbutilqt/configure.cpp121
-rw-r--r--rbutil/rbutilqt/configure.h7
-rw-r--r--rbutil/rbutilqt/createvoicewindow.cpp43
-rw-r--r--rbutil/rbutilqt/createvoicewindow.h8
-rw-r--r--rbutil/rbutilqt/encoders.cpp89
-rw-r--r--rbutil/rbutilqt/encoders.h9
-rw-r--r--rbutil/rbutilqt/install.cpp46
-rw-r--r--rbutil/rbutilqt/install.h9
-rw-r--r--rbutil/rbutilqt/installtalkwindow.cpp28
-rw-r--r--rbutil/rbutilqt/installtalkwindow.h8
-rw-r--r--rbutil/rbutilqt/installthemes.cpp43
-rw-r--r--rbutil/rbutilqt/installthemes.h7
-rw-r--r--rbutil/rbutilqt/rbsettings.cpp563
-rw-r--r--rbutil/rbutilqt/rbsettings.h137
-rw-r--r--rbutil/rbutilqt/rbutilqt.cpp220
-rw-r--r--rbutil/rbutilqt/rbutilqt.h5
-rw-r--r--rbutil/rbutilqt/rbutilqt.pro6
-rw-r--r--rbutil/rbutilqt/talkfile.cpp8
-rw-r--r--rbutil/rbutilqt/talkfile.h5
-rw-r--r--rbutil/rbutilqt/tts.cpp83
-rw-r--r--rbutil/rbutilqt/tts.h7
-rw-r--r--rbutil/rbutilqt/uninstallwindow.cpp12
-rw-r--r--rbutil/rbutilqt/uninstallwindow.h9
-rw-r--r--rbutil/rbutilqt/voicefile.cpp10
-rw-r--r--rbutil/rbutilqt/voicefile.h7
25 files changed, 1010 insertions, 480 deletions
diff --git a/rbutil/rbutilqt/configure.cpp b/rbutil/rbutilqt/configure.cpp
index c155cd230c..f583433b8a 100644
--- a/rbutil/rbutilqt/configure.cpp
+++ b/rbutil/rbutilqt/configure.cpp
@@ -97,49 +97,49 @@ void Config::accept()
97 proxy.setHost(ui.proxyHost->text()); 97 proxy.setHost(ui.proxyHost->text());
98 proxy.setPort(ui.proxyPort->text().toInt()); 98 proxy.setPort(ui.proxyPort->text().toInt());
99 } 99 }
100 userSettings->setValue("proxy", proxy.toString()); 100
101 settings->setProxy(proxy.toString());
101 qDebug() << "new proxy:" << proxy; 102 qDebug() << "new proxy:" << proxy;
102 // proxy type 103 // proxy type
103 QString proxyType; 104 QString proxyType;
104 if(ui.radioNoProxy->isChecked()) proxyType = "none"; 105 if(ui.radioNoProxy->isChecked()) proxyType = "none";
105 else if(ui.radioSystemProxy->isChecked()) proxyType = "system"; 106 else if(ui.radioSystemProxy->isChecked()) proxyType = "system";
106 else proxyType = "manual"; 107 else proxyType = "manual";
107 userSettings->setValue("proxytype", proxyType); 108 settings->setProxyType(proxyType);
108 109
109 // language 110 // language
110 if(userSettings->value("lang").toString() != language) 111 if(settings->curLang() != language)
111 QMessageBox::information(this, tr("Language changed"), 112 QMessageBox::information(this, tr("Language changed"),
112 tr("You need to restart the application for the changed language to take effect.")); 113 tr("You need to restart the application for the changed language to take effect."));
113 userSettings->setValue("lang", language); 114 settings->setLang(language);
114 115
115 // mountpoint 116 // mountpoint
116 QString mp = ui.mountPoint->text(); 117 QString mp = ui.mountPoint->text();
117 if(QFileInfo(mp).isDir()) 118 if(QFileInfo(mp).isDir())
118 userSettings->setValue("mountpoint", mp); 119 settings->setMountpoint( mp);
119 120
120 // platform 121 // platform
121 QString nplat; 122 QString nplat;
122 if(ui.treeDevices->selectedItems().size() != 0) { 123 if(ui.treeDevices->selectedItems().size() != 0) {
123 nplat = ui.treeDevices->selectedItems().at(0)->data(0, Qt::UserRole).toString(); 124 nplat = ui.treeDevices->selectedItems().at(0)->data(0, Qt::UserRole).toString();
124 userSettings->setValue("platform", nplat); 125 settings->setCurPlatform(nplat);
125 } 126 }
126 127
127 // cache settings 128 // cache settings
128 if(QFileInfo(ui.cachePath->text()).isDir()) 129 if(QFileInfo(ui.cachePath->text()).isDir())
129 userSettings->setValue("cachepath", ui.cachePath->text()); 130 settings->setCachePath(ui.cachePath->text());
130 else // default to system temp path 131 else // default to system temp path
131 userSettings->setValue("cachepath", QDir::tempPath()); 132 settings->setCachePath( QDir::tempPath());
132 userSettings->setValue("cachedisable", ui.cacheDisable->isChecked()); 133 settings->setCacheDisable(ui.cacheDisable->isChecked());
133 userSettings->setValue("offline", ui.cacheOfflineMode->isChecked()); 134 settings->setCacheOffline(ui.cacheOfflineMode->isChecked());
134 135
135 // tts settings 136 // tts settings
136 userSettings->setValue("tts",ui.comboTts->currentText()); 137 settings->setCurTTS(ui.comboTts->currentText());
137 138 //encoder settings
138 //encoder settings 139 settings->setCurEncoder(ui.comboEncoder->currentText());
139 userSettings->setValue("encoder",ui.comboEncoder->currentText());
140 140
141 // sync settings 141 // sync settings
142 userSettings->sync(); 142 settings->sync();
143 this->close(); 143 this->close();
144 emit settingsUpdated(); 144 emit settingsUpdated();
145} 145}
@@ -151,11 +151,10 @@ void Config::abort()
151 this->close(); 151 this->close();
152} 152}
153 153
154void Config::setSettings(QSettings* user,QSettings* device) 154void Config::setSettings(RbSettings* sett)
155{ 155{
156 userSettings = user; 156 settings = sett;
157 devices = device; 157
158
159 setUserSettings(); 158 setUserSettings();
160 setDevices(); 159 setDevices();
161} 160}
@@ -163,7 +162,7 @@ void Config::setSettings(QSettings* user,QSettings* device)
163void Config::setUserSettings() 162void Config::setUserSettings()
164{ 163{
165 // set proxy 164 // set proxy
166 proxy = userSettings->value("proxy").toString(); 165 proxy = settings->proxy();
167 166
168 if(proxy.port() > 0) 167 if(proxy.port() > 0)
169 ui.proxyPort->setText(QString("%1").arg(proxy.port())); 168 ui.proxyPort->setText(QString("%1").arg(proxy.port()));
@@ -172,7 +171,7 @@ void Config::setUserSettings()
172 ui.proxyUser->setText(proxy.userName()); 171 ui.proxyUser->setText(proxy.userName());
173 ui.proxyPass->setText(proxy.password()); 172 ui.proxyPass->setText(proxy.password());
174 173
175 QString proxyType = userSettings->value("proxytype", "system").toString(); 174 QString proxyType = settings->proxyType();
176 if(proxyType == "manual") ui.radioManualProxy->setChecked(true); 175 if(proxyType == "manual") ui.radioManualProxy->setChecked(true);
177 else if(proxyType == "system") ui.radioSystemProxy->setChecked(true); 176 else if(proxyType == "system") ui.radioSystemProxy->setChecked(true);
178 else ui.radioNoProxy->setChecked(true); 177 else ui.radioNoProxy->setChecked(true);
@@ -183,7 +182,7 @@ void Config::setUserSettings()
183 // find key for lang value 182 // find key for lang value
184 QMap<QString, QString>::const_iterator i = lang.constBegin(); 183 QMap<QString, QString>::const_iterator i = lang.constBegin();
185 while (i != lang.constEnd()) { 184 while (i != lang.constEnd()) {
186 if(i.value() == userSettings->value("lang").toString()) { 185 if(i.value() == settings->curLang()) {
187 b = i.key(); 186 b = i.key();
188 break; 187 break;
189 } 188 }
@@ -196,15 +195,15 @@ void Config::setUserSettings()
196 ui.listLanguages->setCurrentItem(a.at(0)); 195 ui.listLanguages->setCurrentItem(a.at(0));
197 196
198 // devices tab 197 // devices tab
199 ui.mountPoint->setText(userSettings->value("mountpoint").toString()); 198 ui.mountPoint->setText(settings->mountpoint());
200 199
201 // cache tab 200 // cache tab
202 if(!QFileInfo(userSettings->value("cachepath").toString()).isDir()) 201 if(!QFileInfo(settings->cachePath()).isDir())
203 userSettings->setValue("cachepath", QDir::tempPath()); 202 settings->setCachePath(QDir::tempPath());
204 ui.cachePath->setText(userSettings->value("cachepath").toString()); 203 ui.cachePath->setText(settings->cachePath());
205 ui.cacheDisable->setChecked(userSettings->value("cachedisable", true).toBool()); 204 ui.cacheDisable->setChecked(settings->cacheDisabled());
206 ui.cacheOfflineMode->setChecked(userSettings->value("offline").toBool()); 205 ui.cacheOfflineMode->setChecked(settings->cacheOffline());
207 updateCacheInfo(userSettings->value("cachepath").toString()); 206 updateCacheInfo(settings->cachePath());
208} 207}
209 208
210 209
@@ -227,28 +226,21 @@ void Config::setDevices()
227 226
228 // setup devices table 227 // setup devices table
229 qDebug() << "Config::setDevices()"; 228 qDebug() << "Config::setDevices()";
230 devices->beginGroup("platforms"); 229
231 QStringList a = devices->childKeys(); 230 QStringList platformList = settings->allPlatforms();
232 devices->endGroup();
233 231
234 QMap <QString, QString> manuf; 232 QMap <QString, QString> manuf;
235 QMap <QString, QString> devcs; 233 QMap <QString, QString> devcs;
236 for(int it = 0; it < a.size(); it++) { 234 for(int it = 0; it < platformList.size(); it++)
237 QString curdev; 235 {
238 devices->beginGroup("platforms"); 236 QString curname = settings->name(platformList.at(it));
239 curdev = devices->value(a.at(it), "null").toString(); 237 QString curbrand = settings->brand(platformList.at(it));
240 devices->endGroup(); 238 manuf.insertMulti(curbrand, platformList.at(it));
241 QString curname; 239 devcs.insert(platformList.at(it), curname);
242 devices->beginGroup(curdev);
243 curname = devices->value("name", "null").toString();
244 QString curbrand = devices->value("brand", "").toString();
245 devices->endGroup();
246 manuf.insertMulti(curbrand, curdev);
247 devcs.insert(curdev, curname);
248 } 240 }
249 241
250 QString platform; 242 QString platform;
251 platform = devcs.value(userSettings->value("platform").toString()); 243 platform = devcs.value(settings->curPlatform());
252 244
253 // set up devices table 245 // set up devices table
254 ui.treeDevices->header()->hide(); 246 ui.treeDevices->header()->hide();
@@ -269,25 +261,16 @@ void Config::setDevices()
269 items.append(w); 261 items.append(w);
270 262
271 // go through platforms again for sake of order 263 // go through platforms again for sake of order
272 for(int it = 0; it < a.size(); it++) { 264 for(int it = 0; it < platformList.size(); it++) {
273 QString curdev; 265
274 devices->beginGroup("platforms"); 266 QString curname = settings->name(platformList.at(it));
275 curdev = devices->value(a.at(it), "null").toString(); 267 QString curbrand = settings->brand(platformList.at(it));
276 devices->endGroup(); 268
277 QString curname;
278 devices->beginGroup(curdev);
279 curname = devices->value("name", "null").toString();
280 QString curbrand = devices->value("brand", "").toString();
281 QString curicon = devices->value("icon", "").toString();
282 devices->endGroup();
283 if(curbrand != brands.at(c)) continue; 269 if(curbrand != brands.at(c)) continue;
284 qDebug() << "adding:" << brands.at(c) << curname << curdev; 270 qDebug() << "adding:" << brands.at(c) << curname;
285 w2 = new QTreeWidgetItem(w, QStringList(curname)); 271 w2 = new QTreeWidgetItem(w, QStringList(curname));
286 w2->setData(0, Qt::UserRole, curdev); 272 w2->setData(0, Qt::UserRole, platformList.at(it));
287// QIcon icon; 273
288// icon.addFile(":/icons/devices/" + curicon + "-tiny.png");
289// w2->setIcon(0, icon);
290// ui.treeDevices->setIconSize(QSize(32, 32));
291 if(platform.contains(curname)) { 274 if(platform.contains(curname)) {
292 w2->setSelected(true); 275 w2->setSelected(true);
293 w->setExpanded(true); 276 w->setExpanded(true);
@@ -306,7 +289,7 @@ void Config::setDevices()
306 ui.comboEncoder->addItems(getEncoderList()); 289 ui.comboEncoder->addItems(getEncoderList());
307 290
308 //update index of combobox 291 //update index of combobox
309 int index = ui.comboEncoder->findText(userSettings->value("encoder").toString(),Qt::MatchExactly); 292 int index = ui.comboEncoder->findText(settings->curEncoder(),Qt::MatchExactly);
310 if(index < 0) index = 0; 293 if(index < 0) index = 0;
311 ui.comboEncoder->setCurrentIndex(index); 294 ui.comboEncoder->setCurrentIndex(index);
312 updateEncState(index); 295 updateEncState(index);
@@ -316,7 +299,7 @@ void Config::setDevices()
316 299
317 300
318 //update index of combobox 301 //update index of combobox
319 index = ui.comboTts->findText(userSettings->value("tts").toString(),Qt::MatchExactly); 302 index = ui.comboTts->findText(settings->curTTS(),Qt::MatchExactly);
320 if(index < 0) index = 0; 303 if(index < 0) index = 0;
321 ui.comboTts->setCurrentIndex(index); 304 ui.comboTts->setCurrentIndex(index);
322 updateTtsState(index); 305 updateTtsState(index);
@@ -328,7 +311,7 @@ void Config::updateTtsState(int index)
328{ 311{
329 QString ttsName = ui.comboTts->itemText(index); 312 QString ttsName = ui.comboTts->itemText(index);
330 TTSBase* tts = getTTS(ttsName); 313 TTSBase* tts = getTTS(ttsName);
331 tts->setCfg(userSettings,devices); 314 tts->setCfg(settings);
332 315
333 if(tts->configOk()) 316 if(tts->configOk())
334 { 317 {
@@ -346,7 +329,7 @@ void Config::updateEncState(int index)
346{ 329{
347 QString encoder = ui.comboEncoder->itemText(index); 330 QString encoder = ui.comboEncoder->itemText(index);
348 EncBase* enc = getEncoder(encoder); 331 EncBase* enc = getEncoder(encoder);
349 enc->setUserCfg(userSettings); 332 enc->setCfg(settings);
350 333
351 if(enc->configOk()) 334 if(enc->configOk())
352 { 335 {
@@ -594,7 +577,7 @@ void Config::cacheClear()
594 QFile::remove(f); 577 QFile::remove(f);
595 qDebug() << "removed:" << f; 578 qDebug() << "removed:" << f;
596 } 579 }
597 updateCacheInfo(userSettings->value("cachepath").toString()); 580 updateCacheInfo(settings->cachePath());
598} 581}
599 582
600 583
@@ -602,7 +585,7 @@ void Config::configTts()
602{ 585{
603 TTSBase* tts =getTTS(ui.comboTts->currentText()); 586 TTSBase* tts =getTTS(ui.comboTts->currentText());
604 587
605 tts->setCfg(userSettings,devices); 588 tts->setCfg(settings);
606 tts->showCfg(); 589 tts->showCfg();
607 updateTtsState(ui.comboTts->currentIndex()); 590 updateTtsState(ui.comboTts->currentIndex());
608} 591}
@@ -612,7 +595,7 @@ void Config::configEnc()
612{ 595{
613 EncBase* enc =getEncoder(ui.comboEncoder->currentText()); 596 EncBase* enc =getEncoder(ui.comboEncoder->currentText());
614 597
615 enc->setUserCfg(userSettings); 598 enc->setCfg(settings);
616 enc->showCfg(); 599 enc->showCfg();
617 updateEncState(ui.comboEncoder->currentIndex()); 600 updateEncState(ui.comboEncoder->currentIndex());
618} 601}
diff --git a/rbutil/rbutilqt/configure.h b/rbutil/rbutilqt/configure.h
index bb4afb6c86..55f2838537 100644
--- a/rbutil/rbutilqt/configure.h
+++ b/rbutil/rbutilqt/configure.h
@@ -22,6 +22,7 @@
22 22
23#include "ui_configurefrm.h" 23#include "ui_configurefrm.h"
24#include "browsedirtree.h" 24#include "browsedirtree.h"
25#include "rbsettings.h"
25#include <QtGui> 26#include <QtGui>
26 27
27class Config : public QDialog 28class Config : public QDialog
@@ -29,7 +30,7 @@ class Config : public QDialog
29 Q_OBJECT 30 Q_OBJECT
30 public: 31 public:
31 Config(QWidget *parent = 0,int index=0); 32 Config(QWidget *parent = 0,int index=0);
32 void setSettings(QSettings* user,QSettings* device); 33 void setSettings(RbSettings* sett);
33 34
34 signals: 35 signals:
35 void settingsUpdated(void); 36 void settingsUpdated(void);
@@ -43,8 +44,8 @@ class Config : public QDialog
43 void setDevices(); 44 void setDevices();
44 45
45 Ui::ConfigForm ui; 46 Ui::ConfigForm ui;
46 QSettings *userSettings; 47 RbSettings* settings;
47 QSettings *devices; 48
48 QStringList findLanguageFiles(void); 49 QStringList findLanguageFiles(void);
49 QString languageName(const QString&); 50 QString languageName(const QString&);
50 QMap<QString, QString> lang; 51 QMap<QString, QString> lang;
diff --git a/rbutil/rbutilqt/createvoicewindow.cpp b/rbutil/rbutilqt/createvoicewindow.cpp
index ff72e9a463..dda0097b5e 100644
--- a/rbutil/rbutilqt/createvoicewindow.cpp
+++ b/rbutil/rbutilqt/createvoicewindow.cpp
@@ -34,7 +34,7 @@ CreateVoiceWindow::CreateVoiceWindow(QWidget *parent) : QDialog(parent)
34void CreateVoiceWindow::change() 34void CreateVoiceWindow::change()
35{ 35{
36 Config *cw = new Config(this,4); 36 Config *cw = new Config(this,4);
37 cw->setSettings(userSettings,devices); 37 cw->setSettings(settings);
38 cw->show(); 38 cw->show();
39 connect(cw, SIGNAL(settingsUpdated()), this, SIGNAL(settingsUpdated())); 39 connect(cw, SIGNAL(settingsUpdated()), this, SIGNAL(settingsUpdated()));
40} 40}
@@ -45,19 +45,18 @@ void CreateVoiceWindow::accept()
45 logger->show(); 45 logger->show();
46 connect(logger,SIGNAL(closed()),this,SLOT(close())); 46 connect(logger,SIGNAL(closed()),this,SLOT(close()));
47 47
48 QString platform = userSettings->value("platform").toString();
49 QString lang = ui.comboLanguage->currentText(); 48 QString lang = ui.comboLanguage->currentText();
50 int wvThreshold = ui.wavtrimthreshold->value(); 49 int wvThreshold = ui.wavtrimthreshold->value();
51 50
52 //safe selected language 51 //safe selected language
53 userSettings->setValue("voicelanguage",lang); 52 settings->setVoiceLanguage(lang);
54 userSettings->setValue("wavtrimthreshold",wvThreshold); 53 settings->setWavtrimTh(wvThreshold);
55 userSettings->sync(); 54 settings->sync();
56 55
57 //configure voicecreator 56 //configure voicecreator
58 voicecreator->setSettings(userSettings,devices); 57 voicecreator->setSettings(settings);
59 voicecreator->setMountPoint(userSettings->value("mountpoint").toString()); 58 voicecreator->setMountPoint(settings->mountpoint());
60 voicecreator->setTargetId(devices->value(platform + "/targetid").toInt()); 59 voicecreator->setTargetId(settings->curTargetId());
61 voicecreator->setLang(lang); 60 voicecreator->setLang(lang);
62 voicecreator->setProxy(m_proxy); 61 voicecreator->setProxy(m_proxy);
63 voicecreator->setWavtrimThreshold(wvThreshold); 62 voicecreator->setWavtrimThreshold(wvThreshold);
@@ -68,44 +67,34 @@ void CreateVoiceWindow::accept()
68 67
69 68
70 69
71void CreateVoiceWindow::setSettings(QSettings *user,QSettings *dev) 70void CreateVoiceWindow::setSettings(RbSettings* sett)
72{ 71{
73 devices = dev; 72 settings = sett;
74 userSettings = user;
75 qDebug() << "Install::setDeviceSettings:" << devices;
76 73
77 // fill in language combobox 74 // fill in language combobox
78 devices->beginGroup("languages"); 75 QStringList languages = settings->allLanguages();
79 QStringList keys = devices->allKeys();
80 QStringList languages;
81 for(int i =0 ; i < keys.size();i++)
82 {
83 languages << devices->value(keys.at(i)).toString();
84 }
85 devices->endGroup();
86
87 languages.sort(); 76 languages.sort();
88 ui.comboLanguage->addItems(languages); 77 ui.comboLanguage->addItems(languages);
89 // set saved lang 78 // set saved lang
90 ui.comboLanguage->setCurrentIndex(ui.comboLanguage->findText(userSettings->value("voicelanguage").toString())); 79 ui.comboLanguage->setCurrentIndex(ui.comboLanguage->findText(settings->voiceLanguage()));
91 80
92 QString ttsName = userSettings->value("tts", "none").toString(); 81 QString ttsName = settings->curTTS();
93 TTSBase* tts = getTTS(ttsName); 82 TTSBase* tts = getTTS(ttsName);
94 tts->setCfg(userSettings,devices); 83 tts->setCfg(settings);
95 if(tts->configOk()) 84 if(tts->configOk())
96 ui.labelTtsProfile->setText(tr("Selected TTS engine : <b>%1</b>").arg(ttsName)); 85 ui.labelTtsProfile->setText(tr("Selected TTS engine : <b>%1</b>").arg(ttsName));
97 else 86 else
98 ui.labelTtsProfile->setText(tr("Selected TTS Engine: <b>%1</b>").arg("Invalid TTS configuration!")); 87 ui.labelTtsProfile->setText(tr("Selected TTS Engine: <b>%1</b>").arg("Invalid TTS configuration!"));
99 88
100 QString encoder = userSettings->value("encoder", "none").toString(); 89 QString encoder = settings->curEncoder();
101 EncBase* enc = getEncoder(encoder); 90 EncBase* enc = getEncoder(encoder);
102 enc->setUserCfg(userSettings); 91 enc->setCfg(settings);
103 if(enc->configOk()) 92 if(enc->configOk())
104 ui.labelEncProfile->setText(tr("Selected Encoder: <b>%1</b>").arg(encoder)); 93 ui.labelEncProfile->setText(tr("Selected Encoder: <b>%1</b>").arg(encoder));
105 else 94 else
106 ui.labelEncProfile->setText(tr("Selected Encoder: <b>%1</b>").arg("Invalid encoder configuration!")); 95 ui.labelEncProfile->setText(tr("Selected Encoder: <b>%1</b>").arg("Invalid encoder configuration!"));
107 96
108 ui.wavtrimthreshold->setValue(userSettings->value("wavtrimthreshold", 500).toInt()); 97 ui.wavtrimthreshold->setValue(settings->wavtrimTh());
109 98
110} 99}
111 100
diff --git a/rbutil/rbutilqt/createvoicewindow.h b/rbutil/rbutilqt/createvoicewindow.h
index cd99b389a2..d9fefc6750 100644
--- a/rbutil/rbutilqt/createvoicewindow.h
+++ b/rbutil/rbutilqt/createvoicewindow.h
@@ -22,18 +22,17 @@
22 22
23#include <QtGui> 23#include <QtGui>
24 24
25#include <QSettings>
26
27#include "ui_createvoicefrm.h" 25#include "ui_createvoicefrm.h"
28#include "progressloggergui.h" 26#include "progressloggergui.h"
29#include "voicefile.h" 27#include "voicefile.h"
28#include "rbsettings.h"
30 29
31class CreateVoiceWindow : public QDialog 30class CreateVoiceWindow : public QDialog
32{ 31{
33 Q_OBJECT 32 Q_OBJECT
34 public: 33 public:
35 CreateVoiceWindow(QWidget *parent = 0); 34 CreateVoiceWindow(QWidget *parent = 0);
36 void setSettings(QSettings* user,QSettings* device); 35 void setSettings(RbSettings* sett);
37 void setProxy(QUrl proxy){m_proxy = proxy;} 36 void setProxy(QUrl proxy){m_proxy = proxy;}
38 37
39 signals: 38 signals:
@@ -47,8 +46,7 @@ class CreateVoiceWindow : public QDialog
47 VoiceFileCreator* voicecreator; 46 VoiceFileCreator* voicecreator;
48 Ui::CreateVoiceFrm ui; 47 Ui::CreateVoiceFrm ui;
49 ProgressLoggerGui* logger; 48 ProgressLoggerGui* logger;
50 QSettings *devices; 49 RbSettings* settings;
51 QSettings *userSettings;
52 QUrl m_proxy; 50 QUrl m_proxy;
53}; 51};
54 52
diff --git a/rbutil/rbutilqt/encoders.cpp b/rbutil/rbutilqt/encoders.cpp
index 54fc5ad201..56fcd7c80d 100644
--- a/rbutil/rbutilqt/encoders.cpp
+++ b/rbutil/rbutilqt/encoders.cpp
@@ -101,10 +101,8 @@ EncExes::EncExes(QString name,QWidget *parent) : EncBase(parent)
101 101
102bool EncExes::start() 102bool EncExes::start()
103{ 103{
104 userSettings->beginGroup(m_name); 104 m_EncExec = settings->encoderPath(m_name);
105 m_EncExec = userSettings->value("encoderpath","").toString(); 105 m_EncOpts = settings->encoderOptions(m_name);
106 m_EncOpts = userSettings->value("encoderoptions","").toString();
107 userSettings->endGroup();
108 106
109 m_EncTemplate = m_TemplateMap.value(m_name); 107 m_EncTemplate = m_TemplateMap.value(m_name);
110 108
@@ -142,10 +140,8 @@ void EncExes::reset()
142void EncExes::showCfg() 140void EncExes::showCfg()
143{ 141{
144 // try to get config from settings 142 // try to get config from settings
145 userSettings->beginGroup(m_name); 143 QString exepath =settings->encoderPath(m_name);
146 QString exepath =userSettings->value("encoderpath","").toString(); 144 ui.encoderoptions->setText(settings->encoderOptions(m_name));
147 ui.encoderoptions->setText(userSettings->value("encoderoptions","").toString());
148 userSettings->endGroup();
149 145
150 if(exepath == "") 146 if(exepath == "")
151 { 147 {
@@ -184,16 +180,12 @@ void EncExes::showCfg()
184 180
185void EncExes::accept(void) 181void EncExes::accept(void)
186{ 182{
187 if(userSettings != NULL) 183 //save settings in user config
188 { 184 settings->setEncoderPath(m_name,ui.encoderpath->text());
189 //save settings in user config 185 settings->setEncoderOptions(m_name,ui.encoderoptions->text());
190 userSettings->beginGroup(m_name); 186
191 userSettings->setValue("encoderpath",ui.encoderpath->text()); 187 // sync settings
192 userSettings->setValue("encoderoptions",ui.encoderoptions->text()); 188 settings->sync();
193 userSettings->endGroup();
194 // sync settings
195 userSettings->sync();
196 }
197 this->close(); 189 this->close();
198} 190}
199 191
@@ -204,9 +196,7 @@ void EncExes::reject(void)
204 196
205bool EncExes::configOk() 197bool EncExes::configOk()
206{ 198{
207 userSettings->beginGroup(m_name); 199 QString path = settings->encoderPath(m_name);
208 QString path = userSettings->value("encoderpath","").toString();
209 userSettings->endGroup();
210 200
211 if (QFileInfo(path).exists()) 201 if (QFileInfo(path).exists())
212 return true; 202 return true;
@@ -251,19 +241,13 @@ EncRbSpeex::EncRbSpeex(QWidget *parent) : EncBase(parent)
251 241
252bool EncRbSpeex::start() 242bool EncRbSpeex::start()
253{ 243{
254 // no user config 244
255 if(userSettings == NULL)
256 {
257 return false;
258 }
259 // try to get config from settings 245 // try to get config from settings
260 userSettings->beginGroup("rbspeex"); 246 quality = settings->encoderQuality("rbspeex");
261 quality = userSettings->value("quality",defaultQuality).toDouble(); 247 complexity = settings->encoderComplexity("rbspeex");
262 complexity = userSettings->value("complexity",defaultComplexity).toInt(); 248 volume = settings->encoderVolume("rbspeex");
263 volume =userSettings->value("volume",defaultVolume).toDouble(); 249 narrowband = settings->encoderNarrowband("rbspeex");
264 narrowband = userSettings->value("narrowband",false).toBool();
265 250
266 userSettings->endGroup();
267 251
268 return true; 252 return true;
269} 253}
@@ -309,37 +293,29 @@ void EncRbSpeex::reset()
309void EncRbSpeex::showCfg() 293void EncRbSpeex::showCfg()
310{ 294{
311 //fill in the usersettings 295 //fill in the usersettings
312 userSettings->beginGroup("rbspeex"); 296 ui.volume->setValue(settings->encoderVolume("rbspeex"));
313 ui.volume->setValue(userSettings->value("volume",defaultVolume).toDouble()); 297 ui.quality->setValue(settings->encoderQuality("rbspeex"));
314 ui.quality->setValue(userSettings->value("quality",defaultQuality).toDouble()); 298 ui.complexity->setValue(settings->encoderComplexity("rbspeex"));
315 ui.complexity->setValue(userSettings->value("complexity",defaultComplexity).toInt());
316 299
317 if(userSettings->value("narrowband","False").toString() == "True") 300 if(settings->encoderNarrowband("rbspeex"))
318 ui.narrowband->setCheckState(Qt::Checked); 301 ui.narrowband->setCheckState(Qt::Checked);
319 else 302 else
320 ui.narrowband->setCheckState(Qt::Unchecked); 303 ui.narrowband->setCheckState(Qt::Unchecked);
321 304
322 userSettings->endGroup();
323
324 //show dialog 305 //show dialog
325 this->exec(); 306 this->exec();
326} 307}
327 308
328void EncRbSpeex::accept(void) 309void EncRbSpeex::accept(void)
329{ 310{
330 if(userSettings != NULL) 311 //save settings in user config
331 { 312 settings->setEncoderVolume("rbspeex",ui.volume->value());
332 //save settings in user config 313 settings->setEncoderQuality("rbspeex",ui.quality->value());
333 userSettings->beginGroup("rbspeex"); 314 settings->setEncoderComplexity("rbspeex",ui.complexity->value());
334 userSettings->setValue("volume",ui.volume->value()); 315 settings->setEncoderNarrowband("rbspeex",ui.narrowband->isChecked() ? true : false);
335 userSettings->setValue("quality",ui.quality->value()); 316
336 userSettings->setValue("complexity",ui.complexity->value()); 317 // sync settings
337 userSettings->setValue("narrowband",ui.narrowband->isChecked() ? true : false); 318 settings->sync();
338
339 userSettings->endGroup();
340 // sync settings
341 userSettings->sync();
342 }
343 this->close(); 319 this->close();
344} 320}
345 321
@@ -353,18 +329,15 @@ bool EncRbSpeex::configOk()
353{ 329{
354 bool result=true; 330 bool result=true;
355 // check config 331 // check config
356 userSettings->beginGroup("rbspeex");
357 332
358 if(userSettings->value("volume","null").toDouble() <= 0) 333 if(settings->encoderVolume("rbspeex") <= 0)
359 result =false; 334 result =false;
360 335
361 if(userSettings->value("quality","null").toDouble() <= 0) 336 if(settings->encoderQuality("rbspeex") <= 0)
362 result =false; 337 result =false;
363 338
364 if(userSettings->value("complexity","null").toInt() <= 0) 339 if(settings->encoderComplexity("rbspeex") <= 0)
365 result =false; 340 result =false;
366
367 userSettings->endGroup();
368 341
369 return result; 342 return result;
370} 343}
diff --git a/rbutil/rbutilqt/encoders.h b/rbutil/rbutilqt/encoders.h
index 688ffbcd25..ab59e52060 100644
--- a/rbutil/rbutilqt/encoders.h
+++ b/rbutil/rbutilqt/encoders.h
@@ -20,9 +20,11 @@
20#ifndef ENCODERS_H 20#ifndef ENCODERS_H
21#define ENCODERS_H 21#define ENCODERS_H
22 22
23#include <QtGui>
24
23#include "ui_rbspeexcfgfrm.h" 25#include "ui_rbspeexcfgfrm.h"
24#include "ui_encexescfgfrm.h" 26#include "ui_encexescfgfrm.h"
25#include <QtGui> 27#include "rbsettings.h"
26 28
27extern "C" 29extern "C"
28{ 30{
@@ -39,7 +41,6 @@ EncBase* getEncoder(QString encname);
39QStringList getEncoderList(); 41QStringList getEncoderList();
40 42
41 43
42
43class EncBase : public QDialog 44class EncBase : public QDialog
44{ 45{
45 Q_OBJECT 46 Q_OBJECT
@@ -52,7 +53,7 @@ public:
52 virtual void showCfg(){} 53 virtual void showCfg(){}
53 virtual bool configOk(){return false;} 54 virtual bool configOk(){return false;}
54 55
55 void setUserCfg(QSettings *uSettings){userSettings = uSettings;} 56 void setCfg(RbSettings *sett){settings = sett;}
56 57
57public slots: 58public slots:
58 virtual void accept(void){} 59 virtual void accept(void){}
@@ -61,7 +62,7 @@ public slots:
61 62
62protected: 63protected:
63 64
64 QSettings *userSettings; 65 RbSettings* settings;
65}; 66};
66 67
67 68
diff --git a/rbutil/rbutilqt/install.cpp b/rbutil/rbutilqt/install.cpp
index b41cd679af..b64e1637d6 100644
--- a/rbutil/rbutilqt/install.cpp
+++ b/rbutil/rbutilqt/install.cpp
@@ -48,8 +48,8 @@ void Install::accept()
48{ 48{
49 logger = new ProgressLoggerGui(this); 49 logger = new ProgressLoggerGui(this);
50 logger->show(); 50 logger->show();
51 QString mountPoint = userSettings->value("mountpoint").toString(); 51 QString mountPoint = settings->mountpoint();
52 qDebug() << "mountpoint:" << userSettings->value("mountpoint").toString(); 52 qDebug() << "mountpoint:" << settings->mountpoint();
53 // show dialog with error if mount point is wrong 53 // show dialog with error if mount point is wrong
54 if(!QFileInfo(mountPoint).isDir()) { 54 if(!QFileInfo(mountPoint).isDir()) {
55 logger->addItem(tr("Mount point is wrong!"),LOGERROR); 55 logger->addItem(tr("Mount point is wrong!"),LOGERROR);
@@ -58,50 +58,46 @@ void Install::accept()
58 } 58 }
59 59
60 QString myversion; 60 QString myversion;
61 QString buildname; 61 QString buildname = settings->curPlatform();
62 devices->beginGroup(userSettings->value("platform").toString());
63 buildname = devices->value("platform").toString();
64 devices->endGroup();
65 if(ui.radioStable->isChecked()) { 62 if(ui.radioStable->isChecked()) {
66 file = QString("%1/rockbox-%2-%3.zip") 63 file = QString("%1/rockbox-%2-%3.zip")
67 .arg(devices->value("download_url").toString(), 64 .arg(settings->downloadUrl(),
68 devices->value("last_release").toString(), buildname); 65 settings->lastRelease(), buildname);
69 fileName = QString("rockbox-%1-%2.zip") 66 fileName = QString("rockbox-%1-%2.zip")
70 .arg(devices->value("last_release").toString(), buildname); 67 .arg(settings->lastRelease(), buildname);
71 userSettings->setValue("build", "stable"); 68 settings->setBuild("stable");
72 myversion = version.value("rel_rev"); 69 myversion = version.value("rel_rev");
73 } 70 }
74 else if(ui.radioArchived->isChecked()) { 71 else if(ui.radioArchived->isChecked()) {
75 file = QString("%1%2/rockbox-%3-%4.zip") 72 file = QString("%1%2/rockbox-%3-%4.zip")
76 .arg(devices->value("daily_url").toString(), 73 .arg(settings->dailyUrl(),
77 buildname, buildname, version.value("arch_date")); 74 buildname, buildname, version.value("arch_date"));
78 fileName = QString("rockbox-%1-%2.zip") 75 fileName = QString("rockbox-%1-%2.zip")
79 .arg(buildname, version.value("arch_date")); 76 .arg(buildname, version.value("arch_date"));
80 userSettings->setValue("build", "archived"); 77 settings->setBuild("archived");
81 myversion = "r" + version.value("arch_rev") + "-" + version.value("arch_date"); 78 myversion = "r" + version.value("arch_rev") + "-" + version.value("arch_date");
82 } 79 }
83 else if(ui.radioCurrent->isChecked()) { 80 else if(ui.radioCurrent->isChecked()) {
84 file = QString("%1%2/rockbox.zip") 81 file = QString("%1%2/rockbox.zip")
85 .arg(devices->value("bleeding_url").toString(), buildname); 82 .arg(settings->bleedingUrl(), buildname);
86 fileName = QString("rockbox.zip"); 83 fileName = QString("rockbox.zip");
87 userSettings->setValue("build", "current"); 84 settings->setBuild("current");
88 myversion = "r" + version.value("bleed_rev"); 85 myversion = "r" + version.value("bleed_rev");
89 } 86 }
90 else { 87 else {
91 qDebug() << "no build selected -- this shouldn't happen"; 88 qDebug() << "no build selected -- this shouldn't happen";
92 return; 89 return;
93 } 90 }
94 userSettings->sync(); 91 settings->sync();
95 92
96 installer = new ZipInstaller(this); 93 installer = new ZipInstaller(this);
97 installer->setUrl(file); 94 installer->setUrl(file);
98 installer->setProxy(proxy); 95 installer->setProxy(proxy);
99 installer->setLogSection("Rockbox (Base)"); 96 installer->setLogSection("Rockbox (Base)");
100 if(!userSettings->value("cachedisable").toBool() 97 if(!settings->cacheDisabled()
101 && !ui.radioCurrent->isChecked() 98 && !ui.radioCurrent->isChecked()
102 && !ui.checkBoxCache->isChecked()) 99 && !ui.checkBoxCache->isChecked())
103 installer->setCache(userSettings->value("cachepath", 100 installer->setCache(settings->cachePath());
104 QDir::tempPath()).toString());
105 101
106 installer->setLogVersion(myversion); 102 installer->setLogVersion(myversion);
107 installer->setMountPoint(mountPoint); 103 installer->setMountPoint(mountPoint);
@@ -125,9 +121,9 @@ void Install::done(bool error)
125 // no error, close the window, when the logger is closed 121 // no error, close the window, when the logger is closed
126 connect(logger,SIGNAL(closed()),this,SLOT(close())); 122 connect(logger,SIGNAL(closed()),this,SLOT(close()));
127 // add platform info to log file for later detection 123 // add platform info to log file for later detection
128 QSettings installlog(userSettings->value("mountpoint").toString() 124 QSettings installlog(settings->mountpoint()
129 + "/.rockbox/rbutil.log", QSettings::IniFormat, 0); 125 + "/.rockbox/rbutil.log", QSettings::IniFormat, 0);
130 installlog.setValue("platform", userSettings->value("platform").toString()); 126 installlog.setValue("platform", settings->curPlatform());
131 installlog.sync(); 127 installlog.sync();
132} 128}
133 129
@@ -179,12 +175,6 @@ void Install::setDetailsArchived(bool show)
179} 175}
180 176
181 177
182void Install::setDeviceSettings(QSettings *dev)
183{
184 devices = dev;
185 qDebug() << "Install::setDeviceSettings:" << devices;
186}
187
188 178
189void Install::setVersionStrings(QMap<QString, QString> ver) 179void Install::setVersionStrings(QMap<QString, QString> ver)
190{ 180{
@@ -217,7 +207,7 @@ void Install::setVersionStrings(QMap<QString, QString> ver)
217 qDebug() << "Install::setVersionStrings" << version; 207 qDebug() << "Install::setVersionStrings" << version;
218} 208}
219 209
220void Install::setUserSettings(QSettings *user) 210void Install::setSettings(RbSettings *sett)
221{ 211{
222 userSettings = user; 212 settings = sett;
223} 213}
diff --git a/rbutil/rbutilqt/install.h b/rbutil/rbutilqt/install.h
index 17c4ba1086..4d102a0e65 100644
--- a/rbutil/rbutilqt/install.h
+++ b/rbutil/rbutilqt/install.h
@@ -22,11 +22,10 @@
22 22
23#include <QtGui> 23#include <QtGui>
24 24
25#include <QSettings>
26
27#include "ui_installfrm.h" 25#include "ui_installfrm.h"
28#include "installzip.h" 26#include "installzip.h"
29#include "progressloggergui.h" 27#include "progressloggergui.h"
28#include "rbsettings.h"
30 29
31class Install : public QDialog 30class Install : public QDialog
32{ 31{
@@ -34,8 +33,7 @@ class Install : public QDialog
34 public: 33 public:
35 Install(QWidget *parent = 0); 34 Install(QWidget *parent = 0);
36 void setProxy(QUrl); 35 void setProxy(QUrl);
37 void setUserSettings(QSettings*); 36 void setSettings(RbSettings* sett);
38 void setDeviceSettings(QSettings*);
39 void setVersionStrings(QMap<QString, QString>); 37 void setVersionStrings(QMap<QString, QString>);
40 38
41 public slots: 39 public slots:
@@ -45,8 +43,7 @@ class Install : public QDialog
45 Ui::InstallFrm ui; 43 Ui::InstallFrm ui;
46 ProgressLoggerGui* logger; 44 ProgressLoggerGui* logger;
47 QUrl proxy; 45 QUrl proxy;
48 QSettings *devices; 46 RbSettings* settings;
49 QSettings *userSettings;
50 QHttp *download; 47 QHttp *download;
51 QFile *target; 48 QFile *target;
52 QString file; 49 QString file;
diff --git a/rbutil/rbutilqt/installtalkwindow.cpp b/rbutil/rbutilqt/installtalkwindow.cpp
index e1b0b69049..f7202aae40 100644
--- a/rbutil/rbutilqt/installtalkwindow.cpp
+++ b/rbutil/rbutilqt/installtalkwindow.cpp
@@ -66,7 +66,7 @@ void InstallTalkWindow::setTalkFolder(QString folder)
66void InstallTalkWindow::change() 66void InstallTalkWindow::change()
67{ 67{
68 Config *cw = new Config(this,4); 68 Config *cw = new Config(this,4);
69 cw->setSettings(userSettings,devices); 69 cw->setSettings(settings);
70 cw->show(); 70 cw->show();
71 connect(cw, SIGNAL(settingsUpdated()), this, SIGNAL(settingsUpdated())); 71 connect(cw, SIGNAL(settingsUpdated()), this, SIGNAL(settingsUpdated()));
72} 72}
@@ -86,13 +86,13 @@ void InstallTalkWindow::accept()
86 return; 86 return;
87 } 87 }
88 88
89 userSettings->setValue("last_talked_folder", folderToTalk); 89 settings->setLastTalkedDir(folderToTalk);
90 90
91 userSettings->sync(); 91 settings->sync();
92 92
93 talkcreator->setSettings(userSettings,devices); 93 talkcreator->setSettings(settings);
94 talkcreator->setDir(QDir(folderToTalk)); 94 talkcreator->setDir(QDir(folderToTalk));
95 talkcreator->setMountPoint(userSettings->value("mountpoint").toString()); 95 talkcreator->setMountPoint(settings->mountpoint());
96 96
97 talkcreator->setOverwriteTalk(ui.OverwriteTalk->isChecked()); 97 talkcreator->setOverwriteTalk(ui.OverwriteTalk->isChecked());
98 talkcreator->setOverwriteWav(ui.OverwriteWav->isChecked()); 98 talkcreator->setOverwriteWav(ui.OverwriteWav->isChecked());
@@ -106,29 +106,27 @@ void InstallTalkWindow::accept()
106} 106}
107 107
108 108
109void InstallTalkWindow::setSettings(QSettings *user,QSettings *dev) 109void InstallTalkWindow::setSettings(RbSettings* sett)
110{ 110{
111 devices = dev; 111 settings = sett;
112 userSettings = user; 112
113 qDebug() << "Install::setDeviceSettings:" << devices; 113 QString ttsName = settings->curTTS();
114
115 QString ttsName = userSettings->value("tts", "none").toString();
116 TTSBase* tts = getTTS(ttsName); 114 TTSBase* tts = getTTS(ttsName);
117 tts->setCfg(userSettings,devices); 115 tts->setCfg(settings);
118 if(tts->configOk()) 116 if(tts->configOk())
119 ui.labelTtsProfile->setText(tr("Selected TTS engine : <b>%1</b>").arg(ttsName)); 117 ui.labelTtsProfile->setText(tr("Selected TTS engine : <b>%1</b>").arg(ttsName));
120 else 118 else
121 ui.labelTtsProfile->setText(tr("Selected TTS Engine: <b>%1</b>").arg("Invalid TTS configuration!")); 119 ui.labelTtsProfile->setText(tr("Selected TTS Engine: <b>%1</b>").arg("Invalid TTS configuration!"));
122 120
123 QString encoder = userSettings->value("encoder", "none").toString(); 121 QString encoder = settings->curEncoder();
124 EncBase* enc = getEncoder(encoder); 122 EncBase* enc = getEncoder(encoder);
125 enc->setUserCfg(userSettings); 123 enc->setCfg(settings);
126 if(enc->configOk()) 124 if(enc->configOk())
127 ui.labelEncProfile->setText(tr("Selected Encoder: <b>%1</b>").arg(encoder)); 125 ui.labelEncProfile->setText(tr("Selected Encoder: <b>%1</b>").arg(encoder));
128 else 126 else
129 ui.labelEncProfile->setText(tr("Selected Encoder: <b>%1</b>").arg("Invalid encoder configuration!")); 127 ui.labelEncProfile->setText(tr("Selected Encoder: <b>%1</b>").arg("Invalid encoder configuration!"));
130 128
131 setTalkFolder(userSettings->value("last_talked_folder").toString()); 129 setTalkFolder(settings->lastTalkedFolder());
132 130
133} 131}
134 132
diff --git a/rbutil/rbutilqt/installtalkwindow.h b/rbutil/rbutilqt/installtalkwindow.h
index 5899c5701e..7ac9e45fc0 100644
--- a/rbutil/rbutilqt/installtalkwindow.h
+++ b/rbutil/rbutilqt/installtalkwindow.h
@@ -22,18 +22,17 @@
22 22
23#include <QtGui> 23#include <QtGui>
24 24
25#include <QSettings>
26
27#include "ui_installtalkfrm.h" 25#include "ui_installtalkfrm.h"
28#include "progressloggergui.h" 26#include "progressloggergui.h"
29#include "talkfile.h" 27#include "talkfile.h"
28#include "rbsettings.h"
30 29
31class InstallTalkWindow : public QDialog 30class InstallTalkWindow : public QDialog
32{ 31{
33 Q_OBJECT 32 Q_OBJECT
34 public: 33 public:
35 InstallTalkWindow(QWidget *parent = 0); 34 InstallTalkWindow(QWidget *parent = 0);
36 void setSettings(QSettings* user,QSettings* device); 35 void setSettings(RbSettings* sett);
37 36
38 signals: 37 signals:
39 void settingsUpdated(void); 38 void settingsUpdated(void);
@@ -50,8 +49,7 @@ class InstallTalkWindow : public QDialog
50 TalkFileCreator* talkcreator; 49 TalkFileCreator* talkcreator;
51 Ui::InstallTalkFrm ui; 50 Ui::InstallTalkFrm ui;
52 ProgressLoggerGui* logger; 51 ProgressLoggerGui* logger;
53 QSettings *devices; 52 RbSettings* settings;
54 QSettings *userSettings;
55 53
56}; 54};
57 55
diff --git a/rbutil/rbutilqt/installthemes.cpp b/rbutil/rbutilqt/installthemes.cpp
index b468dad189..be196c8274 100644
--- a/rbutil/rbutilqt/installthemes.cpp
+++ b/rbutil/rbutilqt/installthemes.cpp
@@ -46,24 +46,7 @@ ThemesInstallWindow::~ThemesInstallWindow()
46 46
47QString ThemesInstallWindow::resolution() 47QString ThemesInstallWindow::resolution()
48{ 48{
49 QString resolution; 49 return settings->curResolution();
50 devices->beginGroup(userSettings->value("platform").toString());
51 resolution = devices->value("resolution").toString();
52 devices->endGroup();
53 return resolution;
54}
55
56
57void ThemesInstallWindow::setDeviceSettings(QSettings *dev)
58{
59 devices = dev;
60 qDebug() << "setDeviceSettings()" << devices;
61}
62
63
64void ThemesInstallWindow::setUserSettings(QSettings *user)
65{
66 userSettings = user;
67} 50}
68 51
69 52
@@ -79,12 +62,12 @@ void ThemesInstallWindow::downloadInfo()
79 themesInfo.close(); 62 themesInfo.close();
80 63
81 QUrl url; 64 QUrl url;
82 url = QUrl(devices->value("themes_url").toString() + "/rbutilqt.php?res=" + resolution()); 65 url = QUrl(settings->themeUrl() + "/rbutilqt.php?res=" + resolution());
83 qDebug() << "downloadInfo()" << url; 66 qDebug() << "downloadInfo()" << url;
84 qDebug() << url.queryItems(); 67 qDebug() << url.queryItems();
85 getter->setProxy(proxy); 68 getter->setProxy(proxy);
86 if(userSettings->value("offline").toBool()) 69 if(settings->cacheOffline())
87 getter->setCache(userSettings->value("cachepath", QDir::tempPath()).toString()); 70 getter->setCache(settings->cachePath());
88 getter->setFile(&themesInfo); 71 getter->setFile(&themesInfo);
89 getter->getFile(url); 72 getter->getFile(url);
90} 73}
@@ -173,9 +156,9 @@ void ThemesInstallWindow::updateDetails(int row)
173 iniDetails.beginGroup(ui.listThemes->item(row)->data(Qt::UserRole).toString()); 156 iniDetails.beginGroup(ui.listThemes->item(row)->data(Qt::UserRole).toString());
174 157
175 QUrl img, txt; 158 QUrl img, txt;
176 txt = QUrl(QString(devices->value("themes_url").toString() + "/" 159 txt = QUrl(QString(settings->themeUrl() + "/"
177 + iniDetails.value("descriptionfile").toString())); 160 + iniDetails.value("descriptionfile").toString()));
178 img = QUrl(QString(devices->value("themes_url").toString() + "/" 161 img = QUrl(QString(settings->themeUrl() + "/"
179 + iniDetails.value("image").toString())); 162 + iniDetails.value("image").toString()));
180 qDebug() << "txt:" << txt; 163 qDebug() << "txt:" << txt;
181 qDebug() << "img:" << img; 164 qDebug() << "img:" << img;
@@ -190,8 +173,8 @@ void ThemesInstallWindow::updateDetails(int row)
190 173
191 igetter.abort(); 174 igetter.abort();
192 igetter.setProxy(proxy); 175 igetter.setProxy(proxy);
193 if(!userSettings->value("cachedisable").toBool()) 176 if(!settings->cacheDisabled())
194 igetter.setCache(userSettings->value("cachepath", QDir::tempPath()).toString()); 177 igetter.setCache(settings->cachePath());
195 else 178 else
196 { 179 {
197 if(infocachedir=="") 180 if(infocachedir=="")
@@ -291,7 +274,7 @@ void ThemesInstallWindow::accept()
291 QSettings iniDetails(themesInfo.fileName(), QSettings::IniFormat, this); 274 QSettings iniDetails(themesInfo.fileName(), QSettings::IniFormat, this);
292 for(int i = 0; i < ui.listThemes->selectedItems().size(); i++) { 275 for(int i = 0; i < ui.listThemes->selectedItems().size(); i++) {
293 iniDetails.beginGroup(ui.listThemes->selectedItems().at(i)->data(Qt::UserRole).toString()); 276 iniDetails.beginGroup(ui.listThemes->selectedItems().at(i)->data(Qt::UserRole).toString());
294 zip = devices->value("themes_url").toString() 277 zip = settings->themeUrl()
295 + "/" + iniDetails.value("archive").toString(); 278 + "/" + iniDetails.value("archive").toString();
296 themes.append(zip); 279 themes.append(zip);
297 names.append("Theme: " + 280 names.append("Theme: " +
@@ -305,8 +288,8 @@ void ThemesInstallWindow::accept()
305 288
306 logger = new ProgressLoggerGui(this); 289 logger = new ProgressLoggerGui(this);
307 logger->show(); 290 logger->show();
308 QString mountPoint = userSettings->value("mountpoint").toString(); 291 QString mountPoint = settings->mountpoint();
309 qDebug() << "mountpoint:" << userSettings->value("mountpoint").toString(); 292 qDebug() << "mountpoint:" << mountPoint;
310 // show dialog with error if mount point is wrong 293 // show dialog with error if mount point is wrong
311 if(!QFileInfo(mountPoint).isDir()) { 294 if(!QFileInfo(mountPoint).isDir()) {
312 logger->addItem(tr("Mount point is wrong!"),LOGERROR); 295 logger->addItem(tr("Mount point is wrong!"),LOGERROR);
@@ -320,8 +303,8 @@ void ThemesInstallWindow::accept()
320 installer->setLogSection(names); 303 installer->setLogSection(names);
321 installer->setLogVersion(version); 304 installer->setLogVersion(version);
322 installer->setMountPoint(mountPoint); 305 installer->setMountPoint(mountPoint);
323 if(!userSettings->value("cachedisable").toBool()) 306 if(!settings->cacheDisabled())
324 installer->setCache(userSettings->value("cachepath", QDir::tempPath()).toString()); 307 installer->setCache(settings->cachePath());
325 installer->install(logger); 308 installer->install(logger);
326 connect(logger, SIGNAL(closed()), this, SLOT(close())); 309 connect(logger, SIGNAL(closed()), this, SLOT(close()));
327} 310}
diff --git a/rbutil/rbutilqt/installthemes.h b/rbutil/rbutilqt/installthemes.h
index 12c0f6a2d1..0f7d0f4a6b 100644
--- a/rbutil/rbutilqt/installthemes.h
+++ b/rbutil/rbutilqt/installthemes.h
@@ -27,6 +27,7 @@
27#include "httpget.h" 27#include "httpget.h"
28#include "installzip.h" 28#include "installzip.h"
29#include "progressloggergui.h" 29#include "progressloggergui.h"
30#include "rbsettings.h"
30 31
31class ThemesInstallWindow : public QDialog 32class ThemesInstallWindow : public QDialog
32{ 33{
@@ -35,8 +36,7 @@ class ThemesInstallWindow : public QDialog
35 public: 36 public:
36 ThemesInstallWindow(QWidget* parent = 0); 37 ThemesInstallWindow(QWidget* parent = 0);
37 ~ThemesInstallWindow(); 38 ~ThemesInstallWindow();
38 void setDeviceSettings(QSettings*); 39 void setSettings(RbSettings* sett){settings=sett;}
39 void setUserSettings(QSettings *);
40 void setProxy(QUrl); 40 void setProxy(QUrl);
41 void downloadInfo(void); 41 void downloadInfo(void);
42 void show(void); 42 void show(void);
@@ -47,8 +47,7 @@ class ThemesInstallWindow : public QDialog
47 47
48 private: 48 private:
49 Ui::ThemeInstallFrm ui; 49 Ui::ThemeInstallFrm ui;
50 QSettings *devices; 50 RbSettings* settings;
51 QSettings *userSettings;
52 HttpGet *getter; 51 HttpGet *getter;
53 HttpGet igetter; 52 HttpGet igetter;
54 QTemporaryFile themesInfo; 53 QTemporaryFile themesInfo;
diff --git a/rbutil/rbutilqt/rbsettings.cpp b/rbutil/rbutilqt/rbsettings.cpp
new file mode 100644
index 0000000000..736921ce81
--- /dev/null
+++ b/rbutil/rbutilqt/rbsettings.cpp
@@ -0,0 +1,563 @@
1/***************************************************************************
2 * __________ __ ___.
3 * Open \______ \ ____ ____ | | _\_ |__ _______ ___
4 * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
5 * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
6 * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
7 * \/ \/ \/ \/ \/
8 *
9 * Copyright (C) 2007 by Dominik Wenger
10 * $Id: rbsettings.cpp 16150 2008-01-23 21:54:40Z domonoky $
11 *
12 * All files in this archive are subject to the GNU General Public License.
13 * See the file COPYING in the source tree root for full license agreement.
14 *
15 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
16 * KIND, either express or implied.
17 *
18 ****************************************************************************/
19
20#include "rbsettings.h"
21
22#include <QSettings>
23
24void RbSettings::open()
25{
26 // only use built-in rbutil.ini
27 devices = new QSettings(":/ini/rbutil.ini", QSettings::IniFormat, 0);
28 // portable installation:
29 // check for a configuration file in the program folder.
30 QFileInfo config;
31 config.setFile(qApp->applicationDirPath() + "/RockboxUtility.ini");
32 if(config.isFile())
33 {
34 userSettings = new QSettings(qApp->applicationDirPath() + "/RockboxUtility.ini",
35 QSettings::IniFormat, 0);
36 qDebug() << "config: portable";
37 }
38 else
39 {
40 userSettings = new QSettings(QSettings::IniFormat,
41 QSettings::UserScope, "rockbox.org", "RockboxUtility");
42 qDebug() << "config: system";
43 }
44}
45
46void RbSettings::sync()
47{
48 userSettings->sync();
49}
50
51QString RbSettings::userSettingFilename()
52{
53 return userSettings->fileName();
54}
55
56bool RbSettings::cacheOffline()
57{
58 return userSettings->value("offline").toBool();
59}
60
61bool RbSettings::curNeedsBootloader()
62{
63 QString platform = userSettings->value("platform").toString();
64 devices->beginGroup(platform);
65 QString result = devices->value("needsbootloader", "").toString();
66 devices->endGroup();
67 if( result == "no")
68 {
69 return false;
70 }
71 else
72 return true;
73}
74
75QString RbSettings::mountpoint()
76{
77 return userSettings->value("mountpoint").toString();
78}
79
80QString RbSettings::manualUrl()
81{
82 return devices->value("manual_url").toString();
83}
84
85QString RbSettings::bleedingUrl()
86{
87 return devices->value("bleeding_url").toString();
88}
89
90
91QString RbSettings::lastRelease()
92{
93 return devices->value("last_release").toString();
94}
95
96QString RbSettings::cachePath()
97{
98 return userSettings->value("cachepath", QDir::tempPath()).toString();
99}
100
101QString RbSettings::bootloaderUrl()
102{
103 return devices->value("bootloader_url").toString();
104}
105
106QString RbSettings::bootloaderInfoUrl()
107{
108 return devices->value("bootloader_info_url").toString();
109}
110
111QString RbSettings::fontUrl()
112{
113 return devices->value("font_url").toString();
114}
115
116QString RbSettings::voiceUrl()
117{
118 return devices->value("voice_url").toString();
119}
120
121QString RbSettings::doomUrl()
122{
123 return devices->value("doom_url").toString();
124}
125
126QString RbSettings::downloadUrl()
127{
128 return devices->value("download_url").toString();
129}
130
131QString RbSettings::dailyUrl()
132{
133 return devices->value("daily_url").toString();
134}
135
136QString RbSettings::serverConfUrl()
137{
138 return devices->value("server_conf_url").toString();
139}
140
141QString RbSettings::genlangUrl()
142{
143 return devices->value("genlang_url").toString();
144}
145
146QString RbSettings::themeUrl()
147{
148 return devices->value("themes_url").toString();
149}
150
151QString RbSettings::bleedingInfo()
152{
153 return devices->value("bleeding_info").toString();
154}
155
156bool RbSettings::cacheDisabled()
157{
158 return userSettings->value("cachedisable").toBool();
159}
160
161QString RbSettings::proxyType()
162{
163 return userSettings->value("proxytype", "system").toString();
164}
165
166QString RbSettings::proxy()
167{
168 return userSettings->value("proxy").toString();
169}
170
171QString RbSettings::ofPath()
172{
173 return userSettings->value("ofpath").toString();
174}
175
176QString RbSettings::curBrand()
177{
178 QString platform = userSettings->value("platform").toString();
179 return brand(platform);
180}
181
182QString RbSettings::curName()
183{
184 QString platform = userSettings->value("platform").toString();
185 return name(platform);
186}
187
188QString RbSettings::curPlatform()
189{
190 return userSettings->value("platform").toString();
191}
192
193QString RbSettings::curManual()
194{
195 QString platform = userSettings->value("platform").toString();
196 devices->beginGroup(platform);
197 QString name = devices->value("manualname","rockbox-" +
198 devices->value("platform").toString()).toString();
199 devices->endGroup();
200 return name;
201}
202
203bool RbSettings::curReleased()
204{
205 QString platform = userSettings->value("platform").toString();
206 devices->beginGroup(platform);
207 QString released = devices->value("released").toString();
208 devices->endGroup();
209
210 if(released == "yes")
211 return true;
212 else
213 return false;
214}
215
216QString RbSettings::curBootloaderMethod()
217{
218 QString platform = userSettings->value("platform").toString();
219 devices->beginGroup(platform);
220 QString method = devices->value("bootloadermethod").toString();
221 devices->endGroup();
222 return method;
223}
224
225QString RbSettings::curBootloaderName()
226{
227 QString platform = userSettings->value("platform").toString();
228 devices->beginGroup(platform);
229 QString name = devices->value("bootloadername").toString();
230 devices->endGroup();
231 return name;
232}
233
234QString RbSettings::curVoiceName()
235{
236 QString platform = userSettings->value("platform").toString();
237 devices->beginGroup(platform);
238 QString name = devices->value("voicename").toString();
239 devices->endGroup();
240 return name;
241}
242
243QString RbSettings::curLang()
244{
245 return userSettings->value("lang").toString();
246}
247
248QString RbSettings::curEncoder()
249{
250 return userSettings->value("encoder").toString();
251}
252
253QString RbSettings::curTTS()
254{
255 return userSettings->value("tts").toString();
256}
257
258QString RbSettings::lastTalkedFolder()
259{
260 return userSettings->value("last_talked_folder").toString();
261}
262
263QString RbSettings::voiceLanguage()
264{
265 return userSettings->value("voicelanguage").toString();
266}
267
268int RbSettings::wavtrimTh()
269{
270 return userSettings->value("wavtrimthreshold",500).toInt();
271}
272
273QString RbSettings::ttsPath(QString tts)
274{
275 devices->beginGroup(tts);
276 QString path = devices->value("ttspath").toString();
277 devices->endGroup();
278 return path;
279
280}
281QString RbSettings::ttsOptions(QString tts)
282{
283 devices->beginGroup(tts);
284 QString op = devices->value("ttsoptions").toString();
285 devices->endGroup();
286 return op;
287}
288QString RbSettings::ttsVoice(QString tts)
289{
290 devices->beginGroup(tts);
291 QString op = devices->value("ttsvoice").toString();
292 devices->endGroup();
293 return op;
294}
295int RbSettings::ttsSpeed(QString tts)
296{
297 devices->beginGroup(tts);
298 int sp = devices->value("ttsspeed",0).toInt();
299 devices->endGroup();
300 return sp;
301}
302QString RbSettings::ttsLang(QString tts)
303{
304 devices->beginGroup(tts);
305 QString op = devices->value("ttslanguage").toString();
306 devices->endGroup();
307 return op;
308}
309
310QString RbSettings::encoderPath(QString enc)
311{
312 devices->beginGroup(enc);
313 QString path = devices->value("encoderpath").toString();
314 devices->endGroup();
315 return path;
316}
317QString RbSettings::encoderOptions(QString enc)
318{
319 devices->beginGroup(enc);
320 QString op = devices->value("encoderpath").toString();
321 devices->endGroup();
322 return op;
323}
324
325double RbSettings::encoderQuality(QString enc)
326{
327 devices->beginGroup(enc);
328 double q = devices->value("quality",8.f).toDouble();
329 devices->endGroup();
330 return q;
331}
332int RbSettings::encoderComplexity(QString enc)
333{
334 devices->beginGroup(enc);
335 int c = devices->value("complexity",1.f).toInt();
336 devices->endGroup();
337 return c;
338}
339double RbSettings::encoderVolume(QString enc)
340{
341 devices->beginGroup(enc);
342 double v = devices->value("volume",10).toDouble();
343 devices->endGroup();
344 return v;
345}
346bool RbSettings::encoderNarrowband(QString enc)
347{
348 devices->beginGroup(enc);
349 bool nb = devices->value("narrowband",false).toBool();
350 devices->endGroup();
351 return nb;
352}
353
354QStringList RbSettings::allPlatforms()
355{
356 QStringList result;
357 devices->beginGroup("platforms");
358 QStringList a = devices->childKeys();
359 for(int i = 0; i < a.size(); i++)
360 {
361 result.append(devices->value(a.at(i), "null").toString());
362 }
363 devices->endGroup();
364 return result;
365}
366
367QStringList RbSettings::allLanguages()
368{
369 QStringList result;
370 devices->beginGroup("languages");
371 QStringList a = devices->childKeys();
372 for(int i = 0; i < a.size(); i++)
373 {
374 result.append(devices->value(a.at(i), "null").toString());
375 }
376 devices->endGroup();
377 return result;
378}
379
380QString RbSettings::name(QString plattform)
381{
382 devices->beginGroup(plattform);
383 QString name = devices->value("name").toString();
384 devices->endGroup();
385 return name;
386}
387
388QString RbSettings::brand(QString plattform)
389{
390 devices->beginGroup(plattform);
391 QString brand = devices->value("brand").toString();
392 devices->endGroup();
393 return brand;
394}
395
396QString RbSettings::curResolution()
397{
398 QString platform = userSettings->value("platform").toString();
399 devices->beginGroup(platform);
400 QString resolution = devices->value("resolution").toString();
401 devices->endGroup();
402 return resolution;
403}
404
405int RbSettings::curTargetId()
406{
407 QString platform = userSettings->value("platform").toString();
408 devices->beginGroup(platform);
409 int id = devices->value("targetid").toInt();
410 devices->endGroup();
411 return id;
412}
413
414
415void RbSettings::setOfPath(QString path)
416{
417 userSettings->setValue("ofpath",path);
418}
419
420void RbSettings::setCachePath(QString path)
421{
422 userSettings->setValue("cachepath", path);
423}
424
425void RbSettings::setBuild(QString build)
426{
427 userSettings->setValue("build", build);
428}
429
430void RbSettings::setLastTalkedDir(QString dir)
431{
432 userSettings->setValue("last_talked_folder", dir);
433}
434
435void RbSettings::setVoiceLanguage(QString dir)
436{
437 userSettings->setValue("voicelanguage", dir);
438}
439
440void RbSettings::setWavtrimTh(int th)
441{
442 userSettings->setValue("wavtrimthreshold", th);
443}
444
445void RbSettings::setProxy(QString proxy)
446{
447 userSettings->setValue("proxy", proxy);
448}
449
450void RbSettings::setProxyType(QString proxytype)
451{
452 userSettings->setValue("proxytype", proxytype);
453}
454
455void RbSettings::setLang(QString lang)
456{
457 userSettings->setValue("lang", lang);
458}
459
460void RbSettings::setMountpoint(QString mp)
461{
462 userSettings->setValue("mountpoint",mp);
463}
464
465void RbSettings::setCurPlatform(QString platt)
466{
467 userSettings->setValue("platform",platt);
468}
469
470
471void RbSettings::setCacheDisable(bool on)
472{
473 userSettings->setValue("cachedisable",on);
474}
475
476void RbSettings::setCacheOffline(bool on)
477{
478 userSettings->setValue("offline",on);
479}
480
481void RbSettings::setCurTTS(QString tts)
482{
483 userSettings->setValue("tts",tts);
484}
485
486void RbSettings::setCurEncoder(QString enc)
487{
488 userSettings->setValue("encoder",enc);
489}
490
491void RbSettings::setTTSPath(QString tts, QString path)
492{
493 userSettings->beginGroup(tts);
494 userSettings->setValue("ttspath",path);
495 userSettings->endGroup();
496}
497
498void RbSettings::setTTSOptions(QString tts, QString options)
499{
500 userSettings->beginGroup(tts);
501 userSettings->setValue("ttsoptions",options);
502 userSettings->endGroup();
503}
504
505void RbSettings::setTTSVoice(QString tts, QString voice)
506{
507 userSettings->beginGroup(tts);
508 userSettings->setValue("ttsvoice",voice);
509 userSettings->endGroup();
510}
511
512void RbSettings::setTTSSpeed(QString tts, int speed)
513{
514 userSettings->beginGroup(tts);
515 userSettings->setValue("ttsspeed",speed);
516 userSettings->endGroup();
517}
518
519void RbSettings::setTTSLang(QString tts, QString lang)
520{
521 userSettings->beginGroup(tts);
522 userSettings->setValue("ttslanguage",lang);
523 userSettings->endGroup();
524}
525
526void RbSettings::setEncoderPath(QString enc, QString path)
527{
528 userSettings->beginGroup(enc);
529 userSettings->setValue("encoderpath",path);
530 userSettings->endGroup();
531}
532
533void RbSettings::setEncoderOptions(QString enc, QString options)
534{
535 userSettings->beginGroup(enc);
536 userSettings->setValue("encoderoptions",options);
537 userSettings->endGroup();
538}
539
540void RbSettings::setEncoderQuality(QString enc, double q)
541{
542 userSettings->beginGroup(enc);
543 userSettings->setValue("quality",q);
544 userSettings->endGroup();
545}
546void RbSettings::setEncoderComplexity(QString enc, int c)
547{
548 userSettings->beginGroup(enc);
549 userSettings->setValue("complexity",c);
550 userSettings->endGroup();
551}
552void RbSettings::setEncoderVolume(QString enc,double v)
553{
554 userSettings->beginGroup(enc);
555 userSettings->setValue("volume",v);
556 userSettings->endGroup();
557}
558void RbSettings::setEncoderNarrowband(QString enc,bool nb)
559{
560 userSettings->beginGroup(enc);
561 userSettings->setValue("narrowband",nb);
562 userSettings->endGroup();
563}
diff --git a/rbutil/rbutilqt/rbsettings.h b/rbutil/rbutilqt/rbsettings.h
new file mode 100644
index 0000000000..29aa9e8a1d
--- /dev/null
+++ b/rbutil/rbutilqt/rbsettings.h
@@ -0,0 +1,137 @@
1/***************************************************************************
2 * __________ __ ___.
3 * Open \______ \ ____ ____ | | _\_ |__ _______ ___
4 * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
5 * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
6 * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
7 * \/ \/ \/ \/ \/
8 *
9 * Copyright (C) 2007 by Dominik Wenger
10 * $Id: rbsettings.h 16059 2008-01-11 23:59:12Z domonoky $
11 *
12 * All files in this archive are subject to the GNU General Public License.
13 * See the file COPYING in the source tree root for full license agreement.
14 *
15 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
16 * KIND, either express or implied.
17 *
18 ****************************************************************************/
19
20#ifndef RBSETTINGS_H
21#define RBSETTINGS_H
22
23#include <QtGui>
24class QSettings;
25
26class RbSettings : public QObject
27{
28 Q_OBJECT
29
30 public:
31 RbSettings() {}
32
33 //! open the settings files
34 void open();
35 //! call this to flush the user Settings
36 void sync();
37
38 // returns the filename of the usersettings file
39 QString userSettingFilename();
40
41 //! access functions for the settings
42 bool cacheOffline();
43 bool cacheDisabled();
44 QString mountpoint();
45 QString manualUrl();
46 QString bleedingUrl();
47 QString lastRelease();
48 QString cachePath();
49 QString bootloaderUrl();
50 QString bootloaderInfoUrl();
51 QString fontUrl();
52 QString voiceUrl();
53 QString doomUrl();
54 QString downloadUrl();
55 QString dailyUrl();
56 QString serverConfUrl();
57 QString themeUrl();
58 QString genlangUrl();
59 QString proxyType();
60 QString proxy();
61 QString bleedingInfo();
62 QString ofPath();
63 QString lastTalkedFolder();
64 QString voiceLanguage();
65 int wavtrimTh();
66 QString ttsPath(QString tts);
67 QString ttsOptions(QString tts);
68 QString ttsVoice(QString tts);
69 int ttsSpeed(QString tts);
70 QString ttsLang(QString tts);
71 QString encoderPath(QString enc);
72 QString encoderOptions(QString enc);
73 double encoderQuality(QString enc);
74 int encoderComplexity(QString enc);
75 double encoderVolume(QString enc);
76 bool encoderNarrowband(QString enc);
77
78 QStringList allPlatforms();
79 QString name(QString plattform);
80 QString brand(QString plattform);
81 QStringList allLanguages();
82
83 bool curNeedsBootloader();
84 QString curBrand();
85 QString curName();
86 QString curPlatform();
87 QString curManual();
88 bool curReleased();
89 QString curBootloaderMethod();
90 QString curBootloaderName();
91 QString curVoiceName();
92 QString curLang();
93 QString curEncoder();
94 QString curTTS();
95 QString curResolution();
96 int curTargetId();
97
98
99
100 void setOfPath(QString path);
101 void setCachePath(QString path);
102 void setBuild(QString build);
103 void setLastTalkedDir(QString dir);
104 void setVoiceLanguage(QString lang);
105 void setWavtrimTh(int th);
106 void setProxy(QString proxy);
107 void setProxyType(QString proxytype);
108 void setLang(QString lang);
109 void setMountpoint(QString mp);
110 void setCurPlatform(QString platt);
111 void setCacheDisable(bool on);
112 void setCacheOffline(bool on);
113 void setCurTTS(QString tts);
114 void setCurEncoder(QString enc);
115 void setTTSPath(QString tts, QString path);
116 void setTTSOptions(QString tts, QString options);
117 void setTTSSpeed(QString tts, int speed);
118 void setTTSVoice(QString tts, QString voice);
119 void setTTSLang(QString tts, QString lang);
120 void setEncoderPath(QString enc, QString path);
121 void setEncoderOptions(QString enc, QString options);
122 void setEncoderQuality(QString enc, double q);
123 void setEncoderComplexity(QString enc, int c);
124 void setEncoderVolume(QString enc,double v);
125 void setEncoderNarrowband(QString enc,bool nb);
126
127
128
129
130
131 private:
132 QSettings *devices;
133 QSettings *userSettings;
134
135};
136
137#endif
diff --git a/rbutil/rbutilqt/rbutilqt.cpp b/rbutil/rbutilqt/rbutilqt.cpp
index a482daf29e..9d64eac5ea 100644
--- a/rbutil/rbutilqt/rbutilqt.cpp
+++ b/rbutil/rbutilqt/rbutilqt.cpp
@@ -49,26 +49,12 @@
49RbUtilQt::RbUtilQt(QWidget *parent) : QMainWindow(parent) 49RbUtilQt::RbUtilQt(QWidget *parent) : QMainWindow(parent)
50{ 50{
51 absolutePath = qApp->applicationDirPath(); 51 absolutePath = qApp->applicationDirPath();
52 // only use built-in rbutil.ini 52
53 devices = new QSettings(":/ini/rbutil.ini", QSettings::IniFormat, 0);
54
55 ui.setupUi(this); 53 ui.setupUi(this);
56 54
57 // portable installation: 55 settings = new RbSettings();
58 // check for a configuration file in the program folder. 56 settings->open();
59 QFileInfo config; 57
60 config.setFile(absolutePath + "/RockboxUtility.ini");
61 if(config.isFile()) {
62 userSettings = new QSettings(absolutePath + "/RockboxUtility.ini",
63 QSettings::IniFormat, 0);
64 qDebug() << "config: portable";
65 }
66 else {
67 userSettings = new QSettings(QSettings::IniFormat,
68 QSettings::UserScope, "rockbox.org", "RockboxUtility");
69 qDebug() << "config: system";
70 }
71
72 // manual tab 58 // manual tab
73 updateManual(); 59 updateManual();
74 updateDevice(); 60 updateDevice();
@@ -147,11 +133,11 @@ void RbUtilQt::downloadInfo()
147 connect(daily, SIGNAL(requestFinished(int, bool)), this, SLOT(downloadDone(int, bool))); 133 connect(daily, SIGNAL(requestFinished(int, bool)), this, SLOT(downloadDone(int, bool)));
148 connect(qApp, SIGNAL(lastWindowClosed()), daily, SLOT(abort())); 134 connect(qApp, SIGNAL(lastWindowClosed()), daily, SLOT(abort()));
149 daily->setProxy(proxy()); 135 daily->setProxy(proxy());
150 if(userSettings->value("offline").toBool()) 136 if(settings->cacheOffline())
151 daily->setCache(userSettings->value("cachepath", QDir::tempPath()).toString()); 137 daily->setCache(settings->cachePath());
152 qDebug() << "downloading build info"; 138 qDebug() << "downloading build info";
153 daily->setFile(&buildInfo); 139 daily->setFile(&buildInfo);
154 daily->getFile(QUrl(devices->value("server_conf_url").toString())); 140 daily->getFile(QUrl(settings->serverConfUrl()));
155} 141}
156 142
157 143
@@ -174,10 +160,10 @@ void RbUtilQt::downloadDone(bool error)
174 connect(bleeding, SIGNAL(requestFinished(int, bool)), this, SLOT(downloadDone(int, bool))); 160 connect(bleeding, SIGNAL(requestFinished(int, bool)), this, SLOT(downloadDone(int, bool)));
175 connect(qApp, SIGNAL(lastWindowClosed()), daily, SLOT(abort())); 161 connect(qApp, SIGNAL(lastWindowClosed()), daily, SLOT(abort()));
176 bleeding->setProxy(proxy()); 162 bleeding->setProxy(proxy());
177 if(userSettings->value("offline").toBool()) 163 if(settings->cacheOffline())
178 bleeding->setCache(userSettings->value("cachepath", QDir::tempPath()).toString()); 164 bleeding->setCache(settings->cachePath());
179 bleeding->setFile(&bleedingInfo); 165 bleeding->setFile(&bleedingInfo);
180 bleeding->getFile(QUrl(devices->value("bleeding_info").toString())); 166 bleeding->getFile(QUrl(settings->bleedingInfo()));
181 167
182 if(chkConfig(false)) { 168 if(chkConfig(false)) {
183 QApplication::processEvents(); 169 QApplication::processEvents();
@@ -254,7 +240,7 @@ void RbUtilQt::help()
254void RbUtilQt::configDialog() 240void RbUtilQt::configDialog()
255{ 241{
256 Config *cw = new Config(this); 242 Config *cw = new Config(this);
257 cw->setSettings(userSettings,devices); 243 cw->setSettings(settings);
258 cw->show(); 244 cw->show();
259 connect(cw, SIGNAL(settingsUpdated()), this, SLOT(downloadInfo())); 245 connect(cw, SIGNAL(settingsUpdated()), this, SLOT(downloadInfo()));
260 connect(cw, SIGNAL(settingsUpdated()), this, SLOT(updateSettings())); 246 connect(cw, SIGNAL(settingsUpdated()), this, SLOT(updateSettings()));
@@ -271,10 +257,7 @@ void RbUtilQt::updateSettings()
271 257
272void RbUtilQt::updateDevice() 258void RbUtilQt::updateDevice()
273{ 259{
274 platform = userSettings->value("platform").toString(); 260 if(!settings->curNeedsBootloader() ) {
275 // buttons
276 devices->beginGroup(platform);
277 if(devices->value("needsbootloader", "") == "no") {
278 ui.buttonBootloader->setEnabled(false); 261 ui.buttonBootloader->setEnabled(false);
279 ui.buttonRemoveBootloader->setEnabled(false); 262 ui.buttonRemoveBootloader->setEnabled(false);
280 ui.labelBootloader->setEnabled(false); 263 ui.labelBootloader->setEnabled(false);
@@ -283,7 +266,7 @@ void RbUtilQt::updateDevice()
283 else { 266 else {
284 ui.buttonBootloader->setEnabled(true); 267 ui.buttonBootloader->setEnabled(true);
285 ui.labelBootloader->setEnabled(true); 268 ui.labelBootloader->setEnabled(true);
286 if(devices->value("bootloadermethod") == "fwpatcher") { 269 if(settings->curBootloaderMethod() == "fwpatcher") {
287 ui.labelRemoveBootloader->setEnabled(false); 270 ui.labelRemoveBootloader->setEnabled(false);
288 ui.buttonRemoveBootloader->setEnabled(false); 271 ui.buttonRemoveBootloader->setEnabled(false);
289 } 272 }
@@ -292,14 +275,11 @@ void RbUtilQt::updateDevice()
292 ui.buttonRemoveBootloader->setEnabled(true); 275 ui.buttonRemoveBootloader->setEnabled(true);
293 } 276 }
294 } 277 }
295 devices->endGroup(); 278
296 // displayed device info 279 // displayed device info
297 platform = userSettings->value("platform").toString(); 280 QString mountpoint = settings->mountpoint();
298 QString mountpoint = userSettings->value("mountpoint").toString(); 281 QString brand = settings->curBrand();
299 devices->beginGroup(platform); 282 QString name = settings->curName();
300 QString brand = devices->value("brand").toString();
301 QString name = devices->value("name").toString();
302 devices->endGroup();
303 if(name.isEmpty()) name = "&lt;none&gt;"; 283 if(name.isEmpty()) name = "&lt;none&gt;";
304 if(mountpoint.isEmpty()) mountpoint = "&lt;invalid&gt;"; 284 if(mountpoint.isEmpty()) mountpoint = "&lt;invalid&gt;";
305 ui.labelDevice->setText(tr("<b>%1 %2</b> at <b>%3</b>") 285 ui.labelDevice->setText(tr("<b>%1 %2</b> at <b>%3</b>")
@@ -309,19 +289,16 @@ void RbUtilQt::updateDevice()
309 289
310void RbUtilQt::updateManual() 290void RbUtilQt::updateManual()
311{ 291{
312 if(userSettings->value("platform").toString() != "") 292 if(settings->curPlatform() != "")
313 { 293 {
314 devices->beginGroup(userSettings->value("platform").toString()); 294 QString manual= settings->curManual();
315 QString manual;
316 manual = devices->value("manualname", "").toString();
317 295
318 if(manual == "") 296 if(manual == "")
319 manual = "rockbox-" + devices->value("platform").toString(); 297 manual = "rockbox-" + settings->curPlatform();
320 devices->endGroup();
321 QString pdfmanual; 298 QString pdfmanual;
322 pdfmanual = devices->value("manual_url").toString() + "/" + manual + ".pdf"; 299 pdfmanual = settings->manualUrl() + "/" + manual + ".pdf";
323 QString htmlmanual; 300 QString htmlmanual;
324 htmlmanual = devices->value("manual_url").toString() + "/" + manual + "/rockbox-build.html"; 301 htmlmanual = settings->manualUrl() + "/" + manual + "/rockbox-build.html";
325 ui.labelPdfManual->setText(tr("<a href='%1'>PDF Manual</a>") 302 ui.labelPdfManual->setText(tr("<a href='%1'>PDF Manual</a>")
326 .arg(pdfmanual)); 303 .arg(pdfmanual));
327 ui.labelHtmlManual->setText(tr("<a href='%1'>HTML Manual (opens in browser)</a>") 304 ui.labelHtmlManual->setText(tr("<a href='%1'>HTML Manual (opens in browser)</a>")
@@ -403,7 +380,7 @@ void RbUtilQt::smallInstall()
403 380
404bool RbUtilQt::smallInstallInner() 381bool RbUtilQt::smallInstallInner()
405{ 382{
406 QString mountpoint = userSettings->value("mountpoint").toString(); 383 QString mountpoint = settings->mountpoint();
407 // show dialog with error if mount point is wrong 384 // show dialog with error if mount point is wrong
408 if(!QFileInfo(mountpoint).isDir()) { 385 if(!QFileInfo(mountpoint).isDir()) {
409 logger->addItem(tr("Mount point is wrong!"),LOGERROR); 386 logger->addItem(tr("Mount point is wrong!"),LOGERROR);
@@ -411,10 +388,7 @@ bool RbUtilQt::smallInstallInner()
411 return true; 388 return true;
412 } 389 }
413 // Bootloader 390 // Bootloader
414 devices->beginGroup(userSettings->value("platform").toString()); 391 if(settings->curNeedsBootloader())
415 QString needBootloader = devices->value("needsbootloader", "").toString();
416 devices->endGroup();
417 if(needBootloader == "yes")
418 { 392 {
419 m_error = false; 393 m_error = false;
420 m_installed = false; 394 m_installed = false;
@@ -461,20 +435,16 @@ void RbUtilQt::installBtn()
461bool RbUtilQt::installAuto() 435bool RbUtilQt::installAuto()
462{ 436{
463 QString file = QString("%1%2/rockbox.zip") 437 QString file = QString("%1%2/rockbox.zip")
464 .arg(devices->value("bleeding_url").toString(), 438 .arg(settings->bleedingUrl(), settings->curPlatform());
465 userSettings->value("platform").toString());
466 439
467 buildInfo.open(); 440 buildInfo.open();
468 QSettings info(buildInfo.fileName(), QSettings::IniFormat, this); 441 QSettings info(buildInfo.fileName(), QSettings::IniFormat, this);
469 buildInfo.close(); 442 buildInfo.close();
470 443
471 devices->beginGroup(platform); 444 if(settings->curReleased()) {
472 QString released = devices->value("released").toString();
473 devices->endGroup();
474 if(released == "yes") {
475 // only set the keys if needed -- querying will yield an empty string 445 // only set the keys if needed -- querying will yield an empty string
476 // if not set. 446 // if not set.
477 versmap.insert("rel_rev", devices->value("last_release").toString()); 447 versmap.insert("rel_rev", settings->lastRelease());
478 versmap.insert("rel_date", ""); // FIXME: provide the release timestamp 448 versmap.insert("rel_date", ""); // FIXME: provide the release timestamp
479 } 449 }
480 450
@@ -485,9 +455,9 @@ bool RbUtilQt::installAuto()
485 installer->setProxy(proxy()); 455 installer->setProxy(proxy());
486 installer->setLogSection("Rockbox (Base)"); 456 installer->setLogSection("Rockbox (Base)");
487 installer->setLogVersion(myversion); 457 installer->setLogVersion(myversion);
488 if(!userSettings->value("cachedisable").toBool()) 458 if(!settings->cacheDisabled())
489 installer->setCache(userSettings->value("cachepath", QDir::tempPath()).toString()); 459 installer->setCache(settings->cachePath());
490 installer->setMountPoint(userSettings->value("mountpoint").toString()); 460 installer->setMountPoint(settings->mountpoint());
491 installer->install(logger); 461 installer->install(logger);
492 462
493 connect(installer, SIGNAL(done(bool)), this, SLOT(installdone(bool))); 463 connect(installer, SIGNAL(done(bool)), this, SLOT(installdone(bool)));
@@ -498,21 +468,17 @@ bool RbUtilQt::installAuto()
498void RbUtilQt::install() 468void RbUtilQt::install()
499{ 469{
500 Install *installWindow = new Install(this); 470 Install *installWindow = new Install(this);
501 installWindow->setUserSettings(userSettings); 471 installWindow->setSettings(settings);
502 installWindow->setDeviceSettings(devices);
503 installWindow->setProxy(proxy()); 472 installWindow->setProxy(proxy());
504 473
505 buildInfo.open(); 474 buildInfo.open();
506 QSettings info(buildInfo.fileName(), QSettings::IniFormat, this); 475 QSettings info(buildInfo.fileName(), QSettings::IniFormat, this);
507 buildInfo.close(); 476 buildInfo.close();
508 477
509 devices->beginGroup(platform); 478 if(settings->curReleased()) {
510 QString released = devices->value("released").toString();
511 devices->endGroup();
512 if(released == "yes") {
513 // only set the keys if needed -- querying will yield an empty string 479 // only set the keys if needed -- querying will yield an empty string
514 // if not set. 480 // if not set.
515 versmap.insert("rel_rev", devices->value("last_release").toString()); 481 versmap.insert("rel_rev", settings->lastRelease());
516 versmap.insert("rel_date", ""); // FIXME: provide the release timestamp 482 versmap.insert("rel_date", ""); // FIXME: provide the release timestamp
517 } 483 }
518 installWindow->setVersionStrings(versmap); 484 installWindow->setVersionStrings(versmap);
@@ -543,19 +509,19 @@ void RbUtilQt::installBootloaderBtn()
543 509
544void RbUtilQt::installBootloader() 510void RbUtilQt::installBootloader()
545{ 511{
546 QString platform = userSettings->value("platform").toString(); 512 QString platform = settings->curPlatform();
547 513
548 // create installer 514 // create installer
549 blinstaller = new BootloaderInstaller(this); 515 blinstaller = new BootloaderInstaller(this);
550 516
551 blinstaller->setMountPoint(userSettings->value("mountpoint").toString()); 517 blinstaller->setMountPoint(settings->mountpoint());
552 518
553 blinstaller->setProxy(proxy()); 519 blinstaller->setProxy(proxy());
554 blinstaller->setDevice(platform); 520 blinstaller->setDevice(platform);
555 blinstaller->setBootloaderMethod(devices->value(platform + "/bootloadermethod").toString()); 521 blinstaller->setBootloaderMethod(settings->curBootloaderMethod());
556 blinstaller->setBootloaderName(devices->value(platform + "/bootloadername").toString()); 522 blinstaller->setBootloaderName(settings->curBootloaderName());
557 blinstaller->setBootloaderBaseUrl(devices->value("bootloader_url").toString()); 523 blinstaller->setBootloaderBaseUrl(settings->bootloaderUrl());
558 blinstaller->setBootloaderInfoUrl(devices->value("bootloader_info_url").toString()); 524 blinstaller->setBootloaderInfoUrl(settings->bootloaderInfoUrl());
559 if(!blinstaller->downloadInfo()) 525 if(!blinstaller->downloadInfo())
560 { 526 {
561 logger->addItem(tr("Could not get the bootloader info file!"),LOGERROR); 527 logger->addItem(tr("Could not get the bootloader info file!"),LOGERROR);
@@ -581,10 +547,10 @@ void RbUtilQt::installBootloader()
581 547
582 // if fwpatcher , ask for extra file 548 // if fwpatcher , ask for extra file
583 QString offirmware; 549 QString offirmware;
584 if(devices->value(platform + "/bootloadermethod").toString() == "fwpatcher") 550 if(settings->curBootloaderMethod() == "fwpatcher")
585 { 551 {
586 BrowseOF ofbrowser(this); 552 BrowseOF ofbrowser(this);
587 ofbrowser.setFile(userSettings->value("ofpath").toString()); 553 ofbrowser.setFile(settings->ofPath());
588 if(ofbrowser.exec() == QDialog::Accepted) 554 if(ofbrowser.exec() == QDialog::Accepted)
589 { 555 {
590 offirmware = ofbrowser.getFile(); 556 offirmware = ofbrowser.getFile();
@@ -598,8 +564,8 @@ void RbUtilQt::installBootloader()
598 } 564 }
599 else 565 else
600 { 566 {
601 userSettings->setValue("ofpath",offirmware); 567 settings->setOfPath(offirmware);
602 userSettings->sync(); 568 settings->sync();
603 } 569 }
604 } 570 }
605 else 571 else
@@ -639,13 +605,13 @@ void RbUtilQt::installFonts()
639 // create zip installer 605 // create zip installer
640 installer = new ZipInstaller(this); 606 installer = new ZipInstaller(this);
641 607
642 installer->setUrl(devices->value("font_url").toString()); 608 installer->setUrl(settings->fontUrl());
643 installer->setProxy(proxy()); 609 installer->setProxy(proxy());
644 installer->setLogSection("Fonts"); 610 installer->setLogSection("Fonts");
645 installer->setLogVersion(versmap.value("arch_date")); 611 installer->setLogVersion(versmap.value("arch_date"));
646 installer->setMountPoint(userSettings->value("mountpoint").toString()); 612 installer->setMountPoint(settings->mountpoint());
647 if(!userSettings->value("cachedisable").toBool()) 613 if(!settings->cacheDisabled())
648 installer->setCache(userSettings->value("cachepath", QDir::tempPath()).toString()); 614 installer->setCache(settings->cachePath());
649 installer->install(logger); 615 installer->install(logger);
650} 616}
651 617
@@ -664,25 +630,22 @@ void RbUtilQt::installVoice()
664 installer = new ZipInstaller(this); 630 installer = new ZipInstaller(this);
665 installer->setUnzip(false); 631 installer->setUnzip(false);
666 632
667 QString voiceurl = devices->value("voice_url").toString() + "/" ; 633 QString voiceurl = settings->voiceUrl() + "/" ;
668 634
669 devices->beginGroup(userSettings->value("platform").toString()); 635 voiceurl += settings->curVoiceName() + "-" +
670 voiceurl += devices->value("voicename").toString() + "-" +
671 versmap.value("arch_date") + "-english.voice"; 636 versmap.value("arch_date") + "-english.voice";
672 devices->endGroup();
673 qDebug() << voiceurl; 637 qDebug() << voiceurl;
674 638
675 installer->setProxy(proxy()); 639 installer->setProxy(proxy());
676 installer->setUrl(voiceurl); 640 installer->setUrl(voiceurl);
677 installer->setLogSection("Voice"); 641 installer->setLogSection("Voice");
678 installer->setLogVersion(versmap.value("arch_date")); 642 installer->setLogVersion(versmap.value("arch_date"));
679 installer->setMountPoint(userSettings->value("mountpoint").toString()); 643 installer->setMountPoint(settings->mountpoint());
680 installer->setTarget("/.rockbox/langs/english.voice"); 644 installer->setTarget("/.rockbox/langs/english.voice");
681 if(!userSettings->value("cachedisable").toBool()) 645 if(!settings->cacheDisabled())
682 installer->setCache(userSettings->value("cachepath", QDir::tempPath()).toString()); 646 installer->setCache(settings->cachePath());
683 installer->install(logger); 647 installer->install(logger);
684 648
685 //connect(installer, SIGNAL(done(bool)), this, SLOT(done(bool)));
686} 649}
687 650
688void RbUtilQt::installDoomBtn() 651void RbUtilQt::installDoomBtn()
@@ -711,7 +674,7 @@ bool RbUtilQt::installDoomAuto()
711 674
712bool RbUtilQt::hasDoom() 675bool RbUtilQt::hasDoom()
713{ 676{
714 QFile doomrock(userSettings->value("mountpoint").toString()+"/.rockbox/rocks/games/doom.rock"); 677 QFile doomrock(settings->mountpoint() +"/.rockbox/rocks/games/doom.rock");
715 return doomrock.exists(); 678 return doomrock.exists();
716} 679}
717 680
@@ -720,35 +683,32 @@ void RbUtilQt::installDoom()
720 // create zip installer 683 // create zip installer
721 installer = new ZipInstaller(this); 684 installer = new ZipInstaller(this);
722 685
723 installer->setUrl(devices->value("doom_url").toString()); 686 installer->setUrl(settings->doomUrl());
724 installer->setProxy(proxy()); 687 installer->setProxy(proxy());
725 installer->setLogSection("Game Addons"); 688 installer->setLogSection("Game Addons");
726 installer->setLogVersion(versmap.value("arch_date")); 689 installer->setLogVersion(versmap.value("arch_date"));
727 installer->setMountPoint(userSettings->value("mountpoint").toString()); 690 installer->setMountPoint(settings->mountpoint());
728 if(!userSettings->value("cachedisable").toBool()) 691 if(!settings->cacheDisabled())
729 installer->setCache(userSettings->value("cachepath", QDir::tempPath()).toString()); 692 installer->setCache(settings->cachePath());
730 installer->install(logger); 693 installer->install(logger);
731 694
732} 695}
733 696
734
735void RbUtilQt::installThemes() 697void RbUtilQt::installThemes()
736{ 698{
737 if(chkConfig(true)) return; 699 if(chkConfig(true)) return;
738 ThemesInstallWindow* tw = new ThemesInstallWindow(this); 700 ThemesInstallWindow* tw = new ThemesInstallWindow(this);
739 tw->setDeviceSettings(devices); 701 tw->setSettings(settings);
740 tw->setUserSettings(userSettings);
741 tw->setProxy(proxy()); 702 tw->setProxy(proxy());
742 tw->setModal(true); 703 tw->setModal(true);
743 tw->show(); 704 tw->show();
744} 705}
745 706
746
747void RbUtilQt::createTalkFiles(void) 707void RbUtilQt::createTalkFiles(void)
748{ 708{
749 if(chkConfig(true)) return; 709 if(chkConfig(true)) return;
750 InstallTalkWindow *installWindow = new InstallTalkWindow(this); 710 InstallTalkWindow *installWindow = new InstallTalkWindow(this);
751 installWindow->setSettings(userSettings,devices); 711 installWindow->setSettings(settings);
752 installWindow->show(); 712 installWindow->show();
753 connect(installWindow, SIGNAL(settingsUpdated()), this, SLOT(downloadInfo())); 713 connect(installWindow, SIGNAL(settingsUpdated()), this, SLOT(downloadInfo()));
754 connect(installWindow, SIGNAL(settingsUpdated()), this, SLOT(updateSettings())); 714 connect(installWindow, SIGNAL(settingsUpdated()), this, SLOT(updateSettings()));
@@ -759,7 +719,7 @@ void RbUtilQt::createVoiceFile(void)
759{ 719{
760 if(chkConfig(true)) return; 720 if(chkConfig(true)) return;
761 CreateVoiceWindow *installWindow = new CreateVoiceWindow(this); 721 CreateVoiceWindow *installWindow = new CreateVoiceWindow(this);
762 installWindow->setSettings(userSettings,devices); 722 installWindow->setSettings(settings);
763 installWindow->setProxy(proxy()); 723 installWindow->setProxy(proxy());
764 724
765 installWindow->show(); 725 installWindow->show();
@@ -771,8 +731,7 @@ void RbUtilQt::uninstall(void)
771{ 731{
772 if(chkConfig(true)) return; 732 if(chkConfig(true)) return;
773 UninstallWindow *uninstallWindow = new UninstallWindow(this); 733 UninstallWindow *uninstallWindow = new UninstallWindow(this);
774 uninstallWindow->setUserSettings(userSettings); 734 uninstallWindow->setSettings(settings);
775 uninstallWindow->setDeviceSettings(devices);
776 uninstallWindow->show(); 735 uninstallWindow->show();
777 736
778} 737}
@@ -787,15 +746,14 @@ void RbUtilQt::uninstallBootloader(void)
787 ProgressLoggerGui* logger = new ProgressLoggerGui(this); 746 ProgressLoggerGui* logger = new ProgressLoggerGui(this);
788 logger->show(); 747 logger->show();
789 748
790 QString plattform = userSettings->value("platform").toString();
791 BootloaderInstaller blinstaller(this); 749 BootloaderInstaller blinstaller(this);
792 blinstaller.setProxy(proxy()); 750 blinstaller.setProxy(proxy());
793 blinstaller.setMountPoint(userSettings->value("mountpoint").toString()); 751 blinstaller.setMountPoint(settings->mountpoint());
794 blinstaller.setDevice(userSettings->value("platform").toString()); 752 blinstaller.setDevice(settings->curPlatform());
795 blinstaller.setBootloaderMethod(devices->value(plattform + "/bootloadermethod").toString()); 753 blinstaller.setBootloaderMethod(settings->curBootloaderMethod());
796 blinstaller.setBootloaderName(devices->value(plattform + "/bootloadername").toString()); 754 blinstaller.setBootloaderName(settings->curBootloaderName());
797 blinstaller.setBootloaderBaseUrl(devices->value("bootloader_url").toString()); 755 blinstaller.setBootloaderBaseUrl(settings->bootloaderUrl());
798 blinstaller.setBootloaderInfoUrl(devices->value("bootloader_info_url").toString()); 756 blinstaller.setBootloaderInfoUrl(settings->bootloaderInfoUrl());
799 if(!blinstaller.downloadInfo()) 757 if(!blinstaller.downloadInfo())
800 { 758 {
801 logger->addItem(tr("Could not get the bootloader info file!"),LOGERROR); 759 logger->addItem(tr("Could not get the bootloader info file!"),LOGERROR);
@@ -821,12 +779,8 @@ void RbUtilQt::downloadManual(void)
821 QSettings info(buildInfo.fileName(), QSettings::IniFormat, this); 779 QSettings info(buildInfo.fileName(), QSettings::IniFormat, this);
822 buildInfo.close(); 780 buildInfo.close();
823 781
824 devices->beginGroup(userSettings->value("platform").toString()); 782 QString manual = settings->curManual();
825 QString manual; 783
826 manual = devices->value("manualname", "rockbox-" +
827 devices->value("platform").toString()).toString();
828 devices->endGroup();
829
830 QString date = (info.value("dailies/date").toString()); 784 QString date = (info.value("dailies/date").toString());
831 785
832 QString manualurl; 786 QString manualurl;
@@ -840,15 +794,15 @@ void RbUtilQt::downloadManual(void)
840 target = "/" + manual + "-" + date + "-html.zip"; 794 target = "/" + manual + "-" + date + "-html.zip";
841 section = "Manual (HTML)"; 795 section = "Manual (HTML)";
842 } 796 }
843 manualurl = devices->value("manual_url").toString() + "/" + target; 797 manualurl = settings->manualUrl() + "/" + target;
844 qDebug() << "manualurl =" << manualurl; 798 qDebug() << "manualurl =" << manualurl;
845 799
846 ProgressLoggerGui* logger = new ProgressLoggerGui(this); 800 ProgressLoggerGui* logger = new ProgressLoggerGui(this);
847 logger->show(); 801 logger->show();
848 installer = new ZipInstaller(this); 802 installer = new ZipInstaller(this);
849 installer->setMountPoint(userSettings->value("mountpoint").toString()); 803 installer->setMountPoint(settings->mountpoint());
850 if(!userSettings->value("cachedisable").toBool()) 804 if(!settings->cacheDisabled())
851 installer->setCache(userSettings->value("cachepath", QDir::tempPath()).toString()); 805 installer->setCache(settings->cachePath());
852 installer->setProxy(proxy()); 806 installer->setProxy(proxy());
853 installer->setLogSection(section); 807 installer->setLogSection(section);
854 installer->setLogVersion(date); 808 installer->setLogVersion(date);
@@ -874,23 +828,23 @@ void RbUtilQt::installPortable(void)
874 logger->addItem(tr("Installing Rockbox Utility"), LOGINFO); 828 logger->addItem(tr("Installing Rockbox Utility"), LOGINFO);
875 829
876 // check mountpoint 830 // check mountpoint
877 if(!QFileInfo(userSettings->value("mountpoint").toString()).isDir()) { 831 if(!QFileInfo(settings->mountpoint()).isDir()) {
878 logger->addItem(tr("Mount point is wrong!"),LOGERROR); 832 logger->addItem(tr("Mount point is wrong!"),LOGERROR);
879 logger->abort(); 833 logger->abort();
880 return; 834 return;
881 } 835 }
882 836
883 // remove old files first. 837 // remove old files first.
884 QFile::remove(userSettings->value("mountpoint").toString() + "/RockboxUtility.exe"); 838 QFile::remove(settings->mountpoint() + "/RockboxUtility.exe");
885 QFile::remove(userSettings->value("mountpoint").toString() + "/RockboxUtility.ini"); 839 QFile::remove(settings->mountpoint() + "/RockboxUtility.ini");
886 // copy currently running binary and currently used settings file 840 // copy currently running binary and currently used settings file
887 if(!QFile::copy(qApp->applicationFilePath(), userSettings->value("mountpoint").toString() + "/RockboxUtility.exe")) { 841 if(!QFile::copy(qApp->applicationFilePath(), settings->mountpoint() + "/RockboxUtility.exe")) {
888 logger->addItem(tr("Error installing Rockbox Utility"), LOGERROR); 842 logger->addItem(tr("Error installing Rockbox Utility"), LOGERROR);
889 logger->abort(); 843 logger->abort();
890 return; 844 return;
891 } 845 }
892 logger->addItem(tr("Installing user configuration"), LOGINFO); 846 logger->addItem(tr("Installing user configuration"), LOGINFO);
893 if(!QFile::copy(userSettings->fileName(), userSettings->value("mountpoint").toString() + "/RockboxUtility.ini")) { 847 if(!QFile::copy(settings->userSettingFilename(), settings->mountpoint() + "/RockboxUtility.ini")) {
894 logger->addItem(tr("Error installing user configuration"), LOGERROR); 848 logger->addItem(tr("Error installing user configuration"), LOGERROR);
895 logger->abort(); 849 logger->abort();
896 return; 850 return;
@@ -907,7 +861,7 @@ void RbUtilQt::updateInfo()
907{ 861{
908 qDebug() << "RbUtilQt::updateInfo()"; 862 qDebug() << "RbUtilQt::updateInfo()";
909 863
910 QSettings log(userSettings->value("mountpoint").toString() + "/.rockbox/rbutil.log", QSettings::IniFormat, this); 864 QSettings log(settings->mountpoint() + "/.rockbox/rbutil.log", QSettings::IniFormat, this);
911 QStringList groups = log.childGroups(); 865 QStringList groups = log.childGroups();
912 QList<QTreeWidgetItem *> items; 866 QList<QTreeWidgetItem *> items;
913 QTreeWidgetItem *w, *w2; 867 QTreeWidgetItem *w, *w2;
@@ -943,7 +897,7 @@ void RbUtilQt::updateInfo()
943 897
944 for(int b = 0; b < keys.size(); b++) { 898 for(int b = 0; b < keys.size(); b++) {
945 QString file; 899 QString file;
946 file = userSettings->value("mountpoint").toString() + "/" + keys.at(b); 900 file = settings->mountpoint() + "/" + keys.at(b);
947 if(QFileInfo(file).isDir()) 901 if(QFileInfo(file).isDir())
948 continue; 902 continue;
949 w2 = new QTreeWidgetItem(w, QStringList() << "/" 903 w2 = new QTreeWidgetItem(w, QStringList() << "/"
@@ -968,9 +922,9 @@ void RbUtilQt::updateInfo()
968 922
969QUrl RbUtilQt::proxy() 923QUrl RbUtilQt::proxy()
970{ 924{
971 if(userSettings->value("proxytype", "system").toString() == "manual") 925 if(settings->proxyType() == "manual")
972 return QUrl(userSettings->value("proxy").toString()); 926 return QUrl(settings->proxy());
973 else if(userSettings->value("proxytype", "system").toString() == "system") 927 else if(settings->proxy() == "system")
974 { 928 {
975 systemProxy(); 929 systemProxy();
976 } 930 }
@@ -981,9 +935,9 @@ QUrl RbUtilQt::proxy()
981bool RbUtilQt::chkConfig(bool warn) 935bool RbUtilQt::chkConfig(bool warn)
982{ 936{
983 bool error = false; 937 bool error = false;
984 if(userSettings->value("platform").toString().isEmpty() 938 if(settings->curPlatform().isEmpty()
985 || userSettings->value("mountpoint").toString().isEmpty() 939 || settings->mountpoint().isEmpty()
986 || !QFileInfo(userSettings->value("mountpoint").toString()).isWritable()) { 940 || !QFileInfo(settings->mountpoint()).isWritable()) {
987 error = true; 941 error = true;
988 942
989 if(warn) QMessageBox::critical(this, tr("Configuration error"), 943 if(warn) QMessageBox::critical(this, tr("Configuration error"),
diff --git a/rbutil/rbutilqt/rbutilqt.h b/rbutil/rbutilqt/rbutilqt.h
index f030d69f3c..35dbf0f30e 100644
--- a/rbutil/rbutilqt/rbutilqt.h
+++ b/rbutil/rbutilqt/rbutilqt.h
@@ -30,6 +30,7 @@
30#include "progressloggergui.h" 30#include "progressloggergui.h"
31#include "installbootloader.h" 31#include "installbootloader.h"
32 32
33#include "rbsettings.h"
33 34
34class RbUtilQt : public QMainWindow 35class RbUtilQt : public QMainWindow
35{ 36{
@@ -40,8 +41,8 @@ class RbUtilQt : public QMainWindow
40 41
41 private: 42 private:
42 Ui::RbUtilQtFrm ui; 43 Ui::RbUtilQtFrm ui;
43 QSettings *devices; 44 RbSettings* settings;
44 QSettings *userSettings; 45
45 void initDeviceNames(void); 46 void initDeviceNames(void);
46 QString deviceName(QString); 47 QString deviceName(QString);
47 QString platform; 48 QString platform;
diff --git a/rbutil/rbutilqt/rbutilqt.pro b/rbutil/rbutilqt/rbutilqt.pro
index ca20444a8b..252d116a86 100644
--- a/rbutil/rbutilqt/rbutilqt.pro
+++ b/rbutil/rbutilqt/rbutilqt.pro
@@ -52,7 +52,8 @@ SOURCES += rbutilqt.cpp \
52 ../../tools/wavtrim.c \ 52 ../../tools/wavtrim.c \
53 ../../tools/voicefont.c \ 53 ../../tools/voicefont.c \
54 voicefile.cpp \ 54 voicefile.cpp \
55 createvoicewindow.cpp 55 createvoicewindow.cpp \
56 rbsettings.cpp
56 57
57HEADERS += rbutilqt.h \ 58HEADERS += rbutilqt.h \
58 install.h \ 59 install.h \
@@ -94,7 +95,8 @@ HEADERS += rbutilqt.h \
94 ../../tools/wavtrim.h \ 95 ../../tools/wavtrim.h \
95 ../../tools/voicefont.h \ 96 ../../tools/voicefont.h \
96 voicefile.h \ 97 voicefile.h \
97 createvoicewindow.h 98 createvoicewindow.h \
99 rbsettings.h
98 100
99# Needed by QT on Win 101# Needed by QT on Win
100INCLUDEPATH = . irivertools zip zlib ../ipodpatcher ../sansapatcher ../../tools/rbspeex ../../tools 102INCLUDEPATH = . irivertools zip zlib ../ipodpatcher ../sansapatcher ../../tools/rbspeex ../../tools
diff --git a/rbutil/rbutilqt/talkfile.cpp b/rbutil/rbutilqt/talkfile.cpp
index 89166daa90..be3934de91 100644
--- a/rbutil/rbutilqt/talkfile.cpp
+++ b/rbutil/rbutilqt/talkfile.cpp
@@ -31,8 +31,8 @@ bool TalkFileCreator::createTalkFiles(ProgressloggerInterface* logger)
31 m_logger->addItem(tr("Starting Talk file generation"),LOGINFO); 31 m_logger->addItem(tr("Starting Talk file generation"),LOGINFO);
32 32
33 //tts 33 //tts
34 m_tts = getTTS(userSettings->value("tts").toString()); 34 m_tts = getTTS(settings->curTTS());
35 m_tts->setCfg(userSettings,deviceSettings); 35 m_tts->setCfg(settings);
36 36
37 QString errStr; 37 QString errStr;
38 if(!m_tts->start(&errStr)) 38 if(!m_tts->start(&errStr))
@@ -44,8 +44,8 @@ bool TalkFileCreator::createTalkFiles(ProgressloggerInterface* logger)
44 } 44 }
45 45
46 // Encoder 46 // Encoder
47 m_enc = getEncoder(userSettings->value("encoder").toString()); 47 m_enc = getEncoder(settings->curEncoder());
48 m_enc->setUserCfg(userSettings); 48 m_enc->setCfg(settings);
49 49
50 if(!m_enc->start()) 50 if(!m_enc->start())
51 { 51 {
diff --git a/rbutil/rbutilqt/talkfile.h b/rbutil/rbutilqt/talkfile.h
index 38462b1891..6d3b012413 100644
--- a/rbutil/rbutilqt/talkfile.h
+++ b/rbutil/rbutilqt/talkfile.h
@@ -36,7 +36,7 @@ public:
36 36
37 bool createTalkFiles(ProgressloggerInterface* logger); 37 bool createTalkFiles(ProgressloggerInterface* logger);
38 38
39 void setSettings(QSettings* uSettings,QSettings* dSettings) { userSettings = uSettings; deviceSettings = dSettings;} 39 void setSettings(RbSettings* sett) { settings = sett;}
40 40
41 void setDir(QDir dir){m_dir = dir; } 41 void setDir(QDir dir){m_dir = dir; }
42 void setMountPoint(QString mountpoint) {m_mountpoint =mountpoint; } 42 void setMountPoint(QString mountpoint) {m_mountpoint =mountpoint; }
@@ -55,8 +55,7 @@ private slots:
55private: 55private:
56 TTSBase* m_tts; 56 TTSBase* m_tts;
57 EncBase* m_enc; 57 EncBase* m_enc;
58 QSettings *userSettings; 58 RbSettings* settings;
59 QSettings *deviceSettings;
60 59
61 QDir m_dir; 60 QDir m_dir;
62 QString m_mountpoint; 61 QString m_mountpoint;
diff --git a/rbutil/rbutilqt/tts.cpp b/rbutil/rbutilqt/tts.cpp
index de8e1d4468..be2a20a31e 100644
--- a/rbutil/rbutilqt/tts.cpp
+++ b/rbutil/rbutilqt/tts.cpp
@@ -106,10 +106,8 @@ TTSExes::TTSExes(QString name,QWidget *parent) : TTSBase(parent)
106 106
107bool TTSExes::start(QString *errStr) 107bool TTSExes::start(QString *errStr)
108{ 108{
109 userSettings->beginGroup(m_name); 109 m_TTSexec = settings->ttsPath(m_name);
110 m_TTSexec = userSettings->value("ttspath","").toString(); 110 m_TTSOpts = settings->ttsOptions(m_name);
111 m_TTSOpts = userSettings->value("ttsoptions","").toString();
112 userSettings->endGroup();
113 111
114 m_TTSTemplate = m_TemplateMap.value(m_name); 112 m_TTSTemplate = m_TemplateMap.value(m_name);
115 113
@@ -149,10 +147,8 @@ void TTSExes::reset()
149void TTSExes::showCfg() 147void TTSExes::showCfg()
150{ 148{
151 // try to get config from settings 149 // try to get config from settings
152 userSettings->beginGroup(m_name); 150 QString exepath =settings->ttsPath(m_name);
153 QString exepath =userSettings->value("ttspath","").toString(); 151 ui.ttsoptions->setText(settings->ttsOptions(m_name));
154 ui.ttsoptions->setText(userSettings->value("ttsoptions","").toString());
155 userSettings->endGroup();
156 152
157 if(exepath == "") 153 if(exepath == "")
158 { 154 {
@@ -191,16 +187,12 @@ void TTSExes::showCfg()
191 187
192void TTSExes::accept(void) 188void TTSExes::accept(void)
193{ 189{
194 if(userSettings != NULL) 190 //save settings in user config
195 { 191 settings->setTTSPath(m_name,ui.ttspath->text());
196 //save settings in user config 192 settings->setTTSOptions(m_name,ui.ttsoptions->text());
197 userSettings->beginGroup(m_name); 193 // sync settings
198 userSettings->setValue("ttspath",ui.ttspath->text()); 194 settings->sync();
199 userSettings->setValue("ttsoptions",ui.ttsoptions->text()); 195
200 userSettings->endGroup();
201 // sync settings
202 userSettings->sync();
203 }
204 this->close(); 196 this->close();
205} 197}
206 198
@@ -211,9 +203,7 @@ void TTSExes::reject(void)
211 203
212bool TTSExes::configOk() 204bool TTSExes::configOk()
213{ 205{
214 userSettings->beginGroup(m_name); 206 QString path = settings->ttsPath(m_name);
215 QString path = userSettings->value("ttspath","").toString();
216 userSettings->endGroup();
217 207
218 if (QFileInfo(path).exists()) 208 if (QFileInfo(path).exists())
219 return true; 209 return true;
@@ -257,12 +247,10 @@ TTSSapi::TTSSapi(QWidget *parent) : TTSBase(parent)
257bool TTSSapi::start(QString *errStr) 247bool TTSSapi::start(QString *errStr)
258{ 248{
259 249
260 userSettings->beginGroup("sapi"); 250 m_TTSOpts = settings->ttsOptions("sapi");
261 m_TTSOpts = userSettings->value("ttsoptions","").toString(); 251 m_TTSLanguage =settings->ttsLang("sapi");
262 m_TTSLanguage =userSettings->value("ttslanguage","").toString(); 252 m_TTSVoice=settings->ttsVoice("sapi");
263 m_TTSVoice=userSettings->value("ttsvoice","").toString(); 253 m_TTSSpeed=settings->ttsSpeed("sapi");
264 m_TTSSpeed=userSettings->value("ttsspeed","").toString();
265 userSettings->endGroup();
266 254
267 QFile::remove(QDir::tempPath() +"/sapi_voice.vbs"); 255 QFile::remove(QDir::tempPath() +"/sapi_voice.vbs");
268 QFile::copy(":/builtin/sapi_voice.vbs",QDir::tempPath() + "/sapi_voice.vbs"); 256 QFile::copy(":/builtin/sapi_voice.vbs",QDir::tempPath() + "/sapi_voice.vbs");
@@ -384,23 +372,14 @@ void TTSSapi::reset()
384void TTSSapi::showCfg() 372void TTSSapi::showCfg()
385{ 373{
386 // try to get config from settings 374 // try to get config from settings
387 userSettings->beginGroup("sapi"); 375 ui.ttsoptions->setText(settings->ttsOptions("sapi"));
388 ui.ttsoptions->setText(userSettings->value("ttsoptions","").toString()); 376 QString selLang = settings->ttsLang("sapi");
389 QString selLang = userSettings->value("ttslanguage",defaultLanguage).toString(); 377 QString selVoice = settings->ttsVoice("sapi");
390 QString selVoice = userSettings->value("ttsvoice","").toString(); 378 ui.speed->setValue(settings->ttsSpeed("sapi"));
391 ui.speed->setValue(userSettings->value("ttsspeed",0).toInt()); 379
392 userSettings->endGroup();
393 380
394 // fill in language combobox 381 // fill in language combobox
395 382 QStringList languages = settings->allLanguages();
396 deviceSettings->beginGroup("languages");
397 QStringList keys = deviceSettings->allKeys();
398 QStringList languages;
399 for(int i =0 ; i < keys.size();i++)
400 {
401 languages << deviceSettings->value(keys.at(i)).toString();
402 }
403 deviceSettings->endGroup();
404 383
405 languages.sort(); 384 languages.sort();
406 ui.languagecombo->clear(); 385 ui.languagecombo->clear();
@@ -422,18 +401,14 @@ void TTSSapi::showCfg()
422 401
423void TTSSapi::accept(void) 402void TTSSapi::accept(void)
424{ 403{
425 if(userSettings != NULL) 404 //save settings in user config
426 { 405 settings->setTTSOptions("sapi",ui.ttsoptions->text());
427 //save settings in user config 406 settings->setTTSLang("sapi",ui.languagecombo->currentText());
428 userSettings->beginGroup("sapi"); 407 settings->setTTSVoice("sapi",ui.voicecombo->currentText());
429 userSettings->setValue("ttsoptions",ui.ttsoptions->text()); 408 settings->setTTSSpeed("sapi",ui.speed->value());
430 userSettings->setValue("ttslanguage",ui.languagecombo->currentText()); 409 // sync settings
431 userSettings->setValue("ttsvoice",ui.voicecombo->currentText()); 410 settings->sync();
432 userSettings->setValue("ttsspeed",QString("%1").arg(ui.speed->value())); 411
433 userSettings->endGroup();
434 // sync settings
435 userSettings->sync();
436 }
437 this->close(); 412 this->close();
438} 413}
439 414
diff --git a/rbutil/rbutilqt/tts.h b/rbutil/rbutilqt/tts.h
index d792f077e0..90c402d8cc 100644
--- a/rbutil/rbutilqt/tts.h
+++ b/rbutil/rbutilqt/tts.h
@@ -23,6 +23,7 @@
23 23
24#include "ui_ttsexescfgfrm.h" 24#include "ui_ttsexescfgfrm.h"
25#include "ui_sapicfgfrm.h" 25#include "ui_sapicfgfrm.h"
26#include "rbsettings.h"
26#include <QtGui> 27#include <QtGui>
27 28
28 29
@@ -47,7 +48,7 @@ public:
47 virtual void showCfg(){} 48 virtual void showCfg(){}
48 virtual bool configOk(){return false;} 49 virtual bool configOk(){return false;}
49 50
50 void setCfg(QSettings *uSettings, QSettings *dSettings){userSettings = uSettings;deviceSettings = dSettings;} 51 void setCfg(RbSettings* sett){settings = sett;}
51 52
52public slots: 53public slots:
53 virtual void accept(void){} 54 virtual void accept(void){}
@@ -55,9 +56,7 @@ public slots:
55 virtual void reset(void){} 56 virtual void reset(void){}
56 57
57protected: 58protected:
58 QSettings *userSettings; 59 RbSettings* settings;
59 QSettings *deviceSettings;
60
61}; 60};
62 61
63class TTSSapi : public TTSBase 62class TTSSapi : public TTSBase
diff --git a/rbutil/rbutilqt/uninstallwindow.cpp b/rbutil/rbutilqt/uninstallwindow.cpp
index 61ca8410be..86c7400b99 100644
--- a/rbutil/rbutilqt/uninstallwindow.cpp
+++ b/rbutil/rbutilqt/uninstallwindow.cpp
@@ -67,18 +67,12 @@ void UninstallWindow::UninstallMethodChanged(bool complete)
67 ui.smartGroupBox->setEnabled(true); 67 ui.smartGroupBox->setEnabled(true);
68} 68}
69 69
70void UninstallWindow::setDeviceSettings(QSettings *dev)
71{
72 devices = dev;
73 qDebug() << "Install::setDeviceSettings:" << devices;
74}
75
76 70
77void UninstallWindow::setUserSettings(QSettings *user) 71void UninstallWindow::setSettings(RbSettings *sett)
78{ 72{
79 userSettings = user; 73 settings = sett;
80 74
81 QString mountpoint =userSettings->value("mountpoint").toString(); 75 QString mountpoint =settings->mountpoint();
82 uninstaller = new Uninstaller(this,mountpoint); 76 uninstaller = new Uninstaller(this,mountpoint);
83 77
84 // disable smart uninstall, if not possible 78 // disable smart uninstall, if not possible
diff --git a/rbutil/rbutilqt/uninstallwindow.h b/rbutil/rbutilqt/uninstallwindow.h
index e765e18272..f2dfcc851e 100644
--- a/rbutil/rbutilqt/uninstallwindow.h
+++ b/rbutil/rbutilqt/uninstallwindow.h
@@ -22,19 +22,17 @@
22 22
23#include <QtGui> 23#include <QtGui>
24 24
25#include <QSettings>
26
27#include "ui_uninstallfrm.h" 25#include "ui_uninstallfrm.h"
28#include "progressloggergui.h" 26#include "progressloggergui.h"
29#include "uninstall.h" 27#include "uninstall.h"
28#include "rbsettings.h"
30 29
31class UninstallWindow : public QDialog 30class UninstallWindow : public QDialog
32{ 31{
33 Q_OBJECT 32 Q_OBJECT
34 public: 33 public:
35 UninstallWindow(QWidget *parent = 0); 34 UninstallWindow(QWidget *parent = 0);
36 void setUserSettings(QSettings*); 35 void setSettings(RbSettings* sett);
37 void setDeviceSettings(QSettings*);
38 36
39 public slots: 37 public slots:
40 void accept(void); 38 void accept(void);
@@ -46,8 +44,7 @@ class UninstallWindow : public QDialog
46 Uninstaller* uninstaller; 44 Uninstaller* uninstaller;
47 Ui::UninstallFrm ui; 45 Ui::UninstallFrm ui;
48 ProgressLoggerGui* logger; 46 ProgressLoggerGui* logger;
49 QSettings *devices; 47 RbSettings* settings;
50 QSettings *userSettings;
51 48
52}; 49};
53 50
diff --git a/rbutil/rbutilqt/voicefile.cpp b/rbutil/rbutilqt/voicefile.cpp
index 47b659a347..4601bcc698 100644
--- a/rbutil/rbutilqt/voicefile.cpp
+++ b/rbutil/rbutilqt/voicefile.cpp
@@ -77,7 +77,7 @@ bool VoiceFileCreator::createVoiceFile(ProgressloggerInterface* logger)
77 info.close(); 77 info.close();
78 78
79 //prepare download url 79 //prepare download url
80 QUrl genlangUrl = deviceSettings->value("genlang_url").toString() +"?lang=" +m_lang+"&t="+target+"&rev="+version+"&f="+features; 80 QUrl genlangUrl = settings->genlangUrl() +"?lang=" +m_lang+"&t="+target+"&rev="+version+"&f="+features;
81 81
82 qDebug() << "downloading " << genlangUrl; 82 qDebug() << "downloading " << genlangUrl;
83 83
@@ -146,8 +146,8 @@ void VoiceFileCreator::downloadDone(bool error)
146 } 146 }
147 147
148 //tts 148 //tts
149 m_tts = getTTS(userSettings->value("tts").toString()); 149 m_tts = getTTS(settings->curTTS());
150 m_tts->setCfg(userSettings,deviceSettings); 150 m_tts->setCfg(settings);
151 151
152 QString errStr; 152 QString errStr;
153 if(!m_tts->start(&errStr)) 153 if(!m_tts->start(&errStr))
@@ -159,8 +159,8 @@ void VoiceFileCreator::downloadDone(bool error)
159 } 159 }
160 160
161 // Encoder 161 // Encoder
162 m_enc = getEncoder(userSettings->value("encoder").toString()); 162 m_enc = getEncoder(settings->curEncoder());
163 m_enc->setUserCfg(userSettings); 163 m_enc->setCfg(settings);
164 164
165 if(!m_enc->start()) 165 if(!m_enc->start())
166 { 166 {
diff --git a/rbutil/rbutilqt/voicefile.h b/rbutil/rbutilqt/voicefile.h
index ce7c953237..43eb95a69b 100644
--- a/rbutil/rbutilqt/voicefile.h
+++ b/rbutil/rbutilqt/voicefile.h
@@ -27,6 +27,7 @@
27#include "encoders.h" 27#include "encoders.h"
28#include "tts.h" 28#include "tts.h"
29#include "httpget.h" 29#include "httpget.h"
30#include "rbsettings.h"
30 31
31extern "C" 32extern "C"
32{ 33{
@@ -44,7 +45,7 @@ public:
44 bool createVoiceFile(ProgressloggerInterface* logger); 45 bool createVoiceFile(ProgressloggerInterface* logger);
45 46
46 // set infos 47 // set infos
47 void setSettings(QSettings* uSettings,QSettings* dSettings) { userSettings = uSettings;deviceSettings = dSettings;} 48 void setSettings(RbSettings* sett) { settings = sett;}
48 49
49 void setMountPoint(QString mountpoint) {m_mountpoint =mountpoint; } 50 void setMountPoint(QString mountpoint) {m_mountpoint =mountpoint; }
50 void setTargetId(int id){m_targetid = id;} 51 void setTargetId(int id){m_targetid = id;}
@@ -63,9 +64,7 @@ private:
63 // ptr to encoder, tts and settings 64 // ptr to encoder, tts and settings
64 TTSBase* m_tts; 65 TTSBase* m_tts;
65 EncBase* m_enc; 66 EncBase* m_enc;
66 QSettings *userSettings; 67 RbSettings* settings;
67 QSettings *deviceSettings;
68
69 HttpGet *getter; 68 HttpGet *getter;
70 69
71 QUrl m_proxy; //proxy 70 QUrl m_proxy; //proxy