mirror of
https://github.com/rizonesoft/Notepad3.git
synced 2026-06-14 21:09:05 +08:00
Merge pull request #3969 from RaiKoHoff/Dev_Master
Add F/R-dialog menu item to switch replace by clipboard tag (^c)
This commit is contained in:
commit
4cefeae452
@ -227,6 +227,7 @@
|
||||
#define IDS_MUI_CLEAR_REPL_HISTORY 15043
|
||||
#define IDS_MUI_WRAPSEARCH_FWD 15044
|
||||
#define IDS_MUI_WRAPSEARCH_BCK 15045
|
||||
#define IDS_MUI_REPLCLIPTAG 15046
|
||||
|
||||
#define IDS_MUI_TRANSL_AUTHOR 15050
|
||||
#define IDS_MUI_ASSOCIATED_EXT 15051
|
||||
|
||||
@ -268,6 +268,7 @@ BEGIN
|
||||
"Suchen-Historie löschen"
|
||||
IDS_MUI_CLEAR_REPL_HISTORY
|
||||
"Ersetzen-Historie löschen"
|
||||
IDS_MUI_REPLCLIPTAG "Ersetzen durch Clipboard Shortcut [^c]"
|
||||
IDS_MUI_WRAPSEARCH_FWD "Wrap-Around Fund von Oben"
|
||||
IDS_MUI_WRAPSEARCH_BCK "Wrap-Around Fund von Unten"
|
||||
END
|
||||
|
||||
@ -268,6 +268,7 @@ BEGIN
|
||||
"Clear Find History"
|
||||
IDS_MUI_CLEAR_REPL_HISTORY
|
||||
"Clear Replace History"
|
||||
IDS_MUI_REPLCLIPTAG "Replace by Clipboard Shortcut [^c]"
|
||||
IDS_MUI_WRAPSEARCH_FWD "Wrap-Around match from top"
|
||||
IDS_MUI_WRAPSEARCH_BCK "Wrap-Around match from bottom"
|
||||
END
|
||||
|
||||
@ -1579,6 +1579,7 @@ void LoadSettings()
|
||||
GET_BOOL_VALUE_FROM_INISECTION(EditLayoutRTL, false);
|
||||
GET_BOOL_VALUE_FROM_INISECTION(DialogsLayoutRTL, false);
|
||||
GET_BOOL_VALUE_FROM_INISECTION(PreferredLocale4DateFmt, false);
|
||||
GET_BOOL_VALUE_FROM_INISECTION(ReplaceByClipboardTag, true);
|
||||
|
||||
#ifdef D_NP3_WIN10_DARK_MODE
|
||||
Defaults.WinThemeDarkMode = ShouldAppsUseDarkModeEx();
|
||||
@ -1850,6 +1851,7 @@ static bool _SaveSettings(bool bForceSaveSettings)
|
||||
SAVE_VALUE_IF_NOT_EQ_DEFAULT(Bool, SaveRecentFiles);
|
||||
SAVE_VALUE_IF_NOT_EQ_DEFAULT(Bool, PreserveCaretPos);
|
||||
SAVE_VALUE_IF_NOT_EQ_DEFAULT(Bool, SaveFindReplace);
|
||||
SAVE_VALUE_IF_NOT_EQ_DEFAULT(Bool, SaveFindReplace);
|
||||
|
||||
if (Settings.EFR_Data.bFindClose != Defaults.EFR_Data.bFindClose) {
|
||||
IniSectionSetBool(IniSecSettings, L"CloseFind", Settings.EFR_Data.bFindClose);
|
||||
@ -2028,6 +2030,7 @@ static bool _SaveSettings(bool bForceSaveSettings)
|
||||
SAVE_VALUE_IF_NOT_EQ_DEFAULT(Bool, EditLayoutRTL);
|
||||
SAVE_VALUE_IF_NOT_EQ_DEFAULT(Bool, DialogsLayoutRTL);
|
||||
SAVE_VALUE_IF_NOT_EQ_DEFAULT(Bool, PreferredLocale4DateFmt);
|
||||
SAVE_VALUE_IF_NOT_EQ_DEFAULT(Bool, ReplaceByClipboardTag);
|
||||
|
||||
#ifdef D_NP3_WIN10_DARK_MODE
|
||||
SAVE_VALUE_IF_NOT_EQ_DEFAULT(Bool, WinThemeDarkMode);
|
||||
|
||||
22
src/Edit.c
22
src/Edit.c
@ -5836,7 +5836,9 @@ static LPCWSTR _EditGetFindStrg(HWND hwnd, const LPEDITFINDREPLACE lpefr, bool b
|
||||
static char* _GetReplaceString(HWND hwnd, CLPCEDITFINDREPLACE lpefr, int* iReplaceMsg)
|
||||
{
|
||||
char* pszReplace = NULL; // replace text of arbitrary size
|
||||
if (StringCchCompareXW(StrgGet(lpefr->chReplaceTemplate), L"^c") == 0) {
|
||||
if (Settings.ReplaceByClipboardTag &&
|
||||
(StringCchCompareXW(StrgGet(lpefr->chReplaceTemplate), L"^c")) == 0)
|
||||
{
|
||||
*iReplaceMsg = SCI_REPLACETARGET;
|
||||
pszReplace = EditGetClipboardText(hwnd, true, NULL, NULL);
|
||||
}
|
||||
@ -6227,7 +6229,7 @@ static INT_PTR CALLBACK EditFindReplaceDlgProc(HWND hwnd, UINT umsg, WPARAM wPar
|
||||
}
|
||||
|
||||
WCHAR wchMenuBuf[80] = {L'\0'};
|
||||
HMENU hmenu = GetSystemMenu(hwnd, false);
|
||||
HMENU hmenu = GetSystemMenu(hwnd, FALSE);
|
||||
|
||||
GetLngString(IDS_MUI_SAVEPOS, wchMenuBuf, COUNTOF(wchMenuBuf));
|
||||
InsertMenu(hmenu, 0, MF_BYPOSITION | MF_STRING | MF_ENABLED, IDS_MUI_SAVEPOS, wchMenuBuf);
|
||||
@ -6239,6 +6241,11 @@ static INT_PTR CALLBACK EditFindReplaceDlgProc(HWND hwnd, UINT umsg, WPARAM wPar
|
||||
GetLngString(IDS_MUI_CLEAR_REPL_HISTORY, wchMenuBuf, COUNTOF(wchMenuBuf));
|
||||
InsertMenu(hmenu, 4, MF_BYPOSITION | MF_STRING | MF_ENABLED, IDS_MUI_CLEAR_REPL_HISTORY, wchMenuBuf);
|
||||
InsertMenu(hmenu, 5, MF_BYPOSITION | MF_SEPARATOR, 0, NULL);
|
||||
GetLngString(IDS_MUI_REPLCLIPTAG, wchMenuBuf, COUNTOF(wchMenuBuf));
|
||||
InsertMenu(hmenu, 6, MF_BYPOSITION | MF_STRING | MF_ENABLED, IDS_MUI_REPLCLIPTAG, wchMenuBuf);
|
||||
InsertMenu(hmenu, 7, MF_BYPOSITION | MF_SEPARATOR, 0, NULL);
|
||||
|
||||
CheckCmd(hmenu, IDS_MUI_REPLCLIPTAG, Settings.ReplaceByClipboardTag);
|
||||
|
||||
|
||||
hBrushRed = CreateSolidBrush(rgbRedColorRef);
|
||||
@ -6323,6 +6330,8 @@ static INT_PTR CALLBACK EditFindReplaceDlgProc(HWND hwnd, UINT umsg, WPARAM wPar
|
||||
DeleteObject(hBrushRed);
|
||||
DeleteObject(hBrushGreen);
|
||||
DeleteObject(hBrushBlue);
|
||||
GetSystemMenu(hwnd, TRUE);
|
||||
|
||||
s_pEfrData = NULL;
|
||||
Globals.hwndDlgFindReplace = NULL;
|
||||
}
|
||||
@ -6868,6 +6877,12 @@ static INT_PTR CALLBACK EditFindReplaceDlgProc(HWND hwnd, UINT umsg, WPARAM wPar
|
||||
SetDlgItemText(hwnd, IDC_REPLACETEXT, L"");
|
||||
break;
|
||||
|
||||
case IDACC_REPLCLIPTAG:
|
||||
Settings.ReplaceByClipboardTag = !Settings.ReplaceByClipboardTag;
|
||||
HMENU hmenu = GetSystemMenu(hwnd, FALSE);
|
||||
CheckCmd(hmenu, IDS_MUI_REPLCLIPTAG, Settings.ReplaceByClipboardTag);
|
||||
break;
|
||||
|
||||
case IDACC_FINDNEXT:
|
||||
PostWMCommand(hwnd, IDOK);
|
||||
break;
|
||||
@ -6918,6 +6933,9 @@ static INT_PTR CALLBACK EditFindReplaceDlgProc(HWND hwnd, UINT umsg, WPARAM wPar
|
||||
} else if (wParam == IDS_MUI_CLEAR_REPL_HISTORY) {
|
||||
PostWMCommand(hwnd, IDACC_CLEAR_REPL_HISTORY);
|
||||
return TRUE;
|
||||
} else if (wParam == IDS_MUI_REPLCLIPTAG) {
|
||||
PostWMCommand(hwnd, IDACC_REPLCLIPTAG);
|
||||
return TRUE;
|
||||
}
|
||||
break;
|
||||
|
||||
|
||||
@ -614,6 +614,8 @@ typedef struct SETTINGS_T {
|
||||
int FocusViewMarkerMode;
|
||||
bool PreferredLocale4DateFmt;
|
||||
int AutoSaveInterval;
|
||||
bool ReplaceByClipboardTag;
|
||||
|
||||
AutoSaveBackupOptions AutoSaveOptions;
|
||||
|
||||
#ifdef D_NP3_WIN10_DARK_MODE
|
||||
@ -642,7 +644,7 @@ extern SETTINGS_T Settings;
|
||||
typedef struct FLAGS_T {
|
||||
|
||||
int ToolbarLook;
|
||||
int PrintFileAndLeave;
|
||||
int PrintFileAndLeave;
|
||||
|
||||
bool bHugeFileLoadState;
|
||||
bool bDevDebugMode;
|
||||
|
||||
@ -97,6 +97,7 @@
|
||||
#define IDACC_PREVIEW 313
|
||||
#define IDACC_CLEAR_FIND_HISTORY 314
|
||||
#define IDACC_CLEAR_REPL_HISTORY 315
|
||||
#define IDACC_REPLCLIPTAG 316
|
||||
|
||||
#define IDC_SETCURLEXERTV 402
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user