Coder Social home page Coder Social logo

Dark Mode adjustments about osc-dl HOT 7 OPEN

dhtdht020 avatar dhtdht020 commented on June 15, 2024
Dark Mode adjustments

from osc-dl.

Comments (7)

pavlidvg avatar pavlidvg commented on June 15, 2024 1

If merged, I think this addresses pretty much everything we discussed except link readability. Let me know if you want any changes or corrections.

I also don't do any qss file validation, mostly because I don't know an easy way for it. Any invalid files imported are still added as an action, but the default theme is set when applying them. I tried several cutsom qss files online but did not include them because most of them had contrast issues on several widgets

from osc-dl.

dhtdht020 avatar dhtdht020 commented on June 15, 2024

That would be great.

I am not sure of the ideal approach to move themes out of experimental options yet.
The commonly used frozen build for Windows does not provide convenient access to the themes directory.
They need to be convenient for the user to set up, so maybe something like a file picker and a settings-stored list of recently applied themes would work, in addition to the built in options like default and dark. Additionally, the program should keep the active theme in settings and always use it on startup.

This can potentially implemented through menus only, I think the dialog is out of place and can be dropped altogether. Something like this could work:
image

Want to hear your thoughts on this, a pull request in the future would be highly appreciated.

(Note that OSCDL does not really have a light theme, in macOS and Linux the default theme palette takes over, but Windows lacks a dark theme for its native controls. Potential windows dark mode support for Qt is tracked at https://bugreports.qt.io/browse/QTBUG-72028)

from osc-dl.

pavlidvg avatar pavlidvg commented on June 15, 2024

I really like it from a UX perspective, and the file dialog would make more sense with the menu you showed. My current implementation though only switches through the existing QMessage, adds a 'System Default' Option, and toggles between them, while saving the User preference for the next startup.

Would you prefer if also implemented the actions shown in your picture? I just didn't want to take the liberty of removing theme option from 'Experimental' without consulting you first.

from osc-dl.

dhtdht020 avatar dhtdht020 commented on June 15, 2024

That's fine too, UX is something I can do later on, though it will be highly appreciated if you do.

from osc-dl.

pavlidvg avatar pavlidvg commented on June 15, 2024

@dhtdht020
I sent a pull request with some of the things we discussed being implemented. I do not considered this issue closed personally, and would like to implement the features discussed with the UI you proposed. Just review the code and tell me if the backend side of things is clean enough for your project.

A few notes on the Pull request I forgot to mention. The 'Settings' file I added seemed like the cleanest way to save user preferences. For now it is just a theme saver, but I have used a similar json file in other projects and think that it's an easy and effective to save user preferences

from osc-dl.

pavlidvg avatar pavlidvg commented on June 15, 2024

@dhtdht020 Hello again and sorry for the tag.

I am now finishing up implementing the theme selection with an action menu like that you showed in the screenshot. It'll probably be ready in the next 24 hours (Still working out a few details with code formatting and user friendly File dialogs)

Would you want me to commit it as a change to Pull Request #92 or a next one? Also, should I take the liberty of removing the experimental feature or do I keep it in? It should still work right now and even keep adding the user themes, although it might need further testing

from osc-dl.

dhtdht020 avatar dhtdht020 commented on June 15, 2024

You can keep it for now, and sure, commit it to PR #92.

from osc-dl.

Related Issues (18)

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.