Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/shell/view/BuddyIcon.py
diff options
context:
space:
mode:
authorTomeu Vizoso <tomeu@tomeuvizoso.net>2007-07-01 09:25:35 (GMT)
committer Tomeu Vizoso <tomeu@tomeuvizoso.net>2007-07-01 09:25:35 (GMT)
commit84c94ecabeb21541d7ef888e1b480c3b6fa72130 (patch)
tree88d200d3676352481b8a84d154ed0afac1e4e7ec /shell/view/BuddyIcon.py
parent3ca87cd46deeb901dec638954392d441c0c99415 (diff)
Restrict palette positioning to screen height/width - 1 grid cell.
Diffstat (limited to 'shell/view/BuddyIcon.py')
-rw-r--r--shell/view/BuddyIcon.py29
1 files changed, 5 insertions, 24 deletions
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)