rockbox/rbutil/rbutilqt/base/rbsettings.h
Dominik Riebeling 362f447ede Create dedicated backup dialog.
The "Installation" dialog allows backing up the current installation by
creating a zip file from the .rockbox folder since quite a while. However, this
has the drawback that you need to update your build to create a backup, but
creating a backup might be desireable in other cases as well (before updating
themes, or just for backup reasons). Since the functionality is somewhat hidden
it's also not obvious to users such a functionality exists (most users are
likely to use the "Quick Start" instead).

Implement backup functionality as dedicated dialog placed on the Uninstall tab.
Rename the Uninstall tab to accommodate this.

Change-Id: I1d2c6c8f646672d1b66bb442408fbfc2eeec700d
2012-06-26 18:30:27 +02:00

99 lines
3.2 KiB
C++

/***************************************************************************
* __________ __ ___.
* Open \______ \ ____ ____ | | _\_ |__ _______ ___
* Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
* Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
* Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
* \/ \/ \/ \/ \/
*
* Copyright (C) 2007 by Dominik Wenger
*
* 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 RbSettings : public QObject
{
Q_OBJECT
public:
//! All user settings
enum UserSettings {
RbutilVersion,
CurrentPlatform,
Mountpoint,
CachePath,
Build,
ProxyType,
Proxy,
OfPath,
Platform,
Language,
BackupPath,
Tts,
UseTtsCorrections,
TalkFolders,
TalkProcessFiles,
TalkProcessFolders,
TalkRecursive,
TalkSkipExisting,
TalkStripExtensions,
TalkIgnoreFiles,
TalkIgnoreWildcards,
VoiceLanguage,
TtsLanguage,
TtsOptions,
TtsPath,
TtsVoice,
TtsPitch,
EncoderPath,
EncoderOptions,
WavtrimThreshold,
EncoderComplexity,
TtsSpeed,
CacheOffline,
CacheDisabled,
TtsUseSapi4,
EncoderNarrowBand,
EncoderQuality,
EncoderVolume,
};
//! call this to flush the user Settings
static void sync();
//! returns the filename of the usersettings file
static QString userSettingFilename();
//! get a value from user settings
static QVariant value(enum UserSettings setting);
//! set a user setting value
static void setValue(enum UserSettings setting , QVariant value);
//! get a user setting from a subvalue (ie for encoders and tts engines)
static QVariant subValue(QString sub, enum UserSettings setting);
//! set a user setting from a subvalue (ie for encoders and tts engines)
static void setSubValue(QString sub, enum UserSettings setting, QVariant value);
private:
//! you shouldnt call this, its a fully static calls
RbSettings() {}
//! create the setting objects if neccessary
static void ensureRbSettingsExists();
//! create a settings path, substitute platform, tts and encoder
static QString constructSettingPath(QString path, QString substitute = QString());
//! pointers to our setting object
static QSettings *userSettings;
};
#endif