diff options
author | Ajay Garg <ajay@activitycentral.com> | 2012-03-03 04:44:46 (GMT) |
---|---|---|
committer | Anish Mangal <anish@activitycentral.com> | 2012-04-27 10:02:37 (GMT) |
commit | 9585d3ae1627e8cddbe5b95db9a616f9654dd7fa (patch) | |
tree | 10729045aa3f82bf634a3db3b1e8dfe78535f797 | |
parent | 860a0fd8d76f049dd0a13f6ac3dea6b8bb7416a0 (diff) |
Check if a activity is already present in activities-list, before (re-)adding it.
-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 5f79090..c48a5dc 100644 --- a/src/jarabe/desktop/activitieslist.py +++ b/src/jarabe/desktop/activitieslist.py @@ -204,6 +204,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 @@ -212,6 +221,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) |