diff options
author | Tobias Hunger <tobias.hunger@qt.io> | 2017-08-02 17:02:02 +0200 |
---|---|---|
committer | Tobias Hunger <tobias.hunger@qt.io> | 2017-08-04 13:34:13 +0000 |
commit | ea867cd49a113aa802ad007db784c50b16475377 (patch) | |
tree | c4102ca02795d201e65bf02267c4bd9375d5f062 /src/libs/utils/treemodel.cpp | |
parent | e50f882f0f960bb3cff99a74a3b04dc11f02354e (diff) |
ProjectExplorer: Add option to hide empty directories from project tree
Together with the earlier fix for hiding generated files, this change makes
for a very clean CMake server-mode project tree:-)
Change-Id: Ib70fd66699eddf5d6e602f3f8848b31fd6d85b57
Reviewed-by: André Hartmann <aha_1980@gmx.de>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Diffstat (limited to 'src/libs/utils/treemodel.cpp')
-rw-r--r-- | src/libs/utils/treemodel.cpp | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/src/libs/utils/treemodel.cpp b/src/libs/utils/treemodel.cpp index 19f3fc72c48..b4684eedfe1 100644 --- a/src/libs/utils/treemodel.cpp +++ b/src/libs/utils/treemodel.cpp @@ -689,6 +689,20 @@ void TreeItem::insertChild(int pos, TreeItem *item) } } +void TreeItem::removeChildAt(int pos) +{ + QTC_ASSERT(0 <= pos && pos < m_children.count(), return); + + if (m_model) { + QModelIndex idx = index(); + m_model->beginRemoveRows(idx, pos, pos); + removeItemAt(pos); + m_model->endRemoveRows(); + } else { + removeItemAt(pos); + } +} + void TreeItem::removeChildren() { if (childCount() == 0) @@ -863,6 +877,15 @@ void TreeItem::clear() } } +void TreeItem::removeItemAt(int pos) +{ + TreeItem *item = m_children.at(pos); + item->m_model = nullptr; + item->m_parent = nullptr; + delete item; + m_children.removeAt(pos); +} + void TreeItem::expand() { QTC_ASSERT(m_model, return); |