aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorThomas Hartmann <thomas.hartmann@qt.io>2018-07-03 09:52:34 +0200
committerThomas Hartmann <thomas.hartmann@qt.io>2018-07-03 09:55:02 +0000
commitaeb192a814ac694e1fde800f5439e9859d4ca51e (patch)
treef2dc1fb2f41689f587aabc9d20c4e557daafcca8 /src
parent417a6db08776ab5f49389e974a777fb78f1de3eb (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.cpp13
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 += ";";
}