aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/locator/locatorwidget.cpp
diff options
context:
space:
mode:
authorNikolai Kosjar <nikolai.kosjar@digia.com>2013-08-16 11:23:49 +0200
committerNikolai Kosjar <nikolai.kosjar@digia.com>2013-08-19 11:55:51 +0200
commite666da622c3a3c7937b75751e1c5d4ddc57be3ba (patch)
tree581bf3829930e8dc9a44dd13ab9a03a8b5a4a892 /src/plugins/locator/locatorwidget.cpp
parentd45b6d7871a3084684a48239a1265f8775c180ef (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.cpp28
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);
}