Parent: #184
Related: #384
Summary
Turn engine-owned POTA/SOTA spots into a fast tune-and-log workflow after the spot feed and first-class portable activity fields exist.
POTACAT is a useful behavioral reference: it combines spot selection, CAT tuning, park/summit reference capture, P2P entry, distance/bearing, and worked-before/dupe feedback. QsoRipper should provide the equivalent workflow through its own engine and UI contracts rather than consuming POTACAT's private spot state.
Behavior
- Selecting a spot can tune the configured radio through existing CAT abstractions.
- Prefill worked callsign, frequency, mode, and the worked POTA/SOTA reference.
- If an activation session is active, retain its local references and session link.
- Never create a QSO until the operator explicitly saves/logs it.
- Handle missing or inferred spot modes visibly.
- Preserve operator edits made after prefill.
- Surface stale spots and tune failures without blocking manual logging.
- Provide worked-before and activation-aware duplicate feedback using existing QSO history.
UX
- Add keyboard commands and discoverable actions in TUI and GUI.
- Keep tune and log as distinct actions even when one shortcut can chain them.
- Return focus to the high-frequency logging field after save.
- Make P2P/S2S references editable before save.
Dependencies
Tests
- Spot-to-form mapping for POTA and SOTA.
- Missing mode, stale spot, tune failure, and operator override cases.
- Active-session P2P/S2S logging.
- TUI/GUI behavior parity.
Acceptance criteria
- A spotted activator can be tuned and prepared for logging without retyping call, frequency, mode, or reference.
- No spot is persisted as a QSO without explicit operator action.
- Active local activation context remains intact.
Parent: #184
Related: #384
Summary
Turn engine-owned POTA/SOTA spots into a fast tune-and-log workflow after the spot feed and first-class portable activity fields exist.
POTACAT is a useful behavioral reference: it combines spot selection, CAT tuning, park/summit reference capture, P2P entry, distance/bearing, and worked-before/dupe feedback. QsoRipper should provide the equivalent workflow through its own engine and UI contracts rather than consuming POTACAT's private spot state.
Behavior
UX
Dependencies
Tests
Acceptance criteria