[PR #1828] [CLOSED] style: Add options for system colors and system Qt widget styles #2331

Closed
opened 2026-02-27 21:16:05 +03:00 by kerem · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/shadps4-emu/shadPS4/pull/1828
Author: @tomboylover93
Created: 12/19/2024
Status: Closed

Base: mainHead: qt-style


📝 Commits (10+)

  • 6eeec4c style: add Tokyo Night theme
  • f75b719 clang-format: Update main_window_themes.h
  • 42671ad style: Add light and dark system themes
  • f1ea01c wip: Use native Qt widget style
  • 73a9bcd Merge branch 'shadps4-emu:main' into qt-style
  • b944d10 style: Adjust settings dialog to work better with non-Fusion Qt widgets
  • 1f0fa2a hot-fix: Re-add license text to settings_dialog.ui
  • 5840463 wip: Add section in settings dialog for changing Qt widget style
  • fbd47b4 hot-fix: Re-adjust widget style group box dimensions
  • 390a308 config: Handle widget style changes in the config file

📊 Changes

10 files changed (+571 additions, -116 deletions)

View changed files

📝 src/common/config.cpp (+12 -0)
📝 src/common/config.h (+2 -0)
📝 src/qt_gui/main_window.cpp (+99 -1)
📝 src/qt_gui/main_window.h (+3 -0)
📝 src/qt_gui/main_window_themes.cpp (+17 -0)
📝 src/qt_gui/main_window_themes.h (+4 -2)
📝 src/qt_gui/main_window_ui.h (+6 -0)
📝 src/qt_gui/settings_dialog.cpp (+29 -0)
📝 src/qt_gui/settings_dialog.ui (+171 -113)
📝 src/qt_gui/translations/en.ts (+228 -0)

📄 Description

Taken from https://github.com/tomboylover93/shadPS4/releases/tag/v0.4.1_WIP_qt-style:

  • Added "System (Light)" and "System (Dark)" options under View -> Themes. Since I couldn't figure out how to apply different icon colors based on whether or not your system theme is light or dark, they are separate options, so you should use them according to your system colors. Tested on Linux with KDE Plasma. Untested on Windows and macOS, but might be useful on Windows if you use custom system themes.
  • Added "Widget Style" options on the Settings menu, with text that shows up on mouse hover. Defaults to "Fusion", as it is currently hardcoded to do so. "System" uses your system's default Qt widget style (example: Breeze, Oxygen, MS Windows 9x, Kvantum). Linux users can override this with the QT_STYLE_OVERRIDE environment variable, as long as it's set to "System". You can tweak this on config.toml with the line widgetStyle = "Fusion". Since I couldn't figure out how to repaint all widgets after clicking on either "Save" or "Apply", this doesn't reflect in real time and you need to close and reopen shadPS4. Tested on Linux with KDE Plasma. Untested on Windows and macOS.

Screenshots (taken on Linux with KDE Plasma):

  • "System (Dark)" color theme, "Fusion" widget style

Screenshot_20241219_114710

  • "System (Light)" color theme, "Fusion" widget style

Screenshot_20241219_114840

  • "Dark" color theme, "System" widget style (set to Breeze in KDE System Settings)

Screenshot_20241219_115140

  • "System (Dark)" color theme, "System" widget style (set to Bali10050/Lightly in KDE System Settings)

Screenshot_20241219_115317

Additional screenshots

  • Settings menu

Screenshot_20241219_132609

This is purely cosmetical and should not affect the usability of the emulator in any way, but if you do have issues with it, such as the emulator not launching or the color/widget style changes not working, please let me know.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/shadps4-emu/shadPS4/pull/1828 **Author:** [@tomboylover93](https://github.com/tomboylover93) **Created:** 12/19/2024 **Status:** ❌ Closed **Base:** `main` ← **Head:** `qt-style` --- ### 📝 Commits (10+) - [`6eeec4c`](https://github.com/shadps4-emu/shadPS4/commit/6eeec4cdf1e0e614a2074c00e6de6297489e56f0) style: add Tokyo Night theme - [`f75b719`](https://github.com/shadps4-emu/shadPS4/commit/f75b719d968ae2245aec95b992dcda9a64fa2b21) clang-format: Update main_window_themes.h - [`42671ad`](https://github.com/shadps4-emu/shadPS4/commit/42671ad03c9e625780225ac198aa4cbee62c9242) style: Add light and dark system themes - [`f1ea01c`](https://github.com/shadps4-emu/shadPS4/commit/f1ea01c710d389041774ca15f290823d3cff319f) wip: Use native Qt widget style - [`73a9bcd`](https://github.com/shadps4-emu/shadPS4/commit/73a9bcd901dc5b7dc34e954355f8c8922c207e9c) Merge branch 'shadps4-emu:main' into qt-style - [`b944d10`](https://github.com/shadps4-emu/shadPS4/commit/b944d104df1eefc403fa0dc681bfd43bc2785ed9) style: Adjust settings dialog to work better with non-Fusion Qt widgets - [`1f0fa2a`](https://github.com/shadps4-emu/shadPS4/commit/1f0fa2a922ebb0b9ae525e631b84fc30e23d7240) hot-fix: Re-add license text to settings_dialog.ui - [`5840463`](https://github.com/shadps4-emu/shadPS4/commit/58404630fd947a47eb1bb785647c4b13c0ee5674) wip: Add section in settings dialog for changing Qt widget style - [`fbd47b4`](https://github.com/shadps4-emu/shadPS4/commit/fbd47b41be8c3c3a5221c287164a66bf7f263ba6) hot-fix: Re-adjust widget style group box dimensions - [`390a308`](https://github.com/shadps4-emu/shadPS4/commit/390a308299f0d8fe938ed6b7926df14f219de56d) config: Handle widget style changes in the config file ### 📊 Changes **10 files changed** (+571 additions, -116 deletions) <details> <summary>View changed files</summary> 📝 `src/common/config.cpp` (+12 -0) 📝 `src/common/config.h` (+2 -0) 📝 `src/qt_gui/main_window.cpp` (+99 -1) 📝 `src/qt_gui/main_window.h` (+3 -0) 📝 `src/qt_gui/main_window_themes.cpp` (+17 -0) 📝 `src/qt_gui/main_window_themes.h` (+4 -2) 📝 `src/qt_gui/main_window_ui.h` (+6 -0) 📝 `src/qt_gui/settings_dialog.cpp` (+29 -0) 📝 `src/qt_gui/settings_dialog.ui` (+171 -113) 📝 `src/qt_gui/translations/en.ts` (+228 -0) </details> ### 📄 Description Taken from https://github.com/tomboylover93/shadPS4/releases/tag/v0.4.1_WIP_qt-style: - Added "System (Light)" and "System (Dark)" options under View -> Themes. Since I couldn't figure out how to apply different icon colors based on whether or not your system theme is light or dark, they are separate options, so you should use them according to your system colors. Tested on Linux with KDE Plasma. Untested on Windows and macOS, but might be useful on Windows if you use custom system themes. - Added "Widget Style" options on the Settings menu, with text that shows up on mouse hover. Defaults to "Fusion", as it is currently hardcoded to do so. "System" uses your system's default Qt widget style (example: Breeze, Oxygen, MS Windows 9x, Kvantum). Linux users can override this with the `QT_STYLE_OVERRIDE` environment variable, as long as it's set to "System". You can tweak this on config.toml with the line `widgetStyle = "Fusion"`. Since I couldn't figure out how to repaint all widgets after clicking on either "Save" or "Apply", this doesn't reflect in real time and you need to close and reopen shadPS4. Tested on Linux with KDE Plasma. Untested on Windows and macOS. ### Screenshots (taken on Linux with KDE Plasma): - "System (Dark)" color theme, "Fusion" widget style ![Screenshot_20241219_114710](https://github.com/user-attachments/assets/71f009ef-b81c-4752-90bb-f5f7b91053c3) - "System (Light)" color theme, "Fusion" widget style ![Screenshot_20241219_114840](https://github.com/user-attachments/assets/356c5a68-5eec-4235-9bce-2155bfe1c0ff) - "Dark" color theme, "System" widget style (set to Breeze in KDE System Settings) ![Screenshot_20241219_115140](https://github.com/user-attachments/assets/1d94531a-f2e8-4c4f-981e-82170bcd9f90) - "System (Dark)" color theme, "System" widget style (set to [Bali10050/Lightly](https://github.com/Bali10050/Lightly) in KDE System Settings) ![Screenshot_20241219_115317](https://github.com/user-attachments/assets/5aa3165d-6612-4b61-8a3a-c63ccda6b5db) ### Additional screenshots - Settings menu ![Screenshot_20241219_132609](https://github.com/user-attachments/assets/ef93d3d9-b03a-4a2a-bdc8-d42327003710) This is purely cosmetical and should not affect the usability of the emulator in any way, but if you do have issues with it, such as the emulator not launching or the color/widget style changes not working, please let me know. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
kerem 2026-02-27 21:16:05 +03:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/shadPS4#2331
No description provided.