UPD: Find Files: Load template with double click.

This commit is contained in:
cobines 2012-04-17 07:06:04 +00:00
commit 03fe8f810f
2 changed files with 93 additions and 73 deletions

View file

@ -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

View file

@ -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;