Migrate three secondary RadioSetupDialog entry points to showOrRaisePersistent (#2781). Principle III.#2795
Merged
Merged
Conversation
…ersistent (#2781). Principle III. Settings → FlexControl, Settings → USB Cables, and the XVTR overlay button each called `new RadioSetupDialog(...)` directly, bypassing the m_persistentDialogs registry that PR #2772 (RadioSetupDialog → PersistentDialog migration) set up. Symptoms: clicking any two entries opens two windows, frameless toggle skips the shortcut-opened dialog, and "first opener wins" signal wiring diverges. This pass routes all four entry points (primary Radio Setup, FlexControl, USB Cables, XVTR overlay) through showOrRaisePersistent + selectTab, and factors the txBandSettingsRequested / serialSettingsChanged / sliceLetterDisplayModeChanged / QDialog::finished wiring into a single private helper wireRadioSetupDialogSignals so a fresh construction picks up the full handler set regardless of which menu clicked first. The dialog now lives in m_persistentDialogs unconditionally, so the special-case qobject_cast in setFramelessWindow is removed — the persistentDialogs loop below already handles it. Also re-asserts the primary Radio Setup entry's #2772 migration that #2786 silently reverted during a panadapter-layout merge. Blast radius (codegraph impact on MainWindow::buildMenuBar, max_depth=3): risk_score=0.7297, 18 high_risk affected (top: MainWindow::MainWindow, AppSettings::instance, AppSettings::value). The score reflects buildMenuBar's breadth across the menu surface; the actual edit is four lambda bodies plus a helper, none of which alter buildMenuBar's caller-facing contract. No new test-target link dependencies (wireRadioSetupDialogSignals is private to MainWindow.cpp, RadioSetupDialog.h was already #included).
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.
Summary
Fixes #2781
What was changed
Migrate three secondary RadioSetupDialog entry points to showOrRaisePersistent (#2781). Principle III.
Files modified
src/gui/MainWindow.cppsrc/gui/MainWindow.hGenerated by AetherClaude (automated agent for AetherSDR)