Skip to content

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.

Edited by collecting

Merge request reports

Loading