Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAjay Garg <ajay@activitycentral.com>2012-03-03 04:44:46 (GMT)
committer Ajay Garg <ajay@activitycentral.com>2012-10-16 18:07:46 (GMT)
commitde4295245ff0f2cce92dd2812a7f2247061e04f0 (patch)
treec5f31f7b2f488e8f3077fbbdf6cdba05aa031a58
parented447a5718e706750ca64d8b84abd2d643efda8d (diff)
Check if a activity is already present in activities-list, before (re-)adding it.
Signed-off-by: Ajay Garg <ajay@activitycentral.com>
-rw-r--r--src/jarabe/desktop/activitieslist.py15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/jarabe/desktop/activitieslist.py b/src/jarabe/desktop/activitieslist.py
index 549959c..4adaf18 100644
--- a/src/jarabe/desktop/activitieslist.py
+++ b/src/jarabe/desktop/activitieslist.py
@@ -215,6 +215,15 @@ class ListModel(Gtk.TreeModelSort):
self._model.remove(row.iter)
return
+ def _is_activity_bundle_in_model_already(self, activity_info):
+ bundle_id = activity_info.get_bundle_id()
+ version = activity_info.get_activity_version()
+ for row in self._model:
+ if row[ListModel.COLUMN_BUNDLE_ID] == bundle_id and \
+ row[ListModel.COLUMN_VERSION] == version:
+ return True
+ return False
+
def _add_activity(self, activity_info):
if activity_info.get_bundle_id() == 'org.laptop.JournalActivity':
return
@@ -223,6 +232,12 @@ class ListModel(Gtk.TreeModelSort):
version = activity_info.get_activity_version()
registry = bundleregistry.get_registry()
+
+ # If the activity bundle is already a part of
+ # activities-list, do not re-add it.
+ if self._is_activity_bundle_in_model_already(activity_info):
+ return
+
favorite = registry.is_bundle_favorite(activity_info.get_bundle_id(),
version)