mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-04-23 01:39:31 +02:00
Packager: use the new ListFilterEdit control in Install Packages dialog
git-svn-id: trunk@31446 -
This commit is contained in:
parent
d23a3c8cc5
commit
53749f7249
@ -1,12 +1,12 @@
|
||||
object InstallPkgSetDialog: TInstallPkgSetDialog
|
||||
Left = 292
|
||||
Height = 550
|
||||
Height = 562
|
||||
Top = 240
|
||||
Width = 572
|
||||
Width = 587
|
||||
BorderStyle = bsSizeToolWin
|
||||
Caption = 'InstallPkgSetDialog'
|
||||
ClientHeight = 550
|
||||
ClientWidth = 572
|
||||
ClientHeight = 562
|
||||
ClientWidth = 587
|
||||
Constraints.MinHeight = 400
|
||||
Constraints.MinWidth = 450
|
||||
OnCreate = InstallPkgSetDialogCreate
|
||||
@ -21,23 +21,23 @@ object InstallPkgSetDialog: TInstallPkgSetDialog
|
||||
AnchorSideRight.Control = lblMiddle
|
||||
AnchorSideBottom.Control = PkgInfoGroupBox
|
||||
Left = 6
|
||||
Height = 375
|
||||
Top = 30
|
||||
Width = 277
|
||||
Height = 393
|
||||
Top = 26
|
||||
Width = 284
|
||||
Anchors = [akTop, akLeft, akRight, akBottom]
|
||||
BorderSpacing.Left = 6
|
||||
BorderSpacing.Top = 6
|
||||
BorderSpacing.Right = 3
|
||||
BorderSpacing.Bottom = 6
|
||||
Caption = 'InstallPkgGroupBox'
|
||||
ClientHeight = 354
|
||||
ClientWidth = 269
|
||||
ClientHeight = 376
|
||||
ClientWidth = 280
|
||||
TabOrder = 0
|
||||
object ImportButton: TButton
|
||||
Left = 6
|
||||
Height = 25
|
||||
Top = 292
|
||||
Width = 257
|
||||
Top = 314
|
||||
Width = 268
|
||||
Align = alBottom
|
||||
BorderSpacing.Around = 6
|
||||
Caption = 'ImportButton'
|
||||
@ -47,8 +47,8 @@ object InstallPkgSetDialog: TInstallPkgSetDialog
|
||||
object ExportButton: TButton
|
||||
Left = 6
|
||||
Height = 25
|
||||
Top = 323
|
||||
Width = 257
|
||||
Top = 345
|
||||
Width = 268
|
||||
Align = alBottom
|
||||
BorderSpacing.Around = 6
|
||||
Caption = 'ExportButton'
|
||||
@ -57,12 +57,12 @@ object InstallPkgSetDialog: TInstallPkgSetDialog
|
||||
end
|
||||
object InstallTreeView: TTreeView
|
||||
Left = 6
|
||||
Height = 249
|
||||
Height = 271
|
||||
Top = 6
|
||||
Width = 257
|
||||
Width = 268
|
||||
Align = alClient
|
||||
BorderSpacing.Around = 6
|
||||
DefaultItemHeight = 19
|
||||
DefaultItemHeight = 15
|
||||
MultiSelect = True
|
||||
ReadOnly = True
|
||||
ShowButtons = False
|
||||
@ -76,8 +76,8 @@ object InstallPkgSetDialog: TInstallPkgSetDialog
|
||||
object UninstallButton: TBitBtn
|
||||
Left = 6
|
||||
Height = 25
|
||||
Top = 261
|
||||
Width = 257
|
||||
Top = 283
|
||||
Width = 268
|
||||
Align = alBottom
|
||||
BorderSpacing.Around = 6
|
||||
Caption = 'UninstallButton'
|
||||
@ -92,29 +92,29 @@ object InstallPkgSetDialog: TInstallPkgSetDialog
|
||||
AnchorSideRight.Control = Owner
|
||||
AnchorSideRight.Side = asrBottom
|
||||
AnchorSideBottom.Control = PkgInfoGroupBox
|
||||
Left = 289
|
||||
Height = 375
|
||||
Top = 30
|
||||
Width = 277
|
||||
Left = 296
|
||||
Height = 393
|
||||
Top = 26
|
||||
Width = 285
|
||||
Anchors = [akTop, akLeft, akRight, akBottom]
|
||||
BorderSpacing.Left = 3
|
||||
BorderSpacing.Top = 6
|
||||
BorderSpacing.Right = 6
|
||||
BorderSpacing.Bottom = 6
|
||||
Caption = 'AvailablePkgGroupBox'
|
||||
ClientHeight = 354
|
||||
ClientWidth = 269
|
||||
ClientHeight = 376
|
||||
ClientWidth = 281
|
||||
TabOrder = 1
|
||||
object AvailableTreeView: TTreeView
|
||||
Left = 6
|
||||
Height = 284
|
||||
Top = 33
|
||||
Width = 257
|
||||
Align = alClient
|
||||
Height = 308
|
||||
Top = 31
|
||||
Width = 269
|
||||
Anchors = [akTop, akLeft, akRight, akBottom]
|
||||
BorderSpacing.Left = 6
|
||||
BorderSpacing.Right = 6
|
||||
BorderSpacing.Bottom = 6
|
||||
DefaultItemHeight = 19
|
||||
DefaultItemHeight = 15
|
||||
MultiSelect = True
|
||||
ReadOnly = True
|
||||
ShowButtons = False
|
||||
@ -128,46 +128,45 @@ object InstallPkgSetDialog: TInstallPkgSetDialog
|
||||
object AddToInstallButton: TBitBtn
|
||||
Left = 6
|
||||
Height = 25
|
||||
Top = 323
|
||||
Width = 257
|
||||
Top = 345
|
||||
Width = 269
|
||||
Align = alBottom
|
||||
BorderSpacing.Around = 6
|
||||
Caption = 'AddToInstallButton'
|
||||
OnClick = AddToInstallButtonClick
|
||||
TabOrder = 1
|
||||
end
|
||||
object AvailableFilterEdit: TEdit
|
||||
object AvailableFilterEdit: TListFilterEdit
|
||||
Left = 6
|
||||
Height = 27
|
||||
Top = 6
|
||||
Width = 257
|
||||
Align = alTop
|
||||
BorderSpacing.Left = 6
|
||||
BorderSpacing.Top = 6
|
||||
BorderSpacing.Right = 6
|
||||
OnChange = AvailableFilterEditChange
|
||||
OnEnter = AvailableFilterEditEnter
|
||||
OnExit = AvailableFilterEditExit
|
||||
Height = 20
|
||||
Top = 7
|
||||
Width = 247
|
||||
FilteredTreeview = AvailableTreeView
|
||||
ButtonWidth = 23
|
||||
NumGlyphs = 0
|
||||
Anchors = [akTop, akLeft, akRight]
|
||||
Font.Color = clBtnShadow
|
||||
MaxLength = 0
|
||||
ParentFont = False
|
||||
TabOrder = 2
|
||||
Text = 'AvailableFilterEdit'
|
||||
end
|
||||
end
|
||||
object PkgInfoGroupBox: TGroupBox
|
||||
AnchorSideBottom.Control = BtnPanel
|
||||
Left = 0
|
||||
Height = 93
|
||||
Top = 411
|
||||
Width = 572
|
||||
Top = 425
|
||||
Width = 587
|
||||
Align = alBottom
|
||||
Caption = 'PkgInfoGroupBox'
|
||||
ClientHeight = 72
|
||||
ClientWidth = 564
|
||||
ClientHeight = 76
|
||||
ClientWidth = 583
|
||||
TabOrder = 2
|
||||
object PkgInfoMemo: TMemo
|
||||
Left = 6
|
||||
Height = 60
|
||||
Height = 64
|
||||
Top = 6
|
||||
Width = 552
|
||||
Width = 571
|
||||
Align = alClient
|
||||
BorderSpacing.Around = 6
|
||||
Lines.Strings = (
|
||||
@ -180,20 +179,20 @@ object InstallPkgSetDialog: TInstallPkgSetDialog
|
||||
end
|
||||
object BtnPanel: TPanel
|
||||
Left = 0
|
||||
Height = 46
|
||||
Top = 504
|
||||
Width = 572
|
||||
Height = 44
|
||||
Top = 518
|
||||
Width = 587
|
||||
Align = alBottom
|
||||
AutoSize = True
|
||||
BevelOuter = bvNone
|
||||
ClientHeight = 46
|
||||
ClientWidth = 572
|
||||
ClientHeight = 44
|
||||
ClientWidth = 587
|
||||
TabOrder = 3
|
||||
object HelpButton: TBitBtn
|
||||
Left = 6
|
||||
Height = 34
|
||||
Height = 32
|
||||
Top = 6
|
||||
Width = 85
|
||||
Width = 75
|
||||
Align = alLeft
|
||||
AutoSize = True
|
||||
BorderSpacing.Around = 6
|
||||
@ -205,10 +204,10 @@ object InstallPkgSetDialog: TInstallPkgSetDialog
|
||||
TabOrder = 0
|
||||
end
|
||||
object CancelButton: TBitBtn
|
||||
Left = 102
|
||||
Height = 34
|
||||
Left = 201
|
||||
Height = 32
|
||||
Top = 6
|
||||
Width = 89
|
||||
Width = 75
|
||||
Align = alRight
|
||||
AutoSize = True
|
||||
BorderSpacing.Around = 6
|
||||
@ -221,10 +220,10 @@ object InstallPkgSetDialog: TInstallPkgSetDialog
|
||||
TabOrder = 1
|
||||
end
|
||||
object SaveAndExitButton: TBitBtn
|
||||
Left = 397
|
||||
Height = 34
|
||||
Left = 445
|
||||
Height = 32
|
||||
Top = 6
|
||||
Width = 169
|
||||
Width = 136
|
||||
Align = alRight
|
||||
AutoSize = True
|
||||
BorderSpacing.Around = 6
|
||||
@ -271,10 +270,10 @@ object InstallPkgSetDialog: TInstallPkgSetDialog
|
||||
TabOrder = 2
|
||||
end
|
||||
object SaveAndRebuildButton: TBitBtn
|
||||
Left = 197
|
||||
Height = 34
|
||||
Left = 282
|
||||
Height = 32
|
||||
Top = 6
|
||||
Width = 194
|
||||
Width = 157
|
||||
Align = alRight
|
||||
AutoSize = True
|
||||
BorderSpacing.Around = 6
|
||||
@ -323,9 +322,9 @@ object InstallPkgSetDialog: TInstallPkgSetDialog
|
||||
end
|
||||
object NoteLabel: TLabel
|
||||
Left = 6
|
||||
Height = 18
|
||||
Height = 14
|
||||
Top = 6
|
||||
Width = 560
|
||||
Width = 575
|
||||
Align = alTop
|
||||
BorderSpacing.Around = 6
|
||||
Caption = 'NoteLabel'
|
||||
@ -336,9 +335,9 @@ object InstallPkgSetDialog: TInstallPkgSetDialog
|
||||
AnchorSideLeft.Side = asrCenter
|
||||
AnchorSideTop.Control = Owner
|
||||
AnchorSideTop.Side = asrCenter
|
||||
Left = 286
|
||||
Left = 293
|
||||
Height = 1
|
||||
Top = 275
|
||||
Top = 281
|
||||
Width = 1
|
||||
AutoSize = False
|
||||
ParentColor = False
|
||||
|
@ -39,8 +39,8 @@ interface
|
||||
|
||||
uses
|
||||
Classes, SysUtils, contnrs, LCLProc, Forms, Controls, Graphics, Dialogs,
|
||||
KeywordFuncLists, StdCtrls, Buttons, FileUtil, ExtCtrls, ComCtrls,
|
||||
AVL_Tree, Laz_XMLCfg,
|
||||
KeywordFuncLists, StdCtrls, Buttons, FileUtil, ExtCtrls, ComCtrls, EditBtn,
|
||||
AVL_Tree, Laz_XMLCfg, ListFilterEdit,
|
||||
PackageIntf, IDEImagesIntf, IDEHelpIntf,
|
||||
LazarusIDEStrConsts, EnvironmentOpts, InputHistory, LazConf, IDEProcs,
|
||||
PackageDefs, PackageSystem, PackageLinks, IDEContextHelpEdit;
|
||||
@ -53,7 +53,6 @@ type
|
||||
|
||||
TInstallPkgSetDialog = class(TForm)
|
||||
AddToInstallButton: TBitBtn;
|
||||
AvailableFilterEdit: TEdit;
|
||||
AvailableTreeView: TTreeView;
|
||||
AvailablePkgGroupBox: TGroupBox;
|
||||
HelpButton: TBitBtn;
|
||||
@ -62,6 +61,7 @@ type
|
||||
BtnPanel: TPanel;
|
||||
InstallTreeView: TTreeView;
|
||||
lblMiddle: TLabel;
|
||||
AvailableFilterEdit: TListFilterEdit;
|
||||
NoteLabel: TLabel;
|
||||
PkgInfoMemo: TMemo;
|
||||
PkgInfoGroupBox: TGroupBox;
|
||||
@ -71,9 +71,6 @@ type
|
||||
SaveAndRebuildButton: TBitBtn;
|
||||
UninstallButton: TBitBtn;
|
||||
procedure AddToInstallButtonClick(Sender: TObject);
|
||||
procedure AvailableFilterEditChange(Sender: TObject);
|
||||
procedure AvailableFilterEditEnter(Sender: TObject);
|
||||
procedure AvailableFilterEditExit(Sender: TObject);
|
||||
procedure AvailableTreeViewDblClick(Sender: TObject);
|
||||
procedure AvailableTreeViewSelectionChanged(Sender: TObject);
|
||||
procedure ExportButtonClick(Sender: TObject);
|
||||
@ -88,9 +85,6 @@ type
|
||||
procedure SaveAndExitButtonClick(Sender: TObject);
|
||||
procedure UninstallButtonClick(Sender: TObject);
|
||||
private
|
||||
FIdleConnected: boolean;
|
||||
FAvailableFilter: string;
|
||||
fAvailablePackagesNeedUpdate: boolean;
|
||||
FNewInstalledPackages: TObjectList;
|
||||
FOldInstalledPackages: TPkgDependency;
|
||||
FOnCheckInstallPackageList: TOnCheckInstallPackageList;
|
||||
@ -103,12 +97,10 @@ type
|
||||
ImgIndexUninstallPackage: integer;
|
||||
ImgIndexCirclePackage: integer;
|
||||
ImgIndexMissingPackage: integer;
|
||||
procedure OnIdle(Sender: TObject; var Done: Boolean);
|
||||
procedure SetIdleConnected(const AValue: boolean);
|
||||
procedure SetAvailableFilter(const AValue: string);
|
||||
procedure SetOldInstalledPackages(const AValue: TPkgDependency);
|
||||
procedure AssignOldInstalledPackagesToList;
|
||||
function PackageInInstallList(PkgName: string): boolean;
|
||||
function ChooseImageIndex(Str: String; Data: TObject): Integer;
|
||||
procedure UpdateAvailablePackages(Immediately: boolean = false);
|
||||
procedure UpdateNewInstalledPackages;
|
||||
procedure OnIteratePackages(APackageID: TLazPackageID);
|
||||
@ -125,8 +117,6 @@ type
|
||||
function ExtractNameFromPkgID(ID: string): string;
|
||||
procedure AddToInstall;
|
||||
procedure AddToUninstall;
|
||||
function FitsAvailableFilter(PkgName: string): boolean;
|
||||
property IdleConnected: boolean read FIdleConnected write SetIdleConnected;
|
||||
public
|
||||
function GetNewInstalledPackages: TObjectList;
|
||||
property OldInstalledPackages: TPkgDependency read FOldInstalledPackages
|
||||
@ -135,7 +125,6 @@ type
|
||||
property RebuildIDE: boolean read FRebuildIDE write FRebuildIDE;
|
||||
property OnCheckInstallPackageList: TOnCheckInstallPackageList
|
||||
read FOnCheckInstallPackageList write FOnCheckInstallPackageList;
|
||||
property AvailableFilter: string read FAvailableFilter write SetAvailableFilter;
|
||||
end;
|
||||
|
||||
function ShowEditInstallPkgsDialog(OldInstalledPackages: TPkgDependency;
|
||||
@ -185,8 +174,9 @@ begin
|
||||
Caption:=lisInstallUninstallPackages;
|
||||
NoteLabel.Caption:=lisToInstallYouMustCompileAndRestartTheIDE;
|
||||
|
||||
AvailableFilterEdit.Text:=lisCEFilter;
|
||||
AvailablePkgGroupBox.Caption:=lisDoNotInstall;
|
||||
AvailableFilterEdit.OnGetImageIndex:=@ChooseImageIndex;
|
||||
|
||||
ExportButton.Caption:=lisExportList;
|
||||
ImportButton.Caption:=lisImportList;
|
||||
UninstallButton.Caption:=lisUninstallSelection;
|
||||
@ -202,7 +192,7 @@ begin
|
||||
|
||||
fAvailablePackages:=TAVLTree.Create(@CompareLazPackageIDNames);
|
||||
FNewInstalledPackages:=TObjectList.Create(true);
|
||||
|
||||
|
||||
PkgInfoMemo.Clear;
|
||||
end;
|
||||
|
||||
@ -278,23 +268,6 @@ begin
|
||||
AddToInstall;
|
||||
end;
|
||||
|
||||
procedure TInstallPkgSetDialog.AvailableFilterEditChange(Sender: TObject);
|
||||
begin
|
||||
AvailableFilter:=AvailableFilterEdit.Text;
|
||||
end;
|
||||
|
||||
procedure TInstallPkgSetDialog.AvailableFilterEditEnter(Sender: TObject);
|
||||
begin
|
||||
if AvailableFilterEdit.Text=lisCEFilter then
|
||||
AvailableFilterEdit.Text:='';
|
||||
end;
|
||||
|
||||
procedure TInstallPkgSetDialog.AvailableFilterEditExit(Sender: TObject);
|
||||
begin
|
||||
if AvailableFilterEdit.Text='' then
|
||||
AvailableFilterEdit.Text:=lisCEFilter;
|
||||
end;
|
||||
|
||||
procedure TInstallPkgSetDialog.AvailableTreeViewDblClick(Sender: TObject);
|
||||
begin
|
||||
AddToInstall;
|
||||
@ -302,7 +275,6 @@ end;
|
||||
|
||||
procedure TInstallPkgSetDialog.InstallPkgSetDialogDestroy(Sender: TObject);
|
||||
begin
|
||||
IdleConnected:=false;
|
||||
ClearNewInstalledPackages;
|
||||
FNewInstalledPackages.Free;
|
||||
fAvailablePackages.Free;
|
||||
@ -335,23 +307,6 @@ begin
|
||||
AddToUninstall;
|
||||
end;
|
||||
|
||||
procedure TInstallPkgSetDialog.OnIdle(Sender: TObject; var Done: Boolean);
|
||||
begin
|
||||
if fAvailablePackagesNeedUpdate then
|
||||
UpdateAvailablePackages(true);
|
||||
IdleConnected:=false;
|
||||
end;
|
||||
|
||||
procedure TInstallPkgSetDialog.SetIdleConnected(const AValue: boolean);
|
||||
begin
|
||||
if FIdleConnected=AValue then exit;
|
||||
FIdleConnected:=AValue;
|
||||
if FIdleConnected then
|
||||
Application.AddOnIdleHandler(@OnIdle)
|
||||
else
|
||||
Application.RemoveOnIdleHandler(@OnIdle);
|
||||
end;
|
||||
|
||||
procedure TInstallPkgSetDialog.SetOldInstalledPackages(
|
||||
const AValue: TPkgDependency);
|
||||
begin
|
||||
@ -360,23 +315,6 @@ begin
|
||||
AssignOldInstalledPackagesToList;
|
||||
end;
|
||||
|
||||
procedure TInstallPkgSetDialog.SetAvailableFilter(const AValue: string);
|
||||
var
|
||||
NewValue: String;
|
||||
begin
|
||||
NewValue:=AValue;
|
||||
if NewValue=lisCEFilter then NewValue:='';
|
||||
NewValue:=LowerCase(NewValue);
|
||||
if FAvailableFilter=NewValue then exit;
|
||||
FAvailableFilter:=NewValue;
|
||||
if not AvailableFilterEdit.Focused then
|
||||
if AvailableFilter='' then
|
||||
AvailableFilterEdit.Text:=lisCEFilter
|
||||
else
|
||||
AvailableFilterEdit.Text:=AvailableFilter;
|
||||
UpdateAvailablePackages(false);
|
||||
end;
|
||||
|
||||
procedure TInstallPkgSetDialog.AssignOldInstalledPackagesToList;
|
||||
var
|
||||
Dependency: TPkgDependency;
|
||||
@ -416,62 +354,44 @@ begin
|
||||
Result:=false;
|
||||
end;
|
||||
|
||||
function TInstallPkgSetDialog.ChooseImageIndex(Str: String; Data: TObject): Integer;
|
||||
var
|
||||
Pkg: TLazPackageID;
|
||||
APackage: TLazPackage;
|
||||
begin
|
||||
Pkg:=TLazPackageID(Data);
|
||||
Result:=ImgIndexPackage;
|
||||
if (Pkg is TLazPackage) then begin
|
||||
APackage:=TLazPackage(Pkg);
|
||||
if APackage.Installed<>pitNope then
|
||||
Result:=ImgIndexUninstallPackage; // is installed and will be uninstalled
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TInstallPkgSetDialog.UpdateAvailablePackages(Immediately: boolean);
|
||||
var
|
||||
ANode: TAVLTreeNode;
|
||||
sl: TStringList;
|
||||
PkgName: String;
|
||||
Pkg: TLazPackageID;
|
||||
TVNode: TTreeNode;
|
||||
APackage: TLazPackage;
|
||||
ImgIndex: LongInt;
|
||||
i: Integer;
|
||||
PkgName: String;
|
||||
begin
|
||||
if not Immediately then begin
|
||||
if csDestroying in ComponentState then exit;
|
||||
fAvailablePackagesNeedUpdate:=true;
|
||||
IdleConnected:=true;
|
||||
exit;
|
||||
end;
|
||||
fAvailablePackagesNeedUpdate:=false;
|
||||
if fAvailablePackages.Count=0 then
|
||||
PackageGraph.IteratePackages(fpfSearchAllExisting,@OnIteratePackages);
|
||||
sl:=TStringList.Create;
|
||||
AvailableFilterEdit.Data.Clear;
|
||||
ANode:=fAvailablePackages.FindLowest;
|
||||
while ANode<>nil do begin
|
||||
Pkg:=TLazPackageID(ANode.Data);
|
||||
//debugln('TInstallPkgSetDialog.UpdateAvailablePackages ',Pkg.IDAsString,' Pkg.PackageType=',dbgs(ord(Pkg.PackageType)));
|
||||
if (not (Pkg is TLazPackage))
|
||||
or (TLazPackage(Pkg).PackageType in [lptDesignTime,lptRunAndDesignTime])
|
||||
then begin
|
||||
if (not PackageInInstallList(Pkg.Name))
|
||||
and (FitsAvailableFilter(Pkg.Name)) then begin
|
||||
if (not PackageInInstallList(Pkg.Name)) then begin
|
||||
PkgName:=Pkg.IDAsString;
|
||||
if (sl.IndexOf(PkgName)<0) then
|
||||
sl.AddObject(PkgName,Pkg);
|
||||
if (AvailableFilterEdit.Data.IndexOf(PkgName)<0) then
|
||||
AvailableFilterEdit.Data.AddObject(PkgName,Pkg);
|
||||
end;
|
||||
end;
|
||||
ANode:=fAvailablePackages.FindSuccessor(ANode);
|
||||
end;
|
||||
sl.Sort;
|
||||
AvailableTreeView.BeginUpdate;
|
||||
AvailableTreeView.Items.Clear;
|
||||
for i:=0 to sl.Count-1 do begin
|
||||
TVNode:=AvailableTreeView.Items.Add(nil,sl[i]);
|
||||
Pkg:=TLazPackageID(sl.Objects[i]);
|
||||
ImgIndex:=ImgIndexPackage;
|
||||
if (Pkg is TLazPackage) then begin
|
||||
APackage:=TLazPackage(Pkg);
|
||||
if APackage.Installed<>pitNope then begin
|
||||
// is installed and will be uninstalled
|
||||
ImgIndex:=ImgIndexUninstallPackage;
|
||||
end;
|
||||
end;
|
||||
TVNode.ImageIndex:=ImgIndex;
|
||||
TVNode.SelectedIndex:=ImgIndex;
|
||||
end;
|
||||
AvailableTreeView.EndUpdate;
|
||||
sl.Free;
|
||||
AvailableFilterEdit.Invalidate;
|
||||
end;
|
||||
|
||||
procedure TInstallPkgSetDialog.UpdateNewInstalledPackages;
|
||||
@ -500,20 +420,16 @@ begin
|
||||
TVNode:=InstallTreeView.Items.Add(nil,sl[i]);
|
||||
NewPackageID:=TLazPackageID(sl.Objects[i]);
|
||||
ImgIndex:=ImgIndexInstallPackage;
|
||||
//debugln(['TInstallPkgSetDialog.UpdateNewInstalledPackages ',NewPackageID.IDAsString,' ',DbgSName(NewPackageID)]);
|
||||
if NewPackageID is TLazPackage then begin
|
||||
APackage:=TLazPackage(NewPackageID);
|
||||
if APackage.Installed<>pitNope then begin
|
||||
// stay installed
|
||||
ImgIndex:=ImgIndexInstalledPackage;
|
||||
end;
|
||||
if APackage.Installed<>pitNope then
|
||||
ImgIndex:=ImgIndexInstalledPackage; // stay installed
|
||||
end;
|
||||
TVNode.ImageIndex:=ImgIndex;
|
||||
TVNode.SelectedIndex:=ImgIndex;
|
||||
end;
|
||||
InstallTreeView.EndUpdate;
|
||||
sl.Free;
|
||||
//debugln(['TInstallPkgSetDialog.UpdateNewInstalledPackages END ',InstallTreeView.Items.TopLvlCount]);
|
||||
UpdateAvailablePackages;
|
||||
end;
|
||||
|
||||
@ -524,8 +440,7 @@ begin
|
||||
fAvailablePackages.Add(APackageID);
|
||||
end;
|
||||
|
||||
function TInstallPkgSetDialog.DependencyToStr(Dependency: TPkgDependency
|
||||
): string;
|
||||
function TInstallPkgSetDialog.DependencyToStr(Dependency: TPkgDependency): string;
|
||||
begin
|
||||
Result:='';
|
||||
if Dependency=nil then exit;
|
||||
@ -898,11 +813,6 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
function TInstallPkgSetDialog.FitsAvailableFilter(PkgName: string): boolean;
|
||||
begin
|
||||
Result:=(AvailableFilter='') or (System.Pos(AvailableFilter,lowercase(PkgName))>0);
|
||||
end;
|
||||
|
||||
function TInstallPkgSetDialog.GetNewInstalledPackages: TObjectList;
|
||||
var
|
||||
i: Integer;
|
||||
|
Loading…
Reference in New Issue
Block a user