diff options
author | Miikka Heikkinen <miikka.heikkinen@qt.io> | 2022-06-22 14:43:43 +0300 |
---|---|---|
committer | Miikka Heikkinen <miikka.heikkinen@qt.io> | 2022-06-22 12:44:28 +0000 |
commit | 2cb45cbb6b12048a1e7e02877a56d63a09e708ed (patch) | |
tree | 9d9e7fb197c604e51adf601c91667801b1768ac1 | |
parent | 359f4f176755c0504a4a6372835498f8faae3fb0 (diff) |
QmlDesigner: Reduce number of preview requests from material editor
Removed preview request call from setValue, as it is called in long
loops during initial project load and added the calls outside those
loops where they already weren't there.
Fixes: QDS-7175
Change-Id: Ia83814a0de6fe801d954373dc8ce0e4920e8a6a6
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
-rw-r--r-- | src/plugins/qmldesigner/components/materialeditor/materialeditorview.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/plugins/qmldesigner/components/materialeditor/materialeditorview.cpp b/src/plugins/qmldesigner/components/materialeditor/materialeditorview.cpp index 10cd12a7c7..49cebb3dd4 100644 --- a/src/plugins/qmldesigner/components/materialeditor/materialeditorview.cpp +++ b/src/plugins/qmldesigner/components/materialeditor/materialeditorview.cpp @@ -556,6 +556,7 @@ void MaterialEditorView::propertiesRemoved(const QList<AbstractProperty> &proper if (noValidSelection()) return; + bool changed = false; for (const AbstractProperty &property : propertyList) { ModelNode node(property.parentModelNode()); @@ -564,8 +565,11 @@ void MaterialEditorView::propertiesRemoved(const QList<AbstractProperty> &proper if (node == m_selectedMaterial || QmlObjectNode(m_selectedMaterial).propertyChangeForCurrentState() == node) { setValue(m_selectedMaterial, property.name(), QmlObjectNode(m_selectedMaterial).instanceValue(property.name())); + changed = true; } } + if (changed) + requestPreviewRender(); } void MaterialEditorView::variantPropertiesChanged(const QList<VariantProperty> &propertyList, PropertyChangeFlags /*propertyChange*/) @@ -670,6 +674,7 @@ void MaterialEditorView::instancePropertyChanged(const QList<QPair<ModelNode, Pr m_locked = true; + bool changed = false; for (const QPair<ModelNode, PropertyName> &propertyPair : propertyList) { const ModelNode modelNode = propertyPair.first; const QmlObjectNode qmlObjectNode(modelNode); @@ -681,8 +686,11 @@ void MaterialEditorView::instancePropertyChanged(const QList<QPair<ModelNode, Pr setValue(modelNode, property.name(), qmlObjectNode.instanceValue(property.name())); else setValue(modelNode, property.name(), qmlObjectNode.modelValue(property.name())); + changed = true; } } + if (changed) + requestPreviewRender(); m_locked = false; } @@ -818,7 +826,6 @@ void MaterialEditorView::setValue(const QmlObjectNode &qmlObjectNode, const Prop { m_locked = true; m_qmlBackEnd->setValue(qmlObjectNode, name, value); - requestPreviewRender(); m_locked = false; } |