Skip to content

Unify theming experience #371

@imtbl

Description

@imtbl

With the introduction of Qt (and Qt Style Sheets), Hydrus theming has become much more streamlined (especially on non-Linux platforms where you couldn't use the system styles for wx).

However, there's still options > colours as well as options > tag presentation > on thumbnail top/on thumbnail bottom-right/on media viewer top which use color codes that are stored in the DB. This makes it hard for the user to quickly change their Hydrus theming as they need to adjust those color codes each time.

I propose to either move those color definitions from being stored in the DB into a configuration file (which makes it easier for the user to adjust it automatically via scripting or simply to keep several different files around which they can then just switch out when necessary) or to remove those definitions altogether and make all affected elements stylable via Qt/QSS instead (defaulting to the system's Qt styling, as is the case with everything else).

For the sake of simplifying the theming experience, I'm personally leaning more towards to dropping these settings altogether.

options > colours:
image

options > tag presentation > on thumbnail top:
image

Furthermore, there should be an easy option to not use any QSS as even the default one will set the green/red on buttons, overriding system styles the user might have in place (which would be undesirable in such a case). The workaround now is to load an empty QSS instead of the default, but that's not an ideal solution.

Green/red button labels from default QSS:
image

Edit: Some colored texts (e.g., in the duplicate filter) are currently also still hardcoded and should be made themeable. These are stylable now.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions