Merge pull request #642 from RaiKoHoff/Dev_0903

CallTip in case of "Zero-Length Match" (RegExpr)
This commit is contained in:
Rainer Kottenhoff 2018-09-03 15:40:39 +02:00 committed by GitHub
commit 729fd965cc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
17 changed files with 55 additions and 19 deletions

View File

@ -125,6 +125,7 @@
#define IDS_MUI_TRANSL_AUTHOR 15031
#define IDS_MUI_ASSOCIATED_EXT 15032
#define IDS_MUI_EXAMPLE_TEXT 15033
#define IDS_MUI_ZERO_LEN_MATCH 15034
#define IDR_MAINWND 16000
#define IDR_MAINWND48 16001

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -66,6 +66,7 @@ set FILEVER=
call :GETFILEVER "%NP3_WIN32_DIR%\Notepad3.exe"
if defined FILEVER set VERSION=%FILEVER%
::echo.VERSION=%VERSION%
::pause
::goto :END
@ -110,16 +111,11 @@ copy /B "%NP3_X64_DIR%\ced.exe" /B "%NP3_PORTAPP_DIR%\App\Notepad3\x64\" /Y /V
call :REPLACE "xxxVERSIONxxx" "%NP3_PORTAPP_INFO%_template.ini" "%VERSION%" "%NP3_PORTAPP_INFO%_tmp.ini"
:: DEVNAME need some mor PortableApps preparation, so set empty for now
set DEVNAME=
if defined DEVNAME (
call :REPLACE "xxxDEVNAMExxx" "%NP3_PORTAPP_INFO%_tmp.ini" "_%DEVNAME%" "%NP3_PORTAPP_INFO%.ini"
call :REPLACE "xxxDEVNAMExxx" "%NP3_PORTAPP_INSTALL%_template.ini" "_%DEVNAME%" "%NP3_PORTAPP_INSTALL%.ini"
) else (
call :REPLACE "xxxDEVNAMExxx" "%NP3_PORTAPP_INFO%_tmp.ini" "" "%NP3_PORTAPP_INFO%.ini"
call :REPLACE "xxxDEVNAMExxx" "%NP3_PORTAPP_INSTALL%_template.ini" "" "%NP3_PORTAPP_INSTALL%.ini"
)
:: DEVNAME need some more PortableApps preparation
::~ call :REPLACE "xxxDEVNAMExxx" "%NP3_PORTAPP_INFO%_tmp.ini" "_%DEVNAME%" "%NP3_PORTAPP_INFO%.ini"
::~ call :REPLACE "xxxDEVNAMExxx" "%NP3_PORTAPP_INSTALL%_template.ini" "_%DEVNAME%" "%NP3_PORTAPP_INSTALL%.ini"
call :REPLACE "xxxDEVNAMExxx" "%NP3_PORTAPP_INFO%_tmp.ini" "" "%NP3_PORTAPP_INFO%.ini"
call :REPLACE "xxxDEVNAMExxx" "%NP3_PORTAPP_INSTALL%_template.ini" "" "%NP3_PORTAPP_INSTALL%.ini"
del /F "%NP3_PORTAPP_INFO%_tmp.ini"
@ -136,8 +132,8 @@ del /F "%NP3_PORTAPP_INFO%_tmp.ini"
:: - build Installer -
"%PORTAPP_INSTALLER_CREATOR%" "%NP3_PORTAPP_DIR%"
:: rename
rename "%SCRIPT_DIR%Notepad3Portable_%VERSION%_English.paf.exe" "Notepad3Portable_%DEVNAME%_%VERSION%_English.paf.exe"
:: ====================================================================================================================
goto :END
@ -181,7 +177,6 @@ for /F "tokens=2 delims==" %%a in ('
goto:EOF
:: --------------------------------------------------------------------------------------------------------------------
:GETBUILD
set /p nxbuild=<%NP3_BUILD_VER%
set /a BUILD = %nxbuild% - 1

View File

@ -5936,6 +5936,8 @@ bool EditFindNext(HWND hwnd, LPCEDITFINDREPLACE lpefr, bool bExtendSelection, bo
bSuppressNotFound = true;
}
SciCall_CallTipCancel();
DocPos iPos = _FindInTarget(hwnd, szFind, slen, (int)(lpefr->fuFlags), &start, &end, true, FRMOD_NORM);
if ((iPos < -1) && (lpefr->fuFlags & SCFIND_REGEXP)) {
@ -5975,6 +5977,10 @@ bool EditFindNext(HWND hwnd, LPCEDITFINDREPLACE lpefr, bool bExtendSelection, bo
else {
EditSelectEx(hwnd, start, end, -1, -1);
}
if (start == end) {
EditShowZeroLengthCallTip(hwnd, start);
}
return true;
}
@ -8320,6 +8326,23 @@ void EditShowZoomCallTip(HWND hwnd)
}
//=============================================================================
//
// EditShowZoomCallTip()
//
static char s_chZeroLenCT[80] = { '\0' };
void EditShowZeroLengthCallTip(HWND hwnd, DocPos iPosition)
{
UNUSED(hwnd);
if (s_chZeroLenCT[0] == '\0') {
GetLngStringW2MB(IDS_MUI_ZERO_LEN_MATCH, s_chZeroLenCT, COUNTOF(s_chZeroLenCT));
}
SciCall_CallTipShow(iPosition, s_chZeroLenCT);
g_CallTipType = CT_ZEROLEN_MATCH;
}
//=============================================================================
//

View File

@ -170,6 +170,7 @@ void EditFoldClick(DocLn, int);
void EditFoldAltArrow(FOLD_MOVE, FOLD_ACTION);
void EditShowZoomCallTip(HWND hwnd);
void EditShowZeroLengthCallTip(HWND hwnd, DocPos iPosition);
#define NP3_BRACES_TO_MATCH "()[]{}"

View File

@ -716,7 +716,6 @@ bool IsCmdEnabled(HWND hwnd,UINT uId)
}
//=============================================================================
//
// LoadLngStringW()
@ -727,6 +726,19 @@ int LoadLngStringW(UINT uID, LPWSTR lpBuffer, int nBufferMax)
return (nLen != 0) ? nLen : LoadStringW(g_hInstance, uID, lpBuffer, nBufferMax);
}
//=============================================================================
//
// LoadLngStringW2MB()
//
static WCHAR s_tmpStringBuffer[512];
int LoadLngStringW2MB(UINT uID, LPSTR lpBuffer, int nBufferMax)
{
const int nLen = LoadStringW(g_hLngResContainer, uID, s_tmpStringBuffer, COUNTOF(s_tmpStringBuffer));
if (nLen == 0) { LoadStringW(g_hInstance, uID, s_tmpStringBuffer, COUNTOF(s_tmpStringBuffer)); }
return WideCharToMultiByte(CP_UTF8, 0, s_tmpStringBuffer, -1, lpBuffer, nBufferMax, NULL, NULL);
}
//=============================================================================
//
// LoadLngStringA()

