From e1785769b4206dcfc119fee8122e7e2258d623a0 Mon Sep 17 00:00:00 2001 From: MikiraSora Date: Tue, 29 Oct 2024 02:23:44 +0800 Subject: [PATCH] KeyBindingDefinition add DisplayName --- .../KeyBinding/DefaultKeyBindingManager.cs | 2 +- .../Kernel/KeyBinding/KeyBindingDefinition.cs | 2 + .../Dialogs/ConfigKeyBindingDialog.xaml.cs | 2 +- .../ViewModels/KeyBindingSettingViewModel.cs | 2 +- .../Views/KeyBindingSettingView.xaml | 73 ++++++++++++------- .../Properties/Resources.Designer.cs | 27 +++++++ OngekiFumenEditor/Properties/Resources.resx | 11 ++- .../Properties/Resources.zh-Hans.resx | 9 +++ 8 files changed, 96 insertions(+), 32 deletions(-) diff --git a/OngekiFumenEditor/Kernel/KeyBinding/DefaultKeyBindingManager.cs b/OngekiFumenEditor/Kernel/KeyBinding/DefaultKeyBindingManager.cs index eef881fe..e35841b3 100644 --- a/OngekiFumenEditor/Kernel/KeyBinding/DefaultKeyBindingManager.cs +++ b/OngekiFumenEditor/Kernel/KeyBinding/DefaultKeyBindingManager.cs @@ -127,7 +127,7 @@ private static ModifierKeys GetActualModifiers(Key key, ModifierKeys modifiers) public void ChangeKeyBinding(KeyBindingDefinition definition, Key newKey, ModifierKeys newModifier) { - Log.LogInfo($"[{definition.Name}] {KeyBindingDefinition.FormatToExpression(definition.Key, definition.Modifiers)} --> {KeyBindingDefinition.FormatToExpression(newKey, newModifier)}"); + Log.LogInfo($"[{definition.DisplayName}] {KeyBindingDefinition.FormatToExpression(definition.Key, definition.Modifiers)} --> {KeyBindingDefinition.FormatToExpression(newKey, newModifier)}"); definition.Key = newKey; definition.Modifiers = newModifier; diff --git a/OngekiFumenEditor/Kernel/KeyBinding/KeyBindingDefinition.cs b/OngekiFumenEditor/Kernel/KeyBinding/KeyBindingDefinition.cs index 71b552bd..185ea5b3 100644 --- a/OngekiFumenEditor/Kernel/KeyBinding/KeyBindingDefinition.cs +++ b/OngekiFumenEditor/Kernel/KeyBinding/KeyBindingDefinition.cs @@ -18,6 +18,8 @@ public class KeyBindingDefinition : PropertyChangedBase public string Name => Resources.ResourceManager.GetString(resourceName); + public string DisplayName => $"[{Resources.ResourceManager.GetString($"kbd_layer_{Layer}")}]{Name}"; + public KeyBindingDefinition(string resourceName, Key defaultKey, KeyBindingLayer layer = KeyBindingLayer.Normal) : this(resourceName, ModifierKeys.None, defaultKey, layer) { } diff --git a/OngekiFumenEditor/Kernel/SettingPages/KeyBinding/Dialogs/ConfigKeyBindingDialog.xaml.cs b/OngekiFumenEditor/Kernel/SettingPages/KeyBinding/Dialogs/ConfigKeyBindingDialog.xaml.cs index dfdec935..d8c74d14 100644 --- a/OngekiFumenEditor/Kernel/SettingPages/KeyBinding/Dialogs/ConfigKeyBindingDialog.xaml.cs +++ b/OngekiFumenEditor/Kernel/SettingPages/KeyBinding/Dialogs/ConfigKeyBindingDialog.xaml.cs @@ -141,7 +141,7 @@ private void Button_Click_1(object sender, RoutedEventArgs e) { if (ConflictDefinition is not null) { - if (MessageBox.Show($"你绑定的键位和 {ConflictDefinition.Name} 冲突, 如果继续绑定则清空对方冲突的键位, 是否继续?", "警告", MessageBoxButton.YesNo) != MessageBoxResult.Yes) + if (MessageBox.Show($"你绑定的键位和 {ConflictDefinition.DisplayName} 冲突, 如果继续绑定则清空对方冲突的键位, 是否继续?", "警告", MessageBoxButton.YesNo) != MessageBoxResult.Yes) return; } UpdateExpression(); diff --git a/OngekiFumenEditor/Kernel/SettingPages/KeyBinding/ViewModels/KeyBindingSettingViewModel.cs b/OngekiFumenEditor/Kernel/SettingPages/KeyBinding/ViewModels/KeyBindingSettingViewModel.cs index ad1f9286..7c13dd7c 100644 --- a/OngekiFumenEditor/Kernel/SettingPages/KeyBinding/ViewModels/KeyBindingSettingViewModel.cs +++ b/OngekiFumenEditor/Kernel/SettingPages/KeyBinding/ViewModels/KeyBindingSettingViewModel.cs @@ -25,7 +25,7 @@ public KeyBindingSettingViewModel() { keybindingManager = IoC.Get(); - definitions = keybindingManager.KeyBindingDefinations.ToArray(); + definitions = keybindingManager.KeyBindingDefinations.OrderBy(x => x.DisplayName).ToArray(); UpdateDisplayList(); } diff --git a/OngekiFumenEditor/Kernel/SettingPages/KeyBinding/Views/KeyBindingSettingView.xaml b/OngekiFumenEditor/Kernel/SettingPages/KeyBinding/Views/KeyBindingSettingView.xaml index 3ee98830..b416601d 100644 --- a/OngekiFumenEditor/Kernel/SettingPages/KeyBinding/Views/KeyBindingSettingView.xaml +++ b/OngekiFumenEditor/Kernel/SettingPages/KeyBinding/Views/KeyBindingSettingView.xaml @@ -17,32 +17,46 @@ - + - - + + - + - - + + - -