forked from qt-creator/qt-creator
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:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user