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);