Small cosmetic changes to the hotkey description
[kugel-rb.git] / rbutil / rbutilqt / base / rbsettings.h
blobd66a01d3e2e957a6cf5cf328fa43bac5a248a498
1 /***************************************************************************
2 * __________ __ ___.
3 * Open \______ \ ____ ____ | | _\_ |__ _______ ___
4 * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
5 * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
6 * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
7 * \/ \/ \/ \/ \/
9 * Copyright (C) 2007 by Dominik Wenger
10 * $Id$
12 * This program is free software; you can redistribute it and/or
13 * modify it under the terms of the GNU General Public License
14 * as published by the Free Software Foundation; either version 2
15 * of the License, or (at your option) any later version.
17 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
18 * KIND, either express or implied.
20 ****************************************************************************/
22 #ifndef RBSETTINGS_H
23 #define RBSETTINGS_H
25 #include <QtCore>
27 class RbSettings : public QObject
29 Q_OBJECT
30 public:
32 //! All user settings
33 enum UserSettings {
34 RbutilVersion,
35 CurrentPlatform,
36 Mountpoint,
37 CachePath,
38 Build,
39 ProxyType,
40 Proxy,
41 OfPath,
42 Platform,
43 Language,
44 Tts,
45 LastTalkedFolder,
46 VoiceLanguage,
47 TtsLanguage,
48 TtsOptions,
49 TtsPath,
50 TtsVoice,
51 EncoderPath,
52 EncoderOptions,
53 WavtrimThreshold,
54 EncoderComplexity,
55 TtsSpeed,
56 CacheOffline,
57 CacheDisabled,
58 TtsUseSapi4,
59 EncoderNarrowBand,
60 EncoderQuality,
61 EncoderVolume,
64 //! call this to flush the user Settings
65 static void sync();
66 //! returns the filename of the usersettings file
67 static QString userSettingFilename();
68 //! get a value from user settings
69 static QVariant value(enum UserSettings setting);
70 //! set a user setting value
71 static void setValue(enum UserSettings setting , QVariant value);
72 //! get a user setting from a subvalue (ie for encoders and tts engines)
73 static QVariant subValue(QString sub, enum UserSettings setting);
74 //! set a user setting from a subvalue (ie for encoders and tts engines)
75 static void setSubValue(QString sub, enum UserSettings setting, QVariant value);
77 private:
78 //! you shouldnt call this, its a fully static calls
79 RbSettings() {}
80 //! create the setting objects if neccessary
81 static void ensureRbSettingsExists();
82 //! create a settings path, substitute platform, tts and encoder
83 static QString constructSettingPath(QString path, QString substitute = QString());
85 //! pointers to our setting object
86 static QSettings *userSettings;
89 #endif