QmlDesigner: Sync signal handlers when merging ModelNode

Task-number: QDS-3702
Change-Id: Ia4f8484b181150383b711706f5e5adc166012b69
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
This commit is contained in:
Vikas Pachdha
2021-02-10 16:06:36 +01:00
parent 15487863ac
commit 51a3501e81

View File

@@ -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);