Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Drake <dsd@laptop.org>2008-11-04 22:00:34 (GMT)
committer Morgan Collett <morgan.collett@gmail.com>2008-12-16 13:47:20 (GMT)
commit29cebe609d95e3e059a790e1311567eaade6d4f3 (patch)
treeb8f2f8371b6868d976d87647df18f82b5676a610
parenta8d0c22e37b5fce0c1d53b095bb9206eb3e8d2a2 (diff)
Update to sugar-evince-2.24 API
No backwards compatibility. The "Find previous" and "Find next" buttons no longer get greyed out when you reach the start/end of a document. If this functionality is important, it can probably be readded.
-rw-r--r--readactivity.py1
-rw-r--r--readtoolbar.py28
2 files changed, 21 insertions, 8 deletions
diff --git a/readactivity.py b/readactivity.py
index 9728f50..482245c 100644
--- a/readactivity.py
+++ b/readactivity.py
@@ -107,7 +107,6 @@ class ReadActivity(activity.Activity):
_logger.debug('Starting Read...')
- evince.job_queue_init()
self._view = evince.View()
self._view.set_screen_dpi(_get_screen_dpi())
self._view.connect('notify::has-selection',
diff --git a/readtoolbar.py b/readtoolbar.py
index 44a032d..e2300ac 100644
--- a/readtoolbar.py
+++ b/readtoolbar.py
@@ -35,8 +35,10 @@ class EditToolbar(activity.EditToolbar):
activity.EditToolbar.__init__(self)
self._evince_view = evince_view
- self._evince_view.set_highlight_search(True)
+ self._evince_view.find_set_highlight_search(True)
+
self._document = None
+ self._find_job = None
separator = gtk.SeparatorToolItem()
separator.set_draw(False)
@@ -79,13 +81,22 @@ class EditToolbar(activity.EditToolbar):
def set_document(self, document):
self._document = document
- self._document.connect('find_changed', self._find_changed_cb)
+
+ def _clear_find_job(self):
+ if self._find_job is None:
+ return
+ if not self._find_job.is_finished():
+ self._find_job.cancel()
+ self._find_job.disconnect(self._find_updated_handler)
+ self._find_job = None
def _search_find_first(self):
+ self._clear_find_job()
text = self._search_entry.props.text
if text != "":
-# current_page = self._document.get_page_cache().get_current_page()
- self._document.find_begin(0, text, False)
+ 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)
else:
# FIXME: highlight nothing
pass
@@ -118,7 +129,10 @@ class EditToolbar(activity.EditToolbar):
def _find_changed_cb(self, page, spec):
self._update_find_buttons()
-
+
+ def _find_updated_cb(self, job, page):
+ self._evince_view.find_changed(job, page)
+
def _find_prev_cb(self, button):
if self._search_entry_changed:
self._search_find_last()
@@ -142,9 +156,9 @@ class EditToolbar(activity.EditToolbar):
self._prev.props.sensitive = False
self._next.props.sensitive = False
else:
- self._prev.props.sensitive = self._evince_view.can_find_previous()
+ self._prev.props.sensitive = True
self._prev.set_tooltip(_('Find previous'))
- self._next.props.sensitive = self._evince_view.can_find_next()
+ self._next.props.sensitive = True
self._next.set_tooltip(_('Find next'))
class ReadToolbar(gtk.Toolbar):