aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMiikka Heikkinen <miikka.heikkinen@qt.io>2022-06-22 14:43:43 +0300
committerMiikka Heikkinen <miikka.heikkinen@qt.io>2022-06-22 12:44:28 +0000
commit2cb45cbb6b12048a1e7e02877a56d63a09e708ed (patch)
tree9d9e7fb197c604e51adf601c91667801b1768ac1
parent359f4f176755c0504a4a6372835498f8faae3fb0 (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.cpp9
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;
}