diff options
author | Vikas Pachdha <vikas.pachdha@qt.io> | 2021-02-10 16:06:36 +0100 |
---|---|---|
committer | Vikas Pachdha <vikas.pachdha@qt.io> | 2021-02-10 15:09:12 +0000 |
commit | 51a3501e8113a20f333d9b1e767906751fcadc0e (patch) | |
tree | 0718a67bf0467a005add4282fdae060016d7901e | |
parent | 15487863ace50150f04b3a87edd3a319af0de3b5 (diff) |
QmlDesigner: Sync signal handlers when merging ModelNode
Task-number: QDS-3702
Change-Id: Ia4f8484b181150383b711706f5e5adc166012b69
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
-rw-r--r-- | src/plugins/qmldesigner/designercore/model/modelmerger.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/plugins/qmldesigner/designercore/model/modelmerger.cpp b/src/plugins/qmldesigner/designercore/model/modelmerger.cpp index 7d47d47831..4e6072e33c 100644 --- a/src/plugins/qmldesigner/designercore/model/modelmerger.cpp +++ b/src/plugins/qmldesigner/designercore/model/modelmerger.cpp @@ -33,6 +33,7 @@ #include "bindingproperty.h" #include "variantproperty.h" #include "rewritertransaction.h" +#include "signalhandlerproperty.h" #include <rewritingexception.h> #include <QUrl> @@ -78,6 +79,13 @@ static void syncBindingProperties(ModelNode &outputNode, const ModelNode &inputN } } +static void syncSignalHandlerProperties(ModelNode &outputNode, const ModelNode &inputNode, const QHash<QString, QString> &idRenamingHash) +{ + foreach (const SignalHandlerProperty &signalProperty, inputNode.signalProperties()) { + outputNode.signalHandlerProperty(signalProperty.name()).setSource(fixExpression(signalProperty.source(), idRenamingHash)); + } +} + static void syncId(ModelNode &outputNode, const ModelNode &inputNode, const QHash<QString, QString> &idRenamingHash) { if (!inputNode.id().isEmpty()) @@ -151,6 +159,7 @@ static ModelNode createNodeFromNode(const ModelNode &modelNode,const QHash<QStri propertyList, variantPropertyList, modelNode.nodeSource(), modelNode.nodeSourceType())); syncAuxiliaryProperties(newNode, modelNode); syncBindingProperties(newNode, modelNode, idRenamingHash); + syncSignalHandlerProperties(newNode, modelNode, idRenamingHash); syncId(newNode, modelNode, idRenamingHash); syncNodeProperties(newNode, modelNode, idRenamingHash, view); syncNodeListProperties(newNode, modelNode, idRenamingHash, view); |