IDE: Hide build modes in "Additions and Overrides" when UseBuildModes=False.

git-svn-id: trunk@42035 -
This commit is contained in:
juha 2013-07-09 11:40:17 +00:00
parent 24630c451b
commit 659c0cca28
2 changed files with 41 additions and 28 deletions

View File

@ -665,8 +665,9 @@ var
begin
if aTyp='' then
aTyp:=Grid.TypeColumn.PickList.Names[0];
NewRow:=Grid.Matrix.AddValue(Group,Grid.Modes[Grid.ActiveMode].Caption,aTyp,
aValue,CreateBuildMatrixOptionGUID);
if EnvironmentOptions.UseBuildModes then
NewRow:=Grid.Matrix.AddValue(Group,Grid.Modes[Grid.ActiveMode].Caption,aTyp,
aValue,CreateBuildMatrixOptionGUID);
end;
begin
@ -827,41 +828,47 @@ end;
procedure TCompOptModeMatrixFrame.UpdateModes(UpdateGrid: boolean);
var
i: Integer;
BuildMode: TProjectBuildMode;
aColor: TColor;
GridHasChanged: Boolean;
aMode: TGroupedMatrixMode;
BuildModes: TProjectBuildModes;
ValuesHaveChanged: Boolean;
aMode: TGroupedMatrixMode;
BuildMode: TProjectBuildMode;
BuildModes: TProjectBuildModes;
BuildModeCount: integer;
begin
GridHasChanged:=false;
ValuesHaveChanged:=false;
// add/update build modes
BuildModes:=LazProject.BuildModes;
for i:=0 to BuildModes.Count-1 do begin
BuildMode:=BuildModes[i];
aColor:=clDefault;
if BuildMode.InSession then aColor:=SessionColor;
if i=Grid.Modes.Count then begin
Grid.Modes.Add(BuildMode.Identifier,aColor);
GridHasChanged:=true;
end
else begin
aMode:=Grid.Modes[i];
//debugln(['TCompOptModeMatrix.UpdateModes aMode.Caption=',aMode.Caption,' BuildMode.Identifier=',BuildMode.Identifier]);
if aMode.Caption<>BuildMode.Identifier then begin
aMode.Caption:=BuildMode.Identifier;
if EnvironmentOptions.UseBuildModes then begin
for i:=0 to BuildModes.Count-1 do begin
BuildMode:=BuildModes[i];
aColor:=clDefault;
if BuildMode.InSession then aColor:=SessionColor;
if i=Grid.Modes.Count then begin
Grid.Modes.Add(BuildMode.Identifier,aColor);
GridHasChanged:=true;
end;
if aMode.Color<>aColor then begin
ValuesHaveChanged:=true;
aMode.Color:=aColor;
end
else begin
aMode:=Grid.Modes[i];
//debugln(['TCompOptModeMatrix.UpdateModes aMode.Caption=',aMode.Caption,' BuildMode.Identifier=',BuildMode.Identifier]);
if aMode.Caption<>BuildMode.Identifier then begin
aMode.Caption:=BuildMode.Identifier;
GridHasChanged:=true;
end;
if aMode.Color<>aColor then begin
ValuesHaveChanged:=true;
aMode.Color:=aColor;
end;
end;
end;
end;
// delete build modes
while Grid.Modes.Count>BuildModes.Count do begin
BuildModeCount:=BuildModes.Count;
end
else
BuildModeCount:=0;
// delete leftover build modes
while Grid.Modes.Count>BuildModeCount do begin
Grid.Modes.Delete(Grid.Modes.Count-1);
GridHasChanged:=true;
end;
@ -883,9 +890,11 @@ procedure TCompOptModeMatrixFrame.UpdateActiveMode;
var
i: Integer;
begin
if LazProject=nil then exit;
i:=LazProject.BuildModes.IndexOf(LazProject.ActiveBuildMode);
if (i<0) or (i>=Grid.Modes.Count) then exit;
if EnvironmentOptions.UseBuildModes then
i:=LazProject.BuildModes.IndexOf(LazProject.ActiveBuildMode)
else
i:=-1;
if i>=Grid.Modes.Count then exit;
Grid.ActiveMode:=i;
end;

View File

@ -598,6 +598,7 @@ end;
procedure TIDEOptionsDialog.UpdateBuildModeButtons;
var
ManyBuildModes: Boolean;
ModeMatrix: TCompOptModeMatrixFrame;
begin
ManyBuildModes:=Project1.BuildModes.Count > 1;
if ManyBuildModes then
@ -606,6 +607,9 @@ begin
UseBuildModeCheckBox.Visible := not ManyBuildModes;
BuildModeComboBox.Visible := EnvironmentOptions.UseBuildModes;
BuildModeManageButton.Visible := EnvironmentOptions.UseBuildModes;
ModeMatrix:=TCompOptModeMatrixFrame(FindEditor(TCompOptModeMatrixFrame));
if Assigned(ModeMatrix) then
ModeMatrix.UpdateModes;
end;
procedure TIDEOptionsDialog.SetBuildModeVisibility(AVisibility: Boolean);