IDE: fixed Disable/EnableAutosizing restoring package editors

git-svn-id: trunk@50178 -
This commit is contained in:
mattias 2015-10-26 22:09:12 +00:00
parent 2c929b55db
commit caff01e9f6
3 changed files with 38 additions and 20 deletions

View File

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

View File

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

View File

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