From e104b220388a276a4483a45567243a8473ca5fa6 Mon Sep 17 00:00:00 2001 From: Marcus Eggenberger Date: Wed, 25 Jul 2007 17:55:00 +0000 Subject: [PATCH] treemodels can now be cleared --- src/client/treemodel.cpp | 13 +++++++++++++ src/client/treemodel.h | 2 ++ 2 files changed, 15 insertions(+) diff --git a/src/client/treemodel.cpp b/src/client/treemodel.cpp index 3f264498..1505a25e 100644 --- a/src/client/treemodel.cpp +++ b/src/client/treemodel.cpp @@ -169,3 +169,16 @@ bool TreeModel::removeRow(int row, const QModelIndex &parent) { return true; } +bool TreeModel::removeRows(int row, int count, const QModelIndex &parent) { + beginRemoveRows(parent, row, row + count - 1); + TreeItem *item = static_cast(parent.internalPointer()); + for(int i = row; i < row + count; i++) { + item->removeChild(i); + } + endRemoveRows(); + return true; +} + +void TreeModel::clear() { + removeRows(0, rowCount(), QModelIndex()); +} diff --git a/src/client/treemodel.h b/src/client/treemodel.h index 1941602f..f979d113 100644 --- a/src/client/treemodel.h +++ b/src/client/treemodel.h @@ -73,6 +73,8 @@ public: protected: bool removeRow(int row, const QModelIndex &parent = QModelIndex()); + bool removeRows(int row, int count, const QModelIndex &parent = QModelIndex()); + void clear(); TreeItem *rootItem; }; -- 2.20.1