Opkman: Add a new node("Orphaned package") to the package tree. The node describe if the node is actively maintained.

git-svn-id: trunk@63634 -
This commit is contained in:
balazs 2020-07-23 14:07:21 +00:00
parent 2a1638310f
commit 9ce85ae018
8 changed files with 142 additions and 32 deletions

View File

@ -89,6 +89,8 @@ resourcestring
rsMainFrm_VSTText_Category = 'Category'; rsMainFrm_VSTText_Category = 'Category';
rsMainFrm_VSTText_CommunityDescription = 'Community description'; rsMainFrm_VSTText_CommunityDescription = 'Community description';
rsMainFrm_VSTText_ExternalDeps = 'External dependencies'; rsMainFrm_VSTText_ExternalDeps = 'External dependencies';
rsMainFrm_VSTText_OrphanedPackage1 = 'Orphaned package';
rsMainFrm_VSTText_OrphanedPackage2 = 'currently has no active maintainer';
rsMainFrm_VSTText_RepositoryFilename = 'Repository filename'; rsMainFrm_VSTText_RepositoryFilename = 'Repository filename';
rsMainFrm_VSTText_RepositoryFileSize = 'Repository filesize'; rsMainFrm_VSTText_RepositoryFileSize = 'Repository filesize';
rsMainFrm_VSTText_RepositoryFileHash = 'Repository filehash'; rsMainFrm_VSTText_RepositoryFileHash = 'Repository filehash';

View File

@ -139,12 +139,12 @@ object CreateRepositoryFrm: TCreateRepositoryFrm
Enabled = False Enabled = False
Interval = 100 Interval = 100
OnTimer = tmWaitTimer OnTimer = tmWaitTimer
left = 85 Left = 85
top = 32 Top = 32
end end
object pm: TPopupMenu object pm: TPopupMenu
left = 139 Left = 139
top = 37 Top = 37
object miRepDetails: TMenuItem object miRepDetails: TMenuItem
Caption = 'Repository details' Caption = 'Repository details'
OnClick = miRepDetailsClick OnClick = miRepDetailsClick
@ -153,7 +153,7 @@ object CreateRepositoryFrm: TCreateRepositoryFrm
object ODRep: TOpenDialog object ODRep: TOpenDialog
DefaultExt = '.opmrep' DefaultExt = '.opmrep'
Filter = '*.opmrep|*.opmrep' Filter = '*.opmrep|*.opmrep'
left = 85 Left = 85
top = 104 Top = 104
end end
end end

View File

