feat(chasenew): a row is a spot, and takes the same road
Clicking one tuned the rig and zoomed the panadapter, and stopped there: no mode on the entry, no RST preset, no park or summit reference, and — the one that matters — no word to the decoding application. So picking an FT4 station from Chase new while WSJT-X sat in FT8 left it decoding FT8, which defeats the only thing the window is for. It goes through handleSpotClick now rather than repeating a chosen half of it, so the two can never drift apart again. The mode is handed over where a cluster line would carry it in its comment, which is where that handler looks for it.
This commit is contained in:
+20
-5
@@ -7604,11 +7604,26 @@ export default function App() {
|
||||
{/* Same reflex as clicking a cluster spot: the callsign into the
|
||||
entry, and the rig onto the frequency it was decoded on. */}
|
||||
<ChaseNewPanel onPick={(sp) => {
|
||||
onCallsignInput(sp.call, { force: true });
|
||||
// And the panadapter width too — after the tune settles, for the
|
||||
// same SmartSDR pan-follow reason as handleSpotClick.
|
||||
if (sp.freq_hz) void tuneRigCAT(sp.freq_hz, sp.mode).then(() =>
|
||||
window.setTimeout(() => FlexZoomForSpot(sp.mode ?? '', sp.freq_hz ?? 0).catch(() => {}), 300));
|
||||
// A row here is a spot like any other, so it goes through the
|
||||
// SAME handler as one clicked in the cluster: the rig tunes, the
|
||||
// panadapter follows, the entry takes the mode and its RST
|
||||
// preset, the park and summit references come across — and the
|
||||
// decoding application is told to change mode, which is what an
|
||||
// operator clicking an FT4 row from an FT8 slot is asking for.
|
||||
//
|
||||
// It used to do a hand-picked half of that, so the one thing
|
||||
// Chase new exists for — jumping onto a station — left WSJT-X
|
||||
// decoding the wrong mode.
|
||||
handleSpotClick({
|
||||
dx_call: sp.call,
|
||||
freq_hz: sp.freq_hz ?? 0,
|
||||
band: sp.band,
|
||||
// handleSpotClick infers the mode from the comment the way a
|
||||
// cluster line carries it; the mode is what we have, so it is
|
||||
// what we hand over.
|
||||
comment: sp.mode ?? '',
|
||||
spotter: '',
|
||||
});
|
||||
}} onClose={() => { setShowChaseNew(false); writeUiPref('opslog.showChaseNew', '0'); }} />
|
||||
</div>
|
||||
)}
|
||||
|
||||
Reference in New Issue
Block a user