← Back to team overview

ubuntu-touch-coreapps team mailing list archive

Re: [doc-viewer] Development

 

Il 24/09/2014 20:10, Fabio Colella ha scritto:
    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.

This behaviour is easily customizable. I've set cacheBuffer to 0 just for testing. I agree with you: a cacheBuffer set to listView's height provides a better user experience.

    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.

This is great!

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.


Just my opinion, I think that at the moment priorities (before writing new features) are: 1) Add all the C++ plugins/backends in ubuntu-docviewer-app's trunk. This would help a lot while handling some major changes (e.g. adding new features to qml-poppler-plugin that are required by QML code).

2) New design, using the new Header style. This includes framework version bumping, and the usage of PageStack instead of creating a new Flickable inside a single page (so, for each content type there will be a page with specific actions).

3) Finish what we already have. Actually we have supports for plain text, PDF documents and images.
- Plain text/TextView.qml:
-- TextArea should have a custom style, so that it looks more like a text editor.[1][2] -- I'd like to see (IMHO) lines number on the side, so that it is easier to find a specific line in the text.[1][2]
	-- Header actions: search, show/hide "lines counter", details

- PDF Document/PdfView.qml:
-- Add changes I am currently on (I still need to reimplement PinchToZoom and make the initialization of the C++ plugin faster).
	-- Custom HeadPage content[3]
-- Actions: search, go to page, rotation and details. Not sure about "Share" and "White font on black background"[3]

- Images/ImageView.qml:
-- Minor UX adjustments (e.g. black background, show the image at the center of the screen).

By doing this we can then start with new features: content-hub support or ODT, ODP, <add_document_format_here> support, etc.

[1]: Plain text page design proposal: http://imgur.com/MapkQVB
[2]: A different style for line counter: http://imgur.com/tisefx2
[3]: PDF page design proposal: http://imgur.com/CmEhV0V

Cheers,
Stefano


Follow ups

References