Changed searching to accept list of words (backbone). searching
authorBartosz Szatkowski <bulislaw@linux.com>
Tue, 10 Aug 2010 06:23:55 +0000 (08:23 +0200)
committerBartosz Szatkowski <bulislaw@linux.com>
Tue, 10 Aug 2010 06:23:55 +0000 (08:23 +0200)
trunk/src/base/backbone/backbone.cpp
trunk/src/base/backbone/backbone.h
trunk/tests/mDictionaryTests/tst_Backbone.cpp

index dc29fde..0278b2e 100644 (file)
@@ -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<QList<Translation*> > tr =
-                    QtConcurrent::run(dict,
+    foreach(QString word, words)
+        foreach(CommonDictInterface* dict, _dicts.keys())
+            if(_dicts[dict] == 1) {
+                QFuture<QList<Translation*> > tr =
+                        QtConcurrent::run(dict,
                                       &CommonDictInterface::searchWordList,word,
                                                              searchLimit());
-            _innerResult.append(tr);
-        }
+                _innerResult.append(tr);
+            }
 
 }
 
index 3ddcaf7..20c1bcc 100644 (file)
@@ -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
index 43f2ec4..1867828 100644 (file)
@@ -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();