aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/qmldesigner/designersettings.cpp
diff options
context:
space:
mode:
authorTim Jenssen <tim.jenssen@theqtcompany.com>2016-01-13 14:48:40 +0100
committerThomas Hartmann <Thomas.Hartmann@theqtcompany.com>2016-01-21 09:48:45 +0000
commitff3ccba7c10c15ea2a92781b27686e13a262fa54 (patch)
tree9fe553deac802c55572a5ac02621562acc1b6181 /src/plugins/qmldesigner/designersettings.cpp
parent85290a9313bb7a116d971d2dcbcfc352c866496e (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.cpp118
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