Skip Run QSOs on the bandmap and refocus the callsign box after Alt+W

A QSO logged in Run mode is no longer added to the bandmap as a local
spot, including when recent contacts are re-spotted at startup.

Releasing Alt moves focus to the menu bar. Alt+W now sets a flag, and
the Alt key-up handler puts focus back on the callsign box.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-24 13:30:12 +00:00
co-authored by Claude Sonnet 5.5
parent d22787fb66
commit 209c557112
2 changed files with 21 additions and 3 deletions
@@ -102,6 +102,7 @@ public sealed partial class EntryWindow : Window
MainMenu.IsVisible = false;
}
AddHandler(KeyDownEvent, OnWindowKeyDown, RoutingStrategies.Tunnel);
AddHandler(KeyUpEvent, OnWindowKeyUp, RoutingStrategies.Tunnel);
}
@@ -327,6 +328,21 @@ public sealed partial class EntryWindow : Window
Refresh();
}
/// Set by Alt+W. Releasing Alt moves focus to the menu bar, so the
/// callsign box takes focus back when Alt comes up.
private bool refocusOnAltUp;
private void OnWindowKeyUp(object? sender, KeyEventArgs e)
{
if (!refocusOnAltUp || e.Key is not (Key.LeftAlt or Key.RightAlt))
{
return;
}
refocusOnAltUp = false;
e.Handled = true;
boxes[0].Focus();
}
private void OnWindowKeyDown(object? sender, KeyEventArgs e)
{
if (Logging is null)
@@ -420,6 +436,7 @@ public sealed partial class EntryWindow : Window
break;
case Key.W when e.KeyModifiers.HasFlag(KeyModifiers.Alt):
e.Handled = true;
refocusOnAltUp = true;
OnWipeOrRestore(this, new RoutedEventArgs());
break;
case Key.L when e.KeyModifiers.HasFlag(KeyModifiers.Control):