Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/shell/view/BuddyActivityView.py
diff options
context:
space:
mode:
Diffstat (limited to 'shell/view/BuddyActivityView.py')
-rw-r--r--shell/view/BuddyActivityView.py58
1 files changed, 23 insertions, 35 deletions
diff --git a/shell/view/BuddyActivityView.py b/shell/view/BuddyActivityView.py
index 0fc74d4..9306711 100644
--- a/shell/view/BuddyActivityView.py
+++ b/shell/view/BuddyActivityView.py
@@ -1,45 +1,33 @@
-import goocanvas
+import hippo
+import gobject
import BuddyIcon
-from sugar.canvas.IconItem import IconItem
+from sugar.graphics.canvasicon import CanvasIcon
from sugar.presence import PresenceService
import conf
-import gobject
-class BuddyActivityView(goocanvas.Group):
+class BuddyActivityView(hippo.CanvasBox):
def __init__(self, shell, menu_shell, buddy, **kwargs):
- goocanvas.Group.__init__(self, **kwargs)
+ hippo.CanvasBox.__init__(self, **kwargs)
self._pservice = PresenceService.get_instance()
self._activity_registry = conf.get_activity_registry()
self._buddy = buddy
self._buddy_icon = BuddyIcon.BuddyIcon(shell, menu_shell, buddy)
- self.add_child(self._buddy_icon)
+ self.append(self._buddy_icon)
- buddy_size = self._buddy_icon.props.size
- offset_y = buddy_size
- offset_x = (buddy_size - 48) / 2
- self._activity_icon = IconItem(x=offset_x, y=offset_y, size=48)
+ self._activity_icon = CanvasIcon(size=48)
self._activity_icon_visible = False
if self._buddy.is_present():
- self.__buddy_appeared_cb(buddy)
-
- self._buddy.connect('current-activity-changed', self.__buddy_activity_changed_cb)
- self._buddy.connect('appeared', self.__buddy_appeared_cb)
- self._buddy.connect('disappeared', self.__buddy_disappeared_cb)
- self._buddy.connect('color-changed', self.__buddy_color_changed_cb)
-
- def get_size_request(self):
- bi_size = self._buddy_icon.props.size
- acti_size = self._activity_icon.props.size
-
- width = bi_size
- height = bi_size + acti_size
+ self._buddy_appeared_cb(buddy)
- return [width, height]
+ self._buddy.connect('current-activity-changed', self._buddy_activity_changed_cb)
+ self._buddy.connect('appeared', self._buddy_appeared_cb)
+ self._buddy.connect('disappeared', self._buddy_disappeared_cb)
+ self._buddy.connect('color-changed', self._buddy_color_changed_cb)
def _get_new_icon_name(self, activity):
# FIXME: do something better here; we probably need to use "flagship"
@@ -51,14 +39,14 @@ class BuddyActivityView(goocanvas.Group):
return act.get_icon()
return None
- def __remove_activity_icon(self):
+ def _remove_activity_icon(self):
if self._activity_icon_visible:
- self.remove_child(self._activity_icon)
+ self.remove(self._activity_icon)
self._activity_icon_visible = False
- def __buddy_activity_changed_cb(self, buddy, activity=None):
+ def _buddy_activity_changed_cb(self, buddy, activity=None):
if not activity:
- self.__remove_activity_icon()
+ self._remove_activity_icon()
return
# FIXME: use some sort of "unknown activity" icon rather
@@ -68,17 +56,17 @@ class BuddyActivityView(goocanvas.Group):
self._activity_icon.props.icon_name = name
self._activity_icon.props.color = buddy.get_color()
if not self._activity_icon_visible:
- self.add_child(self._activity_icon)
+ self.append(self._activity_icon)
self._activity_icon_visible = True
else:
- self.__remove_activity_icon()
+ self._remove_activity_icon()
- def __buddy_appeared_cb(self, buddy):
+ def _buddy_appeared_cb(self, buddy):
activity = self._buddy.get_current_activity()
- self.__buddy_activity_changed_cb(buddy, activity)
+ self._buddy_activity_changed_cb(buddy, activity)
- def __buddy_disappeared_cb(self, buddy):
- self.__buddy_activity_changed_cb(buddy, None)
+ def _buddy_disappeared_cb(self, buddy):
+ self._buddy_activity_changed_cb(buddy, None)
- def __buddy_color_changed_cb(self, buddy, color):
+ def _buddy_color_changed_cb(self, buddy, color):
self._activity_icon.props.color = buddy.get_color()