diff options
author | Marco Pesenti Gritti <mpg@redhat.com> | 2007-08-31 11:56:58 (GMT) |
---|---|---|
committer | Marco Pesenti Gritti <mpg@redhat.com> | 2007-08-31 11:56:58 (GMT) |
commit | bd9bd2d020e13579d24e816b73f053da78e23739 (patch) | |
tree | 5410bdd4ac427c358edda60c780b46515810048e /shell | |
parent | 457a1eaf3b8e517b59be93aed9af1da6f46f6a65 (diff) |
Keep the invite menu item synced with current activity.
Diffstat (limited to 'shell')
-rw-r--r-- | shell/view/BuddyMenu.py | 24 |
1 files changed, 14 insertions, 10 deletions
diff --git a/shell/view/BuddyMenu.py b/shell/view/BuddyMenu.py index e3d1a20..a4d921e 100644 --- a/shell/view/BuddyMenu.py +++ b/shell/view/BuddyMenu.py @@ -89,16 +89,20 @@ class BuddyMenu(Palette): self.menu.append(menu_item) menu_item.show() - activity = self._shell.get_current_activity() - if activity != None: - activity_ps = pservice.get_activity(activity.get_id()) - - # FIXME check that the buddy is not in the activity already - - menu_item = MenuItem(_('Invite'), 'stock-invite') - menu_item.connect('activate', self._invite_friend_cb) - self.menu.append(menu_item) - menu_item.show() + self._invite_menu = MenuItem(_('Invite'), 'stock-invite') + self._invite_menu.connect('activate', self._invite_friend_cb) + self.menu.append(self._invite_menu) + self._invite_menu.show() + + home_model = shell_model.get_home() + home_model.connect('active-activity-changed', + self._cur_activity_changed_cb) + + def _cur_activity_changed_cb(self, home_model, activity_model): + if activity_model is not None: + self._invite_menu.show() + else: + self._invite_menu.hide() def _buddy_icon_changed_cb(self, buddy): pass |