mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-05-31 09:32:41 +02:00
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:
parent
2a1638310f
commit
9ce85ae018
@ -89,6 +89,8 @@ resourcestring
|
||||
rsMainFrm_VSTText_Category = 'Category';
|
||||
rsMainFrm_VSTText_CommunityDescription = 'Community description';
|
||||
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_RepositoryFileSize = 'Repository filesize';
|
||||
rsMainFrm_VSTText_RepositoryFileHash = 'Repository filehash';
|
||||
|
@ -139,12 +139,12 @@ object CreateRepositoryFrm: TCreateRepositoryFrm
|
||||
Enabled = False
|
||||
Interval = 100
|
||||
OnTimer = tmWaitTimer
|
||||
left = 85
|
||||
top = 32
|
||||
Left = 85
|
||||
Top = 32
|
||||
end
|
||||
object pm: TPopupMenu
|
||||
left = 139
|
||||
top = 37
|
||||
Left = 139
|
||||
Top = 37
|
||||
object miRepDetails: TMenuItem
|
||||
Caption = 'Repository details'
|
||||
OnClick = miRepDetailsClick
|
||||
@ -153,7 +153,7 @@ object CreateRepositoryFrm: TCreateRepositoryFrm
|
||||
object ODRep: TOpenDialog
|
||||
DefaultExt = '.opmrep'
|
||||
Filter = '*.opmrep|*.opmrep'
|
||||
left = 85
|
||||
top = 104
|
||||
Left = 85
|
||||
Top = 104
|
||||
end
|
||||
end
|
||||
|
@ -156,6 +156,8 @@ type
|
||||
FDownloadURL: String;
|
||||
FSVNURL: String;
|
||||
FCommunityDescription: String;
|
||||
FExternalDependencies: String;
|
||||
FOrphanPackage: Integer;
|
||||
end;
|
||||
|
||||
procedure TCreateRepositoryFrm.FormCreate(Sender: TObject);
|
||||
@ -700,6 +702,8 @@ begin
|
||||
Data^.FHomePageURL := MetaPackage.HomePageURL;
|
||||
Data^.FDownloadURL := MetaPackage.DownloadURL;
|
||||
Data^.FCommunityDescription := MetaPackage.CommunityDescription;
|
||||
Data^.FExternalDependencies := MetaPackage.ExternalDependecies;
|
||||
Data^.FOrphanPackage := MetaPackage.OrphanedPackage;
|
||||
Data^.FDataType := 1;
|
||||
for J := 0 to MetaPackage.LazarusPackages.Count - 1 do
|
||||
begin
|
||||
@ -813,7 +817,15 @@ var
|
||||
Data: PData;
|
||||
begin
|
||||
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;
|
||||
|
||||
procedure TCreateRepositoryFrm.VSTPackagesHeaderClick(Sender: TVTHeader; HitInfo: TVTHeaderHitInfo);
|
||||
@ -926,6 +938,18 @@ begin
|
||||
DetailData := FVSTDetails.GetNodeData(DetailNode);
|
||||
DetailData^.FCommunityDescription := Data^.FCommunityDescription;
|
||||
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;
|
||||
2: begin
|
||||
//add description(DataType = 2)
|
||||
@ -1052,6 +1076,17 @@ begin
|
||||
CellText := rsMainFrm_VSTText_CommunityDescription
|
||||
else
|
||||
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;
|
||||
2: begin
|
||||
@ -1113,7 +1148,12 @@ begin
|
||||
if Column = 0 then
|
||||
begin
|
||||
Data := FVSTDetails.GetNodeData(Node);
|
||||
ImageIndex := Data^.FDataType;
|
||||
case Data^.FDataType of
|
||||
20: ImageIndex := 10;
|
||||
21: ImageIndex := 36;
|
||||
else
|
||||
ImageIndex := Data^.FDataType;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
|
@ -106,13 +106,13 @@ object CreateRepositoryPackagesFrm: TCreateRepositoryPackagesFrm
|
||||
TabOrder = 3
|
||||
object pnPackageData: TPanel
|
||||
Left = 0
|
||||
Height = 110
|
||||
Top = 479
|
||||
Height = 77
|
||||
Top = 512
|
||||
Width = 657
|
||||
Align = alClient
|
||||
BevelOuter = bvNone
|
||||
BorderStyle = bsSingle
|
||||
ClientHeight = 106
|
||||
ClientHeight = 73
|
||||
ClientWidth = 653
|
||||
TabOrder = 1
|
||||
Visible = False
|
||||
@ -290,13 +290,13 @@ object CreateRepositoryPackagesFrm: TCreateRepositoryPackagesFrm
|
||||
end
|
||||
object pnCategory: TPanel
|
||||
Left = 0
|
||||
Height = 479
|
||||
Height = 512
|
||||
Top = 0
|
||||
Width = 657
|
||||
Align = alTop
|
||||
BevelOuter = bvNone
|
||||
BorderStyle = bsSingle
|
||||
ClientHeight = 475
|
||||
ClientHeight = 508
|
||||
ClientWidth = 653
|
||||
TabOrder = 0
|
||||
Visible = False
|
||||
@ -323,7 +323,7 @@ object CreateRepositoryPackagesFrm: TCreateRepositoryPackagesFrm
|
||||
object lbHomePageURL: TLabel
|
||||
Left = 9
|
||||
Height = 15
|
||||
Top = 87
|
||||
Top = 89
|
||||
Width = 90
|
||||
Caption = 'lbHomePageURL'
|
||||
ParentColor = False
|
||||
@ -331,7 +331,7 @@ object CreateRepositoryPackagesFrm: TCreateRepositoryPackagesFrm
|
||||
object lbDownloadURL: TLabel
|
||||
Left = 9
|
||||
Height = 15
|
||||
Top = 123
|
||||
Top = 125
|
||||
Width = 85
|
||||
Caption = 'lbDownloadURL'
|
||||
ParentColor = False
|
||||
@ -339,7 +339,7 @@ object CreateRepositoryPackagesFrm: TCreateRepositoryPackagesFrm
|
||||
object edHomePageURL: TEdit
|
||||
Left = 170
|
||||
Height = 23
|
||||
Top = 83
|
||||
Top = 84
|
||||
Width = 454
|
||||
Anchors = [akTop, akLeft, akRight]
|
||||
TabOrder = 2
|
||||
@ -347,7 +347,7 @@ object CreateRepositoryPackagesFrm: TCreateRepositoryPackagesFrm
|
||||
object edDownloadURL: TEdit
|
||||
Left = 170
|
||||
Height = 23
|
||||
Top = 118
|
||||
Top = 120
|
||||
Width = 454
|
||||
Anchors = [akTop, akLeft, akRight]
|
||||
TabOrder = 3
|
||||
@ -355,7 +355,7 @@ object CreateRepositoryPackagesFrm: TCreateRepositoryPackagesFrm
|
||||
object lbSVNURL: TLabel
|
||||
Left = 9
|
||||
Height = 15
|
||||
Top = 154
|
||||
Top = 156
|
||||
Width = 53
|
||||
Caption = 'lbSVNURL'
|
||||
ParentColor = False
|
||||
@ -364,7 +364,7 @@ object CreateRepositoryPackagesFrm: TCreateRepositoryPackagesFrm
|
||||
object edSVNURL: TEdit
|
||||
Left = 170
|
||||
Height = 23
|
||||
Top = 152
|
||||
Top = 155
|
||||
Width = 454
|
||||
Anchors = [akTop, akLeft, akRight]
|
||||
TabOrder = 4
|
||||
@ -427,14 +427,14 @@ object CreateRepositoryPackagesFrm: TCreateRepositoryPackagesFrm
|
||||
object mComDescr: TMemo
|
||||
Left = 170
|
||||
Height = 152
|
||||
Top = 152
|
||||
Top = 156
|
||||
Width = 454
|
||||
TabOrder = 5
|
||||
end
|
||||
object lbComDescr: TLabel
|
||||
Left = 9
|
||||
Height = 15
|
||||
Top = 154
|
||||
Top = 156
|
||||
Width = 65
|
||||
Caption = 'lbComDescr'
|
||||
ParentColor = False
|
||||
@ -442,7 +442,7 @@ object CreateRepositoryPackagesFrm: TCreateRepositoryPackagesFrm
|
||||
object lbExternalDependencies: TLabel
|
||||
Left = 9
|
||||
Height = 15
|
||||
Top = 314
|
||||
Top = 316
|
||||
Width = 125
|
||||
Caption = 'lbExternalDependencies'
|
||||
ParentColor = False
|
||||
@ -450,10 +450,19 @@ object CreateRepositoryPackagesFrm: TCreateRepositoryPackagesFrm
|
||||
object mExternalDependencies: TMemo
|
||||
Left = 170
|
||||
Height = 152
|
||||
Top = 314
|
||||
Top = 319
|
||||
Width = 454
|
||||
TabOrder = 6
|
||||
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
|
||||
object spMain: TSplitter
|
||||
@ -590,7 +599,7 @@ object CreateRepositoryPackagesFrm: TCreateRepositoryPackagesFrm
|
||||
end
|
||||
end
|
||||
object SDD: TSelectDirectoryDialog
|
||||
left = 88
|
||||
top = 88
|
||||
Left = 88
|
||||
Top = 88
|
||||
end
|
||||
end
|
||||
|
@ -50,6 +50,7 @@ type
|
||||
bOptions: TButton;
|
||||
bSubmit: TButton;
|
||||
cbJSONForUpdates: TCheckBox;
|
||||
cbOrphanedPackage: TCheckBox;
|
||||
edCategories: TEdit;
|
||||
edFPCCompatibility: TEdit;
|
||||
edSupportedWidgetset: TEdit;
|
||||
@ -99,6 +100,7 @@ type
|
||||
procedure bHelpClick(Sender: TObject);
|
||||
procedure bOptionsClick(Sender: TObject);
|
||||
procedure bSubmitClick(Sender: TObject);
|
||||
procedure cbOrphanedPackageClick(Sender: TObject);
|
||||
procedure edDisplayNameKeyPress(Sender: TObject; var Key: char);
|
||||
procedure edPackageDirAcceptDirectory(Sender: TObject; Var Value: String);
|
||||
procedure edPackageDirButtonClick(Sender: TObject);
|
||||
@ -197,6 +199,7 @@ type
|
||||
FSVNURL: String;
|
||||
FCommunityDescription: String;
|
||||
FExternalDependencies: String;
|
||||
FOrphanedPackage: Integer;
|
||||
end;
|
||||
|
||||
procedure TCreateRepositoryPackagesFrm.FormCreate(Sender: TObject);
|
||||
@ -215,7 +218,7 @@ begin
|
||||
lbSVNURL.Caption := rsCreateRepositoryPackageFrm_lbSVNURL_Caption;
|
||||
lbComDescr.Caption := rsMainFrm_VSTText_CommunityDescription + ':';
|
||||
lbExternalDependencies.Caption := rsMainFrm_VSTText_ExternalDeps + ':';
|
||||
|
||||
cbOrphanedPackage.Caption := rsMainFrm_VSTText_OrphanedPackage1 + '(' + rsMainFrm_VSTText_OrphanedPackage2 + ')';
|
||||
bHelp.Caption := rsCreateRepositoryPackageFrm_bHelp_Caption;
|
||||
bHelp.Hint := rsCreateRepositoryPackageFrm_bHelp_Hint;
|
||||
bOptions.Caption := rsCreateRepositoryPackageFrm_bOptions_Caption;
|
||||
@ -693,6 +696,22 @@ begin
|
||||
fPackageZipper.StartZip(FPackageDir, FPackageFile);
|
||||
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;
|
||||
var Key: char);
|
||||
begin
|
||||
@ -735,9 +754,22 @@ end;
|
||||
procedure TCreateRepositoryPackagesFrm.VSTPackagesGetImageIndex(
|
||||
Sender: TBaseVirtualTree; Node: PVirtualNode; Kind: TVTImageKind;
|
||||
Column: TColumnIndex; var Ghosted: Boolean; var ImageIndex: Integer);
|
||||
var
|
||||
Data: PData;
|
||||
begin
|
||||
if Column = 0 then
|
||||
ImageIndex := IMAGE_INDEX_MAP[FVSTPackages.GetNodeLevel(Node)];
|
||||
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)];
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TCreateRepositoryPackagesFrm.SaveExtraInfo(const ANode: PVirtualNode);
|
||||
@ -754,6 +786,7 @@ begin
|
||||
Data^.FSVNURL := edSVNURL.Text;
|
||||
Data^.FCommunityDescription := mComDescr.Text;
|
||||
Data^.FExternalDependencies := mExternalDependencies.Text;
|
||||
Data^.FOrphanedPackage := Ord(cbOrphanedPackage.Checked);
|
||||
end;
|
||||
1: begin
|
||||
Data^.FLazCompatibility := edLazCompatibility.Text;
|
||||
@ -804,6 +837,7 @@ begin
|
||||
edSVNURL.Text := Data^.FSVNURL;
|
||||
mComDescr.Text := Data^.FCommunityDescription;
|
||||
mExternalDependencies.Text := Data^.FExternalDependencies;
|
||||
cbOrphanedPackage.Checked := Data^.FOrphanedPackage = 1;
|
||||
end
|
||||
else if Level = 1 then
|
||||
begin
|
||||
|
@ -173,6 +173,7 @@ type
|
||||
FCategory: String;
|
||||
FCommunityDescription: String;
|
||||
FExternalDependencies: String;
|
||||
FOrphanedPackage: Integer;
|
||||
FRepositoryFileName: String;
|
||||
FRepositoryFileSize: Int64;
|
||||
FRepositoryFileHash: String;
|
||||
@ -217,6 +218,7 @@ type
|
||||
property Category: String read FCategory write FCategory;
|
||||
property CommunityDescription: String read FCommunityDescription write FCommunityDescription;
|
||||
property ExternalDependecies: String read FExternalDependencies write FExternalDependencies;
|
||||
property OrphanedPackage: Integer read FOrphanedPackage write FOrphanedPackage;
|
||||
property Checked: Boolean read FChecked write FChecked;
|
||||
property RepositoryFileName: String read FRepositoryFileName write FRepositoryFileName;
|
||||
property RepositoryFileSize: int64 read FRepositoryFileSize write FRepositoryFileSize;
|
||||
@ -859,6 +861,7 @@ begin
|
||||
AMetaPackage.Category := PackageData.Get('Category');
|
||||
AMetaPackage.CommunityDescription := PackageData.Get('CommunityDescription');
|
||||
AMetaPackage.ExternalDependecies := PackageData.Get('ExternalDependecies');
|
||||
AMetaPackage.OrphanedPackage := PackageData.Get('OrphanedPackage');
|
||||
AMetaPackage.RepositoryFileName := PackageData.Get('RepositoryFileName');
|
||||
AMetaPackage.RepositoryFileSize := PackageData.Get('RepositoryFileSize');
|
||||
AMetaPackage.RepositoryFileHash := PackageData.Get('RepositoryFileHash');
|
||||
@ -1315,6 +1318,7 @@ begin
|
||||
APackageData.Add('Category', AMetaPackage.Category);
|
||||
APackageData.Add('CommunityDescription', AMetaPackage.CommunityDescription);
|
||||
APackageData.Add('ExternalDependecies', AMetaPackage.ExternalDependecies);
|
||||
APackageData.Add('OrphanedPackage', AMetaPackage.OrphanedPackage);
|
||||
APackageData.Add('RepositoryFileName', AMetaPackage.RepositoryFileName);
|
||||
APackageData.Add('RepositoryFileSize', AMetaPackage.RepositoryFileSize);
|
||||
APackageData.Add('RepositoryFileHash', AMetaPackage.RepositoryFileHash);
|
||||
|
@ -172,7 +172,10 @@ var
|
||||
begin
|
||||
Data := VisualTree.VST.GetNodeData(ANode);
|
||||
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);
|
||||
for I := FFrames.Count - 1 downto 0 do
|
||||
begin
|
||||
|
@ -76,6 +76,7 @@ type
|
||||
SVNURL: String;
|
||||
CommunityDescription: String;
|
||||
ExternalDependencies: String;
|
||||
OrphanedPackage: Integer;
|
||||
InstallState: Integer;
|
||||
ButtonID: Integer;
|
||||
Button: TSpeedButton;
|
||||
@ -501,7 +502,13 @@ begin
|
||||
Inc(UniqueID);
|
||||
GrandChildData^.ButtonID := UniqueID;
|
||||
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;
|
||||
FVST.SortTree(0, laz.VirtualTrees.sdAscending);
|
||||
ExpandEx;
|
||||
@ -1476,8 +1483,14 @@ begin
|
||||
((not Options.ShowRegularIcons) or ((Options.ShowRegularIcons) and (Data^.InstallState = 0))) then
|
||||
ImageIndex := 25
|
||||
else
|
||||
ImageIndex := 1;
|
||||
20: ImageIndex := 10
|
||||
begin
|
||||
if Data^.OrphanedPackage = 0 then
|
||||
ImageIndex := 1
|
||||
else
|
||||
ImageIndex := 36;
|
||||
end;
|
||||
20: ImageIndex := 10;
|
||||
21: ImageIndex := 36;
|
||||
else
|
||||
ImageIndex := Data^.DataType
|
||||
end;
|
||||
@ -1550,7 +1563,8 @@ begin
|
||||
17: CellText := rsMainFrm_VSTText_HomePageURL;
|
||||
18: CellText := rsMainFrm_VSTText_DownloadURL;
|
||||
19: CellText := rsMainFrm_VSTText_CommunityDescription;
|
||||
20: CellText := rsMainFrm_VSTText_ExternalDeps
|
||||
20: CellText := rsMainFrm_VSTText_ExternalDeps;
|
||||
21: CellText := rsMainFrm_VSTText_OrphanedPackage1;
|
||||
end;
|
||||
end
|
||||
else if Column = 1 then
|
||||
@ -1654,6 +1668,10 @@ begin
|
||||
18: CellText := Data^.DownloadURL;
|
||||
19: CellText := GetDisplayString(Data^.CommunityDescription);
|
||||
20: CellText := GetDisplayString(Data^.ExternalDependencies);
|
||||
21: case Data^.OrphanedPackage of
|
||||
0: CellText := rsMainFrm_VSTText_Install0;
|
||||
1: CellText := rsMainFrm_VSTText_Install1;
|
||||
end;
|
||||
end;
|
||||
end
|
||||
else if Column = 5 then
|
||||
|
Loading…
Reference in New Issue
Block a user