From c4dd20c64e26fb73972fc65c7a26f08d9ba1ba1c Mon Sep 17 00:00:00 2001 From: Thomas Hartmann Date: Tue, 20 Sep 2022 16:22:48 +0200 Subject: [PATCH] QmlDesigner: Add MetaInfo for functions for Connections and StateGroup Change-Id: I61d6409d824747d373da4912ef2d894e70436014 Reviewed-by: Qt CI Bot Reviewed-by: Marco Bubke --- .../qmldesigner/designercore/include/model.h | 2 ++ .../qmldesigner/designercore/model/model.cpp | 21 ++++++++++++++++++- .../projectstorage/commontypecache.h | 4 ++++ 3 files changed, 26 insertions(+), 1 deletion(-) diff --git a/src/plugins/qmldesigner/designercore/include/model.h b/src/plugins/qmldesigner/designercore/include/model.h index e1a187e7d7c..2eaa1636a19 100644 --- a/src/plugins/qmldesigner/designercore/include/model.h +++ b/src/plugins/qmldesigner/designercore/include/model.h @@ -99,6 +99,8 @@ public: NodeMetaInfo qtQuickTextMetaInfo() const; NodeMetaInfo qtQuickTimelineKeyframeGroupMetaInfo() const; NodeMetaInfo qtQuickTimelineTimelineMetaInfo() const; + NodeMetaInfo qtQuickConnectionsMetaInfo() const; + NodeMetaInfo qtQuickStateGroupMetaInfo() const; void attachView(AbstractView *view); void detachView(AbstractView *view, ViewNotification emitDetachNotify = NotifyView); diff --git a/src/plugins/qmldesigner/designercore/model/model.cpp b/src/plugins/qmldesigner/designercore/model/model.cpp index 8aacbe0a213..0f0d391b816 100644 --- a/src/plugins/qmldesigner/designercore/model/model.cpp +++ b/src/plugins/qmldesigner/designercore/model/model.cpp @@ -55,7 +55,6 @@ All write access is running through this interface The Model is the central place to access a qml files data (see e.g. rootNode() ) and meta data (see metaInfo() ). - Components that want to be informed about changes in the model can register a subclass of AbstractView via attachView(). \see QmlDesigner::ModelNode, QmlDesigner::AbstractProperty, QmlDesigner::AbstractView @@ -1911,6 +1910,26 @@ NodeMetaInfo Model::qtQuickTimelineTimelineMetaInfo() const } } +NodeMetaInfo Model::qtQuickConnectionsMetaInfo() const +{ + if constexpr (useProjectStorage()) { + using namespace Storage::Info; + return createNodeMetaInfo(); + } else { + return metaInfo("QtQuick.Connections"); + } +} + +NodeMetaInfo Model::qtQuickStateGroupMetaInfo() const +{ + if constexpr (useProjectStorage()) { + using namespace Storage::Info; + return createNodeMetaInfo(); + } else { + return metaInfo("QtQuick.StateGroup"); + } +} + NodeMetaInfo Model::qtQuickTimelineKeyframeGroupMetaInfo() const { if constexpr (useProjectStorage()) { diff --git a/src/plugins/qmldesigner/designercore/projectstorage/commontypecache.h b/src/plugins/qmldesigner/designercore/projectstorage/commontypecache.h index 01057dc0136..23f14724159 100644 --- a/src/plugins/qmldesigner/designercore/projectstorage/commontypecache.h +++ b/src/plugins/qmldesigner/designercore/projectstorage/commontypecache.h @@ -29,6 +29,7 @@ inline constexpr char Buffer[] = "Buffer"; inline constexpr char Camera[] = "Camera"; inline constexpr char Command[] = "Command"; inline constexpr char Component[] = "Component"; +inline constexpr char Connections[] = "Connections"; inline constexpr char DefaultMaterial[] = "DefaultMaterial"; inline constexpr char Dialog[] = "Dialog"; inline constexpr char DoubleType[] = "double"; @@ -97,6 +98,7 @@ inline constexpr char Shader[] = "Shader"; inline constexpr char SoundEffect[] = "SoundEffect"; inline constexpr char SplitView[] = "SplitView"; inline constexpr char SpriteParticle3D[] = "SpriteParticle3D"; +inline constexpr char StateGroup[] = "StateGroup"; inline constexpr char State[] = "State"; inline constexpr char SwipeView[] = "SwipeView"; inline constexpr char TabBar[] = "TabBar"; @@ -155,6 +157,7 @@ class CommonTypeCache CacheType, CacheType, CacheType, + CacheType, CacheType, CacheType, CacheType, @@ -169,6 +172,7 @@ class CommonTypeCache CacheType, CacheType, CacheType, + CacheType, CacheType, CacheType, CacheType,