From 79c4bde2b473956bebe53c56c8d27d9dc70b5bce Mon Sep 17 00:00:00 2001 From: Marco Pesenti Gritti Date: Tue, 17 Oct 2006 19:53:29 +0000 Subject: Some infrastructure for scrolling. Based on epiphany extension. --- (limited to 'activities') diff --git a/activities/web/webactivity.py b/activities/web/webactivity.py index 1329147..bcd6000 100644 --- a/activities/web/webactivity.py +++ b/activities/web/webactivity.py @@ -39,6 +39,7 @@ class WebActivity(Activity): logging.debug('Starting the web activity') self.set_title(_('Web Activity')) + self.connect('key-press-event', self._key_press_event_cb) vbox = gtk.VBox() @@ -66,6 +67,10 @@ class WebActivity(Activity): self._browser.load_url(_HOMEPAGE) + def _key_press_event_cb(self, window, event): + if event.keyval == gtk.keysyms.F11: + self._browser.toggle_scroll() + def _setup_links_controller(self): links_controller = LinksController(self._service, self._links_model) self._toolbar.set_links_controller(links_controller) diff --git a/activities/web/webbrowser.py b/activities/web/webbrowser.py index 12126b6..18c149a 100644 --- a/activities/web/webbrowser.py +++ b/activities/web/webbrowser.py @@ -15,8 +15,10 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA import gobject +import gtk from _sugar import Browser +from _sugar import PushScroller class _PopupCreator(gobject.GObject): __gsignals__ = { @@ -77,6 +79,17 @@ class WebBrowser(Browser): def __init__(self): Browser.__init__(self) + self._push_scroller = PushScroller() + self._scrolling = False + + def toggle_scroll(self): + if self._scrolling: + self._push_scroller.stop(gtk.get_current_event_time()) + self._scrolling = False + else: + self._push_scroller.start(self, 0, 0) + self._scrolling = True + def do_create_window(self): popup_creator = _PopupCreator(self.get_toplevel()) popup_creator.connect('popup-created', self._popup_created_cb) -- cgit v0.9.1