Skip to content

Make Profile Manager Non-Modal #2574

Description

@TnxQSO-Admin

Request preparation

  • I used an AI assistant to help structure this request
  • I checked for existing issues covering the same feature

What would you like?

What

The Profile Manager window is currently modal -- while it is open, the rest of
the AetherSDR UI is completely blocked. This request is to make it a regular,
independent (non-modal) window that the user can leave open while continuing
to operate the radio.

Why

Profile Manager is a management tool: it is used to create, save, rename,
delete, and load profiles across the Global, Transmit, Microphone, and
Auto-Save tabs. These tasks often involve the radio being active -- for
example, saving a profile after dialing in a good receive setup, or working
through the Auto-Save configuration while monitoring the band.

Today the modal window blocks all radio interaction for the entire duration.
The user cannot tune, adjust a slice, or verify audio while Profile Manager
is open.

Note: rapid profile switching is already covered well -- global profiles
are listed directly in the Profiles menu, and the main GUI has dedicated
drop-downs for Transmit and Microphone profiles. The non-modal request is
mainly about the management workflow, not about switching speed.

The initial profile setup session is a clear pain point: the user opens
Profile Manager, saves a profile, closes the window to test on the radio,
opens the menu again, opens Profile Manager again, adjusts, and repeats.
A persistent, non-blocking window removes all of that overhead.

How Other Clients Do It

SmartSDR for Windows: The Profile Manager is a non-modal floating window.
It can be kept open alongside the main radio interface with no restrictions.

GQRX / SDR++: No equivalent profile management system exists in these
clients, so there is no direct comparison.

Suggested Behavior

  • The Profiles -> Profile Manager... menu action opens the window with
    show() / raise() / activateWindow() instead of exec(), so it does
    not block the main window.
  • If the window is already open, the menu action brings it to the front
    rather than opening a second instance.
  • The window can be closed independently with its Close button at any time.
  • Window position and size are persisted across sessions in
    AetherSDR.settings, consistent with other detachable windows in the
    application.
  • All existing operations across all four tabs (Global, Transmit, Microphone,
    Auto-Save) -- Load, Save, Delete, and any auto-save configuration -- work
    exactly as they do today. No change to the underlying profile logic.

Protocol Hints

No FlexLib / SmartSDR protocol changes are needed. Profile loading already
works; this change is limited to Qt window modality. The likely fix is
replacing QDialog::exec() with show() + raise() + activateWindow(),
or adjusting the window flags to remove Qt::ApplicationModal.

Acceptance Criteria

  • Opening Profile Manager does not block interaction with the main
    AetherSDR window (VFO tuning, band switching, PTT, etc.).
  • The window can remain open across multiple profile operations without
    needing to be reopened each time.
  • Opening Profile Manager a second time via the menu raises the existing
    window rather than opening a duplicate.
  • Window position and size survive an application restart.
  • All existing profile operations across all four tabs continue to work
    correctly.

Labels: enhancement, GUI

Metadata

Metadata

Assignees

No one assigned

    Labels

    GUIUser interfaceaetherclaude-eligibleIssue approved for AetherClaude automated agentenhancementImprovement to existing featuregood first issueGood for newcomersmaintainer-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