diff options
author | Ajay Garg <ajay@activitycentral.com> | 2012-03-03 04:44:46 (GMT) |
---|---|---|
committer | Ajay Garg <ajay@activitycentral.com> | 2012-10-16 18:07:46 (GMT) |
commit | de4295245ff0f2cce92dd2812a7f2247061e04f0 (patch) | |
tree | c5f31f7b2f488e8f3077fbbdf6cdba05aa031a58 | |
parent | ed447a5718e706750ca64d8b84abd2d643efda8d (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.py | 15 |
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) |