Merge remote-tracking branch 'Notepad3_upstream_Rizone/master' into master_RaiKoHoff

# Conflicts:
#	src/Notepad3.vcxproj
This commit is contained in:
Rainer Kottenhoff 2018-02-22 09:34:44 +01:00
commit e4eb9441e6
9 changed files with 122 additions and 111 deletions

Binary file not shown.

View File

@ -95,6 +95,7 @@
<PrecompiledHeaderFile />
<TreatWarningAsError>true</TreatWarningAsError>
<OmitFramePointers />
<FloatingPointModel>Fast</FloatingPointModel>
</ClCompile>
<Link>
<AdditionalOptions>/MACHINE:I386 %(AdditionalOptions)</AdditionalOptions>
@ -150,6 +151,9 @@
<TreatWarningAsError>true</TreatWarningAsError>
<WholeProgramOptimization>true</WholeProgramOptimization>
<OmitFramePointers />
<Optimization>MaxSpeed</Optimization>
<FavorSizeOrSpeed>Size</FavorSizeOrSpeed>
<FloatingPointModel>Fast</FloatingPointModel>
</ClCompile>
<Link>
<AdditionalOptions>/MACHINE:I386 %(AdditionalOptions)</AdditionalOptions>
@ -205,6 +209,7 @@
<PreprocessorDefinitions>WIN32;_WINDOWS;_DEBUG;DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<WarningLevel>Level4</WarningLevel>
<TreatWarningAsError>true</TreatWarningAsError>
<FloatingPointModel>Fast</FloatingPointModel>
</ClCompile>
<Manifest>
<EnableDpiAwareness>false</EnableDpiAwareness>
@ -237,6 +242,10 @@
<WarningLevel>Level4</WarningLevel>
<TreatWarningAsError>true</TreatWarningAsError>
<WholeProgramOptimization>true</WholeProgramOptimization>
<Optimization>MaxSpeed</Optimization>
<FavorSizeOrSpeed>Size</FavorSizeOrSpeed>
<StringPooling>true</StringPooling>
<FloatingPointModel>Fast</FloatingPointModel>
</ClCompile>
<Manifest>
<EnableDpiAwareness>false</EnableDpiAwareness>

View File

@ -96,10 +96,13 @@
<WarningLevel>Level4</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<Optimization>Full</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<TreatWarningAsError>true</TreatWarningAsError>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<StringPooling>true</StringPooling>
<FloatingPointModel>Fast</FloatingPointModel>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
@ -117,6 +120,7 @@
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<TreatWarningAsError>true</TreatWarningAsError>
<OmitFramePointers />
<FloatingPointModel>Fast</FloatingPointModel>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
@ -131,6 +135,7 @@
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<TreatWarningAsError>true</TreatWarningAsError>
<FloatingPointModel>Fast</FloatingPointModel>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
@ -142,11 +147,14 @@
<WarningLevel>Level4</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<Optimization>Full</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<TreatWarningAsError>true</TreatWarningAsError>
<OmitFramePointers />
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<StringPooling>true</StringPooling>
<FloatingPointModel>Fast</FloatingPointModel>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>

View File

@ -168,16 +168,17 @@
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<EnableEnhancedInstructionSet Condition="'$(VisualStudioVersion)'&gt;'10.0'">StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<Optimization>Full</Optimization>
<Optimization>MaxSpeed</Optimization>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<PreprocessorDefinitions>_SCL_SECURE_NO_WARNINGS;SCI_OWNREGEX;ONIG_EXTERN=extern;WIN32;NDEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES;STATIC_BUILD;SCI_LEXER;USE_D2D;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<WarningLevel>Level3</WarningLevel>
<WholeProgramOptimization>true</WholeProgramOptimization>
<OmitFramePointers />
<StringPooling>true</StringPooling>
<FloatingPointModel>Fast</FloatingPointModel>
<LanguageStandard>stdcpplatest</LanguageStandard>
<FavorSizeOrSpeed>Size</FavorSizeOrSpeed>
<StringPooling>true</StringPooling>
</ClCompile>
<ProjectReference>
<LinkLibraryDependencies>true</LinkLibraryDependencies>
@ -188,15 +189,16 @@
<AdditionalIncludeDirectories>include;lexlib;src;../onigmo;../onigmo/win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<Optimization>Full</Optimization>
<Optimization>MaxSpeed</Optimization>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<PreprocessorDefinitions>_SCL_SECURE_NO_WARNINGS;SCI_OWNREGEX;ONIG_EXTERN=extern;_WIN64;NDEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES;STATIC_BUILD;SCI_LEXER;USE_D2D;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<WarningLevel>Level3</WarningLevel>
<WholeProgramOptimization>true</WholeProgramOptimization>
<StringPooling>true</StringPooling>
<FloatingPointModel>Fast</FloatingPointModel>
<LanguageStandard>stdcpplatest</LanguageStandard>
<FavorSizeOrSpeed>Size</FavorSizeOrSpeed>
<StringPooling>true</StringPooling>
</ClCompile>
<Lib>
<TargetMachine>MachineX64</TargetMachine>

