mirror of
https://github.com/DSheirer/sdrtrunk.git
synced 2026-11-14 01:27:34 -05:00
Add preset themes selector under User Preferences > Application
Replace the single Dark Mode toggle with a curated selection of 9 preset themes, exposed as a vertical radio-button group: Light IntelliJ Nord Dark Darcula Dracula Solarized Light Solarized Dark Monokai Pro Each Theme enum value pairs a human-readable display name with a FlatLaf class name and a dark flag. The first four come from the core flatlaf dependency; the others come from flatlaf-intellij-themes which is added as a new implementation dependency (~1MB). ApplicationPreference now stores the selected theme by enum name under the new ui.theme key. isDarkMode() is retained as a compatibility shim that delegates to the current theme. Existing users with the legacy dark.mode boolean are auto-migrated on first read. ThemeManager is refactored to drive the LAF from the Theme: - Reflectively instantiates the FlatLaf class. - Reads Panel.background, Button.background, TextField.background, List.selectionBackground/Foreground, Label.foreground/disabledForeground, Component.borderColor and Table.alternateRowColor from UIManager *after* FlatLaf installs, then seeds those values into the JIDE-specific keys. Each theme automatically contributes its own palette to JIDE widgets without per-theme hardcoded colours. ApplicationPreferenceEditor swaps the ToggleSwitch for a ToggleGroup of RadioButtons that persist the selection through ApplicationPreference.setTheme.
This commit is contained in:
@@ -94,6 +94,7 @@ dependencies {
|
||||
implementation 'com.fasterxml.jackson.dataformat:jackson-dataformat-xml:2.20.1'
|
||||
implementation 'com.fazecast:jSerialComm:2.11.4'
|
||||
implementation 'com.formdev:flatlaf:3.5.4'
|
||||
implementation 'com.formdev:flatlaf-intellij-themes:3.5.4'
|
||||
implementation 'com.github.jiconfont:jiconfont-font_awesome:4.7.0.1'
|
||||
implementation 'com.github.jiconfont:jiconfont-javafx:1.0.0'
|
||||
implementation 'com.github.jiconfont:jiconfont-swing:1.0.1'
|
||||
|
||||
Reference in New Issue
Block a user