Merge branch 'update-mainmenu-shortkeys' of https://github.com/Tryibion/FlaxEngine into Tryibion-update-mainmenu-shortkeys
This commit is contained in:
@@ -39,6 +39,7 @@ namespace FlaxEditor.Modules
|
|||||||
private ContextMenuButton _menuFileSaveScenes;
|
private ContextMenuButton _menuFileSaveScenes;
|
||||||
private ContextMenuButton _menuFileCloseScenes;
|
private ContextMenuButton _menuFileCloseScenes;
|
||||||
private ContextMenuButton _menuFileGenerateScriptsProjectFiles;
|
private ContextMenuButton _menuFileGenerateScriptsProjectFiles;
|
||||||
|
private ContextMenuButton _menuSaveAll;
|
||||||
private ContextMenuButton _menuEditUndo;
|
private ContextMenuButton _menuEditUndo;
|
||||||
private ContextMenuButton _menuEditRedo;
|
private ContextMenuButton _menuEditRedo;
|
||||||
private ContextMenuButton _menuEditCut;
|
private ContextMenuButton _menuEditCut;
|
||||||
@@ -47,6 +48,7 @@ namespace FlaxEditor.Modules
|
|||||||
private ContextMenuButton _menuEditDelete;
|
private ContextMenuButton _menuEditDelete;
|
||||||
private ContextMenuButton _menuEditDuplicate;
|
private ContextMenuButton _menuEditDuplicate;
|
||||||
private ContextMenuButton _menuEditSelectAll;
|
private ContextMenuButton _menuEditSelectAll;
|
||||||
|
private ContextMenuButton _menuEditFind;
|
||||||
private ContextMenuButton _menuSceneMoveActorToViewport;
|
private ContextMenuButton _menuSceneMoveActorToViewport;
|
||||||
private ContextMenuButton _menuSceneAlignActorWithViewport;
|
private ContextMenuButton _menuSceneAlignActorWithViewport;
|
||||||
private ContextMenuButton _menuSceneAlignViewportWithActor;
|
private ContextMenuButton _menuSceneAlignViewportWithActor;
|
||||||
@@ -136,6 +138,11 @@ namespace FlaxEditor.Modules
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public MainMenuButton MenuHelp { get; private set; }
|
public MainMenuButton MenuHelp { get; private set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Fired when the main menu short cut keys are updated. Can be used to update plugin short cut keys.
|
||||||
|
/// </summary>
|
||||||
|
public event Action MainMenuShortcutKeysUpdated;
|
||||||
|
|
||||||
internal UIModule(Editor editor)
|
internal UIModule(Editor editor)
|
||||||
: base(editor)
|
: base(editor)
|
||||||
{
|
{
|
||||||
@@ -464,11 +471,13 @@ namespace FlaxEditor.Modules
|
|||||||
Parent = mainWindow
|
Parent = mainWindow
|
||||||
};
|
};
|
||||||
|
|
||||||
|
var inputOptions = Editor.Options.Options.Input;
|
||||||
|
|
||||||
// File
|
// File
|
||||||
MenuFile = MainMenu.AddButton("File");
|
MenuFile = MainMenu.AddButton("File");
|
||||||
var cm = MenuFile.ContextMenu;
|
var cm = MenuFile.ContextMenu;
|
||||||
cm.VisibleChanged += OnMenuFileShowHide;
|
cm.VisibleChanged += OnMenuFileShowHide;
|
||||||
cm.AddButton("Save All", "Ctrl+S", Editor.SaveAll);
|
_menuSaveAll = cm.AddButton("Save All", inputOptions.Save.ToString(), Editor.SaveAll);
|
||||||
_menuFileSaveScenes = cm.AddButton("Save scenes", Editor.Scene.SaveScenes);
|
_menuFileSaveScenes = cm.AddButton("Save scenes", Editor.Scene.SaveScenes);
|
||||||
_menuFileCloseScenes = cm.AddButton("Close scenes", Editor.Scene.CloseAllScenes);
|
_menuFileCloseScenes = cm.AddButton("Close scenes", Editor.Scene.CloseAllScenes);
|
||||||
cm.AddSeparator();
|
cm.AddSeparator();
|
||||||
@@ -484,18 +493,18 @@ namespace FlaxEditor.Modules
|
|||||||
MenuEdit = MainMenu.AddButton("Edit");
|
MenuEdit = MainMenu.AddButton("Edit");
|
||||||
cm = MenuEdit.ContextMenu;
|
cm = MenuEdit.ContextMenu;
|
||||||
cm.VisibleChanged += OnMenuEditShowHide;
|
cm.VisibleChanged += OnMenuEditShowHide;
|
||||||
_menuEditUndo = cm.AddButton(string.Empty, "Ctrl+Z", Editor.PerformUndo);
|
_menuEditUndo = cm.AddButton(string.Empty, inputOptions.Undo.ToString(), Editor.PerformUndo);
|
||||||
_menuEditRedo = cm.AddButton(string.Empty, "Ctrl+Y", Editor.PerformRedo);
|
_menuEditRedo = cm.AddButton(string.Empty, inputOptions.Redo.ToString(), Editor.PerformRedo);
|
||||||
cm.AddSeparator();
|
cm.AddSeparator();
|
||||||
_menuEditCut = cm.AddButton("Cut", "Ctrl+X", Editor.SceneEditing.Cut);
|
_menuEditCut = cm.AddButton("Cut", inputOptions.Cut.ToString(), Editor.SceneEditing.Cut);
|
||||||
_menuEditCopy = cm.AddButton("Copy", "Ctrl+C", Editor.SceneEditing.Copy);
|
_menuEditCopy = cm.AddButton("Copy", inputOptions.Copy.ToString(), Editor.SceneEditing.Copy);
|
||||||
_menuEditPaste = cm.AddButton("Paste", "Ctrl+V", Editor.SceneEditing.Paste);
|
_menuEditPaste = cm.AddButton("Paste", inputOptions.Paste.ToString(), Editor.SceneEditing.Paste);
|
||||||
cm.AddSeparator();
|
cm.AddSeparator();
|
||||||
_menuEditDelete = cm.AddButton("Delete", "Del", Editor.SceneEditing.Delete);
|
_menuEditDelete = cm.AddButton("Delete", inputOptions.Delete.ToString(), Editor.SceneEditing.Delete);
|
||||||
_menuEditDuplicate = cm.AddButton("Duplicate", "Ctrl+D", Editor.SceneEditing.Duplicate);
|
_menuEditDuplicate = cm.AddButton("Duplicate", inputOptions.Duplicate.ToString(), Editor.SceneEditing.Duplicate);
|
||||||
cm.AddSeparator();
|
cm.AddSeparator();
|
||||||
_menuEditSelectAll = cm.AddButton("Select all", "Ctrl+A", Editor.SceneEditing.SelectAllScenes);
|
_menuEditSelectAll = cm.AddButton("Select all", inputOptions.SelectAll.ToString(), Editor.SceneEditing.SelectAllScenes);
|
||||||
cm.AddButton("Find", "Ctrl+F", Editor.Windows.SceneWin.Search);
|
_menuEditFind = cm.AddButton("Find", inputOptions.Search.ToString(), Editor.Windows.SceneWin.Search);
|
||||||
|
|
||||||
// Scene
|
// Scene
|
||||||
MenuScene = MainMenu.AddButton("Scene");
|
MenuScene = MainMenu.AddButton("Scene");
|
||||||
@@ -512,8 +521,8 @@ namespace FlaxEditor.Modules
|
|||||||
MenuGame = MainMenu.AddButton("Game");
|
MenuGame = MainMenu.AddButton("Game");
|
||||||
cm = MenuGame.ContextMenu;
|
cm = MenuGame.ContextMenu;
|
||||||
cm.VisibleChanged += OnMenuGameShowHide;
|
cm.VisibleChanged += OnMenuGameShowHide;
|
||||||
_menuGamePlay = cm.AddButton("Play", "F5", Editor.Simulation.RequestStartPlay);
|
_menuGamePlay = cm.AddButton("Play", inputOptions.Play.ToString(), Editor.Simulation.RequestStartPlay);
|
||||||
_menuGamePause = cm.AddButton("Pause", "F6", Editor.Simulation.RequestPausePlay);
|
_menuGamePause = cm.AddButton("Pause", inputOptions.Pause.ToString(), Editor.Simulation.RequestPausePlay);
|
||||||
cm.AddSeparator();
|
cm.AddSeparator();
|
||||||
cm.AddButton("Cook&Run", Editor.Windows.GameCookerWin.BuildAndRun).LinkTooltip("Runs Game Cooker to build the game for this platform and runs the game after.");
|
cm.AddButton("Cook&Run", Editor.Windows.GameCookerWin.BuildAndRun).LinkTooltip("Runs Game Cooker to build the game for this platform and runs the game after.");
|
||||||
cm.AddButton("Run cooked game", Editor.Windows.GameCookerWin.RunCooked).LinkTooltip("Runs the game build from the last cooking output. Use Cook&Play or Game Cooker first.");
|
cm.AddButton("Run cooked game", Editor.Windows.GameCookerWin.RunCooked).LinkTooltip("Runs the game build from the last cooking output. Use Cook&Play or Game Cooker first.");
|
||||||
@@ -579,6 +588,28 @@ namespace FlaxEditor.Modules
|
|||||||
cm.AddButton("Information about Flax", () => new AboutDialog().Show());
|
cm.AddButton("Information about Flax", () => new AboutDialog().Show());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Updates the short cut keys for the main menu
|
||||||
|
/// </summary>
|
||||||
|
public void UpdateMainMenuShortcuts()
|
||||||
|
{
|
||||||
|
var inputOptions = Editor.Options.Options.Input;
|
||||||
|
|
||||||
|
_menuSaveAll.ShortKeys = inputOptions.Save.ToString();
|
||||||
|
_menuEditUndo.ShortKeys = inputOptions.Undo.ToString();
|
||||||
|
_menuEditRedo.ShortKeys = inputOptions.Redo.ToString();
|
||||||
|
_menuEditCut.ShortKeys = inputOptions.Cut.ToString();
|
||||||
|
_menuEditCopy.ShortKeys = inputOptions.Copy.ToString();
|
||||||
|
_menuEditDelete.ShortKeys = inputOptions.Delete.ToString();
|
||||||
|
_menuEditDuplicate.ShortKeys = inputOptions.Duplicate.ToString();
|
||||||
|
_menuEditSelectAll.ShortKeys = inputOptions.SelectAll.ToString();
|
||||||
|
_menuEditFind.ShortKeys = inputOptions.Search.ToString();
|
||||||
|
_menuGamePlay.ShortKeys = inputOptions.Play.ToString();
|
||||||
|
_menuGamePause.ShortKeys = inputOptions.Pause.ToString();
|
||||||
|
|
||||||
|
MainMenuShortcutKeysUpdated?.Invoke();
|
||||||
|
}
|
||||||
|
|
||||||
private void InitToolstrip(RootControl mainWindow)
|
private void InitToolstrip(RootControl mainWindow)
|
||||||
{
|
{
|
||||||
ToolStrip = new ToolStrip(34.0f, MainMenu.Bottom)
|
ToolStrip = new ToolStrip(34.0f, MainMenu.Bottom)
|
||||||
|
|||||||
@@ -144,6 +144,8 @@ namespace FlaxEditor.Windows
|
|||||||
}
|
}
|
||||||
|
|
||||||
Editor.Options.Apply(_options);
|
Editor.Options.Apply(_options);
|
||||||
|
|
||||||
|
Editor.UI.UpdateMainMenuShortcuts();
|
||||||
|
|
||||||
ClearDirtyFlag();
|
ClearDirtyFlag();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user