Skip to content

Persist waterfall color scheme selection across sessions#1

Open
AetherClaude wants to merge 1 commit into
mainfrom
aetherclaude/issue-733
Open

Persist waterfall color scheme selection across sessions#1
AetherClaude wants to merge 1 commit into
mainfrom
aetherclaude/issue-733

Conversation

@AetherClaude
Copy link
Copy Markdown
Owner

Summary

  • The waterfall heat map color gradient was hard-coded (black/blue/cyan/green/yellow/red) with no way to change it and no persistence
  • Adds five selectable waterfall color schemes: Default, Grayscale, Blue-Green, Fire, Plasma
  • Selection is persisted via AppSettings (DisplayWfColorScheme key) and restored on launch
  • Per-pan support: each panadapter can have its own color scheme

Changes

  • src/gui/SpectrumWidget.h -- Added WfColorScheme enum, WfGradientStop struct, helper functions (wfSchemeStops, wfSchemeName), new member m_wfColorScheme, setter/getter
  • src/gui/SpectrumWidget.cpp -- Defined five gradient presets as constexpr arrays, added shared interpolateGradient() helper, replaced hard-coded gradients in dbmToRgb() and intensityToRgb() with scheme-aware lookup, added setWfColorScheme() setter with AppSettings persistence, load in loadSettings()
  • src/gui/SpectrumOverlayMenu.h -- Added m_colorSchemeCmb member, wfColorSchemeChanged(int) signal, extended syncDisplaySettings() with colorScheme parameter
  • src/gui/SpectrumOverlayMenu.cpp -- Added combo box in waterfall section of display panel, sync logic in syncDisplaySettings()
  • src/gui/MainWindow.cpp -- Wired wfColorSchemeChanged signal from overlay menu to SpectrumWidget::setWfColorScheme

Testing

  • Launch AetherSDR, open the spectrum overlay display panel
  • Change the "Scheme" combo box to any non-default option (e.g. Fire)
  • Confirm the waterfall updates visually to reflect the new palette
  • Quit and relaunch -- verify the waterfall uses the previously selected scheme
  • In multi-pan mode, verify each pan can have an independent color scheme
  • Inspect ~/.config/AetherSDR/AetherSDR.settings for the DisplayWfColorScheme key

Fixes aethersdr#733


Generated by AetherClaude (automated agent)

The waterfall heat map gradient was hard-coded with no way to change it.
Add five selectable color schemes (Default, Grayscale, Blue-Green, Fire,
Plasma) with a combo box in the spectrum overlay display panel. The
selection is persisted via AppSettings (DisplayWfColorScheme key) and
restored on launch, per-pan.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Waterfall heat map color scheme setting not persisted across sessions

1 participant