Get invites back to work in the UI.

master
Marco Pesenti Gritti 17 years ago
parent 0d4d74b94f
commit 457a1eaf3b

@ -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

@ -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]

@ -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())

Loading…
Cancel
Save