Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/shell/view/BuddyMenu.py
diff options
context:
space:
mode:
Diffstat (limited to 'shell/view/BuddyMenu.py')
-rw-r--r--shell/view/BuddyMenu.py138
1 files changed, 69 insertions, 69 deletions
diff --git a/shell/view/BuddyMenu.py b/shell/view/BuddyMenu.py
index f330234..069aa6a 100644
--- a/shell/view/BuddyMenu.py
+++ b/shell/view/BuddyMenu.py
@@ -25,73 +25,73 @@ from sugar.presence import PresenceService
_ICON_SIZE = 75
class BuddyMenu(Menu):
- ACTION_MAKE_FRIEND = 0
- ACTION_INVITE = 1
- ACTION_REMOVE_FRIEND = 2
-
- def __init__(self, shell, buddy):
- self._buddy = buddy
- self._shell = shell
-
- icon_item = None
- pixbuf = self._get_buddy_icon_pixbuf()
- if pixbuf:
- scaled_pixbuf = pixbuf.scale_simple(_ICON_SIZE, _ICON_SIZE,
- gtk.gdk.INTERP_BILINEAR)
- del pixbuf
- icon_item = hippo.CanvasImage(pixbuf=scaled_pixbuf)
-
- Menu.__init__(self, buddy.get_name(), icon_item)
-
- self._buddy.connect('icon-changed', self.__buddy_icon_changed_cb)
-
- owner = shell.get_model().get_owner()
- if buddy.get_name() != owner.get_name():
- self._add_actions()
-
- def _get_buddy_icon_pixbuf(self):
- buddy_object = self._buddy.get_buddy()
- if not buddy_object:
- return None
-
- pixbuf = None
- icon_data = buddy_object.get_icon()
- icon_data_string = ""
- for item in icon_data:
- if item < 0:
- item = item + 128
- icon_data_string += chr(item)
- pbl = gtk.gdk.PixbufLoader()
- pbl.write(icon_data_string)
- try:
- pbl.close()
- pixbuf = pbl.get_pixbuf()
- except gobject.GError:
- pass
- del pbl
- return pixbuf
-
- def _add_actions(self):
- shell_model = self._shell.get_model()
- pservice = PresenceService.get_instance()
-
- friends = shell_model.get_friends()
- if friends.has_buddy(self._buddy):
- icon = CanvasIcon(icon_name='stock-remove')
- self.add_action(icon, BuddyMenu.ACTION_REMOVE_FRIEND)
- else:
- icon = CanvasIcon(icon_name='stock-add')
- self.add_action(icon, BuddyMenu.ACTION_MAKE_FRIEND)
-
- activity_id = shell_model.get_current_activity()
- if activity_id != None:
- activity_ps = pservice.get_activity(activity_id)
-
- # FIXME check that the buddy is not in the activity already
-
- icon = CanvasIcon(icon_name='stock-invite')
- self.add_action(icon, BuddyMenu.ACTION_INVITE)
-
- def __buddy_icon_changed_cb(self, buddy):
- pass
+ ACTION_MAKE_FRIEND = 0
+ ACTION_INVITE = 1
+ ACTION_REMOVE_FRIEND = 2
+
+ def __init__(self, shell, buddy):
+ self._buddy = buddy
+ self._shell = shell
+
+ icon_item = None
+ pixbuf = self._get_buddy_icon_pixbuf()
+ if pixbuf:
+ scaled_pixbuf = pixbuf.scale_simple(_ICON_SIZE, _ICON_SIZE,
+ gtk.gdk.INTERP_BILINEAR)
+ del pixbuf
+ icon_item = hippo.CanvasImage(pixbuf=scaled_pixbuf)
+
+ Menu.__init__(self, buddy.get_name(), icon_item)
+
+ self._buddy.connect('icon-changed', self.__buddy_icon_changed_cb)
+
+ owner = shell.get_model().get_owner()
+ if buddy.get_name() != owner.get_name():
+ self._add_actions()
+
+ def _get_buddy_icon_pixbuf(self):
+ buddy_object = self._buddy.get_buddy()
+ if not buddy_object:
+ return None
+
+ pixbuf = None
+ icon_data = buddy_object.get_icon()
+ icon_data_string = ""
+ for item in icon_data:
+ if item < 0:
+ item = item + 128
+ icon_data_string += chr(item)
+ pbl = gtk.gdk.PixbufLoader()
+ pbl.write(icon_data_string)
+ try:
+ pbl.close()
+ pixbuf = pbl.get_pixbuf()
+ except gobject.GError:
+ pass
+ del pbl
+ return pixbuf
+
+ def _add_actions(self):
+ shell_model = self._shell.get_model()
+ pservice = PresenceService.get_instance()
+
+ friends = shell_model.get_friends()
+ if friends.has_buddy(self._buddy):
+ icon = CanvasIcon(icon_name='stock-remove')
+ self.add_action(icon, BuddyMenu.ACTION_REMOVE_FRIEND)
+ else:
+ icon = CanvasIcon(icon_name='stock-add')
+ self.add_action(icon, BuddyMenu.ACTION_MAKE_FRIEND)
+
+ activity_id = shell_model.get_current_activity()
+ if activity_id != None:
+ activity_ps = pservice.get_activity(activity_id)
+
+ # FIXME check that the buddy is not in the activity already
+
+ icon = CanvasIcon(icon_name='stock-invite')
+ self.add_action(icon, BuddyMenu.ACTION_INVITE)
+
+ def __buddy_icon_changed_cb(self, buddy):
+ pass