diff options
author | Christian Stenger <christian.stenger@qt.io> | 2020-03-25 12:55:21 +0100 |
---|---|---|
committer | Christian Stenger <christian.stenger@qt.io> | 2020-03-25 13:38:55 +0000 |
commit | 0b7c4520cdf7b0cdc2dbff938e18475265224c20 (patch) | |
tree | 4f4c667a63f8ab59732b9ef38e88a1ece7af8ee0 /src/plugins/autotest/projectsettingswidget.cpp | |
parent | 05a0b331464e06e553d996f0761eae285ff09fd5 (diff) |
AutoTest: Fix regression in frameworks order
Latest refactorings resulted in possible different orders
for the tree model as well as for the frameworks inside the
project wide settings.
Fix this by sorting explicitly and iterating over the list.
Change-Id: I9b673770b03732820f0ea4f902f3586abd07d51a
Reviewed-by: hjk <hjk@qt.io>
Diffstat (limited to 'src/plugins/autotest/projectsettingswidget.cpp')
-rw-r--r-- | src/plugins/autotest/projectsettingswidget.cpp | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/src/plugins/autotest/projectsettingswidget.cpp b/src/plugins/autotest/projectsettingswidget.cpp index dd3a80ee89d..f5021e5c3ca 100644 --- a/src/plugins/autotest/projectsettingswidget.cpp +++ b/src/plugins/autotest/projectsettingswidget.cpp @@ -107,12 +107,14 @@ ProjectTestSettingsWidget::ProjectTestSettingsWidget(ProjectExplorer::Project *p void ProjectTestSettingsWidget::populateFrameworks(const QMap<ITestFramework *, bool> &frameworks) { - auto end = frameworks.cend(); - for (auto it = frameworks.cbegin(); it != end; ++it) { - auto item = new QTreeWidgetItem(m_activeFrameworks, QStringList(QLatin1String(it.key()->name()))); + TestFrameworks sortedFrameworks = frameworks.keys(); + Utils::sort(sortedFrameworks, &ITestFramework::priority); + + for (ITestFramework *framework : sortedFrameworks) { + auto item = new QTreeWidgetItem(m_activeFrameworks, QStringList(QLatin1String(framework->name()))); item->setFlags(Qt::ItemIsEnabled | Qt::ItemIsSelectable | Qt::ItemIsUserCheckable); - item->setCheckState(0, it.value() ? Qt::Checked : Qt::Unchecked); - item->setData(0, FrameworkIdRole, it.key()->id().toSetting()); + item->setCheckState(0, frameworks.value(framework) ? Qt::Checked : Qt::Unchecked); + item->setData(0, FrameworkIdRole, framework->id().toSetting()); } } |