From 6a49b9864dbecac61f8b1774a0e6fb39ef67149c Mon Sep 17 00:00:00 2001 From: mattias Date: Sat, 4 Oct 2014 12:03:46 +0000 Subject: [PATCH] IDE: configure external tools: fixed saving shortcuts git-svn-id: trunk@46428 - --- ide/keymapping.pp | 6 +++--- ide/main.pp | 31 +++++++++++++------------------ 2 files changed, 16 insertions(+), 21 deletions(-) diff --git a/ide/keymapping.pp b/ide/keymapping.pp index e532d70436..1b7e49516f 100644 --- a/ide/keymapping.pp +++ b/ide/keymapping.pp @@ -3049,7 +3049,7 @@ var i: integer; ExtToolCat: TIDECommandCategory; ExtToolRelation: TKeyCommandRelation; - ToolName: string; + ToolLocalizedName: string; cmd: word; CmdRel: TKeyCommandRelation; begin @@ -3058,11 +3058,11 @@ begin if NewCount>fExtToolCount then begin // increase available external tool commands while NewCount>fExtToolCount do begin - ToolName:=Format(srkmecExtTool,[fExtToolCount]); + ToolLocalizedName:=Format(srkmecExtTool,[fExtToolCount]); cmd:=ecExtToolFirst+fExtToolCount; CmdRel:=TKeyCommandRelation.Create(ExtToolCat, Format('External tool %d',[fExtToolCount]), // keep name untranslated - ToolName, cmd); + ToolLocalizedName, cmd); FRelations.Add(CmdRel); inc(fExtToolCount); end; diff --git a/ide/main.pp b/ide/main.pp index 1be8bd0de2..2022f1645e 100644 --- a/ide/main.pp +++ b/ide/main.pp @@ -4395,6 +4395,7 @@ begin SaveEnvironment(true); // save shortcuts to editor options ExternalUserTools.SaveShortCuts(EditorOpts.KeyMap); + EditorOpts.Save; UpdateExternalUserToolsInMenu; end; end; @@ -7576,12 +7577,15 @@ end; procedure TMainIDE.UpdateExternalUserToolsInMenu; var ToolCount: integer; - - procedure CreateToolMenuItems; - var - Section: TIDEMenuSection; - begin - Section:=itmCustomTools; + Section: TIDEMenuSection; + CurMenuItem: TIDEMenuItem; + i: Integer; + ExtTool: TExternalUserTool; +begin + ToolCount:=ExternalUserTools.Count; + Section:=itmCustomTools; + Section.BeginUpdate; + try // add enough menuitems while Section.Count-1ToolCount do Section[Section.Count-1].Free; - end; - procedure SetToolMenuItems; - var - CurMenuItem: TIDEMenuItem; - i: Integer; - ExtTool: TExternalUserTool; - begin + // set caption and command for i:=0 to ToolCount-1 do begin CurMenuItem:=itmCustomTools[i+1]; // Note: the first menu item is the "Configure" ExtTool:=ExternalUserTools[i]; @@ -7606,12 +7604,9 @@ var EditorOpts.KeyMap.FindIDECommand(ecExtToolFirst+i); CurMenuItem.OnClick:=@mnuExternalUserToolClick; end; + finally + Section.EndUpdate; end; - -begin - ToolCount:=ExternalUserTools.Count; - CreateToolMenuItems; - SetToolMenuItems; end; function TMainIDE.PrepareForCompile: TModalResult;