@ -156,6 +156,8 @@ type
FDownloadURL: String; FDownloadURL: String;
FSVNURL: String; FSVNURL: String;
FCommunityDescription: String; FCommunityDescription: String;
FExternalDependencies: String;
FOrphanPackage: Integer;
end; end;
procedure TCreateRepositoryFrm.FormCreate(Sender: TObject); procedure TCreateRepositoryFrm.FormCreate(Sender: TObject);
@ -700,6 +702,8 @@ begin
Data^.FHomePageURL := MetaPackage.HomePageURL; Data^.FHomePageURL := MetaPackage.HomePageURL;
Data^.FDownloadURL := MetaPackage.DownloadURL; Data^.FDownloadURL := MetaPackage.DownloadURL;
Data^.FCommunityDescription := MetaPackage.CommunityDescription; Data^.FCommunityDescription := MetaPackage.CommunityDescription;
Data^.FExternalDependencies := MetaPackage.ExternalDependecies;
Data^.FOrphanPackage := MetaPackage.OrphanedPackage;
Data^.FDataType := 1; Data^.FDataType := 1;
for J := 0 to MetaPackage.LazarusPackages.Count - 1 do for J := 0 to MetaPackage.LazarusPackages.Count - 1 do
begin begin
@ -813,7 +817,15 @@ var
Data: PData; Data: PData;
begin begin
Data := FVSTPackages.GetNodeData(Node); Data := FVSTPackages.GetNodeData(Node);
ImageIndex := Data^.FDataType; case Data^.FDataType of
0: ImageIndex := 0;
1: if Data^.FOrphanPackage = 1 then
ImageIndex := 36
else
ImageIndex := 1;
2: ImageIndex := 0;
end;
end; end;
procedure TCreateRepositoryFrm.VSTPackagesHeaderClick(Sender: TVTHeader; HitInfo: TVTHeaderHitInfo); procedure TCreateRepositoryFrm.VSTPackagesHeaderClick(Sender: TVTHeader; HitInfo: TVTHeaderHitInfo);
@ -926,6 +938,18 @@ begin
DetailData := FVSTDetails.GetNodeData(DetailNode); DetailData := FVSTDetails.GetNodeData(DetailNode);
DetailData^.FCommunityDescription := Data^.FCommunityDescription; DetailData^.FCommunityDescription := Data^.FCommunityDescription;
DetailData^.FDataType := 19; DetailData^.FDataType := 19;
//add ExternalDependencies(DataType = 20)
DetailNode := FVSTDetails.AddChild(nil);
DetailData := FVSTDetails.GetNodeData(DetailNode);
DetailData^.FExternalDependencies := Data^.FExternalDependencies;
DetailData^.FDataType := 20;
//add OrphanedPackage(DataType = 21)
DetailNode := FVSTDetails.AddChild(nil);
DetailData := FVSTDetails.GetNodeData(DetailNode);
DetailData^.FOrphanPackage := Data^.FOrphanPackage;
DetailData^.FDataType := 21;
end; end;
2: begin 2: begin
//add description(DataType = 2) //add description(DataType = 2)
@ -1052,6 +1076,17 @@ begin
CellText := rsMainFrm_VSTText_CommunityDescription CellText := rsMainFrm_VSTText_CommunityDescription
else else
CellText := DetailData^.FCommunityDescription; CellText := DetailData^.FCommunityDescription;
20: if Column = 0 then
CellText := rsMainFrm_VSTText_ExternalDeps
else
CellText := DetailData^.FExternalDependencies;
21: if Column = 0 then
CellText := rsMainFrm_VSTText_OrphanedPackage1
else
case DetailData^.FOrphanPackage of
0: CellText := rsMainFrm_VSTText_Install0;
1: CellText := rsMainFrm_VSTText_Install1;
end;
end; end;
end; end;
2: begin 2: begin
@ -1113,9 +1148,14 @@ begin
if Column = 0 then if Column = 0 then
begin begin
Data := FVSTDetails.GetNodeData(Node); Data := FVSTDetails.GetNodeData(Node);
case Data^.FDataType of
20: ImageIndex := 10;
21: ImageIndex := 36;
else
ImageIndex := Data^.FDataType; ImageIndex := Data^.FDataType;
end; end;
end; end;
end;
procedure TCreateRepositoryFrm.VSTDetailsFreeNode(Sender: TBaseVirtualTree; procedure TCreateRepositoryFrm.VSTDetailsFreeNode(Sender: TBaseVirtualTree;
Node: PVirtualNode); Node: PVirtualNode);

View File

