diff options
Diffstat (limited to 'rbutil/rbutilqt/rbsettings.cpp')
-rw-r--r-- | rbutil/rbutilqt/rbsettings.cpp | 563 |
1 files changed, 563 insertions, 0 deletions
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 | |||
24 | void 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 | |||
46 | void RbSettings::sync() | ||
47 | { | ||
48 | userSettings->sync(); | ||
49 | } | ||
50 | |||
51 | QString RbSettings::userSettingFilename() | ||
52 | { | ||
53 | return userSettings->fileName(); | ||
54 | } | ||
55 | |||
56 | bool RbSettings::cacheOffline() | ||
57 | { | ||
58 | return userSettings->value("offline").toBool(); | ||
59 | } | ||
60 | |||
61 | bool 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 | |||
75 | QString RbSettings::mountpoint() | ||
76 | { | ||
77 | return userSettings->value("mountpoint").toString(); | ||
78 | } | ||
79 | |||
80 | QString RbSettings::manualUrl() | ||
81 | { | ||
82 | return devices->value("manual_url").toString(); | ||
83 | } | ||
84 | |||
85 | QString RbSettings::bleedingUrl() | ||
86 | { | ||
87 | return devices->value("bleeding_url").toString(); | ||
88 | } | ||
89 | |||
90 | |||
91 | QString RbSettings::lastRelease() | ||
92 | { | ||
93 | return devices->value("last_release").toString(); | ||
94 | } | ||
95 | |||
96 | QString RbSettings::cachePath() | ||
97 | { | ||
98 | return userSettings->value("cachepath", QDir::tempPath()).toString(); | ||
99 | } | ||
100 | |||
101 | QString RbSettings::bootloaderUrl() | ||
102 | { | ||
103 | return devices->value("bootloader_url").toString(); | ||
104 | } | ||
105 | |||
106 | QString RbSettings::bootloaderInfoUrl() | ||
107 | { | ||
108 | return devices->value("bootloader_info_url").toString(); | ||
109 | } | ||
110 | |||
111 | QString RbSettings::fontUrl() | ||
112 | { | ||
113 | return devices->value("font_url").toString(); | ||
114 | } | ||
115 | |||
116 | QString RbSettings::voiceUrl() | ||
117 | { | ||
118 | return devices->value("voice_url").toString(); | ||
119 | } | ||
120 | |||
121 | QString RbSettings::doomUrl() | ||
122 | { | ||
123 | return devices->value("doom_url").toString(); | ||
124 | } | ||
125 | |||
126 | QString RbSettings::downloadUrl() | ||
127 | { | ||
128 | return devices->value("download_url").toString(); | ||
129 | } | ||
130 | |||
131 | QString RbSettings::dailyUrl() | ||
132 | { | ||
133 | return devices->value("daily_url").toString(); | ||
134 | } | ||
135 | |||
136 | QString RbSettings::serverConfUrl() | ||
137 | { | ||
138 | return devices->value("server_conf_url").toString(); | ||
139 | } | ||
140 | |||
141 | QString RbSettings::genlangUrl() | ||
142 | { | ||
143 | return devices->value("genlang_url").toString(); | ||
144 | } | ||
145 | |||
146 | QString RbSettings::themeUrl() | ||
147 | { | ||
148 | return devices->value("themes_url").toString(); | ||
149 | } | ||
150 | |||
151 | QString RbSettings::bleedingInfo() | ||
152 | { | ||
153 | return devices->value("bleeding_info").toString(); | ||
154 | } | ||
155 | |||
156 | bool RbSettings::cacheDisabled() | ||
157 | { | ||
158 | return userSettings->value("cachedisable").toBool(); | ||
159 | } | ||
160 | |||
161 | QString RbSettings::proxyType() | ||
162 | { | ||
163 | return userSettings->value("proxytype", "system").toString(); | ||
164 | } | ||
165 | |||
166 | QString RbSettings::proxy() | ||
167 | { | ||
168 | return userSettings->value("proxy").toString(); | ||
169 | } | ||
170 | |||
171 | QString RbSettings::ofPath() | ||
172 | { | ||
173 | return userSettings->value("ofpath").toString(); | ||
174 | } | ||
175 | |||
176 | QString RbSettings::curBrand() | ||
177 | { | ||
178 | QString platform = userSettings->value("platform").toString(); | ||
179 | return brand(platform); | ||
180 | } | ||
181 | |||
182 | QString RbSettings::curName() | ||
183 | { | ||
184 | QString platform = userSettings->value("platform").toString(); | ||
185 | return name(platform); | ||
186 | } | ||
187 | |||
188 | QString RbSettings::curPlatform() | ||
189 | { | ||
190 | return userSettings->value("platform").toString(); | ||
191 | } | ||
192 | |||
193 | QString 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 | |||
203 | bool 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 | |||
216 | QString 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 | |||
225 | QString 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 | |||
234 | QString 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 | |||
243 | QString RbSettings::curLang() | ||
244 | { | ||
245 | return userSettings->value("lang").toString(); | ||
246 | } | ||
247 | |||
248 | QString RbSettings::curEncoder() | ||
249 | { | ||
250 | return userSettings->value("encoder").toString(); | ||
251 | } | ||
252 | |||
253 | QString RbSettings::curTTS() | ||
254 | { | ||
255 | return userSettings->value("tts").toString(); | ||
256 | } | ||
257 | |||
258 | QString RbSettings::lastTalkedFolder() | ||
259 | { | ||
260 | return userSettings->value("last_talked_folder").toString(); | ||
261 | } | ||
262 | |||
263 | QString RbSettings::voiceLanguage() | ||
264 | { | ||
265 | return userSettings->value("voicelanguage").toString(); | ||
266 | } | ||
267 | |||
268 | int RbSettings::wavtrimTh() | ||
269 | { | ||
270 | return userSettings->value("wavtrimthreshold",500).toInt(); | ||
271 | } | ||
272 | |||
273 | QString RbSettings::ttsPath(QString tts) | ||
274 | { | ||
275 | devices->beginGroup(tts); | ||
276 | QString path = devices->value("ttspath").toString(); | ||
277 | devices->endGroup(); | ||
278 | return path; | ||
279 | |||
280 | } | ||
281 | QString RbSettings::ttsOptions(QString tts) | ||
282 | { | ||
283 | devices->beginGroup(tts); | ||
284 | QString op = devices->value("ttsoptions").toString(); | ||
285 | devices->endGroup(); | ||
286 | return op; | ||
287 | } | ||
288 | QString RbSettings::ttsVoice(QString tts) | ||
289 | { | ||
290 | devices->beginGroup(tts); | ||
291 | QString op = devices->value("ttsvoice").toString(); | ||
292 | devices->endGroup(); | ||
293 | return op; | ||
294 | } | ||
295 | int RbSettings::ttsSpeed(QString tts) | ||
296 | { | ||
297 | devices->beginGroup(tts); | ||
298 | int sp = devices->value("ttsspeed",0).toInt(); | ||
299 | devices->endGroup(); | ||
300 | return sp; | ||
301 | } | ||
302 | QString RbSettings::ttsLang(QString tts) | ||
303 | { | ||
304 | devices->beginGroup(tts); | ||
305 | QString op = devices->value("ttslanguage").toString(); | ||
306 | devices->endGroup(); | ||
307 | return op; | ||
308 | } | ||
309 | |||
310 | QString RbSettings::encoderPath(QString enc) | ||
311 | { | ||
312 | devices->beginGroup(enc); | ||
313 | QString path = devices->value("encoderpath").toString(); | ||
314 | devices->endGroup(); | ||
315 | return path; | ||
316 | } | ||
317 | QString RbSettings::encoderOptions(QString enc) | ||
318 | { | ||
319 | devices->beginGroup(enc); | ||
320 | QString op = devices->value("encoderpath").toString(); | ||
321 | devices->endGroup(); | ||
322 | return op; | ||
323 | } | ||
324 | |||
325 | double 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 | } | ||
332 | int 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 | } | ||
339 | double RbSettings::encoderVolume(QString enc) | ||
340 | { | ||
341 | devices->beginGroup(enc); | ||
342 | double v = devices->value("volume",10).toDouble(); | ||
343 | devices->endGroup(); | ||
344 | return v; | ||
345 | } | ||
346 | bool 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 | |||
354 | QStringList 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 | |||
367 | QStringList 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 | |||
380 | QString RbSettings::name(QString plattform) | ||
381 | { | ||
382 | devices->beginGroup(plattform); | ||
383 | QString name = devices->value("name").toString(); | ||
384 | devices->endGroup(); | ||
385 | return name; | ||
386 | } | ||
387 | |||
388 | QString RbSettings::brand(QString plattform) | ||
389 | { | ||
390 | devices->beginGroup(plattform); | ||
391 | QString brand = devices->value("brand").toString(); | ||
392 | devices->endGroup(); | ||
393 | return brand; | ||
394 | } | ||
395 | |||
396 | QString 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 | |||
405 | int 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 | |||
415 | void RbSettings::setOfPath(QString path) | ||
416 | { | ||
417 | userSettings->setValue("ofpath",path); | ||
418 | } | ||
419 | |||
420 | void RbSettings::setCachePath(QString path) | ||
421 | { | ||
422 | userSettings->setValue("cachepath", path); | ||
423 | } | ||
424 | |||
425 | void RbSettings::setBuild(QString build) | ||
426 | { | ||
427 | userSettings->setValue("build", build); | ||
428 | } | ||
429 | |||
430 | void RbSettings::setLastTalkedDir(QString dir) | ||
431 | { | ||
432 | userSettings->setValue("last_talked_folder", dir); | ||
433 | } | ||
434 | |||
435 | void RbSettings::setVoiceLanguage(QString dir) | ||
436 | { | ||
437 | userSettings->setValue("voicelanguage", dir); | ||
438 | } | ||
439 | |||
440 | void RbSettings::setWavtrimTh(int th) | ||
441 | { | ||
442 | userSettings->setValue("wavtrimthreshold", th); | ||
443 | } | ||
444 | |||
445 | void RbSettings::setProxy(QString proxy) | ||
446 | { | ||
447 | userSettings->setValue("proxy", proxy); | ||
448 | } | ||
449 | |||
450 | void RbSettings::setProxyType(QString proxytype) | ||
451 | { | ||
452 | userSettings->setValue("proxytype", proxytype); | ||
453 | } | ||
454 | |||
455 | void RbSettings::setLang(QString lang) | ||
456 | { | ||
457 | userSettings->setValue("lang", lang); | ||
458 | } | ||
459 | |||
460 | void RbSettings::setMountpoint(QString mp) | ||
461 | { | ||
462 | userSettings->setValue("mountpoint",mp); | ||
463 | } | ||
464 | |||
465 | void RbSettings::setCurPlatform(QString platt) | ||
466 | { | ||
467 | userSettings->setValue("platform",platt); | ||
468 | } | ||
469 | |||
470 | |||
471 | void RbSettings::setCacheDisable(bool on) | ||
472 | { | ||
473 | userSettings->setValue("cachedisable",on); | ||
474 | } | ||
475 | |||
476 | void RbSettings::setCacheOffline(bool on) | ||
477 | { | ||
478 | userSettings->setValue("offline",on); | ||
479 | } | ||
480 | |||
481 | void RbSettings::setCurTTS(QString tts) | ||
482 | { | ||
483 | userSettings->setValue("tts",tts); | ||
484 | } | ||
485 | |||
486 | void RbSettings::setCurEncoder(QString enc) | ||
487 | { | ||
488 | userSettings->setValue("encoder",enc); | ||
489 | } | ||
490 | |||
491 | void RbSettings::setTTSPath(QString tts, QString path) | ||
492 | { | ||
493 | userSettings->beginGroup(tts); | ||
494 | userSettings->setValue("ttspath",path); | ||
495 | userSettings->endGroup(); | ||
496 | } | ||
497 | |||
498 | void RbSettings::setTTSOptions(QString tts, QString options) | ||
499 | { | ||
500 | userSettings->beginGroup(tts); | ||
501 | userSettings->setValue("ttsoptions",options); | ||
502 | userSettings->endGroup(); | ||
503 | } | ||
504 | |||
505 | void RbSettings::setTTSVoice(QString tts, QString voice) | ||
506 | { | ||
507 | userSettings->beginGroup(tts); | ||
508 | userSettings->setValue("ttsvoice",voice); | ||
509 | userSettings->endGroup(); | ||
510 | } | ||
511 | |||
512 | void RbSettings::setTTSSpeed(QString tts, int speed) | ||
513 | { | ||
514 | userSettings->beginGroup(tts); | ||
515 | userSettings->setValue("ttsspeed",speed); | ||
516 | userSettings->endGroup(); | ||
517 | } | ||
518 | |||
519 | void RbSettings::setTTSLang(QString tts, QString lang) | ||
520 | { | ||
521 | userSettings->beginGroup(tts); | ||
522 | userSettings->setValue("ttslanguage",lang); | ||
523 | userSettings->endGroup(); | ||
524 | } | ||
525 | |||
526 | void RbSettings::setEncoderPath(QString enc, QString path) | ||
527 | { | ||
528 | userSettings->beginGroup(enc); | ||
529 | userSettings->setValue("encoderpath",path); | ||
530 | userSettings->endGroup(); | ||
531 | } | ||
532 | |||
533 | void RbSettings::setEncoderOptions(QString enc, QString options) | ||
534 | { | ||
535 | userSettings->beginGroup(enc); | ||
536 | userSettings->setValue("encoderoptions",options); | ||
537 | userSettings->endGroup(); | ||
538 | } | ||
539 | |||
540 | void RbSettings::setEncoderQuality(QString enc, double q) | ||
541 | { | ||
542 | userSettings->beginGroup(enc); | ||
543 | userSettings->setValue("quality",q); | ||
544 | userSettings->endGroup(); | ||
545 | } | ||
546 | void RbSettings::setEncoderComplexity(QString enc, int c) | ||
547 | { | ||
548 | userSettings->beginGroup(enc); | ||
549 | userSettings->setValue("complexity",c); | ||
550 | userSettings->endGroup(); | ||
551 | } | ||
552 | void RbSettings::setEncoderVolume(QString enc,double v) | ||
553 | { | ||
554 | userSettings->beginGroup(enc); | ||
555 | userSettings->setValue("volume",v); | ||
556 | userSettings->endGroup(); | ||
557 | } | ||
558 | void RbSettings::setEncoderNarrowband(QString enc,bool nb) | ||
559 | { | ||
560 | userSettings->beginGroup(enc); | ||
561 | userSettings->setValue("narrowband",nb); | ||
562 | userSettings->endGroup(); | ||
563 | } | ||