diff --git a/src/modules/poweraccent/PowerAccent.Core/Services/SettingsService.cs b/src/modules/poweraccent/PowerAccent.Core/Services/SettingsService.cs index 6463dbc9be..4ed8cf9084 100644 --- a/src/modules/poweraccent/PowerAccent.Core/Services/SettingsService.cs +++ b/src/modules/poweraccent/PowerAccent.Core/Services/SettingsService.cs @@ -48,6 +48,7 @@ public class SettingsService if (settings != null) { ActivationKey = settings.Properties.ActivationKey; + InputTime = settings.Properties.InputTime.Value; switch (settings.Properties.ToolbarPosition.Value) { case "Top center": diff --git a/src/settings-ui/Settings.UI.Library/PowerAccentProperties.cs b/src/settings-ui/Settings.UI.Library/PowerAccentProperties.cs index cde414cc71..586eb58249 100644 --- a/src/settings-ui/Settings.UI.Library/PowerAccentProperties.cs +++ b/src/settings-ui/Settings.UI.Library/PowerAccentProperties.cs @@ -16,10 +16,14 @@ namespace Microsoft.PowerToys.Settings.UI.Library [JsonPropertyName("toolbar_position")] public StringProperty ToolbarPosition { get; set; } + [JsonPropertyName("input_time_ms")] + public IntProperty InputTime { get; set; } + public PowerAccentProperties() { ActivationKey = PowerAccentActivationKey.Both; ToolbarPosition = "Top center"; + InputTime = new IntProperty(200); } } } diff --git a/src/settings-ui/Settings.UI.Library/ViewModels/PowerAccentViewModel.cs b/src/settings-ui/Settings.UI.Library/ViewModels/PowerAccentViewModel.cs index b895c8eb14..5f7ebcc6f3 100644 --- a/src/settings-ui/Settings.UI.Library/ViewModels/PowerAccentViewModel.cs +++ b/src/settings-ui/Settings.UI.Library/ViewModels/PowerAccentViewModel.cs @@ -41,6 +41,8 @@ namespace Microsoft.PowerToys.Settings.UI.Library.ViewModels _powerAccentSettings = new PowerAccentSettings(); } + _inputTimeMs = _powerAccentSettings.Properties.InputTime.Value; + switch (_powerAccentSettings.Properties.ToolbarPosition.Value) { case "Top center": @@ -111,6 +113,27 @@ namespace Microsoft.PowerToys.Settings.UI.Library.ViewModels } } + private int _inputTimeMs = 200; + + public int InputTimeMs + { + get + { + return _inputTimeMs; + } + + set + { + if (value != _inputTimeMs) + { + _inputTimeMs = value; + _powerAccentSettings.Properties.InputTime.Value = value; + OnPropertyChanged(nameof(InputTimeMs)); + RaisePropertyChanged(); + } + } + } + private int _toolbarPositionIndex; public int ToolbarPositionIndex diff --git a/src/settings-ui/Settings.UI/Strings/en-us/Resources.resw b/src/settings-ui/Settings.UI/Strings/en-us/Resources.resw index 8ac63706f4..7e4bf35476 100644 --- a/src/settings-ui/Settings.UI/Strings/en-us/Resources.resw +++ b/src/settings-ui/Settings.UI/Strings/en-us/Resources.resw @@ -2328,7 +2328,17 @@ Activate by holding the key for the character you want to add an accent to, then Right - + + Behavior + + + Input delay (ms) + ms = milliseconds + + + Hold the key for this long to make the accent menu appear (ms) + ms = milliseconds + Learn more about Text Extractor diff --git a/src/settings-ui/Settings.UI/Views/PowerAccentPage.xaml b/src/settings-ui/Settings.UI/Views/PowerAccentPage.xaml index d811654f8d..ed405757e6 100644 --- a/src/settings-ui/Settings.UI/Views/PowerAccentPage.xaml +++ b/src/settings-ui/Settings.UI/Views/PowerAccentPage.xaml @@ -55,7 +55,19 @@ - + + + + + + +