mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-04-10 02:28:04 +02:00
IDE: fixed saving environment on every change
git-svn-id: trunk@36574 -
This commit is contained in:
parent
6f022b3bae
commit
cea599f60f
@ -1355,7 +1355,6 @@ var
|
||||
CurLazDir: String;
|
||||
BaseDir: String;
|
||||
begin
|
||||
//DumpStack;
|
||||
Cfg:=nil;
|
||||
try
|
||||
XMLConfig:=GetXMLCfg(true);
|
||||
|
23
ide/main.pp
23
ide/main.pp
@ -645,6 +645,7 @@ type
|
||||
FApplicationIsActivate: boolean;
|
||||
FCheckingFilesOnDisk: boolean;
|
||||
FCheckFilesOnDiskNeeded: boolean;
|
||||
fNeedSaveEnvironment: boolean;
|
||||
FRemoteControlTimer: TTimer;
|
||||
FRemoteControlFileAge: integer;
|
||||
|
||||
@ -1105,7 +1106,7 @@ type
|
||||
procedure DoToggleViewIDESpeedButtons;
|
||||
|
||||
// editor and environment options
|
||||
procedure SaveEnvironment; override;
|
||||
procedure SaveEnvironment(Immediately: boolean = false); override;
|
||||
procedure LoadDesktopSettings(TheEnvironmentOptions: TEnvironmentOptions);
|
||||
procedure SaveDesktopSettings(TheEnvironmentOptions: TEnvironmentOptions);
|
||||
end;
|
||||
@ -1899,7 +1900,7 @@ procedure TMainIDE.MainIDEFormClose(Sender: TObject;
|
||||
var CloseAction: TCloseAction);
|
||||
begin
|
||||
DoCallNotifyHandler(lihtIDEClose);
|
||||
SaveEnvironment;
|
||||
SaveEnvironment(true);
|
||||
if IDEDockMaster<>nil then
|
||||
IDEDockMaster.CloseAll
|
||||
else
|
||||
@ -4610,8 +4611,7 @@ begin
|
||||
if ShowExtToolDialog(ExternalTools,GlobalMacroList)=mrOk then
|
||||
begin
|
||||
// save to environment options
|
||||
SaveDesktopSettings(EnvironmentOptions);
|
||||
EnvironmentOptions.Save(false);
|
||||
SaveEnvironment(true);
|
||||
// save shortcuts to editor options
|
||||
ExternalTools.SaveShortCuts(EditorOpts.KeyMap);
|
||||
EditorOpts.Save;
|
||||
@ -5289,8 +5289,14 @@ begin
|
||||
ShowEditorFileManagerForm;
|
||||
end;
|
||||
|
||||
procedure TMainIDE.SaveEnvironment;
|
||||
procedure TMainIDE.SaveEnvironment(Immediately: boolean);
|
||||
begin
|
||||
if not Immediately then
|
||||
begin
|
||||
fNeedSaveEnvironment:=true;
|
||||
exit;
|
||||
end;
|
||||
fNeedSaveEnvironment:=false;
|
||||
SaveDesktopSettings(EnvironmentOptions);
|
||||
EnvironmentOptions.Save(false);
|
||||
//debugln('TMainIDE.SaveEnvironment A ',dbgsName(ObjectInspector1.Favourites));
|
||||
@ -8640,7 +8646,7 @@ function TMainIDE.DoCompleteLoadingProjectInfo: TModalResult;
|
||||
begin
|
||||
UpdateCaption;
|
||||
EnvironmentOptions.LastSavedProjectFile:=Project1.ProjectInfoFile;
|
||||
EnvironmentOptions.Save(false);
|
||||
SaveEnvironment;
|
||||
|
||||
MainBuildBoss.SetBuildTargetProject1(false);
|
||||
|
||||
@ -12308,7 +12314,7 @@ begin
|
||||
if CurResult=mrAbort then exit(mrAbort);
|
||||
if CurResult<>mrOk then Result:=mrCancel;
|
||||
CurResult:=DoSaveProject(Flags);
|
||||
SaveEnvironment;
|
||||
SaveEnvironment(true);
|
||||
SaveIncludeLinks;
|
||||
PkgBoss.SaveSettings;
|
||||
InputHistories.Save;
|
||||
@ -17487,6 +17493,9 @@ begin
|
||||
{$ENDIF}
|
||||
UpdateHighlighters(true);
|
||||
end;
|
||||
if fNeedSaveEnvironment then
|
||||
SaveEnvironment(true);
|
||||
|
||||
GetDefaultProcessList.FreeStoppedProcesses;
|
||||
ExternalTools.FreeStoppedProcesses;
|
||||
if (SplashForm<>nil) then FreeThenNil(SplashForm);
|
||||
|
@ -404,6 +404,7 @@ begin
|
||||
else
|
||||
EnvironmentOptions.NewFormTemplate:=Template.Name;
|
||||
//DebugLn(['TMainIDEBar.NewUFDefaultClick ',Template.Name]);
|
||||
|
||||
EnvironmentOptions.Save(False);
|
||||
end;
|
||||
|
||||
|
@ -183,7 +183,7 @@ type
|
||||
OpenFlags: TOpenFlags): TModalResult; virtual; abstract;
|
||||
|
||||
procedure UpdateWindowMenu(Immediately: boolean = false); virtual; abstract;
|
||||
procedure SaveEnvironment; virtual; abstract;
|
||||
procedure SaveEnvironment(Immediately: boolean = false); virtual; abstract;
|
||||
procedure UpdateHighlighters(Immediately: boolean = false); virtual; abstract;
|
||||
procedure SetRecentSubMenu(Section: TIDEMenuSection; FileList: TStringList;
|
||||
OnClickEvent: TNotifyEvent); virtual; abstract;
|
||||
|
Loading…
Reference in New Issue
Block a user