Added some sort of Ovi Maps integration. All translations updated.
[jenirok] / src / common / mobil1881.cpp
index e57816d..6bc9deb 100644 (file)
@@ -47,12 +47,28 @@ void Mobil1881::search(Source::SearchDetails const& details)
 {
     resetTimeout();
 
-    int id = sendQuery(details, 1);
-
     SearchData* newData = new SearchData;
     newData->details = details;
-    newData->searchIds.insert(id);
     newData->currentPage = 1;
+    newData->finishedSearches = 0;
+
+    if(details.type == Source::BOTH)
+    {
+        newData->totalSearches = 2;
+        Source::SearchDetails tmpDetails = details;
+        tmpDetails.type = Source::PERSONS;
+        int id1 = sendQuery(tmpDetails, 1);
+        tmpDetails.type = Source::YELLOW_PAGES;
+        int id2 = sendQuery(tmpDetails, 1);
+        newData->searchIds.insert(id1);
+        newData->searchIds.insert(id2);
+    }
+    else
+    {
+        newData->totalSearches = 1;
+        int id = sendQuery(details, 1);
+        newData->searchIds.insert(id);
+    }
 
     pendingSearches_.push_back(newData);
 }
@@ -150,20 +166,21 @@ void Mobil1881::addNumbers(SearchData* searchData,
 
     }
 
+    searchData->finishedSearches++;
+
     if(searchData->results.size() >= maxResults)
     {
         emitRequestFinished(searchData, false, index);
     }
     else
     {
-
         if(data.indexOf("Neste") > 0)
         {
             searchData->currentPage++;
             int id = sendQuery(searchData->details, searchData->currentPage);
             searchData->searchIds.insert(id);
         }
-        else
+        else if(searchData->finishedSearches >= searchData->totalSearches)
         {
             emitRequestFinished(searchData, false, index);
         }
@@ -231,6 +248,7 @@ bool Mobil1881::formatResult(QString& name, QString& number,
     city = htmlEntityDecode(city);
     result.street = street.trimmed();
     result.city = city.trimmed();
+    result.country = "Norway";
 
     if(!result.name.isEmpty() && (!getFindNumber() || !result.number.isEmpty()))
     {