Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/readtoolbar.py
diff options
context:
space:
mode:
authorSayamindu Dasgupta <sayamindu@gmail.com>2009-06-28 13:32:17 (GMT)
committer Sayamindu Dasgupta <sayamindu@gmail.com>2009-06-28 13:32:17 (GMT)
commit34c1affbbf214dfd835ff6f1de4c4a03e77678c4 (patch)
treed23a8d2a5bada9487a2aa05a094d461c8f2a18a2 /readtoolbar.py
parente52c3cebe1a9ead760ba13df9a8bc6f1b98c2c49 (diff)
Implement initial find support in Epub
Diffstat (limited to 'readtoolbar.py')
-rw-r--r--readtoolbar.py14
1 files changed, 10 insertions, 4 deletions
diff --git a/readtoolbar.py b/readtoolbar.py
index 7240327..40bc168 100644
--- a/readtoolbar.py
+++ b/readtoolbar.py
@@ -23,6 +23,8 @@ import gobject
import gtk
import evince
+import epubadapter
+
import md5
from sugar.graphics.toolbutton import ToolButton
@@ -115,9 +117,13 @@ class EditToolbar(activity.EditToolbar):
self._clear_find_job()
text = self._search_entry.props.text
if text != "":
- self._find_job = evince.JobFind(document=self._document, start_page=0, n_pages=self._document.get_n_pages(), text=text, case_sensitive=False)
- self._find_updated_handler = self._find_job.connect('updated', self._find_updated_cb)
- evince.job_scheduler_push_job(self._find_job, evince.JOB_PRIORITY_NONE)
+ try:
+ self._find_job = evince.JobFind(document=self._document, start_page=0, n_pages=self._document.get_n_pages(), text=text, case_sensitive=False)
+ self._find_updated_handler = self._find_job.connect('updated', self._find_updated_cb)
+ evince.job_scheduler_push_job(self._find_job, evince.JOB_PRIORITY_NONE)
+ except TypeError:
+ self._find_job = epubadapter.JobFind(document=self._document, start_page=0, n_pages=self._document.get_n_pages(), text=text, case_sensitive=False)
+ self._find_updated_handler = self._find_job.connect('updated', self._find_updated_cb)
else:
# FIXME: highlight nothing
pass
@@ -151,7 +157,7 @@ class EditToolbar(activity.EditToolbar):
def _find_changed_cb(self, page, spec):
self._update_find_buttons()
- def _find_updated_cb(self, job, page):
+ def _find_updated_cb(self, job, page = None):
self._evince_view.find_changed(job, page)
def _find_prev_cb(self, button):