X-Git-Url: https://vcs.maemo.org/git/?a=blobdiff_plain;f=src%2Fdaemon%2Fcalllistener.cpp;h=16ee0d56b3a9c7f2eade4e16c92ae95ed1daba27;hb=3b351b70de898f507f94a3d1b5a6654cfbd32bea;hp=061c83aca30e5415251e390d3c8ed7fe0d5f3b80;hpb=0b5c39a64431b662e3942a0b7cbeb1d59e57ddc1;p=jenirok diff --git a/src/daemon/calllistener.cpp b/src/daemon/calllistener.cpp index 061c83a..16ee0d5 100644 --- a/src/daemon/calllistener.cpp +++ b/src/daemon/calllistener.cpp @@ -37,7 +37,7 @@ namespace QDBusConnection CallListener::systemBus_ = QDBusConnection::systemBus(); -CallListener::CallListener(): eniro_(0), contactManager_(0), box_(0), label_(0) +CallListener::CallListener(): eniro_(0), contactManager_(0), box_(0), label_(0), retries_(-1) { } @@ -124,6 +124,8 @@ void CallListener::search(Eniro::SearchDetails const& details) else { showResult(tr("Searching...")); + retries_ = 0; + currentSearch_ = details; eniro_->search(details); } @@ -146,7 +148,17 @@ void CallListener::requestFinished(QVector const& results, if(error) { qDebug() << "Error: " << eniro_->errorString(); - message = tr("Search failed:") + " " + eniro_->errorString() + "."; + + if(retries_ < NUMBER_OF_RETRIES && retries_ >= 0) + { + retries_++; + eniro_->search(currentSearch_); + return; + } + else + { + message = tr("Search failed:") + " " + eniro_->errorString() + "."; + } } else if(results.size() == 0) { @@ -160,6 +172,8 @@ void CallListener::requestFinished(QVector const& results, Cache::instance().addItem(result); } + retries_ = -1; + timedMessage_ = message; // Show banner after small delay