Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/src/jarabe/journal/listmodel.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/jarabe/journal/listmodel.py')
-rw-r--r--src/jarabe/journal/listmodel.py23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/jarabe/journal/listmodel.py b/src/jarabe/journal/listmodel.py
index b98d01c..a5bb7b0 100644
--- a/src/jarabe/journal/listmodel.py
+++ b/src/jarabe/journal/listmodel.py
@@ -54,6 +54,7 @@ class ListModel(GObject.GObject, Gtk.TreeModel, Gtk.TreeDragSource):
COLUMN_BUDDY_1 = 9
COLUMN_BUDDY_2 = 10
COLUMN_BUDDY_3 = 11
+ COLUMN_SELECT = 12
_COLUMN_TYPES = {
COLUMN_UID: str,
@@ -68,6 +69,7 @@ class ListModel(GObject.GObject, Gtk.TreeModel, Gtk.TreeDragSource):
COLUMN_BUDDY_1: object,
COLUMN_BUDDY_3: object,
COLUMN_BUDDY_2: object,
+ COLUMN_SELECT: bool,
}
_PAGE_SIZE = 10
@@ -79,6 +81,8 @@ class ListModel(GObject.GObject, Gtk.TreeModel, Gtk.TreeDragSource):
self._cached_row = None
self._result_set = model.find(query, ListModel._PAGE_SIZE)
self._temp_drag_file_path = None
+ self._selected = {}
+ self._uid_metadata_assoc = {}
# HACK: The view will tell us that it is resizing so the model can
# avoid hitting D-Bus and disk.
@@ -248,3 +252,22 @@ class ListModel(GObject.GObject, Gtk.TreeModel, Gtk.TreeDragSource):
return True
return False
+
+ def update_uid_metadata_assoc(self, uid, metadata):
+ self._uid_metadata_assoc[uid] = metadata
+
+ def set_selected_value(self, uid, value):
+ if value == False:
+ del self._selected[uid]
+ elif value == True:
+ self._selected[uid] = value
+
+ def get_selected_value(self, uid):
+ if self._selected.has_key(uid):
+ return True
+ else:
+ return False
+
+ def get_in_memory_metadata(self, path):
+ uid = self[path][ListModel.COLUMN_UID]
+ return self._uid_metadata_assoc[uid]