diff options
author | Tim Jenssen <tim.jenssen@theqtcompany.com> | 2016-01-13 14:48:40 +0100 |
---|---|---|
committer | Thomas Hartmann <Thomas.Hartmann@theqtcompany.com> | 2016-01-21 09:48:45 +0000 |
commit | ff3ccba7c10c15ea2a92781b27686e13a262fa54 (patch) | |
tree | 9fe553deac802c55572a5ac02621562acc1b6181 /src/plugins/qmldesigner/designersettings.cpp | |
parent | 85290a9313bb7a116d971d2dcbcfc352c866496e (diff) |
QmlDesigner: improve settings for easy adding new values
- move settings keys constants to the settings file
- transform settings to a QHash
Change-Id: I1d41476421ce569cea3a4bd1c956d3bc0c6643f4
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@theqtcompany.com>
Diffstat (limited to 'src/plugins/qmldesigner/designersettings.cpp')
-rw-r--r-- | src/plugins/qmldesigner/designersettings.cpp | 118 |
1 files changed, 45 insertions, 73 deletions
diff --git a/src/plugins/qmldesigner/designersettings.cpp b/src/plugins/qmldesigner/designersettings.cpp index 13d259b87b..dff3bd4f27 100644 --- a/src/plugins/qmldesigner/designersettings.cpp +++ b/src/plugins/qmldesigner/designersettings.cpp @@ -24,97 +24,69 @@ ****************************************************************************/ #include "designersettings.h" -#include "qmldesignerconstants.h" #include <QSettings> -using namespace QmlDesigner; +namespace QmlDesigner { + +namespace DesignerSettingsGroupKey { + const char QML_SETTINGS_GROUP[] = "QML"; + const char QML_DESIGNER_SETTINGS_GROUP[] = "Designer"; +} DesignerSettings::DesignerSettings() - : itemSpacing(0), - containerPadding(0), - canvasWidth(10000), - canvasHeight(10000), - warningsInDesigner(true), - designerWarningsInEditor(false), - showDebugView(false), - enableDebugView(false), - alwaysSaveInCrumbleBar(false), - useOnlyFallbackPuppet(true) -{} +{ +} + +void DesignerSettings::restoreValue(QSettings *settings, const QByteArray &key, const QVariant &defaultValue) +{ + insert(key, settings->value(QString::fromLatin1(key), defaultValue)); +} void DesignerSettings::fromSettings(QSettings *settings) { - settings->beginGroup(QLatin1String(QmlDesigner::Constants::QML_SETTINGS_GROUP)); - settings->beginGroup(QLatin1String(QmlDesigner::Constants::QML_DESIGNER_SETTINGS_GROUP)); - itemSpacing = settings->value( - QLatin1String(QmlDesigner::Constants::QML_ITEMSPACING_KEY), QVariant(6)).toInt(); - containerPadding = settings->value( - QLatin1String(QmlDesigner::Constants::QML_CONTAINERPADDING_KEY), QVariant(8)).toInt(); - canvasWidth = settings->value(QLatin1String(QmlDesigner::Constants::QML_CANVASWIDTH_KEY), QVariant(10000)).toInt(); - canvasHeight = settings->value(QLatin1String(QmlDesigner::Constants::QML_CANVASHEIGHT_KEY), QVariant(10000)).toInt(); - warningsInDesigner = settings->value( - QLatin1String(QmlDesigner::Constants::QML_WARNIN_FOR_FEATURES_IN_DESIGNER_KEY), QVariant(true)).toBool(); - designerWarningsInEditor = settings->value( - QLatin1String(QmlDesigner::Constants::QML_WARNIN_FOR_DESIGNER_FEATURES_IN_EDITOR_KEY), QVariant(false)).toBool(); - showDebugView = settings->value( - QLatin1String(QmlDesigner::Constants::QML_SHOW_DEBUGVIEW), QVariant(false)).toBool(); - enableDebugView = settings->value( - QLatin1String(QmlDesigner::Constants::QML_ENABLE_DEBUGVIEW), QVariant(false)).toBool(); - alwaysSaveInCrumbleBar = settings->value( - QLatin1String(QmlDesigner::Constants::QML_ALWAYS_SAFE_IN_CRUMBLEBAR), QVariant(false)).toBool(); - useOnlyFallbackPuppet = settings->value( - QLatin1String(QmlDesigner::Constants::QML_USE_ONLY_FALLBACK_PUPPET), QVariant(true)).toBool(); - useQsTrFunction = settings->value( - QLatin1String(QmlDesigner::Constants::QML_USE_QSTR_FUNCTION), QVariant(true)).toBool(); - puppetFallbackDirectory = settings->value( - QLatin1String(QmlDesigner::Constants::QML_PUPPET_FALLBACK_DIRECTORY)).toString(); - puppetToplevelBuildDirectory = settings->value( - QLatin1String(QmlDesigner::Constants::QML_PUPPET_TOPLEVEL_BUILD_DIRECTORY)).toString(); - controlsStyle = settings->value( - QLatin1String(QmlDesigner::Constants::QML_CONTROLS_STYLE)).toString(); + settings->beginGroup(QLatin1String(DesignerSettingsGroupKey::QML_SETTINGS_GROUP)); + settings->beginGroup(QLatin1String(DesignerSettingsGroupKey::QML_DESIGNER_SETTINGS_GROUP)); + restoreValue(settings, DesignerSettingsKey::ITEMSPACING, 6); + restoreValue(settings, DesignerSettingsKey::CONTAINERPADDING, 8); + restoreValue(settings, DesignerSettingsKey::CANVASWIDTH, 10000); + restoreValue(settings, DesignerSettingsKey::CANVASHEIGHT, 10000); + restoreValue(settings, DesignerSettingsKey::WARNING_FOR_FEATURES_IN_DESIGNER, true); + restoreValue(settings, DesignerSettingsKey::WARNING_FOR_DESIGNER_FEATURES_IN_EDITOR, false); + restoreValue(settings, DesignerSettingsKey::SHOW_DEBUGVIEW, false); + restoreValue(settings, DesignerSettingsKey::ENABLE_DEBUGVIEW, false); + restoreValue(settings, DesignerSettingsKey::ALWAYS_SAFE_IN_CRUMBLEBAR, false); + restoreValue(settings, DesignerSettingsKey::USE_ONLY_FALLBACK_PUPPET, true); + restoreValue(settings, DesignerSettingsKey::USE_QSTR_FUNCTION, true); + restoreValue(settings, DesignerSettingsKey::PUPPET_FALLBACK_DIRECTORY); + restoreValue(settings, DesignerSettingsKey::PUPPET_TOPLEVEL_BUILD_DIRECTORY); + restoreValue(settings, DesignerSettingsKey::CONTROLS_STYLE); settings->endGroup(); settings->endGroup(); } +void DesignerSettings::storeValue(QSettings *settings, const QByteArray &key, const QVariant &value) const +{ + if (key.isEmpty()) + return; + settings->setValue(QString::fromLatin1(key), value); +} + void DesignerSettings::toSettings(QSettings *settings) const { - settings->beginGroup(QLatin1String(QmlDesigner::Constants::QML_SETTINGS_GROUP)); - settings->beginGroup(QLatin1String(QmlDesigner::Constants::QML_DESIGNER_SETTINGS_GROUP)); - settings->setValue(QLatin1String(QmlDesigner::Constants::QML_ITEMSPACING_KEY), itemSpacing); - settings->setValue(QLatin1String(QmlDesigner::Constants::QML_CONTAINERPADDING_KEY), containerPadding); - settings->setValue(QLatin1String(QmlDesigner::Constants::QML_CANVASWIDTH_KEY), canvasWidth); - settings->setValue(QLatin1String(QmlDesigner::Constants::QML_CANVASHEIGHT_KEY), canvasHeight); - settings->setValue(QLatin1String(QmlDesigner::Constants::QML_WARNIN_FOR_FEATURES_IN_DESIGNER_KEY), warningsInDesigner); - settings->setValue(QLatin1String(QmlDesigner::Constants::QML_WARNIN_FOR_DESIGNER_FEATURES_IN_EDITOR_KEY), designerWarningsInEditor); - settings->setValue(QLatin1String(QmlDesigner::Constants::QML_SHOW_DEBUGVIEW), showDebugView); - settings->setValue(QLatin1String(QmlDesigner::Constants::QML_ENABLE_DEBUGVIEW), enableDebugView); - settings->setValue(QLatin1String(QmlDesigner::Constants::QML_ALWAYS_SAFE_IN_CRUMBLEBAR), alwaysSaveInCrumbleBar); - settings->setValue(QLatin1String(QmlDesigner::Constants::QML_USE_ONLY_FALLBACK_PUPPET), useOnlyFallbackPuppet); - settings->setValue(QLatin1String(QmlDesigner::Constants::QML_USE_QSTR_FUNCTION), useQsTrFunction); - settings->setValue(QLatin1String(QmlDesigner::Constants::QML_PUPPET_FALLBACK_DIRECTORY), puppetFallbackDirectory); - settings->setValue(QLatin1String(QmlDesigner::Constants::QML_PUPPET_TOPLEVEL_BUILD_DIRECTORY), puppetToplevelBuildDirectory); - settings->setValue(QLatin1String(QmlDesigner::Constants::QML_CONTROLS_STYLE), controlsStyle); + settings->beginGroup(QLatin1String(DesignerSettingsGroupKey::QML_SETTINGS_GROUP)); + settings->beginGroup(QLatin1String(DesignerSettingsGroupKey::QML_DESIGNER_SETTINGS_GROUP)); + + QHash<QByteArray, QVariant>::const_iterator i = constBegin(); + while (i != constEnd()) { + storeValue(settings, i.key(), i.value()); + ++i; + } settings->endGroup(); settings->endGroup(); } -bool DesignerSettings::equals(const DesignerSettings &other) const -{ - return containerPadding == other.containerPadding - && canvasWidth == other.canvasWidth - && canvasHeight == other.canvasHeight - && warningsInDesigner == other.warningsInDesigner - && designerWarningsInEditor == other.designerWarningsInEditor - && showDebugView == other.showDebugView - && enableDebugView == other.enableDebugView - && alwaysSaveInCrumbleBar == other.alwaysSaveInCrumbleBar - && useOnlyFallbackPuppet == other.useOnlyFallbackPuppet - && useQsTrFunction == other.useQsTrFunction - && puppetFallbackDirectory == other.puppetFallbackDirectory - && puppetToplevelBuildDirectory == other.puppetToplevelBuildDirectory - && controlsStyle == other.controlsStyle; -} +} // namespace QmlDesigner |