forked from qt-creator/qt-creator
Locator: Fix handling of prefix with empty input
For example: "f ", "m ".
Broken by b6e4e966f4
.
Change-Id: Ic1e389c52579c86479e2c066eadfb4aaf4b66700
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
This commit is contained in:
committed by
Orgad Shaneh
parent
98cb40903b
commit
16b1430d2a
@@ -464,25 +464,27 @@ void LocatorWidget::showPopupNow()
|
|||||||
|
|
||||||
QList<ILocatorFilter *> LocatorWidget::filtersFor(const QString &text, QString &searchText)
|
QList<ILocatorFilter *> LocatorWidget::filtersFor(const QString &text, QString &searchText)
|
||||||
{
|
{
|
||||||
const QString trimmedText = text.trimmed();
|
const int length = text.size();
|
||||||
QList<ILocatorFilter *> filters = m_locatorPlugin->filters();
|
int firstNonSpace;
|
||||||
const int whiteSpace = trimmedText.indexOf(QLatin1Char(' '));
|
for (firstNonSpace = 0; firstNonSpace < length; ++firstNonSpace) {
|
||||||
QString prefix;
|
if (!text.at(firstNonSpace).isSpace())
|
||||||
if (whiteSpace >= 0)
|
break;
|
||||||
prefix = trimmedText.left(whiteSpace);
|
}
|
||||||
if (!prefix.isEmpty()) {
|
const int whiteSpace = text.indexOf(QChar::Space, firstNonSpace);
|
||||||
prefix = prefix.toLower();
|
const QList<ILocatorFilter *> filters = m_locatorPlugin->filters();
|
||||||
|
if (whiteSpace >= 0) {
|
||||||
|
const QString prefix = text.mid(firstNonSpace, whiteSpace - firstNonSpace).toLower();
|
||||||
QList<ILocatorFilter *> prefixFilters;
|
QList<ILocatorFilter *> prefixFilters;
|
||||||
foreach (ILocatorFilter *filter, filters) {
|
foreach (ILocatorFilter *filter, filters) {
|
||||||
if (prefix == filter->shortcutString()) {
|
if (prefix == filter->shortcutString()) {
|
||||||
searchText = trimmedText.mid(whiteSpace).trimmed();
|
searchText = text.mid(whiteSpace).trimmed();
|
||||||
prefixFilters << filter;
|
prefixFilters << filter;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!prefixFilters.isEmpty())
|
if (!prefixFilters.isEmpty())
|
||||||
return prefixFilters;
|
return prefixFilters;
|
||||||
}
|
}
|
||||||
searchText = trimmedText;
|
searchText = text.trimmed();
|
||||||
QList<ILocatorFilter *> activeFilters;
|
QList<ILocatorFilter *> activeFilters;
|
||||||
foreach (ILocatorFilter *filter, filters)
|
foreach (ILocatorFilter *filter, filters)
|
||||||
if (filter->isIncludedByDefault())
|
if (filter->isIncludedByDefault())
|
||||||
|
Reference in New Issue
Block a user