From 08b10b0729bf7510cbca2193fa6a69b39ad5e483 Mon Sep 17 00:00:00 2001 From: Rainer Kottenhoff Date: Sun, 7 Jan 2018 13:02:19 +0100 Subject: [PATCH] + fix: Menu "Mark Occurrences" whole word matching: add check indicator if one of word matching options (selected / current) is used --- src/Helpers.h | 8 ++++++-- src/Notepad3.c | 12 ++++++++++++ src/Notepad3.rc | 4 ++-- src/VersionEx.h | 4 ++-- 4 files changed, 22 insertions(+), 6 deletions(-) diff --git a/src/Helpers.h b/src/Helpers.h index e7d990014..b7e487bac 100644 --- a/src/Helpers.h +++ b/src/Helpers.h @@ -155,8 +155,12 @@ LRESULT SendWMSize(HWND); BOOL IsCmdEnabled(HWND, UINT); -#define EnableCmd(hmenu,id,b) EnableMenuItem(hmenu,id,(b)?MF_BYCOMMAND|MF_ENABLED:MF_BYCOMMAND|MF_GRAYED) -#define CheckCmd(hmenu,id,b) CheckMenuItem(hmenu,id,(b)?MF_BYCOMMAND|MF_CHECKED:MF_BYCOMMAND|MF_UNCHECKED) +#define EnableCmd(hmenu,id,b) EnableMenuItem((hmenu),(id),(b)?MF_BYCOMMAND|MF_ENABLED:MF_BYCOMMAND|MF_GRAYED) +#define CheckCmd(hmenu,id,b) CheckMenuItem((hmenu),(id),(b)?MF_BYCOMMAND|MF_CHECKED:MF_BYCOMMAND|MF_UNCHECKED) + +#define EnableCmdPos(hmenu,pos,b) EnableMenuItem((hmenu),(pos),(b)?MF_BYPOSITION|MF_ENABLED:MF_BYPOSITION|MF_GRAYED) +#define CheckCmdPos(hmenu,pos,b) CheckMenuItem((hmenu),(pos),(b)?MF_BYPOSITION|MF_CHECKED:MF_BYPOSITION|MF_UNCHECKED) + #define DialogEnableWindow(hdlg, id, b) { HWND hctrl = GetDlgItem((hdlg),(id)); if (!(b)) { \ if (GetFocus() == hctrl) { SendMessage((hdlg), WM_NEXTDLGCTL, 0, FALSE); } }; EnableWindow(hctrl, (b)); } diff --git a/src/Notepad3.c b/src/Notepad3.c index 8a8c912bc..94a430b6e 100644 --- a/src/Notepad3.c +++ b/src/Notepad3.c @@ -4330,6 +4330,12 @@ LRESULT MsgCommand(HWND hwnd, WPARAM wParam, LPARAM lParam) if (bMarkOccurrencesMatchWords) { bMarkOccurrencesCurrentWord = FALSE; } + if (bMarkOccurrencesMatchWords || bMarkOccurrencesCurrentWord) { + CheckCmdPos(GetSubMenu(GetSubMenu(GetMenu(g_hwndMain), 2), 17), 5, TRUE); + } + else { + CheckCmdPos(GetSubMenu(GetSubMenu(GetMenu(g_hwndMain), 2), 17), 5, FALSE); + } EditClearAllMarks(g_hwndEdit, 0, -1); MarkAllOccurrences(0); break; @@ -4339,6 +4345,12 @@ LRESULT MsgCommand(HWND hwnd, WPARAM wParam, LPARAM lParam) if (bMarkOccurrencesCurrentWord) { bMarkOccurrencesMatchWords = FALSE; } + if (bMarkOccurrencesMatchWords || bMarkOccurrencesCurrentWord) { + CheckCmdPos(GetSubMenu(GetSubMenu(GetMenu(g_hwndMain), 2), 17), 5, TRUE); + } + else { + CheckCmdPos(GetSubMenu(GetSubMenu(GetMenu(g_hwndMain), 2), 17), 5, FALSE); + } EditClearAllMarks(g_hwndEdit, 0, -1); MarkAllOccurrences(0); break; diff --git a/src/Notepad3.rc b/src/Notepad3.rc index b7aa3cdfb..7f210b648 100644 --- a/src/Notepad3.rc +++ b/src/Notepad3.rc @@ -300,7 +300,7 @@ BEGIN MENUITEM "Hyperlink Hotspots\tCtrl+Alt+H", IDM_VIEW_HYPERLINKHOTSPOTS MENUITEM "Visual &Brace Matching\tCtrl+Shift+V", IDM_VIEW_MATCHBRACES MENUITEM "Highlight C&urrent Line\tCtrl+Shift+I", IDM_VIEW_HILITECURRENTLINE - POPUP "Mar&k Occurrences" + POPUP "Mark &Occurrences" BEGIN MENUITEM "&Active", IDM_VIEW_MARKOCCUR_ONOFF MENUITEM SEPARATOR @@ -310,7 +310,7 @@ BEGIN POPUP "Match &Whole Word Only" BEGIN MENUITEM "Match &Selected Word", IDM_VIEW_MARKOCCUR_WORD - MENUITEM "Match Cu&rrent Word", IDM_VIEW_MARKOCCUR_CURRENT + MENUITEM "Match &Current Word", IDM_VIEW_MARKOCCUR_CURRENT END END MENUITEM SEPARATOR diff --git a/src/VersionEx.h b/src/VersionEx.h index 4c968c78d..96e0da613 100644 --- a/src/VersionEx.h +++ b/src/VersionEx.h @@ -5,7 +5,7 @@ // ////////////////////////////////////////////////////////// #define VERSION_MAJOR 3 #define VERSION_MINOR 18 -#define VERSION_REV 105 -#define VERSION_BUILD 802 +#define VERSION_REV 106 +#define VERSION_BUILD 808 #define SCINTILLA_VER 402 #define ONIGMO_REGEX_VER 6.1.3