mirror of
https://github.com/Open-Shell/Open-Shell-Menu.git
synced 2026-04-11 17:37:22 +10:00
Added option to hide "see more results" in search
Hides the item in both start menu styles and adjusts search height to ensure the empty space is used. Partially fixes #660, but currently does not honor group policy settings.
This commit is contained in:
committed by
Ibuprophen
parent
5399e3ad8c
commit
be8568ce00
@@ -335,6 +335,7 @@ bool CMenuContainer::s_bDragMovable;
|
|||||||
bool CMenuContainer::s_bRightDrag;
|
bool CMenuContainer::s_bRightDrag;
|
||||||
bool CMenuContainer::s_bLockWorkArea;
|
bool CMenuContainer::s_bLockWorkArea;
|
||||||
bool CMenuContainer::s_bPendingSearchEnter;
|
bool CMenuContainer::s_bPendingSearchEnter;
|
||||||
|
bool CMenuContainer::s_bMoreResults;
|
||||||
std::vector<CMenuContainer*> CMenuContainer::s_Menus;
|
std::vector<CMenuContainer*> CMenuContainer::s_Menus;
|
||||||
volatile HWND CMenuContainer::s_FirstMenu, CMenuContainer::s_SearchMenu;
|
volatile HWND CMenuContainer::s_FirstMenu, CMenuContainer::s_SearchMenu;
|
||||||
CSearchManager::SearchResults CMenuContainer::s_SearchResults;
|
CSearchManager::SearchResults CMenuContainer::s_SearchResults;
|
||||||
@@ -2745,9 +2746,9 @@ bool CMenuContainer::InitSearchItems( void )
|
|||||||
{
|
{
|
||||||
sepHeight=s_Skin.ItemSettings[s_Skin.More_bitmap_Size.cx?MenuSkin::LIST_SEPARATOR_SPLIT:MenuSkin::LIST_SEPARATOR].itemHeight;
|
sepHeight=s_Skin.ItemSettings[s_Skin.More_bitmap_Size.cx?MenuSkin::LIST_SEPARATOR_SPLIT:MenuSkin::LIST_SEPARATOR].itemHeight;
|
||||||
itemHeight=s_Skin.ItemSettings[MenuSkin::LIST_ITEM].itemHeight;
|
itemHeight=s_Skin.ItemSettings[MenuSkin::LIST_ITEM].itemHeight;
|
||||||
// total height minus the search box and the "more results"/"search internet"
|
// total height minus the search box and the "more results"/"search internet", if present
|
||||||
maxHeight=m_Items[m_SearchIndex].itemRect.top-s_Skin.Main_search_padding.top-s_Skin.Search_padding.top;
|
maxHeight=m_Items[m_SearchIndex].itemRect.top-s_Skin.Main_search_padding.top-s_Skin.Search_padding.top;
|
||||||
maxHeight-=itemHeight*(m_SearchItemCount-1);
|
maxHeight-=itemHeight*(m_SearchItemCount-(s_bMoreResults?1:2));
|
||||||
if (!s_SearchResults.bSearching && !HasMoreResults())
|
if (!s_SearchResults.bSearching && !HasMoreResults())
|
||||||
maxHeight+=itemHeight;
|
maxHeight+=itemHeight;
|
||||||
}
|
}
|
||||||
@@ -2941,25 +2942,28 @@ bool CMenuContainer::InitSearchItems( void )
|
|||||||
if (s_bWin7Style)
|
if (s_bWin7Style)
|
||||||
{
|
{
|
||||||
UpdateAccelerators(m_OriginalCount,(int)m_Items.size());
|
UpdateAccelerators(m_OriginalCount,(int)m_Items.size());
|
||||||
MenuItem &item=m_Items[m_SearchIndex-m_SearchItemCount+1];
|
if (s_bMoreResults)
|
||||||
if (s_SearchResults.bSearching)
|
|
||||||
{
|
{
|
||||||
item.id=MENU_SEARCH_EMPTY;
|
MenuItem &item=m_Items[m_SearchIndex-m_SearchItemCount+1];
|
||||||
item.name=FindTranslation(L"Menu.Searching",L"Searching...");
|
if (s_SearchResults.bSearching)
|
||||||
item.pItemInfo=g_ItemManager.GetCustomIcon(L"imageres.dll,8",CItemManager::ICON_SIZE_TYPE_SMALL);
|
{
|
||||||
}
|
item.id=MENU_SEARCH_EMPTY;
|
||||||
else
|
item.name=FindTranslation(L"Menu.Searching",L"Searching...");
|
||||||
{
|
item.pItemInfo=g_ItemManager.GetCustomIcon(L"imageres.dll,8",CItemManager::ICON_SIZE_TYPE_SMALL);
|
||||||
item.id=MENU_MORE_RESULTS;
|
}
|
||||||
item.name=FindTranslation(L"Menu.MoreResults",L"See more results");
|
else
|
||||||
item.pItemInfo=g_ItemManager.GetCustomIcon(L"imageres.dll,177",CItemManager::ICON_SIZE_TYPE_SMALL);
|
{
|
||||||
|
item.id=MENU_MORE_RESULTS;
|
||||||
|
item.name=FindTranslation(L"Menu.MoreResults",L"See more results");
|
||||||
|
item.pItemInfo=g_ItemManager.GetCustomIcon(L"imageres.dll,177",CItemManager::ICON_SIZE_TYPE_SMALL);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
m_ScrollCount=(int)m_Items.size();
|
m_ScrollCount=(int)m_Items.size();
|
||||||
bool bInternet=GetSettingBool(L"SearchInternet");
|
bool bInternet=GetSettingBool(L"SearchInternet");
|
||||||
if (s_SearchResults.bSearching)
|
if (s_bMoreResults && s_SearchResults.bSearching)
|
||||||
{
|
{
|
||||||
MenuItem item(MENU_SEARCH_EMPTY);
|
MenuItem item(MENU_SEARCH_EMPTY);
|
||||||
item.name=FindTranslation(L"Menu.Searching",L"Searching...");
|
item.name=FindTranslation(L"Menu.Searching",L"Searching...");
|
||||||
@@ -2974,7 +2978,7 @@ bool CMenuContainer::InitSearchItems( void )
|
|||||||
item.name=FindTranslation(L"Menu.NoMatch",L"No items match your search.");
|
item.name=FindTranslation(L"Menu.NoMatch",L"No items match your search.");
|
||||||
m_Items.push_back(item);
|
m_Items.push_back(item);
|
||||||
}
|
}
|
||||||
if (HasMoreResults())
|
if (s_bMoreResults && HasMoreResults())
|
||||||
{
|
{
|
||||||
{
|
{
|
||||||
MenuItem item(MENU_SEPARATOR);
|
MenuItem item(MENU_SEPARATOR);
|
||||||
@@ -5062,7 +5066,7 @@ void CMenuContainer::UpdateSearchResults( bool bForceShowAll )
|
|||||||
g_SearchManager.BeginSearch(s_SearchResults.currentString);
|
g_SearchManager.BeginSearch(s_SearchResults.currentString);
|
||||||
s_SearchResults.bSearching=true;
|
s_SearchResults.bSearching=true;
|
||||||
s_bPendingSearchEnter=false;
|
s_bPendingSearchEnter=false;
|
||||||
if (s_bWin7Style)
|
if (s_bWin7Style && s_bMoreResults)
|
||||||
{
|
{
|
||||||
MenuItem &item=m_Items[m_SearchIndex-m_SearchItemCount+1];
|
MenuItem &item=m_Items[m_SearchIndex-m_SearchItemCount+1];
|
||||||
item.id=MENU_SEARCH_EMPTY;
|
item.id=MENU_SEARCH_EMPTY;
|
||||||
@@ -7694,6 +7698,7 @@ HWND CMenuContainer::ToggleStartMenu( int taskbarId, bool bKeyboard, bool bAllPr
|
|||||||
s_bDisableHover=false;
|
s_bDisableHover=false;
|
||||||
s_bDragClosed=false;
|
s_bDragClosed=false;
|
||||||
s_bPendingSearchEnter=false;
|
s_bPendingSearchEnter=false;
|
||||||
|
s_bMoreResults=GetSettingBool(L"MoreResults");
|
||||||
InitTouchHelper();
|
InitTouchHelper();
|
||||||
|
|
||||||
bool bRemote=GetSystemMetrics(SM_REMOTESESSION)!=0;
|
bool bRemote=GetSystemMetrics(SM_REMOTESESSION)!=0;
|
||||||
|
|||||||
@@ -896,6 +896,7 @@ private:
|
|||||||
static bool s_bRightDrag; // dragging with the right mouse button
|
static bool s_bRightDrag; // dragging with the right mouse button
|
||||||
static bool s_bLockWorkArea; // changes to the work area are ignored
|
static bool s_bLockWorkArea; // changes to the work area are ignored
|
||||||
static bool s_bPendingSearchEnter; // Enter was pressed before the search results were ready
|
static bool s_bPendingSearchEnter; // Enter was pressed before the search results were ready
|
||||||
|
static bool s_bMoreResults; // shows the "Show More Results" item at the bottom of searches
|
||||||
static RECT s_MenuLimits; // area of the main monitor accessible to all menus
|
static RECT s_MenuLimits; // area of the main monitor accessible to all menus
|
||||||
static RECT s_MainMenuLimits; // area of the main monitor accessible by the main menu
|
static RECT s_MainMenuLimits; // area of the main monitor accessible by the main menu
|
||||||
static DWORD s_TaskbarState; // the state of the taskbar (ABS_AUTOHIDE and ABS_ALWAYSONTOP)
|
static DWORD s_TaskbarState; // the state of the taskbar (ABS_AUTOHIDE and ABS_ALWAYSONTOP)
|
||||||
|
|||||||
@@ -4359,6 +4359,7 @@ CSetting g_Settings[]={
|
|||||||
{L"SearchContents",CSetting::TYPE_BOOL,IDS_SEARCH_CONTENTS,IDS_SEARCH_CONTENTS_TIP,1,0,L"#SearchFiles",L"SearchFiles"},
|
{L"SearchContents",CSetting::TYPE_BOOL,IDS_SEARCH_CONTENTS,IDS_SEARCH_CONTENTS_TIP,1,0,L"#SearchFiles",L"SearchFiles"},
|
||||||
{L"SearchCategories",CSetting::TYPE_BOOL,IDS_SEARCH_CATEGORIES,IDS_SEARCH_CATEGORIES_TIP,1,0,L"#SearchFiles",L"SearchFiles"},
|
{L"SearchCategories",CSetting::TYPE_BOOL,IDS_SEARCH_CATEGORIES,IDS_SEARCH_CATEGORIES_TIP,1,0,L"#SearchFiles",L"SearchFiles"},
|
||||||
{L"SearchInternet",CSetting::TYPE_BOOL,IDS_SEARCH_INTERNET,IDS_SEARCH_INTERNET_TIP,1,0,L"SearchBox"},
|
{L"SearchInternet",CSetting::TYPE_BOOL,IDS_SEARCH_INTERNET,IDS_SEARCH_INTERNET_TIP,1,0,L"SearchBox"},
|
||||||
|
{L"MoreResults",CSetting::TYPE_BOOL,IDS_MORE_RESULTS,IDS_MORE_RESULTS_TIP,1,0,L"SearchBox"},
|
||||||
|
|
||||||
{L"Look",CSetting::TYPE_GROUP,IDS_LOOK_SETTINGS},
|
{L"Look",CSetting::TYPE_GROUP,IDS_LOOK_SETTINGS},
|
||||||
{L"SmallIconSize",CSetting::TYPE_INT,IDS_SMALL_SIZE_SM,IDS_SMALL_SIZE_SM_TIP,-1,CSetting::FLAG_COLD}, // 16 for DPI<=96, 20 for DPI<=120, 24 otherwise
|
{L"SmallIconSize",CSetting::TYPE_INT,IDS_SMALL_SIZE_SM,IDS_SMALL_SIZE_SM_TIP,-1,CSetting::FLAG_COLD}, // 16 for DPI<=96, 20 for DPI<=120, 24 otherwise
|
||||||
|
|||||||
@@ -1305,6 +1305,8 @@ BEGIN
|
|||||||
IDS_SEARCH_HINT_TIP "When this is checked, the hint text in the search box will be replaced"
|
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 "Custom search hint text"
|
||||||
IDS_NEW_SEARCH_HINT_TIP "The text to replace the search hint with. Empty text is a valid option"
|
IDS_NEW_SEARCH_HINT_TIP "The text to replace the search hint with. Empty text is a valid option"
|
||||||
|
IDS_MORE_RESULTS "Enable ""See more results"" option"
|
||||||
|
IDS_MORE_RESULTS_TIP "When this is checked, the search results will include an option to do a more advanced search"
|
||||||
END
|
END
|
||||||
|
|
||||||
#endif // English (U.S.) resources
|
#endif // English (U.S.) resources
|
||||||
|
|||||||
@@ -768,6 +768,8 @@
|
|||||||
#define IDS_SEARCH_HINT_TIP 3671
|
#define IDS_SEARCH_HINT_TIP 3671
|
||||||
#define IDS_NEW_SEARCH_HINT 3672
|
#define IDS_NEW_SEARCH_HINT 3672
|
||||||
#define IDS_NEW_SEARCH_HINT_TIP 3673
|
#define IDS_NEW_SEARCH_HINT_TIP 3673
|
||||||
|
#define IDS_MORE_RESULTS 3674
|
||||||
|
#define IDS_MORE_RESULTS_TIP 3675
|
||||||
#define IDS_STRING7001 7001
|
#define IDS_STRING7001 7001
|
||||||
#define IDS_STRING7002 7002
|
#define IDS_STRING7002 7002
|
||||||
#define IDS_STRING7003 7003
|
#define IDS_STRING7003 7003
|
||||||
|
|||||||
Reference in New Issue
Block a user