@ -106,13 +106,13 @@ object CreateRepositoryPackagesFrm: TCreateRepositoryPackagesFrm
TabOrder = 3 TabOrder = 3
object pnPackageData: TPanel object pnPackageData: TPanel
Left = 0 Left = 0
Height = 110 Height = 77
Top = 479 Top = 512
Width = 657 Width = 657
Align = alClient Align = alClient
BevelOuter = bvNone BevelOuter = bvNone
BorderStyle = bsSingle BorderStyle = bsSingle
ClientHeight = 106 ClientHeight = 73
ClientWidth = 653 ClientWidth = 653
TabOrder = 1 TabOrder = 1
Visible = False Visible = False
@ -290,13 +290,13 @@ object CreateRepositoryPackagesFrm: TCreateRepositoryPackagesFrm
end end
object pnCategory: TPanel object pnCategory: TPanel
Left = 0 Left = 0
Height = 479 Height = 512
Top = 0 Top = 0
Width = 657 Width = 657
Align = alTop Align = alTop
BevelOuter = bvNone BevelOuter = bvNone
BorderStyle = bsSingle BorderStyle = bsSingle
ClientHeight = 475 ClientHeight = 508
ClientWidth = 653 ClientWidth = 653
TabOrder = 0 TabOrder = 0
Visible = False Visible = False
@ -323,7 +323,7 @@ object CreateRepositoryPackagesFrm: TCreateRepositoryPackagesFrm
object lbHomePageURL: TLabel object lbHomePageURL: TLabel
Left = 9 Left = 9
Height = 15 Height = 15
Top = 87 Top = 89
Width = 90 Width = 90
Caption = 'lbHomePageURL' Caption = 'lbHomePageURL'
ParentColor = False ParentColor = False
@ -331,7 +331,7 @@ object CreateRepositoryPackagesFrm: TCreateRepositoryPackagesFrm
object lbDownloadURL: TLabel object lbDownloadURL: TLabel
Left = 9 Left = 9
Height = 15 Height = 15
Top = 123 Top = 125
Width = 85 Width = 85
Caption = 'lbDownloadURL' Caption = 'lbDownloadURL'
ParentColor = False ParentColor = False
@ -339,7 +339,7 @@ object CreateRepositoryPackagesFrm: TCreateRepositoryPackagesFrm
object edHomePageURL: TEdit object edHomePageURL: TEdit
Left = 170 Left = 170
Height = 23 Height = 23
Top = 83 Top = 84
Width = 454 Width = 454
Anchors = [akTop, akLeft, akRight] Anchors = [akTop, akLeft, akRight]
TabOrder = 2 TabOrder = 2
@ -347,7 +347,7 @@ object CreateRepositoryPackagesFrm: TCreateRepositoryPackagesFrm
object edDownloadURL: TEdit object edDownloadURL: TEdit
Left = 170 Left = 170
Height = 23 Height = 23
Top = 118 Top = 120
Width = 454 Width = 454
Anchors = [akTop, akLeft, akRight] Anchors = [akTop, akLeft, akRight]
TabOrder = 3 TabOrder = 3
@ -355,7 +355,7 @@ object CreateRepositoryPackagesFrm: TCreateRepositoryPackagesFrm
object lbSVNURL: TLabel object lbSVNURL: TLabel
Left = 9 Left = 9
Height = 15 Height = 15
Top = 154 Top = 156
Width = 53 Width = 53
Caption = 'lbSVNURL' Caption = 'lbSVNURL'
ParentColor = False ParentColor = False
@ -364,7 +364,7 @@ object CreateRepositoryPackagesFrm: TCreateRepositoryPackagesFrm
object edSVNURL: TEdit object edSVNURL: TEdit
Left = 170 Left = 170
Height = 23 Height = 23
Top = 152 Top = 155
Width = 454 Width = 454
Anchors = [akTop, akLeft, akRight] Anchors = [akTop, akLeft, akRight]
TabOrder = 4 TabOrder = 4
@ -427,14 +427,14 @@ object CreateRepositoryPackagesFrm: TCreateRepositoryPackagesFrm
object mComDescr: TMemo object mComDescr: TMemo
Left = 170 Left = 170
Height = 152 Height = 152
Top = 152 Top = 156
Width = 454 Width = 454
TabOrder = 5 TabOrder = 5
end end
object lbComDescr: TLabel object lbComDescr: TLabel
Left = 9 Left = 9
Height = 15 Height = 15
Top = 154 Top = 156
Width = 65 Width = 65
Caption = 'lbComDescr' Caption = 'lbComDescr'
ParentColor = False ParentColor = False
@ -442,7 +442,7 @@ object CreateRepositoryPackagesFrm: TCreateRepositoryPackagesFrm
object lbExternalDependencies: TLabel object lbExternalDependencies: TLabel
Left = 9 Left = 9
Height = 15 Height = 15
Top = 314 Top = 316
Width = 125 Width = 125
Caption = 'lbExternalDependencies' Caption = 'lbExternalDependencies'
ParentColor = False ParentColor = False
@ -450,10 +450,19 @@ object CreateRepositoryPackagesFrm: TCreateRepositoryPackagesFrm
object mExternalDependencies: TMemo object mExternalDependencies: TMemo
Left = 170 Left = 170
Height = 152 Height = 152
Top = 314 Top = 319
Width = 454 Width = 454
TabOrder = 6 TabOrder = 6
end end
object cbOrphanedPackage: TCheckBox
Left = 9
Height = 19
Top = 481
Width = 294
Caption = 'Orphan package(currently has no active maintainer)'
OnClick = cbOrphanedPackageClick
TabOrder = 7
end
end end
end end
object spMain: TSplitter object spMain: TSplitter
@ -590,7 +599,7 @@ object CreateRepositoryPackagesFrm: TCreateRepositoryPackagesFrm
end end
end end
object SDD: TSelectDirectoryDialog object SDD: TSelectDirectoryDialog
left = 88 Left = 88
top = 88 Top = 88
end end
end end

