mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-09-01 21:01:14 +02:00
Opkman: Add "community description" for each package. This is especially important for packages that are no longer maintained.
git-svn-id: trunk@58753 -
This commit is contained in:
parent
f386e5ab6b
commit
13d5bd13c3
@ -85,6 +85,7 @@ resourcestring
|
||||
rsMainFrm_VSTText_License = 'License';
|
||||
rsMainFrm_VSTText_PackageInfo = 'Package info';
|
||||
rsMainFrm_VSTText_Category = 'Category';
|
||||
rsMainFrm_VSTText_CommunityDescription = 'Community description';
|
||||
rsMainFrm_VSTText_RepositoryFilename = 'Repository filename';
|
||||
rsMainFrm_VSTText_RepositoryFileSize = 'Repository filesize';
|
||||
rsMainFrm_VSTText_RepositoryFileHash = 'Repository filehash';
|
||||
@ -136,6 +137,7 @@ resourcestring
|
||||
rsMainFrm_VSTText_PackageCategory27 = 'Games and Game Engines';
|
||||
rsMainFrm_VSTText_Desc = 'Description for package';
|
||||
rsMainFrm_VSTText_Lic = 'License info for package';
|
||||
rsMainFrm_VSTText_ComDesc = 'Community description for metapackage';
|
||||
rsMainFrm_cbAll_Caption = 'All/None';
|
||||
rsMainFrm_cbAll_Hint = 'Check/Uncheck packages';
|
||||
rsMainFrm_lbFilter_Caption = 'Filter by:';
|
||||
|
@ -1045,9 +1045,6 @@ object CreateRepositoryFrm: TCreateRepositoryFrm
|
||||
00FFAA690000AA690000AA690000AA690000AA690000AA690000AA690000AA69
|
||||
0000AA690000AA690000FFFFFF00
|
||||
}
|
||||
BitmapAdv = {
|
||||
4C6900000000
|
||||
}
|
||||
end
|
||||
object tmWait: TTimer
|
||||
Enabled = False
|
||||
|
@ -156,6 +156,7 @@ type
|
||||
FHomePageURL: String;
|
||||
FDownloadURL: String;
|
||||
FSVNURL: String;
|
||||
FCommunityDescription: String;
|
||||
end;
|
||||
|
||||
procedure TCreateRepositoryFrm.FormCreate(Sender: TObject);
|
||||
@ -695,6 +696,7 @@ begin
|
||||
Data^.FRepositoryDate := MetaPackage.RepositoryDate;
|
||||
Data^.FHomePageURL := MetaPackage.HomePageURL;
|
||||
Data^.FDownloadURL := MetaPackage.DownloadURL;
|
||||
Data^.FCommunityDescription := MetaPackage.CommunityDescription;
|
||||
Data^.FDataType := 1;
|
||||
for J := 0 to MetaPackage.LazarusPackages.Count - 1 do
|
||||
begin
|
||||
@ -916,6 +918,11 @@ begin
|
||||
DetailData := FVSTDetails.GetNodeData(DetailNode);
|
||||
DetailData^.FDownloadURL := Data^.FDownloadURL;
|
||||
DetailData^.FDataType := 18;
|
||||
//add CommunityDescription(DataType = 19)
|
||||
DetailNode := FVSTDetails.AddChild(nil);
|
||||
DetailData := FVSTDetails.GetNodeData(DetailNode);
|
||||
DetailData^.FCommunityDescription := Data^.FCommunityDescription;
|
||||
DetailData^.FDataType := 19;
|
||||
end;
|
||||
2: begin
|
||||
//add description(DataType = 2)
|
||||
@ -1038,6 +1045,10 @@ begin
|
||||
CellText := rsCreateRepositoryFrm_VSTText_DownloadURL
|
||||
else
|
||||
CellText := DetailData^.FDownloadURL;
|
||||
19: if Column = 0 then
|
||||
CellText := rsMainFrm_VSTText_CommunityDescription
|
||||
else
|
||||
CellText := DetailData^.FCommunityDescription;
|
||||
end;
|
||||
end;
|
||||
2: begin
|
||||
|
@ -1,7 +1,7 @@
|
||||
object CreateRepositoryPackagesFrm: TCreateRepositoryPackagesFrm
|
||||
Left = 550
|
||||
Left = 511
|
||||
Height = 600
|
||||
Top = 254
|
||||
Top = 198
|
||||
Width = 800
|
||||
BorderIcons = [biSystemMenu]
|
||||
Caption = 'CreateRepositoryPackagesFrm'
|
||||
@ -106,13 +106,13 @@ object CreateRepositoryPackagesFrm: TCreateRepositoryPackagesFrm
|
||||
TabOrder = 3
|
||||
object pnPackageData: TPanel
|
||||
Left = 0
|
||||
Height = 313
|
||||
Top = 189
|
||||
Height = 187
|
||||
Top = 315
|
||||
Width = 553
|
||||
Align = alClient
|
||||
BevelOuter = bvNone
|
||||
BorderStyle = bsSingle
|
||||
ClientHeight = 309
|
||||
ClientHeight = 183
|
||||
ClientWidth = 549
|
||||
TabOrder = 1
|
||||
Visible = False
|
||||
@ -203,13 +203,13 @@ object CreateRepositoryPackagesFrm: TCreateRepositoryPackagesFrm
|
||||
end
|
||||
object pnCategory: TPanel
|
||||
Left = 0
|
||||
Height = 189
|
||||
Height = 315
|
||||
Top = 0
|
||||
Width = 553
|
||||
Align = alTop
|
||||
BevelOuter = bvNone
|
||||
BorderStyle = bsSingle
|
||||
ClientHeight = 185
|
||||
ClientHeight = 311
|
||||
ClientWidth = 549
|
||||
TabOrder = 0
|
||||
Visible = False
|
||||
@ -336,6 +336,21 @@ object CreateRepositoryPackagesFrm: TCreateRepositoryPackagesFrm
|
||||
TabOrder = 0
|
||||
end
|
||||
end
|
||||
object mComDescr: TMemo
|
||||
Left = 170
|
||||
Height = 152
|
||||
Top = 152
|
||||
Width = 350
|
||||
TabOrder = 5
|
||||
end
|
||||
object lbComDescr: TLabel
|
||||
Left = 9
|
||||
Height = 15
|
||||
Top = 154
|
||||
Width = 65
|
||||
Caption = 'lbComDescr'
|
||||
ParentColor = False
|
||||
end
|
||||
end
|
||||
end
|
||||
object spMain: TSplitter
|
||||
|
@ -73,6 +73,8 @@ type
|
||||
lbOF4: TLabel;
|
||||
lbPackagedir: TLabel;
|
||||
lbSupportedWidgetSet: TLabel;
|
||||
lbComDescr: TLabel;
|
||||
mComDescr: TMemo;
|
||||
pnB: TPanel;
|
||||
pnButtons: TPanel;
|
||||
pnCategories: TPanel;
|
||||
@ -181,6 +183,7 @@ type
|
||||
FHomePageURL: String;
|
||||
FDownloadURL: String;
|
||||
FSVNURL: String;
|
||||
FCommunityDescription: String;
|
||||
end;
|
||||
|
||||
procedure TCreateRepositoryPackagesFrm.FormCreate(Sender: TObject);
|
||||
@ -197,6 +200,8 @@ begin
|
||||
lbHomePageURL.Caption := rsCreateRepositoryPackageFrm_lbHomePageURL_Caption;
|
||||
lbDownloadURL.Caption := rsCreateRepositoryPackageFrm_lbDownloadURL_Caption;
|
||||
lbSVNURL.Caption := rsCreateRepositoryPackageFrm_lbSVNURL_Caption;
|
||||
lbComDescr.Caption := rsMainFrm_VSTText_CommunityDescription + ':';
|
||||
|
||||
bHelp.Caption := rsCreateRepositoryPackageFrm_bHelp_Caption;
|
||||
bHelp.Hint := rsCreateRepositoryPackageFrm_bHelp_Hint;
|
||||
bOptions.Caption := rsCreateRepositoryPackageFrm_bOptions_Caption;
|
||||
@ -460,6 +465,7 @@ begin
|
||||
RootData^.FHomePageURL := '';
|
||||
RootData^.FDownloadURL := '';
|
||||
RootData^.FSVNURL := '';
|
||||
RootData^.FCommunityDescription := '';
|
||||
RootData^.FDataType := 0;
|
||||
FPackageName := RootData^.FName;
|
||||
for I := 0 to PackageList.Count - 1 do
|
||||
@ -717,6 +723,7 @@ begin
|
||||
Data^.FHomePageURL := edHomePageURL.Text;
|
||||
Data^.FDownloadURL := edDownloadURL.Text;
|
||||
Data^.FSVNURL := edSVNURL.Text;
|
||||
Data^.FCommunityDescription := mComDescr.Text;
|
||||
end;
|
||||
1: begin
|
||||
Data^.FLazCompatibility := edLazCompatibility.Text;
|
||||
@ -765,6 +772,7 @@ begin
|
||||
edHomePageURL.Text := Data^.FHomePageURL;
|
||||
edDownloadURL.Text := Data^.FDownloadURL;
|
||||
edSVNURL.Text := Data^.FSVNURL;
|
||||
mComDescr.Text := Data^.FCommunityDescription;
|
||||
end
|
||||
else if Level = 1 then
|
||||
begin
|
||||
@ -1040,6 +1048,7 @@ begin
|
||||
MetaPkg.HomePageURL := RootData^.FHomePageURL;
|
||||
MetaPkg.DownloadURL := RootData^.FDownloadURL;
|
||||
MetaPkg.SVNURL := RootData^.FSVNURL;
|
||||
MetaPkg.CommunityDescription := RootData^.FCommunityDescription;
|
||||
Node := FVSTPackages.GetFirstChild(RootNode);
|
||||
while Assigned(Node) do
|
||||
begin
|
||||
|
@ -1211,39 +1211,39 @@ object MainFrm: TMainFrm
|
||||
AAFFAFABAAFFAFABAAFFAFABAAFFAFABAAFFAFABAAFFAFABAAFFAFABA9FFAFAC
|
||||
AAFFACA8A7FFE1DEDCFFB2AFADFF7F7A7900AAA7A5F9B3AFAEF3B2AEADF3B2AE
|
||||
ADF3B2AEADF3B2AEADF3B2AEADF3B2AEADF3B2AEADF3B2AEADF3B2AEADF3B2AE
|
||||
ADF3B3AFAEF3AFABA8F7827E7CB1FFFFFF00DF943800E4993B00E89D3F00EA9F
|
||||
4048EA9F4048E89D3F00E4993B00DF943800A76F2A006E481B00A46C2800A46C
|
||||
280036230C000000000000000000FFFFFF00DF943800E4993B00E89D3F5CE89D
|
||||
3FCCE89D3FCCE89D3F5CE4993B00DF943800DE933700DB903500DA8F3400DA8F
|
||||
3400D4892F009B62200032200A00FFFFFF00DF943800E4993B5CE4993BCCFEDB
|
||||
8FFFFEDB8FFFE4993BCCE4993B5CDF943800DE933700DB903500DA8F3400DA8F
|
||||
3400D4892F00CD822A00C87D2600FFFFFF00DF94385CDF9438CCFCD68AFFFAC9
|
||||
7DFFFAC97DFFFCD589FFDF9438CCDF94385CDE933700DB903500DA8F3400DA8F
|
||||
3400D4892F00CD822A00C87D2600FFFFFF00DB903599DA8F34CCDA8F34CCF9D1
|
||||
85FFF9D084FFDA8F34CCDA8F34CCDB903599D88D3300D88D3200D98E3399D98E
|
||||
335CD4892F00CD822A00C87D2600FFFFFF00DA8F3400D78C3100D4892FCCF7CA
|
||||
7EFFF6CA7EFFD4892FCCD4892F00D2872D00CF842B00D1862D00D4892FCCD489
|
||||
2FCCD3882F5CCD822A00C87D2600FFFFFF00D3882F00CD822A00CD822ACCF5C8
|
||||
7CFFF5C77BFFCD822ACCCB802966CD822A81CD822AAACD822AC5CD822ACCEEC7
|
||||
7AFFCD822ACCCC812A5CC87D2600FFFFFF00C77C2500C77C2500C77C25CCF2C2
|
||||
73FFECBB66FFC77C25CCCD8731D3DDA34CE8E2AD54F6E3AF55FDE3AE54FFDCA2
|
||||
45FFECBF6AFFC77C25CCC77C2548FFFFFF00C0752000C0752000C07520CCECB7
|
||||
51FFEBB54DFFD5983FDFE7AD43FBE3A22FFFE5A839FFE7AE43FFE7AF45FFE4A6
|
||||
36FFEEBE5BFFC07520CCC0752048FFFFFF00B96E1B00B96E1B00B96E1BCCF2B9
|
||||
40FFF2B83DFFEFB02EFEEEAB23FFE1A53BEFC9852CD9BD741FCFB96E1BCCF4BF
|
||||
4BFFB96E1BCCBA6F1C5CBE731F00FFFFFF00B2671600B2671600B26716CCF9BC
|
||||
31FFF7AD0BFFF7B115FFD5932AE4B26716AAB368173FB469170FB26716CCB267
|
||||
16CCB368175CB96E1B00BE731F00FFFFFF00AC611100AC611100AC6111CCFFBD
|
||||
25FFFEB204FFE6A425EFAC6111AAAF641413B2671600B1661500AD621299AD62
|
||||
125CB2671600B96E1B00BE731F00FFFFFF007D450A00A65B0D00A65B0DCCFFBC
|
||||
1EFFFFB70EFFBE7817D9A75C0E3FA75C0E0059340B0059330B00AC611100AC61
|
||||
110059340B000000000000000000FFFFFF000000000079400700A05508CCFFBB
|
||||
18FFFFB813FFA75D0BCFA055080F291603000000000000000000000000000000
|
||||
0000000000000000000000000000FFFFFF000000000A000000189B5005CCFFBC
|
||||
1CFFFFBB19FF9B5005CC0000001A0000001900000016000000130000000E0000
|
||||
000A000000050000000200000000FFFFFF00000000130000002F723A02A6974C
|
||||
02CC974C02CC723A02A600000033000000320000002C000000250000001C0000
|
||||
00130000000A0000000400000000000000000000000000000000000000000000
|
||||
ADF3B3AFAEF3AFABA8F7827E7CB1000000000000000000000000000000000000
|
||||
0000000000000000000000000000C8E6F240C6E5F04000000000000000001CA7
|
||||
1D6014AB26BF1FB438FF19AA23FF00000000000000000000000000000000C9E7
|
||||
F220C2E7F4CFB3E6F9FFACE1F9FFADE1F8FFAEE1F7FFAEE1F6FFADDFF5FF90D8
|
||||
DCFF77E294FF98EDAAFF5BC962FF000000000000000000000000C9E7F230BFE8
|
||||
F6EFADE7FCFFABE3F9FFA3DEF8FFA9E1FAFFB0E4F9FFB7E7F9FFB6E7F9FFA7DE
|
||||
F5FFB8F4C3FFB6F4B7FF5AC65BFF0000000000000000C9E7F230B6E7F8EFA4E0
|
||||
F8FFA5E1F9FF95D6F3FFB0E4F7FFA6DFF8FFA4DFFAFFA5DFFAFFACE2F9FFA7DF
|
||||
F6FF7BD296FF67CC67FF2EB02EFFD1BDA9FFC9BAA7FFAFD4DAFFA2DEF5FF98D7
|
||||
F1FF9AD8F3FFA0DEF6FF97D8F4FFA5DEF5FFAEE3F9FF9FDCF8FF8CD3F3FF75C6
|
||||
EDFF3CAA82FF20A921FF0DA00DFFD1BDA9FFCAEBF5FFA8E0F4FF8DCEE8FFA0DD
|
||||
F6FF92D2EDFF9BD9F3FF78BFDDFF9BDAF7FF89D0F0FF79C9EFFF61BEE9FF57B8
|
||||
E4FF299058FF15A415FF10A110FFD1BDA9FFC2E5F1FF99D0E4FFAAE4FBFF87CA
|
||||
E6FFA4DFF8FF79C0DDFF9CDBF4FF7FC1DCFF6399ABFF5A91A4FF48656BFF91B2
|
||||
BE8F19A02460029A0280059B0550D1BDA9FFEEF7FAFFC1E8F3FF90CFE8FFA4DE
|
||||
F4FF86C9E6FF98D7F1FF85C4DFFF6E7F7FFF9A8A7BFFC1B5ABFF77604EFFDCD5
|
||||
D030000000000000000000000000D1BDA9FFF5FAFCFFB3D5DFFF8CC6DDFFAEE0
|
||||
F0FF96CFE4FFA3DBF1FF739DA9FFB7ADA0FFF2EBE4FFFFFFFFFF8F7966FF0000
|
||||
0000000000000000000000000000D1BDA9FFFFFFFFFFFBF5EEFFE1E6E4FFB6D0
|
||||
D7FF99C6D5FF87BBCDFFC4CAC6FFF7F1EAFFFBF5EEFFFFFFFFFF8F7966FF0000
|
||||
0000000000000000000000000000D1BDA9FFFFFFFFFFFAF2EAFFFAF2EAFFFAF2
|
||||
EAFFFAF2EAFFF3EEE8FFFAF2EAFFFAF2EAFFFAF2EAFFFFFFFFFF8F7966FF0000
|
||||
0000000000000000000000000000D1BDA9FFFFFFFFFFF9F0E7FFF9F0E7FFF9F0
|
||||
E7FFF9F0E7FFF9F0E7FFF9F0E7FFF9F0E7FFF9F0E7FFFFFFFFFF8F7966FF0000
|
||||
0000000000000000000000000000C9B4A1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8F7966FF0000
|
||||
0000000000000000000000000000927C69FF8F7966FF8F7966FF8F7966FF8F79
|
||||
66FF8F7966FF8F7966FF8F7966FF8F7966FF8F7966FF8F7966FF8F7966FF0000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
000000000000000203011A699B401C6DA2400002030100000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
000000000100082131022AA4F2CF2AA5F3CF0925380200000100000000000000
|
||||
|
@ -171,6 +171,7 @@ type
|
||||
FName: String;
|
||||
FDisplayName: String;
|
||||
FCategory: String;
|
||||
FCommunityDescription: String;
|
||||
FRepositoryFileName: String;
|
||||
FRepositoryFileSize: Int64;
|
||||
FRepositoryFileHash: String;
|
||||
@ -213,6 +214,7 @@ type
|
||||
property Name: String read FName write FName;
|
||||
property DisplayName: String read FDisplayName write FDisplayName;
|
||||
property Category: String read FCategory write FCategory;
|
||||
property CommunityDescription: string read FCommunityDescription write FCommunityDescription;
|
||||
property Checked: Boolean read FChecked write FChecked;
|
||||
property RepositoryFileName: String read FRepositoryFileName write FRepositoryFileName;
|
||||
property RepositoryFileSize: int64 read FRepositoryFileSize write FRepositoryFileSize;
|
||||
@ -847,6 +849,7 @@ begin
|
||||
AMetaPackage.Name := PackageData.Get('Name');
|
||||
AMetaPackage.DisplayName := PackageData.Get('DisplayName');
|
||||
AMetaPackage.Category := PackageData.Get('Category');
|
||||
AMetaPackage.CommunityDescription := PackageData.Get('CommunityDescription');
|
||||
AMetaPackage.RepositoryFileName := PackageData.Get('RepositoryFileName');
|
||||
AMetaPackage.RepositoryFileSize := PackageData.Get('RepositoryFileSize');
|
||||
AMetaPackage.RepositoryFileHash := PackageData.Get('RepositoryFileHash');
|
||||
@ -1210,6 +1213,7 @@ begin
|
||||
APackageData.Add('Name', AMetaPackage.Name);
|
||||
APackageData.Add('DisplayName', AMetaPackage.DisplayName);
|
||||
APackageData.Add('Category', AMetaPackage.Category);
|
||||
APackageData.Add('CommunityDescription', AMetaPackage.CommunityDescription);
|
||||
APackageData.Add('RepositoryFileName', AMetaPackage.RepositoryFileName);
|
||||
APackageData.Add('RepositoryFileSize', AMetaPackage.RepositoryFileSize);
|
||||
APackageData.Add('RepositoryFileHash', AMetaPackage.RepositoryFileHash);
|
||||
|
@ -74,6 +74,7 @@ type
|
||||
DisableInOPM: Boolean;
|
||||
IsUpdated: Boolean;
|
||||
SVNURL: String;
|
||||
CommunityDescription: String;
|
||||
InstallState: Integer;
|
||||
ButtonID: Integer;
|
||||
Button: TSpeedButton;
|
||||
@ -104,6 +105,7 @@ type
|
||||
FOnChecked: TNotifyEvent;
|
||||
FMouseEnter: Boolean;
|
||||
FShowHintFrm: TShowHintFrm;
|
||||
FOldButtonNode: PVirtualNode;
|
||||
procedure VSTBeforeCellPaint(Sender: TBaseVirtualTree;
|
||||
TargetCanvas: TCanvas; Node: PVirtualNode; {%H-}Column: TColumnIndex;
|
||||
{%H-}CellPaintMode: TVTCellPaintMode; CellRect: TRect; var {%H-}ContentRect: TRect);
|
||||
@ -302,18 +304,6 @@ begin
|
||||
end;
|
||||
|
||||
procedure TVisualTree.PopulateTree;
|
||||
|
||||
procedure CreateButton(AUniqueID: Integer; AData: PData);
|
||||
begin
|
||||
AData^.Button := TSpeedButton.Create(FVST);
|
||||
AData^.Button.Caption := '...';
|
||||
AData^.Button.Parent := FVST;
|
||||
AData^.Button.Visible := True;
|
||||
AData^.Button.Tag := AUniqueID;
|
||||
AData^.Button.OnClick := @ButtonClick;
|
||||
AData^.ButtonID := AUniqueID;
|
||||
AData^.Button.Width := 25;
|
||||
end;
|
||||
var
|
||||
I, J: Integer;
|
||||
RootNode, Node, ChildNode, GrandChildNode: PVirtualNode;
|
||||
@ -373,8 +363,7 @@ begin
|
||||
GrandChildData^.Description := LazarusPkg.Description;
|
||||
GrandChildData^.DataType := 3;
|
||||
Inc(UniqueID);
|
||||
CreateButton(UniqueID, GrandChildData);
|
||||
GrandChildData^.Button.Enabled := not FVST.IsDisabled[GrandChildNode];
|
||||
GrandChildData^.ButtonID := UniqueID;
|
||||
//add author(DataType = 4)
|
||||
GrandChildNode := FVST.AddChild(ChildNode);
|
||||
FVST.IsDisabled[GrandChildNode] := FVST.IsDisabled[GrandChildNode^.Parent];
|
||||
@ -415,8 +404,7 @@ begin
|
||||
GrandChildData^.License := LazarusPkg.License;
|
||||
GrandChildData^.DataType := 9;
|
||||
Inc(UniqueID);
|
||||
CreateButton(UniqueID, GrandChildData);
|
||||
GrandChildData^.Button.Enabled := not FVST.IsDisabled[GrandChildNode];
|
||||
GrandChildData^.ButtonID := UniqueID;
|
||||
//add dependencies(DataType = 10)
|
||||
GrandChildNode := FVST.AddChild(ChildNode);
|
||||
FVST.IsDisabled[GrandChildNode] := FVST.IsDisabled[GrandChildNode^.Parent];
|
||||
@ -472,12 +460,14 @@ begin
|
||||
GrandChildData := FVST.GetNodeData(GrandChildNode);
|
||||
GrandChildData^.DownloadURL := SerializablePackages.Items[I].DownloadURL;
|
||||
GrandChildData^.DataType := 18;
|
||||
//add SVNURL(DataType = 19)
|
||||
{GrandChildNode := FVST.AddChild(ChildNode);
|
||||
//add community description(DataType = 19) - added 2018.08.21
|
||||
GrandChildNode := FVST.AddChild(ChildNode);
|
||||
FVST.IsDisabled[GrandChildNode] := FVST.IsDisabled[GrandChildNode^.Parent];
|
||||
GrandChildData := FVST.GetNodeData(GrandChildNode);
|
||||
GrandChildData^.SVNURL := SerializablePackages.Items[I].SVNURL;
|
||||
GrandChildData^.DataType := 19;}
|
||||
GrandChildData^.CommunityDescription := SerializablePackages.Items[I].CommunityDescription;
|
||||
GrandChildData^.DataType := 19;
|
||||
Inc(UniqueID);
|
||||
GrandChildData^.ButtonID := UniqueID;
|
||||
end;
|
||||
FVST.SortTree(0, VirtualTrees.sdAscending);
|
||||
ExpandEx;
|
||||
@ -509,8 +499,8 @@ end;
|
||||
|
||||
procedure TVisualTree.ShowDetails(const AButtonID: Integer);
|
||||
var
|
||||
Node, ParentNode: PVirtualNode;
|
||||
Data, ParentData: PData;
|
||||
Node, ParentNode, MetaPackageNode: PVirtualNode;
|
||||
Data, ParentData, MetaPackageData: PData;
|
||||
Text: String;
|
||||
FrmCaption: String;
|
||||
begin
|
||||
@ -533,6 +523,15 @@ begin
|
||||
Text := Data^.License;
|
||||
FrmCaption := rsMainFrm_VSTText_Lic + ' "' + ParentData^.LazarusPackageName + '"';
|
||||
end;
|
||||
19: begin
|
||||
MetaPackageNode := ParentNode^.Parent;
|
||||
if MetaPackageNode <> nil then
|
||||
begin
|
||||
MetaPackageData := VST.GetNodeData(MetaPackageNode);
|
||||
Text := Data^.CommunityDescription;
|
||||
FrmCaption := rsMainFrm_VSTText_ComDesc + ' "' + MetaPackageData^.PackageDisplayName + '"';
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
Break;
|
||||
end;
|
||||
@ -1468,7 +1467,7 @@ begin
|
||||
16: CellText := rsMainFrm_VSTText_RepositoryFileDate;
|
||||
17: CellText := rsMainFrm_VSTText_HomePageURL;
|
||||
18: CellText := rsMainFrm_VSTText_DownloadURL;
|
||||
19: CellText := rsMainFrm_VSTText_SVNURL;
|
||||
19: CellText := rsMainFrm_VSTText_CommunityDescription;
|
||||
end;
|
||||
end
|
||||
else if Column = 1 then
|
||||
@ -1570,7 +1569,7 @@ begin
|
||||
16: CellText := FormatDateTime('YYYY.MM.DD', Data^.RepositoryDate);
|
||||
17: CellText := Data^.HomePageURL;
|
||||
18: CellText := Data^.DownloadURL;
|
||||
19: CellText := Data^.SVNURL;
|
||||
19: CellText := GetDisplayString(Data^.CommunityDescription);
|
||||
end;
|
||||
end
|
||||
else if Column = 5 then
|
||||
@ -1716,6 +1715,17 @@ begin
|
||||
FHoverP.Y := Y;
|
||||
FHoverNode:= VST.GetNodeAt(X, Y);
|
||||
FHoverColumn := GetColumn(X);
|
||||
|
||||
if (FOldButtonNode <> nil) and (FOldButtonNode <> FHoverNode) then
|
||||
begin
|
||||
Data := FVST.GetNodeData(FOldButtonNode);
|
||||
if Data^.Button <> nil then
|
||||
begin
|
||||
Data^.Button.Free;
|
||||
Data^.Button := nil;
|
||||
end;
|
||||
end;
|
||||
|
||||
if ((FHoverColumn = 0) or (FShowHintFrm.Visible)) and (FHoverNode <> nil) then
|
||||
begin
|
||||
case Options.HintFormOption of
|
||||
@ -1761,7 +1771,28 @@ begin
|
||||
if ((Data^.DataType = 17) and (Trim(Data^.HomePageURL) <> '')) or
|
||||
((Data^.DataType = 18) and (Trim(Data^.DownloadURL) <> '')) then
|
||||
FVST.Cursor := crHandPoint;
|
||||
end;
|
||||
|
||||
if (Data^.Button = nil) and
|
||||
(
|
||||
((Data^.DataType = 3) and (Trim(Data^.Description) <> '')) or
|
||||
((Data^.DataType = 9) and (Trim(Data^.License) <> '')) or
|
||||
((Data^.DataType = 19) and (Trim(Data^.CommunityDescription) <> ''))
|
||||
|
||||
) then
|
||||
begin
|
||||
Data := FVST.GetNodeData(FHoverNode);
|
||||
Data^.Button := TSpeedButton.Create(VST);
|
||||
with Data^.Button do
|
||||
begin
|
||||
Caption := '...';
|
||||
Parent := FVST;
|
||||
Tag := Data^.ButtonID;
|
||||
Visible := True;
|
||||
OnClick := @ButtonClick;
|
||||
end;
|
||||
FOldButtonNode := FHoverNode;
|
||||
end;
|
||||
end
|
||||
end;
|
||||
|
||||
procedure TVisualTree.VSTMouseEnter(Sender: TObject);
|
||||
@ -1799,16 +1830,7 @@ begin
|
||||
if Button = mbLeft then
|
||||
begin
|
||||
case DownColumn of
|
||||
4: if (Data^.DataType = 3) or (Data^.DataType = 9) and (DownColumn = 4) then
|
||||
begin
|
||||
R := FVST.GetDisplayRect(Node, DownColumn, False);
|
||||
if X > R.Right - Data^.Button.Width - 1 then
|
||||
begin
|
||||
if Assigned(Data^.Button) then
|
||||
ShowDetails(Data^.ButtonID);
|
||||
end;
|
||||
end
|
||||
else if (Data^.DataType = 17) or (Data^.DataType = 18) and (DownColumn = 4) then
|
||||
4: if (Data^.DataType = 17) or (Data^.DataType = 18) and (DownColumn = 4) then
|
||||
begin
|
||||
FLinkClicked := True;
|
||||
if (Data^.DataType = 17) and (Trim(Data^.HomePageURL) <> '') then
|
||||
@ -1914,7 +1936,7 @@ begin
|
||||
16: HintText := FormatDateTime('YYYY.MM.DD', Data^.RepositoryDate);
|
||||
17: HintText := Data^.HomePageURL;
|
||||
18: HintText := Data^.DownloadURL;
|
||||
19: HintText := Data^.SVNURL;
|
||||
19: HintText := Data^.CommunityDescription;
|
||||
else
|
||||
HintText := '';
|
||||
end;
|
||||
|
Loading…
Reference in New Issue
Block a user