[NEW] (Author: Korikulum) Adds a message showing the total number of matches in the current document to the Incremental Search bar.
git-svn-id: svn://svn.tuxfamily.org/svnroot/notepadplus/repository/trunk@1343 f5eea248-9336-0410-98b8-ebc06183d4e3
This commit is contained in:
parent
deb3b8fcfe
commit
6420dfb67e
@ -2788,7 +2788,11 @@ BOOL CALLBACK FindIncrementDlg::run_dlgProc(UINT message, WPARAM wParam, LPARAM
|
|||||||
{
|
{
|
||||||
FindStatus findStatus = FSFound;
|
FindStatus findStatus = FSFound;
|
||||||
bool isFound = _pFRDlg->processFindNext(str2Search.c_str(), &fo, &findStatus);
|
bool isFound = _pFRDlg->processFindNext(str2Search.c_str(), &fo, &findStatus);
|
||||||
setFindStatus(findStatus);
|
|
||||||
|
fo._str2Search = str2Search;
|
||||||
|
int nbCounted = _pFRDlg->processAll(ProcessCountAll, &fo);
|
||||||
|
setFindStatus(findStatus, nbCounted);
|
||||||
|
|
||||||
// If case-sensitivity changed (to Match=yes), there may have been a matched selection that
|
// If case-sensitivity changed (to Match=yes), there may have been a matched selection that
|
||||||
// now does not match; so if Not Found, clear selection and put caret at beginning of what was
|
// now does not match; so if Not Found, clear selection and put caret at beginning of what was
|
||||||
// selected (no change, if there was no selection)
|
// selected (no change, if there was no selection)
|
||||||
@ -2845,12 +2849,20 @@ void FindIncrementDlg::markSelectedTextInc(bool enable, FindOption *opt)
|
|||||||
_pFRDlg->markAllInc(opt);
|
_pFRDlg->markAllInc(opt);
|
||||||
}
|
}
|
||||||
|
|
||||||
void FindIncrementDlg::setFindStatus(FindStatus iStatus)
|
void FindIncrementDlg::setFindStatus(FindStatus iStatus, int nbCounted)
|
||||||
{
|
{
|
||||||
static TCHAR *findStatus[] = { TEXT(""), // FSFound
|
static TCHAR findCount[128] = TEXT("");
|
||||||
|
static TCHAR *findStatus[] = { findCount, // FSFound
|
||||||
TEXT("Phrase not found"), //FSNotFound
|
TEXT("Phrase not found"), //FSNotFound
|
||||||
TEXT("Reached top of page, continued from bottom"), // FSTopReached
|
TEXT("Reached top of page, continued from bottom"), // FSTopReached
|
||||||
TEXT("Reached end of page, continued from top")}; // FSEndReached
|
TEXT("Reached end of page, continued from top")}; // FSEndReached
|
||||||
|
if (nbCounted <= 0)
|
||||||
|
findCount[0] = '\0';
|
||||||
|
else if (nbCounted == 1)
|
||||||
|
wsprintf(findCount, TEXT("%d match."), nbCounted);
|
||||||
|
else
|
||||||
|
wsprintf(findCount, TEXT("%d matches."), nbCounted);
|
||||||
|
|
||||||
if (iStatus<0 || iStatus >= sizeof(findStatus)/sizeof(findStatus[0]))
|
if (iStatus<0 || iStatus >= sizeof(findStatus)/sizeof(findStatus[0]))
|
||||||
return; // out of range
|
return; // out of range
|
||||||
|
|
||||||
|
@ -384,7 +384,7 @@ public :
|
|||||||
::SendDlgItemMessage(_hSelf, IDC_INCFINDTEXT, WM_SETTEXT, 0, (LPARAM)txt2find);
|
::SendDlgItemMessage(_hSelf, IDC_INCFINDTEXT, WM_SETTEXT, 0, (LPARAM)txt2find);
|
||||||
};
|
};
|
||||||
|
|
||||||
void setFindStatus(FindStatus iStatus);
|
void setFindStatus(FindStatus iStatus, int nbCounted);
|
||||||
|
|
||||||
FindStatus getFindStatus() {
|
FindStatus getFindStatus() {
|
||||||
return _findStatus;
|
return _findStatus;
|
||||||
|
Loading…
Reference in New Issue
Block a user