mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-04-23 07:59:44 +02:00
Opkman: When available, auto load package data.
git-svn-id: trunk@64129 -
This commit is contained in:
parent
43e81576fe
commit
35da6a1fbb
@ -452,6 +452,40 @@ procedure TCreateRepositoryPackagesFrm.edPackageDirAcceptDirectory(
|
||||
Sender: TObject; Var Value: String);
|
||||
var
|
||||
PackageList: TStringList;
|
||||
|
||||
procedure GetData(ARootData: PData);
|
||||
var
|
||||
I: Integer;
|
||||
ct4laz_name: String;
|
||||
begin
|
||||
ARootData^.FCategory := '';
|
||||
ARootData^.FDisplayName := '';
|
||||
ARootData^.FHomePageURL := '';
|
||||
ARootData^.FDownloadURL := '';
|
||||
ARootData^.FSVNURL := '';
|
||||
ARootData^.FCommunityDescription := '';
|
||||
ARootData^.FExternalDependencies := '';
|
||||
ARootData^.FDataType := 0;
|
||||
if ARootData^.FName = 'ct4laz' then
|
||||
ct4laz_name := ExtractFileName(TPackageData(PackageList.Objects[0]).FPackageRelativePath);
|
||||
for I := 0 to SerializablePackages.Count - 1 do
|
||||
begin
|
||||
if (SerializablePackages.Items[I].Name = ARootData^.FName) or ((ARootData^.FName = 'ct4laz') and (SerializablePackages.Items[I].Name = ct4laz_name)) then
|
||||
begin
|
||||
ARootData^.FCategory := SerializablePackages.Items[I].Category;
|
||||
ARootData^.FDisplayName := SerializablePackages.Items[I].DisplayName;
|
||||
ARootData^.FHomePageURL := SerializablePackages.Items[I].HomePageURL;
|
||||
ARootData^.FDownloadURL := SerializablePackages.Items[I].DownloadURL;
|
||||
ARootData^.FSVNURL := SerializablePackages.Items[I].SVNURL;
|
||||
ARootData^.FCommunityDescription := SerializablePackages.Items[I].CommunityDescription;
|
||||
ARootData^.FExternalDependencies := SerializablePackages.Items[I].ExternalDependecies;
|
||||
ARootData^.FOrphanedPackage := SerializablePackages.Items[I].OrphanedPackage;
|
||||
Break;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
var
|
||||
I: Integer;
|
||||
Node, RootNode: PVirtualNode;
|
||||
Data, RootData: PData;
|
||||
@ -475,21 +509,16 @@ begin
|
||||
FVSTPackageData.NodeDataSize := SizeOf(TData);
|
||||
RootNode := FVSTPackages.AddChild(nil);
|
||||
RootNode^.CheckType := ctTriStateCheckBox;
|
||||
RootNode^.CheckState := csCheckedNormal;
|
||||
RootData := FVSTPackages.GetNodeData(RootNode);
|
||||
RootData^.FName := TPackageData(PackageList.Objects[0]).FPackageBaseDir;
|
||||
RootData^.FCategory := '';
|
||||
RootData^.FDisplayName := '';
|
||||
RootData^.FHomePageURL := '';
|
||||
RootData^.FDownloadURL := '';
|
||||
RootData^.FSVNURL := '';
|
||||
RootData^.FCommunityDescription := '';
|
||||
RootData^.FExternalDependencies := '';
|
||||
RootData^.FDataType := 0;
|
||||
GetData(RootData);
|
||||
FPackageName := RootData^.FName;
|
||||
for I := 0 to PackageList.Count - 1 do
|
||||
begin
|
||||
Node := FVSTPackages.AddChild(RootNode);
|
||||
Node^.CheckType := ctTriStateCheckBox;
|
||||
Node^.CheckState := csCheckedNormal;
|
||||
Data := FVSTPackages.GetNodeData(Node);
|
||||
Data^.FName := TPackageData(PackageList.Objects[I]).FName;
|
||||
Data^.FPackageBaseDir := TPackageData(PackageList.Objects[I]).FPackageBaseDir;
|
||||
@ -522,9 +551,13 @@ begin
|
||||
end;
|
||||
finally
|
||||
if CanGo then
|
||||
ShowHideControls(2)
|
||||
begin
|
||||
ShowHideControls(2);
|
||||
EnableDisableControls(True);
|
||||
end
|
||||
else
|
||||
ShowHideControls(0)
|
||||
ShowHideControls(0);
|
||||
|
||||
end;
|
||||
end;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user