[ENHANCEMENT] Mark all (5 styles available) feature checks 2 options "Match case" and "Match whole word only" in Find/Replace dialog. If a part of the word is selected, then "Match whole word only" will be always false, whatever the value is in Find/Replace dialog.
git-svn-id: svn://svn.tuxfamily.org/svnroot/notepadplus/repository/trunk@1122 f5eea248-9336-0410-98b8-ebc06183d4e3
This commit is contained in:
parent
82281c7d2d
commit
4105c3d2fa
@ -692,13 +692,19 @@ void Notepad_plus::command(int id)
|
|||||||
|
|
||||||
const int strSize = FINDREPLACE_MAXLENGTH;
|
const int strSize = FINDREPLACE_MAXLENGTH;
|
||||||
TCHAR text2Find[strSize];
|
TCHAR text2Find[strSize];
|
||||||
|
TCHAR text2Find2[strSize];
|
||||||
|
|
||||||
_pEditView->getGenericSelectedText(text2Find, strSize, false);
|
_pEditView->getGenericSelectedText(text2Find, strSize, false);
|
||||||
|
_pEditView->getGenericWordOnCaretPos(text2Find2, strSize);
|
||||||
|
|
||||||
if (text2Find[0] == '\0')
|
if (text2Find[0] == '\0')
|
||||||
{
|
{
|
||||||
_pEditView->getGenericWordOnCaretPos(text2Find, strSize);
|
_findReplaceDlg.markAll(text2Find2, styleID, true);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
_findReplaceDlg.markAll(text2Find, styleID, lstrlen(text2Find) == lstrlen(text2Find2));
|
||||||
}
|
}
|
||||||
_findReplaceDlg.markAll(text2Find, styleID);
|
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case IDM_SEARCH_UNMARKALLEXT1 :
|
case IDM_SEARCH_UNMARKALLEXT1 :
|
||||||
|
@ -1407,11 +1407,13 @@ bool FindReplaceDlg::processReplace(const TCHAR *txt2find, const TCHAR *txt2repl
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
int FindReplaceDlg::markAll(const TCHAR *txt2find, int styleID)
|
int FindReplaceDlg::markAll(const TCHAR *txt2find, int styleID, bool isWholeWordSelected)
|
||||||
{
|
{
|
||||||
FindOption opt;
|
FindOption opt;
|
||||||
opt._isMatchCase = true;
|
opt._isMatchCase = _options._isMatchCase;
|
||||||
opt._isWholeWord = false;
|
// if whole word is selected for being colorized, isWholeWord option in Find/Replace dialog will be checked
|
||||||
|
// otherwise this option is false, because user may want to find the words contain the parts to search
|
||||||
|
opt._isWholeWord = isWholeWordSelected?_options._isWholeWord:false;
|
||||||
opt._str2Search = txt2find;
|
opt._str2Search = txt2find;
|
||||||
|
|
||||||
int nbFound = processAll(ProcessMarkAllExt, &opt, true, NULL, styleID);
|
int nbFound = processAll(ProcessMarkAllExt, &opt, true, NULL, styleID);
|
||||||
|
@ -220,7 +220,7 @@ public :
|
|||||||
bool processFindNext(const TCHAR *txt2find, const FindOption *options = NULL, FindStatus *oFindStatus = NULL, FindNextType findNextType = FINDNEXTTYPE_FINDNEXT);
|
bool processFindNext(const TCHAR *txt2find, const FindOption *options = NULL, FindStatus *oFindStatus = NULL, FindNextType findNextType = FINDNEXTTYPE_FINDNEXT);
|
||||||
bool processReplace(const TCHAR *txt2find, const TCHAR *txt2replace, const FindOption *options = NULL);
|
bool processReplace(const TCHAR *txt2find, const TCHAR *txt2replace, const FindOption *options = NULL);
|
||||||
|
|
||||||
int markAll(const TCHAR *txt2find, int styleID);
|
int markAll(const TCHAR *txt2find, int styleID, bool isWholeWordSelected);
|
||||||
//int markAll2(const TCHAR *str2find);
|
//int markAll2(const TCHAR *str2find);
|
||||||
int markAllInc(const FindOption *opt);
|
int markAllInc(const FindOption *opt);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user