From 350dd60792779c9e59f4fe7f739474e8f259e307 Mon Sep 17 00:00:00 2001 From: Max Katz Date: Mon, 29 May 2023 18:04:51 -0400 Subject: [PATCH] Introduce PlatformHotkeyConfiguration.Instance to the public PAI --- .../Platform/PlatformHotkeyConfiguration.cs | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/src/Avalonia.Base/Input/Platform/PlatformHotkeyConfiguration.cs b/src/Avalonia.Base/Input/Platform/PlatformHotkeyConfiguration.cs index b87ca5eded..a4cf90e221 100644 --- a/src/Avalonia.Base/Input/Platform/PlatformHotkeyConfiguration.cs +++ b/src/Avalonia.Base/Input/Platform/PlatformHotkeyConfiguration.cs @@ -1,16 +1,29 @@ using System.Collections.Generic; - -#nullable enable +using Avalonia.Metadata; namespace Avalonia.Input.Platform { - public class PlatformHotkeyConfiguration + /// + /// The PlatformHotkeyConfiguration class represents a configuration for platform-specific hotkeys in an Avalonia application. + /// + public sealed class PlatformHotkeyConfiguration { + /// + /// Retrieves shared static instance of PlatformHotkeyConfiguration. + /// + /// + /// Return value might be null, when application wasn't yet initialized. + /// + public static PlatformHotkeyConfiguration? Instance => + AvaloniaLocator.Current.GetService(); + + [PrivateApi] public PlatformHotkeyConfiguration() : this(KeyModifiers.Control) { } + [PrivateApi] public PlatformHotkeyConfiguration(KeyModifiers commandModifiers, KeyModifiers selectionModifiers = KeyModifiers.Shift, KeyModifiers wholeWordTextActionModifiers = KeyModifiers.Control)