ExternalToolsFilter: Remove the old matchesFor() implementation

Change-Id: I79e81103b0200ea9da56ecb84980e1814a01f2f1
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
This commit is contained in:
Jarek Kobus
2023-04-24 21:19:49 +02:00
parent 7ce40a7691
commit c8ae479a23
2 changed files with 2 additions and 64 deletions

View File

@@ -83,58 +83,4 @@ LocatorMatcherTasks ExternalToolsFilter::matchers()
return {{Sync(onSetup), storage}};
}
QList<LocatorFilterEntry> ExternalToolsFilter::matchesFor(QFutureInterface<LocatorFilterEntry> &,
const QString &)
{
return m_results;
}
void ExternalToolsFilter::prepareSearch(const QString &entry)
{
QList<LocatorFilterEntry> bestEntries;
QList<LocatorFilterEntry> betterEntries;
QList<LocatorFilterEntry> goodEntries;
const Qt::CaseSensitivity entryCaseSensitivity = caseSensitivity(entry);
const QMap<QString, ExternalTool *> 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

View File

@@ -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<LocatorFilterEntry> matchesFor(QFutureInterface<LocatorFilterEntry> &future,
const QString &entry) override;
private:
LocatorMatcherTasks matchers() final;
QList<LocatorFilterEntry> m_results;
};
} // namespace Internal
} // namespace Core
} // namespace Core::Internal