diff options
author | Tim Jenssen <tim.jenssen@qt.io> | 2020-04-23 01:33:42 +0200 |
---|---|---|
committer | Tim Jenssen <tim.jenssen@qt.io> | 2020-04-23 11:51:04 +0000 |
commit | 8d868d8bbb174256e4501f8ad6f40ddc24150f3b (patch) | |
tree | 7de696e5bf8618fe81c75249b193a5db115c84a7 /src/plugins/qmldesigner | |
parent | 49626f7ea9085d167ea822b5fda6170e3949a1fc (diff) |
QmlDesigner: use setContextProperties
should be faster
Change-Id: I3f491237746856c00f13947dfa9e8464a2bd5c25
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Diffstat (limited to 'src/plugins/qmldesigner')
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()); |