From 876fde15f4f3a2e8cc42c68afb920015ed9867f3 Mon Sep 17 00:00:00 2001 From: Gonzalo Odiard Date: Fri, 08 Nov 2013 14:35:36 +0000 Subject: Delay Evince import until is needed to improve activity startup time This change improve startup time in a XO-1 from 31 segs to 18 segs. Signed-off-by: Gonzalo Odiard --- diff --git a/pdfviewer.py b/pdfviewer.py index ce0244c..7f2838f 100644 --- a/pdfviewer.py +++ b/pdfviewer.py @@ -17,14 +17,11 @@ import os import logging import tempfile -import threading from gettext import gettext as _ from gi.repository import GObject from gi.repository import Gtk from gi.repository import GLib -from gi.repository import EvinceDocument -from gi.repository import EvinceView from gi.repository import WebKit from sugar3.graphics.toolbarbox import ToolbarBox @@ -56,6 +53,10 @@ class EvinceViewer(Gtk.Overlay): self._uri = uri + # delay Evince import until is needed to improve activity startup time + from gi.repository import EvinceDocument + from gi.repository import EvinceView + # Create Evince objects to handle the PDF in the URI: EvinceDocument.init() self._doc = EvinceDocument.Document.factory_get_document(uri) @@ -64,6 +65,8 @@ class EvinceViewer(Gtk.Overlay): self._model.set_document(self._doc) self._view.set_model(self._model) + self._EVINCE_MODE_FREE = EvinceView.SizingMode.FREE + self._view.connect('external-link', self.__handle_link_cb) self._model.connect('page-changed', self.__page_changed_cb) @@ -173,15 +176,15 @@ class EvinceViewer(Gtk.Overlay): current_page < self._doc.get_n_pages() - 1 def zoom_original(self): - self._model.props.sizing_mode = EvinceView.SizingMode.FREE + self._model.props.sizing_mode = self._EVINCE_MODE_FREE self._model.props.scale = 1.0 def zoom_in(self): - self._model.props.sizing_mode = EvinceView.SizingMode.FREE + self._model.props.sizing_mode = self._EVINCE_MODE_FREE self._view.zoom_in() def zoom_out(self): - self._model.props.sizing_mode = EvinceView.SizingMode.FREE + self._model.props.sizing_mode = self._EVINCE_MODE_FREE self._view.zoom_out() def get_pdf_title(self): -- cgit v0.9.1