From 6c8b5e5e8a350771e83fd6444e3faac03606a4a5 Mon Sep 17 00:00:00 2001 From: Wojtek Figat Date: Tue, 4 Apr 2023 17:40:05 +0200 Subject: [PATCH] Improve #970 by using `OptionsChanged` event --- Source/Editor/Modules/UIModule.cs | 13 ++++++------- Source/Editor/Windows/EditorOptionsWindow.cs | 2 -- 2 files changed, 6 insertions(+), 9 deletions(-) diff --git a/Source/Editor/Modules/UIModule.cs b/Source/Editor/Modules/UIModule.cs index 2e106e52e..9f8167731 100644 --- a/Source/Editor/Modules/UIModule.cs +++ b/Source/Editor/Modules/UIModule.cs @@ -356,6 +356,8 @@ namespace FlaxEditor.Modules InitStatusBar(mainWindow); InitDockPanel(mainWindow); + Editor.Options.OptionsChanged += OnOptionsChanged; + // Add dummy control for drawing the main window borders if using a custom style #if PLATFORM_WINDOWS if (!Editor.Options.Options.Interface.UseNativeWindowSystem) @@ -588,13 +590,10 @@ namespace FlaxEditor.Modules cm.AddButton("Information about Flax", () => new AboutDialog().Show()); } - /// - /// Updates the short cut keys for the main menu - /// - public void UpdateMainMenuShortcuts() + private void OnOptionsChanged(FlaxEditor.Options.EditorOptions options) { - var inputOptions = Editor.Options.Options.Input; - + var inputOptions = options.Input; + _menuSaveAll.ShortKeys = inputOptions.Save.ToString(); _menuEditUndo.ShortKeys = inputOptions.Undo.ToString(); _menuEditRedo.ShortKeys = inputOptions.Redo.ToString(); @@ -606,7 +605,7 @@ namespace FlaxEditor.Modules _menuEditFind.ShortKeys = inputOptions.Search.ToString(); _menuGamePlay.ShortKeys = inputOptions.Play.ToString(); _menuGamePause.ShortKeys = inputOptions.Pause.ToString(); - + MainMenuShortcutKeysUpdated?.Invoke(); } diff --git a/Source/Editor/Windows/EditorOptionsWindow.cs b/Source/Editor/Windows/EditorOptionsWindow.cs index 4597eeae5..2942f98c0 100644 --- a/Source/Editor/Windows/EditorOptionsWindow.cs +++ b/Source/Editor/Windows/EditorOptionsWindow.cs @@ -144,8 +144,6 @@ namespace FlaxEditor.Windows } Editor.Options.Apply(_options); - - Editor.UI.UpdateMainMenuShortcuts(); ClearDirtyFlag(); }