diff options
-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); |