View File

@ -50,6 +50,7 @@ type
bOptions: TButton; bOptions: TButton;
bSubmit: TButton; bSubmit: TButton;
cbJSONForUpdates: TCheckBox; cbJSONForUpdates: TCheckBox;
cbOrphanedPackage: TCheckBox;
edCategories: TEdit; edCategories: TEdit;
edFPCCompatibility: TEdit; edFPCCompatibility: TEdit;
edSupportedWidgetset: TEdit; edSupportedWidgetset: TEdit;
@ -99,6 +100,7 @@ type
procedure bHelpClick(Sender: TObject); procedure bHelpClick(Sender: TObject);
procedure bOptionsClick(Sender: TObject); procedure bOptionsClick(Sender: TObject);
procedure bSubmitClick(Sender: TObject); procedure bSubmitClick(Sender: TObject);
procedure cbOrphanedPackageClick(Sender: TObject);
procedure edDisplayNameKeyPress(Sender: TObject; var Key: char); procedure edDisplayNameKeyPress(Sender: TObject; var Key: char);
procedure edPackageDirAcceptDirectory(Sender: TObject; Var Value: String); procedure edPackageDirAcceptDirectory(Sender: TObject; Var Value: String);
procedure edPackageDirButtonClick(Sender: TObject); procedure edPackageDirButtonClick(Sender: TObject);
@ -197,6 +199,7 @@ type
FSVNURL: String; FSVNURL: String;
FCommunityDescription: String; FCommunityDescription: String;
FExternalDependencies: String; FExternalDependencies: String;
FOrphanedPackage: Integer;
end; end;
procedure TCreateRepositoryPackagesFrm.FormCreate(Sender: TObject); procedure TCreateRepositoryPackagesFrm.FormCreate(Sender: TObject);
@ -215,7 +218,7 @@ begin
lbSVNURL.Caption := rsCreateRepositoryPackageFrm_lbSVNURL_Caption; lbSVNURL.Caption := rsCreateRepositoryPackageFrm_lbSVNURL_Caption;
lbComDescr.Caption := rsMainFrm_VSTText_CommunityDescription + ':'; lbComDescr.Caption := rsMainFrm_VSTText_CommunityDescription + ':';
lbExternalDependencies.Caption := rsMainFrm_VSTText_ExternalDeps + ':'; lbExternalDependencies.Caption := rsMainFrm_VSTText_ExternalDeps + ':';
cbOrphanedPackage.Caption := rsMainFrm_VSTText_OrphanedPackage1 + '(' + rsMainFrm_VSTText_OrphanedPackage2 + ')';
bHelp.Caption := rsCreateRepositoryPackageFrm_bHelp_Caption; bHelp.Caption := rsCreateRepositoryPackageFrm_bHelp_Caption;
bHelp.Hint := rsCreateRepositoryPackageFrm_bHelp_Hint; bHelp.Hint := rsCreateRepositoryPackageFrm_bHelp_Hint;
bOptions.Caption := rsCreateRepositoryPackageFrm_bOptions_Caption; bOptions.Caption := rsCreateRepositoryPackageFrm_bOptions_Caption;
@ -693,6 +696,22 @@ begin
fPackageZipper.StartZip(FPackageDir, FPackageFile); fPackageZipper.StartZip(FPackageDir, FPackageFile);
end; end;
procedure TCreateRepositoryPackagesFrm.cbOrphanedPackageClick(Sender: TObject);
var
Node: PVirtualNode;
Data: PData;
begin
Node := FVSTPackages.GetFirstSelected;
if Node = nil then
Exit;
if FVSTPackages.GetNodeLevel(Node) <> 0 then
Exit;
Data := FVSTPackages.GetNodeData(Node);
Data^.FOrphanedPackage := Ord(cbOrphanedPackage.Checked);
FVSTPackages.ReinitNode(Node, False);
FVSTPackages.RepaintNode(Node);
end;
procedure TCreateRepositoryPackagesFrm.edDisplayNameKeyPress(Sender: TObject; procedure TCreateRepositoryPackagesFrm.edDisplayNameKeyPress(Sender: TObject;
var Key: char); var Key: char);
begin begin
@ -735,10 +754,23 @@ end;
procedure TCreateRepositoryPackagesFrm.VSTPackagesGetImageIndex( procedure TCreateRepositoryPackagesFrm.VSTPackagesGetImageIndex(
Sender: TBaseVirtualTree; Node: PVirtualNode; Kind: TVTImageKind; Sender: TBaseVirtualTree; Node: PVirtualNode; Kind: TVTImageKind;
Column: TColumnIndex; var Ghosted: Boolean; var ImageIndex: Integer); Column: TColumnIndex; var Ghosted: Boolean; var ImageIndex: Integer);
var
Data: PData;
begin begin
if Column = 0 then if Column = 0 then
begin
Data := FVSTPackages.GetNodeData(Node);
if FVSTPackages.GetNodeLevel(Node) = 0 then
begin
if Data^.FOrphanedPackage = 1 then
ImageIndex := 36
else
ImageIndex := 1;
end
else
ImageIndex := IMAGE_INDEX_MAP[FVSTPackages.GetNodeLevel(Node)]; ImageIndex := IMAGE_INDEX_MAP[FVSTPackages.GetNodeLevel(Node)];
end; end;
end;
procedure TCreateRepositoryPackagesFrm.SaveExtraInfo(const ANode: PVirtualNode); procedure TCreateRepositoryPackagesFrm.SaveExtraInfo(const ANode: PVirtualNode);
var var
@ -754,6 +786,7 @@ begin
Data^.FSVNURL := edSVNURL.Text; Data^.FSVNURL := edSVNURL.Text;
Data^.FCommunityDescription := mComDescr.Text; Data^.FCommunityDescription := mComDescr.Text;
Data^.FExternalDependencies := mExternalDependencies.Text; Data^.FExternalDependencies := mExternalDependencies.Text;
Data^.FOrphanedPackage := Ord(cbOrphanedPackage.Checked);
end; end;
1: begin 1: begin
Data^.FLazCompatibility := edLazCompatibility.Text; Data^.FLazCompatibility := edLazCompatibility.Text;
@ -804,6 +837,7 @@ begin
edSVNURL.Text := Data^.FSVNURL; edSVNURL.Text := Data^.FSVNURL;
mComDescr.Text := Data^.FCommunityDescription; mComDescr.Text := Data^.FCommunityDescription;
mExternalDependencies.Text := Data^.FExternalDependencies; mExternalDependencies.Text := Data^.FExternalDependencies;
cbOrphanedPackage.Checked := Data^.FOrphanedPackage = 1;
end end
else if Level = 1 then else if Level = 1 then
begin begin

