diff options
author | Nikolai Kosjar <nikolai.kosjar@digia.com> | 2013-08-16 11:23:49 +0200 |
---|---|---|
committer | Nikolai Kosjar <nikolai.kosjar@digia.com> | 2013-08-19 11:55:51 +0200 |
commit | e666da622c3a3c7937b75751e1c5d4ddc57be3ba (patch) | |
tree | 581bf3829930e8dc9a44dd13ab9a03a8b5a4a892 /src/plugins/locator/locatorwidget.cpp | |
parent | d45b6d7871a3084684a48239a1265f8775c180ef (diff) |
Locator: Refactor out filter_helper for tests
...and rename it to runSearch.
Change-Id: I12482b62751a234982f41cafb7e63a641012bc30
Reviewed-by: David Schulz <david.schulz@digia.com>
Diffstat (limited to 'src/plugins/locator/locatorwidget.cpp')
-rw-r--r-- | src/plugins/locator/locatorwidget.cpp | 28 |
1 files changed, 3 insertions, 25 deletions
diff --git a/src/plugins/locator/locatorwidget.cpp b/src/plugins/locator/locatorwidget.cpp index 1497b5e60f..fb004d225f 100644 --- a/src/plugins/locator/locatorwidget.cpp +++ b/src/plugins/locator/locatorwidget.cpp @@ -30,6 +30,7 @@ #include "locatorwidget.h" #include "locatorplugin.h" #include "locatorconstants.h" +#include "locatorsearchutils.h" #include "ilocatorfilter.h" #include <coreplugin/coreconstants.h> @@ -130,12 +131,7 @@ private: } // namespace Internal -uint qHash(const FilterEntry &entry) -{ - if (entry.internalData.canConvert(QVariant::String)) - return QT_PREPEND_NAMESPACE(qHash)(entry.internalData.toString()); - return QT_PREPEND_NAMESPACE(qHash)(entry.internalData.constData()); -} + } // namespace Locator @@ -491,24 +487,6 @@ QList<ILocatorFilter*> LocatorWidget::filtersFor(const QString &text, QString &s return activeFilters; } -static void filter_helper(QFutureInterface<Locator::FilterEntry> &entries, QList<ILocatorFilter *> filters, QString searchText) -{ - QSet<FilterEntry> alreadyAdded; - const bool checkDuplicates = (filters.size() > 1); - foreach (ILocatorFilter *filter, filters) { - if (entries.isCanceled()) - break; - - foreach (const FilterEntry &entry, filter->matchesFor(entries, searchText)) { - if (checkDuplicates && alreadyAdded.contains(entry)) - continue; - entries.reportResult(entry); - if (checkDuplicates) - alreadyAdded.insert(entry); - } - } -} - void LocatorWidget::updateCompletionList(const QString &text) { m_updateRequested = true; @@ -519,7 +497,7 @@ void LocatorWidget::updateCompletionList(const QString &text) m_entriesWatcher->future().cancel(); m_entriesWatcher->future().waitForFinished(); - QFuture<FilterEntry> future = QtConcurrent::run(filter_helper, filters, searchText); + QFuture<FilterEntry> future = QtConcurrent::run(runSearch, filters, searchText); m_entriesWatcher->setFuture(future); } |