diff --git a/src/plugins/qmldesigner/components/componentcore/crumblebar.cpp b/src/plugins/qmldesigner/components/componentcore/crumblebar.cpp index 770ca520215..2326780542c 100644 --- a/src/plugins/qmldesigner/components/componentcore/crumblebar.cpp +++ b/src/plugins/qmldesigner/components/componentcore/crumblebar.cpp @@ -149,9 +149,7 @@ void CrumbleBar::showSaveDialog() tr("Always save when leaving subcomponent"), &alwaysSave); - DesignerSettings settings = QmlDesignerPlugin::instance()->settings(); - settings.insert(DesignerSettingsKey::ALWAYS_SAFE_IN_CRUMBLEBAR, alwaysSave); - QmlDesignerPlugin::instance()->setSettings(settings); + DesignerSettings::setValue(DesignerSettingsKey::ALWAYS_SAFE_IN_CRUMBLEBAR, alwaysSave); } } diff --git a/src/plugins/qmldesigner/components/debugview/debugviewwidget.cpp b/src/plugins/qmldesigner/components/debugview/debugviewwidget.cpp index 637bdf8f435..269fbf7c3df 100644 --- a/src/plugins/qmldesigner/components/debugview/debugviewwidget.cpp +++ b/src/plugins/qmldesigner/components/debugview/debugviewwidget.cpp @@ -94,9 +94,7 @@ void DebugViewWidget::setDebugViewEnabled(bool b) void DebugViewWidget::enabledCheckBoxToggled(bool b) { - DesignerSettings settings = QmlDesignerPlugin::instance()->settings(); - settings.insert(DesignerSettingsKey::WARNING_FOR_FEATURES_IN_DESIGNER, b); - QmlDesignerPlugin::instance()->setSettings(settings); + DesignerSettings::setValue(DesignerSettingsKey::WARNING_FOR_FEATURES_IN_DESIGNER, b); } } //namespace Internal diff --git a/src/plugins/qmldesigner/designersettings.cpp b/src/plugins/qmldesigner/designersettings.cpp index 5008948f075..1502405dfbf 100644 --- a/src/plugins/qmldesigner/designersettings.cpp +++ b/src/plugins/qmldesigner/designersettings.cpp @@ -104,4 +104,11 @@ QVariant DesignerSettings::getValue(const QByteArray &key) return settings.value(key); } +void DesignerSettings::setValue(const QByteArray &key, const QVariant &value) +{ + DesignerSettings settings = QmlDesignerPlugin::instance()->settings(); + settings.insert(key, value); + QmlDesignerPlugin::instance()->setSettings(settings); +} + } // namespace QmlDesigner diff --git a/src/plugins/qmldesigner/designersettings.h b/src/plugins/qmldesigner/designersettings.h index 72698609937..baff3623dca 100644 --- a/src/plugins/qmldesigner/designersettings.h +++ b/src/plugins/qmldesigner/designersettings.h @@ -71,6 +71,7 @@ public: void fromSettings(QSettings *); void toSettings(QSettings *) const; static QVariant getValue(const QByteArray &key); + static void setValue(const QByteArray &key, const QVariant &value); private: void restoreValue(QSettings *settings, const QByteArray &key, const QVariant &defaultValue = QVariant()); diff --git a/src/plugins/qmldesigner/documentwarningwidget.cpp b/src/plugins/qmldesigner/documentwarningwidget.cpp index be0be89c361..25ba114de9a 100644 --- a/src/plugins/qmldesigner/documentwarningwidget.cpp +++ b/src/plugins/qmldesigner/documentwarningwidget.cpp @@ -203,9 +203,7 @@ bool DocumentWarningWidget::warningsEnabled() const void DocumentWarningWidget::ignoreCheckBoxToggled(bool b) { - DesignerSettings settings = QmlDesignerPlugin::instance()->settings(); - settings.insert(DesignerSettingsKey::WARNING_FOR_FEATURES_IN_DESIGNER, !b); - QmlDesignerPlugin::instance()->setSettings(settings); + DesignerSettings::setValue(DesignerSettingsKey::WARNING_FOR_FEATURES_IN_DESIGNER, !b); } void DocumentWarningWidget::setErrors(const QList &errors)