diff options
author | Gonzalo Odiard <godiard@gmail.com> | 2011-06-21 11:40:25 (GMT) |
---|---|---|
committer | Gonzalo Odiard <godiard@gmail.com> | 2011-06-24 11:46:26 (GMT) |
commit | 782f013040527abea5a641254003ec0c70b42216 (patch) | |
tree | 9ad441a09d07d14a73f05fd55aab6490eba9275e | |
parent | c411921ce11a3a3b3dd8eb1a67458340af4e502f (diff) |
Journal: Do not rescan external device if is not needed - OLPC #10841
Do not rescan if the created item is not part of the currently selected view
Signed-off-by: Gonzalo Odiard <gonzalo@laptop.org>
Acked-By: Simon Schampijer <simon@laptop.org>
Reviewed-by: Martin Abente <martin.abente.lahaye@gmail.com>
Reviewed-by: Sascha Silbe <silbe@activitycentral.com>
-rw-r--r-- | src/jarabe/journal/listview.py | 26 |
1 files changed, 18 insertions, 8 deletions
diff --git a/src/jarabe/journal/listview.py b/src/jarabe/journal/listview.py index 0aee1b7..0554008 100644 --- a/src/jarabe/journal/listview.py +++ b/src/jarabe/journal/listview.py @@ -117,14 +117,24 @@ class BaseListView(gtk.Bin): model.updated.connect(self.__model_updated_cb) model.deleted.connect(self.__model_deleted_cb) - def __model_created_cb(self, sender, **kwargs): - self._set_dirty() - - def __model_updated_cb(self, sender, **kwargs): - self._set_dirty() - - def __model_deleted_cb(self, sender, **kwargs): - self._set_dirty() + def __model_created_cb(self, sender, signal, object_id): + if self._is_new_item_visible(object_id): + self._set_dirty() + + def __model_updated_cb(self, sender, signal, object_id): + if self._is_new_item_visible(object_id): + self._set_dirty() + + def __model_deleted_cb(self, sender, signal, object_id): + if self._is_new_item_visible(object_id): + self._set_dirty() + + def _is_new_item_visible(self, object_id): + """Check if the created item is part of the currently selected view""" + if self._query['mountpoints'] == ['/']: + return not object_id.startswith('/') + else: + return object_id.startswith(self._query['mountpoints'][0]) def _add_columns(self): cell_favorite = CellRendererFavorite(self.tree_view) |