mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-20 07:20:01 +02:00
fixed save package on close IDE
git-svn-id: trunk@4053 -
This commit is contained in:
parent
51365b3a35
commit
e44259df00
2
.gitattributes
vendored
2
.gitattributes
vendored
@ -826,7 +826,7 @@ packager/packagedefs.pas svneol=native#text/pascal
|
|||||||
packager/packageeditor.pas svneol=native#text/pascal
|
packager/packageeditor.pas svneol=native#text/pascal
|
||||||
packager/packagelinks.pas svneol=native#text/pascal
|
packager/packagelinks.pas svneol=native#text/pascal
|
||||||
packager/packagesystem.pas svneol=native#text/pascal
|
packager/packagesystem.pas svneol=native#text/pascal
|
||||||
packager/pkggraphexporer.pas svneol=native#text/pascal
|
packager/pkggraphexplorer.pas svneol=native#text/pascal
|
||||||
packager/pkgmanager.pas svneol=native#text/pascal
|
packager/pkgmanager.pas svneol=native#text/pascal
|
||||||
packager/pkgoptionsdlg.pas svneol=native#text/pascal
|
packager/pkgoptionsdlg.pas svneol=native#text/pascal
|
||||||
packager/registerfcl.pas svneol=native#text/pascal
|
packager/registerfcl.pas svneol=native#text/pascal
|
||||||
|
@ -404,6 +404,7 @@ type
|
|||||||
procedure AddUsedByDependency(Dependency: TPkgDependency);
|
procedure AddUsedByDependency(Dependency: TPkgDependency);
|
||||||
procedure RemoveUsedByDependency(Dependency: TPkgDependency);
|
procedure RemoveUsedByDependency(Dependency: TPkgDependency);
|
||||||
procedure ChangeID(const NewName: string; NewVersion: TPkgVersion);
|
procedure ChangeID(const NewName: string; NewVersion: TPkgVersion);
|
||||||
|
procedure UpdateEditorRect;
|
||||||
public
|
public
|
||||||
property AddDependCompilerOptions: TAdditionalCompilerOptions
|
property AddDependCompilerOptions: TAdditionalCompilerOptions
|
||||||
read FAddDependCompilerOptions;
|
read FAddDependCompilerOptions;
|
||||||
@ -1502,6 +1503,7 @@ begin
|
|||||||
FUsageOptions.LoadFromXMLConfig(XMLConfig,Path+'UsageOptions/');
|
FUsageOptions.LoadFromXMLConfig(XMLConfig,Path+'UsageOptions/');
|
||||||
FAddDependCompilerOptions.LoadFromXMLConfig(
|
FAddDependCompilerOptions.LoadFromXMLConfig(
|
||||||
XMLConfig,Path+'AddDependCompilerOptions/');
|
XMLConfig,Path+'AddDependCompilerOptions/');
|
||||||
|
LoadRect(XMLConfig,Path+'EditorRect/',fEditorRect);
|
||||||
UnlockModified;
|
UnlockModified;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@ -1544,6 +1546,7 @@ procedure TLazPackage.SaveToXMLConfig(XMLConfig: TXMLConfig; const Path: string
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
begin
|
begin
|
||||||
|
UpdateEditorRect;
|
||||||
XMLConfig.SetDeleteValue(Path+'Name/Value',FName,'');
|
XMLConfig.SetDeleteValue(Path+'Name/Value',FName,'');
|
||||||
XMLConfig.SetDeleteValue(Path+'Author/Value',FAuthor,'');
|
XMLConfig.SetDeleteValue(Path+'Author/Value',FAuthor,'');
|
||||||
FCompilerOptions.SaveToXMLConfig(XMLConfig,Path+'CompilerOptions/');
|
FCompilerOptions.SaveToXMLConfig(XMLConfig,Path+'CompilerOptions/');
|
||||||
@ -1560,6 +1563,7 @@ begin
|
|||||||
FUsageOptions.SaveToXMLConfig(XMLConfig,Path+'UsageOptions/');
|
FUsageOptions.SaveToXMLConfig(XMLConfig,Path+'UsageOptions/');
|
||||||
FAddDependCompilerOptions.SaveToXMLConfig(
|
FAddDependCompilerOptions.SaveToXMLConfig(
|
||||||
XMLConfig,Path+'AddDependCompilerOptions/');
|
XMLConfig,Path+'AddDependCompilerOptions/');
|
||||||
|
SaveRect(XMLConfig,Path+'EditorRect/',fEditorRect);
|
||||||
Modified:=false;
|
Modified:=false;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@ -1848,6 +1852,13 @@ begin
|
|||||||
Name:=NewName;
|
Name:=NewName;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TLazPackage.UpdateEditorRect;
|
||||||
|
begin
|
||||||
|
if Editor=nil then exit;
|
||||||
|
EditorRect:=Rect(Editor.Left,Editor.Top,
|
||||||
|
Editor.Left+Editor.Width,Editor.Top+Editor.Height);
|
||||||
|
end;
|
||||||
|
|
||||||
{ TPkgComponent }
|
{ TPkgComponent }
|
||||||
|
|
||||||
procedure TPkgComponent.SetPkgFile(const AValue: TPkgFile);
|
procedure TPkgComponent.SetPkgFile(const AValue: TPkgFile);
|
||||||
|
@ -655,9 +655,7 @@ begin
|
|||||||
CurDependency:=GetCurrentDependency(Removed);
|
CurDependency:=GetCurrentDependency(Removed);
|
||||||
if (CurDependency=nil) or Removed then exit;
|
if (CurDependency=nil) or Removed then exit;
|
||||||
|
|
||||||
// ToDo: consistency check
|
PackageGraph.ChangeDependency(CurDependency,NewDependency);
|
||||||
|
|
||||||
CurDependency.Assign(NewDependency);
|
|
||||||
|
|
||||||
NewDependency.Free;
|
NewDependency.Free;
|
||||||
end;
|
end;
|
||||||
@ -720,6 +718,7 @@ begin
|
|||||||
FLazPackage.Editor:=Self;
|
FLazPackage.Editor:=Self;
|
||||||
// find a nice position for the editor
|
// find a nice position for the editor
|
||||||
ARect:=FLazPackage.EditorRect;
|
ARect:=FLazPackage.EditorRect;
|
||||||
|
writeln('');
|
||||||
if (ARect.Bottom<ARect.Top+50) or (ARect.Right<ARect.Left+50) then
|
if (ARect.Bottom<ARect.Top+50) or (ARect.Right<ARect.Left+50) then
|
||||||
ARect:=CreateNiceWindowPosition(500,400);
|
ARect:=CreateNiceWindowPosition(500,400);
|
||||||
SetBounds(ARect.Left,ARect.Top,
|
SetBounds(ARect.Left,ARect.Top,
|
||||||
|
@ -68,10 +68,12 @@ type
|
|||||||
TPkgAddedEvent = procedure(APackage: TLazPackage) of object;
|
TPkgAddedEvent = procedure(APackage: TLazPackage) of object;
|
||||||
TPkgDeleteEvent = procedure(APackage: TLazPackage) of object;
|
TPkgDeleteEvent = procedure(APackage: TLazPackage) of object;
|
||||||
TDependencyModifiedEvent = procedure(ADependency: TPkgDependency) of object;
|
TDependencyModifiedEvent = procedure(ADependency: TPkgDependency) of object;
|
||||||
|
TEndUpdateEvent = procedure(Sender: TObject; Changed: boolean) of object;
|
||||||
|
|
||||||
TLazPackageGraph = class
|
TLazPackageGraph = class
|
||||||
private
|
private
|
||||||
FAbortRegistration: boolean;
|
FAbortRegistration: boolean;
|
||||||
|
fChanged: boolean;
|
||||||
FErrorMsg: string;
|
FErrorMsg: string;
|
||||||
FFCLPackage: TLazPackage;
|
FFCLPackage: TLazPackage;
|
||||||
FItems: TList; // unsorted list of TLazPackage
|
FItems: TList; // unsorted list of TLazPackage
|
||||||
@ -81,25 +83,25 @@ type
|
|||||||
FOnChangePackageName: TPkgChangeNameEvent;
|
FOnChangePackageName: TPkgChangeNameEvent;
|
||||||
FOnDeletePackage: TPkgDeleteEvent;
|
FOnDeletePackage: TPkgDeleteEvent;
|
||||||
FOnDependencyModified: TDependencyModifiedEvent;
|
FOnDependencyModified: TDependencyModifiedEvent;
|
||||||
FOnEndUpdate: TNotifyEvent;
|
FOnEndUpdate: TEndUpdateEvent;
|
||||||
FRegistrationFile: TPkgFile;
|
FRegistrationFile: TPkgFile;
|
||||||
FRegistrationPackage: TLazPackage;
|
FRegistrationPackage: TLazPackage;
|
||||||
FRegistrationUnitName: string;
|
FRegistrationUnitName: string;
|
||||||
FTree: TAVLTree; // sorted tree of TLazPackage
|
FTree: TAVLTree; // sorted tree of TLazPackage
|
||||||
FUpdateLock: integer;
|
FUpdateLock: integer;
|
||||||
function GetPackages(Index: integer): TLazPackage;
|
|
||||||
procedure SetAbortRegistration(const AValue: boolean);
|
|
||||||
procedure SetRegistrationPackage(const AValue: TLazPackage);
|
|
||||||
function CreateFCLPackage: TLazPackage;
|
function CreateFCLPackage: TLazPackage;
|
||||||
function CreateLCLPackage: TLazPackage;
|
function CreateLCLPackage: TLazPackage;
|
||||||
procedure PackageChangedName(Pkg: TLazPackage; const OldName: string);
|
function GetPackages(Index: integer): TLazPackage;
|
||||||
|
procedure DoDependencyChanged(Dependency: TPkgDependency);
|
||||||
|
procedure SetAbortRegistration(const AValue: boolean);
|
||||||
|
procedure SetRegistrationPackage(const AValue: TLazPackage);
|
||||||
public
|
public
|
||||||
constructor Create;
|
constructor Create;
|
||||||
destructor Destroy; override;
|
destructor Destroy; override;
|
||||||
procedure Clear;
|
procedure Clear;
|
||||||
procedure Delete(Index: integer);
|
procedure Delete(Index: integer);
|
||||||
function Count: integer;
|
function Count: integer;
|
||||||
procedure BeginUpdate;
|
procedure BeginUpdate(Change: boolean);
|
||||||
procedure EndUpdate;
|
procedure EndUpdate;
|
||||||
function Updating: boolean;
|
function Updating: boolean;
|
||||||
function FindLowestPkgNodeByName(const PkgName: string): TAVLTreeNode;
|
function FindLowestPkgNodeByName(const PkgName: string): TAVLTreeNode;
|
||||||
@ -144,6 +146,7 @@ type
|
|||||||
function CheckIfPackageCanBeClosed(APackage: TLazPackage): boolean;
|
function CheckIfPackageCanBeClosed(APackage: TLazPackage): boolean;
|
||||||
function PackageIsNeeded(APackage: TLazPackage): boolean;
|
function PackageIsNeeded(APackage: TLazPackage): boolean;
|
||||||
procedure RegisterStaticPackages;
|
procedure RegisterStaticPackages;
|
||||||
|
procedure ChangeDependency(Dependency, NewDependency: TPkgDependency);
|
||||||
function OpenDependency(Dependency: TPkgDependency;
|
function OpenDependency(Dependency: TPkgDependency;
|
||||||
var APackage: TLazPackage): TLoadPackageResult;
|
var APackage: TLazPackage): TLoadPackageResult;
|
||||||
procedure IterateComponentClasses(APackage: TLazPackage;
|
procedure IterateComponentClasses(APackage: TLazPackage;
|
||||||
@ -168,7 +171,7 @@ type
|
|||||||
read FOnDependencyModified write FOnDependencyModified;
|
read FOnDependencyModified write FOnDependencyModified;
|
||||||
property OnDeletePackage: TPkgDeleteEvent read FOnDeletePackage
|
property OnDeletePackage: TPkgDeleteEvent read FOnDeletePackage
|
||||||
write FOnDeletePackage;
|
write FOnDeletePackage;
|
||||||
property OnEndUpdate: TNotifyEvent read FOnEndUpdate write FOnEndUpdate;
|
property OnEndUpdate: TEndUpdateEvent read FOnEndUpdate write FOnEndUpdate;
|
||||||
property Packages[Index: integer]: TLazPackage read GetPackages; default;
|
property Packages[Index: integer]: TLazPackage read GetPackages; default;
|
||||||
property RegistrationFile: TPkgFile read FRegistrationFile;
|
property RegistrationFile: TPkgFile read FRegistrationFile;
|
||||||
property RegistrationPackage: TLazPackage read FRegistrationPackage
|
property RegistrationPackage: TLazPackage read FRegistrationPackage
|
||||||
@ -195,10 +198,10 @@ end;
|
|||||||
|
|
||||||
{ TLazPackageGraph }
|
{ TLazPackageGraph }
|
||||||
|
|
||||||
procedure TLazPackageGraph.PackageChangedName(Pkg: TLazPackage;
|
procedure TLazPackageGraph.DoDependencyChanged(Dependency: TPkgDependency);
|
||||||
const OldName: string);
|
|
||||||
begin
|
begin
|
||||||
if Assigned(OnChangePackageName) then OnChangePackageName(Pkg,OldName);
|
fChanged:=true;
|
||||||
|
if Assigned(OnDependencyModified) then OnDependencyModified(Dependency);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function TLazPackageGraph.GetPackages(Index: integer): TLazPackage;
|
function TLazPackageGraph.GetPackages(Index: integer): TLazPackage;
|
||||||
@ -253,12 +256,14 @@ procedure TLazPackageGraph.Delete(Index: integer);
|
|||||||
var
|
var
|
||||||
CurPkg: TLazPackage;
|
CurPkg: TLazPackage;
|
||||||
begin
|
begin
|
||||||
|
BeginUpdate(true);
|
||||||
CurPkg:=Packages[Index];
|
CurPkg:=Packages[Index];
|
||||||
CurPkg.Flags:=CurPkg.Flags+[lpfDestroying];
|
CurPkg.Flags:=CurPkg.Flags+[lpfDestroying];
|
||||||
if Assigned(OnDeletePackage) then OnDeletePackage(CurPkg);
|
if Assigned(OnDeletePackage) then OnDeletePackage(CurPkg);
|
||||||
FItems.Delete(Index);
|
FItems.Delete(Index);
|
||||||
FTree.Remove(CurPkg);
|
FTree.Remove(CurPkg);
|
||||||
CurPkg.Free;
|
CurPkg.Free;
|
||||||
|
EndUpdate;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function TLazPackageGraph.Count: integer;
|
function TLazPackageGraph.Count: integer;
|
||||||
@ -266,9 +271,10 @@ begin
|
|||||||
Result:=FItems.Count;
|
Result:=FItems.Count;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TLazPackageGraph.BeginUpdate;
|
procedure TLazPackageGraph.BeginUpdate(Change: boolean);
|
||||||
begin
|
begin
|
||||||
inc(FUpdateLock);
|
inc(FUpdateLock);
|
||||||
|
fChanged:=Change;
|
||||||
if FUpdateLock=1 then begin
|
if FUpdateLock=1 then begin
|
||||||
if Assigned(OnBeginUpdate) then OnBeginUpdate(Self);
|
if Assigned(OnBeginUpdate) then OnBeginUpdate(Self);
|
||||||
end;
|
end;
|
||||||
@ -279,7 +285,7 @@ begin
|
|||||||
if FUpdateLock<=0 then RaiseException('TLazPackageGraph.EndUpdate');
|
if FUpdateLock<=0 then RaiseException('TLazPackageGraph.EndUpdate');
|
||||||
dec(FUpdateLock);
|
dec(FUpdateLock);
|
||||||
if FUpdateLock=0 then begin
|
if FUpdateLock=0 then begin
|
||||||
if Assigned(OnEndUpdate) then OnEndUpdate(Self);
|
if Assigned(OnEndUpdate) then OnEndUpdate(Self,fChanged);
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@ -512,10 +518,12 @@ end;
|
|||||||
|
|
||||||
function TLazPackageGraph.NewPackage(const Prefix: string): TLazPackage;
|
function TLazPackageGraph.NewPackage(const Prefix: string): TLazPackage;
|
||||||
begin
|
begin
|
||||||
|
BeginUpdate(true);
|
||||||
Result:=TLazPackage.Create;
|
Result:=TLazPackage.Create;
|
||||||
Result.Name:=CreateUniquePkgName('NewPackage',nil);
|
Result.Name:=CreateUniquePkgName('NewPackage',nil);
|
||||||
FItems.Add(Result);
|
FItems.Add(Result);
|
||||||
FTree.Add(Result);
|
FTree.Add(Result);
|
||||||
|
EndUpdate;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TLazPackageGraph.ConsistencyCheck;
|
procedure TLazPackageGraph.ConsistencyCheck;
|
||||||
@ -731,7 +739,7 @@ var
|
|||||||
Dependency: TPkgDependency;
|
Dependency: TPkgDependency;
|
||||||
DepNode: TAVLTreeNode;
|
DepNode: TAVLTreeNode;
|
||||||
begin
|
begin
|
||||||
BeginUpdate;
|
BeginUpdate(true);
|
||||||
FTree.Add(APackage);
|
FTree.Add(APackage);
|
||||||
FItems.Add(APackage);
|
FItems.Add(APackage);
|
||||||
|
|
||||||
@ -831,7 +839,7 @@ procedure TLazPackageGraph.CloseUnneededPackages;
|
|||||||
var
|
var
|
||||||
i: Integer;
|
i: Integer;
|
||||||
begin
|
begin
|
||||||
BeginUpdate;
|
BeginUpdate(false);
|
||||||
MarkNeededPackages;
|
MarkNeededPackages;
|
||||||
for i:=FItems.Count-1 downto 0 do
|
for i:=FItems.Count-1 downto 0 do
|
||||||
if not (lpfNeeded in Packages[i].Flags) then Delete(i);
|
if not (lpfNeeded in Packages[i].Flags) then Delete(i);
|
||||||
@ -853,11 +861,14 @@ begin
|
|||||||
// ID does not change
|
// ID does not change
|
||||||
// -> just rename
|
// -> just rename
|
||||||
APackage.Name:=NewName;
|
APackage.Name:=NewName;
|
||||||
|
fChanged:=true;
|
||||||
exit;
|
exit;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
// ID changed
|
// ID changed
|
||||||
|
|
||||||
|
BeginUpdate(true);
|
||||||
|
|
||||||
// break or change all dependencies, that became incompatible
|
// break or change all dependencies, that became incompatible
|
||||||
Dependency:=APackage.FirstUsedByDependency;
|
Dependency:=APackage.FirstUsedByDependency;
|
||||||
FirstUpdateDependency:=nil;
|
FirstUpdateDependency:=nil;
|
||||||
@ -897,6 +908,7 @@ begin
|
|||||||
|
|
||||||
if Assigned(OnChangePackageName) then
|
if Assigned(OnChangePackageName) then
|
||||||
OnChangePackageName(APackage,OldPkgName);
|
OnChangePackageName(APackage,OldPkgName);
|
||||||
|
EndUpdate;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function TLazPackageGraph.GetBrokenDependenciesWhenChangingPkgID(
|
function TLazPackageGraph.GetBrokenDependenciesWhenChangingPkgID(
|
||||||
@ -956,6 +968,19 @@ begin
|
|||||||
RegistrationPackage:=nil;
|
RegistrationPackage:=nil;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TLazPackageGraph.ChangeDependency(Dependency,
|
||||||
|
NewDependency: TPkgDependency);
|
||||||
|
var
|
||||||
|
RequiredPackage: TLazPackage;
|
||||||
|
begin
|
||||||
|
if Dependency.Compare(NewDependency)=0 then exit;
|
||||||
|
BeginUpdate(true);
|
||||||
|
Dependency.Assign(NewDependency);
|
||||||
|
OpenDependency(Dependency,RequiredPackage);
|
||||||
|
DoDependencyChanged(Dependency);
|
||||||
|
EndUpdate;
|
||||||
|
end;
|
||||||
|
|
||||||
function TLazPackageGraph.OpenDependency(Dependency: TPkgDependency;
|
function TLazPackageGraph.OpenDependency(Dependency: TPkgDependency;
|
||||||
var APackage: TLazPackage): TLoadPackageResult;
|
var APackage: TLazPackage): TLoadPackageResult;
|
||||||
var
|
var
|
||||||
@ -963,6 +988,7 @@ var
|
|||||||
PkgLink: TPackageLink;
|
PkgLink: TPackageLink;
|
||||||
begin
|
begin
|
||||||
if Dependency.LoadPackageResult=lprUndefined then begin
|
if Dependency.LoadPackageResult=lprUndefined then begin
|
||||||
|
BeginUpdate(false);
|
||||||
// search in opened packages
|
// search in opened packages
|
||||||
ANode:=FindNodeOfDependency(Dependency,fpfSearchPackageEverywhere);
|
ANode:=FindNodeOfDependency(Dependency,fpfSearchPackageEverywhere);
|
||||||
if (APackage=nil) then begin
|
if (APackage=nil) then begin
|
||||||
@ -983,6 +1009,7 @@ begin
|
|||||||
Dependency.RequiredPackage:=nil;
|
Dependency.RequiredPackage:=nil;
|
||||||
Dependency.LoadPackageResult:=lprNotFound;
|
Dependency.LoadPackageResult:=lprNotFound;
|
||||||
end;
|
end;
|
||||||
|
EndUpdate;
|
||||||
end;
|
end;
|
||||||
APackage:=Dependency.RequiredPackage;
|
APackage:=Dependency.RequiredPackage;
|
||||||
Result:=Dependency.LoadPackageResult;
|
Result:=Dependency.LoadPackageResult;
|
||||||
|
@ -31,7 +31,7 @@
|
|||||||
Abstract:
|
Abstract:
|
||||||
TPkgGraphExplorer is the IDE window showing the whole package graph.
|
TPkgGraphExplorer is the IDE window showing the whole package graph.
|
||||||
}
|
}
|
||||||
unit PkgGraphExporer;
|
unit PkgGraphExplorer;
|
||||||
|
|
||||||
{$mode objfpc}{$H+}
|
{$mode objfpc}{$H+}
|
||||||
|
|
||||||
@ -52,7 +52,7 @@ type
|
|||||||
PkgListBox: TListBox;
|
PkgListBox: TListBox;
|
||||||
InfoMemo: TMemo;
|
InfoMemo: TMemo;
|
||||||
procedure PackageGraphBeginUpdate(Sender: TObject);
|
procedure PackageGraphBeginUpdate(Sender: TObject);
|
||||||
procedure PkgGraphExplorerEndUpdate(Sender: TObject);
|
procedure PkgGraphExplorerEndUpdate(Sender: TObject; GraphChanged: boolean);
|
||||||
procedure PkgGraphExplorerResize(Sender: TObject);
|
procedure PkgGraphExplorerResize(Sender: TObject);
|
||||||
procedure PkgGraphExplorerShow(Sender: TObject);
|
procedure PkgGraphExplorerShow(Sender: TObject);
|
||||||
procedure PkgListBoxClick(Sender: TObject);
|
procedure PkgListBoxClick(Sender: TObject);
|
||||||
@ -144,8 +144,10 @@ begin
|
|||||||
BeginUpdate;
|
BeginUpdate;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TPkgGraphExplorer.PkgGraphExplorerEndUpdate(Sender: TObject);
|
procedure TPkgGraphExplorer.PkgGraphExplorerEndUpdate(Sender: TObject;
|
||||||
|
GraphChanged: boolean);
|
||||||
begin
|
begin
|
||||||
|
if GraphChanged then UpdateAll;
|
||||||
EndUpdate;
|
EndUpdate;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@ -436,6 +438,7 @@ begin
|
|||||||
exit;
|
exit;
|
||||||
end;
|
end;
|
||||||
FChangedDuringLock:=false;
|
FChangedDuringLock:=false;
|
||||||
|
if not Visible then exit;
|
||||||
UpdateTree;
|
UpdateTree;
|
||||||
UpdateList;
|
UpdateList;
|
||||||
UpdateInfo;
|
UpdateInfo;
|
@ -49,7 +49,7 @@ uses
|
|||||||
LazarusIDEStrConsts, KeyMapping, EnvironmentOpts, IDEProcs, ProjectDefs,
|
LazarusIDEStrConsts, KeyMapping, EnvironmentOpts, IDEProcs, ProjectDefs,
|
||||||
InputHistory, IDEDefs, UComponentManMain, Project, ComponentReg,
|
InputHistory, IDEDefs, UComponentManMain, Project, ComponentReg,
|
||||||
PackageEditor, AddToPackageDlg, PackageDefs, PackageLinks, PackageSystem,
|
PackageEditor, AddToPackageDlg, PackageDefs, PackageLinks, PackageSystem,
|
||||||
OpenInstalledPkgDlg, PkgGraphExporer, BrokenDependenciesDlg,
|
OpenInstalledPkgDlg, PkgGraphExplorer, BrokenDependenciesDlg,
|
||||||
BasePkgManager, MainBar;
|
BasePkgManager, MainBar;
|
||||||
|
|
||||||
type
|
type
|
||||||
@ -721,7 +721,7 @@ begin
|
|||||||
'Package "'+APackage.IDAsString+'" changed. Save?',
|
'Package "'+APackage.IDAsString+'" changed. Save?',
|
||||||
mtConfirmation,[mbYes,mbNo,mbAbort],0);
|
mtConfirmation,[mbYes,mbNo,mbAbort],0);
|
||||||
if (Result=mrNo) then Result:=mrIgnore;
|
if (Result=mrNo) then Result:=mrIgnore;
|
||||||
if Result<>mrOk then exit;
|
if Result<>mrYes then exit;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
// save editor files to codetools
|
// save editor files to codetools
|
||||||
@ -817,6 +817,7 @@ begin
|
|||||||
if CurPackage.Modified and (not CurPackage.ReadOnly)
|
if CurPackage.Modified and (not CurPackage.ReadOnly)
|
||||||
and (not (lpfSkipSaving in CurPackage.Flags)) then begin
|
and (not (lpfSkipSaving in CurPackage.Flags)) then begin
|
||||||
Result:=DoSavePackage(CurPackage,Flags);
|
Result:=DoSavePackage(CurPackage,Flags);
|
||||||
|
writeln('TPkgManager.DoSaveAllPackages A ',CurPackage.IDAsString,' ',Result=mrOk);
|
||||||
if Result=mrIgnore then
|
if Result=mrIgnore then
|
||||||
CurPackage.Flags:=CurPackage.Flags+[lpfSkipSaving];
|
CurPackage.Flags:=CurPackage.Flags+[lpfSkipSaving];
|
||||||
if Result<>mrOk then exit;
|
if Result<>mrOk then exit;
|
||||||
|
Loading…
Reference in New Issue
Block a user