diff options
Diffstat (limited to 'shell/panel/TopPanel.py')
-rw-r--r-- | shell/panel/TopPanel.py | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/shell/panel/TopPanel.py b/shell/panel/TopPanel.py index 58e12f6..2881c41 100644 --- a/shell/panel/TopPanel.py +++ b/shell/panel/TopPanel.py @@ -2,19 +2,22 @@ import goocanvas from panel.Panel import Panel from sugar.canvas.IconItem import IconItem +import sugar class ZoomBar(goocanvas.Group): - def __init__(self, height): + def __init__(self, shell, height): goocanvas.Group.__init__(self) self._height = height + self._shell = shell - self.add_zoom_level('stock-zoom-activity') - self.add_zoom_level('stock-zoom-home') - self.add_zoom_level('stock-zoom-friends') - self.add_zoom_level('stock-zoom-mesh') + self.add_zoom_level(sugar.ZOOM_ACTIVITY, 'stock-zoom-activity') + self.add_zoom_level(sugar.ZOOM_HOME, 'stock-zoom-home') + self.add_zoom_level(sugar.ZOOM_FRIENDS, 'stock-zoom-friends') + self.add_zoom_level(sugar.ZOOM_MESH, 'stock-zoom-mesh') - def add_zoom_level(self, icon_name): + def add_zoom_level(self, level, icon_name): icon = IconItem(icon_name=icon_name, size=self._height) + icon.connect('clicked', self.__level_clicked_cb, level) icon_size = self._height x = (icon_size + 6) * self.get_n_children() @@ -22,6 +25,9 @@ class ZoomBar(goocanvas.Group): self.add_child(icon) + def __level_clicked_cb(self, item, level): + self._shell.set_zoom_level(level) + class TopPanel(Panel): def __init__(self, shell): Panel.__init__(self) @@ -30,6 +36,6 @@ class TopPanel(Panel): def construct(self): Panel.construct(self) - zoom_bar = ZoomBar(self.get_height()) + zoom_bar = ZoomBar(self._shell, self.get_height()) zoom_bar.translate(self.get_border(), self.get_border()) self.get_root().add_child(zoom_bar) |