Skip to content

Bug: DIV slider row leaves empty space when DIV is toggled off; requires speaker-tab click to reflow #3383

Description

@k9mq

Report preparation

  • I used the AI-assisted bug report tool (Help → Support → File an Issue)
  • I have attached a support bundle or log file

What happened?

What happened

When the DIV button in the RxApplet audio panel is toggled off, the row
containing the DIV pan slider disappears from view, but its reserved space
(height) is not reclaimed. A visible gap remains between the Med (AGC speed)
slider row and the bottom of the panel, as if the DIV row is still present but
invisible.

The layout only corrects itself after clicking the speaker icon tab (the
audio sub-tab to the left of | DSP |) — switching away and back to that tab
forces a layout reflow that collapses the empty space.

See attached screenshot: the gap between the Med slider and the bottom of the
panel is clearly visible with DIV toggled off.

What I expected

When DIV is toggled off, the DIV slider row should immediately collapse and the
panel height should shrink to fit the remaining three sliders (AF, SQL, Med)
with no extra whitespace.

Steps to reproduce

  1. Open an RxApplet audio panel (click the speaker icon tab in any slice applet).
  2. Confirm the DIV row is visible at the bottom (pan L↔R slider).
  3. Click the DIV button to toggle diversity off.
  4. Observe: the DIV slider disappears but a blank gap remains in its place.
  5. Click the speaker icon tab again (re-select the audio sub-tab).
  6. Observe: the gap collapses and the layout is now correct.

Environment

  • OS: Linux (Arch-based, as per project build environment)
  • AetherSDR version: 26.5.2 (current)
  • Radio: FlexRadio (FLEX-6000/8600 series)
  • Firmware: Not specified — behavior is UI-side only

Suggested fix

The widget or row for the DIV slider is likely being hidden (setVisible(false)
or similar) without triggering a QLayout geometry update or
QWidget::updateGeometry() call. The fix is probably one of:

  • Call layout()->invalidate() and adjustSize() (or updateGeometry()) on
    the container after toggling DIV visibility.
  • Ensure the DIV row widget is removed/hidden via QStackedWidget or a proper
    QSizePolicy that allows it to collapse (set sizeHint() to zero height when
    hidden, using QSizePolicy::Fixed with a 0-height override, or
    setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Fixed) + setMaximumHeight(0)).
  • If using a QFrame or spacer for the row, verify it has
    setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Expanding) so it
    collapses when the content hides.

The speaker-icon click works as a workaround because switching sub-tabs
triggers a full repaint/reflow of the panel layout.

What did you expect?

No response

Steps to reproduce

Image

AetherSDR version

26.6.1.1

Radio model & firmware

Flex-8600 V4.2.20

Operating system

macOS

OS version and hardware

Tahoe 26.5.1

Metadata

Metadata

Assignees

No one assigned

    Labels

    GUIUser interfacebugSomething isn't workingmaintainer-reviewRequires maintainer review before any action is taken

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions