From 5399e3ad8cc05170c2d0c5e1bd06496f6c88b672 Mon Sep 17 00:00:00 2001 From: thisismy-github <48284263+thisismy-github@users.noreply.github.com> Date: Thu, 12 Aug 2021 17:32:15 -0400 Subject: [PATCH] Added option to use a custom search hint If set, intercepts the search hint's DrawText function and swaps out the default text for user-defined text. Leaving the text blank results in an empty search box. --- Src/StartMenu/StartMenuDLL/MenuContainer.cpp | 5 ++++- Src/StartMenu/StartMenuDLL/SettingsUI.cpp | 2 ++ Src/StartMenu/StartMenuDLL/StartMenuDLL.rc | 4 ++++ Src/StartMenu/StartMenuDLL/resource.h | 4 ++++ 4 files changed, 14 insertions(+), 1 deletion(-) diff --git a/Src/StartMenu/StartMenuDLL/MenuContainer.cpp b/Src/StartMenu/StartMenuDLL/MenuContainer.cpp index 8fc20af..78915f4 100644 --- a/Src/StartMenu/StartMenuDLL/MenuContainer.cpp +++ b/Src/StartMenu/StartMenuDLL/MenuContainer.cpp @@ -444,7 +444,10 @@ LRESULT CALLBACK CMenuContainer::SubclassSearchBox( HWND hWnd, UINT uMsg, WPARAM SetBkColor(hdc,GetSysColor(COLOR_WINDOW)); SetBkMode(hdc,TRANSPARENT); SetTextColor(hdc,s_Skin.Search_text_colors[1]); - DrawText(hdc,pParent->m_Items[pParent->m_SearchIndex].name,-1,&rc,DT_SINGLELINE|DT_EDITCONTROL|(s_bRTL?DT_RIGHT:DT_LEFT)); + if (GetSettingBool(L"SearchHint")) + DrawText(hdc,GetSettingString(L"SearchHintText"),-1,&rc,DT_SINGLELINE|DT_EDITCONTROL|(s_bRTL?DT_RIGHT:DT_LEFT)); + else + DrawText(hdc,pParent->m_Items[pParent->m_SearchIndex].name,-1,&rc,DT_SINGLELINE|DT_EDITCONTROL|(s_bRTL?DT_RIGHT:DT_LEFT)); SelectObject(hdc,font0); } return res; diff --git a/Src/StartMenu/StartMenuDLL/SettingsUI.cpp b/Src/StartMenu/StartMenuDLL/SettingsUI.cpp index 68eea85..de0b515 100644 --- a/Src/StartMenu/StartMenuDLL/SettingsUI.cpp +++ b/Src/StartMenu/StartMenuDLL/SettingsUI.cpp @@ -4343,6 +4343,8 @@ CSetting g_Settings[]={ {L"Normal",CSetting::TYPE_RADIO,IDS_SEARCH_BOX_SHOW,IDS_SEARCH_BOX_SHOW_TIP}, {L"Tab",CSetting::TYPE_RADIO,IDS_SEARCH_BOX_TAB,IDS_SEARCH_BOX_TAB_TIP}, {L"SearchSelect",CSetting::TYPE_BOOL,IDS_SEARCH_BOX_SEL,IDS_SEARCH_BOX_SEL_TIP,1,0,L"SearchBox=1",L"Normal"}, + {L"SearchHint",CSetting::TYPE_BOOL,IDS_SEARCH_HINT,IDS_SEARCH_HINT_TIP,0,0,L"SearchBox"}, + {L"SearchHintText",CSetting::TYPE_STRING,IDS_NEW_SEARCH_HINT,IDS_NEW_SEARCH_HINT_TIP,L"",0,L"#SearchHint",L"SearchHint"}, {L"SearchTrack",CSetting::TYPE_BOOL,IDS_SEARCH_TRACK,IDS_SEARCH_TRACK_TIP,1,0,L"SearchBox"}, {L"SearchResults",CSetting::TYPE_INT,IDS_SEARCH_MAX2,IDS_SEARCH_MAX_TIP2,5,CSetting::FLAG_MENU_CLASSIC_BOTH,L"SearchBox"}, {L"SearchResultsMax",CSetting::TYPE_INT,IDS_SEARCH_MAX3,IDS_SEARCH_MAX_TIP3,20,CSetting::FLAG_MENU_CLASSIC_BOTH,L"SearchBox"}, diff --git a/Src/StartMenu/StartMenuDLL/StartMenuDLL.rc b/Src/StartMenu/StartMenuDLL/StartMenuDLL.rc index f8b56f6..daf0a68 100644 --- a/Src/StartMenu/StartMenuDLL/StartMenuDLL.rc +++ b/Src/StartMenu/StartMenuDLL/StartMenuDLL.rc @@ -1301,6 +1301,10 @@ BEGIN IDS_NO_DBLCLICK_TIP "When this is checked, single-clicking shortcuts (links) to folders will open them in explorer. Hovering over the shortcut will still expand sub-menus" IDS_BOLD_SETTINGS "Highlight modified settings" IDS_BOLD_SETTINGS_TIP "When this is checked, settings that have been modified from their defaults will be highlighted in bold" + IDS_SEARCH_HINT "Custom search hint" + IDS_SEARCH_HINT_TIP "When this is checked, the hint text in the search box will be replaced" + IDS_NEW_SEARCH_HINT "Custom search hint text" + IDS_NEW_SEARCH_HINT_TIP "The text to replace the search hint with. Empty text is a valid option" END #endif // English (U.S.) resources diff --git a/Src/StartMenu/StartMenuDLL/resource.h b/Src/StartMenu/StartMenuDLL/resource.h index 0d33c1c..1adc21d 100644 --- a/Src/StartMenu/StartMenuDLL/resource.h +++ b/Src/StartMenu/StartMenuDLL/resource.h @@ -764,6 +764,10 @@ #define IDS_NO_DBLCLICK_TIP 3667 #define IDS_BOLD_SETTINGS 3668 #define IDS_BOLD_SETTINGS_TIP 3669 +#define IDS_SEARCH_HINT 3670 +#define IDS_SEARCH_HINT_TIP 3671 +#define IDS_NEW_SEARCH_HINT 3672 +#define IDS_NEW_SEARCH_HINT_TIP 3673 #define IDS_STRING7001 7001 #define IDS_STRING7002 7002 #define IDS_STRING7003 7003