From caff01e9f6033cf77dd6bb24008ccb72a4825e6b Mon Sep 17 00:00:00 2001 From: mattias Date: Mon, 26 Oct 2015 22:09:12 +0000 Subject: [PATCH] IDE: fixed Disable/EnableAutosizing restoring package editors git-svn-id: trunk@50178 - --- converter/convertdelphi.pas | 4 +--- packager/packageeditor.pas | 35 +++++++++++++++++++++++++++++++---- packager/pkgmanager.pas | 19 ++++++------------- 3 files changed, 38 insertions(+), 20 deletions(-) diff --git a/converter/convertdelphi.pas b/converter/convertdelphi.pas index 5b8dd70efb..2f3b52335e 100644 --- a/converter/convertdelphi.pas +++ b/converter/convertdelphi.pas @@ -1804,7 +1804,6 @@ function TConvertDelphiPackage.CreateInstance: TModalResult; // open new package. If .lpk does not exist, create it var PkgName: String; - CurEditor: TPackageEditorForm; begin fProjPack:=nil; if FileExistsUTF8(fLazPMainFilename) then begin @@ -1836,8 +1835,7 @@ begin LazPackage.Filename:=fLazPMainFilename; fProjPack.BaseCompilerOptions.SyntaxMode:='delphi'; // open a package editor - CurEditor:=PackageEditors.OpenEditor(LazPackage); - CurEditor.Show; + PackageEditors.OpenEditor(LazPackage,true); // save .lpk file PackageEditors.SavePackage(LazPackage,false); Result:=mrOK; diff --git a/packager/packageeditor.pas b/packager/packageeditor.pas index 4af4a9d3c7..36910704aa 100644 --- a/packager/packageeditor.pas +++ b/packager/packageeditor.pas @@ -438,7 +438,8 @@ type function IndexOfPackage(const PkgName: string): integer; function FindEditor(Pkg: TLazPackage): TPackageEditorForm; overload; function FindEditor(const PkgName: string): TPackageEditorForm; overload; - function OpenEditor(Pkg: TLazPackage): TPackageEditorForm; + function CreateEditor(Pkg: TLazPackage; DoDisableAutoSizing: boolean): TPackageEditorForm; + function OpenEditor(Pkg: TLazPackage; BringToFront: boolean): TPackageEditorForm; function OpenFile(Sender: TObject; const Filename: string): TModalResult; function OpenPkgFile(Sender: TObject; PkgFile: TPkgFile): TModalResult; function OpenDependency(Sender: TObject; @@ -3381,13 +3382,39 @@ begin Result:=nil; end; -function TPackageEditors.OpenEditor(Pkg: TLazPackage): TPackageEditorForm; +function TPackageEditors.CreateEditor(Pkg: TLazPackage; + DoDisableAutoSizing: boolean): TPackageEditorForm; begin Result:=FindEditor(Pkg); - if Result=nil then begin - Result:=TPackageEditorForm.Create(LazarusIDE.OwningComponent); + if Result<>nil then begin + if DoDisableAutoSizing then + Result.EnableAutoSizing{$IFDEF DebugDisableAutoSizing}('TAnchorDockMaster Delayed'){$ENDIF}; + end else begin + Result:=TPackageEditorForm(TPackageEditorForm.NewInstance); + {$IFDEF DebugDisableAutoSizing} + if DoDisableAutoSizing then + Result.DisableAutoSizing('TAnchorDockMaster Delayed') + else + Result.DisableAutoSizing('TPackageEditors.OpenEditor'); + {$ELSE} + Result.DisableAutoSizing; + {$ENDIF} + Result.Create(LazarusIDE.OwningComponent); Result.LazPackage:=Pkg; FItems.Add(Result); + if not DoDisableAutoSizing then + Result.EnableAutoSizing{$IFDEF DebugDisableAutoSizing}('TPackageEditors.OpenEditor'){$ENDIF}; + end; +end; + +function TPackageEditors.OpenEditor(Pkg: TLazPackage; BringToFront: boolean + ): TPackageEditorForm; +begin + Result:=CreateEditor(Pkg,true); + try + IDEWindowCreators.ShowForm(Result, BringToFront); + finally + Result.EnableAutoSizing{$IFDEF DebugDisableAutoSizing}('TAnchorDockMaster Delayed'){$ENDIF}; end; end; diff --git a/packager/pkgmanager.pas b/packager/pkgmanager.pas index 0b5b7993f2..7f1a36dc6b 100644 --- a/packager/pkgmanager.pas +++ b/packager/pkgmanager.pas @@ -644,7 +644,7 @@ begin end; APackage:=PackageGraph.FindPackageWithName(APackageName,nil); if APackage=nil then exit; - AForm:=PackageEditors.OpenEditor(APackage); + AForm:=PackageEditors.OpenEditor(APackage,DoDisableAutoSizing); end; end; @@ -3485,7 +3485,6 @@ end; function TPkgManager.DoNewPackage: TModalResult; var NewPackage: TLazPackage; - CurEditor: TPackageEditorForm; begin Result:=mrCancel; // create a new package with standard dependencies @@ -3495,8 +3494,7 @@ begin NewPackage.Modified:=false; // open a package editor - CurEditor:=PackageEditors.OpenEditor(NewPackage); - IDEWindowCreators.ShowForm(CurEditor,true); + PackageEditors.OpenEditor(NewPackage,true); Result:=DoSavePackage(NewPackage,[psfSaveAs]); end; @@ -3513,7 +3511,6 @@ end; function TPkgManager.DoOpenPackage(APackage: TLazPackage; Flags: TPkgOpenFlags; ShowAbort: boolean): TModalResult; var - CurEditor: TPackageEditorForm; AFilename: String; begin AFilename:=APackage.Filename; @@ -3526,8 +3523,7 @@ begin end; // open a package editor - CurEditor:=PackageEditors.OpenEditor(APackage); - IDEWindowCreators.ShowForm(CurEditor,true); + PackageEditors.OpenEditor(APackage,true); // add to recent packages if (pofAddToRecent in Flags) then begin @@ -3698,14 +3694,12 @@ procedure TPkgManager.OpenHiddenModifiedPackages; var i: Integer; APackage: TLazPackage; - Editor: TPackageEditorForm; begin for i:=0 to PackageGraph.Count-1 do begin APackage:=PackageGraph.Packages[i]; if (APackage.Editor=nil) and APackage.Modified and (APackage.UserIgnoreChangeStamp<>APackage.ChangeStamp) then begin - Editor:=PackageEditors.OpenEditor(APackage); - IDEWindowCreators.ShowForm(Editor,false); + PackageEditors.OpenEditor(APackage,false); end; end; end; @@ -5091,9 +5085,9 @@ end; function TPkgManager.DoNewPackageComponent: TModalResult; var APackage: TLazPackage; - CurEditor: TPackageEditorForm; SaveFlags: TPkgSaveFlags; Page: TAddToPkgType; + CurEditor: TPackageEditorForm; begin Result:=ShowNewPkgComponentDialog(APackage); if Result<>mrOk then exit; @@ -5108,8 +5102,7 @@ begin Include(SaveFlags,psfSaveAs); end; // open a package editor - CurEditor:=PackageEditors.OpenEditor(APackage); - IDEWindowCreators.ShowForm(CurEditor,true); + CurEditor:=PackageEditors.OpenEditor(APackage,true); // save Result:=DoSavePackage(APackage,SaveFlags); if Result<>mrOk then exit;