feat(ui): Implement customizable accent color and rainbow mode
This commit introduces a new theme engine that allows users to customize the application's primary accent color.
The hardcoded blue color has been replaced with a dynamic system that reads from a user setting.
This provides greater personalization and improves accessibility.
Key changes: - Created a central Theme
utility (citron/theme.h
) to manage accent colors and their variations (hover, pressed).
- Added new UI settings (accent_color
, enable_rainbow_mode
) to store user preferences.
- Added a "Choose Color..." button and an "Enable Rainbow Mode" checkbox to the UI configuration tab.
- The main configuration dialog now uses a stylesheet template with placeholders (e.g., %%ACCENT_COLOR%%
).
- Implemented an UpdateTheme()
function that injects the user's chosen color into the stylesheet at runtime.
- Added a QTimer-based "Rainbow Mode" that smoothly cycles through hues for a dynamic RGB effect when enabled.