Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorTomeu Vizoso <tomeu@tomeuvizoso.net>2008-02-18 18:46:57 (GMT)
committer Tomeu Vizoso <tomeu@tomeuvizoso.net>2008-02-18 18:46:57 (GMT)
commitaf16fc5b4c2b15bee68656867355883146f07030 (patch)
tree1915463c9196360a5e6e46944dbd0b7e7e5d396c /src
parent0ad5327f664e49ce7e32fee4deb307165c5e7732 (diff)
Set the zoom level at start.
Diffstat (limited to 'src')
-rw-r--r--src/view/frame/zoomtray.py17
1 files changed, 12 insertions, 5 deletions
diff --git a/src/view/frame/zoomtray.py b/src/view/frame/zoomtray.py
index bc415d9..44146e7 100644
--- a/src/view/frame/zoomtray.py
+++ b/src/view/frame/zoomtray.py
@@ -15,6 +15,7 @@
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
from gettext import gettext as _
+import logging
from sugar.graphics.palette import Palette
from sugar.graphics.radiotoolbutton import RadioToolButton
@@ -29,9 +30,6 @@ class ZoomTray(HTray):
self._shell = shell
- shell_model = shell.get_model()
- shell_model.connect('notify::zoom-level', self.__notify_zoom_level_cb)
-
self._mesh_button = self._add_button('zoom-neighborhood',
_('Neighborhood'), ShellModel.ZOOM_MESH)
self._groups_button = self._add_button('zoom-groups',
@@ -41,6 +39,10 @@ class ZoomTray(HTray):
self._activity_button = self._add_button('zoom-activity',
_('Activity'), ShellModel.ZOOM_ACTIVITY)
+ shell_model = shell.get_model()
+ self._set_zoom_level(shell_model.props.zoom_level)
+ shell_model.connect('notify::zoom-level', self.__notify_zoom_level_cb)
+
def _add_button(self, icon_name, label, zoom_level):
if self.get_children():
group = self.get_children()[0]
@@ -60,11 +62,14 @@ class ZoomTray(HTray):
return button
def _level_clicked_cb(self, button, level):
- self._shell.set_zoom_level(level)
+ if self._shell.get_model().props.zoom_level != level:
+ self._shell.set_zoom_level(level)
def __notify_zoom_level_cb(self, model, pspec):
- new_level = model.props.zoom_level
+ self._set_zoom_level(model.props.zoom_level)
+ def _set_zoom_level(self, new_level):
+ logging.debug('new zoom level: %r' % new_level)
if new_level == ShellModel.ZOOM_MESH:
self._mesh_button.props.active = True
elif new_level == ShellModel.ZOOM_FRIENDS:
@@ -73,4 +78,6 @@ class ZoomTray(HTray):
self._home_button.props.active = True
elif new_level == ShellModel.ZOOM_ACTIVITY:
self._activity_button.props.active = True
+ else:
+ raise ValueError('Invalid zoom level: %r' % (new_level))