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:
@@ -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):
|
||||
|
||||
Reference in New Issue
Block a user