Add per-slice VFO marker style toggles to filter panel (#1526)#1614
Merged
ten9876 merged 1 commit intoApr 18, 2026
Merged
Conversation
Reporter's CW complaint was that the center VFO line and two filter edge lines merge visually at narrow filter widths, making the marker look too thick. Previous auto-thin heuristic (#764) adjusted line width based on edge proximity but left no user control. Replace the heuristic with explicit, per-slice user toggles in the VFO flag's filter panel, inserted between the filter width buttons and the CW autotune row: [Thin] [Thick] [Edges] [Hide] - Thin/Thick: 1px vs 2px center VFO line - Edges/Hide: show or suppress the two filter-edge vertical lines State is per-VfoWidget and persists across restarts via AppSettings keyed by slice ID (Slice<N>_MarkerThin, Slice<N>_FilterEdgesHidden). Settings on Slice A do not affect Slice B or vice versa. Wiring: VfoWidget::markerStyleChanged(bool, bool) → MainWindow → SpectrumWidget::setSliceOverlayMarkerStyle(sliceId, thin, hideEdges) which updates the per-slice SliceOverlay fields consulted during drawSliceMarkers(). Closes #1526. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This was referenced Apr 18, 2026
ten9876
added a commit
that referenced
this pull request
Apr 18, 2026
Two small VFO flag fixes on top of #1614/#1615: 1. The CW autotune row ("Autotune:" label + Once/Loop/Zero Beat buttons) was built inside a QWidget container and added to the filter grid, but only the buttons were tracked as members for cleanup — the container itself was leaked on rebuild. Switching away from CW left the "Autotune:" label visible under USB/AM/FM. Track the container as m_autotuneContainer and delete it at the top of rebuildFilterButtons; its children (label + buttons) get reaped with it. 2. The Thin/Thick/Edges/Hide marker-style row was previously restricted to CW/CWL (#1615). Narrow filters aren't CW-exclusive (DIGL, RTTY, CWL at narrow widths all cluster the edges the same way) and the per-slice setting is useful regardless of mode. Drop the CW-only gate. The same single code path in rebuildFilterButtons now runs for every mode — no per-mode duplication, just existing pointer members reinitialized on each mode change, cleanup still suppresses duplicate rows. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
ten9876
added a commit
that referenced
this pull request
Apr 18, 2026
…#1620) Two small VFO flag fixes on top of #1614/#1615: 1. The CW autotune row ("Autotune:" label + Once/Loop/Zero Beat buttons) was built inside a QWidget container and added to the filter grid, but only the buttons were tracked as members for cleanup — the container itself was leaked on rebuild. Switching away from CW left the "Autotune:" label visible under USB/AM/FM. Track the container as m_autotuneContainer and delete it at the top of rebuildFilterButtons; its children (label + buttons) get reaped with it. 2. The Thin/Thick/Edges/Hide marker-style row was previously restricted to CW/CWL (#1615). Narrow filters aren't CW-exclusive (DIGL, RTTY, CWL at narrow widths all cluster the edges the same way) and the per-slice setting is useful regardless of mode. Drop the CW-only gate. The same single code path in rebuildFilterButtons now runs for every mode — no per-mode duplication, just existing pointer members reinitialized on each mode change, cleanup still suppresses duplicate rows. Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Reporter's CW complaint was that the center VFO line and two filter
edge lines merge visually at narrow filter widths, making the marker
look too thick. Previous auto-thin heuristic (#764) adjusted line
width based on edge proximity but left no user control.
Replace the heuristic with explicit, per-slice user toggles in the
VFO flag's filter panel, inserted between the filter width buttons
and the CW autotune row:
[Thin] [Thick] [Edges] [Hide]
State is per-VfoWidget and persists across restarts via AppSettings
keyed by slice ID (Slice_MarkerThin, Slice_FilterEdgesHidden).
Settings on Slice A do not affect Slice B or vice versa.
Wiring: VfoWidget::markerStyleChanged(bool, bool) → MainWindow →
SpectrumWidget::setSliceOverlayMarkerStyle(sliceId, thin, hideEdges)
which updates the per-slice SliceOverlay fields consulted during
drawSliceMarkers().
Closes #1526.
Co-Authored-By: Claude Opus 4.7 (1M context) noreply@anthropic.com