Walk the QTC window the way N1MM walks it
Four changes to the QTC window, three of them N1MM's behaviour and one an addition. Tab, enter and space all move to the next box the operator types in, and shift and tab move back. The walk covers those boxes and nothing else. N1MM handles the three keys in every box itself — `QTCLinesA_KeyDown` and its two siblings, with `PreviewKeyDown` claiming Tab — rather than leaving them to the tab order, so the cursor never lands on a switched-off line or on a button beside one. Tab was going to Avalonia's default walk, which covered every control in the window. The header now says how many lines take traffic. `QTCHeader_LostFocus` reads the count after the last `/` and hands it to `ColorizeCWRXFields`, which enables that many lines and switches off the rest, capped by how many of the station's ten are still free. All ten were live whatever the header said. Nothing already typed is cleared, which N1MM does under `DontErase`. A time typed short is filled in from the line above as the cursor leaves the box: `52` under `1148` reads as `1152`. `QTCLinesA_LostFocus` takes as many characters off the front of the line above as the typed part is missing, and drops a colon whatever the length. `QtcTraffic.FillTime` is that rule. The addition: while the cursor is in a QTC callsign box the check window answers for that call rather than the entry window's, so a call taken down in traffic is checked the same way one being worked is. `CheckWindowSources` takes the call from `Elsewhere` when the QTC window has set it. Checked by driving the window: header `4/5` left five lines live and read "1 of 5", tab walked header to time to call to serial to the next line's time, shift and tab walked back, `52` on the second line became `1152`, and the check window listed W1AW while `W1A` was typed in a QTC line. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015NZkFxHde1iifAQemFTHxf
This commit is contained in:
@@ -26,7 +26,7 @@
|
||||
<Grid Name="Lines" Margin="0,6,0,0" />
|
||||
<TextBlock Name="KeysText" FontSize="11" Opacity="0.7" Margin="0,6,0,0" />
|
||||
<TextBlock FontSize="11" Opacity="0.7" TextWrapping="Wrap" MaxWidth="420"
|
||||
Text="Enter, Tab move forward — space moves within a QTC line. Green = saved, red = not filled, yellow = format error." />
|
||||
Text="Tab, enter and space move to the next box, shift and tab back. Green = saved, red = not filled, yellow = format error." />
|
||||
<StackPanel Orientation="Horizontal" HorizontalAlignment="Right" Spacing="6" Margin="0,6,0,0">
|
||||
<TextBlock Name="StatusText" VerticalAlignment="Center" FontSize="11" Opacity="0.7" />
|
||||
<Button Name="ClearButton" Content="Clear" Click="OnClear" />
|
||||
|
||||
Reference in New Issue
Block a user