QmlDesigner: Create transitions with proper versions

The versions were hard coded which leads to issues.

Task-number: QDS-6760
Change-Id: I94c3599348b996bb700da636cd63e74ea4c02be6
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
This commit is contained in:
Thomas Hartmann
2022-06-22 17:13:25 +02:00
parent 5fa46d6659
commit a0d474f2de

View File

@@ -252,9 +252,11 @@ ModelNode TransitionEditorView::addNewTransition()
if (!idPropertyList.isEmpty()) { if (!idPropertyList.isEmpty()) {
executeInTransaction( executeInTransaction(
" TransitionEditorView::addNewTransition", [&transition, idPropertyList, root, this]() { " TransitionEditorView::addNewTransition", [&transition, idPropertyList, root, this]() {
const NodeMetaInfo transitionMetaInfo = model()->metaInfo("QtQuick.Transition");
transition = createModelNode("QtQuick.Transition", transition = createModelNode("QtQuick.Transition",
2, transitionMetaInfo.majorVersion(),
0, transitionMetaInfo.minorVersion(),
{{ {{
"from", "from",
"*", "*",
@@ -268,26 +270,28 @@ ModelNode TransitionEditorView::addNewTransition()
root.nodeListProperty("transitions").reparentHere(transition); root.nodeListProperty("transitions").reparentHere(transition);
for (auto it = idPropertyList.cbegin(); it != idPropertyList.cend(); ++it) { for (auto it = idPropertyList.cbegin(); it != idPropertyList.cend(); ++it) {
ModelNode parallelAnimation = createModelNode("QtQuick.ParallelAnimation", ModelNode parallelAnimation = createModelNode("QtQuick.ParallelAnimation");
2,
12);
transition.defaultNodeAbstractProperty().reparentHere(parallelAnimation); transition.defaultNodeAbstractProperty().reparentHere(parallelAnimation);
for (const QString &property : it.value()) { for (const QString &property : it.value()) {
ModelNode sequentialAnimation ModelNode sequentialAnimation
= createModelNode("QtQuick.SequentialAnimation", 2, 12); = createModelNode("QtQuick.SequentialAnimation");
parallelAnimation.defaultNodeAbstractProperty().reparentHere( parallelAnimation.defaultNodeAbstractProperty().reparentHere(
sequentialAnimation); sequentialAnimation);
const NodeMetaInfo pauseMetaInfo = model()->metaInfo("QtQuick.PauseAnimation");
ModelNode pauseAnimation = createModelNode("QtQuick.PauseAnimation", ModelNode pauseAnimation = createModelNode("QtQuick.PauseAnimation",
2, pauseMetaInfo.majorVersion(),
12, pauseMetaInfo.minorVersion(),
{{"duration", 50}}); {{"duration", 50}});
sequentialAnimation.defaultNodeAbstractProperty().reparentHere( sequentialAnimation.defaultNodeAbstractProperty().reparentHere(
pauseAnimation); pauseAnimation);
const NodeMetaInfo propertyMetaInfo = model()->metaInfo("QtQuick.PauseAnimation");
ModelNode propertyAnimation = createModelNode("QtQuick.PropertyAnimation", ModelNode propertyAnimation = createModelNode("QtQuick.PropertyAnimation",
2, propertyMetaInfo.majorVersion(),
12, propertyMetaInfo.minorVersion(),
{{"property", property}, {{"property", property},
{"duration", 150}}); {"duration", 150}});
propertyAnimation.bindingProperty("target").setExpression(it.key()); propertyAnimation.bindingProperty("target").setExpression(it.key());