From a0bfbd00b40760de4f31dace3f32c349f8713d84 Mon Sep 17 00:00:00 2001 From: Mika Fischer Date: Fri, 17 Jun 2011 10:56:20 +0200 Subject: [PATCH] Revert "Only call beginRemoveRows etc. for parent not for all children" This reverts commit a64521f10e5a28bbf772527cca74d0e1e651c553. --- sloth/annotations/model.py | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/sloth/annotations/model.py b/sloth/annotations/model.py index 62f7cba..f2c59b8 100644 --- a/sloth/annotations/model.py +++ b/sloth/annotations/model.py @@ -171,14 +171,13 @@ class ModelItem(MutableMapping): self.model().endInsertRows() - def deleteAllChildren(self, notifyModel=True): - if notifyModel and self._model is not None: - self._model.beginRemoveRows(self.index(), 0, len(self._children) - 1) + def deleteAllChildren(self): for child in self._children: - child.deleteAllChildren(notifyModel=False) + child.deleteAllChildren() + + self._model.beginRemoveRows(self.index(), 0, len(self._children) - 1) self._children = [] - if notifyModel and self._model is not None: - self._model.endRemoveRows() + self._model.endRemoveRows() def delete(self): if self.parent() is None: @@ -186,18 +185,16 @@ class ModelItem(MutableMapping): else: self.parent().deleteChild(self) - def deleteChild(self, arg, notifyModel=True): + def deleteChild(self, arg): if isinstance(arg, ModelItem): self.deleteChild(self._children.index(arg)) else: if arg < 0 or arg >= len(self._children): raise IndexError("child index out of range") - if notifyModel and self._model is not None: - self._model.beginRemoveRows(self.index(), arg, arg) - self._children[arg].deleteAllChildren(notifyModel=False) + self._children[arg].deleteAllChildren() + self._model.beginRemoveRows(self.index(), arg, arg) del self._children[arg] - if notifyModel and self._model is not None: - self._model.endRemoveRows() + self._model.endRemoveRows() class RootModelItem(ModelItem): def __init__(self, model):