diff options
author | Thomas Hartmann <thomas.hartmann@qt.io> | 2018-07-03 09:52:34 +0200 |
---|---|---|
committer | Thomas Hartmann <thomas.hartmann@qt.io> | 2018-07-03 09:55:02 +0000 |
commit | aeb192a814ac694e1fde800f5439e9859d4ca51e (patch) | |
tree | f2dc1fb2f41689f587aabc9d20c4e557daafcca8 /src | |
parent | 417a6db08776ab5f49389e974a777fb78f1de3eb (diff) |
QmlDesigner: Stabilize property order of meta data
This reduces noise in the source control system.
Task-number: QTCREATORBUG-20686
Change-Id: Icf7d0d5b1af288f3518594233086917f039a47a0
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Diffstat (limited to 'src')
-rw-r--r-- | src/plugins/qmldesigner/designercore/model/rewriterview.cpp | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/src/plugins/qmldesigner/designercore/model/rewriterview.cpp b/src/plugins/qmldesigner/designercore/model/rewriterview.cpp index c6cde7a320..ab4dba68df 100644 --- a/src/plugins/qmldesigner/designercore/model/rewriterview.cpp +++ b/src/plugins/qmldesigner/designercore/model/rewriterview.cpp @@ -49,6 +49,7 @@ #include <qmljs/qmljsmodelmanagerinterface.h> #include <qmljs/qmljssimplereader.h> +#include <utils/algorithm.h> #include <utils/changeset.h> #include <utils/qtcassert.h> @@ -483,14 +484,20 @@ QString RewriterView::auxiliaryDataAsQML() const str += QString::number(node.internalId()); str += ";"; - for (auto i = data.begin(); i != data.end(); ++i) { - const QVariant value = i.value(); + QStringList keys = Utils::transform(data.keys(), [](const PropertyName &name) { + return QString::fromUtf8(name); + }); + + keys.sort(); + + for (const QString &key : keys) { + const QVariant value = data.value(key.toUtf8()); QString strValue = value.toString(); if (static_cast<QMetaType::Type>(value.type()) == QMetaType::QString) strValue = "\"" + strValue + "\""; if (!strValue.isEmpty()) { - str += replaceIllegalPropertyNameChars(QString::fromUtf8(i.key())) + ":"; + str += replaceIllegalPropertyNameChars(key) + ":"; str += strValue; str += ";"; } |