diff options
author | Thomas Hartmann <thomas.hartmann@qt.io> | 2022-06-22 17:13:25 +0200 |
---|---|---|
committer | Thomas Hartmann <thomas.hartmann@qt.io> | 2022-06-22 16:32:07 +0000 |
commit | a0d474f2defd3ac14ae118d5a7e3cc99b5aab9f6 (patch) | |
tree | 67503902f5f063cd2dced083661e40c7d994b4dd | |
parent | 5fa46d665971bc0c7fbd2373400c5f2120ece922 (diff) |
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>
-rw-r--r-- | src/plugins/qmldesigner/components/transitioneditor/transitioneditorview.cpp | 90 |
1 files changed, 47 insertions, 43 deletions
diff --git a/src/plugins/qmldesigner/components/transitioneditor/transitioneditorview.cpp b/src/plugins/qmldesigner/components/transitioneditor/transitioneditorview.cpp index f487cc18fb..14c5eb6e95 100644 --- a/src/plugins/qmldesigner/components/transitioneditor/transitioneditorview.cpp +++ b/src/plugins/qmldesigner/components/transitioneditor/transitioneditorview.cpp @@ -251,50 +251,54 @@ ModelNode TransitionEditorView::addNewTransition() if (!idPropertyList.isEmpty()) { executeInTransaction( - " TransitionEditorView::addNewTransition", [&transition, idPropertyList, root, this]() { - transition = createModelNode("QtQuick.Transition", - 2, - 0, - {{ - "from", - "*", - }, - { - "to", - "*", - }}); - transition.setAuxiliaryData("transitionDuration", 2000); - transition.validId(); - root.nodeListProperty("transitions").reparentHere(transition); - - for (auto it = idPropertyList.cbegin(); it != idPropertyList.cend(); ++it) { - ModelNode parallelAnimation = createModelNode("QtQuick.ParallelAnimation", - 2, - 12); - transition.defaultNodeAbstractProperty().reparentHere(parallelAnimation); - for (const QString &property : it.value()) { - ModelNode sequentialAnimation - = createModelNode("QtQuick.SequentialAnimation", 2, 12); - parallelAnimation.defaultNodeAbstractProperty().reparentHere( - sequentialAnimation); - - ModelNode pauseAnimation = createModelNode("QtQuick.PauseAnimation", - 2, - 12, - {{"duration", 50}}); - sequentialAnimation.defaultNodeAbstractProperty().reparentHere( - pauseAnimation); - - ModelNode propertyAnimation = createModelNode("QtQuick.PropertyAnimation", - 2, - 12, - {{"property", property}, - {"duration", 150}}); - propertyAnimation.bindingProperty("target").setExpression(it.key()); - sequentialAnimation.defaultNodeAbstractProperty().reparentHere( - propertyAnimation); - } + " TransitionEditorView::addNewTransition", [&transition, idPropertyList, root, this]() { + + const NodeMetaInfo transitionMetaInfo = model()->metaInfo("QtQuick.Transition"); + transition = createModelNode("QtQuick.Transition", + transitionMetaInfo.majorVersion(), + transitionMetaInfo.minorVersion(), + {{ + "from", + "*", + }, + { + "to", + "*", + }}); + transition.setAuxiliaryData("transitionDuration", 2000); + transition.validId(); + root.nodeListProperty("transitions").reparentHere(transition); + + for (auto it = idPropertyList.cbegin(); it != idPropertyList.cend(); ++it) { + ModelNode parallelAnimation = createModelNode("QtQuick.ParallelAnimation"); + transition.defaultNodeAbstractProperty().reparentHere(parallelAnimation); + for (const QString &property : it.value()) { + ModelNode sequentialAnimation + = createModelNode("QtQuick.SequentialAnimation"); + parallelAnimation.defaultNodeAbstractProperty().reparentHere( + sequentialAnimation); + + const NodeMetaInfo pauseMetaInfo = model()->metaInfo("QtQuick.PauseAnimation"); + + ModelNode pauseAnimation = createModelNode("QtQuick.PauseAnimation", + pauseMetaInfo.majorVersion(), + pauseMetaInfo.minorVersion(), + {{"duration", 50}}); + sequentialAnimation.defaultNodeAbstractProperty().reparentHere( + pauseAnimation); + + const NodeMetaInfo propertyMetaInfo = model()->metaInfo("QtQuick.PauseAnimation"); + + ModelNode propertyAnimation = createModelNode("QtQuick.PropertyAnimation", + propertyMetaInfo.majorVersion(), + propertyMetaInfo.minorVersion(), + {{"property", property}, + {"duration", 150}}); + propertyAnimation.bindingProperty("target").setExpression(it.key()); + sequentialAnimation.defaultNodeAbstractProperty().reparentHere( + propertyAnimation); } + } }); } else { QString properties; |