TFileSearcher: rename OnQueryDirectoruFound to OnQueryDirectoryEnter and only call it when deciding to enter a directory, not when one is found.

This commit is contained in:
Bart 2024-02-06 20:21:03 +01:00
parent 65e0930568
commit 2bae28ff63
2 changed files with 11 additions and 14 deletions

View File

@ -782,11 +782,11 @@ begin
FOnQueryFileFound(Self, Fn, Accept);
end;
procedure TFileSearcher.DoQueryDirectoryFound(const Dir: String;
procedure TFileSearcher.DoQueryDirectoryEnter(const Dir: String;
var Accept: Boolean);
begin
if Assigned(FOnQueryDirectoryFound) then
FOnQueryDirectoryFound(Self, Dir, Accept);
if Assigned(FOnQueryDirectoryEnter) then
FOnQueryDirectoryEnter(Self, Dir, Accept);
end;
constructor TFileSearcher.Create;
@ -816,7 +816,7 @@ var
function AcceptDir(const Dir: String): Boolean;
begin
Result := True;
DoQueryDirectoryFound(Dir, Result);
DoQueryDirectoryEnter(Dir, Result);
end;
var
@ -842,13 +842,10 @@ var
end;
end
else begin // Directory
if AcceptDir(AppendPathDelim(ExpandFilenameUtf8(APath + PathInfo.Name))) then
begin
FPath := APath;
FLevel := ALevel;
FFileInfo := PathInfo;
DoDirectoryFound;
end;
FPath := APath;
FLevel := ALevel;
FFileInfo := PathInfo;
DoDirectoryFound;
end;
until (FindNextUTF8(PathInfo) <> 0) or not FSearching;

View File

@ -138,7 +138,7 @@ type
FFileAttribute: Word;
FDirectoryAttribute: Word;
FOnQueryFileFound: TQueryFileFoundEvent;
FOnQueryDirectoryFound: TQueryDirectoryFoundEvent;
FOnQueryDirectoryEnter: TQueryDirectoryFoundEvent;
FCircularLinkDetection: Boolean;
VisitedDirs: TFPStringHashTable;
procedure RaiseSearchingError;
@ -147,7 +147,7 @@ type
procedure DoDirectoryFound; virtual;
procedure DoFileFound; virtual;
procedure DoQueryFileFound(const Fn: String; var Accept: Boolean);
procedure DoQueryDirectoryFound(const Dir: String; var Accept: Boolean);
procedure DoQueryDirectoryEnter(const Dir: String; var Accept: Boolean);
public
constructor Create;
procedure Search(const ASearchPath: String; const ASearchMask: String = '';
@ -163,7 +163,7 @@ type
property OnFileFound: TFileFoundEvent read FOnFileFound write FOnFileFound;
property OnDirectoryEnter: TDirectoryEnterEvent read FOnDirectoryEnter write FOnDirectoryEnter;
property OnQueryFileFound: TQueryFileFoundEvent read FOnQueryFileFound write FOnQueryFileFound;
property OnQueryDirectoryFound: TQueryDirectoryFoundEvent read FOnQueryDirectoryFound write FOnQueryDirectoryFound;
property OnQueryDirectoryEnter: TQueryDirectoryFoundEvent read FOnQueryDirectoryEnter write FOnQueryDirectoryEnter;
end;
{ TListFileSearcher }