← Back to team overview

ubuntu-touch-coreapps team mailing list archive

Re: [doc-viewer] Development

 

2014-09-24 18:14 GMT+02:00 Stefano Verzegnassi <stefano92.100@xxxxxxxxx>:

> Hi everybody,
>
> I totally missed this project for a long time, but now that there's a
> renewed interest it would be nice to complete this app in time for the
> official release of Ubuntu (Touch).
>
> I recently took some time on its code, and I found some parts in the PDF
> viewer that could be improved as well. Before proposing an MP, I'd like to
> discuss about this.
>
> 1) The current revision of the code loads all the PDF pages at the
> start-up: with a large PDF file, it results somehow slow and takes much RAM
> to store pages.
>
> I've tried to use a QML ListView with the cacheBuffer property set to 0,
> so pages are loaded only when requested.
>

That's a nice idea, but maybe I would load at least 2 or 3 pages to make
the reader don't feel the load time when switching to previous/next page.

>
> 2) I've made some modification to Poppler QML Plugin[1], adding a
> QAbstractListModel and exposing the size of each PDF page.
>
> By doing this, it becomes possible to predict the size of the ListView
> delegate, even when the PDF page image is not loaded yet from the Image
> Provider.
>

Very well done, that's a great improvement!

>
> 3) I've also tried to expose some relevant information from the PDF
> Document[2], that could be useful when filling the details page.
>
> 4) At the time it could be of help to have poppler-qml-plugin in the app's
> source tree too, so the development of both backend and frontend will be
> more "synergistic". (I'm refering to the latest thread on docviewer[3] -
> I'm writing this here because I don't get email notification for that
> thread, since I joined the mailing-list later).
>

I agree, and we're going to also include file-qml-plugin in the trunk.

>
> If it can help somehow the project workflow, it would be a pleasure for me
> to join the Document Viewer team.
>

I would also like to add a new point:

5)  Set some blueprints (or update the old ones) to have a good path to
follow and we can focus on improvement, leaving discussions for minor
fixes, design choice and fine tunes.

>
> Thanks in advice,
> Stefano
>
>
> [1]: https://launchpad.net/poppler-qml-plugin
> [2]: http://people.freedesktop.org/~aacid/docs/qt5/classPoppler_
> 1_1Document.html#a00c581e1103955cc3cf00908fac5ce53
> [3]: https://lists.launchpad.net/ubuntu-touch-coreapps/msg00798.html


Greetings,
Fabio

>
>
> --
> Mailing list: https://launchpad.net/~ubuntu-touch-coreapps
> Post to     : ubuntu-touch-coreapps@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~ubuntu-touch-coreapps
> More help   : https://help.launchpad.net/ListHelp
>

Follow ups

References