forked from qt-creator/qt-creator
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>
This commit is contained in:
@@ -107,12 +107,14 @@ ProjectTestSettingsWidget::ProjectTestSettingsWidget(ProjectExplorer::Project *p
|
|||||||
|
|
||||||
void ProjectTestSettingsWidget::populateFrameworks(const QMap<ITestFramework *, bool> &frameworks)
|
void ProjectTestSettingsWidget::populateFrameworks(const QMap<ITestFramework *, bool> &frameworks)
|
||||||
{
|
{
|
||||||
auto end = frameworks.cend();
|
TestFrameworks sortedFrameworks = frameworks.keys();
|
||||||
for (auto it = frameworks.cbegin(); it != end; ++it) {
|
Utils::sort(sortedFrameworks, &ITestFramework::priority);
|
||||||
auto item = new QTreeWidgetItem(m_activeFrameworks, QStringList(QLatin1String(it.key()->name())));
|
|
||||||
|
for (ITestFramework *framework : sortedFrameworks) {
|
||||||
|
auto item = new QTreeWidgetItem(m_activeFrameworks, QStringList(QLatin1String(framework->name())));
|
||||||
item->setFlags(Qt::ItemIsEnabled | Qt::ItemIsSelectable | Qt::ItemIsUserCheckable);
|
item->setFlags(Qt::ItemIsEnabled | Qt::ItemIsSelectable | Qt::ItemIsUserCheckable);
|
||||||
item->setCheckState(0, it.value() ? Qt::Checked : Qt::Unchecked);
|
item->setCheckState(0, frameworks.value(framework) ? Qt::Checked : Qt::Unchecked);
|
||||||
item->setData(0, FrameworkIdRole, it.key()->id().toSetting());
|
item->setData(0, FrameworkIdRole, framework->id().toSetting());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -222,6 +222,7 @@ void TestTreeModel::synchronizeTestFrameworks()
|
|||||||
sorted = Utils::filtered(active.keys(), [active](ITestFramework *framework) {
|
sorted = Utils::filtered(active.keys(), [active](ITestFramework *framework) {
|
||||||
return active.value(framework);
|
return active.value(framework);
|
||||||
});
|
});
|
||||||
|
Utils::sort(sorted, &ITestFramework::priority);
|
||||||
}
|
}
|
||||||
|
|
||||||
// pre-check to avoid further processing when frameworks are unchanged
|
// pre-check to avoid further processing when frameworks are unchanged
|
||||||
|
Reference in New Issue
Block a user