mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-05-31 00:42:39 +02:00
IDE: clean package dependencies: select all, select none
git-svn-id: trunk@40771 -
This commit is contained in:
parent
a5be13c6ff
commit
4cd89917de
@ -5665,6 +5665,7 @@ resourcestring
|
||||
+'dependencies are not needed, because of the automatic transitivity '
|
||||
+'between package dependencies.';
|
||||
lisPkgDeleteDependencies = 'Delete dependencies';
|
||||
lisPkgClearSelection = 'Clear Selection';
|
||||
|
||||
implementation
|
||||
|
||||
|
@ -10,35 +10,19 @@ object CleanPkgDepsDlg: TCleanPkgDepsDlg
|
||||
OnDestroy = FormDestroy
|
||||
Position = poScreenCenter
|
||||
LCLVersion = '1.1'
|
||||
object ButtonPanel1: TButtonPanel
|
||||
Left = 6
|
||||
Height = 36
|
||||
Top = 338
|
||||
Width = 510
|
||||
OKButton.Name = 'OKButton'
|
||||
OKButton.DefaultCaption = True
|
||||
HelpButton.Name = 'HelpButton'
|
||||
HelpButton.DefaultCaption = True
|
||||
CloseButton.Name = 'CloseButton'
|
||||
CloseButton.DefaultCaption = True
|
||||
CancelButton.Name = 'CancelButton'
|
||||
CancelButton.DefaultCaption = True
|
||||
TabOrder = 0
|
||||
ShowButtons = [pbOK, pbCancel]
|
||||
end
|
||||
object TransitivityGroupBox: TGroupBox
|
||||
Left = 0
|
||||
Height = 332
|
||||
Height = 338
|
||||
Top = 0
|
||||
Width = 522
|
||||
Align = alClient
|
||||
Caption = 'TransitivityGroupBox'
|
||||
ClientHeight = 315
|
||||
ClientHeight = 321
|
||||
ClientWidth = 518
|
||||
TabOrder = 1
|
||||
TabOrder = 0
|
||||
object TransitivityTreeView: TTreeView
|
||||
Left = 0
|
||||
Height = 300
|
||||
Height = 306
|
||||
Top = 15
|
||||
Width = 518
|
||||
Align = alClient
|
||||
@ -59,4 +43,63 @@ object CleanPkgDepsDlg: TCleanPkgDepsDlg
|
||||
WordWrap = True
|
||||
end
|
||||
end
|
||||
object BtnPanel: TPanel
|
||||
Left = 0
|
||||
Height = 42
|
||||
Top = 338
|
||||
Width = 522
|
||||
Align = alBottom
|
||||
AutoSize = True
|
||||
ChildSizing.LeftRightSpacing = 6
|
||||
ChildSizing.TopBottomSpacing = 6
|
||||
ChildSizing.HorizontalSpacing = 6
|
||||
ClientHeight = 42
|
||||
ClientWidth = 522
|
||||
TabOrder = 1
|
||||
object DeleteSelectedBitBtn: TBitBtn
|
||||
Left = 308
|
||||
Height = 28
|
||||
Top = 7
|
||||
Width = 134
|
||||
Align = alRight
|
||||
AutoSize = True
|
||||
Caption = 'DeleteSelectedBitBtn'
|
||||
ModalResult = 1
|
||||
TabOrder = 0
|
||||
end
|
||||
object CancelBitBtn: TBitBtn
|
||||
Left = 448
|
||||
Height = 28
|
||||
Top = 7
|
||||
Width = 67
|
||||
Align = alRight
|
||||
AutoSize = True
|
||||
Cancel = True
|
||||
Default = True
|
||||
DefaultCaption = True
|
||||
Kind = bkCancel
|
||||
ModalResult = 2
|
||||
TabOrder = 1
|
||||
end
|
||||
object SelectAllBitBtn: TBitBtn
|
||||
Left = 88
|
||||
Height = 28
|
||||
Top = 7
|
||||
Width = 75
|
||||
Align = alLeft
|
||||
Caption = 'SelectAllBitBtn'
|
||||
OnClick = SelectAllBitBtnClick
|
||||
TabOrder = 2
|
||||
end
|
||||
object SelectNoneBitBtn: TBitBtn
|
||||
Left = 7
|
||||
Height = 28
|
||||
Top = 7
|
||||
Width = 75
|
||||
Align = alLeft
|
||||
Caption = 'SelectNoneBitBtn'
|
||||
OnClick = SelectNoneBitBtnClick
|
||||
TabOrder = 3
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -29,7 +29,7 @@ interface
|
||||
uses
|
||||
Classes, SysUtils, contnrs, FileUtil, AvgLvlTree, LazLogger, LvlGraphCtrl,
|
||||
Forms, Controls, Graphics, Dialogs, ButtonPanel, ComCtrls, ExtCtrls, StdCtrls,
|
||||
LazarusIDEStrConsts, Project, PackageDefs, IDEImagesIntf;
|
||||
Buttons, LazarusIDEStrConsts, Project, PackageDefs, IDEImagesIntf;
|
||||
|
||||
const
|
||||
CPDProjectName = '-Project-';
|
||||
@ -46,13 +46,18 @@ type
|
||||
{ TCleanPkgDepsDlg }
|
||||
|
||||
TCleanPkgDepsDlg = class(TForm)
|
||||
ButtonPanel1: TButtonPanel;
|
||||
CancelBitBtn: TBitBtn;
|
||||
DeleteSelectedBitBtn: TBitBtn;
|
||||
BtnPanel: TPanel;
|
||||
SelectAllBitBtn: TBitBtn;
|
||||
SelectNoneBitBtn: TBitBtn;
|
||||
TransitivityGroupBox: TGroupBox;
|
||||
TransitivityLabel: TLabel;
|
||||
TransitivityTreeView: TTreeView;
|
||||
procedure ButtonPanel1OKButtonClick(Sender: TObject);
|
||||
procedure FormCreate(Sender: TObject);
|
||||
procedure FormDestroy(Sender: TObject);
|
||||
procedure SelectAllBitBtnClick(Sender: TObject);
|
||||
procedure SelectNoneBitBtnClick(Sender: TObject);
|
||||
procedure TransitivityTreeViewMouseDown(Sender: TObject;
|
||||
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
|
||||
private
|
||||
@ -141,8 +146,10 @@ begin
|
||||
TransitivityLabel.Caption:=
|
||||
lisPkgTheFollowingDependenciesAreNotNeededBecauseOfTheAu;
|
||||
TransitivityTreeView.Images:=IDEImages.Images_16;
|
||||
ButtonPanel1.OKButton.Caption:=lisPkgDeleteDependencies;
|
||||
ButtonPanel1.OKButton.OnClick:=@ButtonPanel1OKButtonClick;
|
||||
|
||||
SelectAllBitBtn.Caption:=lisMenuSelectAll;
|
||||
SelectNoneBitBtn.Caption:=lisPkgClearSelection;
|
||||
DeleteSelectedBitBtn.Caption:=lisPkgDeleteDependencies;
|
||||
end;
|
||||
|
||||
procedure TCleanPkgDepsDlg.FormDestroy(Sender: TObject);
|
||||
@ -150,6 +157,22 @@ begin
|
||||
ClearTreeData;
|
||||
end;
|
||||
|
||||
procedure TCleanPkgDepsDlg.SelectAllBitBtnClick(Sender: TObject);
|
||||
var
|
||||
i: Integer;
|
||||
begin
|
||||
for i:=0 to TransitivityTreeView.Items.Count-1 do
|
||||
TVNodeChecked[TransitivityTreeView.Items[i]]:=true;
|
||||
end;
|
||||
|
||||
procedure TCleanPkgDepsDlg.SelectNoneBitBtnClick(Sender: TObject);
|
||||
var
|
||||
i: Integer;
|
||||
begin
|
||||
for i:=0 to TransitivityTreeView.Items.Count-1 do
|
||||
TVNodeChecked[TransitivityTreeView.Items[i]]:=false;
|
||||
end;
|
||||
|
||||
procedure TCleanPkgDepsDlg.TransitivityTreeViewMouseDown(Sender: TObject;
|
||||
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
|
||||
var
|
||||
@ -164,11 +187,13 @@ end;
|
||||
|
||||
function TCleanPkgDepsDlg.GetTVNodeChecked(TVNode: TTreeNode): boolean;
|
||||
begin
|
||||
Result:=(TVNode<>nil) and (TVNode.ImageIndex=ImgIndexDelete);
|
||||
Result:=(TVNode<>nil) and (TVNode.Data<>nil) and (TVNode.ImageIndex=ImgIndexDelete);
|
||||
end;
|
||||
|
||||
procedure TCleanPkgDepsDlg.SetTVNodeChecked(TVNode: TTreeNode; AValue: boolean);
|
||||
begin
|
||||
if TVNode.Data=nil then exit;
|
||||
if TVNodeChecked[TVNode]=AValue then exit;
|
||||
if AValue then
|
||||
TVNode.ImageIndex:=ImgIndexDelete
|
||||
else
|
||||
@ -177,10 +202,6 @@ begin
|
||||
UpdateButtons;
|
||||
end;
|
||||
|
||||
procedure TCleanPkgDepsDlg.ButtonPanel1OKButtonClick(Sender: TObject);
|
||||
begin
|
||||
end;
|
||||
|
||||
procedure TCleanPkgDepsDlg.SetOwners(AValue: TFPList);
|
||||
begin
|
||||
if FOwners=AValue then Exit;
|
||||
@ -238,7 +259,7 @@ begin
|
||||
if TVNodeChecked[TVNode] then
|
||||
CheckCnt+=1;
|
||||
end;
|
||||
ButtonPanel1.OKButton.Enabled:=CheckCnt>0;
|
||||
DeleteSelectedBitBtn.Enabled:=CheckCnt>0;
|
||||
end;
|
||||
|
||||
procedure TCleanPkgDepsDlg.AddTransitivities(NodeCaption: string;
|
||||
|
@ -178,6 +178,9 @@ begin
|
||||
end else begin
|
||||
Pkg:=PackageGraph.FindPackageWithName(Info.Owner,nil);
|
||||
if Pkg<>nil then begin
|
||||
// open package editor
|
||||
if Assigned(OnOpenPackage) then
|
||||
OnOpenPackage(Self,Pkg);
|
||||
|
||||
end;
|
||||
end;
|
||||
|
Loading…
Reference in New Issue
Block a user