From: Marcus Eggenberger Date: Wed, 25 Jul 2007 17:55:00 +0000 (+0000) Subject: treemodels can now be cleared X-Git-Tag: 0.1.0~182 X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=commitdiff_plain;h=e104b220388a276a4483a45567243a8473ca5fa6;ds=sidebyside treemodels can now be cleared --- 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; };