View File

@ -64,6 +64,7 @@ extern UINT cpLastFind;
extern BOOL bReplaceInitialized;
extern BOOL bUseOldStyleBraceMatching;
extern BOOL bSkipUnicodeDetection;
extern BOOL bFindReplCopySelOrClip;
static EDITFINDREPLACE efrSave;
static BOOL bSwitchedFindReplace = FALSE;
@ -238,6 +239,9 @@ HWND EditCreate(HWND hwndParent)
SendMessage(hwnd, SCI_INDICSETALPHA, INDIC_NP3_BAD_BRACE, 120);
SendMessage(hwnd, SCI_INDICSETOUTLINEALPHA, INDIC_NP3_BAD_BRACE, 120);
// paste into rectangular selection
SendMessage(hwnd, SCI_SETMULTIPASTE, SC_MULTIPASTE_EACH, 0);
// No SC_AUTOMATICFOLD_CLICK, performed by
SendMessage(hwnd, SCI_SETAUTOMATICFOLD, (WPARAM)(SC_AUTOMATICFOLD_SHOW | SC_AUTOMATICFOLD_CHANGE), 0);
@ -804,8 +808,6 @@ BOOL EditPasteClipboard(HWND hwnd, BOOL bSwapClipBoard)
if (SciCall_IsSelectionEmpty() || (lineCount <= 1))
{
SciCall_SetMultiPaste(SC_MULTIPASTE_EACH);
if (SciCall_IsSelectionEmpty())
{
SciCall_Paste();
@ -832,8 +834,6 @@ BOOL EditPasteClipboard(HWND hwnd, BOOL bSwapClipBoard)
EditSelectEx(hwnd, iCurPos, iCurPos);
}
}
SciCall_SetMultiPaste(SC_MULTIPASTE_ONCE);
}
else {
if (SciCall_IsSelectionRectangle())
@ -4394,7 +4394,7 @@ void EditGetExcerpt(HWND hwnd,LPWSTR lpszExcerpt,DWORD cchExcerpt)
else {
int iLine = SendMessage(hwnd,SCI_LINEFROMPOSITION,(WPARAM)iCurPos,0);
tr.chrg.cpMin = SendMessage(hwnd,SCI_POSITIONFROMLINE,(WPARAM)iLine,0);
tr.chrg.cpMax = min(SendMessage(hwnd,SCI_GETLINEENDPOSITION,(WPARAM)iLine,0),(LONG)(tr.chrg.cpMin + COUNTOF(tch)));
tr.chrg.cpMax = min(SendMessage(hwnd,SCI_GETLINEENDPOSITION,(WPARAM)iLine,0),(LONG)(tr.chrg.cpMin + COUNTOF(tchBuf2)));
}*/
tr.chrg.cpMax = min((int)SendMessage(hwnd, SCI_GETTEXTLENGTH, 0, 0), tr.chrg.cpMax);
@ -4678,11 +4678,12 @@ INT_PTR CALLBACK EditFindReplaceDlgProcW(HWND hwnd,UINT umsg,WPARAM wParam,LPARA
static BOOL bSaveOccVisible = FALSE;
static BOOL bSaveTFBackSlashes = FALSE;
WCHAR tchBuf[FNDRPL_BUFFER] = { L'\0' };
switch(umsg)
{
case WM_INITDIALOG:
{
static BOOL bFirstTime = TRUE;
iReplacedOccurrences = 0;
SetWindowLongPtr(hwnd, DWLP_USER, (LONG_PTR)lParam);
@ -4704,70 +4705,17 @@ INT_PTR CALLBACK EditFindReplaceDlgProcW(HWND hwnd,UINT umsg,WPARAM wParam,LPARA
EditClearAllMarks(g_hwndEdit, 0, -1);
}
// Get the current code page for Unicode conversion
UINT uCPEdit = Encoding_SciGetCodePage(g_hwndEdit);
//const WORD wTabSpacing = (WORD)SendMessage(lpefr->hwnd, SCI_GETTABWIDTH, 0, 0);; // dialog box units
//SendDlgItemMessage(hwnd, IDC_FINDTEXT, EM_SETTABSTOPS, 1, (LPARAM)&wTabSpacing);
// Load MRUs
WCHAR tch2[FNDRPL_BUFFER] = { L'\0' };
for (int i = 0; i < MRU_Enum(mruFind, 0, NULL, 0); i++) {
MRU_Enum(mruFind, i, tch2, COUNTOF(tch2));
SendDlgItemMessage(hwnd, IDC_FINDTEXT, CB_ADDSTRING, 0, (LPARAM)tch2);
MRU_Enum(mruFind, i, tchBuf, COUNTOF(tchBuf));
SendDlgItemMessage(hwnd, IDC_FINDTEXT, CB_ADDSTRING, 0, (LPARAM)tchBuf);
}
for (int i = 0; i < MRU_Enum(mruReplace, 0, NULL, 0); i++) {
MRU_Enum(mruReplace, i, tch2, COUNTOF(tch2));
SendDlgItemMessage(hwnd, IDC_REPLACETEXT, CB_ADDSTRING, 0, (LPARAM)tch2);
}
if (!bSwitchedFindReplace)
{
char *lpszSelection = NULL;
int cchSelection = (int)SendMessage(lpefr->hwnd, SCI_GETSELECTIONEND, 0, 0) -
(int)SendMessage(lpefr->hwnd, SCI_GETSELECTIONSTART, 0, 0);
if ((0 < cchSelection) && (cchSelection < FNDRPL_BUFFER)) {
cchSelection = (int)SendMessage(lpefr->hwnd, SCI_GETSELTEXT, 0, 0);
lpszSelection = GlobalAlloc(GPTR, cchSelection + 2);
SendMessage(lpefr->hwnd, SCI_GETSELTEXT, 0, (LPARAM)lpszSelection);
}
else if (cchSelection == 0) {
// nothing is selected in the editor:
// if first time you bring up find/replace dialog, copy content from clipboard to find box
if (bFirstTime)
{
char* pClip = EditGetClipboardText(hwnd, FALSE, NULL, NULL);
if (pClip) {
int len = lstrlenA(pClip);
if (len > 0 && len < FNDRPL_BUFFER) {
lpszSelection = GlobalAlloc(GPTR, len + 2);
StringCchCopyNA(lpszSelection, len + 2, pClip, len);
}
LocalFree(pClip);
}
}
bFirstTime = FALSE;
}
if (lpszSelection) {
// Check lpszSelection and truncate bad chars (CR,LF,VT)
char* lpsz = StrChrA(lpszSelection, 13);
if (lpsz) *lpsz = '\0';
lpsz = StrChrA(lpszSelection, 10);
if (lpsz) *lpsz = '\0';
lpsz = StrChrA(lpszSelection, 11);
if (lpsz) *lpsz = '\0';
SetDlgItemTextA2W(uCPEdit, hwnd, IDC_FINDTEXT, lpszSelection);
GlobalFree(lpszSelection);
}
else {
MRU_Enum(mruFind, 0, tch2, COUNTOF(tch2));
SetDlgItemText(hwnd, IDC_FINDTEXT, tch2);
}
MRU_Enum(mruReplace, i, tchBuf, COUNTOF(tchBuf));
SendDlgItemMessage(hwnd, IDC_REPLACETEXT, CB_ADDSTRING, 0, (LPARAM)tchBuf);
}
SendDlgItemMessage(hwnd, IDC_FINDTEXT, CB_LIMITTEXT, FNDRPL_BUFFER, 0);
@ -4858,7 +4806,6 @@ INT_PTR CALLBACK EditFindReplaceDlgProcW(HWND hwnd,UINT umsg,WPARAM wParam,LPARA
else
SetDlgPos(hwnd, xFindReplaceDlg, yFindReplaceDlg);
}
else {
SetDlgPos(hwnd, xFindReplaceDlgSave, yFindReplaceDlgSave);
bSwitchedFindReplace = FALSE;
@ -4867,10 +4814,10 @@ INT_PTR CALLBACK EditFindReplaceDlgProcW(HWND hwnd,UINT umsg,WPARAM wParam,LPARA
HMENU hmenu = GetSystemMenu(hwnd, FALSE);
GetString(IDS_SAVEPOS, tch2, COUNTOF(tch2));
InsertMenu(hmenu, 0, MF_BYPOSITION | MF_STRING | MF_ENABLED, IDS_SAVEPOS, tch2);
GetString(IDS_RESETPOS, tch2, COUNTOF(tch2));
InsertMenu(hmenu, 1, MF_BYPOSITION | MF_STRING | MF_ENABLED, IDS_RESETPOS, tch2);
GetString(IDS_SAVEPOS, tchBuf, COUNTOF(tchBuf));
InsertMenu(hmenu, 0, MF_BYPOSITION | MF_STRING | MF_ENABLED, IDS_SAVEPOS, tchBuf);
GetString(IDS_RESETPOS, tchBuf, COUNTOF(tchBuf));
InsertMenu(hmenu, 1, MF_BYPOSITION | MF_STRING | MF_ENABLED, IDS_RESETPOS, tchBuf);
InsertMenu(hmenu, 2, MF_BYPOSITION | MF_SEPARATOR, 0, NULL);
hBrushRed = CreateSolidBrush(rgbRed);
@ -4928,6 +4875,9 @@ INT_PTR CALLBACK EditFindReplaceDlgProcW(HWND hwnd,UINT umsg,WPARAM wParam,LPARA
bFlagsChanged = TRUE;
EditSetTimerMarkAll(hwnd,50);
}
//if (LOWORD(wParam) == WA_INACTIVE) {
// bFindReplCopySelOrClip = TRUE;
//}
}
return FALSE;
@ -4941,6 +4891,52 @@ INT_PTR CALLBACK EditFindReplaceDlgProcW(HWND hwnd,UINT umsg,WPARAM wParam,LPARA
case IDC_FINDTEXT:
case IDC_REPLACETEXT:
{
if (bFindReplCopySelOrClip)
{
char *lpszSelection = NULL;
int cchSelection = (int)SendMessage(lpefr->hwnd, SCI_GETSELECTIONEND, 0, 0) -
(int)SendMessage(lpefr->hwnd, SCI_GETSELECTIONSTART, 0, 0);
if ((0 < cchSelection) && (cchSelection < FNDRPL_BUFFER)) {
cchSelection = (int)SendMessage(lpefr->hwnd, SCI_GETSELTEXT, 0, 0);
lpszSelection = GlobalAlloc(GPTR, cchSelection + 1);
SendMessage(lpefr->hwnd, SCI_GETSELTEXT, 0, (LPARAM)lpszSelection);
}
else if (cchSelection == 0) {
// nothing is selected in the editor:
// if first time you bring up find/replace dialog, copy content from clipboard to find box
char* pClip = EditGetClipboardText(hwnd, FALSE, NULL, NULL);
if (pClip) {
int len = lstrlenA(pClip);
if (len > 0 && len < FNDRPL_BUFFER) {
lpszSelection = GlobalAlloc(GPTR, len + 1);
StringCchCopyNA(lpszSelection, len + 1, pClip, len);
}
LocalFree(pClip);
}
}
if (lpszSelection) {
// Check lpszSelection and truncate bad chars (CR,LF,VT)
char* lpsz = StrChrA(lpszSelection, 13);
if (lpsz) *lpsz = '\0';
lpsz = StrChrA(lpszSelection, 10);
if (lpsz) *lpsz = '\0';
lpsz = StrChrA(lpszSelection, 11);
if (lpsz) *lpsz = '\0';
SetDlgItemTextA2W(Encoding_SciGetCodePage(g_hwndEdit), hwnd, IDC_FINDTEXT, lpszSelection);
GlobalFree(lpszSelection);
}
else {
MRU_Enum(mruFind, 0, tchBuf, COUNTOF(tchBuf));
SetDlgItemText(hwnd, IDC_FINDTEXT, tchBuf);
}
bFindReplCopySelOrClip = FALSE;
}
BOOL bEnableF = (GetWindowTextLengthW(GetDlgItem(hwnd, IDC_FINDTEXT)) ||
CB_ERR != SendDlgItemMessage(hwnd, IDC_FINDTEXT, CB_GETCURSEL, 0, 0));
@ -4956,6 +4952,7 @@ INT_PTR CALLBACK EditFindReplaceDlgProcW(HWND hwnd,UINT umsg,WPARAM wParam,LPARA
DialogEnableWindow(hwnd, IDC_REPLACEINSEL, bEnableF && bEnableIS);
DialogEnableWindow(hwnd, IDC_SWAPSTRG, bEnableF || bEnableR);
if (HIWORD(wParam) == CBN_CLOSEUP) {
LONG lSelEnd;
SendDlgItemMessage(hwnd, LOWORD(wParam), CB_GETEDITSEL, 0, (LPARAM)&lSelEnd);
@ -5172,20 +5169,20 @@ INT_PTR CALLBACK EditFindReplaceDlgProcW(HWND hwnd,UINT umsg,WPARAM wParam,LPARA
lpefr->bReplaceClose = (IsDlgButtonChecked(hwnd, IDC_FINDCLOSE) == BST_CHECKED) ? TRUE : FALSE;
}
WCHAR tch[FNDRPL_BUFFER] = { L'\0' };
WCHAR tchBuf2[FNDRPL_BUFFER] = { L'\0' };
if (!bSwitchedFindReplace) {
// Save MRUs
if (StringCchLenA(lpefr->szFind, COUNTOF(lpefr->szFind))) {
if (GetDlgItemTextW2A(CP_UTF8, hwnd, IDC_FINDTEXT, lpefr->szFindUTF8, COUNTOF(lpefr->szFindUTF8))) {
GetDlgItemText(hwnd, IDC_FINDTEXT, tch, COUNTOF(tch));
MRU_Add(mruFind, tch, 0, 0, NULL);
GetDlgItemText(hwnd, IDC_FINDTEXT, tchBuf2, COUNTOF(tchBuf2));
MRU_Add(mruFind, tchBuf2, 0, 0, NULL);
}
}
if (StringCchLenA(lpefr->szReplace, COUNTOF(lpefr->szReplace))) {
if (GetDlgItemTextW2A(CP_UTF8, hwnd, IDC_REPLACETEXT, lpefr->szReplaceUTF8, COUNTOF(lpefr->szReplaceUTF8))) {
GetDlgItemText(hwnd, IDC_REPLACETEXT, tch, COUNTOF(tch));
MRU_Add(mruReplace, tch, 0, 0, NULL);
GetDlgItemText(hwnd, IDC_REPLACETEXT, tchBuf2, COUNTOF(tchBuf2));
MRU_Add(mruReplace, tchBuf2, 0, 0, NULL);
}
}
else
@ -5202,12 +5199,12 @@ INT_PTR CALLBACK EditFindReplaceDlgProcW(HWND hwnd,UINT umsg,WPARAM wParam,LPARA
SendDlgItemMessage(hwnd, IDC_REPLACETEXT, CB_RESETCONTENT, 0, 0);
for (int i = 0; i < MRU_Enum(mruFind, 0, NULL, 0); i++) {
MRU_Enum(mruFind, i, tch, COUNTOF(tch));
SendDlgItemMessage(hwnd, IDC_FINDTEXT, CB_ADDSTRING, 0, (LPARAM)tch);
MRU_Enum(mruFind, i, tchBuf2, COUNTOF(tchBuf2));
SendDlgItemMessage(hwnd, IDC_FINDTEXT, CB_ADDSTRING, 0, (LPARAM)tchBuf2);
}
for (int i = 0; i < MRU_Enum(mruReplace, 0, NULL, 0); i++) {
MRU_Enum(mruReplace, i, tch, COUNTOF(tch));
SendDlgItemMessage(hwnd, IDC_REPLACETEXT, CB_ADDSTRING, 0, (LPARAM)tch);
MRU_Enum(mruReplace, i, tchBuf2, COUNTOF(tchBuf2));
SendDlgItemMessage(hwnd, IDC_REPLACETEXT, CB_ADDSTRING, 0, (LPARAM)tchBuf2);
}
SetDlgItemTextA2W(CP_UTF8, hwnd, IDC_FINDTEXT, lpefr->szFindUTF8);

View File

@ -116,6 +116,7 @@ BOOL bEnableSaveSettings;
BOOL bSaveRecentFiles;
BOOL bPreserveCaretPos;
BOOL bSaveFindReplace;
BOOL bFindReplCopySelOrClip = TRUE;
WCHAR tchLastSaveCopyDir[MAX_PATH] = { L'\0' };
WCHAR tchOpenWithDir[MAX_PATH] = { L'\0' };
WCHAR tchFavoritesDir[MAX_PATH] = { L'\0' };
@ -540,7 +541,7 @@ int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInst,LPSTR lpCmdLine,int n
UpdateLineNumberWidth();
ObserveNotifyChangeEvent();
while (GetMessage(&msg,NULL,0,0))
{
if (IsWindow(g_hwndDlgFindReplace) && ((msg.hwnd == g_hwndDlgFindReplace) || IsChild(g_hwndDlgFindReplace, msg.hwnd)))
@ -3664,9 +3665,12 @@ LRESULT MsgCommand(HWND hwnd, WPARAM wParam, LPARAM lParam)
case IDM_EDIT_FIND:
if (!IsWindow(g_hwndDlgFindReplace))
g_hwndDlgFindReplace = EditFindReplaceDlg(g_hwndEdit,&g_efrData,FALSE);
if (!IsWindow(g_hwndDlgFindReplace)) {
bFindReplCopySelOrClip = TRUE;
g_hwndDlgFindReplace = EditFindReplaceDlg(g_hwndEdit, &g_efrData, FALSE);
}
else {
bFindReplCopySelOrClip = (GetForegroundWindow() != g_hwndDlgFindReplace);
if (GetDlgItem(g_hwndDlgFindReplace,IDC_REPLACE)) {
SendMessage(g_hwndDlgFindReplace,WM_COMMAND,MAKELONG(IDMSG_SWITCHTOFIND,1),0);
DestroyWindow(g_hwndDlgFindReplace);
@ -3682,9 +3686,12 @@ LRESULT MsgCommand(HWND hwnd, WPARAM wParam, LPARAM lParam)
case IDM_EDIT_REPLACE:
if (!IsWindow(g_hwndDlgFindReplace))
g_hwndDlgFindReplace = EditFindReplaceDlg(g_hwndEdit,&g_efrData,TRUE);
if (!IsWindow(g_hwndDlgFindReplace)) {
bFindReplCopySelOrClip = TRUE;
g_hwndDlgFindReplace = EditFindReplaceDlg(g_hwndEdit, &g_efrData, TRUE);
}
else {
bFindReplCopySelOrClip = (GetForegroundWindow() != g_hwndDlgFindReplace);
if (!GetDlgItem(g_hwndDlgFindReplace,IDC_REPLACE)) {
SendMessage(g_hwndDlgFindReplace,WM_COMMAND,MAKELONG(IDMSG_SWITCHTOREPLACE,1),0);
DestroyWindow(g_hwndDlgFindReplace);
@ -3692,7 +3699,7 @@ LRESULT MsgCommand(HWND hwnd, WPARAM wParam, LPARAM lParam)
}
else {
SetForegroundWindow(g_hwndDlgFindReplace);
PostMessage(g_hwndDlgFindReplace,WM_NEXTDLGCTL,(WPARAM)(GetDlgItem(g_hwndDlgFindReplace,IDC_FINDTEXT)),1);
PostMessage(g_hwndDlgFindReplace,WM_NEXTDLGCTL,(WPARAM)(GetDlgItem(g_hwndDlgFindReplace, IDC_FINDTEXT)),1);
}
UpdateStatusbar();
}

View File

@ -110,10 +110,6 @@
<EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
<FloatingPointModel>Fast</FloatingPointModel>
<LanguageStandard>stdcpp17</LanguageStandard>
<<<<<<< HEAD
<EnableParallelCodeGeneration>true</EnableParallelCodeGeneration>
=======
>>>>>>> Notepad3_upstream_Rizone/master
</ClCompile>
<Link>
<AdditionalDependencies>msimg32.lib;comctl32.lib;imm32.lib;shlwapi.lib;scintilla.lib;%(AdditionalDependencies)</AdditionalDependencies>
@ -167,10 +163,6 @@
<StringPooling>true</StringPooling>
<FloatingPointModel>Fast</FloatingPointModel>
<LanguageStandard>stdcpp17</LanguageStandard>
<<<<<<< HEAD
<EnableParallelCodeGeneration>true</EnableParallelCodeGeneration>
=======
>>>>>>> Notepad3_upstream_Rizone/master
</ClCompile>
<Link>
<AdditionalDependencies>msimg32.lib;comctl32.lib;imm32.lib;shlwapi.lib;scintilla.lib;%(AdditionalDependencies)</AdditionalDependencies>
@ -212,20 +204,17 @@
<ClCompile>
<AdditionalIncludeDirectories>..\scintilla\include;..\scintilla\lexlib;..\scintilla\src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<Optimization>Full</Optimization>
<Optimization>MaxSpeed</Optimization>
<PreprocessorDefinitions>WIN32;STATIC_BUILD;SCI_LEXER;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<WarningLevel>Level4</WarningLevel>
<DebugInformationFormat>None</DebugInformationFormat>
<TreatWarningAsError>true</TreatWarningAsError>
<StringPooling>true</StringPooling>
<EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
<FloatingPointModel>Fast</FloatingPointModel>
<LanguageStandard>stdcpp17</LanguageStandard>
<<<<<<< HEAD
<EnableParallelCodeGeneration>true</EnableParallelCodeGeneration>
=======
>>>>>>> Notepad3_upstream_Rizone/master
<FavorSizeOrSpeed>Size</FavorSizeOrSpeed>
<StringPooling>true</StringPooling>
</ClCompile>
<Link>
<AdditionalDependencies>msimg32.lib;comctl32.lib;imm32.lib;shlwapi.lib;scintilla.lib;%(AdditionalDependencies)</AdditionalDependencies>
@ -270,19 +259,16 @@
<ClCompile>
<AdditionalIncludeDirectories>..\scintilla\include;..\scintilla\lexlib;..\scintilla\src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<Optimization>Full</Optimization>
<Optimization>MaxSpeed</Optimization>
<PreprocessorDefinitions>_WIN64;STATIC_BUILD;SCI_LEXER;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<WarningLevel>Level4</WarningLevel>
<DebugInformationFormat>None</DebugInformationFormat>
<TreatWarningAsError>true</TreatWarningAsError>
<StringPooling>true</StringPooling>
<FloatingPointModel>Fast</FloatingPointModel>
<LanguageStandard>stdcpp17</LanguageStandard>
<<<<<<< HEAD
<EnableParallelCodeGeneration>true</EnableParallelCodeGeneration>
=======
>>>>>>> Notepad3_upstream_Rizone/master
<FavorSizeOrSpeed>Size</FavorSizeOrSpeed>
<StringPooling>true</StringPooling>
</ClCompile>
<Link>
<AdditionalDependencies>msimg32.lib;comctl32.lib;imm32.lib;shlwapi.lib;scintilla.lib;%(AdditionalDependencies)</AdditionalDependencies>

View File

@ -89,6 +89,7 @@ __forceinline LRESULT SciCall_##fn(type1 var1, type2 var2) { \
DeclareSciCallR0(IsDocModified, GETMODIFY, bool);
DeclareSciCallR0(IsSelectionEmpty, GETSELECTIONEMPTY, bool);
DeclareSciCallR0(IsSelectionRectangle, SELECTIONISRECTANGLE, bool);
DeclareSciCallR0(CanPaste, CANPASTE, bool);
DeclareSciCallR0(GetCurrentPos, GETCURRENTPOS, DocPos);
@ -238,8 +239,9 @@ DeclareSciCallV1(SetTechnology, SETTECHNOLOGY, int, technology);
//
// Utilities
//
#define IsSelThinRectangle() (SciCall_GetSelectionMode() == SC_SEL_THIN)
#define IsStreamSelected() (SciCall_GetSelectionMode() == SC_SEL_STREAM)
#define IsFullLineSelected() (SciCall_GetSelectionMode() == SC_SEL_LINES)
#define IsThinRectangleSelected() (SciCall_GetSelectionMode() == SC_SEL_THIN)
#define IsSingleLineSelection() \
(SciCall_LineFromPosition(SciCall_GetCurrentPos()) == SciCall_LineFromPosition(SciCall_GetAnchor()))

View File

@ -61,7 +61,7 @@
#if defined(_MSC_VER)
#if (_MSC_VER >= 1912)
#if(_MSC_FULL_VER >= 191225835)
#define VER_CPL "Microsoft Visual C++ 2017 Ver. 15.5.5"
#define VER_CPL "Microsoft Visual C++ 2017 Ver. 15.5.(5-7)"
#elif(_MSC_FULL_VER >= 191225834)
#define VER_CPL "Microsoft Visual C++ 2017 Ver. 15.5.(3-4)"
#elif(_MSC_FULL_VER >= 191225831)