From 82c333488067c4aa77dee07f27818c47ecaf10fe Mon Sep 17 00:00:00 2001 From: Marcus Eggenberger Date: Fri, 27 Jul 2007 18:24:48 +0000 Subject: [PATCH 1/1] Aller guten Dinge sind drei! (please don't ask any questions...) --- src/client/treemodel.cpp | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/src/client/treemodel.cpp b/src/client/treemodel.cpp index d84f0e01..fef6a216 100644 --- a/src/client/treemodel.cpp +++ b/src/client/treemodel.cpp @@ -165,8 +165,13 @@ bool TreeModel::removeRow(int row, const QModelIndex &parent) { if(row > rowCount(parent)) return false; + TreeItem *item; + if(!parent.isValid()) + item = rootItem; + else + item = static_cast(parent.internalPointer()); + beginRemoveRows(parent, row, row); - TreeItem *item = static_cast(parent.internalPointer()); item->removeChild(row); endRemoveRows(); return true; @@ -181,8 +186,14 @@ bool TreeModel::removeRows(int row, int count, const QModelIndex &parent) { if(row + count - 1 > rowCount(parent) || row < 0 || count < 0) return false; + TreeItem *item; + if(!parent.isValid()) + item = rootItem; + else + item = static_cast(parent.internalPointer()); + + beginRemoveRows(parent, row, row + count - 1); - TreeItem *item = static_cast(parent.internalPointer()); for(int i = row + count - 1; i >= 0; i--) { item->removeChild(i); } @@ -191,5 +202,5 @@ bool TreeModel::removeRows(int row, int count, const QModelIndex &parent) { } void TreeModel::clear() { - removeRows(0, rowCount(), QModelIndex()); + removeRows(0, rowCount()); } -- 2.20.1