From 97c3d5302fd5ecdf430dac005b6a3273911d1e5c Mon Sep 17 00:00:00 2001
From: Thomas Hartmann <Thomas.Hartmann@nokia.com>
Date: Mon, 18 Jan 2010 18:47:58 +0100
Subject: [PATCH] QmlDesigner.model: Allow sharing of meta info between models

This is necessary to copy and paste comopnents between different
models.
---
 src/plugins/qmldesigner/core/include/model.h |  1 +
 src/plugins/qmldesigner/core/model/model.cpp | 13 +++++++++++++
 src/plugins/qmldesigner/core/model/model_p.h |  1 +
 3 files changed, 15 insertions(+)

diff --git a/src/plugins/qmldesigner/core/include/model.h b/src/plugins/qmldesigner/core/include/model.h
index ce6715433d8..e4ebc81954f 100644
--- a/src/plugins/qmldesigner/core/include/model.h
+++ b/src/plugins/qmldesigner/core/include/model.h
@@ -86,6 +86,7 @@ public:
 
     const MetaInfo metaInfo() const;
     MetaInfo metaInfo();
+    void setMetaInfo(const MetaInfo &metaInfo);
 
     void attachView(AbstractView *view);
     void detachView(AbstractView *view, ViewNotification emitDetachNotify = NotifyView);
diff --git a/src/plugins/qmldesigner/core/model/model.cpp b/src/plugins/qmldesigner/core/model/model.cpp
index 946289eea48..9bbc8609ca3 100644
--- a/src/plugins/qmldesigner/core/model/model.cpp
+++ b/src/plugins/qmldesigner/core/model/model.cpp
@@ -251,6 +251,11 @@ MetaInfo ModelPrivate::metaInfo() const
     return m_metaInfo;
 }
 
+void ModelPrivate::setMetaInfo(const MetaInfo &metaInfo)
+{
+    m_metaInfo = metaInfo;
+}
+
 void ModelPrivate::changeNodeId(const InternalNode::Pointer& internalNodePointer, const QString &id)
 {
     const QString oldId = internalNodePointer->id();
@@ -872,6 +877,14 @@ const MetaInfo Model::metaInfo() const
     return m_d->metaInfo();
 }
 
+/*!
+  \brief Sets a specific Metainfo on this Model
+  */
+void Model::setMetaInfo(const MetaInfo &metaInfo)
+{
+    m_d->setMetaInfo(metaInfo);
+}
+
 /*!
   \brief Returns list of Qml types available within the model.
   */
diff --git a/src/plugins/qmldesigner/core/model/model_p.h b/src/plugins/qmldesigner/core/model/model_p.h
index 558628b643f..4784f6867ef 100644
--- a/src/plugins/qmldesigner/core/model/model_p.h
+++ b/src/plugins/qmldesigner/core/model/model_p.h
@@ -98,6 +98,7 @@ public:
     InternalNodePointer findNode(const QString &id) const;
 
     MetaInfo metaInfo() const;
+    void setMetaInfo(const MetaInfo &metaInfo);
 
     void attachView(AbstractView *view);
     void detachView(AbstractView *view, bool notifyView);
-- 
GitLab