View File

@ -173,6 +173,7 @@ type
FCategory: String; FCategory: String;
FCommunityDescription: String; FCommunityDescription: String;
FExternalDependencies: String; FExternalDependencies: String;
FOrphanedPackage: Integer;
FRepositoryFileName: String; FRepositoryFileName: String;
FRepositoryFileSize: Int64; FRepositoryFileSize: Int64;
FRepositoryFileHash: String; FRepositoryFileHash: String;
@ -217,6 +218,7 @@ type
property Category: String read FCategory write FCategory; property Category: String read FCategory write FCategory;
property CommunityDescription: String read FCommunityDescription write FCommunityDescription; property CommunityDescription: String read FCommunityDescription write FCommunityDescription;
property ExternalDependecies: String read FExternalDependencies write FExternalDependencies; property ExternalDependecies: String read FExternalDependencies write FExternalDependencies;
property OrphanedPackage: Integer read FOrphanedPackage write FOrphanedPackage;
property Checked: Boolean read FChecked write FChecked; property Checked: Boolean read FChecked write FChecked;
property RepositoryFileName: String read FRepositoryFileName write FRepositoryFileName; property RepositoryFileName: String read FRepositoryFileName write FRepositoryFileName;
property RepositoryFileSize: int64 read FRepositoryFileSize write FRepositoryFileSize; property RepositoryFileSize: int64 read FRepositoryFileSize write FRepositoryFileSize;
@ -859,6 +861,7 @@ begin
AMetaPackage.Category := PackageData.Get('Category'); AMetaPackage.Category := PackageData.Get('Category');
AMetaPackage.CommunityDescription := PackageData.Get('CommunityDescription'); AMetaPackage.CommunityDescription := PackageData.Get('CommunityDescription');
AMetaPackage.ExternalDependecies := PackageData.Get('ExternalDependecies'); AMetaPackage.ExternalDependecies := PackageData.Get('ExternalDependecies');
AMetaPackage.OrphanedPackage := PackageData.Get('OrphanedPackage');
AMetaPackage.RepositoryFileName := PackageData.Get('RepositoryFileName'); AMetaPackage.RepositoryFileName := PackageData.Get('RepositoryFileName');
AMetaPackage.RepositoryFileSize := PackageData.Get('RepositoryFileSize'); AMetaPackage.RepositoryFileSize := PackageData.Get('RepositoryFileSize');
AMetaPackage.RepositoryFileHash := PackageData.Get('RepositoryFileHash'); AMetaPackage.RepositoryFileHash := PackageData.Get('RepositoryFileHash');
@ -1315,6 +1318,7 @@ begin
APackageData.Add('Category', AMetaPackage.Category); APackageData.Add('Category', AMetaPackage.Category);
APackageData.Add('CommunityDescription', AMetaPackage.CommunityDescription); APackageData.Add('CommunityDescription', AMetaPackage.CommunityDescription);
APackageData.Add('ExternalDependecies', AMetaPackage.ExternalDependecies); APackageData.Add('ExternalDependecies', AMetaPackage.ExternalDependecies);
APackageData.Add('OrphanedPackage', AMetaPackage.OrphanedPackage);
APackageData.Add('RepositoryFileName', AMetaPackage.RepositoryFileName); APackageData.Add('RepositoryFileName', AMetaPackage.RepositoryFileName);
APackageData.Add('RepositoryFileSize', AMetaPackage.RepositoryFileSize); APackageData.Add('RepositoryFileSize', AMetaPackage.RepositoryFileSize);
APackageData.Add('RepositoryFileHash', AMetaPackage.RepositoryFileHash); APackageData.Add('RepositoryFileHash', AMetaPackage.RepositoryFileHash);

