Codebase list sugar-read-activity / 37bd782
Start implementation of read index in the pdf backend. Is not workinging yet due to https://bugzilla.gnome.org/show_bug.cgi?id=682882 Signed-off-by: Gonzalo Odiard <gonzalo@laptop.org> Gonzalo Odiard 11 years ago
1 changed file(s) with 38 addition(s) and 1 deletion(s). Raw diff Collapse all Expand all
241241 self._model.connect('page-changed', handler)
242242
243243 def update_toc(self, activity):
244 return False
244 doc = self._model.get_document()
245 if not doc.has_document_links():
246 logging.error('The pdf file does not have a index')
247 return False
248 else:
249 self._job_links = EvinceView.JobLinks.new(document=doc)
250 self._job_links.connect('finished', self.__index_loaded_cb,
251 activity)
252 EvinceView.Job.scheduler_push_job(self._job_links,
253 EvinceView.JobPriority.PRIORITY_NONE)
254
255 def __index_loaded_cb(self, job, activity):
256 logging.error('__index_loaded_cb %s %s', job.__class__, dir(job))
257 logging.error('job.succeeded %s', job.succeeded())
258 logging.error('job.is_finished %s', job.is_finished())
259
260 self._index_model = job.model
261
262 logging.error('index_model loaded %s', job.model.__class__)
263 if job.model is None:
264 return False
265 """
266 _iter = job.model.get_iter_first()
267 while True:
268 value = job.model.get_value(_iter, 0)
269 logging.error('value %s', value)
270 _iter = job.model.iter_next(_iter)
271 if _iter is None:
272 break
273 """
274
275 activity._navigator_toolbar_button.show()
276 activity._navigator.show_all()
277
278 activity._toc_model = self._index_model
279 activity._navigator.set_model(activity._toc_model)
280 activity._navigator.set_active(0)
281 return True
245282
246283 def find_set_highlight_search(self, set_highlight_search):
247284 self._view.find_set_highlight_search(set_highlight_search)