aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVikas Pachdha <vikas.pachdha@qt.io>2021-02-10 16:06:36 +0100
committerVikas Pachdha <vikas.pachdha@qt.io>2021-02-10 15:09:12 +0000
commit51a3501e8113a20f333d9b1e767906751fcadc0e (patch)
tree0718a67bf0467a005add4282fdae060016d7901e
parent15487863ace50150f04b3a87edd3a319af0de3b5 (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.cpp9
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);