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