Some tuning in daemon's banner delays.
[jenirok] / src / daemon / calllistener.cpp
index cbeb837..5c640bb 100644 (file)
@@ -124,12 +124,11 @@ void CallListener::search(Eniro::SearchDetails const& details)
     {
 
         showDelayedResult(createResult(result.name,
-                                 result.street,
-                                 result.city), BANNER_DELAY);
+                                       result.street,
+                                       result.city), BANNER_DELAY);
     }
     else
     {
-        showResult(tr("Searching..."));
         retries_ = 0;
         currentSearch_ = details.query;
 
@@ -151,6 +150,7 @@ void CallListener::search(Eniro::SearchDetails const& details)
             closeConnection_ = false;
         }
 
+        showDelayedResult(tr("Searching..."), BANNER_DELAY);
         eniro_->search(details);
     }
 
@@ -180,35 +180,43 @@ void CallListener::requestFinished(QVector <Eniro::Result> const& results,
         }
         else
         {
+            timedMessage_ = "";
             message = tr("Search failed:") + " " + eniro_->errorString() + ".";
+            showResult(message);
         }
     }
-    else if(results.size() == 0)
-    {
-        message = tr("Phone number was not found");
-    }
     else
     {
-        message = createResult(results.at(0).name, results.at(0).street, results.at(0).city);
-        Eniro::Result result = results.at(0);
-        result.number = details.query;
-        Cache::instance().addItem(result);
+        timedMessage_ = "";
+
+        if(results.size() == 0)
+        {
+            message = tr("Phone number was not found");
+            showResult(message);
+        }
+        else
+        {
+            message = createResult(results.at(0).name, results.at(0).street,
+                                   results.at(0).city);
+            showResult(message);
+            Eniro::Result result = results.at(0);
+            result.number = details.query;
+            Cache::instance().addItem(result);
+        }
     }
 
     retries_ = -1;
     currentSearch_ = "";
 
-    if(closeConnection_)
+    if(closeConnection_ && connectionManager_)
     {
-        connectionManager_->disconnect();
+        connectionManager_->disconnect(true);
         closeConnection_ = false;
     }
 
     delete connectionManager_;
     connectionManager_ = 0;
 
-    showResult(message);
-
 }
 
 QString CallListener::createResult(QString const& name, QString const& street, QString const& city)
@@ -276,7 +284,7 @@ void CallListener::callTerminate()
 
     if(closeConnection_ && connectionManager_)
     {
-        connectionManager_->disconnect();
+        connectionManager_->disconnect(true);
         closeConnection_ = false;
     }