X-Git-Url: http://git.maemo.org/git/?a=blobdiff_plain;f=src%2Fdaemon%2Fcalllistener.cpp;h=344b73b184d9d53ead4e65c2464583ec38f45d1b;hb=f47fcb3ca78e8b27cace31fb18becd9dfa35d3d8;hp=114a05e30921e1a9965f0fd5b9699def6a5bb399;hpb=4c87b6256dcaa2fc16568fcdb4d7a83f840cccd1;p=jenirok diff --git a/src/daemon/calllistener.cpp b/src/daemon/calllistener.cpp index 114a05e..344b73b 100644 --- a/src/daemon/calllistener.cpp +++ b/src/daemon/calllistener.cpp @@ -17,6 +17,7 @@ */ #include +#include #include #include #include "calllistener.h" @@ -79,6 +80,8 @@ void CallListener::begin() label_->setMargin(8); box_->setWidget(label_); + qDebug() << "Starting..."; + } void CallListener::end() @@ -107,14 +110,16 @@ void CallListener::end() void CallListener::search(Eniro::SearchDetails const& details) { + qDebug() << "Search called"; + Eniro::Result result; if(Cache::instance().findItem(details.query, result)) { - showResult(createResult(result.name, - result.street, - result.city)); + showDelayedResult(createResult(result.name, + result.street, + result.city)); } else { @@ -155,7 +160,10 @@ void CallListener::requestFinished(QVector const& results, Cache::instance().addItem(result); } - showResult(message); + timedMessage_ = message; + + // Show banner after small delay + showDelayedResult(message); } @@ -191,10 +199,11 @@ void CallListener::showResult(QString const& text) void CallListener::incomingCall(QDBusObjectPath path, QString number) { - qDebug() << number; + qDebug() << "Incoming: " << number; if(!contactManager_->numberExists(number)) { + qDebug() << "Number doesn't exist"; systemBus_.connect(CALL_SERVICE_NAME, path.path(), @@ -203,11 +212,38 @@ void CallListener::incomingCall(QDBusObjectPath path, QString number) this, SLOT(callTerminate())); + qDebug() << "Going to search"; + search(Eniro::SearchDetails(number)); } + else + { + qDebug() << "Number exists"; + } } void CallListener::callTerminate() { - box_->hide(); + if(box_->isVisible()) + { + box_->hide(); + } +} + +void CallListener::showDelayedResult(QString const& text) +{ + timedMessage_ = text; + QTimer::singleShot(BANNER_DELAY, this, SLOT(showTimedMessage())); +} + +void CallListener::showTimedMessage() +{ + if(timedMessage_.size() == 0) + { + return; + } + + showResult(timedMessage_); + + timedMessage_ = ""; }