Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/src/jarabe/desktop
diff options
context:
space:
mode:
Diffstat (limited to 'src/jarabe/desktop')
-rw-r--r--src/jarabe/desktop/activitieslist.py6
-rw-r--r--src/jarabe/desktop/favoritesview.py16
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()