From 6e6ee2e9cb7b8fdec8ebfeec90f3bf02b92ffbab Mon Sep 17 00:00:00 2001 From: Thomas Hartmann Date: Thu, 5 Sep 2019 15:24:51 +0200 Subject: [PATCH] QmlDesigner: Use QmlObjectNode in QmlModelNodeProxy MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Selected nodes in the property editor do not have to be items. Change-Id: I0d4fff7f3069640ceb1c17f3d755abb340575667 Reviewed-by: Henning Gründl Reviewed-by: Thomas Hartmann --- .../propertyeditor/fileresourcesmodel.cpp | 2 +- .../propertyeditor/qmlmodelnodeproxy.cpp | 22 +++++++++---------- .../propertyeditor/qmlmodelnodeproxy.h | 6 ++--- 3 files changed, 15 insertions(+), 15 deletions(-) diff --git a/src/plugins/qmldesigner/components/propertyeditor/fileresourcesmodel.cpp b/src/plugins/qmldesigner/components/propertyeditor/fileresourcesmodel.cpp index 0b5f79a39e7..63f17f284a7 100644 --- a/src/plugins/qmldesigner/components/propertyeditor/fileresourcesmodel.cpp +++ b/src/plugins/qmldesigner/components/propertyeditor/fileresourcesmodel.cpp @@ -49,7 +49,7 @@ void FileResourcesModel::setModelNodeBackend(const QVariant &modelNodeBackend) qobject_cast(modelNodeBackendObject); if (backendObjectCasted) - m_path = backendObjectCasted->qmlItemNode().modelNode().model()->fileUrl(); + m_path = backendObjectCasted->qmlObjectNode().modelNode().model()->fileUrl(); setupModel(); emit modelNodeBackendChanged(); diff --git a/src/plugins/qmldesigner/components/propertyeditor/qmlmodelnodeproxy.cpp b/src/plugins/qmldesigner/components/propertyeditor/qmlmodelnodeproxy.cpp index 934c2846911..57e6d8ba275 100644 --- a/src/plugins/qmldesigner/components/propertyeditor/qmlmodelnodeproxy.cpp +++ b/src/plugins/qmldesigner/components/propertyeditor/qmlmodelnodeproxy.cpp @@ -35,9 +35,9 @@ QmlModelNodeProxy::QmlModelNodeProxy(QObject *parent) : { } -void QmlModelNodeProxy::setup(const QmlItemNode &itemNode) +void QmlModelNodeProxy::setup(const QmlObjectNode &objectNode) { - m_qmlItemNode = itemNode; + m_qmlObjectNode = objectNode; emit modelNodeChanged(); } @@ -57,44 +57,44 @@ void QmlModelNodeProxy::emitSelectionChanged() emit selectionChanged(); } -QmlItemNode QmlModelNodeProxy::qmlItemNode() const +QmlObjectNode QmlModelNodeProxy::qmlObjectNode() const { - return m_qmlItemNode; + return m_qmlObjectNode; } ModelNode QmlModelNodeProxy::modelNode() const { - return m_qmlItemNode.modelNode(); + return m_qmlObjectNode.modelNode(); } bool QmlModelNodeProxy::multiSelection() const { - if (!m_qmlItemNode.isValid()) + if (!m_qmlObjectNode.isValid()) return false; - return m_qmlItemNode.view()->selectedModelNodes().count() > 1; + return m_qmlObjectNode.view()->selectedModelNodes().count() > 1; } QString QmlModelNodeProxy::nodeId() const { - if (!m_qmlItemNode.isValid()) + if (!m_qmlObjectNode.isValid()) return {}; if (multiSelection()) return tr("multiselection"); - return m_qmlItemNode.id(); + return m_qmlObjectNode.id(); } QString QmlModelNodeProxy::simplifiedTypeName() const { - if (!m_qmlItemNode.isValid()) + if (!m_qmlObjectNode.isValid()) return {}; if (multiSelection()) return tr("multiselection"); - return m_qmlItemNode.simplifiedTypeName(); + return m_qmlObjectNode.simplifiedTypeName(); } } diff --git a/src/plugins/qmldesigner/components/propertyeditor/qmlmodelnodeproxy.h b/src/plugins/qmldesigner/components/propertyeditor/qmlmodelnodeproxy.h index 6037f32752a..70b14b1372b 100644 --- a/src/plugins/qmldesigner/components/propertyeditor/qmlmodelnodeproxy.h +++ b/src/plugins/qmldesigner/components/propertyeditor/qmlmodelnodeproxy.h @@ -41,14 +41,14 @@ class QmlModelNodeProxy : public QObject public: explicit QmlModelNodeProxy(QObject *parent = nullptr); - void setup(const QmlItemNode &itemNode); + void setup(const QmlObjectNode &objectNode); static void registerDeclarativeType(); void emitSelectionToBeChanged(); void emitSelectionChanged(); - QmlItemNode qmlItemNode() const; + QmlObjectNode qmlObjectNode() const; ModelNode modelNode() const; @@ -64,7 +64,7 @@ signals: void selectionChanged(); private: - QmlItemNode m_qmlItemNode; + QmlObjectNode m_qmlObjectNode; }; } //QmlDesigner