Code Monkey home page Code Monkey logo

Comments (6)

tuxor1337 avatar tuxor1337 commented on September 17, 2024

Has been closed for ebookdroid as "by design". I think, it's hard to make a decision here. Both behaviours have their disadvantages... Would be nice to hear more opinions on that.

from document-viewer.

hackerb9 avatar hackerb9 commented on September 17, 2024

The way it is now is a huge pain. If I've already opened a lot of books and I decide, for example, that I usually prefer single page view, I have to make that change manually in every single book I've previously opened. Changing global settings only affects new books. Making global preferences actually work is one way document viewer can be better than ebookdroid. How hard would it be to implement this?

from document-viewer.

tuxor1337 avatar tuxor1337 commented on September 17, 2024

Okay, you propose some kind of tag. For a given book, all of the book-specific settings are set to until the user decides to change a setting. Is that right?

Hm, even with this behavior I could think of scenarios where users are confused by this. Any other opinions?

from document-viewer.

hackerb9 avatar hackerb9 commented on September 17, 2024

By "tag" I assume you mean something that indicates "This setting hasn't been changed, so just use the global default". As long as the tag was per setting rather than per book, that should work.

Another idea is to not have a tag and only save the specific settings that have been changed. I believe that's the way most programs work: any preferences that haven't been changed for a book are redundant data and simply aren't saved.

from document-viewer.

tuxor1337 avatar tuxor1337 commented on September 17, 2024

Oh, I'm sorry, I just see that github removed something from my comment because it contained angle brackets. However, you got it right :)

from document-viewer.

ericwa avatar ericwa commented on September 17, 2024

I agree with this suggestion

  • IMO the first change to make is, at the database level, all book settings should be optional; i.e. they should be able to be NULL in SQL or simply omitted when serialized as JSON. This could be implemented as a part of #220 to limit the number of database schema changes to just one. This change doesn't limit us to any particular UI design, and it would support the current behaviour of snapshotting the app settings when a book is first opened.

  • We'd need a new API for accessing book settings that resolves unset book settings by reading app settings. This should be easy, just make all BookSettings fields private and add setters/getters.

  • How exactly to expose this functionality in the UI is still an open question.

    Maybe some items in the quick settings toolbar menu (fullscreen, force portrait / force landscape, single page, day/night) could apply to all books. Some of them make more sense as book settings (crop / autocrop, split pages).

    The actual book settings page would need some changes if all settings have an extra "unset" state; we couldn't use switches / checkboxes any more. Not sure what the best solution is there.

from document-viewer.

Related Issues (20)

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.