aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/qmldesigner/designersettings.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/qmldesigner/designersettings.cpp')
-rw-r--r--src/plugins/qmldesigner/designersettings.cpp51
1 files changed, 30 insertions, 21 deletions
diff --git a/src/plugins/qmldesigner/designersettings.cpp b/src/plugins/qmldesigner/designersettings.cpp
index 8841267385..dacadf7404 100644
--- a/src/plugins/qmldesigner/designersettings.cpp
+++ b/src/plugins/qmldesigner/designersettings.cpp
@@ -25,8 +25,6 @@
#include "designersettings.h"
-#include <qmldesignerplugin.h>
-
#include <QSettings>
namespace QmlDesigner {
@@ -36,11 +34,35 @@ namespace DesignerSettingsGroupKey {
const char QML_DESIGNER_SETTINGS_GROUP[] = "Designer";
}
-DesignerSettings::DesignerSettings() = default;
+DesignerSettings::DesignerSettings(QSettings *settings) :
+ m_settings(settings)
+{
+ fromSettings(settings);
+}
+
+void DesignerSettings::insert(const QByteArray &key, const QVariant &value)
+{
+ QMutexLocker locker(&m_mutex);
+ m_cache.insert(key, value);
+ toSettings(m_settings);
+}
+
+void DesignerSettings::insert(const QHash<QByteArray, QVariant> &settingsHash)
+{
+ QMutexLocker locker(&m_mutex);
+ m_cache.insert(settingsHash);
+ toSettings(m_settings);
+}
+
+QVariant DesignerSettings::value(const QByteArray &key, const QVariant &defaultValue) const
+{
+ QMutexLocker locker(&m_mutex);
+ return m_cache.value(key);
+}
void DesignerSettings::restoreValue(QSettings *settings, const QByteArray &key, const QVariant &defaultValue)
{
- insert(key, settings->value(QString::fromLatin1(key), defaultValue));
+ m_cache.insert(key, settings->value(QString::fromLatin1(key), defaultValue));
}
void DesignerSettings::fromSettings(QSettings *settings)
@@ -80,8 +102,8 @@ void DesignerSettings::fromSettings(QSettings *settings)
restoreValue(settings, DesignerSettingsKey::ALWAYS_DESIGN_MODE, true);
restoreValue(settings, DesignerSettingsKey::DISABLE_ITEM_LIBRARY_UPDATE_TIMER, false);
restoreValue(settings, DesignerSettingsKey::ASK_BEFORE_DELETING_ASSET, true);
- const QStringList defaultValue = QStringList() << "#222222" << "#999999";
- restoreValue(settings, DesignerSettingsKey::EDIT3DVIEW_BACKGROUND_COLOR, defaultValue);
+ restoreValue(settings, DesignerSettingsKey::EDIT3DVIEW_BACKGROUND_COLOR,
+ QStringList{"#222222", "#999999"});
restoreValue(settings, DesignerSettingsKey::EDIT3DVIEW_GRID_COLOR, "#aaaaaa");
restoreValue(settings, DesignerSettingsKey::SMOOTH_RENDERING, false);
restoreValue(settings, DesignerSettingsKey::SHOW_DEBUG_SETTINGS, false);
@@ -103,8 +125,8 @@ void DesignerSettings::toSettings(QSettings *settings) const
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()) {
+ QHash<QByteArray, QVariant>::const_iterator i = m_cache.constBegin();
+ while (i != m_cache.constEnd()) {
storeValue(settings, i.key(), i.value());
++i;
}
@@ -113,17 +135,4 @@ void DesignerSettings::toSettings(QSettings *settings) const
settings->endGroup();
}
-QVariant DesignerSettings::getValue(const QByteArray &key)
-{
- DesignerSettings settings = QmlDesignerPlugin::instance()->settings();
- 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