diff options
Diffstat (limited to 'viewtoolbar.py')
-rw-r--r-- | viewtoolbar.py | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/viewtoolbar.py b/viewtoolbar.py index 7daadc9..0226df8 100644 --- a/viewtoolbar.py +++ b/viewtoolbar.py @@ -22,11 +22,15 @@ from gi.repository import GObject from sugar3.graphics.toolbutton import ToolButton +from browser import Browser + class ViewToolbar(Gtk.Toolbar): def __init__(self, activity): GObject.GObject.__init__(self) + self._browser = None + self._activity = activity self._activity.tray.connect('unmap', self.__unmap_cb) self._activity.tray.connect('map', self.__map_cb) @@ -60,6 +64,25 @@ class ViewToolbar(Gtk.Toolbar): self.insert(self.traybutton, -1) self.traybutton.show() + tabbed_view = self._activity.get_canvas() + + if tabbed_view.get_n_pages(): + self._connect_to_browser(tabbed_view.props.current_browser) + + tabbed_view.connect_after('switch-page', self.__switch_page_cb) + + def __switch_page_cb(self, tabbed_view, page, page_num): + self._connect_to_browser(tabbed_view.props.current_browser) + + def _connect_to_browser(self, browser): + self._browser = browser + self._update_zoom_buttons() + + def _update_zoom_buttons(self): + is_webkit_browser = isinstance(self._browser, Browser) + self.zoomin.set_sensitive(is_webkit_browser) + self.zoomout.set_sensitive(is_webkit_browser) + def __zoomin_clicked_cb(self, button): tabbed_view = self._activity.get_canvas() tabbed_view.props.current_browser.zoom_in() |