Revert r51068 and r51087 #181b205220 + cleanup. Issues #28059 and #29292.

git-svn-id: trunk@51166 -
This commit is contained in:
juha 2016-01-03 16:47:52 +00:00
parent 6ddab55a35
commit 56c31e9131
2 changed files with 27 additions and 61 deletions

View File

@ -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]);

View File

@ -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;