Use Tray also for the frame friends view.
Drop the deprecated IconButton.
This commit is contained in:
@@ -24,7 +24,6 @@ from sugar.graphics import style
|
||||
from sugar import profile
|
||||
from sugar import activity
|
||||
|
||||
from frameinvoker import FrameCanvasInvoker
|
||||
from activitybutton import ActivityButton
|
||||
|
||||
class InviteButton(TrayButton):
|
||||
|
||||
@@ -6,9 +6,9 @@ sugar_PYTHON = \
|
||||
clipboardbox.py \
|
||||
clipboardpanelwindow.py \
|
||||
frameinvoker.py \
|
||||
FriendsBox.py \
|
||||
friendstray.py \
|
||||
eventarea.py \
|
||||
frame.py \
|
||||
overlaybox.py \
|
||||
framewindow.py \
|
||||
zoombox.py
|
||||
zoomtoolbar.py
|
||||
|
||||
@@ -29,7 +29,7 @@ from view.frame.eventarea import EventArea
|
||||
from view.frame.ActivitiesBox import ActivitiesBox
|
||||
from view.frame.zoomtoolbar import ZoomToolbar
|
||||
from view.frame.overlaybox import OverlayBox
|
||||
from view.frame.FriendsBox import FriendsBox
|
||||
from view.frame.friendstray import FriendsTray
|
||||
from view.frame.framewindow import FrameWindow
|
||||
from view.frame.clipboardpanelwindow import ClipboardPanelWindow
|
||||
from model.shellmodel import ShellModel
|
||||
@@ -227,8 +227,9 @@ class Frame(object):
|
||||
def _create_right_panel(self):
|
||||
panel = self._create_panel(gtk.POS_RIGHT)
|
||||
|
||||
box = FriendsBox(self._shell)
|
||||
panel.append(box)
|
||||
tray = FriendsTray(self._shell)
|
||||
panel.append(hippo.CanvasWidget(widget=tray), hippo.PACK_EXPAND)
|
||||
tray.show()
|
||||
|
||||
return panel
|
||||
|
||||
|
||||
@@ -37,10 +37,3 @@ class FrameWidgetInvoker(WidgetInvoker):
|
||||
|
||||
self._position_hint = self.ANCHORED
|
||||
self._screen_area = _get_screen_area()
|
||||
|
||||
class FrameCanvasInvoker(CanvasInvoker):
|
||||
def __init__(self, item):
|
||||
CanvasInvoker.__init__(self, item)
|
||||
|
||||
self._position_hint = self.ANCHORED
|
||||
self._screen_area = _get_screen_area()
|
||||
|
||||
@@ -16,32 +16,27 @@
|
||||
|
||||
import hippo
|
||||
|
||||
from sugar.graphics.palette import Palette
|
||||
from sugar.graphics.icon import CanvasIcon
|
||||
from sugar.graphics import style
|
||||
from sugar.presence import presenceservice
|
||||
from sugar.graphics.tray import VTray, TrayIcon
|
||||
|
||||
from view.BuddyIcon import BuddyIcon
|
||||
from view.BuddyMenu import BuddyMenu
|
||||
from view.frame.frameinvoker import FrameWidgetInvoker
|
||||
from model.BuddyModel import BuddyModel
|
||||
from view.frame.frameinvoker import FrameCanvasInvoker
|
||||
|
||||
class FriendIcon(BuddyIcon):
|
||||
class FriendIcon(TrayIcon):
|
||||
def __init__(self, shell, buddy):
|
||||
BuddyIcon.__init__(self, shell, buddy)
|
||||
TrayIcon.__init__(self, icon_name='computer-xo',
|
||||
xo_color=buddy.get_color())
|
||||
|
||||
palette = self.get_palette()
|
||||
palette = BuddyMenu(shell, buddy)
|
||||
self.set_palette(palette)
|
||||
palette.set_group_id('frame')
|
||||
palette.props.invoker = FrameCanvasInvoker(self)
|
||||
palette.props.invoker = FrameWidgetInvoker(self)
|
||||
|
||||
def prelight(self, enter):
|
||||
if enter:
|
||||
self.props.background_color = style.COLOR_BLACK.get_int()
|
||||
else:
|
||||
self.props.background_color = style.COLOR_TOOLBAR_GREY.get_int()
|
||||
|
||||
class FriendsBox(hippo.CanvasBox):
|
||||
class FriendsTray(VTray):
|
||||
def __init__(self, shell):
|
||||
hippo.CanvasBox.__init__(self)
|
||||
VTray.__init__(self)
|
||||
|
||||
self._shell = shell
|
||||
self._activity_ps = None
|
||||
self._joined_hid = -1
|
||||
@@ -68,8 +63,10 @@ class FriendsBox(hippo.CanvasBox):
|
||||
return
|
||||
|
||||
model = BuddyModel(buddy=buddy)
|
||||
|
||||
icon = FriendIcon(self._shell, model)
|
||||
self.append(icon)
|
||||
self.add_item(icon)
|
||||
icon.show()
|
||||
|
||||
self._buddies[buddy.props.key] = icon
|
||||
|
||||
@@ -77,11 +74,11 @@ class FriendsBox(hippo.CanvasBox):
|
||||
if not self._buddies.has_key(buddy.props.key):
|
||||
return
|
||||
|
||||
self.remove(self._buddies[buddy.props.key])
|
||||
self.remove_item(self._buddies[buddy.props.key])
|
||||
|
||||
def clear(self):
|
||||
for item in self.get_children():
|
||||
self.remove(item)
|
||||
self.remove_item(item)
|
||||
self._buddies = {}
|
||||
|
||||
def __activity_appeared_cb(self, pservice, activity_ps):
|
||||
Reference in New Issue
Block a user