summaryrefslogtreecommitdiffstats
path: root/rbutil/rbutilqt/base/rbsettings.h
diff options
context:
space:
mode:
authorDominik Riebeling <Dominik.Riebeling@gmail.com>2009-04-29 21:36:05 +0000
committerDominik Riebeling <Dominik.Riebeling@gmail.com>2009-04-29 21:36:05 +0000
commit19c258847109d04d65eaddc07532c250ab7df5dc (patch)
treebac70025f879cb465702be77ba49bad271edab1b /rbutil/rbutilqt/base/rbsettings.h
parent22656911028459a9d21b1253860750720b25c2b6 (diff)
downloadrockbox-19c258847109d04d65eaddc07532c250ab7df5dc.tar.gz
rockbox-19c258847109d04d65eaddc07532c250ab7df5dc.tar.bz2
rockbox-19c258847109d04d65eaddc07532c250ab7df5dc.zip
Move Settings class to base.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20827 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'rbutil/rbutilqt/base/rbsettings.h')
-rw-r--r--rbutil/rbutilqt/base/rbsettings.h142
1 files changed, 142 insertions, 0 deletions
diff --git a/rbutil/rbutilqt/base/rbsettings.h b/rbutil/rbutilqt/base/rbsettings.h
new file mode 100644
index 0000000000..341577abc8
--- /dev/null
+++ b/rbutil/rbutilqt/base/rbsettings.h
@@ -0,0 +1,142 @@
+/***************************************************************************
+ * __________ __ ___.
+ * Open \______ \ ____ ____ | | _\_ |__ _______ ___
+ * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
+ * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
+ * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
+ * \/ \/ \/ \/ \/
+ *
+ * Copyright (C) 2007 by Dominik Wenger
+ * $Id$
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ ****************************************************************************/
+
+#ifndef RBSETTINGS_H
+#define RBSETTINGS_H
+
+#include <QtCore>
+
+class QSettings;
+
+class RbSettings : public QObject
+{
+ Q_OBJECT
+
+ public:
+ RbSettings() {}
+
+ //! open the settings files
+ void open();
+ //! call this to flush the user Settings
+ void sync();
+
+ // returns the filename of the usersettings file
+ QString userSettingFilename();
+
+ enum MapType {
+ MapDevice,
+ MapError,
+ MapIncompatible,
+ };
+ enum UserSettings {
+ RbutilVersion,
+ CurrentPlatform,
+ Mountpoint,
+ CachePath,
+ Build,
+ ProxyType,
+ Proxy,
+ OfPath,
+ Platform,
+ Language,
+ Tts,
+ LastTalkedFolder,
+ VoiceLanguage,
+ TtsLanguage,
+ TtsOptions,
+ TtsPath,
+ TtsVoice,
+ EncoderPath,
+ EncoderOptions,
+ WavtrimThreshold,
+ EncoderComplexity,
+ TtsSpeed,
+ CacheOffline,
+ CacheDisabled,
+ TtsUseSapi4,
+ EncoderNarrowBand,
+ EncoderQuality,
+ EncoderVolume,
+ };
+ enum SystemSettings {
+ ManualUrl,
+ BleedingUrl,
+ BootloaderUrl,
+ BootloaderInfoUrl,
+ FontUrl,
+ VoiceUrl,
+ DoomUrl,
+ ReleaseUrl,
+ DailyUrl,
+ ServerConfUrl,
+ GenlangUrl,
+ ThemesUrl,
+ BleedingInfo,
+ CurPlatformName,
+ CurManual,
+ CurBootloaderMethod,
+ CurBootloaderName,
+ CurBootloaderFile,
+ CurEncoder,
+ CurResolution,
+ CurBrand,
+ CurName,
+ CurBuildserverModel,
+ CurConfigureModel,
+ CurTargetId,
+ };
+
+ QVariant value(enum SystemSettings setting);
+ // generic and "current selection" values -- getters
+ QVariant value(enum UserSettings setting)
+ { QString empty; return subValue(empty, setting); }
+ void setValue(enum UserSettings setting , QVariant value)
+ { QString empty; return setSubValue(empty, setting, value); }
+
+ QVariant subValue(QString& sub, enum UserSettings setting);
+ QVariant subValue(const char* sub, enum UserSettings setting)
+ { QString s = sub; return subValue(s, setting); }
+ void setSubValue(QString& sub, enum UserSettings setting, QVariant value);
+ void setSubValue(const char* sub, enum UserSettings setting, QVariant value)
+ { QString s = sub; return setSubValue(s, setting, value); }
+
+ QStringList platforms(void);
+ QStringList languages(void);
+
+ QString name(QString plattform);
+ QString brand(QString plattform);
+
+ QMap<int, QString> usbIdMap(enum MapType);
+
+ private:
+ //! private copy constructors to prvent copying
+ RbSettings& operator= (const RbSettings& other)
+ { (void)other; return *this; }
+ RbSettings(const RbSettings& other) :QObject()
+ { (void)other; }
+ QString constructSettingPath(QString path, QString substitute = QString());
+
+ //! pointers to our setting objects
+ QSettings *systemSettings;
+ QSettings *userSettings;
+};
+
+#endif