Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/ReadEtextsActivity.py
diff options
context:
space:
mode:
authorJames Simmons <jim@simmons.olpc>2009-08-09 19:27:42 (GMT)
committer James Simmons <jim@simmons.olpc>2009-08-09 19:27:42 (GMT)
commitda35730e8d7ebfa0039f35c1d5931c561dbf1d29 (patch)
tree1f668399033e228afa19a4370f1f729a11184f62 /ReadEtextsActivity.py
parentb807f358dc56c6c7bed520b8fb0327527dbc0913 (diff)
modified: ReadEtextsActivity.py
Allow books like "Little Brother" by Cory Doctorow which do not have line breaks at around 80 columns to be read by Read Etexts, and fix several bugs discovered thereby.
Diffstat (limited to 'ReadEtextsActivity.py')
-rw-r--r--ReadEtextsActivity.py19
1 files changed, 14 insertions, 5 deletions
diff --git a/ReadEtextsActivity.py b/ReadEtextsActivity.py
index aa9ee0b..3ee9adf 100644
--- a/ReadEtextsActivity.py
+++ b/ReadEtextsActivity.py
@@ -234,6 +234,8 @@ class ReadEtextsActivity(activity.Activity):
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.WRAP_WORD)
self.textview.connect("key_press_event", self.keypress_cb)
self.annotation_textview = gtk.TextView()
@@ -637,7 +639,8 @@ class ReadEtextsActivity(activity.Activity):
break
else:
label_text = label_text + unicode(line, "iso-8859-1")
- linecount = linecount + 1
+ line_increment = (len(line) / 80) + 1
+ linecount = linecount + line_increment
textbuffer = self.textview.get_buffer()
label_text = label_text + '\n\n\n'
textbuffer.set_text(label_text)
@@ -689,7 +692,8 @@ class ReadEtextsActivity(activity.Activity):
break
else:
label_text = label_text + unicode(line, "iso-8859-1")
- linecount = linecount + 1
+ line_increment = (len(line) / 80) + 1
+ linecount = linecount + line_increment
label_text = label_text + '\n\n\n'
textbuffer = self.textview.get_buffer()
tag = textbuffer.create_tag()
@@ -697,6 +701,10 @@ class ReadEtextsActivity(activity.Activity):
tag.set_property( 'foreground', "white")
tag.set_property( 'background', "black")
textbuffer.set_text(label_text)
+ annotation_textbuffer = self.annotation_textview.get_buffer()
+ annotation_textbuffer.set_text(self.annotations.get_note(self.page))
+ self.show_underlines()
+ self.prepare_highlighting(label_text)
iterStart = textbuffer.get_iter_at_offset(page_tuple[1])
iterEnd = textbuffer.get_iter_at_offset(page_tuple[2])
textbuffer.apply_tag(tag, iterStart, iterEnd)
@@ -797,7 +805,8 @@ class ReadEtextsActivity(activity.Activity):
line = self.etext_file.readline()
if not line:
break
- linecount = linecount + 1
+ line_increment = (len(line) / 80) + 1
+ linecount = linecount + line_increment
if linecount >= PAGE_SIZE:
position = self.etext_file.tell()
self.page_index.append(position)
@@ -837,7 +846,6 @@ class ReadEtextsActivity(activity.Activity):
outfn = self.make_new_filename(book_files[i])
fname = os.path.join(self.get_activity_root(), 'instance', outfn)
zf_new.write(fname.encode( "utf-8" ), outfn.encode( "utf-8" ))
- print 'rewriting', outfn
os.remove(fname)
i = i + 1
zf_new.write(self.pickle_file_temp, 'annotations.pkl')
@@ -1099,7 +1107,8 @@ class ReadEtextsActivity(activity.Activity):
line_length = len(line)
if not line:
break
- linecount = linecount + 1
+ line_increment = (len(line) / 80) + 1
+ linecount = linecount + line_increment
positions = self.allindices(line.lower(), search_text.lower())
for position in positions:
found_pos = charcount + position + 3