From 3d0537fa8a49d8850583e37e53dd3171cd733f17 Mon Sep 17 00:00:00 2001 From: hjk <hjk@theqtcompany.com> Date: Fri, 9 Jan 2015 10:50:33 +0100 Subject: [PATCH] TreeModel: Add function to remove all children of an item Just convenience. Change-Id: Ieff2291ca63584cfa113a24cc2930adc3e764d08 Reviewed-by: hjk <hjk@theqtcompany.com> --- src/libs/utils/treemodel.cpp | 11 +++++++++++ src/libs/utils/treemodel.h | 1 + 2 files changed, 12 insertions(+) diff --git a/src/libs/utils/treemodel.cpp b/src/libs/utils/treemodel.cpp index c0521c14990..4a1e897b4cf 100644 --- a/src/libs/utils/treemodel.cpp +++ b/src/libs/utils/treemodel.cpp @@ -326,6 +326,17 @@ void TreeModel::removeItem(TreeItem *item) endRemoveRows(); } +void TreeModel::removeAllSubItems(TreeItem *item) +{ + QTC_ASSERT(item, return); + if (item->rowCount() == 0) + return; + QModelIndex idx = indexFromItem(item); + beginRemoveRows(idx, 0, item->rowCount() - 1); + item->clear(); + endRemoveRows(); +} + QModelIndex TreeModel::indexFromItemHelper(const TreeItem *needle, TreeItem *parentItem, const QModelIndex &parentIndex) const { diff --git a/src/libs/utils/treemodel.h b/src/libs/utils/treemodel.h index 5707dfb3d7a..da5b2d717a5 100644 --- a/src/libs/utils/treemodel.h +++ b/src/libs/utils/treemodel.h @@ -177,6 +177,7 @@ public: void appendItem(TreeItem *parent, TreeItem *item); void removeItem(TreeItem *item); // item is not destroyed. + void removeAllSubItems(TreeItem *item); // item is not destroyed. void updateItem(TreeItem *item); // call to trigger dataChanged UntypedTreeLevelItems untypedLevelItems(int level = 0, TreeItem *start = 0) const; -- GitLab