View File

@ -172,7 +172,10 @@ var
begin begin
Data := VisualTree.VST.GetNodeData(ANode); Data := VisualTree.VST.GetNodeData(ANode);
Caption := Format(rsMainFrm_rsPackageInformation, [Data^.PackageDisplayName]); Caption := Format(rsMainFrm_rsPackageInformation, [Data^.PackageDisplayName]);
pnPackageName.Caption := Data^.PackageDisplayName; if Data^.OrphanedPackage = 0 then
pnPackageName.Caption := Data^.PackageDisplayName
else
pnPackageName.Caption := Data^.PackageDisplayName + '(' + rsMainFrm_VSTText_OrphanedPackage1 + ' - ' + rsMainFrm_VSTText_OrphanedPackage2 + ')';
CalcHeight(mDescription, Data^.CommunityDescription); CalcHeight(mDescription, Data^.CommunityDescription);
for I := FFrames.Count - 1 downto 0 do for I := FFrames.Count - 1 downto 0 do
begin begin

View File

@ -76,6 +76,7 @@ type
SVNURL: String; SVNURL: String;
CommunityDescription: String; CommunityDescription: String;
ExternalDependencies: String; ExternalDependencies: String;
OrphanedPackage: Integer;
InstallState: Integer; InstallState: Integer;
ButtonID: Integer; ButtonID: Integer;
Button: TSpeedButton; Button: TSpeedButton;
@ -501,7 +502,13 @@ begin
Inc(UniqueID); Inc(UniqueID);
GrandChildData^.ButtonID := UniqueID; GrandChildData^.ButtonID := UniqueID;
Data^.ExternalDependencies := SerializablePackages.Items[I].ExternalDependecies; Data^.ExternalDependencies := SerializablePackages.Items[I].ExternalDependecies;
//add orphaned package(DataType = 21) - added 2020.07.23
GrandChildNode := FVST.AddChild(ChildNode);
FVST.IsDisabled[GrandChildNode] := FVST.IsDisabled[GrandChildNode^.Parent];
GrandChildData := FVST.GetNodeData(GrandChildNode);
GrandChildData^.OrphanedPackage := SerializablePackages.Items[I].OrphanedPackage;
GrandChildData^.DataType := 21;
Data^.OrphanedPackage := SerializablePackages.Items[I].OrphanedPackage;
end; end;
FVST.SortTree(0, laz.VirtualTrees.sdAscending); FVST.SortTree(0, laz.VirtualTrees.sdAscending);
ExpandEx; ExpandEx;
@ -1476,8 +1483,14 @@ begin
((not Options.ShowRegularIcons) or ((Options.ShowRegularIcons) and (Data^.InstallState = 0))) then ((not Options.ShowRegularIcons) or ((Options.ShowRegularIcons) and (Data^.InstallState = 0))) then
ImageIndex := 25 ImageIndex := 25
else else
ImageIndex := 1; begin
20: ImageIndex := 10 if Data^.OrphanedPackage = 0 then
ImageIndex := 1
else
ImageIndex := 36;
end;
20: ImageIndex := 10;
21: ImageIndex := 36;
else else
ImageIndex := Data^.DataType ImageIndex := Data^.DataType
end; end;
@ -1550,7 +1563,8 @@ begin
17: CellText := rsMainFrm_VSTText_HomePageURL; 17: CellText := rsMainFrm_VSTText_HomePageURL;
18: CellText := rsMainFrm_VSTText_DownloadURL; 18: CellText := rsMainFrm_VSTText_DownloadURL;
19: CellText := rsMainFrm_VSTText_CommunityDescription; 19: CellText := rsMainFrm_VSTText_CommunityDescription;
20: CellText := rsMainFrm_VSTText_ExternalDeps 20: CellText := rsMainFrm_VSTText_ExternalDeps;
21: CellText := rsMainFrm_VSTText_OrphanedPackage1;
end; end;
end end
else if Column = 1 then else if Column = 1 then
@ -1654,6 +1668,10 @@ begin
18: CellText := Data^.DownloadURL; 18: CellText := Data^.DownloadURL;
19: CellText := GetDisplayString(Data^.CommunityDescription); 19: CellText := GetDisplayString(Data^.CommunityDescription);
20: CellText := GetDisplayString(Data^.ExternalDependencies); 20: CellText := GetDisplayString(Data^.ExternalDependencies);
21: case Data^.OrphanedPackage of
0: CellText := rsMainFrm_VSTText_Install0;
1: CellText := rsMainFrm_VSTText_Install1;
end;
end; end;
end end
else if Column = 5 then else if Column = 5 then