diff options
Diffstat (limited to 'src/jarabe/desktop')
-rw-r--r-- | src/jarabe/desktop/activitieslist.py | 6 | ||||
-rw-r--r-- | src/jarabe/desktop/favoritesview.py | 16 |
2 files changed, 15 insertions, 7 deletions
diff --git a/src/jarabe/desktop/activitieslist.py b/src/jarabe/desktop/activitieslist.py index e34abd6..5f79090 100644 --- a/src/jarabe/desktop/activitieslist.py +++ b/src/jarabe/desktop/activitieslist.py @@ -135,7 +135,8 @@ class ActivitiesTreeView(gtk.TreeView): registry = bundleregistry.get_registry() registry.set_bundle_favorite(row[ListModel.COLUMN_BUNDLE_ID], row[ListModel.COLUMN_VERSION], - not row[ListModel.COLUMN_FAVORITE]) + not row[ListModel.COLUMN_FAVORITE], + True) def __icon_clicked_cb(self, cell, path): row = self.get_model()[path] @@ -447,7 +448,8 @@ class ActivityListPalette(ActivityPalette): registry = bundleregistry.get_registry() registry.set_bundle_favorite(self._bundle_id, self._version, - not self._favorite) + not self._favorite, + True) def __activity_changed_cb(self, activity_registry, activity_info): if activity_info.get_bundle_id() == self._bundle_id and \ 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() |