diff --git a/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp b/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp index 6f74bc9126e..6ff7feed5c2 100644 --- a/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp +++ b/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp @@ -271,6 +271,7 @@ CMakeBuildSettingsWidget::CMakeBuildSettingsWidget(CMakeBuildConfiguration *bc) m_configView->setFrameShape(QFrame::NoFrame); m_configView->setItemDelegate(new ConfigModelItemDelegate(m_buildConfiguration->project()->projectDirectory(), m_configView)); + m_configView->setRootIsDecorated(false); QFrame *findWrapper = Core::ItemViewFind::createSearchableWrapper(m_configView, Core::ItemViewFind::LightColored); findWrapper->setFrameStyle(QFrame::StyledPanel); diff --git a/src/plugins/cmakeprojectmanager/configmodel.cpp b/src/plugins/cmakeprojectmanager/configmodel.cpp index e8be27793d2..737f78e689d 100644 --- a/src/plugins/cmakeprojectmanager/configmodel.cpp +++ b/src/plugins/cmakeprojectmanager/configmodel.cpp @@ -278,50 +278,11 @@ void ConfigModel::setConfiguration(const QList &c generateTree(); } -static QString prefix(const QString &key) -{ - int pos = key.indexOf('_'); - if (pos > 0) - return key.left(pos); - return key; -} - void ConfigModel::generateTree() { - QList prefixList; - - // Generate nodes for *all* prefixes - QHash> prefixes; - for (const InternalDataItem &di : qAsConst(m_configuration)) { - const QString p = prefix(di.key); - if (!prefixes.contains(p)) { - prefixes.insert(p, {}); - prefixList.append(p); - } - } - - // Fill prefix nodes: - for (InternalDataItem &di : m_configuration) - prefixes[prefix(di.key)].append(new Internal::ConfigModelTreeItem(&di)); - auto root = new Utils::TreeItem; - - for (const QString &p : qAsConst(prefixList)) { - const QList &prefixItemList = prefixes.value(p); - QTC_ASSERT(!prefixItemList.isEmpty(), continue); - - if (prefixItemList.count() == 1) { - root->appendChild(prefixItemList.at(0)); - } else { - Utils::TreeItem *sti = new Utils::StaticTreeItem(p); - for (Utils::TreeItem *const ti : prefixItemList) - sti->appendChild(ti); - root->appendChild(sti); - } - prefixes.remove(p); - } - QTC_CHECK(prefixes.isEmpty()); - + for (InternalDataItem &di : m_configuration) + root->appendChild(new Internal::ConfigModelTreeItem(&di)); setRootItem(root); }