From 1863cbdc0e731285e848c904452192247a91976f Mon Sep 17 00:00:00 2001 From: Nathan Baulch Date: Fri, 4 Jul 2025 14:30:40 +1000 Subject: [PATCH] enhance: close all windows with `ESC` --- src/Views/ChromelessWindow.cs | 8 ++++++++ src/Views/Hotkeys.axaml.cs | 10 ---------- src/Views/RepositoryConfigure.axaml.cs | 8 -------- 3 files changed, 8 insertions(+), 18 deletions(-) diff --git a/src/Views/ChromelessWindow.cs b/src/Views/ChromelessWindow.cs index d097275d8..598497e12 100644 --- a/src/Views/ChromelessWindow.cs +++ b/src/Views/ChromelessWindow.cs @@ -73,5 +73,13 @@ private void OnWindowBorderPointerPressed(object sender, PointerPressedEventArgs if (sender is Border { Tag: WindowEdge edge } && CanResize) BeginResizeDrag(edge, e); } + + protected override void OnKeyDown(KeyEventArgs e) + { + base.OnKeyDown(e); + + if (e is { Handled: false, Key: Key.Escape }) + Close(); + } } } diff --git a/src/Views/Hotkeys.axaml.cs b/src/Views/Hotkeys.axaml.cs index ea293b0a0..d8b5e1a87 100644 --- a/src/Views/Hotkeys.axaml.cs +++ b/src/Views/Hotkeys.axaml.cs @@ -1,5 +1,3 @@ -using Avalonia.Input; - namespace SourceGit.Views { public partial class Hotkeys : ChromelessWindow @@ -8,13 +6,5 @@ public Hotkeys() { InitializeComponent(); } - - protected override void OnKeyDown(KeyEventArgs e) - { - base.OnKeyDown(e); - - if (!e.Handled && e.Key == Key.Escape) - Close(); - } } } diff --git a/src/Views/RepositoryConfigure.axaml.cs b/src/Views/RepositoryConfigure.axaml.cs index bd509a701..176509921 100644 --- a/src/Views/RepositoryConfigure.axaml.cs +++ b/src/Views/RepositoryConfigure.axaml.cs @@ -12,14 +12,6 @@ public RepositoryConfigure() InitializeComponent(); } - protected override void OnKeyDown(KeyEventArgs e) - { - base.OnKeyDown(e); - - if (!e.Handled && e.Key == Key.Escape) - Close(); - } - protected override async void OnClosing(WindowClosingEventArgs e) { base.OnClosing(e);