From ece4fee8f862d5f83d0e9085fb88c582b808a8dd Mon Sep 17 00:00:00 2001 From: M3Logic Date: Fri, 9 May 2025 08:52:50 -0600 Subject: [PATCH] Allow hotkey specifier to be at any position in label (#4067) Allow hotkey specifier to be at any position in label "D_irectory" doesn't work because hotPos is hardcoded 0 --- Examples/UICatalog/Scenarios/FileDialogExamples.cs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/Examples/UICatalog/Scenarios/FileDialogExamples.cs b/Examples/UICatalog/Scenarios/FileDialogExamples.cs index 646989b30..15b9a1317 100644 --- a/Examples/UICatalog/Scenarios/FileDialogExamples.cs +++ b/Examples/UICatalog/Scenarios/FileDialogExamples.cs @@ -168,7 +168,15 @@ public class FileDialogExamples : Scenario var fd = new FileDialog { OpenMode = Enum.Parse ( - _rgOpenMode.RadioLabels.Select (l => TextFormatter.RemoveHotKeySpecifier(l, 0, _rgOpenMode.HotKeySpecifier)).ToArray() [_rgOpenMode.SelectedItem] + _rgOpenMode.RadioLabels + .Select (l => TextFormatter.FindHotKey (l, _rgOpenMode.HotKeySpecifier, out int hotPos, out Key _) + + // Remove the hotkey specifier at the found position + ? TextFormatter.RemoveHotKeySpecifier (l, hotPos, _rgOpenMode.HotKeySpecifier) + + // No hotkey found, return the label as is + : l) + .ToArray () [_rgOpenMode.SelectedItem] ), MustExist = _cbMustExist.CheckedState == CheckState.Checked, AllowsMultipleSelection = _cbAllowMultipleSelection.CheckedState == CheckState.Checked