diff options
Diffstat (limited to 'src/jarabe/desktop/favoritesview.py')
-rw-r--r-- | src/jarabe/desktop/favoritesview.py | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/src/jarabe/desktop/favoritesview.py b/src/jarabe/desktop/favoritesview.py index e9c87ea..d91610b 100644 --- a/src/jarabe/desktop/favoritesview.py +++ b/src/jarabe/desktop/favoritesview.py @@ -142,11 +142,17 @@ class FavoritesView(hippo.Canvas): def _add_activity(self, activity_info): if activity_info.get_bundle_id() == 'org.laptop.JournalActivity': return - icon = ActivityIcon(activity_info) - icon.props.size = style.STANDARD_ICON_SIZE - icon.set_resume_mode(self._resume_mode) - self._box.insert_sorted(icon, 0, self._layout.compare_activities) - self._layout.append(icon) + + # Add icon, if not already present (for the same combination of + # activity-id and activity-version) + icon = self._find_activity_icon(activity_info.get_bundle_id(), + activity_info.get_activity_version()) + if icon is None: + icon = ActivityIcon(activity_info) + icon.props.size = style.STANDARD_ICON_SIZE + icon.set_resume_mode(self._resume_mode) + self._box.insert_sorted(icon, 0, self._layout.compare_activities) + self._layout.append(icon) def __activity_added_cb(self, activity_registry, activity_info): registry = bundleregistry.get_registry() |