In my testing on macOS, MK8 sometimes crashed at this function, giving a void type instead of u32.
I've temporarily commented this out until (if) this is implemented and added a check for if it is implemented
- Allows to choose "Auto", "Always On" or "Always Off"
- Dark mode options are only shown if the style does not support theme
- If Auto is chosen, value is retrieved from OS
- On Windows, the application needs a restart to apply the settings
- Use the default dark palette for Windows, like on Linux
- Renamed themes:
- "colorful" to "default" and "colorful_dark" to "default_dark"
- "default" to "monochrome" and "default_dark" to "monochrome_dark"
- "colorful_midnight_blue" to "qdarkstyle_midnight_blue"
- "qdarkstyle_midnight_blue" to "qdarkstyle_midnight_blue_monochrome"
- qdarkstyle is renamed from "Dark" to "Mine Shaft" in the UI
- default and monochrome themes all use the same qss stylesheet
- Remove the ability to select "default_dark" directly
- Default has better support for light and dark
- Controller and Keyboard applets icons and style adapt to dark mode
- Add "qdarkstyle_monochrome" theme
- Remove duplicated icon files
- Windows dark theme uses "fusion" style, which is better suited, but has minor differences
- Improve OS theme detection
- Linux:
- Listen for OS color schemes changes on D-Bus
- Read OS scheme for D-Bus. Fallback with gsettings, reading org.gnome.desktop.interface.
First "color-scheme" key, then "gtk-theme". Finally, fallback to checking window palette
- Windows (dark mode detection was not implemented before):
- Force dark palette when OS uses dark mode by setting QT_QPA_PLATFORM to "windows:darkmode=2"
- This enables to detect dark mode by checking the window palette
- Improve theming capabilites:
- Linux uses custom palette when dark mode is detected.
By using palette(xxx) in .qss files, there is no need to create a dark stylesheet
- Allow themes to have stylesheet variants, dark.qss and light.qss
- If current mode is dark, use dark icons for controller and keyboard applets
- Add "dark" property to RendererStatusBarButton and GPUStatusBarButton, set to true when dark mode is used.
Allows to have distinct colors for GPU API and accuracy buttons depending on dark mode or not
- Enable all themes to have dark icon alternatives, not just "default" and "colorful"
- If dark mode, icons are loaded from the directory "THEME-NAME_dark/icons"
- If current mode is dark, use dark icons for controller and keyboard applets
- Only qdarkstyle, qdarkstyle_midnight_blue, colorful_dark and
colorful_midnight_blue used elements specific to dark themes
- Directory is qt_themes, each theme must be in one folder
- It should contain a file "style.qss"
- It may contain an "icons" sub-directory, to override included icons
(with files like mytheme/icons/colorful/48x48/star.png for example)
- Directories ending by "_dark" are reserved for dark variant icons.
They are not listed as themes in the UI.
- If theme directory contains "dark" or "midnight", theme will be considered dark