Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/src/jarabe/journal/listview.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/jarabe/journal/listview.py')
-rw-r--r--src/jarabe/journal/listview.py26
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)