diff --git a/shell/panel/FriendsPanel.py b/shell/panel/FriendsPanel.py index 5d14893d..d0556f51 100644 --- a/shell/panel/FriendsPanel.py +++ b/shell/panel/FriendsPanel.py @@ -1,5 +1,50 @@ +import goocanvas + from panel.Panel import Panel +from sugar.canvas.IconItem import IconItem + +class ActionsBar(goocanvas.Group): + def __init__(self, shell, width): + goocanvas.Group.__init__(self) + self._width = width + self._shell = shell + + self._y = 0 + + icon = IconItem(icon_name='stock-share', size=self._width) + icon.connect('clicked', self.__share_clicked_cb) + self.add_icon(icon) + + icon = IconItem(icon_name='stock-invite', size=self._width) + icon.connect('clicked', self.__invite_clicked_cb) + self.add_icon(icon) + + icon = IconItem(icon_name='stock-chat', size=self._width) + icon.connect('clicked', self.__chat_clicked_cb) + self.add_icon(icon) + + def add_icon(self, icon): + self._y += (self._width + 6) + icon.set_property('y', self._y) + self.add_child(icon) + + def __share_clicked_cb(self, item): + pass + + def __invite_clicked_cb(self, item): + pass + + def __chat_clicked_cb(self, item): + pass class FriendsPanel(Panel): def __init__(self, shell): Panel.__init__(self) + self._shell = shell + + def construct(self): + Panel.construct(self) + + actions_bar = ActionsBar(self._shell, self.get_width()) + actions_bar.translate(self.get_border(), self.get_border()) + self.get_root().add_child(actions_bar) diff --git a/shell/panel/Panel.py b/shell/panel/Panel.py index c7347f12..da77bf97 100644 --- a/shell/panel/Panel.py +++ b/shell/panel/Panel.py @@ -45,6 +45,10 @@ class Panel(gtk.Window): height = self._view.get_allocation().height return height - self.get_border() * 2 + def get_width(self): + width = self._view.get_allocation().width + return width - self.get_border() * 2 + def __realize_cb(self, window): self.window.set_type_hint(gtk.gdk.WINDOW_TYPE_HINT_DOCK)