From 811fbab23fbc62d97fa6661610ab3b942b42b277 Mon Sep 17 00:00:00 2001 From: balazs Date: Tue, 5 Dec 2017 10:15:19 +0000 Subject: [PATCH] Packager: Extend PackageLinkIntf with ClearOnlineLinks method. git-svn-id: trunk@56631 - --- components/ideintf/packagelinkintf.pas | 1 + packager/packagelinks.pas | 20 ++++++++++++++++++++ 2 files changed, 21 insertions(+) diff --git a/components/ideintf/packagelinkintf.pas b/components/ideintf/packagelinkintf.pas index 79b3f4b743..276e6abb98 100644 --- a/components/ideintf/packagelinkintf.pas +++ b/components/ideintf/packagelinkintf.pas @@ -100,6 +100,7 @@ type function AddUserLink(const PkgFilename, PkgName: string): TPackageLink; virtual; abstract; procedure RemoveUserLink(Link: TPackageLink); virtual; abstract; procedure RemoveUserLinks(APackageID: TLazPackageID); virtual; abstract; + procedure ClearOnlineLinks; virtual; abstract; end; { TOPMInterface } diff --git a/packager/packagelinks.pas b/packager/packagelinks.pas index 07d23a5ca4..2ab1356e4c 100644 --- a/packager/packagelinks.pas +++ b/packager/packagelinks.pas @@ -151,6 +151,7 @@ type function AddUserLink(const PkgFilename, PkgName: string): TPackageLink; override; procedure RemoveUserLink(Link: TPackageLink); override; procedure RemoveUserLinks(APackageID: TLazPackageID); override; + procedure ClearOnlineLinks; override; public property Modified: boolean read GetModified write SetModified; property ChangeStamp: integer read FChangeStamp; @@ -1313,6 +1314,25 @@ begin end; end; +procedure TLazPackageLinks.ClearOnlineLinks; +var + Link: TPackageLink; + I: Integer; +begin + BeginUpdate; + try + for I := FOnlineLinks.Count - 1 downto 0 do + begin + Link := TPackageLink(FOnlineLinks); + Link.Release; + IncreaseChangeStamp; + end; + FOnlineLinks.Clear; + finally + EndUpdate; + end; +end; + procedure TLazPackageLinks.RemoveUserLinks(APackageID: TLazPackageID); var ANode: TAvlTreeNode;