diff options
author | James Simmons <jim@simmons.olpc> | 2009-07-28 00:27:10 (GMT) |
---|---|---|
committer | James Simmons <jim@simmons.olpc> | 2009-07-28 00:27:10 (GMT) |
commit | 407a0f62e76e03266cfc0fd057935ce06b783f1f (patch) | |
tree | e0e1da9e0e290a48f2f1d20d9e93a3bd6c952a59 /ReadEtextsActivity.py | |
parent | 4791e3d473accaf6b476555593b3f34bb61f7629 (diff) |
modified: ReadEtextsActivity.py
modified: readtoolbar.py
Refine highlighting logic.
Diffstat (limited to 'ReadEtextsActivity.py')
-rw-r--r-- | ReadEtextsActivity.py | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/ReadEtextsActivity.py b/ReadEtextsActivity.py index cd59a0e..0e3d4e8 100644 --- a/ReadEtextsActivity.py +++ b/ReadEtextsActivity.py @@ -242,7 +242,7 @@ class ReadEtextsActivity(activity.Activity): self.annotation_textview.set_wrap_mode(gtk.WRAP_WORD) buffer = self.textview.get_buffer() - buffer.connect("mark-set", self.mark_set_cb) + self.markset_id = buffer.connect("mark-set", self.mark_set_cb) self.font_desc = pango.FontDescription("sans %d" % style.zoom(10)) self.textview.modify_font(self.font_desc) self.annotation_textview.modify_font(self.font_desc) @@ -396,8 +396,7 @@ class ReadEtextsActivity(activity.Activity): self.read_toolbar.update_underline_button(False) if textbuffer.get_has_selection(): - buffer = self.textview.get_buffer() - begin, end = buffer.get_selection_bounds() + begin, end = textbuffer.get_selection_bounds() underline_tuple = [begin.get_offset(), end.get_offset()] tuples_list = self.annotations.get_highlights(self.page) count = 0 @@ -405,6 +404,11 @@ class ReadEtextsActivity(activity.Activity): compare_tuple = tuples_list[count] if underline_tuple[0] >= compare_tuple[0] and underline_tuple[1] <= compare_tuple[1]: self.read_toolbar.update_underline_button(True) + textbuffer.handler_block(self.markset_id) + iterStart = textbuffer.get_iter_at_offset(compare_tuple[0]) + iterEnd = textbuffer.get_iter_at_offset(compare_tuple[1]) + textbuffer.select_range(iterStart, iterEnd) + textbuffer.handler_unblock(self.markset_id) break count = count + 1 @@ -494,7 +498,6 @@ class ReadEtextsActivity(activity.Activity): tuples_list.append(underline_tuple) self.annotations.set_highlights(self.page, tuples_list) else: - buffer = self.textview.get_buffer() begin, end = buffer.get_selection_bounds() underline_tuple = [begin.get_offset(), end.get_offset()] tuples_list = self.annotations.get_highlights(self.page) @@ -506,6 +509,11 @@ class ReadEtextsActivity(activity.Activity): self.annotations.set_highlights(self.page, tuples_list) break count = count + 1 + iterStart = buffer.get_iter_at_offset(0) + iterEnd = buffer.get_iter_at_offset(0) + buffer.handler_block(self.markset_id) + buffer.select_range(iterStart, iterEnd) + buffer.handler_unblock(self.markset_id) self.show_underlines() def show_underlines(self): |