#include "resultwindow.h"
#include "settings.h"
#include "db.h"
+#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_)
if(!eniro_)
{
eniro_ = new Eniro(selectedSite, this);
+ eniro_->setTimeout(REQUEST_TIMEOUT);
connect(eniro_, SIGNAL(resultAvailable(Eniro::Result const&,
Eniro::SearchDetails const&)),
show();
setAttribute(Qt::WA_Maemo5ShowProgressIndicator, true);
+ if(!connectionManager_)
+ {
+ connectionManager_ = new ConnectionManager();
+ }
+
+ connectionManager_->connect();
+
eniro_->abort();
eniro_->search(Eniro::SearchDetails(details.name, details.location, type));
{
Q_UNUSED(details);
+ if(!result.number.isEmpty())
+ {
+ Cache::instance().addItem(result);
+ }
+
QString row = result.name;
if(!result.street.isEmpty())
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)