Merge branch 'master' into error_procedur
[situare] / src / engine / engine.cpp
index bf396bb..5f5c23a 100644 (file)
@@ -23,6 +23,7 @@
  */
 
 #include <QMessageBox>
+#include <QNetworkReply>
 
 #include "common.h"
 #include "facebookservice/facebookauthentication.h"
@@ -208,13 +209,52 @@ void SituareEngine::enableAutomaticLocationUpdate(bool enabled, int updateInterv
     }
 }
 
-void SituareEngine::error(const QString &error)
+void SituareEngine::error(const int error)
 {
     qDebug() << __PRETTY_FUNCTION__;    
 
-    m_ui->buildInformationBox(error, true);
+    switch(error)
+    {
+    case QNetworkReply::ConnectionRefusedError:
+        m_ui->buildInformationBox(tr("Connection refused by the server"), true);
+        break;
+    case QNetworkReply::RemoteHostClosedError:
+        m_ui->buildInformationBox(tr("Connection closed by the server"), true);
+        break;
+    case QNetworkReply::HostNotFoundError:
+        m_ui->buildInformationBox(tr("Remote server not found"), true);
+        break;
+    case QNetworkReply::TimeoutError:
+        m_ui->buildInformationBox(tr("Connection timed out"), true);
+        break;
+    case SituareError::SESSION_EXPIRED:
+        m_ui->buildInformationBox(tr("Session expired. Please login again"), true);
+        break;
+    case SituareError::LOGIN_FAILED:
+        m_ui->buildInformationBox(tr("Invalid E-mail address or password"), true);
+        break;
+    case SituareError::UPDATE_FAILED:
+        m_ui->buildInformationBox(tr("Update failed, please try again"), true);
+        break;
+    case SituareError::DATA_RETRIEVAL_FAILED:
+        m_ui->buildInformationBox(tr("Data retrieval failed, please try again"), true);
+        break;
+    case SituareError::ADDRESS_RETRIEVAL_FAILED:
+        m_ui->buildInformationBox(tr("Address retrieval failed, please try again"), true);
+        break;
+    case SituareError::DOWNLOAD_FAILED:
+        m_ui->buildInformationBox(tr("Image download failed"), true);
+        break;
+    case SituareError::GPS_INITIALIZATION_FAILED:
+        enableGPS(false);
+        m_ui->buildInformationBox(tr("GPS initialization failed"), true);
+        break;
+    default:
+        qCritical() << "QNetworkReply::NetworkError :" << error;
+        break;
+    }
 
-    if(error.compare(SESSION_EXPIRED) == 0) {
+    if(error == SituareError::SESSION_EXPIRED) {
         m_facebookAuthenticator->clearAccountInformation(true); // keep username = true
         m_ui->loggedIn(false);
         m_ui->loginFailed();
@@ -380,8 +420,8 @@ void SituareEngine::signalsFromFacebookAuthenticator()
 {
     qDebug() << __PRETTY_FUNCTION__;
 
-    connect(m_facebookAuthenticator, SIGNAL(error(QString)),
-            this, SLOT(error(QString)));
+    connect(m_facebookAuthenticator, SIGNAL(error(int)),
+            this, SLOT(error(int)));
 
     connect(m_facebookAuthenticator, SIGNAL(credentialsReady(FacebookCredentials)),
             m_situareService, SLOT(credentialsReady(FacebookCredentials)));
@@ -412,8 +452,8 @@ void SituareEngine::signalsFromGPS()
     connect(m_gps, SIGNAL(timeout()),
             m_ui, SLOT(gpsTimeout()));
 
-    connect(m_gps, SIGNAL(error(QString)),
-            this, SLOT(error(QString)));
+    connect(m_gps, SIGNAL(error(int)),
+            this, SLOT(error(int)));
 
     connect(m_gps, SIGNAL(position(QPointF,qreal)),
             this, SLOT(saveGPSPosition(QPointF)));
@@ -423,6 +463,9 @@ void SituareEngine::signalsFromMainWindow()
 {
     qDebug() << __PRETTY_FUNCTION__;    
 
+    connect(m_ui, SIGNAL(error(int)),
+            this, SLOT(error(int)));
+
     connect(m_ui, SIGNAL(fetchUsernameFromSettings()),
             this, SLOT(fetchUsernameFromSettings()));
 
@@ -476,9 +519,6 @@ void SituareEngine::signalsFromMainWindow()
     connect(m_ui, SIGNAL(refreshUserData()),
             this, SLOT(refreshUserData()));
 
-    connect (m_ui, SIGNAL(notificateUpdateFailing(QString)),
-             this, SLOT(error(QString)));
-
     connect(m_ui, SIGNAL(findUser(QPointF)),
             m_mapEngine, SLOT(setViewLocation(QPointF)));
 
@@ -491,8 +531,8 @@ void SituareEngine::signalsFromMapEngine()
 {
     qDebug() << __PRETTY_FUNCTION__;
 
-    connect(m_mapEngine, SIGNAL(error(QString)),
-            this, SLOT(error(QString)));
+    connect(m_mapEngine, SIGNAL(error(int)),
+            this, SLOT(error(int)));
 
     connect(m_mapEngine, SIGNAL(locationChanged(QPoint)),
             m_ui, SIGNAL(centerToSceneCoordinates(QPoint)));
@@ -520,8 +560,8 @@ void SituareEngine::signalsFromSituareService()
 {
     qDebug() << __PRETTY_FUNCTION__;
 
-    connect(m_situareService, SIGNAL(error(QString)),
-            this, SLOT(error(QString)));
+    connect(m_situareService, SIGNAL(error(int)),
+            this, SLOT(error(int)));
 
     connect(m_situareService, SIGNAL(reverseGeoReady(QString)),
             m_ui, SIGNAL(reverseGeoReady(QString)));
@@ -535,8 +575,8 @@ void SituareEngine::signalsFromSituareService()
     connect(m_situareService, SIGNAL(updateWasSuccessful()),
             m_ui, SIGNAL(updateWasSuccessful()));
 
-    connect(m_situareService, SIGNAL(error(QString)),
-            m_ui, SIGNAL(messageSendingFailed(QString)));
+    connect(m_situareService, SIGNAL(error(int)),
+            m_ui, SIGNAL(messageSendingFailed(int)));
 }
 
 void SituareEngine::updateWasSuccessful()