From 1d46fee51f581f27c8186ed432507bf5ab8253a8 Mon Sep 17 00:00:00 2001 From: Thomas Hartmann Date: Wed, 14 Sep 2022 15:52:43 +0200 Subject: [PATCH] QmlDesigner: Add allTimelines MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This makes it easy to retrieve all existing timelines. Change-Id: I61fdacce28ea7c8afe48da81b87c8b47ee1cec26 Reviewed-by: Henning Gründl Reviewed-by: Thomas Hartmann Reviewed-by: Qt CI Bot --- .../qmldesigner/designercore/include/qmlobjectnode.h | 2 ++ .../qmldesigner/designercore/model/qmlobjectnode.cpp | 12 ++++++++++++ 2 files changed, 14 insertions(+) diff --git a/src/plugins/qmldesigner/designercore/include/qmlobjectnode.h b/src/plugins/qmldesigner/designercore/include/qmlobjectnode.h index 83541fc4184..a37dbe77532 100644 --- a/src/plugins/qmldesigner/designercore/include/qmlobjectnode.h +++ b/src/plugins/qmldesigner/designercore/include/qmlobjectnode.h @@ -138,6 +138,8 @@ public: QmlModelStateGroup states() const; + QList allTimelines() const; + protected: NodeInstance nodeInstance() const; QmlObjectNode nodeForInstance(const NodeInstance &instance) const; diff --git a/src/plugins/qmldesigner/designercore/model/qmlobjectnode.cpp b/src/plugins/qmldesigner/designercore/model/qmlobjectnode.cpp index 0869b9c1f8b..54f71a50ad2 100644 --- a/src/plugins/qmldesigner/designercore/model/qmlobjectnode.cpp +++ b/src/plugins/qmldesigner/designercore/model/qmlobjectnode.cpp @@ -590,6 +590,18 @@ QmlModelStateGroup QmlObjectNode::states() const return QmlModelStateGroup(); } +QList QmlObjectNode::allTimelines() const +{ + QList timelineNodes; + const auto allNodes = view()->allModelNodes(); + for (const auto &timelineNode : allNodes) { + if (QmlTimeline::isValidQmlTimeline(timelineNode)) + timelineNodes.append(timelineNode); + } + + return timelineNodes; +} + /*! Removes a variant property of the object specified by \a name from the model.