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