From 640585b824abfcd436edb4d2342da08b3103b1e6 Mon Sep 17 00:00:00 2001 From: Bartosz Szatkowski Date: Tue, 10 Aug 2010 08:23:55 +0200 Subject: [PATCH] Changed searching to accept list of words (backbone). --- trunk/src/base/backbone/backbone.cpp | 15 ++++++++------- trunk/src/base/backbone/backbone.h | 4 ++-- trunk/tests/mDictionaryTests/tst_Backbone.cpp | 9 +++++++-- 3 files changed, 17 insertions(+), 11 deletions(-) diff --git a/trunk/src/base/backbone/backbone.cpp b/trunk/src/base/backbone/backbone.cpp index dc29fde..0278b2e 100644 --- a/trunk/src/base/backbone/backbone.cpp +++ b/trunk/src/base/backbone/backbone.cpp @@ -124,20 +124,21 @@ void Backbone::stopSearching() { -void Backbone::search(QString word) { +void Backbone::search(QStringList words) { _timer.stop(); _result.clear(); _innerResult.clear(); _timer.start(_interval); - foreach(CommonDictInterface* dict, _dicts.keys()) - if(_dicts[dict] == 1) { - QFuture > tr = - QtConcurrent::run(dict, + foreach(QString word, words) + foreach(CommonDictInterface* dict, _dicts.keys()) + if(_dicts[dict] == 1) { + QFuture > tr = + QtConcurrent::run(dict, &CommonDictInterface::searchWordList,word, searchLimit()); - _innerResult.append(tr); - } + _innerResult.append(tr); + } } diff --git a/trunk/src/base/backbone/backbone.h b/trunk/src/base/backbone/backbone.h index 3ddcaf7..20c1bcc 100644 --- a/trunk/src/base/backbone/backbone.h +++ b/trunk/src/base/backbone/backbone.h @@ -82,9 +82,9 @@ public Q_SLOTS: void stopSearching(); /*! search for a word translation - \param word word to be translated + \param word list of words to be translated */ - void search(QString word); + void search(QStringList word); /*! sets active dictionaries (searches are performed only in active dicts \param List of dictionaris to be activated diff --git a/trunk/tests/mDictionaryTests/tst_Backbone.cpp b/trunk/tests/mDictionaryTests/tst_Backbone.cpp index 43f2ec4..1867828 100644 --- a/trunk/tests/mDictionaryTests/tst_Backbone.cpp +++ b/trunk/tests/mDictionaryTests/tst_Backbone.cpp @@ -169,7 +169,10 @@ void BackboneTest::searchTest() { } qDebug() << "main " << this->thread()->currentThreadId(); - back->search("pigwa"); + QStringList list; + list << "pigwa"; + + back->search(list); usleep(2000); for(int i = 0; i < total; i++) { @@ -189,7 +192,9 @@ void BackboneTest::translationTest() { QTime time; time.start(); - back->search("nic"); + QStringList list; + list << "nic"; + back->search(list); qDebug() << "Time for backbone.search: " << time.elapsed(); usleep(2000); time.start(); -- 1.7.9.5