Add touch event management to text files backend
Signed-off-by: Gonzalo Odiard <gonzalo@laptop.org>
Gonzalo Odiard
11 years ago
1 | 1 | import zipfile |
2 | 2 | import logging |
3 | 3 | from gi.repository import Gtk |
4 | from gi.repository import Gdk | |
4 | 5 | from gi.repository import Pango |
5 | 6 | from gi.repository import GObject |
6 | 7 | import threading |
43 | 44 | self._view_buttonrelease_event_cb) |
44 | 45 | self.connect('selection-changed', |
45 | 46 | activity._view_selection_changed_cb) |
47 | ||
48 | self.textview.set_events(self.textview.get_events() | \ | |
49 | Gdk.EventMask.TOUCH_MASK) | |
50 | self.textview.connect('event', self.__touch_event_cb) | |
46 | 51 | |
47 | 52 | activity._scrolled.add(self.textview) |
48 | 53 | self.textview.show() |
124 | 129 | label_text = label_text + '\n\n\n' |
125 | 130 | textbuffer.set_text(label_text) |
126 | 131 | self._prepare_text_to_speech(label_text) |
132 | ||
133 | def __touch_event_cb(self, widget, event): | |
134 | if event.type == Gdk.EventType.TOUCH_BEGIN: | |
135 | x = event.touch.x | |
136 | view_width = widget.get_allocation().width | |
137 | if x > view_width * 3 / 4: | |
138 | self.scroll(Gtk.ScrollType.PAGE_FORWARD, False) | |
139 | elif x < view_width * 1 / 4: | |
140 | self.scroll(Gtk.ScrollType.PAGE_BACKWARD, False) | |
127 | 141 | |
128 | 142 | def can_highlight(self): |
129 | 143 | return True |