summaryrefslogtreecommitdiff
path: root/src/plugins/qmldesigner/qmldesignerplugin.cpp
diff options
context:
space:
mode:
authorTim Jenssen <tim.jenssen@qt.io>2022-09-20 16:32:46 +0200
committerTim Jenssen <tim.jenssen@qt.io>2022-09-21 14:01:23 +0000
commita527ceff605bb73685ecbe5cedfddf31d8a8be85 (patch)
tree45f9b217fa234b562177146e98077be7d3e783df /src/plugins/qmldesigner/qmldesignerplugin.cpp
parenta6a7ca36883d87f5b1a140aef7781a551b998c55 (diff)
downloadqt-creator-a527ceff605bb73685ecbe5cedfddf31d8a8be85.tar.gz
qmldesigner: make DesignerSettings thread save
Change-Id: I07074b35456533e9729644ef3647803d477bd6f1 Reviewed-by: Marco Bubke <marco.bubke@qt.io>
Diffstat (limited to 'src/plugins/qmldesigner/qmldesignerplugin.cpp')
-rw-r--r--src/plugins/qmldesigner/qmldesignerplugin.cpp23
1 files changed, 6 insertions, 17 deletions
diff --git a/src/plugins/qmldesigner/qmldesignerplugin.cpp b/src/plugins/qmldesigner/qmldesignerplugin.cpp
index 4890205f42..6226e54e80 100644
--- a/src/plugins/qmldesigner/qmldesignerplugin.cpp
+++ b/src/plugins/qmldesigner/qmldesignerplugin.cpp
@@ -124,7 +124,7 @@ QtQuickDesignerFactory::QtQuickDesignerFactory()
setDocumentCreator([this]() {
auto document = new QmlJSEditor::QmlJSEditorDocument(id());
document->setIsDesignModePreferred(
- QmlDesigner::DesignerSettings::getValue(
+ QmlDesigner::QmlDesignerPlugin::settings().value(
QmlDesigner::DesignerSettingsKey::ALWAYS_DESIGN_MODE).toBool());
return document;
});
@@ -135,6 +135,7 @@ QtQuickDesignerFactory::QtQuickDesignerFactory()
class QmlDesignerPluginPrivate
{
public:
+ DesignerSettings settings{Core::ICore::instance()->settings()};
QmlDesignerProjectManager projectManager;
ViewManager viewManager{projectManager.asynchronousImageCache(),
projectManager.asynchronousMeshImageCache()};
@@ -142,7 +143,6 @@ public:
ShortCutManager shortCutManager;
SettingsPage settingsPage;
DesignModeWidget mainWidget;
- DesignerSettings settings;
QtQuickDesignerFactory m_qtQuickDesignerFactory;
bool blockEditorChange = false;
};
@@ -196,7 +196,7 @@ static bool shouldAssertInException()
static bool warningsForQmlFilesInsteadOfUiQmlEnabled()
{
- return DesignerSettings::getValue(DesignerSettingsKey::WARNING_FOR_QML_FILES_INSTEAD_OF_UIQML_FILES).toBool();
+ return QmlDesignerPlugin::settings().value(DesignerSettingsKey::WARNING_FOR_QML_FILES_INSTEAD_OF_UIQML_FILES).toBool();
}
QmlDesignerPlugin::QmlDesignerPlugin()
@@ -297,8 +297,6 @@ bool QmlDesignerPlugin::delayedInitialize()
});
MetaInfo::setPluginPaths(pluginPaths);
- d->settings.fromSettings(Core::ICore::settings());
-
d->viewManager.registerView(std::make_unique<QmlDesigner::Internal::ConnectionView>());
auto timelineView = d->viewManager.registerView(std::make_unique<QmlDesigner::TimelineView>());
@@ -645,7 +643,7 @@ void QmlDesignerPlugin::emitCurrentTextEditorChanged(Core::IEditor *editor)
double QmlDesignerPlugin::formEditorDevicePixelRatio()
{
- if (DesignerSettings::getValue(DesignerSettingsKey::IGNORE_DEVICE_PIXEL_RATIO).toBool())
+ if (QmlDesignerPlugin::settings().value(DesignerSettingsKey::IGNORE_DEVICE_PIXEL_RATIO).toBool())
return 1;
const QList<QWindow *> topLevelWindows = QApplication::topLevelWindows();
@@ -753,18 +751,9 @@ const DesignerActionManager &QmlDesignerPlugin::designerActionManager() const
return d->viewManager.designerActionManager();
}
-DesignerSettings QmlDesignerPlugin::settings()
+DesignerSettings& QmlDesignerPlugin::settings()
{
- d->settings.fromSettings(Core::ICore::settings());
- return d->settings;
-}
-
-void QmlDesignerPlugin::setSettings(const DesignerSettings &s)
-{
- if (s != d->settings) {
- d->settings = s;
- d->settings.toSettings(Core::ICore::settings());
- }
+ return instance()->d->settings;
}
} // namespace QmlDesigner