diff --git a/Source/Editor/GUI/MainMenu.cs b/Source/Editor/GUI/MainMenu.cs
index 66b10f0aa..370ad056b 100644
--- a/Source/Editor/GUI/MainMenu.cs
+++ b/Source/Editor/GUI/MainMenu.cs
@@ -304,6 +304,17 @@ namespace FlaxEditor.GUI
return true;
}
+ ///
+ public override bool OnKeyDown(KeyboardKeys key)
+ {
+ if (base.OnKeyDown(key))
+ return true;
+
+ // Fallback to the edit window for shortcuts
+ var editor = Editor.Instance;
+ return editor.Windows.EditWin.InputActions.Process(editor, this, key);
+ }
+
///
protected override void PerformLayoutAfterChildren()
{
diff --git a/Source/Editor/GUI/ToolStrip.cs b/Source/Editor/GUI/ToolStrip.cs
index 0dac241ed..360d63ffe 100644
--- a/Source/Editor/GUI/ToolStrip.cs
+++ b/Source/Editor/GUI/ToolStrip.cs
@@ -1,6 +1,7 @@
// Copyright (c) 2012-2023 Wojciech Figat. All rights reserved.
using System;
+using FlaxEditor.Windows;
using FlaxEngine;
using FlaxEngine.GUI;
@@ -181,5 +182,25 @@ namespace FlaxEditor.GUI
PerformLayout();
}
+
+ ///
+ public override bool OnKeyDown(KeyboardKeys key)
+ {
+ if (base.OnKeyDown(key))
+ return true;
+
+ // Fallback to the owning window for shortcuts
+ EditorWindow editorWindow = null;
+ ContainerControl c = Parent;
+ while (c != null && editorWindow == null)
+ {
+ editorWindow = c as EditorWindow;
+ c = c.Parent;
+ }
+ var editor = Editor.Instance;
+ if (editorWindow == null)
+ editorWindow = editor.Windows.EditWin; // Fallback to main editor window
+ return editorWindow.InputActions.Process(editor, this, key);
+ }
}
}
diff --git a/Source/Editor/Modules/ContentFindingModule.cs b/Source/Editor/Modules/ContentFindingModule.cs
index ccf1cb3e4..9e8002c8a 100644
--- a/Source/Editor/Modules/ContentFindingModule.cs
+++ b/Source/Editor/Modules/ContentFindingModule.cs
@@ -166,6 +166,8 @@ namespace FlaxEditor.Modules
public void ShowFinder(Control control)
{
var finder = _finder ?? (_finder = new ContentFinder());
+ if (control == null)
+ control = Editor.Instance.Windows.MainWindow.GUI;
var position = (control.Size - new Float2(finder.Width, 300.0f)) * 0.5f;
finder.Show(control, position);
}