diff options
Diffstat (limited to 'textadapter.py')
-rw-r--r-- | textadapter.py | 66 |
1 files changed, 31 insertions, 35 deletions
diff --git a/textadapter.py b/textadapter.py index f6dee23..526f6f1 100644 --- a/textadapter.py +++ b/textadapter.py @@ -1,45 +1,44 @@ import os import zipfile import logging -from gi.repository import Gtk -from gi.repository import Pango -from gi.repository import GObject +import gtk +import pango +import gobject import threading -from sugar3 import mime -from sugar3.graphics import style +from sugar import mime +from sugar.graphics import style import speech PAGE_SIZE = 38 -class TextViewer(GObject.GObject): +class TextViewer(gobject.GObject): __gsignals__ = { - 'zoom-changed': (GObject.SignalFlags.RUN_FIRST, GObject.TYPE_NONE, + 'zoom-changed': (gobject.SIGNAL_RUN_FIRST, gobject.TYPE_NONE, ([int])), - 'page-changed': (GObject.SignalFlags.RUN_FIRST, GObject.TYPE_NONE, + 'page-changed': (gobject.SIGNAL_RUN_FIRST, gobject.TYPE_NONE, ([int, int])), - 'selection-changed': (GObject.SignalFlags.RUN_FIRST, GObject.TYPE_NONE, + 'selection-changed': (gobject.SIGNAL_RUN_FIRST, gobject.TYPE_NONE, ([])), } def setup(self, activity): self._activity = activity - activity._scrolled = Gtk.ScrolledWindow() - activity._scrolled.set_policy(Gtk.PolicyType.NEVER, - Gtk.PolicyType.AUTOMATIC) - activity._scrolled.props.shadow_type = Gtk.ShadowType.NONE + activity._scrolled = gtk.ScrolledWindow() + activity._scrolled.set_policy(gtk.POLICY_NEVER, gtk.POLICY_AUTOMATIC) + activity._scrolled.props.shadow_type = gtk.SHADOW_NONE self._scrolled = activity._scrolled - self.textview = Gtk.TextView() + self.textview = gtk.TextView() self.textview.set_editable(False) self.textview.set_cursor_visible(False) self.textview.set_left_margin(50) self.textview.set_right_margin(50) - self.textview.set_wrap_mode(Gtk.WrapMode.WORD) + self.textview.set_wrap_mode(gtk.WRAP_WORD) self.textview.connect('button-release-event', \ self._view_buttonrelease_event_cb) self.connect('selection-changed', @@ -48,10 +47,10 @@ class TextViewer(GObject.GObject): activity._scrolled.add(self.textview) self.textview.show() activity._scrolled.show() - activity._hbox.pack_start(activity._scrolled, True, True, 0) + activity._hbox.pack_start(activity._scrolled, expand=True, fill=True) self._font_size = style.zoom(10) - self.font_desc = Pango.FontDescription("sans %d" % self._font_size) + self.font_desc = pango.FontDescription("sans %d" % self._font_size) self.textview.modify_font(self.font_desc) self._zoom = 100 self.font_zoom_relation = self._zoom / self._font_size @@ -66,9 +65,9 @@ class TextViewer(GObject.GObject): self.current_word = 0 self.word_tuples = [] self.spoken_word_tag = self.textview.get_buffer().create_tag() - self.spoken_word_tag.set_property('weight', Pango.Weight.BOLD) + self.spoken_word_tag.set_property('weight', pango.WEIGHT_BOLD) self.normal_tag = self.textview.get_buffer().create_tag() - self.normal_tag.set_property('weight', Pango.Weight.NORMAL) + self.normal_tag.set_property('weight', pango.WEIGHT_NORMAL) def load_document(self, file_path): @@ -220,14 +219,12 @@ class TextViewer(GObject.GObject): def scroll(self, scrolltype, horizontal): v_adjustment = self._scrolled.get_vadjustment() v_value = v_adjustment.value - if scrolltype in (Gtk.ScrollType.PAGE_BACKWARD, - Gtk.ScrollType.PAGE_FORWARD): + if scrolltype in (gtk.SCROLL_PAGE_BACKWARD, gtk.SCROLL_PAGE_FORWARD): step = v_adjustment.page_increment else: step = v_adjustment.step_increment - if scrolltype in (Gtk.ScrollType.PAGE_BACKWARD, - Gtk.ScrollType.STEP_BACKWARD): + if scrolltype in (gtk.SCROLL_PAGE_BACKWARD, gtk.SCROLL_STEP_BACKWARD): if v_value <= v_adjustment.lower: self.previous_page() v_adjustment.value = v_adjustment.upper - \ @@ -238,8 +235,7 @@ class TextViewer(GObject.GObject): if new_value < v_adjustment.lower: new_value = v_adjustment.lower v_adjustment.value = new_value - elif scrolltype in (Gtk.ScrollType.PAGE_FORWARD, - Gtk.ScrollType.STEP_FORWARD): + elif scrolltype in (gtk.SCROLL_PAGE_FORWARD, gtk.SCROLL_STEP_FORWARD): if v_value >= v_adjustment.upper - v_adjustment.page_size: self.next_page() return @@ -248,9 +244,9 @@ class TextViewer(GObject.GObject): if new_value > v_adjustment.upper - v_adjustment.page_size: new_value = v_adjustment.upper - v_adjustment.page_size v_adjustment.value = new_value - elif scrolltype == Gtk.ScrollType.START: + elif scrolltype == gtk.SCROLL_START: self.set_current_page(0) - elif scrolltype == Gtk.ScrollType.END: + elif scrolltype == gtk.SCROLL_END: self.set_current_page(self._pagecount - 1) def previous_page(self): @@ -282,7 +278,7 @@ class TextViewer(GObject.GObject): pass def copy(self): - self.textview.get_buffer().copy_clipboard(Gtk.Clipboard()) + self.textview.get_buffer().copy_clipboard(gtk.Clipboard()) def update_view_size(self, _scrolled): pass @@ -319,7 +315,7 @@ class TextViewer(GObject.GObject): def _show_found_text(self, founded_tuple): textbuffer = self.textview.get_buffer() tag = textbuffer.create_tag() - tag.set_property('weight', Pango.Weight.BOLD) + tag.set_property('weight', pango.WEIGHT_BOLD) tag.set_property('foreground', 'white') tag.set_property('background', 'black') iterStart = textbuffer.get_iter_at_offset(founded_tuple[1]) @@ -372,16 +368,16 @@ class TextViewer(GObject.GObject): return False -class _JobFind(GObject.GObject): +class _JobFind(gobject.GObject): __gsignals__ = { - 'updated': (GObject.SignalFlags.RUN_FIRST, GObject.TYPE_NONE, ([])), + 'updated': (gobject.SIGNAL_RUN_FIRST, gobject.TYPE_NONE, ([])), } def __init__(self, text_file, start_page, n_pages, text, \ case_sensitive=False): - GObject.GObject.__init__(self) - Gtk.gdk.threads_init() + gobject.GObject.__init__(self) + gtk.gdk.threads_init() self._finished = False self._text_file = text_file @@ -471,10 +467,10 @@ class _SearchThread(threading.Thread): self._found_records[self._current_found_item] self._page = self.current_found_tuple[0] - Gtk.gdk.threads_enter() + gtk.gdk.threads_enter() self.obj._finished = True self.obj.emit('updated') - Gtk.gdk.threads_leave() + gtk.gdk.threads_leave() return False |