mirror of https://gitlab.com/basile.b/dexed.git
CE projects, allow multi selection of file (remove, open), close #37
This commit is contained in:
parent
c00938fad2
commit
06cb06cdfa
|
@ -36,6 +36,7 @@ inherited CEProjectInspectWidget: TCEProjectInspectWidget
|
||||||
ScrollBars = ssAutoBoth
|
ScrollBars = ssAutoBoth
|
||||||
ShowRoot = False
|
ShowRoot = False
|
||||||
TabOrder = 0
|
TabOrder = 0
|
||||||
|
OnClick = TreeClick
|
||||||
OnKeyDown = TreeKeyDown
|
OnKeyDown = TreeKeyDown
|
||||||
OnSelectionChanged = TreeSelectionChanged
|
OnSelectionChanged = TreeSelectionChanged
|
||||||
Options = [tvoAutoExpand, tvoAutoItemHeight, tvoHideSelection, tvoKeepCollapsedNodes, tvoReadOnly, tvoRightClickSelect, tvoShowButtons, tvoShowLines, tvoToolTips, tvoThemedDraw]
|
Options = [tvoAutoExpand, tvoAutoItemHeight, tvoHideSelection, tvoKeepCollapsedNodes, tvoReadOnly, tvoRightClickSelect, tvoShowButtons, tvoShowLines, tvoToolTips, tvoThemedDraw]
|
||||||
|
|
|
@ -27,6 +27,7 @@ type
|
||||||
procedure btnRemFileClick(Sender: TObject);
|
procedure btnRemFileClick(Sender: TObject);
|
||||||
procedure btnRemFoldClick(Sender: TObject);
|
procedure btnRemFoldClick(Sender: TObject);
|
||||||
procedure FormDropFiles(Sender: TObject; const FileNames: array of String);
|
procedure FormDropFiles(Sender: TObject; const FileNames: array of String);
|
||||||
|
procedure TreeClick(Sender: TObject);
|
||||||
procedure TreeKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
|
procedure TreeKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
|
||||||
procedure TreeSelectionChanged(Sender: TObject);
|
procedure TreeSelectionChanged(Sender: TObject);
|
||||||
protected
|
protected
|
||||||
|
@ -213,6 +214,25 @@ begin
|
||||||
TreeDblClick(nil);
|
TreeDblClick(nil);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TCEProjectInspectWidget.TreeClick(Sender: TObject);
|
||||||
|
begin
|
||||||
|
if Tree.Selected.isNotNil then
|
||||||
|
begin
|
||||||
|
Tree.MultiSelect := Tree.Selected.Parent = fFileNode;
|
||||||
|
if not (Tree.Selected.Parent = fFileNode) then
|
||||||
|
begin
|
||||||
|
Tree.MultiSelect := false;
|
||||||
|
Tree.ClearSelection(true);
|
||||||
|
Tree.Selected.MultiSelected:=false;
|
||||||
|
end;
|
||||||
|
end
|
||||||
|
else
|
||||||
|
begin
|
||||||
|
Tree.MultiSelect := false;
|
||||||
|
Tree.ClearSelection(true);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TCEProjectInspectWidget.TreeSelectionChanged(Sender: TObject);
|
procedure TCEProjectInspectWidget.TreeSelectionChanged(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
actUpdate(sender);
|
actUpdate(sender);
|
||||||
|
@ -227,19 +247,22 @@ end;
|
||||||
procedure TCEProjectInspectWidget.TreeDblClick(sender: TObject);
|
procedure TCEProjectInspectWidget.TreeDblClick(sender: TObject);
|
||||||
var
|
var
|
||||||
fname: string;
|
fname: string;
|
||||||
i: NativeInt;
|
i, j: integer;
|
||||||
begin
|
begin
|
||||||
if fProject.isNil or Tree.Selected.isNil then
|
if fProject.isNil or Tree.Selected.isNil then
|
||||||
exit;
|
exit;
|
||||||
//
|
//
|
||||||
if (Tree.Selected.Parent = fFileNode) or (Tree.Selected.Parent = fXtraNode) then
|
if (Tree.Selected.Parent = fFileNode) or (Tree.Selected.Parent = fXtraNode) then
|
||||||
begin
|
begin
|
||||||
fname := Tree.Selected.Text;
|
for j:= 0 to Tree.SelectionCount-1 do
|
||||||
|
begin
|
||||||
|
fname := Tree.Selections[j].Text;
|
||||||
i := fProject.Sources.IndexOf(fname);
|
i := fProject.Sources.IndexOf(fname);
|
||||||
if i > -1 then
|
if i > -1 then
|
||||||
fname := fProject.sourceAbsolute(i);
|
fname := fProject.sourceAbsolute(i);
|
||||||
if isEditable(fname.extractFileExt) and fname.fileExists then
|
if isEditable(fname.extractFileExt) and fname.fileExists then
|
||||||
getMultiDocHandler.openDocument(fname);
|
getMultiDocHandler.openDocument(fname);
|
||||||
|
end;
|
||||||
end
|
end
|
||||||
else if Tree.Selected.Parent = fConfNode then
|
else if Tree.Selected.Parent = fConfNode then
|
||||||
begin
|
begin
|
||||||
|
@ -342,21 +365,22 @@ end;
|
||||||
procedure TCEProjectInspectWidget.btnRemFileClick(Sender: TObject);
|
procedure TCEProjectInspectWidget.btnRemFileClick(Sender: TObject);
|
||||||
var
|
var
|
||||||
fname: string;
|
fname: string;
|
||||||
i: NativeInt;
|
i, j: integer;
|
||||||
begin
|
begin
|
||||||
if fProject.isNil or Tree.Selected.isNil then
|
if fProject.isNil or Tree.Selected.isNil then
|
||||||
exit;
|
exit;
|
||||||
//
|
//
|
||||||
if Tree.Selected.Parent = fFileNode then
|
if Tree.Selected.Parent = fFileNode then
|
||||||
begin
|
|
||||||
fname := Tree.Selected.Text;
|
|
||||||
i := fProject.Sources.IndexOf(fname);
|
|
||||||
if i > -1 then
|
|
||||||
begin
|
begin
|
||||||
fProject.beginUpdate;
|
fProject.beginUpdate;
|
||||||
|
for j:= 0 to Tree.SelectionCount-1 do
|
||||||
|
begin
|
||||||
|
fname := Tree.Selections[j].Text;
|
||||||
|
i := fProject.Sources.IndexOf(fname);
|
||||||
|
if i <> -1 then
|
||||||
fProject.Sources.Delete(i);
|
fProject.Sources.Delete(i);
|
||||||
fProject.endUpdate;
|
|
||||||
end;
|
end;
|
||||||
|
fProject.endUpdate;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue