diff options
author | Simon Schampijer <simon@schampijer.de> | 2007-10-04 20:46:32 (GMT) |
---|---|---|
committer | Simon Schampijer <simon@schampijer.de> | 2007-10-04 20:46:32 (GMT) |
commit | 32ecdd8ad628edd6affa6a0d4496a121b5a67a53 (patch) | |
tree | cfd8621c09d5e4db6f6d29a70028c921ae13ac4c /shell/view/frame/activitiestray.py | |
parent | 5ca3b9081a32cc9e947700107ee26ccce06ede88 (diff) | |
parent | 2bcbde6e441ee5ab5743f6b45b5f85e85bbb644f (diff) |
Merge branch 'master' of git+ssh://dev.laptop.org/git/sugar
Diffstat (limited to 'shell/view/frame/activitiestray.py')
-rw-r--r-- | shell/view/frame/activitiestray.py | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/shell/view/frame/activitiestray.py b/shell/view/frame/activitiestray.py index e4bbffc..e2a89dd 100644 --- a/shell/view/frame/activitiestray.py +++ b/shell/view/frame/activitiestray.py @@ -65,6 +65,7 @@ class ActivitiesTray(hippo.CanvasBox): registry.get_activities_async(reply_handler=self._get_activities_cb) registry.connect('activity-added', self._activity_added_cb) + registry.connect('activity-removed', self._activity_removed_cb) for invite in self._invites: self.add_invite(invite) @@ -120,16 +121,22 @@ class ActivitiesTray(hippo.CanvasBox): def _invite_removed_cb(self, invites, invite): self.remove_invite(invite) - def _activity_removed_cb(self, item): + def _remove_activity_cb(self, item): self._tray.remove_item(item) def _activity_added_cb(self, activity_registry, activity_info): self.add_activity(activity_info) + def _activity_removed_cb(self, activity_registry, activity_info): + for item in self._tray.get_children(): + if item.get_bundle_id() == activity_info.service_name: + self._tray.remove_item(item) + return + def add_activity(self, activity_info): item = ActivityButton(activity_info) item.connect('clicked', self._activity_clicked_cb) - item.connect('remove_activity', self._activity_removed_cb) + item.connect('remove_activity', self._remove_activity_cb) self._tray.add_item(item, -1) item.show() |