Fixed doubling google translations
[mdictionary] / trunk / src / base / backbone / backbone.cpp
index 6f55e4d..a1e8917 100644 (file)
@@ -516,6 +516,11 @@ void Backbone::searchHtml(QList<Translation *> translations) {
     foreach(Translation* tr, translations) {
         if(containsDict(tr->dict()) || !tr->dict())
             dummy.append(TranslationPtr(tr));
+        foreach(CommonDictInterface* dict, activeDicts()) {
+            Translation* trans = dict->getTranslationFor(tr->key());
+            if(trans)
+                dummy.append(TranslationPtr(trans));
+        }
   }
 
    _innerHtmlResult = QtConcurrent::mapped(dummy,
@@ -528,8 +533,11 @@ void Backbone::searchHtml(QList<Translation *> translations) {
 void Backbone::htmlTranslationReady() {
 
     QFutureIterator<QString> it(_innerHtmlResult);
+    QSet<QString> uniqe;
     while(it.hasNext())
-       _htmlResult.append(it.next());
+        uniqe.insert(it.next());
+    _htmlResult.clear();
+    _htmlResult = uniqe.toList();
 
     if(!stopped)
         Q_EMIT htmlReady();