mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-04-10 11:48:31 +02:00
git-svn-id: trunk@51166 -
This commit is contained in:
parent
6ddab55a35
commit
56c31e9131
65
ide/main.pp
65
ide/main.pp
@ -434,7 +434,6 @@ type
|
||||
procedure DoCodeExplorerOptionsAfterWrite(Sender: TObject; Restore: boolean);
|
||||
procedure DoProjectOptionsBeforeRead(Sender: TObject);
|
||||
procedure DoProjectOptionsAfterWrite(Sender: TObject; Restore: boolean);
|
||||
procedure DoCompilerOptionsAfterWrite(Sender: TObject; Restore: boolean);
|
||||
procedure OnCompilerOptionsDialogTest(Sender: TObject);
|
||||
function DoTestCompilerSettings(TheCompilerOptions: TCompilerOptions): TModalResult;
|
||||
function OnCheckCompOptsAndMainSrcForNewUnit(CompOpts: TLazCompilerOptions): TModalResult;
|
||||
@ -4820,6 +4819,7 @@ end;
|
||||
procedure TMainIDE.DoProjectOptionsAfterWrite(Sender: TObject; Restore: boolean);
|
||||
var
|
||||
AProject: TProject;
|
||||
aFilename: String;
|
||||
|
||||
function GetTitle: String;
|
||||
begin
|
||||
@ -4905,8 +4905,12 @@ var
|
||||
begin
|
||||
//debugln(['TMainIDE.DoProjectOptionsAfterWrite ',DbgSName(Sender),' Restore=',Restore]);
|
||||
AProject:=(Sender as TProjectIDEOptions).Project;
|
||||
if not Restore then
|
||||
if Restore then
|
||||
begin
|
||||
AProject.RestoreBuildModes;
|
||||
AProject.RestoreSession;
|
||||
end
|
||||
else begin
|
||||
SetTitle;
|
||||
SetAutoCreateForms;
|
||||
// extend include path
|
||||
@ -4918,10 +4922,26 @@ begin
|
||||
mtWarning, [mbOk]);
|
||||
end;
|
||||
UpdateCaption;
|
||||
end;
|
||||
if Restore then
|
||||
begin
|
||||
AProject.RestoreSession;
|
||||
AProject.DefineTemplates.AllChanged;
|
||||
IncreaseCompilerParseStamp;
|
||||
MainBuildBoss.SetBuildTargetProject1(false);
|
||||
|
||||
if AProject.UseAsDefault then
|
||||
begin
|
||||
// save as default
|
||||
aFilename:=AppendPathDelim(GetPrimaryConfigPath)+DefaultProjectOptionsFilename;
|
||||
AProject.WriteProject([pwfSkipSeparateSessionInfo,pwfIgnoreModified],
|
||||
aFilename,EnvironmentOptions.BuildMatrixOptions);
|
||||
end;
|
||||
|
||||
Project1.UpdateAllSyntaxHighlighter;
|
||||
SourceEditorManager.BeginGlobalUpdate;
|
||||
try
|
||||
UpdateHighlighters(True);
|
||||
SourceEditorManager.ReloadEditorOptions;
|
||||
finally
|
||||
SourceEditorManager.EndGlobalUpdate;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
@ -6045,7 +6065,6 @@ begin
|
||||
Result.OnChangeProjectInfoFile:=@OnProjectChangeInfoFile;
|
||||
Result.IDEOptions.OnBeforeRead:=@DoProjectOptionsBeforeRead;
|
||||
Result.IDEOptions.OnAfterWrite:=@DoProjectOptionsAfterWrite;
|
||||
Result.OnCompilerOptionsAfterWrite := @DoCompilerOptionsAfterWrite;
|
||||
end;
|
||||
|
||||
function TMainIDE.DoNewProject(ProjectDesc: TProjectDescriptor): TModalResult;
|
||||
@ -6756,38 +6775,6 @@ begin
|
||||
DoBuildProject(crCompile, []);
|
||||
end;
|
||||
|
||||
procedure TMainIDE.DoCompilerOptionsAfterWrite(Sender: TObject; Restore: boolean);
|
||||
var
|
||||
AProject: TProject;
|
||||
aFilename: string;
|
||||
begin
|
||||
AProject:=(Sender as TProjectCompilerOptions).Project;
|
||||
|
||||
if Restore then
|
||||
AProject.RestoreBuildModes
|
||||
else begin
|
||||
AProject.DefineTemplates.AllChanged;
|
||||
IncreaseCompilerParseStamp;
|
||||
MainBuildBoss.SetBuildTargetProject1(false);
|
||||
if AProject.UseAsDefault then
|
||||
begin
|
||||
// save as default
|
||||
aFilename:=AppendPathDelim(GetPrimaryConfigPath)+DefaultProjectOptionsFilename;
|
||||
AProject.WriteProject([pwfSkipSeparateSessionInfo,pwfIgnoreModified],
|
||||
aFilename,EnvironmentOptions.BuildMatrixOptions);
|
||||
end;
|
||||
|
||||
Project1.UpdateAllSyntaxHighlighter;
|
||||
SourceEditorManager.BeginGlobalUpdate;
|
||||
try
|
||||
UpdateHighlighters(True);
|
||||
SourceEditorManager.ReloadEditorOptions;
|
||||
finally
|
||||
SourceEditorManager.EndGlobalUpdate;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TMainIDE.DoQuickCompile;
|
||||
begin
|
||||
DoBuildProject(crCompile,[pbfSkipLinking,pbfSkipTools,pbfSkipAssembler]);
|
||||
|
@ -552,7 +552,6 @@ type
|
||||
property BuildMode: TProjectBuildMode read FBuildMode;
|
||||
published
|
||||
property CompileReasons: TCompileReasons read FCompileReasons write FCompileReasons;
|
||||
property Project: TProject read FProject;
|
||||
end;
|
||||
|
||||
{ TProjectDefineTemplates }
|
||||
@ -618,7 +617,6 @@ type
|
||||
function GetItems(Index: integer): TProjectBuildMode;
|
||||
function GetModified: boolean;
|
||||
procedure OnItemChanged(Sender: TObject);
|
||||
procedure CompilerOptionsAfterWrite(Sender: TObject; Restore: boolean);
|
||||
procedure SetModified(const AValue: boolean);
|
||||
// Used by LoadFromXMLConfig
|
||||
procedure AddMatrixMacro(const MacroName, MacroValue, ModeIdentifier: string; InSession: boolean);
|
||||
@ -741,7 +739,6 @@ type
|
||||
FOnLoadProjectInfo: TOnLoadProjectInfo;
|
||||
FOnSaveProjectInfo: TOnSaveProjectInfo;
|
||||
FOnSaveUnitSessionInfo: TOnSaveUnitSessionInfoInfo;
|
||||
FOnCompilerOptionsAfterWrite: TIDEOptionsWriteEvent;
|
||||
fPathDelimChanged: boolean; // PathDelim in system and current config differ (see StorePathDelim and SessionStorePathDelim)
|
||||
FPOOutputDirectory: string;
|
||||
fProjectDirectory: string;
|
||||
@ -839,7 +836,6 @@ type
|
||||
procedure SaveToLPI;
|
||||
procedure SaveToSession;
|
||||
function DoWrite(Filename: String; IsLpi: Boolean): TModalResult;
|
||||
procedure CompilerOptionsAfterWrite(Sender: TObject; Restore: boolean);
|
||||
protected
|
||||
function GetActiveBuildModeID: string; override;
|
||||
function GetDefineTemplates: TProjPackDefineTemplates;
|
||||
@ -1085,8 +1081,6 @@ type
|
||||
write FOnSaveProjectInfo;
|
||||
property OnSaveUnitSessionInfo: TOnSaveUnitSessionInfoInfo
|
||||
read FOnSaveUnitSessionInfo write FOnSaveUnitSessionInfo;
|
||||
property OnCompilerOptionsAfterWrite: TIDEOptionsWriteEvent
|
||||
read FOnCompilerOptionsAfterWrite write FOnCompilerOptionsAfterWrite;
|
||||
property POOutputDirectory: string read FPOOutputDirectory write SetPOOutputDirectory;
|
||||
property ProjectDirectory: string read fProjectDirectory;
|
||||
property ProjectInfoFile: string read GetProjectInfoFile write SetProjectInfoFile;
|
||||
@ -3413,7 +3407,7 @@ end;
|
||||
|
||||
procedure TProject.RestoreBuildModes;
|
||||
begin
|
||||
if FBuildModesBackup.Count = 0 then Exit;
|
||||
Assert(FBuildModesBackup.Count>0, 'TProject.RestoreBuildModes: FBuildModesBackup.Count=0');
|
||||
ActiveBuildMode:=nil;
|
||||
BuildModes.Assign(FBuildModesBackup,true);
|
||||
if (FActiveBuildModeBackup>=0) and (FActiveBuildModeBackup<BuildModes.Count)
|
||||
@ -3421,8 +3415,6 @@ begin
|
||||
ActiveBuildMode:=BuildModes[FActiveBuildModeBackup]
|
||||
else
|
||||
ActiveBuildMode:=BuildModes[0];
|
||||
// Must be cleared for the next time because BackupBuildModes may not be called.
|
||||
FBuildModesBackup.Clear;
|
||||
end;
|
||||
|
||||
function TProject.GetTitle: string;
|
||||
@ -4738,12 +4730,6 @@ begin
|
||||
Units[i].ClearUnitComponentDependencies(ClearTypes);
|
||||
end;
|
||||
|
||||
procedure TProject.CompilerOptionsAfterWrite(Sender: TObject; Restore: boolean);
|
||||
begin
|
||||
if Assigned(FOnCompilerOptionsAfterWrite) then
|
||||
FOnCompilerOptionsAfterWrite(Sender, Restore);
|
||||
end;
|
||||
|
||||
procedure TProject.FindUnitsUsingSubComponent(SubComponent: TComponent;
|
||||
List: TFPList; IgnoreOwner: boolean);
|
||||
|
||||
@ -6769,12 +6755,6 @@ begin
|
||||
SessionMatrixOptions.Clear;
|
||||
end;
|
||||
|
||||
procedure TProjectBuildModes.CompilerOptionsAfterWrite(Sender: TObject;
|
||||
Restore: boolean);
|
||||
begin
|
||||
LazProject.CompilerOptionsAfterWrite(Sender, Restore);
|
||||
end;
|
||||
|
||||
function TProjectBuildModes.IsEqual(OtherModes: TProjectBuildModes): boolean;
|
||||
var
|
||||
i: Integer;
|
||||
@ -6858,7 +6838,6 @@ begin
|
||||
if LazProject<>nil then
|
||||
Result.CompilerOptions.BaseDirectory:=LazProject.ProjectDirectory;
|
||||
Result.AddOnChangedHandler(@OnItemChanged);
|
||||
Result.CompilerOptions.OnAfterWrite:=@CompilerOptionsAfterWrite;
|
||||
fItems.Add(Result);
|
||||
end;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user