Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/shell/panel/TopPanel.py
diff options
context:
space:
mode:
Diffstat (limited to 'shell/panel/TopPanel.py')
-rw-r--r--shell/panel/TopPanel.py20
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)