Show the boxes N1MM shows for each contest

The entry window had a fixed set of boxes with a Name and Comment box beside
the exchange. N1MM lays out one row of boxes per contest and nothing else, so
this does the same: general logging keeps Name and Comment, and a contest gets
the boxes it exchanges.

Two new members on `Contest` carry the cases where the boxes and the log
columns are not the same list:

- `FromExchange1` spreads what was typed in one box across the log columns.
  Where the other station sends a serial or a district code depending on where
  it is, N1MM gives it one box and sorts the value into the number, section or
  zone column from there, so the score and the Cabrillo file read it from the
  same column N1MM does.
- `LogFieldsFor` gives the log window its own column list. Sweepstakes takes
  the whole exchange in one box and logs it in four columns; `SweepstakesExchange`
  parses `72 A 74 SCV` in any order, reading from the last word back as N1MM
  does.

The sent serial is now marked as not required and space steps over it along
with the two report boxes, because nobody types the number going out.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015NZkFxHde1iifAQemFTHxf
This commit is contained in:
2026-09-09 20:12:37 +00:00
co-authored by Claude Opus 5
parent 6e24e00ec8
commit bae40bb04e
47 changed files with 702 additions and 277 deletions
+23 -12
View File
@@ -209,28 +209,37 @@ in again while you are running, and `EsmSendsCorrectedCall` sends the call again
in front of the last message when you have corrected it — copy `SM3AB`, fix it
to `SM3ABC`, and the key sends `SM3ABC TU DL1ABC`.
### Name, comment, and the two lights
### The boxes a contest shows, and the two lights
Beside the exchange are a Name box and a Comment box, as N1MM has them. Neither
is part of the exchange, so neither holds up a contact: they fill the log's Name
and Comment columns, and a contest that exchanges a name uses that instead.
Neither is in the space walk, as neither is in N1MM's; tab reaches both. The name is filled from the call history file when there is one,
and what the call history says in its UserText column appears under the entry
boxes.
The entry window shows the boxes N1MM's entry window shows for that contest and
no others. General logging has a Name box and a Comment box; a contest has the
boxes it exchanges. Two of them are for what this station sends — the report and
the serial number — and both are filled in and stepped over, as they are in
N1MM.
Where the other station sends a serial number or a district code depending on
where it is, there is one box for both, again as in N1MM: what is typed goes in
the exchange column, and the number, section or zone column as well, so the
score and the Cabrillo file read it from the same place N1MM does. Sweepstakes
takes its whole exchange in one box — `72 A 74 SCV`, in any order — and logs it
in four columns.
What the call history says in its UserText column appears under the entry boxes.
### Space and tab
They are not the same key, and N1MM does not treat them as one.
Space moves between the callsign box and the exchange boxes and round again,
stepping over the report boxes, because nobody types 599: leaving the callsign
box fills them with the report for the mode, 599 on CW and digital, 59 on phone.
stepping over the report boxes and the sent serial, because nobody types 599 or
the number going out: leaving the callsign box fills the reports in for the
mode, 599 on CW and digital, 59 on phone.
It also steps over a box this station is not asked for, such as the state in
CQ WW RTTY for a station outside the US and Canada. So in CQ WW, space takes you
from the callsign straight to the zone, and space again brings you back.
Tab walks every box in turn — callsign, the exchange including the reports, the
name and the comment — and round again; shift and tab go the other way. N1MM
Tab walks every box in turn — the callsign and the exchange, the reports
included — and round again; shift and tab go the other way. N1MM
does not touch the tab key at all, so tab there walks its boxes in the order
they are laid out, which is what this does.
@@ -693,7 +702,9 @@ them — `Exchange1` says `SQTC` or `RQTC`, the time, callsign and serial number
of the contact being reported go in the sent report, received report and sent
number columns, and the series such as `9/10` goes in the misc text column. A
log written by either program therefore opens in the other with its QTCs
intact, and a QTC row is written to the Cabrillo file as a `QTC:` record.
intact, and a QTC row is written to the Cabrillo file as a `QTC:` record. The
log window shows both columns under N1MM's headers for them, `Series` and
`QTC?`, so a QTC row can be told from a contact at a glance.
**Ctrl+Z** opens the QTC window for the station being worked, which is the key
N1MM uses. The window is laid out the same way: the header, ten lines of time,