aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/qmldesigner
diff options
context:
space:
mode:
authorTim Jenssen <tim.jenssen@qt.io>2020-04-23 01:33:42 +0200
committerTim Jenssen <tim.jenssen@qt.io>2020-04-23 11:51:04 +0000
commit8d868d8bbb174256e4501f8ad6f40ddc24150f3b (patch)
tree7de696e5bf8618fe81c75249b193a5db115c84a7 /src/plugins/qmldesigner
parent49626f7ea9085d167ea822b5fda6170e3949a1fc (diff)
QmlDesigner: use setContextProperties
should be faster Change-Id: I3f491237746856c00f13947dfa9e8464a2bd5c25 Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Diffstat (limited to 'src/plugins/qmldesigner')
-rw-r--r--src/plugins/qmldesigner/components/itemlibrary/itemlibrarywidget.cpp16
-rw-r--r--src/plugins/qmldesigner/components/propertyeditor/propertyeditorqmlbackend.cpp19
-rw-r--r--src/plugins/qmldesigner/components/stateseditor/stateseditorwidget.cpp9
3 files changed, 28 insertions, 16 deletions
diff --git a/src/plugins/qmldesigner/components/itemlibrary/itemlibrarywidget.cpp b/src/plugins/qmldesigner/components/itemlibrary/itemlibrarywidget.cpp
index 378f1e897a..13230544ae 100644
--- a/src/plugins/qmldesigner/components/itemlibrary/itemlibrarywidget.cpp
+++ b/src/plugins/qmldesigner/components/itemlibrary/itemlibrarywidget.cpp
@@ -101,13 +101,15 @@ ItemLibraryWidget::ItemLibraryWidget(QWidget *parent) :
m_itemViewQuickWidget->engine()->addImportPath(propertyEditorResourcesPath() + "/imports");
m_itemLibraryModel = new ItemLibraryModel(this);
- QQmlContext *rootContext = m_itemViewQuickWidget->rootContext();
- rootContext->setContextProperty(QStringLiteral("itemLibraryModel"), m_itemLibraryModel.data());
- rootContext->setContextProperty(QStringLiteral("itemLibraryIconWidth"), m_itemIconSize.width());
- rootContext->setContextProperty(QStringLiteral("itemLibraryIconHeight"), m_itemIconSize.height());
- rootContext->setContextProperty(QStringLiteral("rootView"), this);
-
- m_itemViewQuickWidget->rootContext()->setContextProperty(QStringLiteral("highlightColor"), Utils::StyleHelper::notTooBrightHighlightColor());
+ m_itemViewQuickWidget->rootContext()->setContextProperties(
+ QVector<QQmlContext::PropertyPair>{
+ {"itemLibraryModel", QVariant::fromValue(m_itemLibraryModel.data())},
+ {"itemLibraryIconWidth", m_itemIconSize.width()},
+ {"itemLibraryIconHeight", m_itemIconSize.height()},
+ {"rootView", QVariant::fromValue(this)},
+ {"highlightColor", Utils::StyleHelper::notTooBrightHighlightColor()}
+ }
+ );
/* create Resources view and its model */
m_resourcesFileSystemModel = new CustomFileSystemModel(this);
diff --git a/src/plugins/qmldesigner/components/propertyeditor/propertyeditorqmlbackend.cpp b/src/plugins/qmldesigner/components/propertyeditor/propertyeditorqmlbackend.cpp
index d9a685c703..42ad8857cf 100644
--- a/src/plugins/qmldesigner/components/propertyeditor/propertyeditorqmlbackend.cpp
+++ b/src/plugins/qmldesigner/components/propertyeditor/propertyeditorqmlbackend.cpp
@@ -379,9 +379,12 @@ void PropertyEditorQmlBackend::setup(const QmlObjectNode &qmlObjectNode, const Q
// anchors
m_backendAnchorBinding.setup(qmlObjectNode.modelNode());
- context()->setContextProperty(QLatin1String("anchorBackend"), &m_backendAnchorBinding);
-
- context()->setContextProperty(QLatin1String("transaction"), m_propertyEditorTransaction.data());
+ context()->setContextProperties(
+ QVector<QQmlContext::PropertyPair>{
+ {"anchorBackend", QVariant::fromValue(&m_backendAnchorBinding)},
+ {"transaction", QVariant::fromValue(m_propertyEditorTransaction.data())}
+ }
+ );
qCInfo(propertyEditorBenchmark) << "anchors:" << time.elapsed();
@@ -457,9 +460,13 @@ void PropertyEditorQmlBackend::initialSetup(const TypeName &typeName, const QUrl
QObject::connect(valueObject, &PropertyEditorValue::valueChanged, &backendValuesPropertyMap(), &DesignerPropertyMap::valueChanged);
m_backendValuesPropertyMap.insert(QLatin1String("id"), QVariant::fromValue(valueObject));
- context()->setContextProperty(QLatin1String("anchorBackend"), &m_backendAnchorBinding);
- context()->setContextProperty(QLatin1String("modelNodeBackend"), &m_backendModelNode);
- context()->setContextProperty(QLatin1String("transaction"), m_propertyEditorTransaction.data());
+ context()->setContextProperties(
+ QVector<QQmlContext::PropertyPair>{
+ {"anchorBackend", QVariant::fromValue(&m_backendAnchorBinding)},
+ {"modelNodeBackend", QVariant::fromValue(&m_backendModelNode)},
+ {"transaction", QVariant::fromValue(m_propertyEditorTransaction.data())}
+ }
+ );
contextObject()->setSpecificsUrl(qmlSpecificsFile);
diff --git a/src/plugins/qmldesigner/components/stateseditor/stateseditorwidget.cpp b/src/plugins/qmldesigner/components/stateseditor/stateseditorwidget.cpp
index dafe5f3ff2..b3098b9360 100644
--- a/src/plugins/qmldesigner/components/stateseditor/stateseditorwidget.cpp
+++ b/src/plugins/qmldesigner/components/stateseditor/stateseditorwidget.cpp
@@ -102,9 +102,12 @@ StatesEditorWidget::StatesEditorWidget(StatesEditorView *statesEditorView, State
setResizeMode(QQuickWidget::SizeRootObjectToView);
setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
- rootContext()->setContextProperty(QStringLiteral("statesEditorModel"), statesEditorModel);
-
- rootContext()->setContextProperty(QLatin1String("canAddNewStates"), true);
+ rootContext()->setContextProperties(
+ QVector<QQmlContext::PropertyPair>{
+ {"statesEditorModel", QVariant::fromValue(statesEditorModel)},
+ {"canAddNewStates", true}
+ }
+ );
Theme::setupTheme(engine());