LocatorFiltersFilter: Use Acceptor for LocatorFilterEntry

Change-Id: I917ce346bf66cb18890d7d055501218d12a2c3ad
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
This commit is contained in:
Jarek Kobus
2023-04-11 18:31:22 +02:00
parent 0c3789726d
commit 9388ab252e
2 changed files with 6 additions and 19 deletions

View File

@@ -60,8 +60,12 @@ QList<LocatorFilterEntry> LocatorFiltersFilter::matchesFor(QFutureInterface<Loca
for (int i = 0; i < m_filterShortcutStrings.size(); ++i) {
if (future.isCanceled())
break;
LocatorFilterEntry filterEntry(this, m_filterShortcutStrings.at(i));
filterEntry.internalData = i;
const QString shortcutString = m_filterShortcutStrings.at(i);
LocatorFilterEntry filterEntry;
filterEntry.displayName = shortcutString;
filterEntry.acceptor = [shortcutString] {
return AcceptResult{shortcutString + ' ', int(shortcutString.size() + 1)};
};
filterEntry.displayIcon = m_icon;
filterEntry.extraInfo = m_filterDisplayNames.at(i);
filterEntry.toolTip = m_filterDescriptions.at(i);
@@ -71,18 +75,4 @@ QList<LocatorFilterEntry> LocatorFiltersFilter::matchesFor(QFutureInterface<Loca
return entries;
}
void LocatorFiltersFilter::accept(const LocatorFilterEntry &selection,
QString *newText, int *selectionStart, int *selectionLength) const
{
Q_UNUSED(selectionLength)
bool ok;
int index = selection.internalData.toInt(&ok);
QTC_ASSERT(ok && index >= 0 && index < m_filterShortcutStrings.size(), return);
const QString shortcutString = m_filterShortcutStrings.at(index);
if (!shortcutString.isEmpty()) {
*newText = shortcutString + ' ';
*selectionStart = shortcutString.length() + 1;
}
}
} // Core::Internal

View File

@@ -27,9 +27,6 @@ public:
void prepareSearch(const QString &entry) override;
QList<LocatorFilterEntry> matchesFor(QFutureInterface<LocatorFilterEntry> &future,
const QString &entry) override;
void accept(const LocatorFilterEntry &selection,
QString *newText, int *selectionStart, int *selectionLength) const override;
private:
QStringList m_filterShortcutStrings;
QStringList m_filterDisplayNames;