mirror of https://gitlab.com/basile.b/dexed.git
fix #282 - Find all, the message indicating 0 match(es) found in is noisy
This commit is contained in:
parent
ce214043a6
commit
1b8a879291
|
@ -46,7 +46,6 @@ type
|
||||||
procedure assignTo(target: TPersistent); override;
|
procedure assignTo(target: TPersistent); override;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
{ TCESearchWidget }
|
|
||||||
TCESearchWidget = class(TCEWidget, ICEDocumentObserver, ICEProjectObserver)
|
TCESearchWidget = class(TCEWidget, ICEDocumentObserver, ICEProjectObserver)
|
||||||
btnAllScope: TBitBtn;
|
btnAllScope: TBitBtn;
|
||||||
btnFind: TBitBtn;
|
btnFind: TBitBtn;
|
||||||
|
@ -91,26 +90,27 @@ type
|
||||||
procedure actReplaceAllExecute(sender: TObject);
|
procedure actReplaceAllExecute(sender: TObject);
|
||||||
procedure replaceEvent(Sender: TObject; const ASearch, AReplace:
|
procedure replaceEvent(Sender: TObject; const ASearch, AReplace:
|
||||||
string; Line, Column: integer; var ReplaceAction: TSynReplaceAction);
|
string; Line, Column: integer; var ReplaceAction: TSynReplaceAction);
|
||||||
//
|
|
||||||
procedure projNew(project: ICECommonProject);
|
procedure projNew(project: ICECommonProject);
|
||||||
procedure projChanged(project: ICECommonProject);
|
procedure projChanged(project: ICECommonProject);
|
||||||
procedure projClosing(project: ICECommonProject);
|
procedure projClosing(project: ICECommonProject);
|
||||||
procedure projFocused(project: ICECommonProject);
|
procedure projFocused(project: ICECommonProject);
|
||||||
procedure projCompiling(project: ICECommonProject);
|
procedure projCompiling(project: ICECommonProject);
|
||||||
procedure projCompiled(project: ICECommonProject; success: boolean);
|
procedure projCompiled(project: ICECommonProject; success: boolean);
|
||||||
//
|
|
||||||
procedure docNew(document: TCESynMemo);
|
procedure docNew(document: TCESynMemo);
|
||||||
procedure docClosing(document: TCESynMemo);
|
procedure docClosing(document: TCESynMemo);
|
||||||
procedure docFocused(document: TCESynMemo);
|
procedure docFocused(document: TCESynMemo);
|
||||||
procedure docChanged(document: TCESynMemo);
|
procedure docChanged(document: TCESynMemo);
|
||||||
//
|
|
||||||
procedure findAll(const filename: string; lines: TStrings);
|
function findAll(const filename: string; lines: TStrings;
|
||||||
|
showNoResult: boolean = true): integer;
|
||||||
protected
|
protected
|
||||||
procedure updateImperative; override;
|
procedure updateImperative; override;
|
||||||
public
|
public
|
||||||
constructor Create(aOwner: TComponent); override;
|
constructor Create(aOwner: TComponent); override;
|
||||||
destructor Destroy; override;
|
destructor Destroy; override;
|
||||||
//
|
|
||||||
procedure actFindNextExecute(sender: TObject);
|
procedure actFindNextExecute(sender: TObject);
|
||||||
procedure actReplaceNextExecute(sender: TObject);
|
procedure actReplaceNextExecute(sender: TObject);
|
||||||
procedure actFindAllExecute(sender: TObject);
|
procedure actFindAllExecute(sender: TObject);
|
||||||
|
@ -330,35 +330,44 @@ end;
|
||||||
procedure TCESearchWidget.actFindAllExecute(sender: TObject);
|
procedure TCESearchWidget.actFindAllExecute(sender: TObject);
|
||||||
var
|
var
|
||||||
i: integer;
|
i: integer;
|
||||||
lst: TSynEditStringList;
|
c: TSynEditStringList;
|
||||||
fnm: string;
|
f: string;
|
||||||
|
s: integer = 0;
|
||||||
|
m: ICEMessagesDisplay;
|
||||||
begin
|
begin
|
||||||
if fDoc.isNil and not fAllInProj then
|
if fDoc.isNil and not fAllInProj then
|
||||||
exit;
|
exit;
|
||||||
if (fProj = nil) and fAllInProj then
|
if (fProj = nil) and fAllInProj then
|
||||||
exit;
|
exit;
|
||||||
//
|
|
||||||
fSearchMru.Insert(0,fToFind);
|
fSearchMru.Insert(0,fToFind);
|
||||||
cbToFind.Items.Assign(fSearchMru);
|
cbToFind.Items.Assign(fSearchMru);
|
||||||
//
|
|
||||||
if fAllInProj then
|
if fAllInProj then
|
||||||
begin
|
begin
|
||||||
lst := TSynEditStringList.Create;
|
c := TSynEditStringList.Create;
|
||||||
try
|
try
|
||||||
for i := 0 to fProj.sourcesCount-1 do
|
for i := 0 to fProj.sourcesCount-1 do
|
||||||
begin
|
begin
|
||||||
fnm := fProj.sourceAbsolute(i);
|
f := fProj.sourceAbsolute(i);
|
||||||
lst.LoadFromFile(fnm);
|
c.LoadFromFile(f);
|
||||||
findAll(fnm, lst);
|
s += findAll(f, c, false);
|
||||||
|
end;
|
||||||
|
if s = 0 then
|
||||||
|
begin
|
||||||
|
m := getMessageDisplay;
|
||||||
|
m.message(format('0 result for the pattern <%s>', [fToFind]),
|
||||||
|
nil, amcMisc, amkInf);
|
||||||
end;
|
end;
|
||||||
finally
|
finally
|
||||||
lst.Free;
|
c.Free;
|
||||||
end;
|
end;
|
||||||
end
|
end
|
||||||
else findAll(fDoc.fileName, fDoc.Lines);
|
else findAll(fDoc.fileName, fDoc.Lines, true);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TCESearchWidget.findAll(const filename: string; lines: TStrings);
|
function TCESearchWidget.findAll(const filename: string; lines: TStrings;
|
||||||
|
showNoResult: boolean = true): integer;
|
||||||
var
|
var
|
||||||
search: TSynEditSearch;
|
search: TSynEditSearch;
|
||||||
options: TSynSearchOptions;
|
options: TSynSearchOptions;
|
||||||
|
@ -370,6 +379,7 @@ var
|
||||||
i: integer;
|
i: integer;
|
||||||
res: array of TPoint = nil;
|
res: array of TPoint = nil;
|
||||||
begin
|
begin
|
||||||
|
result := 0;
|
||||||
search := TSynEditSearch.Create;
|
search := TSynEditSearch.Create;
|
||||||
try
|
try
|
||||||
options := getOptions;
|
options := getOptions;
|
||||||
|
@ -386,10 +396,14 @@ begin
|
||||||
res[high(res)].Y := startf.Y;
|
res[high(res)].Y := startf.Y;
|
||||||
start := stopf;
|
start := stopf;
|
||||||
end;
|
end;
|
||||||
|
result := length(res);
|
||||||
msgs := getMessageDisplay;
|
msgs := getMessageDisplay;
|
||||||
msg := format('%d result(s) for the pattern <%s> in %s',
|
if (not showNoResult and (result > 0)) or showNoResult then
|
||||||
[length(res), fToFind, filename]);
|
begin
|
||||||
msgs.message(msg, nil, amcMisc, amkInf);
|
msg := format('%d result(s) for the pattern <%s> in %s',
|
||||||
|
[length(res), fToFind, filename]);
|
||||||
|
msgs.message(msg, nil, amcMisc, amkInf);
|
||||||
|
end;
|
||||||
fmt := fileName + '(%d,%d): "%s"';
|
fmt := fileName + '(%d,%d): "%s"';
|
||||||
for i := 0 to high(res) do
|
for i := 0 to high(res) do
|
||||||
begin
|
begin
|
||||||
|
|
Loading…
Reference in New Issue