Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/textadapter.py
diff options
context:
space:
mode:
authorGonzalo Odiard <godiard@gmail.com>2012-09-12 15:38:41 (GMT)
committer Gonzalo Odiard <godiard@gmail.com>2012-09-12 15:38:41 (GMT)
commit3b1732b2253f456500acb03e039ce09de5ef67e2 (patch)
treebdac30495442f18100fd5d7cf946cfa98300cc02 /textadapter.py
parent9fdd4fa2f168b1bd9d792f67d1466b682228f8a5 (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.py14
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