From 84c94ecabeb21541d7ef888e1b480c3b6fa72130 Mon Sep 17 00:00:00 2001 From: Tomeu Vizoso Date: Sun, 01 Jul 2007 09:25:35 +0000 Subject: Restrict palette positioning to screen height/width - 1 grid cell. --- (limited to 'shell/view/BuddyIcon.py') diff --git a/shell/view/BuddyIcon.py b/shell/view/BuddyIcon.py index 8b4e414..ebd12f0 100644 --- a/shell/view/BuddyIcon.py +++ b/shell/view/BuddyIcon.py @@ -15,10 +15,11 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA from sugar.graphics.canvasicon import CanvasIcon +from sugar.graphics.palette import Palette from view.BuddyMenu import BuddyMenu class BuddyIcon(CanvasIcon): - def __init__(self, shell, menu_shell, buddy): + def __init__(self, shell, buddy): CanvasIcon.__init__(self, icon_name='theme:stock-buddy', xo_color=buddy.get_color()) @@ -28,30 +29,10 @@ class BuddyIcon(CanvasIcon): self._buddy.connect('disappeared', self._buddy_presence_change_cb) self._buddy.connect('color-changed', self._buddy_presence_change_cb) + palette = BuddyMenu(shell, buddy) + self.set_palette(palette) + def _buddy_presence_change_cb(self, buddy, color=None): # Update the icon's color when the buddy comes and goes self.props.xo_color = buddy.get_color() - def set_popup_distance(self, distance): - self._popup_distance = distance - - def get_popup(self): - menu = BuddyMenu(self._shell, self._buddy) - menu.connect('action', self._popup_action_cb) - return menu - - def get_popup_context(self): - return self._shell.get_popup_context() - - def _popup_action_cb(self, popup, menu_item): - action = menu_item.props.action_id - - friends = self._shell.get_model().get_friends() - if action == BuddyMenu.ACTION_REMOVE_FRIEND: - friends.remove(self._buddy) - - if action == BuddyMenu.ACTION_INVITE: - activity = self._shell.get_current_activity() - activity.invite(self._buddy) - elif action == BuddyMenu.ACTION_MAKE_FRIEND: - friends.make_friend(self._buddy) -- cgit v0.9.1