aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/texteditor/basefilefind.cpp
diff options
context:
space:
mode:
authorOrgad Shaneh <orgad.shaneh@audiocodes.com>2015-11-30 23:14:41 +0200
committerOrgad Shaneh <orgads@gmail.com>2016-01-25 14:43:00 +0000
commit6fee5a88f37af0e58d2a44d12b0ef51d7771c459 (patch)
treebbbd6b14d4322ad0cecb08815a898ba4d83f74c8 /src/plugins/texteditor/basefilefind.cpp
parent96a445812186afb3cbe604ff3ac146ba3ac14d3e (diff)
Git: Support Git Grep
Task-number: QTCREATORBUG-3556 Change-Id: Ieca1bdaa39281a2e085340f045e5a48b875f7967 Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
Diffstat (limited to 'src/plugins/texteditor/basefilefind.cpp')
-rw-r--r--src/plugins/texteditor/basefilefind.cpp35
1 files changed, 23 insertions, 12 deletions
diff --git a/src/plugins/texteditor/basefilefind.cpp b/src/plugins/texteditor/basefilefind.cpp
index a8c995f76b..b5077262ed 100644
--- a/src/plugins/texteditor/basefilefind.cpp
+++ b/src/plugins/texteditor/basefilefind.cpp
@@ -24,7 +24,6 @@
****************************************************************************/
#include "basefilefind.h"
-#include "basefilefind_p.h"
#include "textdocument.h"
#include <aggregation/aggregate.h>
@@ -59,6 +58,13 @@ using namespace Core;
namespace TextEditor {
namespace Internal {
+class CountingLabel : public QLabel
+{
+public:
+ CountingLabel();
+ void updateCount(int count);
+};
+
class BaseFileFindPrivate
{
public:
@@ -168,17 +174,7 @@ void BaseFileFind::runSearch(SearchResult *search)
watcher->setPendingResultsLimit(1);
connect(watcher, &QFutureWatcherBase::resultReadyAt, this, &BaseFileFind::displayResult);
connect(watcher, &QFutureWatcherBase::finished, this, &BaseFileFind::searchFinished);
- if (parameters.flags & FindRegularExpression) {
- watcher->setFuture(Utils::findInFilesRegExp(parameters.text,
- files(parameters.nameFilters, parameters.additionalParameters),
- textDocumentFlagsForFindFlags(parameters.flags),
- TextDocument::openedTextDocumentContents()));
- } else {
- watcher->setFuture(Utils::findInFiles(parameters.text,
- files(parameters.nameFilters, parameters.additionalParameters),
- textDocumentFlagsForFindFlags(parameters.flags),
- TextDocument::openedTextDocumentContents()));
- }
+ watcher->setFuture(executeSearch(parameters));
FutureProgress *progress =
ProgressManager::addTask(watcher->future(), tr("Searching"), Constants::TASK_SEARCH);
progress->setWidget(label);
@@ -427,6 +423,20 @@ QVariant BaseFileFind::getAdditionalParameters(SearchResult *search)
return search->userData().value<FileFindParameters>().additionalParameters;
}
+QFuture<FileSearchResultList> BaseFileFind::executeSearch(const FileFindParameters &parameters)
+{
+ auto func = parameters.flags & FindRegularExpression
+ ? Utils::findInFilesRegExp
+ : Utils::findInFiles;
+
+ return func(parameters.text,
+ files(parameters.nameFilters, parameters.additionalParameters),
+ textDocumentFlagsForFindFlags(parameters.flags),
+ TextDocument::openedTextDocumentContents());
+}
+
+namespace Internal {
+
CountingLabel::CountingLabel()
{
setAlignment(Qt::AlignCenter);
@@ -444,4 +454,5 @@ void CountingLabel::updateCount(int count)
setText(tr("%1 found").arg(count));
}
+} // namespace Internal
} // namespace TextEditor