diff --git a/PowerEditor/src/ScitillaComponent/FindReplaceDlg.cpp b/PowerEditor/src/ScitillaComponent/FindReplaceDlg.cpp index 9ea142bb0..05dbbd176 100644 --- a/PowerEditor/src/ScitillaComponent/FindReplaceDlg.cpp +++ b/PowerEditor/src/ScitillaComponent/FindReplaceDlg.cpp @@ -322,9 +322,7 @@ void FindReplaceDlg::fillFindHistory() ::EnableWindow(::GetDlgItem(_hSelf, IDWHOLEWORD), (BOOL)false); //regex upward search is disable in v6.3 due to a regression - ::SendDlgItemMessage(_hSelf, IDDIRECTIONDOWN, BM_SETCHECK, BST_CHECKED, 0); - ::SendDlgItemMessage(_hSelf, IDDIRECTIONUP, BM_SETCHECK, BST_UNCHECKED, 0); - ::EnableWindow(::GetDlgItem(_hSelf, IDDIRECTIONUP), (BOOL)false); + ::EnableWindow(::GetDlgItem(_hSelf, IDC_FINDPREV), (BOOL)false); // If the search mode from history is regExp then enable the checkbox (. matches newline) ::EnableWindow(GetDlgItem(_hSelf, IDREDOTMATCHNL), true); @@ -766,7 +764,7 @@ INT_PTR CALLBACK FindReplaceDlg::run_dlgProc(UINT message, WPARAM wParam, LPARAM p = getTopPoint(::GetDlgItem(_hSelf, IDREPLACEALL), !_isRTL); _findInFilesClosePos.left = p.x; - _findInFilesClosePos.top = p.y; + _findInFilesClosePos.top = p.y-7; p = getTopPoint(::GetDlgItem(_hSelf, IDCANCEL), !_isRTL); _findClosePos.left = p.x; @@ -777,8 +775,8 @@ INT_PTR CALLBACK FindReplaceDlg::run_dlgProc(UINT message, WPARAM wParam, LPARAM if (tip2show.empty()) tip2show = TEXT("Use Shift+Enter to search in the opposite direction."); - _shiftTrickUpTip = CreateToolTip(IDDIRECTIONUP, _hSelf, _hInst, const_cast(tip2show.c_str())); - _shiftTrickDownTip = CreateToolTip(IDDIRECTIONDOWN, _hSelf, _hInst, const_cast(tip2show.c_str())); + _shiftTrickUpTip = CreateToolTip(IDOK, _hSelf, _hInst, const_cast(tip2show.c_str())); + _shiftTrickDownTip = CreateToolTip(IDC_FINDPREV, _hSelf, _hInst, const_cast(tip2show.c_str())); if (_shiftTrickUpTip && _shiftTrickDownTip) { SendMessage(_shiftTrickUpTip, TTM_ACTIVATE, TRUE, 0); @@ -914,6 +912,7 @@ INT_PTR CALLBACK FindReplaceDlg::run_dlgProc(UINT message, WPARAM wParam, LPARAM setStatusbarMessage(generic_string(), FSNoMessage); display(false); break; + case IDC_FINDPREV: case IDOK : // Find Next : only for FIND_DLG and REPLACE_DLG { setStatusbarMessage(generic_string(), FSNoMessage); @@ -926,7 +925,11 @@ INT_PTR CALLBACK FindReplaceDlg::run_dlgProc(UINT message, WPARAM wParam, LPARAM if (isMacroRecording) saveInMacro(wParam, FR_OP_FIND); - bool direction_bak = _options._whichDirection; + bool direction_bak = DIR_UP; + if (LOWORD(wParam) == IDOK) + direction_bak = DIR_DOWN; + _options._whichDirection = direction_bak; + // if shift-key is pressed, revert search direction // if shift-key is not pressed, use the normal setting SHORT shift = GetKeyState(VK_SHIFT); @@ -1258,15 +1261,13 @@ INT_PTR CALLBACK FindReplaceDlg::run_dlgProc(UINT message, WPARAM wParam, LPARAM ::SendDlgItemMessage(_hSelf, IDWHOLEWORD, BM_SETCHECK, _options._isWholeWord?BST_CHECKED:BST_UNCHECKED, 0); //regex upward search is disable in v6.3 due to a regression - ::SendDlgItemMessage(_hSelf, IDDIRECTIONDOWN, BM_SETCHECK, BST_CHECKED, 0); - ::SendDlgItemMessage(_hSelf, IDDIRECTIONUP, BM_SETCHECK, BST_UNCHECKED, 0); _options._whichDirection = DIR_DOWN; } ::EnableWindow(::GetDlgItem(_hSelf, IDWHOLEWORD), (BOOL)!isRegex); //regex upward search is disable in v6.3 due to a regression - ::EnableWindow(::GetDlgItem(_hSelf, IDDIRECTIONUP), (BOOL)!isRegex); + ::EnableWindow(::GetDlgItem(_hSelf, IDC_FINDPREV), (BOOL)!isRegex); return TRUE; } case IDWRAP : @@ -2292,8 +2293,7 @@ void FindReplaceDlg::enableMarkAllControls(bool isEnable) ::ShowWindow(::GetDlgItem(_hSelf, IDC_IN_SELECTION_CHECK), hideOrShow); ::ShowWindow(::GetDlgItem(_hSelf, IDC_DIR_STATIC), !hideOrShow); - ::ShowWindow(::GetDlgItem(_hSelf, IDDIRECTIONUP), !hideOrShow); - ::ShowWindow(::GetDlgItem(_hSelf, IDDIRECTIONDOWN), !hideOrShow); + ::ShowWindow(::GetDlgItem(_hSelf, IDC_FINDPREV), !hideOrShow); } void FindReplaceDlg::enableFindInFilesControls(bool isEnable) @@ -2312,8 +2312,8 @@ void FindReplaceDlg::enableFindInFilesControls(bool isEnable) ::ShowWindow(::GetDlgItem(_hSelf, IDCMARKALL), isEnable?SW_HIDE:SW_SHOW); ::ShowWindow(::GetDlgItem(_hSelf, IDC_DIR_STATIC), isEnable?SW_HIDE:SW_SHOW); - ::ShowWindow(::GetDlgItem(_hSelf, IDDIRECTIONUP), isEnable?SW_HIDE:SW_SHOW); - ::ShowWindow(::GetDlgItem(_hSelf, IDDIRECTIONDOWN), isEnable?SW_HIDE:SW_SHOW); + ::ShowWindow(::GetDlgItem(_hSelf, IDC_FINDPREV), isEnable ? SW_HIDE : SW_SHOW); + ::ShowWindow(::GetDlgItem(_hSelf, IDREPLACE), isEnable?SW_HIDE:SW_SHOW); ::ShowWindow(::GetDlgItem(_hSelf, IDC_REPLACEINSELECTION), isEnable?SW_HIDE:SW_SHOW); ::ShowWindow(::GetDlgItem(_hSelf, IDREPLACEALL), isEnable?SW_HIDE:SW_SHOW); @@ -2602,7 +2602,7 @@ void FindReplaceDlg::initOptionsFromDlg() _options._doPurge = isCheckedOrNot(IDC_PURGE_CHECK); _options._doMarkLine = isCheckedOrNot(IDC_MARKLINE_CHECK); - _options._whichDirection = isCheckedOrNot(IDDIRECTIONDOWN); + _options._whichDirection = DIR_DOWN; _options._isRecursive = isCheckedOrNot(IDD_FINDINFILES_RECURSIVE_CHECK); _options._isInHiddenDir = isCheckedOrNot(IDD_FINDINFILES_INHIDDENDIR_CHECK); diff --git a/PowerEditor/src/ScitillaComponent/FindReplaceDlg.rc b/PowerEditor/src/ScitillaComponent/FindReplaceDlg.rc index 9eb72224d..3ef756c57 100644 --- a/PowerEditor/src/ScitillaComponent/FindReplaceDlg.rc +++ b/PowerEditor/src/ScitillaComponent/FindReplaceDlg.rc @@ -66,19 +66,17 @@ BEGIN CONTROL "E&xtended (\\n, \\r, \\t, \\0, \\x...)",IDEXTENDED, "Button",BS_AUTORADIOBUTTON,12,155,145,10 CONTROL "Re&gular expression",IDREGEXP,"Button",BS_AUTORADIOBUTTON,12,167,78,10 - CONTROL "&Up",IDDIRECTIONUP,"Button",BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,177,143,64,12 - CONTROL "&Down",IDDIRECTIONDOWN,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,177,155,63,12 - GROUPBOX "Direction",IDC_DIR_STATIC,172,131,74,48,WS_GROUP - PUSHBUTTON "Find Next",IDOK,268,20,90,14,WS_GROUP - PUSHBUTTON "Coun&t",IDCCOUNTALL,268,38,90,14 - PUSHBUTTON "Find All in All &Opened Documents",IDC_FINDALL_OPENEDFILES,268,56,90,21,BS_MULTILINE - PUSHBUTTON "Find All in Current Document",IDC_FINDALL_CURRENTFILE,268,80,90,21,BS_MULTILINE - PUSHBUTTON "&Replace",IDREPLACE,268,38,90,14 - PUSHBUTTON "Replace &All",IDREPLACEALL,268,56,90,14 - PUSHBUTTON "Replace All in All &Opened Documents",IDC_REPLACE_OPENEDFILES,268,74,90,21,BS_MULTILINE + PUSHBUTTON "Find Previous", IDC_FINDPREV, 268, 20, 45, 21, WS_GROUP | BS_MULTILINE + PUSHBUTTON "Find Next", IDOK, 313, 20, 45, 21, WS_GROUP | BS_MULTILINE + PUSHBUTTON "Coun&t",IDCCOUNTALL,268,45,90,14 + PUSHBUTTON "Find All in All &Opened Documents",IDC_FINDALL_OPENEDFILES,268,64,90,21,BS_MULTILINE + PUSHBUTTON "Find All in Current Document",IDC_FINDALL_CURRENTFILE,268,87,90,21,BS_MULTILINE + PUSHBUTTON "&Replace",IDREPLACE,268,46,90,14 + PUSHBUTTON "Replace &All",IDREPLACEALL,268,63,90,14 + PUSHBUTTON "Replace All in All &Opened Documents",IDC_REPLACE_OPENEDFILES,268,81,90,21,BS_MULTILINE PUSHBUTTON "Find All",IDD_FINDINFILES_FIND_BUTTON,268,20,90,14,WS_GROUP PUSHBUTTON "&Replace in Files",IDD_FINDINFILES_REPLACEINFILES,268,38,90,14 - PUSHBUTTON "Close",IDCANCEL,268,98,90,14 + PUSHBUTTON "Close",IDCANCEL,268,105,90,14 GROUPBOX "",IDC_TRANSPARENT_GRPBOX,258,131,99,48 CONTROL "Transparenc&y",IDC_TRANSPARENT_CHECK,"Button",BS_AUTOCHECKBOX | NOT WS_VISIBLE | WS_TABSTOP,254,131,80,10 CONTROL "On losing focus",IDC_TRANSPARENT_LOSSFOCUS_RADIO,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,268,143,85,10 diff --git a/PowerEditor/src/ScitillaComponent/FindReplaceDlg_rc.h b/PowerEditor/src/ScitillaComponent/FindReplaceDlg_rc.h index b8e11daf2..ccb354e4a 100644 --- a/PowerEditor/src/ScitillaComponent/FindReplaceDlg_rc.h +++ b/PowerEditor/src/ScitillaComponent/FindReplaceDlg_rc.h @@ -134,5 +134,6 @@ #define IDEXTENDED_FIFOLDER 1718 #define IDREGEXP_FIFOLDER 1719 #define IDREDOTMATCHNL_FIFOLDER 1720 +#define IDC_FINDPREV 1721 #endif //FINDREPLACE_DLG_H