Unnecessary includes removed.
[jenirok] / src / gui / resultwindow.cpp
index 7c556c6..1a3d954 100644 (file)
@@ -16,7 +16,7 @@
  *
  */
 
-#include <QDebug>
+#include <QtCore/QDebug>
 #include <QtCore/QVariant>
 #include <QtCore/QString>
 #include <QtGui/QLabel>
 #include "cache.h"
 
 ResultWindow::ResultWindow(QWidget* parent): QMainWindow(parent),
-eniro_(0), list_(0)
+eniro_(0), list_(0), connectionManager_(0)
 {
     setAttribute(Qt::WA_Maemo5StackedWindow);
     setWindowTitle(tr("Search results"));
 }
 
+ResultWindow::~ResultWindow()
+{
+    delete connectionManager_;
+    connectionManager_ = 0;
+}
+
 void ResultWindow::search(SearchDialog::SearchDetails& details)
 {
     if(!list_)
@@ -97,6 +103,13 @@ void ResultWindow::search(SearchDialog::SearchDetails& details)
     show();
     setAttribute(Qt::WA_Maemo5ShowProgressIndicator, true);
 
+    if(!connectionManager_)
+    {
+        connectionManager_ = new ConnectionManager();
+    }
+
+    connectionManager_->connect();
+
     eniro_->abort();
     eniro_->search(Eniro::SearchDetails(details.name, details.location, type));
 
@@ -144,11 +157,23 @@ void ResultWindow::requestFinished(QVector <Eniro::Result> const& results,
 
     if(error)
     {
-        QString errorString = eniro_->errorString();
+        QString errorString;
+        Eniro::Error error = eniro_->error();
 
-        if(errorString.isEmpty())
+        switch(error)
         {
-            errorString = tr("Unknown error");
+        case Eniro::CONNECTION_FAILURE:
+            errorString = tr("Connection to server failed");
+            break;
+        case Eniro::INVALID_LOGIN:
+            errorString = tr("Invalid login details");
+            break;
+        case Eniro::TIMEOUT:
+            errorString = tr("Request timed out");
+            break;
+        default:
+            errorString = tr("Searching failed:") + " " + eniro_->errorString();
+            break;
         }
 
         QMessageBox::critical(this, tr("Error"), errorString);