Added missing build dependency to control file and fixed connection handling in gui.
[jenirok] / src / gui / resultwindow.cpp
index 11e6fc1..605ecb1 100644 (file)
 #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_)
@@ -55,6 +61,7 @@ void ResultWindow::search(SearchDialog::SearchDetails& details)
     if(!eniro_)
     {
         eniro_ = new Eniro(selectedSite, this);
+        eniro_->setTimeout(REQUEST_TIMEOUT);
 
         connect(eniro_, SIGNAL(resultAvailable(Eniro::Result const&,
                                                Eniro::SearchDetails const&)),
@@ -96,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));
 
@@ -143,7 +157,14 @@ void ResultWindow::requestFinished(QVector <Eniro::Result> const& results,
 
     if(error)
     {
-        QMessageBox::critical(this, tr("Error"), eniro_->errorString());
+        QString errorString = eniro_->errorString();
+
+        if(errorString.isEmpty())
+        {
+            errorString = tr("Unknown error");
+        }
+
+        QMessageBox::critical(this, tr("Error"), errorString);
     }
 
     if(results.size() == 0)