From 0c0e7f1fe14cda1cea77014bd42632efcecdc982 Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Fri, 3 Feb 2023 13:29:26 +0200 Subject: [PATCH] QmlDesigner: Insert added dynamic properties to correct position Dynamic properties were sorted on initial open, but newly added properties were just appended. Fixes: QDS-9019 Change-Id: I20a47e3f3554274c794ee2cdea8b8c925c1c57fd Reviewed-by: Reviewed-by: Thomas Hartmann --- .../connectioneditor/dynamicpropertiesmodel.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/plugins/qmldesigner/components/connectioneditor/dynamicpropertiesmodel.cpp b/src/plugins/qmldesigner/components/connectioneditor/dynamicpropertiesmodel.cpp index bc134ca9e29..40a130e846e 100644 --- a/src/plugins/qmldesigner/components/connectioneditor/dynamicpropertiesmodel.cpp +++ b/src/plugins/qmldesigner/components/connectioneditor/dynamicpropertiesmodel.cpp @@ -557,7 +557,8 @@ void DynamicPropertiesModel::addProperty(const QVariant &propertyValue, idItem = new QStandardItem(idOrTypeNameForNode(abstractProperty.parentModelNode())); updateCustomData(idItem, abstractProperty); - propertyNameItem = new QStandardItem(QString::fromUtf8(abstractProperty.name())); + const QString propName = QString::fromUtf8(abstractProperty.name()); + propertyNameItem = new QStandardItem(propName); items.append(idItem); items.append(propertyNameItem); @@ -569,6 +570,13 @@ void DynamicPropertiesModel::addProperty(const QVariant &propertyValue, propertyValueItem->setData(propertyValue, Qt::DisplayRole); items.append(propertyValueItem); + for (int i =0; i < rowCount(); i++) { + if (data(index(i, PropertyNameRow)).toString() > propName) { + insertRow(i, items); + return; + } + } + appendRow(items); }