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
241 | 241 | self._model.connect('page-changed', handler) |
242 | 242 | |
243 | 243 | 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 | |
245 | 282 | |
246 | 283 | def find_set_highlight_search(self, set_highlight_search): |
247 | 284 | self._view.find_set_highlight_search(set_highlight_search) |