From 2eaea5eb942fec73d3daf78af2cc706999f9b4f9 Mon Sep 17 00:00:00 2001 From: mattias Date: Mon, 3 Jun 2013 17:29:34 +0000 Subject: [PATCH] IDE: build modes diff: do not show current mode in tree git-svn-id: trunk@41516 - --- ide/buildmodediffdlg.pas | 45 ++++++++++++++++++++------------------- ide/buildmodesmanager.pas | 2 +- 2 files changed, 24 insertions(+), 23 deletions(-) diff --git a/ide/buildmodediffdlg.pas b/ide/buildmodediffdlg.pas index 4aea1a747a..9fee1c6bd7 100644 --- a/ide/buildmodediffdlg.pas +++ b/ide/buildmodediffdlg.pas @@ -46,28 +46,29 @@ type procedure ModeComboBoxChange(Sender: TObject); private FBaseMode: TProjectBuildMode; - fProject: TProject; + FBuildModes: TProjectBuildModes; procedure FillModeComboBox; procedure FillDiffTreeView; public procedure SetBuildMode(aMode: TProjectBuildMode); - property LazProject: TProject read fProject; + property BuildModes: TProjectBuildModes read FBuildModes write FBuildModes; property BaseMode: TProjectBuildMode read FBaseMode; end; -function ShowBuildModeDiffDialog(AProject: TProject; aMode: TProjectBuildMode): TModalResult; +function ShowBuildModeDiffDialog(BuildModes: TProjectBuildModes; aMode: TProjectBuildMode): TModalResult; procedure AddDiff(MatrixOptions: TBuildMatrixOptions; OldMode, NewMode: string; Diff: TStrings); implementation -function ShowBuildModeDiffDialog(AProject: TProject; aMode: TProjectBuildMode): TModalResult; +function ShowBuildModeDiffDialog(BuildModes: TProjectBuildModes; + aMode: TProjectBuildMode): TModalResult; var BuildModeDiffDialog: TBuildModeDiffDialog; begin BuildModeDiffDialog:=TBuildModeDiffDialog.Create(nil); try - BuildModeDiffDialog.fProject:=AProject; + BuildModeDiffDialog.BuildModes:=BuildModes; BuildModeDiffDialog.SetBuildMode(aMode); Result:=BuildModeDiffDialog.ShowModal; finally @@ -119,14 +120,14 @@ procedure TBuildModeDiffDialog.ModeComboBoxChange(Sender: TObject); var i: Integer; begin - if fProject<>nil then - for i:=0 to fProject.BuildModes.Count-1 do - if UTF8CompareText(fProject.BuildModes[i].GetCaption,ModeComboBox.Text)=0 - then begin - fBaseMode:=fProject.BuildModes[i]; - FillDiffTreeView; - break; - end; + if BuildModes=nil then exit; + for i:=0 to BuildModes.Count-1 do + if UTF8CompareText(BuildModes[i].GetCaption,ModeComboBox.Text)=0 + then begin + fBaseMode:=BuildModes[i]; + FillDiffTreeView; + break; + end; end; procedure TBuildModeDiffDialog.FillModeComboBox; @@ -136,9 +137,9 @@ var begin sl:=TStringList.Create; try - if fProject<>nil then - for i:=0 to fProject.BuildModes.Count-1 do - sl.Add(fProject.BuildModes[i].GetCaption); + if BuildModes<>nil then + for i:=0 to BuildModes.Count-1 do + sl.Add(BuildModes[i].GetCaption); ModeComboBox.Items.Assign(sl); if BaseMode<>nil then begin ModeComboBox.Text:=BaseMode.GetCaption; @@ -162,11 +163,11 @@ var begin DiffTreeView.BeginUpdate; DiffTreeView.Items.Clear; - if fProject<>nil then + if BuildModes<>nil then begin - for i := 0 to fProject.BuildModes.Count - 1 do + for i := 0 to BuildModes.Count - 1 do begin - CurMode:=fProject.BuildModes[i]; + CurMode:=BuildModes[i]; if CurMode=BaseMode then continue; ModeNode:=DiffTreeView.Items.Add(nil,CurMode.GetCaption); Diff:=TStringList.Create; @@ -174,9 +175,9 @@ begin BaseMode.CreateDiff(CurMode,DiffTool); AddDiff(EnvironmentOptions.BuildMatrixOptions, CurMode.Identifier,BaseMode.Identifier,Diff); - AddDiff(fProject.BuildModes.SharedMatrixOptions, + AddDiff(BuildModes.SharedMatrixOptions, CurMode.Identifier,BaseMode.Identifier,Diff); - AddDiff(fProject.BuildModes.SessionMatrixOptions, + AddDiff(BuildModes.SessionMatrixOptions, CurMode.Identifier,BaseMode.Identifier,Diff); for j:=0 to Diff.Count-1 do DiffTreeView.Items.AddChild(ModeNode,Diff[j]); @@ -193,7 +194,7 @@ begin if aMode<>nil then begin if aMode.LazProject<>nil then - fProject:=aMode.LazProject; + BuildModes:=aMode.LazProject.BuildModes; FBaseMode:=aMode; end else begin diff --git a/ide/buildmodesmanager.pas b/ide/buildmodesmanager.pas index 281ed8ba55..6c5e80059b 100644 --- a/ide/buildmodesmanager.pas +++ b/ide/buildmodesmanager.pas @@ -213,7 +213,7 @@ end; procedure TBuildModesForm.BuildModeDiffSpeedButtonClick(Sender: TObject); begin // show diff dialog - ShowBuildModeDiffDialog(Project1,GetSelectedBuildMode); + ShowBuildModeDiffDialog(BuildModes,GetSelectedBuildMode); end; procedure TBuildModesForm.BuildModeAddSpeedButtonClick(Sender: TObject);