diff options
Diffstat (limited to 'src/plugins')
-rw-r--r-- | src/plugins/cpptools/cppfunctionsfilter.h | 2 | ||||
-rw-r--r-- | src/plugins/locator/locatorfiltersfilter.cpp | 32 | ||||
-rw-r--r-- | src/plugins/qmljstools/qmljsfunctionfilter.h | 2 |
3 files changed, 22 insertions, 14 deletions
diff --git a/src/plugins/cpptools/cppfunctionsfilter.h b/src/plugins/cpptools/cppfunctionsfilter.h index 6f3b57ba67..51bafa2bde 100644 --- a/src/plugins/cpptools/cppfunctionsfilter.h +++ b/src/plugins/cpptools/cppfunctionsfilter.h @@ -46,7 +46,7 @@ public: CppFunctionsFilter(CppModelManager *manager); ~CppFunctionsFilter(); - QString displayName() const { return tr("Methods"); } + QString displayName() const { return tr("Methods and functions"); } QString id() const { return QLatin1String("Methods"); } Priority priority() const { return Medium; } }; diff --git a/src/plugins/locator/locatorfiltersfilter.cpp b/src/plugins/locator/locatorfiltersfilter.cpp index 9dd6c00c30..baef7ff949 100644 --- a/src/plugins/locator/locatorfiltersfilter.cpp +++ b/src/plugins/locator/locatorfiltersfilter.cpp @@ -69,20 +69,28 @@ ILocatorFilter::Priority LocatorFiltersFilter::priority() const QList<FilterEntry> LocatorFiltersFilter::matchesFor(QFutureInterface<Locator::FilterEntry> &future, const QString &entry) { QList<FilterEntry> entries; - if (entry.isEmpty()) { - foreach (ILocatorFilter *filter, m_plugin->filters()) { - if (future.isCanceled()) - break; - if (!filter->shortcutString().isEmpty() && !filter->isHidden()) { - FilterEntry filterEntry(this, - filter->shortcutString(), - QVariant::fromValue(filter), - m_icon); - filterEntry.extraInfo = filter->displayName(); - entries.append(filterEntry); - } + if (!entry.isEmpty()) + return entries; + + QMap<QString, ILocatorFilter*> uniqueFilters; + foreach (ILocatorFilter *filter, m_plugin->filters()) { + const QString filterId = filter->shortcutString() + QLatin1Char(',') + filter->displayName(); + uniqueFilters.insert(filterId, filter); + } + + foreach (ILocatorFilter *filter, uniqueFilters) { + if (future.isCanceled()) + break; + if (!filter->shortcutString().isEmpty() && !filter->isHidden()) { + FilterEntry filterEntry(this, + filter->shortcutString(), + QVariant::fromValue(filter), + m_icon); + filterEntry.extraInfo = filter->displayName(); + entries.append(filterEntry); } } + return entries; } diff --git a/src/plugins/qmljstools/qmljsfunctionfilter.h b/src/plugins/qmljstools/qmljsfunctionfilter.h index ccf9db8447..1e1f2bb8ee 100644 --- a/src/plugins/qmljstools/qmljsfunctionfilter.h +++ b/src/plugins/qmljstools/qmljsfunctionfilter.h @@ -47,7 +47,7 @@ public: explicit FunctionFilter(LocatorData *data, QObject *parent = 0); ~FunctionFilter(); - QString displayName() const { return tr("Functions"); } + QString displayName() const { return tr("Methods and functions"); } QString id() const { return QLatin1String("Functions"); } Priority priority() const { return Medium; } QList<Locator::FilterEntry> matchesFor(QFutureInterface<Locator::FilterEntry> &future, const QString &entry); |