From be82a24a49eb348cc90168118a62294dac60a5ae Mon Sep 17 00:00:00 2001 From: Orgad Shaneh Date: Wed, 3 Feb 2016 10:24:28 +0200 Subject: [PATCH] Core: Sort find filters by name Change-Id: I8975b474cf8c009e5a634464a451ef922adb02ec Reviewed-by: Eike Ziller --- src/plugins/coreplugin/find/findplugin.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/plugins/coreplugin/find/findplugin.cpp b/src/plugins/coreplugin/find/findplugin.cpp index 247ffb7d9c1..276bd6025eb 100644 --- a/src/plugins/coreplugin/find/findplugin.cpp +++ b/src/plugins/coreplugin/find/findplugin.cpp @@ -43,6 +43,7 @@ #include +#include #include #include @@ -229,15 +230,17 @@ void FindPlugin::setupMenu() void FindPlugin::setupFilterMenuItems() { - QList findInterfaces = - ExtensionSystem::PluginManager::getObjects(); + QList findInterfaces = ExtensionSystem::PluginManager::getObjects(); Command *cmd; ActionContainer *mfindadvanced = ActionManager::actionContainer(Constants::M_FIND_ADVANCED); d->m_filterActions.clear(); bool haveEnabledFilters = false; const Id base("FindFilter."); - foreach (IFindFilter *filter, findInterfaces) { + QList sortedFilters = findInterfaces; + Utils::sort(sortedFilters, [](IFindFilter *a, IFindFilter *b) -> bool + { return a->displayName() < b->displayName(); }); + foreach (IFindFilter *filter, sortedFilters) { QAction *action = new QAction(QLatin1String(" ") + filter->displayName(), this); bool isEnabled = filter->isEnabled(); if (isEnabled) @@ -253,7 +256,7 @@ void FindPlugin::setupFilterMenuItems() connect(filter, &IFindFilter::enabledChanged, this, &FindPlugin::filterChanged); connect(filter, &IFindFilter::displayNameChanged, this, &FindPlugin::displayNameChanged); } - d->m_findDialog->setFindFilters(findInterfaces); + d->m_findDialog->setFindFilters(sortedFilters); d->m_openFindDialog->setEnabled(haveEnabledFilters); }