X-Git-Url: http://vcs.maemo.org/git/?a=blobdiff_plain;f=src%2Fgui%2Fresultwindow.cpp;h=1a3d954506dc4fe5b1775e4ad8587caea92a43cf;hb=9127dc5e47aee7fa6659f45ae60a9394612f27b1;hp=7c556c61e423d1a752bfe2b0b57da6c19dbf6ea9;hpb=03ad60621cc4818f8f29eada6605064770906983;p=jenirok diff --git a/src/gui/resultwindow.cpp b/src/gui/resultwindow.cpp index 7c556c6..1a3d954 100644 --- a/src/gui/resultwindow.cpp +++ b/src/gui/resultwindow.cpp @@ -16,7 +16,7 @@ * */ -#include +#include #include #include #include @@ -28,12 +28,18 @@ #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 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);