From 53acb8a2b2f5658c67fec73711e5628e9f535a64 Mon Sep 17 00:00:00 2001 From: mattias Date: Sat, 24 Apr 2010 20:05:26 +0000 Subject: [PATCH] IDE: auto open package editor for modified packages git-svn-id: trunk@24893 - --- ide/main.pp | 3 +++ ideintf/packageintf.pas | 2 ++ packager/basepkgmanager.pas | 1 + packager/packagedefs.pas | 13 ++++++++++--- packager/packageeditor.pas | 5 ++++- packager/pkgmanager.pas | 17 +++++++++++++++++ 6 files changed, 37 insertions(+), 4 deletions(-) diff --git a/ide/main.pp b/ide/main.pp index 0f2128f041..0b3d86fc84 100644 --- a/ide/main.pp +++ b/ide/main.pp @@ -15805,6 +15805,9 @@ begin if (FRemoteControlTimer=nil) and EnableRemoteControl then SetupRemoteControl; + + if Screen.GetCurrentModalForm=nil then + PkgBoss.OpenHiddenModifiedPackages; end; procedure TMainIDE.OnApplicationActivate(Sender: TObject); diff --git a/ideintf/packageintf.pas b/ideintf/packageintf.pas index 4d286d8d4b..9ab52ef39f 100644 --- a/ideintf/packageintf.pas +++ b/ideintf/packageintf.pas @@ -93,6 +93,7 @@ type protected FCustomOptions: TConfigStorage; FFilename: string; + FChangeStamp: integer; function GetDirectoryExpanded: string; virtual; abstract; function GetModified: boolean; virtual; abstract; procedure SetFilename(const AValue: string); virtual; abstract; @@ -108,6 +109,7 @@ type property Modified: boolean read GetModified write SetModified; property DirectoryExpanded: string read GetDirectoryExpanded; property CustomOptions: TConfigStorage read FCustomOptions; + property ChangeStamp: integer read FChangeStamp; end; type diff --git a/packager/basepkgmanager.pas b/packager/basepkgmanager.pas index 3f60084bfb..f3e26aa210 100644 --- a/packager/basepkgmanager.pas +++ b/packager/basepkgmanager.pas @@ -121,6 +121,7 @@ type function DoCloseAllPackageEditors: TModalResult; virtual; abstract; function AddPackageDependency(APackage: TLazPackage; const ReqPackage: string; OnlyTestIfPossible: boolean = false): TModalResult; virtual; abstract; + procedure OpenHiddenModifiedPackages; virtual; abstract; // package graph procedure DoShowPackageGraphPathList(PathList: TFPList); virtual; abstract; diff --git a/packager/packagedefs.pas b/packager/packagedefs.pas index 161e07cead..ee530f47ca 100644 --- a/packager/packagedefs.pas +++ b/packager/packagedefs.pas @@ -581,6 +581,7 @@ type FTranslated: string; FUpdateLock: integer; FUsageOptions: TPkgAdditionalCompilerOptions; + FUserIgnoreChangeStamp: integer; FUserReadOnly: boolean; function GetAutoIncrementVersionOnBuild: boolean; function GetComponentCount: integer; @@ -787,6 +788,8 @@ type property Translated: string read FTranslated write FTranslated; property UsageOptions: TPkgAdditionalCompilerOptions read FUsageOptions; property UserReadOnly: boolean read FUserReadOnly write SetUserReadOnly; + property UserIgnoreChangeStamp: integer read FUserIgnoreChangeStamp + write FUserIgnoreChangeStamp; end; PLazPackage = ^TLazPackage; @@ -2269,9 +2272,13 @@ end; procedure TLazPackage.SetModified(const AValue: boolean); begin if AValue and (FModifiedLock>0) then exit; - if AValue then - Include(FFlags,lpfModified) - else + if AValue then begin + Include(FFlags,lpfModified); + if FChangeStampAPackage.ChangeStamp) then begin + Editor:=PackageEditors.OpenEditor(APackage); + Editor.Visible:=true; + end; + end; +end; + function TPkgManager.DoSavePackage(APackage: TLazPackage; Flags: TPkgSaveFlags): TModalResult; var