aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/qmldesigner/designercore/model/modelmerger.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/qmldesigner/designercore/model/modelmerger.cpp')
-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);