diff --git a/IDE/src/Commands.bf b/IDE/src/Commands.bf index 0b3ba082..8476f587 100644 --- a/IDE/src/Commands.bf +++ b/IDE/src/Commands.bf @@ -90,10 +90,11 @@ namespace IDE { if (mParent == null) return; + int startIdx = strBuffer.Length; mParent.ToString(strBuffer); if (mBoundKeyState != null) { - if (!strBuffer.IsEmpty) + if (strBuffer.Length > startIdx) strBuffer.Append(", "); mBoundKeyState.ToString(strBuffer); } diff --git a/IDE/src/IDEApp.bf b/IDE/src/IDEApp.bf index 945dc50e..00eef23b 100644 --- a/IDE/src/IDEApp.bf +++ b/IDE/src/IDEApp.bf @@ -5402,6 +5402,20 @@ namespace IDE sysMenu.Modify(null, null, null, true, checkVal ? 1 : 0); } + public Menu AddMenuItem(Menu menu, StringView label, StringView command = default) + { + var command; + if (command.IsEmpty) + command = label; + String labelStr = scope String(label); + if (mCommands.mCommandMap.TryGetAlt(command, var matchKey, var ideCommand)) + { + labelStr.Append("|"); + ideCommand.ToString(labelStr); + } + return menu.AddItem(labelStr); + } + public bool AreTestsRunning() { return (mTestManager != null); diff --git a/IDE/src/ui/ProjectPanel.bf b/IDE/src/ui/ProjectPanel.bf index 500fc926..0dd174ef 100644 --- a/IDE/src/ui/ProjectPanel.bf +++ b/IDE/src/ui/ProjectPanel.bf @@ -2717,7 +2717,7 @@ namespace IDE.ui }); } - item = menu.AddItem("Remove..."); + item = menu.AddItem("Remove...|Del"); if (gApp.IsCompiling) item.SetDisabled(true); item.mOnMenuItemSelected.Add(new (item) => @@ -2725,7 +2725,7 @@ namespace IDE.ui RemoveSelectedItems(); }); - item = menu.AddItem("Rename"); + item = gApp.AddMenuItem(menu, "Rename", "Rename Item"); if (gApp.IsCompiling) item.SetDisabled(true); item.mOnMenuItemSelected.Add(new (item) => @@ -2769,13 +2769,13 @@ namespace IDE.ui if ((projectItem != null) && (!isProject)) { - item = menu.AddItem("Remove ..."); + item = menu.AddItem("Remove ...|Del"); item.mOnMenuItemSelected.Add(new (item) => { RemoveSelectedItems(); }); - item = menu.AddItem("Rename"); + item = gApp.AddMenuItem(menu, "Rename", "Rename Item"); item.mOnMenuItemSelected.Add(new (item) => { var projectItem = GetSelectedProjectItem(); diff --git a/IDE/src/ui/SourceEditWidgetContent.bf b/IDE/src/ui/SourceEditWidgetContent.bf index 5bc1987d..da3d770c 100644 --- a/IDE/src/ui/SourceEditWidgetContent.bf +++ b/IDE/src/ui/SourceEditWidgetContent.bf @@ -4819,15 +4819,15 @@ namespace IDE.ui { Menu menuItem; - menuItem = menu.AddItem("Go to Definition"); + menuItem = gApp.AddMenuItem(menu, "Go to Definition", "Goto Definition"); menuItem.SetDisabled(!hasText); menuItem.mOnMenuItemSelected.Add(new (evt) => gApp.GoToDefinition(true)); - menuItem = menu.AddItem("Find All References"); + menuItem = gApp.AddMenuItem(menu, "Find All References"); menuItem.SetDisabled(!hasText); menuItem.mOnMenuItemSelected.Add(new (evt) => gApp.Cmd_FindAllReferences()); - menuItem = menu.AddItem("Rename Symbol"); + menuItem = gApp.AddMenuItem(menu, "Rename Symbol"); menuItem.SetDisabled(!hasText); menuItem.mOnMenuItemSelected.Add(new (evt) => gApp.Cmd_RenameSymbol()); @@ -4950,11 +4950,11 @@ namespace IDE.ui menu.AddItem(); var debugger = IDEApp.sApp.mDebugger; bool isPaused = debugger.IsPaused(); - menuItem = menu.AddItem("Show Disassembly"); + menuItem = gApp.AddMenuItem(menu, "Show Disassembly"); menuItem.SetDisabled(!isPaused); menuItem.mOnMenuItemSelected.Add(new (evt) => IDEApp.sApp.ShowDisassemblyAtCursor()); - menuItem = menu.AddItem("Set Next Statement"); + menuItem = gApp.AddMenuItem(menu, "Set Next Statement"); menuItem.SetDisabled(!isPaused); menuItem.mOnMenuItemSelected.Add(new (evt) => IDEApp.sApp.[Friend]SetNextStatement());