mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-09-28 14:09:40 +02:00
IDE: Buildmode window refactoring.
git-svn-id: trunk@40858 -
This commit is contained in:
parent
8bb045419d
commit
88abff51c5
@ -70,7 +70,7 @@ var
|
||||
OnLoadIDEOptionsHook: TOnLoadIDEOptions;
|
||||
OnSaveIDEOptionsHook: TOnSaveIDEOptions;
|
||||
|
||||
function ShowBuildModesDlg(frm: TBuildModesForm): TModalResult;
|
||||
function ShowBuildModesDlg: TModalResult;
|
||||
procedure SwitchBuildMode(aBuildModeID: string);
|
||||
procedure UpdateBuildModeCombo(aCombo: TComboBox);
|
||||
|
||||
@ -79,26 +79,33 @@ implementation
|
||||
|
||||
{$R *.lfm}
|
||||
|
||||
function ShowBuildModesDlg(frm: TBuildModesForm): TModalResult;
|
||||
function ShowBuildModesDlg: TModalResult;
|
||||
var
|
||||
frm: TBuildModesForm;
|
||||
begin
|
||||
Assert(Assigned(Project1), 'ShowBuildModesDlg: Project is not assigned.');
|
||||
// Save changes
|
||||
OnSaveIDEOptionsHook(Nil, Project1.CompilerOptions);
|
||||
// Copy to dialog
|
||||
frm.fBuildModes.Assign(Project1.BuildModes, True);
|
||||
frm.SetActiveBuildModeByID(Project1.ActiveBuildMode);
|
||||
frm.ShowSession:=Project1.SessionStorage in [pssInProjectDir,pssInIDEConfig];
|
||||
// Show the form. Let user add / edit / delete.
|
||||
Result := frm.ShowModal;
|
||||
if Result = mrOk then
|
||||
begin
|
||||
// Copy back from dialog
|
||||
Project1.BuildModes.Assign(frm.fBuildModes, True);
|
||||
// Switch
|
||||
Project1.ActiveBuildModeID:=frm.fActiveBuildMode.Identifier;
|
||||
IncreaseBuildMacroChangeStamp;
|
||||
// Load options
|
||||
OnLoadIDEOptionsHook(Nil, Project1.CompilerOptions);
|
||||
frm := TBuildModesForm.Create(nil);
|
||||
try
|
||||
Assert(Assigned(Project1), 'ShowBuildModesDlg: Project is not assigned.');
|
||||
// Save changes
|
||||
OnSaveIDEOptionsHook(Nil, Project1.CompilerOptions);
|
||||
// Copy to dialog
|
||||
frm.fBuildModes.Assign(Project1.BuildModes, True);
|
||||
frm.SetActiveBuildModeByID(Project1.ActiveBuildMode);
|
||||
frm.fShowSession:=Project1.SessionStorage in [pssInProjectDir,pssInIDEConfig];
|
||||
// Show the form. Let user add / edit / delete.
|
||||
Result := frm.ShowModal;
|
||||
if Result = mrOk then
|
||||
begin
|
||||
// Copy back from dialog
|
||||
Project1.BuildModes.Assign(frm.fBuildModes, True);
|
||||
// Switch
|
||||
Project1.ActiveBuildModeID:=frm.fActiveBuildMode.Identifier;
|
||||
IncreaseBuildMacroChangeStamp;
|
||||
// Load options
|
||||
OnLoadIDEOptionsHook(Nil, Project1.CompilerOptions);
|
||||
end;
|
||||
finally
|
||||
frm.Free;
|
||||
end;
|
||||
end;
|
||||
|
||||
|
@ -35,7 +35,7 @@ uses
|
||||
TreeFilterEdit, IDEWindowIntf, IDEOptionsIntf, IDECommands, IDEHelpIntf,
|
||||
EnvironmentOpts, LazarusIDEStrConsts, CompOptsIntf, EditorOptions,
|
||||
{$IFDEF NewBuildModeWindow}
|
||||
BuildModesManager, project_save_options;
|
||||
BuildModesManager; //project_save_options;
|
||||
{$ELSE}
|
||||
BuildModesEditor;
|
||||
{$ENDIF}
|
||||
@ -154,6 +154,8 @@ begin
|
||||
if (CategoryTree.Selected<>nil) and (CategoryTree.Selected.Parent<>nil) then
|
||||
CategoryTree.TopItem:=CategoryTree.Selected.Parent;
|
||||
{$IFDEF NewBuildModeWindow}
|
||||
BuildModesManager.OnLoadIDEOptionsHook := @LoadIDEOptions;
|
||||
BuildModesManager.OnSaveIDEOptionsHook := @SaveIDEOptions;
|
||||
UpdateBuildModeCombo(BuildModeComboBox);
|
||||
{$ENDIF}
|
||||
end;
|
||||
@ -240,22 +242,10 @@ begin
|
||||
end;
|
||||
|
||||
procedure TIDEOptionsDialog.BuildModeManageButtonClick(Sender: TObject);
|
||||
{$IFDEF NewBuildModeWindow}
|
||||
var
|
||||
frm: TBuildModesForm;
|
||||
{$ENDIF}
|
||||
begin
|
||||
{$IFDEF NewBuildModeWindow}
|
||||
BuildModesManager.OnLoadIDEOptionsHook := @LoadIDEOptions;
|
||||
BuildModesManager.OnSaveIDEOptionsHook := @SaveIDEOptions;
|
||||
frm := TBuildModesForm.Create(nil);
|
||||
try
|
||||
if ShowBuildModesDlg(frm) = mrOK then begin
|
||||
UpdateBuildModeCombo(BuildModeComboBox);
|
||||
end;
|
||||
finally
|
||||
frm.Free;
|
||||
end;
|
||||
if ShowBuildModesDlg = mrOK then
|
||||
UpdateBuildModeCombo(BuildModeComboBox);
|
||||
{$ENDIF}
|
||||
end;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user