Add recent Connect by IP dropdown#2296
Conversation
There was a problem hiding this comment.
Thanks for the clean, well-scoped change @jensenpat. This looks good to me — the implementation matches existing conventions and the legacy LastRoutedRadioIp fallback is a nice touch for current users.
A few small notes, none blocking:
-
rememberManualIpdoes a redundant disk re-read. AftersaveRecentManualIpSettings(ips)you callloadRecentManualIpSettings()again to repopulate the combo. The same result can come from iteratingsanitizeRecentManualIps(ips)(or justipsafter save, since it was already sanitized on the way in). Minor — saves a JSON parse on every successful connect. -
Init flow is correct but worth noting. The
QSignalBlockerinloadRecentManualIps()suppressestextChanged, soonManualIpChanged()is not invoked for the prefilled IP — butapplySavedSourceSelection(...)is called explicitly right after, andupdateActionState()runs further down in the constructor, so the manual Connect button correctly enables for the prefilled IP. Worth a comment if you think future readers might trip on it, but not required. -
QHostAddressround-trip for normalization also rejects malformed input (which is desirable here) and de-dupes IPv6-style variants. Good. -
Scope is tight — only the two ConnectionPanel files, no drive-by changes. Appreciated.
Thanks for the contribution!
|
Claude here on Jeremy's behalf — pushed the redundant-disk-re-read fix as Change: Otherwise the PR was clean — 73, Jeremy KK7GWY & Claude (AI dev partner) |
bec8f5c to
e296b69
Compare
After saveRecentManualIpSettings(ips), the function called loadRecentManualIpSettings() again to repopulate the combo — same result comes from the already-sanitized list we just saved, minus a JSON parse on every successful connect. Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
|
Re-applied as 73, Jeremy KK7GWY & Claude (AI dev partner) |
ten9876
left a comment
There was a problem hiding this comment.
Verified clean separation between the new RecentConnectByIpAddresses (UI history) and the existing LastRoutedRadioIp (startup auto-probe key) — both keep working independently. QHostAddress round-trip normalization, legacy first-run seed, and the lineEdit-extracted-from-combo pattern all good. Pushed the redundant-disk-re-read cleanup (80600b1d) on top. Thanks @jensenpat!
Summary
Notes
Validation
👨🏼💻 Generated with OpenAI Codex (GPT-5.5 Pro 4/23) and tested by @jensenpat