diff --git a/share/qtcreator/qml/qmlpuppet/instances/objectnodeinstance.cpp b/share/qtcreator/qml/qmlpuppet/instances/objectnodeinstance.cpp index cbb58d1e4e58cefb01f842cb26de84757e0544d6..a0ffd18e9ee23eaebfbd316e93c8d92fea688f81 100644 --- a/share/qtcreator/qml/qmlpuppet/instances/objectnodeinstance.cpp +++ b/share/qtcreator/qml/qmlpuppet/instances/objectnodeinstance.cpp @@ -374,6 +374,18 @@ void ObjectNodeInstance::reparent(const ObjectNodeInstance::Pointer &oldParentIn addToNewProperty(object(), newParentInstance->object(), newParentProperty); } } +QVariant ObjectNodeInstance::convertSpecialCharacter(const QVariant& value) const +{ + QVariant specialCharacterConvertedValue = value; + if (value.type() == QVariant::String) { + QString string = value.toString(); + string.replace(QLatin1String("\\n"), QLatin1String("\n")); + string.replace(QLatin1String("\\t"), QLatin1String("\t")); + specialCharacterConvertedValue = string; + } + + return specialCharacterConvertedValue; +} void ObjectNodeInstance::setPropertyVariant(const QString &name, const QVariant &value) { @@ -394,7 +406,7 @@ void ObjectNodeInstance::setPropertyVariant(const QString &name, const QVariant QDeclarativePropertyPrivate::setBinding(property, 0, QDeclarativePropertyPrivate::BypassInterceptor | QDeclarativePropertyPrivate::DontRemoveBinding); } - bool isWritten = property.write(value); + bool isWritten = property.write(convertSpecialCharacter(value)); if (!isWritten) qDebug() << "ObjectNodeInstance.setPropertyVariant: Cannot be written: " << object() << name << value; diff --git a/share/qtcreator/qml/qmlpuppet/instances/objectnodeinstance.h b/share/qtcreator/qml/qmlpuppet/instances/objectnodeinstance.h index 68198df19081391c08ce428946fd7e5af7d02ad1..b0f19edc7bc15d2e6ef1e105ef36ecc3c5ccc2e6 100644 --- a/share/qtcreator/qml/qmlpuppet/instances/objectnodeinstance.h +++ b/share/qtcreator/qml/qmlpuppet/instances/objectnodeinstance.h @@ -191,6 +191,7 @@ protected: void removeFromOldProperty(QObject *object, QObject *oldParent, const QString &oldParentProperty); void addToNewProperty(QObject *object, QObject *newParent, const QString &newParentProperty); void deleteObjectsInList(const QDeclarativeProperty &metaProperty); + QVariant convertSpecialCharacter(const QVariant& value) const; private: QHash<QString, QVariant> m_resetValueHash;