From ca576a0224feca6b2182957fd340d6a577543b9d Mon Sep 17 00:00:00 2001 From: ge0rdi Date: Sun, 18 Oct 2020 09:48:02 +0200 Subject: [PATCH] Display Modern settings search results above Control Panel ones (Modern) Settings are just more and more important in Windows 10. So it makes sense to show their search results first. Fixes #481. --- Src/StartMenu/StartMenuDLL/MenuContainer.cpp | 36 ++++++++++---------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/Src/StartMenu/StartMenuDLL/MenuContainer.cpp b/Src/StartMenu/StartMenuDLL/MenuContainer.cpp index 2f9efb2..c4969c0 100644 --- a/Src/StartMenu/StartMenuDLL/MenuContainer.cpp +++ b/Src/StartMenu/StartMenuDLL/MenuContainer.cpp @@ -2768,18 +2768,18 @@ bool CMenuContainer::InitSearchItems( void ) if (m_SearchCategoryHash==CSearchManager::CATEGORY_PROGRAM) selectedCount=(int)s_SearchResults.programs.size(); } - if (!s_SearchResults.settings.empty()) - { - counts.push_back((int)s_SearchResults.settings.size()); - if (m_SearchCategoryHash==CSearchManager::CATEGORY_SETTING) - selectedCount=(int)s_SearchResults.settings.size(); - } if (!s_SearchResults.metrosettings.empty()) { counts.push_back((int)s_SearchResults.metrosettings.size()); if (m_SearchCategoryHash==CSearchManager::CATEGORY_METROSETTING) selectedCount=(int)s_SearchResults.metrosettings.size(); } + if (!s_SearchResults.settings.empty()) + { + counts.push_back((int)s_SearchResults.settings.size()); + if (m_SearchCategoryHash==CSearchManager::CATEGORY_SETTING) + selectedCount=(int)s_SearchResults.settings.size(); + } for (std::list::const_iterator it=s_SearchResults.indexed.begin();it!=s_SearchResults.indexed.end();++it) { if (!it->items.empty()) @@ -2829,9 +2829,9 @@ bool CMenuContainer::InitSearchItems( void ) if (idx==0) categoryHash=CSearchManager::CATEGORY_PROGRAM; else if (idx==1) - categoryHash=CSearchManager::CATEGORY_SETTING; - else if (idx==2) categoryHash=CSearchManager::CATEGORY_METROSETTING; + else if (idx==2) + categoryHash=CSearchManager::CATEGORY_SETTING; else categoryHash=it->categoryHash; @@ -2866,16 +2866,6 @@ bool CMenuContainer::InitSearchItems( void ) name=FindTranslation(L"Search.CategoryPrograms",L"Programs"); } else if (idx==1) - { - originalCount=(int)s_SearchResults.settings.size(); - if (count>originalCount) - count=originalCount; - items.reserve(count); - for (std::vector::const_iterator it=s_SearchResults.settings.begin();it!=s_SearchResults.settings.end() && (int)items.size()originalCount) @@ -2885,6 +2875,16 @@ bool CMenuContainer::InitSearchItems( void ) items.push_back(SearchItem(*it)); name=FindTranslation(L"Search.CategoryPCSettings", L"Modern Settings"); } + else if (idx==2) + { + originalCount=(int)s_SearchResults.settings.size(); + if (count>originalCount) + count=originalCount; + items.reserve(count); + for (std::vector::const_iterator it=s_SearchResults.settings.begin();it!=s_SearchResults.settings.end() && (int)items.size()items.size();