QmlDesigner: Fix itemlibrary template generation

Since this is likely executed in a transaction and
newQmlObjectNode.setId() uses refactoring on the QML code
this is not working as expected. Setting the id without any refactoring,
that triggers changes of the QML code, is save to be used.

Change-Id: I5d29689eff34827de9e451f433d9a4b42569a64e
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
This commit is contained in:
Thomas Hartmann
2022-03-22 10:04:04 +01:00
parent 2846bef563
commit 70c44acdd8

View File

@@ -335,7 +335,7 @@ QmlObjectNode QmlVisualNode::createQmlObjectNode(AbstractView *view,
if (!newQmlObjectNode.isValid()) if (!newQmlObjectNode.isValid())
return; return;
newQmlObjectNode.setId(view->model()->generateNewId(itemLibraryEntry.name())); newQmlObjectNode.modelNode().setIdWithoutRefactoring(view->model()->generateNewId(itemLibraryEntry.name()));
for (const auto &propertyBindingEntry : propertyBindingList) for (const auto &propertyBindingEntry : propertyBindingList)
newQmlObjectNode.modelNode().bindingProperty(propertyBindingEntry.first).setExpression(propertyBindingEntry.second); newQmlObjectNode.modelNode().bindingProperty(propertyBindingEntry.first).setExpression(propertyBindingEntry.second);