mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-06-07 11:18:23 +02:00
IDE: package graph: show clean package deps dialog
git-svn-id: trunk@40770 -
This commit is contained in:
parent
c38a486cb7
commit
a5be13c6ff
@ -55,6 +55,7 @@ object PkgGraphExplorerDlg: TPkgGraphExplorerDlg
|
|||||||
OnDblClick = LvlGraphControl1DblClick
|
OnDblClick = LvlGraphControl1DblClick
|
||||||
OnSelectionChanged = LvlGraphControl1SelectionChanged
|
OnSelectionChanged = LvlGraphControl1SelectionChanged
|
||||||
ParentColor = True
|
ParentColor = True
|
||||||
|
ParentShowHint = False
|
||||||
PopupMenu = PkgPopupMenu
|
PopupMenu = PkgPopupMenu
|
||||||
TabOrder = 0
|
TabOrder = 0
|
||||||
TabStop = False
|
TabStop = False
|
||||||
@ -65,6 +66,8 @@ object PkgGraphExplorerDlg: TPkgGraphExplorerDlg
|
|||||||
Top = 1
|
Top = 1
|
||||||
Width = 194
|
Width = 194
|
||||||
Align = alLeft
|
Align = alLeft
|
||||||
|
DefaultItemHeight = 18
|
||||||
|
PopupMenu = PkgPopupMenu
|
||||||
ReadOnly = True
|
ReadOnly = True
|
||||||
TabOrder = 1
|
TabOrder = 1
|
||||||
OnDblClick = PkgTreeViewDblClick
|
OnDblClick = PkgTreeViewDblClick
|
||||||
@ -83,8 +86,12 @@ object PkgGraphExplorerDlg: TPkgGraphExplorerDlg
|
|||||||
left = 32
|
left = 32
|
||||||
top = 40
|
top = 40
|
||||||
object UninstallMenuItem: TMenuItem
|
object UninstallMenuItem: TMenuItem
|
||||||
Caption = 'New Item1'
|
Caption = 'Uninstall'
|
||||||
OnClick = UninstallMenuItemClick
|
OnClick = UninstallMenuItemClick
|
||||||
end
|
end
|
||||||
|
object CleanPkgDepsMenuItem: TMenuItem
|
||||||
|
Caption = 'Unneeded dependencies'
|
||||||
|
OnClick = CleanPkgDepsMenuItemClick
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -39,11 +39,11 @@ interface
|
|||||||
uses
|
uses
|
||||||
Classes, SysUtils, Math, LCLProc, Forms, Controls, Buttons, ComCtrls,
|
Classes, SysUtils, Math, LCLProc, Forms, Controls, Buttons, ComCtrls,
|
||||||
StdCtrls, Menus, Dialogs, Graphics, FileCtrl, LCLType, ExtCtrls,
|
StdCtrls, Menus, Dialogs, Graphics, FileCtrl, LCLType, ExtCtrls,
|
||||||
AVL_Tree,
|
AVL_Tree, contnrs,
|
||||||
IDECommands, PackageIntf, IDEImagesIntf, LazIDEIntf,
|
IDECommands, PackageIntf, IDEImagesIntf, LazIDEIntf,
|
||||||
LvlGraphCtrl,
|
LvlGraphCtrl,
|
||||||
LazConf, LazarusIDEStrConsts, IDEProcs, IDEOptionDefs, EnvironmentOpts,
|
LazConf, LazarusIDEStrConsts, IDEProcs, IDEOptionDefs, EnvironmentOpts,
|
||||||
Project, PackageDefs, PackageSystem, PackageEditor;
|
Project, PackageDefs, PackageSystem, PackageEditor, CleanPkgDeps;
|
||||||
|
|
||||||
const
|
const
|
||||||
GroupPrefixProject = '-Project-';
|
GroupPrefixProject = '-Project-';
|
||||||
@ -55,6 +55,7 @@ type
|
|||||||
{ TPkgGraphExplorerDlg }
|
{ TPkgGraphExplorerDlg }
|
||||||
|
|
||||||
TPkgGraphExplorerDlg = class(TForm)
|
TPkgGraphExplorerDlg = class(TForm)
|
||||||
|
CleanPkgDepsMenuItem: TMenuItem;
|
||||||
PkgTreeView: TTreeView;
|
PkgTreeView: TTreeView;
|
||||||
InfoMemo: TMemo;
|
InfoMemo: TMemo;
|
||||||
LvlGraphControl1: TLvlGraphControl;
|
LvlGraphControl1: TLvlGraphControl;
|
||||||
@ -63,6 +64,7 @@ type
|
|||||||
Splitter1: TSplitter;
|
Splitter1: TSplitter;
|
||||||
VerticalSplitter: TSplitter;
|
VerticalSplitter: TSplitter;
|
||||||
UninstallMenuItem: TMenuItem;
|
UninstallMenuItem: TMenuItem;
|
||||||
|
procedure CleanPkgDepsMenuItemClick(Sender: TObject);
|
||||||
procedure LvlGraphControl1DblClick(Sender: TObject);
|
procedure LvlGraphControl1DblClick(Sender: TObject);
|
||||||
procedure LvlGraphControl1SelectionChanged(Sender: TObject);
|
procedure LvlGraphControl1SelectionChanged(Sender: TObject);
|
||||||
procedure PkgGraphExplorerShow(Sender: TObject);
|
procedure PkgGraphExplorerShow(Sender: TObject);
|
||||||
@ -152,6 +154,39 @@ begin
|
|||||||
OnOpenPackage(Self,Pkg);
|
OnOpenPackage(Self,Pkg);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TPkgGraphExplorerDlg.CleanPkgDepsMenuItemClick(Sender: TObject);
|
||||||
|
var
|
||||||
|
Owners: TFPList;
|
||||||
|
ListOfNodeInfos: TObjectList;
|
||||||
|
i: Integer;
|
||||||
|
Info: TCPDNodeInfo;
|
||||||
|
Pkg: TLazPackage;
|
||||||
|
begin
|
||||||
|
Owners:=TFPList.Create;
|
||||||
|
ListOfNodeInfos:=nil;
|
||||||
|
try
|
||||||
|
if (Project1<>nil) then
|
||||||
|
Owners.Add(Project1);
|
||||||
|
for i:=0 to PackageGraph.Count-1 do
|
||||||
|
Owners.Add(PackageGraph[i]);
|
||||||
|
|
||||||
|
if ShowCleanPkgDepDlg(Owners,true,ListOfNodeInfos)<>mrOk then exit;
|
||||||
|
for i:=0 to ListOfNodeInfos.Count-1 do begin
|
||||||
|
Info:=TCPDNodeInfo(ListOfNodeInfos[i]);
|
||||||
|
if Info.Owner=CPDProjectName then begin
|
||||||
|
|
||||||
|
end else begin
|
||||||
|
Pkg:=PackageGraph.FindPackageWithName(Info.Owner,nil);
|
||||||
|
if Pkg<>nil then begin
|
||||||
|
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
finally
|
||||||
|
ListOfNodeInfos.Free;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TPkgGraphExplorerDlg.LvlGraphControl1SelectionChanged(Sender: TObject
|
procedure TPkgGraphExplorerDlg.LvlGraphControl1SelectionChanged(Sender: TObject
|
||||||
);
|
);
|
||||||
var
|
var
|
||||||
|
Loading…
Reference in New Issue
Block a user