Git Product home page Git Product logo

pageturner's People

Contributors

anwaroman avatar fayajewel avatar gregghz avatar hoelzro avatar khajavi avatar luccoj avatar nalor avatar nightwhistler avatar patrick-schweizer avatar projectgus avatar raphikbis avatar ryantm avatar saik0 avatar skyplabs avatar sumanabhi avatar thomasdenh avatar tundebabzy avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

pageturner's Issues

Startup time is slow

Right now the app first does a server sync and then starts to load the book. This can take a long time when the network connection is slow and / or the book is big. It would give a nice speed increase to do these 2 things in paralel.

Measure progress in pages as well as percentage

Make it configurable how progress should be displayed.

Unanswered question: should pages be "ideal pages", i.e. fixed per book, or pages based on the page-size of the current device?

One will give the situation that page-turns don't match with page-numbers, the other will make the book length seem variable between devices.

Configurable text "themes"

It would be nice to have different text rendering configurations, to get a kind of visual "themes".

This would also be a nice step up to getting CSS support.

Touch screen paging

We should also be able to page by tapping the edges of the screen and swiping up and down ( in paged mode )

Bug: crash while rendering table rows

Caused by: java.lang.ArithmeticException: divide by zero
E/AndroidRuntime(29526): at net.nightwhistler.htmlspanner.handlers.TableHandler.calculateRowHeight(TableHandler.java:156)
E/AndroidRuntime(29526): at net.nightwhistler.htmlspanner.handlers.TableHandler.access$300(TableHandler.java:52)
E/AndroidRuntime(29526): at net.nightwhistler.htmlspanner.handlers.TableHandler$TableRowDrawable.getIntrinsicHeight(TableHandler.java:249)
E/AndroidRuntime(29526): at net.nightwhistler.htmlspanner.handlers.TableHandler.handleTagNode(TableHandler.java:186)
E/AndroidRuntime(29526): at net.nightwhistler.htmlspanner.HtmlSpanner.applySpan(HtmlSpanner.java:294)
E/AndroidRuntime(29526): at net.nightwhistler.htmlspanner.HtmlSpanner.handleContent(HtmlSpanner.java:270)
E/AndroidRuntime(29526): at net.nightwhistler.htmlspanner.HtmlSpanner.applySpan(HtmlSpanner.java:287)
E/AndroidRuntime(29526): at net.nightwhistler.htmlspanner.HtmlSpanner.handleContent(HtmlSpanner.java:270)
E/AndroidRuntime(29526): at net.nightwhistler.htmlspanner.HtmlSpanner.applySpan(HtmlSpanner.java:287)
E/AndroidRuntime(29526): at net.nightwhistler.htmlspanner.HtmlSpanner.handleContent(HtmlSpanner.java:270)
E/AndroidRuntime(29526): at net.nightwhistler.htmlspanner.HtmlSpanner.applySpan(HtmlSpanner.java:287)
E/AndroidRuntime(29526): at net.nightwhistler.htmlspanner.HtmlSpanner.handleContent(HtmlSpanner.java:270)
E/AndroidRuntime(29526): at net.nightwhistler.htmlspanner.HtmlSpanner.fromTagNode(HtmlSpanner.java:193)
E/AndroidRuntime(29526): at net.nightwhistler.htmlspanner.HtmlSpanner.fromHtml(HtmlSpanner.java:159)
E/AndroidRuntime(29526): at net.nightwhistler.pageturner.view.BookView$LoadTextTask.doInBackground(BookView.java:863)
E/AndroidRuntime(29526): at net.nightwhistler.pageturner.view.BookView$LoadTextTask.doInBackground(BookView.java:819)
E/AndroidRuntime(29526): at android.os.AsyncTask$2.call(AsyncTask.java:185)
E/AndroidRuntime(29526): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
E/AndroidRuntime(29526): ... 4 more
W/ActivityManager( 97): Force finishing activity net.nightwhistler.pageturne

Trim whitespace

Some books have too much space between paragraphs, it would be nice to trim that.

Implement "book-wall"

This is an alternative to the wooden book-case: it shows a big continuous wall of covers.

Should be fairly easy to implement using a GridView.

About dialog

Add a nice about dialog with the current version number and some more info.

Record progress per device

Allow the user to name each device, and record positions per device. A good default for the devicename is Build.MODEL.

On a normal background sync pick the most recently updated position.

When the user requests a manual sync, show a popup dialog displaying all the sync points and allow the user to choose.

Localization

The app should at least support Dutch and English.

Edit library metadata

Books don't always have proper meta-data. It would be good to be able to edit those fields.

Even better would be to be able to download meta-data from a source like library-thing or goodreads.

Bookshelves

Allow users to tag books and organize them into shelves (like Goodreads does).

No way to see progress in full-screen mode

We currently show progress in the Android titlebar, but in Fullscreen mode this gets hidden.

It would be nice to have a component at the top show when the Menu button is pressed. This might mean implementing a custom Title bar.

Bug: sometimes pages are too long

In some cases in paged mode we get more than 1 screen of text, making a scroll-bar appear.

Might be related to headers and tags at the top of the page.

Brightness controls

It would be useful to adjust the screen brightness, either from the reading screen or preferences.

Bug: Swiping sensitivity

Multiple people have reported that PageTurner doesn't always respond to swipes and / or edge tapping.

This should be fixed before going to the Market.

Use title page if present

Some books (Feedbooks in particular) have no title image, but do have a title page. This should be used then instead of trying to generate one.

Implement file-browser

Right now we rely on OI file explorer being present, but it's better to have file browsing built in. Should not be hard to build.

Orientation lock

When reading a book you hardly ever want to swtich orientation. It would be nice to be able to lock it.

Separate strategies for scrolling and paging

Right now paging is emulated by scrolling down 1 screen at the time. This doesn't play nice with screen readers and also has the side effect of sliced of lines at the bottom.

Refactor the paging code into 2 PagingStrategy objects: ScrolledPagingStrategy and SinglePagePagingStrategy that each encapsulate the logic needed to perform the pageUp() and pageDown() methods.

Implement library

We need a library that shows which books the user has and offers different sorting options.

A nice bookshelf view is preferred.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.