Opkman: Improve OPM interface.

git-svn-id: trunk@63965 -
This commit is contained in:
balazs 2020-10-06 18:28:09 +00:00
parent 7bf871655b
commit 0e58363f6e
2 changed files with 16 additions and 4 deletions

View File

@ -124,6 +124,8 @@ type
function FindOnlineLink(const AName: String): TPackageLink; virtual; abstract;
procedure AddPackageListNotification(ANotification: TNotifyEvent); virtual; abstract;
procedure RemovePackageListNotification(ANotification: TNotifyEvent); virtual; abstract;
function IsPackageListLoaded: Boolean; virtual; abstract;
procedure GetPackageList; virtual; abstract;
end;
var

View File

@ -77,6 +77,8 @@ type
function FindOnlineLink(const AName: String): TPackageLink; override;
procedure AddPackageListNotification(ANotification: TNotifyEvent); override;
procedure RemovePackageListNotification(ANotification: TNotifyEvent); override;
function IsPackageListLoaded: Boolean; override;
procedure GetPackageList; override;
end;
implementation
@ -147,10 +149,7 @@ begin
if (not LazarusIDE.IDEIsClosing) then
begin
if (Options.CheckForUpdates <> 5) and (not Assigned(MainFrm)) then
begin
PackageDownloader.DownloadJSON(Options.ConTimeOut*1000, True);
LazarusIDE.AddHandlerOnIDEClose(@DoOnIDEClose);
end;
GetPackageList;
end;
end;
end;
@ -198,6 +197,17 @@ begin
FPackageListNotifications.Remove(TMethod(ANotification));
end;
function TOPMInterfaceEx.IsPackageListLoaded: Boolean;
begin
Result := Assigned(SerializablePackages) and (SerializablePackages.Count > 0);
end;
procedure TOPMInterfaceEx.GetPackageList;
begin
PackageDownloader.DownloadJSON(Options.ConTimeOut*1000, True);
LazarusIDE.AddHandlerOnIDEClose(@DoOnIDEClose);
end;
procedure TOPMInterfaceEx.SynchronizePackages;
var
I, J: Integer;