mirror of
https://github.com/doublecmd/doublecmd.git
synced 2026-06-28 10:02:14 +00:00
UPD: Find Files: Load template with double click.
This commit is contained in:
parent
1d49479f43
commit
03fe8f810f
2 changed files with 93 additions and 73 deletions
|
|
@ -860,14 +860,14 @@ object frmFindDlg: TfrmFindDlg
|
|||
Caption = 'Load/Save'
|
||||
ChildSizing.LeftRightSpacing = 3
|
||||
ChildSizing.TopBottomSpacing = 3
|
||||
ClientHeight = 512
|
||||
ClientWidth = 703
|
||||
ClientHeight = 455
|
||||
ClientWidth = 696
|
||||
OnShow = tsLoadSaveShow
|
||||
object lblTemplateHeader: TLabel
|
||||
Left = 3
|
||||
Height = 22
|
||||
Top = 3
|
||||
Width = 697
|
||||
Width = 690
|
||||
Align = alTop
|
||||
BorderSpacing.Left = 3
|
||||
BorderSpacing.Top = 3
|
||||
|
|
@ -878,22 +878,23 @@ object frmFindDlg: TfrmFindDlg
|
|||
end
|
||||
object lbSearchTemplates: TListBox
|
||||
Left = 3
|
||||
Height = 420
|
||||
Height = 363
|
||||
Top = 25
|
||||
Width = 697
|
||||
Width = 690
|
||||
Align = alClient
|
||||
BorderSpacing.Left = 3
|
||||
BorderSpacing.Right = 3
|
||||
BorderSpacing.Bottom = 3
|
||||
ItemHeight = 0
|
||||
OnDblClick = lbSearchTemplatesDblClick
|
||||
OnSelectionChange = lbSearchTemplatesSelectionChange
|
||||
TabOrder = 0
|
||||
end
|
||||
object lblSearchContents: TPanel
|
||||
Left = 3
|
||||
Height = 21
|
||||
Top = 451
|
||||
Width = 697
|
||||
Top = 394
|
||||
Width = 690
|
||||
Align = alBottom
|
||||
Alignment = taLeftJustify
|
||||
AutoSize = True
|
||||
|
|
@ -907,17 +908,17 @@ object frmFindDlg: TfrmFindDlg
|
|||
object pnlLoadSaveBottom: TPanel
|
||||
Left = 3
|
||||
Height = 31
|
||||
Top = 478
|
||||
Width = 697
|
||||
Top = 421
|
||||
Width = 690
|
||||
Align = alBottom
|
||||
AutoSize = True
|
||||
BorderSpacing.Around = 3
|
||||
BevelOuter = bvNone
|
||||
ClientHeight = 31
|
||||
ClientWidth = 697
|
||||
ClientWidth = 690
|
||||
TabOrder = 2
|
||||
object pnlLoadSaveBottomButtons: TPanel
|
||||
Left = 466
|
||||
Left = 459
|
||||
Height = 31
|
||||
Top = 0
|
||||
Width = 231
|
||||
|
|
|
|||
143
src/fFindDlg.pas
143
src/fFindDlg.pas
|
|
@ -162,6 +162,7 @@ type
|
|||
procedure frmFindDlgClose(Sender: TObject; var {%H-}CloseAction: TCloseAction);
|
||||
procedure frmFindDlgShow(Sender: TObject);
|
||||
procedure gbDirectoriesResize(Sender: TObject);
|
||||
procedure lbSearchTemplatesDblClick(Sender: TObject);
|
||||
procedure lbSearchTemplatesSelectionChange(Sender: TObject; {%H-}User: boolean);
|
||||
procedure lsFoundedFilesDblClick(Sender: TObject);
|
||||
procedure lsFoundedFilesKeyDown(Sender: TObject;
|
||||
|
|
@ -191,8 +192,10 @@ type
|
|||
procedure FillFindOptions(out FindOptions: TSearchTemplateRec);
|
||||
procedure FindOptionsToDSXSearchRec(const AFindOptions: TSearchTemplateRec;
|
||||
out SRec: TDsxSearchRecord);
|
||||
procedure OnAddAttribute(Sender: TObject);
|
||||
procedure FoundedStringCopyChanged(Sender: TObject);
|
||||
procedure LoadTemplate(const Template: TSearchTemplateRec);
|
||||
procedure LoadSelectedTemplate;
|
||||
procedure OnAddAttribute(Sender: TObject);
|
||||
public
|
||||
class function Instance: TfrmFindDlg;
|
||||
public
|
||||
|
|
@ -492,11 +495,9 @@ begin
|
|||
seFileSizeTo.Value:= 10;
|
||||
cmbFileSizeUnit.ItemIndex := 1; // Kilobytes
|
||||
// find/replace text
|
||||
// do not clear search/replace text just clear checkbox
|
||||
cbFindText.Checked:= False;
|
||||
//do not clear search text just clear checkbox
|
||||
// cmbFindText.Text:= '';
|
||||
cbReplaceText.Checked:= False;
|
||||
// cmbReplaceText.Text:= '';
|
||||
cbCaseSens.Checked:= False;
|
||||
cbNotContainingText.Checked:= False;
|
||||
cmbEncoding.ItemIndex := 0;
|
||||
|
|
@ -504,65 +505,8 @@ begin
|
|||
end;
|
||||
|
||||
procedure TfrmFindDlg.btnSearchLoadClick(Sender: TObject);
|
||||
var
|
||||
SearchTemplate: TSearchTemplate;
|
||||
begin
|
||||
if lbSearchTemplates.ItemIndex < 0 then Exit;
|
||||
SearchTemplate:= gSearchTemplateList.Templates[lbSearchTemplates.ItemIndex];
|
||||
FLastLoadedTemplateName := SearchTemplate.TemplateName;
|
||||
with SearchTemplate.SearchRecord do
|
||||
begin
|
||||
cmbExcludeDirectories.Text:= ExcludeDirectories;
|
||||
cmbFindFileMask.Text:= FilesMasks;
|
||||
cmbExcludeFiles.Text:= ExcludeFiles;
|
||||
if (StartPath <> '') then
|
||||
edtFindPathStart.Text:= StartPath;
|
||||
if (SearchDepth + 1 >= 0) and (SearchDepth + 1 < cmbSearchDepth.Items.Count) then
|
||||
cmbSearchDepth.ItemIndex:= SearchDepth + 1
|
||||
else
|
||||
cmbSearchDepth.ItemIndex:= 0;
|
||||
cbRegExp.Checked := RegExp;
|
||||
cbPartialNameSearch.Checked := IsPartialNameSearch;
|
||||
cbFollowSymLinks.Checked := FollowSymLinks;
|
||||
// attributes
|
||||
edtAttrib.Text:= AttributesPattern;
|
||||
// file date/time
|
||||
cbDateFrom.Checked:= IsDateFrom;
|
||||
if IsDateFrom then
|
||||
ZVDateFrom.Date:= DateTimeFrom;
|
||||
|
||||
cbDateTo.Checked:= IsDateTo;
|
||||
if IsDateTo then
|
||||
ZVDateTo.Date:= DateTimeTo;
|
||||
|
||||
cbTimeFrom.Checked:= IsTimeFrom;
|
||||
if IsTimeFrom then
|
||||
ZVTimeFrom.Time:= DateTimeFrom;
|
||||
|
||||
cbTimeTo.Checked:= IsTimeTo;
|
||||
if IsTimeTo then
|
||||
ZVTimeTo.Time:= DateTimeTo;
|
||||
|
||||
// not older then
|
||||
cbNotOlderThan.Checked:= IsNotOlderThan;
|
||||
seNotOlderThan.Value:= NotOlderThan;
|
||||
cmbNotOlderThanUnit.ItemIndex := TimeUnitToComboIndex[NotOlderThanUnit];
|
||||
// file size
|
||||
cbFileSizeFrom.Checked:= IsFileSizeFrom;
|
||||
cbFileSizeTo.Checked:= IsFileSizeTo;
|
||||
seFileSizeFrom.Value:= FileSizeFrom;
|
||||
seFileSizeTo.Value:= FileSizeTo;
|
||||
cmbFileSizeUnit.ItemIndex := FileSizeUnitToComboIndex[FileSizeUnit];
|
||||
// find/replace text
|
||||
cbFindText.Checked:= IsFindText;
|
||||
cmbFindText.Text:= FindText;
|
||||
cbReplaceText.Checked:= IsReplaceText;
|
||||
cmbReplaceText.Text:= ReplaceText;
|
||||
cbCaseSens.Checked:= CaseSensitive;
|
||||
cbNotContainingText.Checked:= NotContainingText;
|
||||
cmbEncoding.Text:= TextEncoding;
|
||||
cmbPlugin.Text:= SearchPlugin;
|
||||
end;
|
||||
LoadSelectedTemplate;
|
||||
end;
|
||||
|
||||
procedure TfrmFindDlg.btnSearchDeleteClick(Sender: TObject);
|
||||
|
|
@ -810,6 +754,11 @@ begin
|
|||
Result := GfrmFindDlgInstance;
|
||||
end;
|
||||
|
||||
procedure TfrmFindDlg.lbSearchTemplatesDblClick(Sender: TObject);
|
||||
begin
|
||||
LoadSelectedTemplate;
|
||||
end;
|
||||
|
||||
procedure TfrmFindDlg.AfterSearchStopped;
|
||||
begin
|
||||
btnStop.Enabled:= False;
|
||||
|
|
@ -1133,6 +1082,76 @@ begin
|
|||
lblSearchContents.Caption := '"' + FilesMasks + '" in "' + StartPath + '"';
|
||||
end;
|
||||
|
||||
procedure TfrmFindDlg.LoadSelectedTemplate;
|
||||
var
|
||||
SearchTemplate: TSearchTemplate;
|
||||
begin
|
||||
if lbSearchTemplates.ItemIndex < 0 then Exit;
|
||||
SearchTemplate:= gSearchTemplateList.Templates[lbSearchTemplates.ItemIndex];
|
||||
if Assigned(SearchTemplate) then
|
||||
begin
|
||||
FLastLoadedTemplateName := SearchTemplate.TemplateName;
|
||||
LoadTemplate(SearchTemplate.SearchRecord);
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfrmFindDlg.LoadTemplate(const Template: TSearchTemplateRec);
|
||||
begin
|
||||
with Template do
|
||||
begin
|
||||
cmbExcludeDirectories.Text:= ExcludeDirectories;
|
||||
cmbFindFileMask.Text:= FilesMasks;
|
||||
cmbExcludeFiles.Text:= ExcludeFiles;
|
||||
if (StartPath <> '') then
|
||||
edtFindPathStart.Text:= StartPath;
|
||||
if (SearchDepth + 1 >= 0) and (SearchDepth + 1 < cmbSearchDepth.Items.Count) then
|
||||
cmbSearchDepth.ItemIndex:= SearchDepth + 1
|
||||
else
|
||||
cmbSearchDepth.ItemIndex:= 0;
|
||||
cbRegExp.Checked := RegExp;
|
||||
cbPartialNameSearch.Checked := IsPartialNameSearch;
|
||||
cbFollowSymLinks.Checked := FollowSymLinks;
|
||||
// attributes
|
||||
edtAttrib.Text:= AttributesPattern;
|
||||
// file date/time
|
||||
cbDateFrom.Checked:= IsDateFrom;
|
||||
if IsDateFrom then
|
||||
ZVDateFrom.Date:= DateTimeFrom;
|
||||
|
||||
cbDateTo.Checked:= IsDateTo;
|
||||
if IsDateTo then
|
||||
ZVDateTo.Date:= DateTimeTo;
|
||||
|
||||
cbTimeFrom.Checked:= IsTimeFrom;
|
||||
if IsTimeFrom then
|
||||
ZVTimeFrom.Time:= DateTimeFrom;
|
||||
|
||||
cbTimeTo.Checked:= IsTimeTo;
|
||||
if IsTimeTo then
|
||||
ZVTimeTo.Time:= DateTimeTo;
|
||||
|
||||
// not older then
|
||||
cbNotOlderThan.Checked:= IsNotOlderThan;
|
||||
seNotOlderThan.Value:= NotOlderThan;
|
||||
cmbNotOlderThanUnit.ItemIndex := TimeUnitToComboIndex[NotOlderThanUnit];
|
||||
// file size
|
||||
cbFileSizeFrom.Checked:= IsFileSizeFrom;
|
||||
cbFileSizeTo.Checked:= IsFileSizeTo;
|
||||
seFileSizeFrom.Value:= FileSizeFrom;
|
||||
seFileSizeTo.Value:= FileSizeTo;
|
||||
cmbFileSizeUnit.ItemIndex := FileSizeUnitToComboIndex[FileSizeUnit];
|
||||
// find/replace text
|
||||
cbFindText.Checked:= IsFindText;
|
||||
cmbFindText.Text:= FindText;
|
||||
cbReplaceText.Checked:= IsReplaceText;
|
||||
cmbReplaceText.Text:= ReplaceText;
|
||||
cbCaseSens.Checked:= CaseSensitive;
|
||||
cbNotContainingText.Checked:= NotContainingText;
|
||||
cmbEncoding.Text:= TextEncoding;
|
||||
cmbPlugin.Text:= SearchPlugin;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfrmFindDlg.lsFoundedFilesDblClick(Sender: TObject);
|
||||
begin
|
||||
miShowInViewer.Click;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue