Codebase list sugar-read-activity / 3b1732b
Add touch event management to text files backend Signed-off-by: Gonzalo Odiard <gonzalo@laptop.org> Gonzalo Odiard 11 years ago
1 changed file(s) with 14 addition(s) and 0 deletion(s). Raw diff Collapse all Expand all
11 import zipfile
22 import logging
33 from gi.repository import Gtk
4 from gi.repository import Gdk
45 from gi.repository import Pango
56 from gi.repository import GObject
67 import threading
4344 self._view_buttonrelease_event_cb)
4445 self.connect('selection-changed',
4546 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)
4651
4752 activity._scrolled.add(self.textview)
4853 self.textview.show()
124129 label_text = label_text + '\n\n\n'
125130 textbuffer.set_text(label_text)
126131 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)
127141
128142 def can_highlight(self):
129143 return True