diff options
author | Marco Pesenti Gritti <marco@localhost.localdomain> | 2007-11-09 16:38:09 (GMT) |
---|---|---|
committer | Marco Pesenti Gritti <marco@localhost.localdomain> | 2007-11-09 16:38:09 (GMT) |
commit | d577566151c7dd7287d5609730861b006158b1e4 (patch) | |
tree | 99feac57c9b782657c1aef755e58939e26d93895 /shell | |
parent | bdfbe8d6731d2350bbfccbf24f7931ef2ce20660 (diff) | |
parent | 213259233d27d2b83747a42dfc9e2f3bfdbae07c (diff) |
Merge branch 'master' of git+ssh://marco@dev.laptop.org/git/sugar
Conflicts:
NEWS
Diffstat (limited to 'shell')
-rw-r--r-- | shell/view/BuddyMenu.py | 28 |
1 files changed, 21 insertions, 7 deletions
diff --git a/shell/view/BuddyMenu.py b/shell/view/BuddyMenu.py index 227f789..a31f623 100644 --- a/shell/view/BuddyMenu.py +++ b/shell/view/BuddyMenu.py @@ -22,6 +22,7 @@ import hippo from sugar.graphics.palette import Palette from sugar.graphics.menuitem import MenuItem +from sugar.graphics.icon import Icon from sugar.presence import presenceservice class BuddyMenu(Palette): @@ -89,20 +90,33 @@ class BuddyMenu(Palette): self.menu.append(menu_item) menu_item.show() - self._invite_menu = MenuItem(_('Invite')) + self._invite_menu = MenuItem('') 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) + activity = home_model.get_active_activity() + self._update_invite_menu(activity) + + def _update_invite_menu(self, activity): + if activity is None: + self._invite_menu.hide() + else: + title = activity.get_title() + label = self._invite_menu.get_children()[0] + label.set_text(_('Invite to %s') % title) + + icon = Icon(file=activity.get_icon_path()) + icon.props.xo_color = activity.get_icon_color() + self._invite_menu.set_image(icon) + icon.show() - 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 _cur_activity_changed_cb(self, home_model, activity_model): + self._update_invite_menu(activity_model) def _buddy_icon_changed_cb(self, buddy): pass |