Fixed problems with special html characters and entities in Norwegian version.
[jenirok] / src / common / mobil1881.cpp
index ba1907a..37b070e 100644 (file)
@@ -57,15 +57,16 @@ void Mobil1881::search(Source::SearchDetails const& details)
     pendingSearches_.push_back(newData);
 }
 
-void Mobil1881::handleHttpData(int id, QString const& data)
+void Mobil1881::handleHttpData(int id, QByteArray const& data)
 {
+    QString decoded = QString::fromUtf8(data.data());
+
     for(int i = 0; i < pendingSearches_.size(); i++)
     {
         if(pendingSearches_.at(i) && pendingSearches_.at(i)->searchIds.find(id) !=
             pendingSearches_.at(i)->searchIds.end())
         {
-
-            addNumbers(pendingSearches_.at(i), data, i);
+            addNumbers(pendingSearches_.at(i), decoded, i);
             break;
         }
     }
@@ -219,16 +220,19 @@ bool Mobil1881::formatResult(QString& name, QString& number,
                              Source::Result& result)
 {
     name = stripTags(name);
+    name = htmlEntityDecode(name);
     result.name = name.trimmed();
     number = stripTags(number);
     number = cleanUpNumber(number);
     result.number = number.trimmed();
     street = stripTags(street);
+    street = htmlEntityDecode(street);
     city = stripTags(city);
+    city = htmlEntityDecode(city);
     result.street = street.trimmed();
     result.city = city.trimmed();
 
-    if(!result.name.isEmpty() && !result.number.isEmpty())
+    if(!result.name.isEmpty() && (!getFindNumber() || !result.number.isEmpty()))
     {
         return true;
     }