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); }