diff --git a/src/plugins/coreplugin/locator/externaltoolsfilter.cpp b/src/plugins/coreplugin/locator/externaltoolsfilter.cpp index c3d2d1705c2..308a378995f 100644 --- a/src/plugins/coreplugin/locator/externaltoolsfilter.cpp +++ b/src/plugins/coreplugin/locator/externaltoolsfilter.cpp @@ -83,58 +83,4 @@ LocatorMatcherTasks ExternalToolsFilter::matchers() return {{Sync(onSetup), storage}}; } -QList ExternalToolsFilter::matchesFor(QFutureInterface &, - const QString &) -{ - return m_results; -} - -void ExternalToolsFilter::prepareSearch(const QString &entry) -{ - QList bestEntries; - QList betterEntries; - QList goodEntries; - const Qt::CaseSensitivity entryCaseSensitivity = caseSensitivity(entry); - const QMap externalToolsById = ExternalToolManager::toolsById(); - for (ExternalTool *tool : externalToolsById) { - int index = tool->displayName().indexOf(entry, 0, entryCaseSensitivity); - LocatorFilterEntry::HighlightInfo::DataType hDataType = LocatorFilterEntry::HighlightInfo::DisplayName; - if (index < 0) { - index = tool->description().indexOf(entry, 0, entryCaseSensitivity); - hDataType = LocatorFilterEntry::HighlightInfo::ExtraInfo; - } - - if (index >= 0) { - LocatorFilterEntry filterEntry; - filterEntry.displayName = tool->displayName(); - filterEntry.acceptor = [tool] { - auto runner = new ExternalToolRunner(tool); - if (runner->hasError()) - MessageManager::writeFlashing(runner->errorString()); - return AcceptResult(); - }; - filterEntry.extraInfo = tool->description(); - filterEntry.highlightInfo = LocatorFilterEntry::HighlightInfo(index, entry.length(), hDataType); - - if (filterEntry.displayName.startsWith(entry, entryCaseSensitivity)) - bestEntries.append(filterEntry); - else if (filterEntry.displayName.contains(entry, entryCaseSensitivity)) - betterEntries.append(filterEntry); - else - goodEntries.append(filterEntry); - } - } - LocatorFilterEntry configEntry; - configEntry.displayName = "Configure External Tool..."; - configEntry.extraInfo = "Opens External Tool settings"; - configEntry.acceptor = [] { - QMetaObject::invokeMethod(CorePlugin::instance(), [] { - ICore::showOptionsDialog(Constants::SETTINGS_ID_TOOLS); - }, Qt::QueuedConnection); - return AcceptResult(); - }; - m_results = {}; - m_results << bestEntries << betterEntries << goodEntries << configEntry; -} - } // Core::Internal diff --git a/src/plugins/coreplugin/locator/externaltoolsfilter.h b/src/plugins/coreplugin/locator/externaltoolsfilter.h index 74c83112b50..bc8fca6e705 100644 --- a/src/plugins/coreplugin/locator/externaltoolsfilter.h +++ b/src/plugins/coreplugin/locator/externaltoolsfilter.h @@ -5,23 +5,15 @@ #include "ilocatorfilter.h" -namespace Core { -namespace Internal { +namespace Core::Internal { class ExternalToolsFilter : public ILocatorFilter { - Q_OBJECT public: ExternalToolsFilter(); - void prepareSearch(const QString &entry) override; - QList matchesFor(QFutureInterface &future, - const QString &entry) override; private: LocatorMatcherTasks matchers() final; - - QList m_results; }; -} // namespace Internal -} // namespace Core +} // namespace Core::Internal