From 457a1eaf3b8e517b59be93aed9af1da6f46f6a65 Mon Sep 17 00:00:00 2001 From: Marco Pesenti Gritti Date: Fri, 31 Aug 2007 13:43:31 +0200 Subject: [PATCH] Get invites back to work in the UI. --- NEWS | 1 + shell/view/frame/ActivitiesBox.py | 32 +++++++++++++++++------------- shell/view/frame/activitybutton.py | 1 + 3 files changed, 20 insertions(+), 14 deletions(-) diff --git a/NEWS b/NEWS index f42e5929..b26e699d 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,4 @@ +* Get invites back to work in the UI. (marco) * Get the title on activity palette in the mesh to work. (marco) Snapshot e65fef5c79 diff --git a/shell/view/frame/ActivitiesBox.py b/shell/view/frame/ActivitiesBox.py index 9911aff2..28f3da8c 100644 --- a/shell/view/frame/ActivitiesBox.py +++ b/shell/view/frame/ActivitiesBox.py @@ -17,10 +17,9 @@ import hippo import logging -from sugar.graphics.palette import Palette -from sugar.graphics.xocolor import XoColor -from sugar.graphics.iconbutton import IconButton +from sugar.graphics.tray import TrayButton from sugar.graphics.tray import HTray +from sugar.graphics.icon import Icon from sugar.graphics import style from sugar import profile from sugar import activity @@ -28,11 +27,15 @@ from sugar import activity from frameinvoker import FrameCanvasInvoker from activitybutton import ActivityButton -class InviteButton(IconButton): +class InviteButton(TrayButton): def __init__(self, activity_model, invite): - IconButton.__init__(self, file_name=activity_model.get_icon()) + TrayButton.__init__(self) + + icon = Icon(file=activity_model.get_icon_name(), + xo_color=activity_model.get_color()) + self.set_icon_widget(icon) + icon.show() - self.props.xo_color = activity_model.get_color() self._invite = invite def get_activity_id(self): @@ -53,9 +56,9 @@ class ActivitiesBox(hippo.CanvasBox): self._invite_to_item = {} self._invites = self._shell_model.get_invites() - self.tray = HTray() - self.append(hippo.CanvasWidget(widget=self.tray), hippo.PACK_EXPAND) - self.tray.show() + self._tray = HTray() + self.append(hippo.CanvasWidget(widget=self._tray), hippo.PACK_EXPAND) + self._tray.show() registry = activity.get_registry() registry.get_activities_async(reply_handler=self._get_activities_cb) @@ -87,7 +90,7 @@ class ActivitiesBox(hippo.CanvasBox): self.remove_invite(invite) def _activity_removed_cb(self, item): - self.tray.remove_item(item) + self._tray.remove_item(item) def _activity_added_cb(self, activity_registry, activity_info): self.add_activity(activity_info) @@ -96,7 +99,7 @@ class ActivitiesBox(hippo.CanvasBox): item = ActivityButton(activity_info) item.connect('clicked', self._activity_clicked_cb) item.connect('remove_activity', self._activity_removed_cb) - self.tray.add_item(item, -1) + self._tray.add_item(item, -1) item.show() def add_invite(self, invite): @@ -104,11 +107,12 @@ class ActivitiesBox(hippo.CanvasBox): activity_model = mesh.get_activity(invite.get_activity_id()) if activity: item = InviteButton(activity_model, invite) - item.connect('activated', self._invite_clicked_cb) - self.append(item, 0) + item.connect('clicked', self._invite_clicked_cb) + self._tray.add_item(item, 0) + item.show() self._invite_to_item[invite] = item def remove_invite(self, invite): - self.remove(self._invite_to_item[invite]) + self._tray.remove_item(self._invite_to_item[invite]) del self._invite_to_item[invite] diff --git a/shell/view/frame/activitybutton.py b/shell/view/frame/activitybutton.py index 43251d0b..d9a7ca4d 100644 --- a/shell/view/frame/activitybutton.py +++ b/shell/view/frame/activitybutton.py @@ -36,6 +36,7 @@ class ActivityButton(TrayButton, gobject.GObject): def __init__(self, activity_info): TrayButton.__init__(self) + icon = Icon(file=activity_info.icon, stroke_color=style.COLOR_WHITE.get_svg(), fill_color=style.COLOR_TRANSPARENT.get_svg())