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>
This commit is contained in:
Tobias Hunger
2017-08-02 17:02:02 +02:00
parent e50f882f0f
commit ea867cd49a
6 changed files with 71 additions and 3 deletions

View File

@@ -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);