diff options
author | Gonzalo Odiard <godiard@gmail.com> | 2012-09-12 15:38:41 (GMT) |
---|---|---|
committer | Gonzalo Odiard <godiard@gmail.com> | 2012-09-12 15:38:41 (GMT) |
commit | 3b1732b2253f456500acb03e039ce09de5ef67e2 (patch) | |
tree | bdac30495442f18100fd5d7cf946cfa98300cc02 /textadapter.py | |
parent | 9fdd4fa2f168b1bd9d792f67d1466b682228f8a5 (diff) |
Add touch event management to text files backend
Signed-off-by: Gonzalo Odiard <gonzalo@laptop.org>
Diffstat (limited to 'textadapter.py')
-rw-r--r-- | textadapter.py | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/textadapter.py b/textadapter.py index fe17d32..23ff755 100644 --- a/textadapter.py +++ b/textadapter.py @@ -2,6 +2,7 @@ import os import zipfile import logging from gi.repository import Gtk +from gi.repository import Gdk from gi.repository import Pango from gi.repository import GObject import threading @@ -45,6 +46,10 @@ class TextViewer(GObject.GObject): self.connect('selection-changed', activity._view_selection_changed_cb) + self.textview.set_events(self.textview.get_events() | \ + Gdk.EventMask.TOUCH_MASK) + self.textview.connect('event', self.__touch_event_cb) + activity._scrolled.add(self.textview) self.textview.show() activity._scrolled.show() @@ -126,6 +131,15 @@ class TextViewer(GObject.GObject): textbuffer.set_text(label_text) self._prepare_text_to_speech(label_text) + def __touch_event_cb(self, widget, event): + if event.type == Gdk.EventType.TOUCH_BEGIN: + x = event.touch.x + view_width = widget.get_allocation().width + if x > view_width * 3 / 4: + self.scroll(Gtk.ScrollType.PAGE_FORWARD, False) + elif x < view_width * 1 / 4: + self.scroll(Gtk.ScrollType.PAGE_BACKWARD, False) + def can_highlight(self): return True |