From 63ce81db5e3fd9a9b723f2a4b3cd0edf2147c0b6 Mon Sep 17 00:00:00 2001 From: Tobias Hunger Date: Wed, 13 Sep 2017 13:20:25 +0200 Subject: [PATCH] CMake: Sort Project CMake configuration via the Proxy model Makes renaming items feel more natural as they do no longer stick to the top (note that currently you can only rename newly added items!). Change-Id: I89d0dc7cb73e08d8b60900a96ffd2ab1c2b490c2 Reviewed-by: hjk --- src/plugins/cmakeprojectmanager/cmakebuildsettingswidget.cpp | 3 +++ src/plugins/cmakeprojectmanager/configmodel.cpp | 5 ----- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/src/plugins/cmakeprojectmanager/cmakebuildsettingswidget.cpp b/src/plugins/cmakeprojectmanager/cmakebuildsettingswidget.cpp index 68b3173695a..fe4f1be9df7 100644 --- a/src/plugins/cmakeprojectmanager/cmakebuildsettingswidget.cpp +++ b/src/plugins/cmakeprojectmanager/cmakebuildsettingswidget.cpp @@ -146,12 +146,15 @@ CMakeBuildSettingsWidget::CMakeBuildSettingsWidget(CMakeBuildConfiguration *bc) m_configFilterModel->setFilterFixedString("0"); m_configTextFilterModel->setSourceModel(m_configFilterModel); + m_configTextFilterModel->setSortRole(Qt::DisplayRole); m_configTextFilterModel->setFilterKeyColumn(-1); m_configTextFilterModel->setFilterCaseSensitivity(Qt::CaseInsensitive); m_configView->setModel(m_configTextFilterModel); m_configView->setMinimumHeight(300); m_configView->setUniformRowHeights(true); + m_configView->setSortingEnabled(true); + m_configView->sortByColumn(0, Qt::AscendingOrder); auto stretcher = new Utils::HeaderViewStretcher(m_configView->header(), 1); m_configView->setSelectionMode(QAbstractItemView::SingleSelection); m_configView->setSelectionBehavior(QAbstractItemView::SelectItems); diff --git a/src/plugins/cmakeprojectmanager/configmodel.cpp b/src/plugins/cmakeprojectmanager/configmodel.cpp index e828aad16fb..7ffa3849286 100644 --- a/src/plugins/cmakeprojectmanager/configmodel.cpp +++ b/src/plugins/cmakeprojectmanager/configmodel.cpp @@ -151,11 +151,6 @@ QList ConfigModel::configurationChanges() const void ConfigModel::setConfiguration(const QList &config) { QList tmp = config; - Utils::sort(tmp, - [](const ConfigModel::InternalDataItem &i, const ConfigModel::InternalDataItem &j) { - return i.key < j.key; - }); - auto newIt = tmp.constBegin(); auto newEndIt = tmp.constEnd(); auto oldIt = m_configuration.constBegin();