View File

@ -220,12 +220,16 @@ bool IsCmdEnabled(HWND, UINT);
if (GetFocus() == hctrl) { SendMessage((hdlg), WM_NEXTDLGCTL, 0, false); } }; EnableWindow(hctrl, (b)); }
#define GetLngString(id,pb,cb) LoadLngStringW((id),(pb),(cb))
#define GetLngStringA(id,pb,cb) LoadLngStringA((id),(pb),(cb))
int LoadLngStringW(UINT uID, LPWSTR lpBuffer, int nBufferMax);
int LoadLngStringA(UINT uID, LPSTR lpBuffer, int nBufferMax);
int FormatLngStringW(LPWSTR, int, UINT, ...);
int FormatLngStringA(LPSTR, int, UINT, ...);
int LoadLngStringW2MB(UINT uID, LPSTR lpBuffer, int nBufferMax);
#define GetLngString(id,pb,cb) LoadLngStringW((id),(pb),(cb))
#define GetLngStringA(id,pb,cb) LoadLngStringA((id),(pb),(cb))
#define GetLngStringW2MB(id,pb,cb) LoadLngStringW2MB((id),(pb),(cb))
bool GetKnownFolderPath(REFKNOWNFOLDERID, LPWSTR, size_t);

View File

@ -6304,8 +6304,8 @@ LRESULT MsgNotify(HWND hwnd, WPARAM wParam, LPARAM lParam)
case SCN_CHARADDED:
{
if (g_CallTipType == CT_ZOOM) {
SciCall_CallTipCancel();
if (g_CallTipType != CT_NONE) {
SciCall_CallTipCancel();
g_CallTipType = CT_NONE;
}

View File

@ -120,7 +120,7 @@ typedef enum {
// --------------------------------------------------------------------------
typedef enum { CT_NONE = 0, CT_ZOOM } CALLTIPTYPE;
typedef enum { CT_NONE = 0, CT_ZOOM, CT_ZEROLEN_MATCH } CALLTIPTYPE;
// --------------------------------------------------------------------------