summaryrefslogtreecommitdiff
path: root/rbutil/rbutilqt/rbsettings.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'rbutil/rbutilqt/rbsettings.cpp')
-rw-r--r--rbutil/rbutilqt/rbsettings.cpp563
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
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}