Merge branch 'master' into network_handler
authorJussi Laitinen <jupe@l3l7588.ixonos.local>
Thu, 24 Jun 2010 06:39:24 +0000 (09:39 +0300)
committerJussi Laitinen <jupe@l3l7588.ixonos.local>
Thu, 24 Jun 2010 06:39:24 +0000 (09:39 +0300)
Conflicts:
src/common.h
src/engine/engine.cpp
src/src.pro
src/ui/mainwindow.cpp

res/languages/situare_fi.qm
res/languages/situare_fi.ts
src/engine/engine.cpp
src/engine/engine.h
src/network/networkaccessmanager.cpp
src/network/networkaccessmanager.h
src/network/networkreply.cpp
src/network/networkreply.h
src/situareservice/situareservice.cpp
src/ui/mainwindow.cpp
src/ui/userinfo.cpp

index 7161474..e6155f1 100644 (file)
Binary files a/res/languages/situare_fi.qm and b/res/languages/situare_fi.qm differ
index 9cefcee..c838fed 100644 (file)
@@ -4,12 +4,12 @@
 <context>
     <name>FriendListPanel</name>
     <message>
-        <location filename="../../src/ui/friendlistpanel.cpp" line="44"/>
+        <location filename="../../src/ui/friendlistpanel.cpp" line="45"/>
         <source>Show all</source>
         <translation>Näytä kaikki</translation>
     </message>
     <message>
-        <location filename="../../src/ui/friendlistpanel.cpp" line="108"/>
+        <location filename="../../src/ui/friendlistpanel.cpp" line="110"/>
         <source>Selected: %1</source>
         <translation>Valittu: %1</translation>
     </message>
 <context>
     <name>MainWindow</name>
     <message>
-        <location filename="../../src/ui/mainwindow.cpp" line="87"/>
+        <location filename="../../src/ui/mainwindow.cpp" line="838"/>
         <source>Automatic location update</source>
         <translation>Automaattinen paikan päivitys</translation>
     </message>
     <message>
-        <location filename="../../src/ui/mainwindow.cpp" line="94"/>
+        <location filename="../../src/ui/mainwindow.cpp" line="84"/>
         <source>Situare</source>
         <translation>Situare</translation>
     </message>
     <message>
-        <location filename="../../src/ui/mainwindow.cpp" line="406"/>
-        <location filename="../../src/ui/mainwindow.cpp" line="665"/>
+        <location filename="../../src/ui/mainwindow.cpp" line="402"/>
+        <location filename="../../src/ui/mainwindow.cpp" line="666"/>
         <source>Login</source>
         <translation>Kirjaudu</translation>
     </message>
     <message>
-        <location filename="../../src/ui/mainwindow.cpp" line="411"/>
+        <location filename="../../src/ui/mainwindow.cpp" line="407"/>
         <source>Settings</source>
         <translation>Asetukset</translation>
     </message>
     <message>
-        <location filename="../../src/ui/mainwindow.cpp" line="416"/>
+        <location filename="../../src/ui/mainwindow.cpp" line="412"/>
         <source>GPS</source>
         <translation>GPS</translation>
     </message>
     <message>
-        <location filename="../../src/ui/mainwindow.cpp" line="423"/>
+        <location filename="../../src/ui/mainwindow.cpp" line="419"/>
         <source>Auto centering</source>
         <translation>Automaattinen keskitys</translation>
     </message>
     <message>
-        <location filename="../../src/ui/mainwindow.cpp" line="429"/>
+        <location filename="../../src/ui/mainwindow.cpp" line="425"/>
         <source>Main</source>
         <translation>Päävalikko</translation>
     </message>
     <message>
-        <location filename="../../src/ui/mainwindow.cpp" line="434"/>
+        <location filename="../../src/ui/mainwindow.cpp" line="430"/>
         <source>Menu</source>
         <translation>Valikko</translation>
     </message>
     <message>
-        <location filename="../../src/ui/mainwindow.cpp" line="537"/>
+        <location filename="../../src/ui/mainwindow.cpp" line="538"/>
         <source>GPS timeout</source>
         <translation>GPS pyyntö aikakatkaistiin</translation>
     </message>
     <message>
-        <location filename="../../src/ui/mainwindow.cpp" line="659"/>
+        <location filename="../../src/ui/mainwindow.cpp" line="660"/>
         <source>Logout</source>
         <translation>Kirjaudu ulos</translation>
     </message>
         <translation>Asetukset</translation>
     </message>
     <message>
-        <location filename="../../src/ui/settingsdialog.cpp" line="47"/>
+        <location filename="../../src/ui/settingsdialog.cpp" line="48"/>
         <source>Use automatic location update</source>
         <translation>Sijainnin automaattinen päivitys</translation>
     </message>
     <message>
-        <location filename="../../src/ui/settingsdialog.cpp" line="54"/>
-        <location filename="../../src/ui/settingsdialog.cpp" line="86"/>
+        <location filename="../../src/ui/settingsdialog.cpp" line="55"/>
+        <location filename="../../src/ui/settingsdialog.cpp" line="87"/>
         <source>Update interval</source>
         <translation>Päivitysväli</translation>
     </message>
     <message>
-        <location filename="../../src/ui/settingsdialog.cpp" line="131"/>
+        <location filename="../../src/ui/settingsdialog.cpp" line="120"/>
         <source>%1 min</source>
         <translation>%1 min</translation>
     </message>
 <context>
     <name>SituareEngine</name>
     <message>
-        <location filename="../../src/engine/engine.cpp" line="140"/>
+        <location filename="../../src/engine/engine.cpp" line="133"/>
         <source>Auto centering disabled</source>
         <translation>Automaattinen keskitys pois päältä</translation>
     </message>
     <message>
-        <location filename="../../src/engine/engine.cpp" line="180"/>
+        <location filename="../../src/engine/engine.cpp" line="183"/>
         <source>Unable to start GPS</source>
         <translation>GPS käynnistys epäonnistui</translation>
     </message>
     <message>
-        <location filename="../../src/engine/engine.cpp" line="195"/>
+        <location filename="../../src/engine/engine.cpp" line="196"/>
         <source>Do you want to enable automatic location update with %1 min update interval?</source>
         <translation>Asetetaanko automaattinen paikan päivitys %1 minuutin välein päälle?</translation>
     </message>
     <message>
-        <location filename="../../src/engine/engine.cpp" line="200"/>
+        <location filename="../../src/engine/engine.cpp" line="201"/>
         <source>Automatic location update enabled</source>
         <translation>Automaattinen paikan päivitys päällä</translation>
     </message>
     <message>
-        <location filename="../../src/engine/engine.cpp" line="221"/>
+        <location filename="../../src/engine/engine.cpp" line="230"/>
+        <source>Unknown server error</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../src/engine/engine.cpp" line="236"/>
+        <source>Missing argument from request</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../src/engine/engine.cpp" line="238"/>
         <source>Connection refused by the server</source>
         <translation>Palvelin ei vastaa pyyntöihin</translation>
     </message>
     <message>
-        <location filename="../../src/engine/engine.cpp" line="224"/>
+        <location filename="../../src/engine/engine.cpp" line="244"/>
         <source>Connection closed by the server</source>
         <translation>Palvelin sulki yhteyden</translation>
     </message>
     <message>
-        <location filename="../../src/engine/engine.cpp" line="227"/>
+        <location filename="../../src/engine/engine.cpp" line="250"/>
         <source>Remote server not found</source>
         <translation>Palvelinta ei löydy</translation>
     </message>
     <message>
-        <location filename="../../src/engine/engine.cpp" line="230"/>
+        <location filename="../../src/engine/engine.cpp" line="256"/>
         <source>Connection timed out</source>
         <translation>Yhteys aikakatkaistiin</translation>
     </message>
     <message>
-        <location filename="../../src/engine/engine.cpp" line="233"/>
+        <location filename="../../src/engine/engine.cpp" line="262"/>
+        <source>No network connection</source>
+        <translation>Ei verkkoyhteyttä</translation>
+    </message>
+    <message>
+        <location filename="../../src/engine/engine.cpp" line="266"/>
         <source>Session expired. Please login again</source>
         <translation>Istunto vanhentunut. Kirjaudu uudelleen</translation>
     </message>
     <message>
-        <location filename="../../src/engine/engine.cpp" line="241"/>
+        <location filename="../../src/engine/engine.cpp" line="274"/>
         <source>Invalid E-mail address or password</source>
         <translation>Virheellinen sähköpostiosoite tai salasana</translation>
     </message>
     <message>
-        <location filename="../../src/engine/engine.cpp" line="244"/>
+        <location filename="../../src/engine/engine.cpp" line="279"/>
         <source>Update failed, please try again</source>
         <translation>Päivitys epäonnistui. Yritä uudelleen</translation>
     </message>
     <message>
-        <location filename="../../src/engine/engine.cpp" line="247"/>
+        <location filename="../../src/engine/engine.cpp" line="283"/>
         <source>Data retrieval failed, please try again</source>
         <translation>Tiedon haku epäonnistui. Yritä uudelleen</translation>
     </message>
     <message>
-        <location filename="../../src/engine/engine.cpp" line="250"/>
+        <location filename="../../src/engine/engine.cpp" line="286"/>
         <source>Address retrieval failed</source>
         <translation>Osoitteen haku epäonnistui</translation>
     </message>
     <message>
-        <location filename="../../src/engine/engine.cpp" line="266"/>
+        <location filename="../../src/engine/engine.cpp" line="299"/>
         <source>Malformatted reply from server</source>
         <translation>Viallisesti muotoiltu serverin vastaus</translation>
     </message>
     <message>
+        <location filename="../../src/engine/engine.cpp" line="305"/>
+        <source>Geolocation server not responding</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../src/engine/engine.cpp" line="309"/>
+        <source>Geolocation request failed, please try again</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../src/engine/engine.cpp" line="313"/>
+        <source>Invalid lat/lon value, please try again</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../../src/engine/engine.cpp" line="462"/>
+        <source>Automatic location update.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <source>Address retrieval failed, please try again</source>
         <translation type="obsolete">Osoitteen haku epäonnistui. Yritä uudelleen</translation>
     </message>
     <message>
-        <location filename="../../src/engine/engine.cpp" line="253"/>
+        <location filename="../../src/engine/engine.cpp" line="289"/>
         <source>Image download failed</source>
         <translation>Kuvan haku epäonnistui</translation>
     </message>
     <message>
-        <location filename="../../src/engine/engine.cpp" line="256"/>
+        <location filename="../../src/engine/engine.cpp" line="292"/>
         <source>Map image download failed</source>
         <translation>Karttakuvan lataaminen epäonnistui</translation>
     </message>
     <message>
-        <location filename="../../src/engine/engine.cpp" line="260"/>
+        <location filename="../../src/engine/engine.cpp" line="296"/>
         <source>GPS initialization failed</source>
         <translation>GPS alustus epäonnistui</translation>
     </message>
     <message>
-        <location filename="../../src/engine/engine.cpp" line="263"/>
         <source>Unknown server response</source>
-        <translation>Tuntematon vastaus palvelimelta</translation>
+        <translation type="obsolete">Tuntematon vastaus palvelimelta</translation>
     </message>
     <message>
         <source>JSON parsing failed, invalid JSON string</source>
         <translation type="obsolete">Virheellinen JSON, parsiminen epäonnistui</translation>
     </message>
     <message>
-        <location filename="../../src/engine/engine.cpp" line="302"/>
-        <location filename="../../src/engine/engine.cpp" line="310"/>
+        <location filename="../../src/engine/engine.cpp" line="351"/>
+        <location filename="../../src/engine/engine.cpp" line="359"/>
         <source>GPS enabled</source>
         <translation>GPS päällä</translation>
     </message>
     <message>
-        <location filename="../../src/engine/engine.cpp" line="303"/>
-        <location filename="../../src/engine/engine.cpp" line="313"/>
+        <location filename="../../src/engine/engine.cpp" line="352"/>
+        <location filename="../../src/engine/engine.cpp" line="362"/>
         <source>Auto centering enabled</source>
         <translation>Automaattinen keskitys päällä</translation>
     </message>
         <translation>Päivitä sijainti</translation>
     </message>
     <message>
-        <location filename="../../src/ui/updatelocation/updatelocationdialog.cpp" line="71"/>
+        <location filename="../../src/ui/updatelocation/updatelocationdialog.cpp" line="74"/>
         <source>Publish on Facebook</source>
         <translation>Julkaise Facebookissa</translation>
     </message>
     <message>
-        <location filename="../../src/ui/updatelocation/updatelocationdialog.cpp" line="77"/>
+        <location filename="../../src/ui/updatelocation/updatelocationdialog.cpp" line="80"/>
         <source>Send</source>
         <translation>Lähetä</translation>
     </message>
         <translation>Sijainti:</translation>
     </message>
     <message>
-        <location filename="../../src/ui/updatelocation/updatelocationdialog.cpp" line="42"/>
+        <location filename="../../src/ui/updatelocation/updatelocationdialog.cpp" line="43"/>
         <source>Message:</source>
         <translation>Viesti:</translation>
     </message>
@@ -313,7 +347,7 @@ Your message is saved to textbox until sending will succeed</source>
         <translation type="obsolete">Sijainnin päivitys epäonnistui\n\nVistisi on tallennettu kunnes pävitys on onnistunut</translation>
     </message>
     <message>
-        <location filename="../../src/ui/userinfo.cpp" line="338"/>
+        <location filename="../../src/ui/userinfo.cpp" line="357"/>
         <source>Location update failed, please try again</source>
         <translation>Paikkatiedon päivitys epäonnistui, yritä uudelleen</translation>
     </message>
index 02cec5f..64fa07f 100644 (file)
@@ -31,6 +31,7 @@
 #include "map/mapengine.h"
 #include "situareservice/situareservice.h"
 #include "ui/mainwindow.h"
+#include "network/networkaccessmanager.h"
 #include "mce.h"
 #include <cmath>
 
@@ -56,6 +57,8 @@ SituareEngine::SituareEngine(QMainWindow *parent)
     m_ui = new MainWindow;
     m_ui->updateItemVisibility();
 
+    m_networkAccessManager = NetworkAccessManager::instance();
+
     // build MapEngine
     m_mapEngine = new MapEngine(this);
     m_ui->setMapViewScene(m_mapEngine->scene());
@@ -256,6 +259,12 @@ void SituareEngine::error(const int context, const int error)
             m_ui->buildInformationBox(tr("Connection timed out"), true);
         }
         break;
+    case QNetworkReply::UnknownNetworkError:
+        if(context == ErrorContext::NETWORK) {
+            m_ui->toggleProgressIndicator(false);
+            m_ui->buildInformationBox(tr("No network connection"), true);
+        }
+        break;
     case SituareError::SESSION_EXPIRED:
         m_ui->buildInformationBox(tr("Session expired. Please login again"), true);
         m_facebookAuthenticator->clearAccountInformation(true); // keep username = true
@@ -364,11 +373,16 @@ void SituareEngine::loginActionPressed()
 {
     qDebug() << __PRETTY_FUNCTION__;
 
-    if(m_ui->loginState()) {
-        logout();
-        m_situareService->clearUserData();
-    } else {
-        m_facebookAuthenticator->start();
+    if (m_networkAccessManager->isConnected()) {
+        if(m_ui->loginState()) {
+            logout();
+            m_situareService->clearUserData();
+        } else {
+            m_facebookAuthenticator->start();
+        }
+    }
+    else {
+        error(ErrorContext::NETWORK, QNetworkReply::UnknownNetworkError);
     }
 }
 
@@ -412,31 +426,45 @@ void SituareEngine::refreshUserData()
 {
     qDebug() << __PRETTY_FUNCTION__;
 
-    m_ui->toggleProgressIndicator(true);
-
-    m_situareService->fetchLocations();
+    if (m_networkAccessManager->isConnected()) {
+        m_ui->toggleProgressIndicator(true);
+        m_situareService->fetchLocations();
+    }
+    else {
+        error(ErrorContext::NETWORK, QNetworkReply::UnknownNetworkError);
+    }
 }
 
 void SituareEngine::requestAddress()
 {
     qDebug() << __PRETTY_FUNCTION__;
 
-    if (m_gps->isRunning())
-        m_situareService->reverseGeo(m_gps->lastPosition());
-    else
-        m_situareService->reverseGeo(m_mapEngine->centerGeoCoordinate());
+    if (m_networkAccessManager->isConnected()) {
+        if (m_gps->isRunning())
+            m_situareService->reverseGeo(m_gps->lastPosition());
+        else
+            m_situareService->reverseGeo(m_mapEngine->centerGeoCoordinate());
+    }
+    else {
+        error(ErrorContext::NETWORK, QNetworkReply::UnknownNetworkError);
+    }
 }
 
 void SituareEngine::requestUpdateLocation(const QString &status, bool publish)
 {
     qDebug() << __PRETTY_FUNCTION__;
 
-    m_ui->toggleProgressIndicator(true);
+    if (m_networkAccessManager->isConnected()) {
+        m_ui->toggleProgressIndicator(true);
 
-    if (m_gps->isRunning())
-        m_situareService->updateLocation(m_gps->lastPosition(), status, publish);
-    else
-        m_situareService->updateLocation(m_mapEngine->centerGeoCoordinate(), status, publish);
+        if (m_gps->isRunning())
+            m_situareService->updateLocation(m_gps->lastPosition(), status, publish);
+        else
+            m_situareService->updateLocation(m_mapEngine->centerGeoCoordinate(), status, publish);
+    }
+    else {
+        error(ErrorContext::NETWORK, QNetworkReply::UnknownNetworkError);
+    }
 }
 
 void SituareEngine::requestAutomaticUpdateIfMoved(QPointF position)
@@ -642,7 +670,10 @@ void SituareEngine::updateWasSuccessful()
 {
     qDebug() << __PRETTY_FUNCTION__;
 
-    m_situareService->fetchLocations();
+    if (m_networkAccessManager->isConnected())
+        m_situareService->fetchLocations();
+    else
+        error(ErrorContext::NETWORK, QNetworkReply::UnknownNetworkError);
 }
 
 void SituareEngine::userDataChanged(User *user, QList<User *> &friendsList)
index 42d40c6..88c738c 100644 (file)
@@ -37,6 +37,7 @@ class FacebookCredentials;
 class GPSPosition;
 class MainWindow;
 class MapEngine;
+class NetworkAccessManager;
 class SituareService;
 class User;
 class MCE;
@@ -292,6 +293,7 @@ private:
     GPSPosition *m_gps;                              ///< Instance of the gps position
     MainWindow *m_ui;                                ///< Instance of the MainWindow UI
     MapEngine *m_mapEngine;                          ///< MapEngine
+    NetworkAccessManager *m_networkAccessManager;    ///< NetworkAccessManager
     SituareService *m_situareService;  ///< Instance of the situare server communication service
     MCE *m_mce;                        ///< Instance of the MCE
 
index 76757d5..307cdae 100644 (file)
 #include <QNetworkRequest>
 #include <QNetworkAccessManager>
 #include <QDebug>
+#include <QTimer>
 
 #include "networkhandler.h"
 #include "networkaccessmanager.h"
 #include "networkreply.h"
+#include "common.h"
 
 NetworkAccessManager *NetworkAccessManager::m_instance = 0;
 
 NetworkAccessManager::NetworkAccessManager()
-    : m_networkHandler(0),
+    : m_connected(false),
+      m_networkHandler(0),
       m_networkAccessManagerPrivate(0)
 {
     qDebug() << __PRETTY_FUNCTION__;
@@ -40,6 +43,8 @@ NetworkAccessManager::NetworkAccessManager()
 
     connect(m_networkHandler, SIGNAL(connected()),
             this, SLOT(connected()));
+    connect(m_networkHandler, SIGNAL(disconnected()),
+            this, SLOT(disconnected()));
 
     connect(m_networkAccessManagerPrivate, SIGNAL(finished(QNetworkReply*)),
             this, SLOT(downloadFinished(QNetworkReply*)));
@@ -56,6 +61,8 @@ void NetworkAccessManager::connected()
 {
     qDebug() << __PRETTY_FUNCTION__;
 
+    m_connected = true;
+
     //Loop through all requests and calls get method.
     foreach (const QNetworkRequest &request, m_requestQueue) {
         QNetworkReply *reply = m_networkAccessManagerPrivate->get(request);
@@ -65,6 +72,13 @@ void NetworkAccessManager::connected()
     m_requestQueue.clear();
 }
 
+void NetworkAccessManager::disconnected()
+{
+    qDebug() << __PRETTY_FUNCTION__;
+
+    m_connected = false;
+}
+
 void NetworkAccessManager::downloadFinished(QNetworkReply *reply)
 {
     qDebug() << __PRETTY_FUNCTION__;
@@ -88,7 +102,7 @@ void NetworkAccessManager::downloadFinished(QNetworkReply *reply)
     }
 }
 
-QNetworkReply *NetworkAccessManager::get(const QNetworkRequest &request)
+QNetworkReply *NetworkAccessManager::get(const QNetworkRequest &request, bool onlineRequestsOnly)
 {
     qDebug() << __PRETTY_FUNCTION__;
 
@@ -97,7 +111,15 @@ QNetworkReply *NetworkAccessManager::get(const QNetworkRequest &request)
         m_requestQueue.append(request);
         m_networkHandler->connect();
         QNetworkReply *reply = new NetworkReply(request, this);
-        m_offlineReplyQueue.insert(request.url().toString(), reply);
+
+        if (onlineRequestsOnly) {
+            ((NetworkReply*)reply)->setErrorCode(QNetworkReply::UnknownNetworkError);
+            emit finished(reply);
+        }
+        else {
+            m_offlineReplyQueue.insert(request.url().toString(), reply);
+        }
+
         return reply;
     }
     //Connected, use normal get method.
@@ -106,7 +128,6 @@ QNetworkReply *NetworkAccessManager::get(const QNetworkRequest &request)
     }
 }
 
-
 NetworkAccessManager *NetworkAccessManager::instance()
 {
     qDebug() << __PRETTY_FUNCTION__;
@@ -117,6 +138,13 @@ NetworkAccessManager *NetworkAccessManager::instance()
     return m_instance;
 }
 
+bool NetworkAccessManager::isConnected()
+{
+    qDebug() << __PRETTY_FUNCTION__;
+
+    return m_connected;
+}
+
 void NetworkAccessManager::setCache(QAbstractNetworkCache *cache)
 {
     qDebug() << __PRETTY_FUNCTION__;
index 10a2ae3..f10c05a 100644 (file)
@@ -54,12 +54,19 @@ public:
     static NetworkAccessManager *instance();
 
     /**
+    * @brief Returns connection state.
+    *
+    * @return true if connected, false otherwise
+    */
+    bool isConnected();
+
+    /**
     * @brief Makes request and return reply.
     *
     * @param request QNetworkRequest
     * @return QNetworkReply
     */
-    QNetworkReply *get(const QNetworkRequest &request);
+    QNetworkReply *get(const QNetworkRequest &request, bool onlineRequestsOnly = false);
 
     /**
     * @brief Sets cache.
@@ -90,6 +97,11 @@ private slots:
     void connected();
 
     /**
+    * @brief Slot for network disconnected state.
+    */
+    void disconnected();
+
+    /**
     * @brief Slot for finished download.
     *
     * @param reply reply from network
@@ -111,6 +123,7 @@ signals:
  * DATA MEMBERS
  ******************************************************************************/
 private:
+    bool m_connected;                                       ///< Connection flag
     static NetworkAccessManager *m_instance;                ///< Instance of NetworkAccessManager
     NetworkHandler *m_networkHandler;                       ///< Instance of NetworkHandler
     QNetworkAccessManager *m_networkAccessManagerPrivate;   ///< Instance of QNetworkAccessManager
index ea3756c..23bfb2b 100644 (file)
@@ -31,6 +31,11 @@ NetworkReply::NetworkReply(const QNetworkRequest &request, QObject *parent)
     setRequest(request);
 }
 
+void NetworkReply::abort()
+{
+    qDebug() << __PRETTY_FUNCTION__;
+}
+
 qint64 NetworkReply::readData(char *data, qint64 maxlen)
 {
     qDebug() << __PRETTY_FUNCTION__;
@@ -44,7 +49,9 @@ qint64 NetworkReply::readData(char *data, qint64 maxlen)
         return -1;
 }
 
-void NetworkReply::abort()
+void NetworkReply::setErrorCode(QNetworkReply::NetworkError errorCode)
 {
     qDebug() << __PRETTY_FUNCTION__;
+
+    setError(errorCode, "");
 }
index dc5755a..2adb3d0 100644 (file)
@@ -41,11 +41,23 @@ public:
     */
     NetworkReply(const QNetworkRequest &request, QObject *parent = 0);
 
+    /**
+    * @brief Set error code
+    *
+    * @param errorCode QNetworkReply::NetworkError
+    */
+    void setErrorCode(QNetworkReply::NetworkError errorCode);
+
 /*******************************************************************************
  * BASE CLASS INHERITED AND REIMPLEMENTED MEMBER FUNCTIONS
  ******************************************************************************/
 protected:
     /**
+    * @brief Aborts the operation.
+    */
+    void abort();
+
+    /**
     * @brief Reads data from the device.
     *
     * @param data data is read into this
@@ -54,11 +66,6 @@ protected:
     */
     qint64 readData(char *data, qint64 maxlen);
 
-    /**
-    * @brief Aborts the operation.
-    */
-    void abort();
-
 /*******************************************************************************
  * DATA MEMBERS
  ******************************************************************************/
index 53b7dcf..0b87bfa 100644 (file)
@@ -40,7 +40,7 @@ SituareService::SituareService(QObject *parent)
 
     m_networkManager = NetworkAccessManager::instance();
     connect(m_networkManager, SIGNAL(finished(QNetworkReply*)),
-            this, SLOT(requestFinished(QNetworkReply*)));
+            this, SLOT(requestFinished(QNetworkReply*)), Qt::QueuedConnection);
 
     m_imageFetcher = new ImageFetcher(NetworkAccessManager::instance(), this);
     connect(this, SIGNAL(fetchImage(QUrl)),
@@ -234,7 +234,7 @@ void SituareService::sendRequest(const QUrl &url, const QString &cookieType, con
     request.setAttribute(QNetworkRequest::CacheSaveControlAttribute, false);
     request.setRawHeader(cookieType.toAscii(), cookie.toUtf8());
 
-    QNetworkReply *reply = m_networkManager->get(request);
+    QNetworkReply *reply = m_networkManager->get(request, true);
 
     m_currentRequests.append(reply);
 }
index be36a92..c886e90 100644 (file)
@@ -95,8 +95,6 @@ MainWindow::MainWindow(QWidget *parent)
     m_mapScale->stackUnder(m_ownLocationCrosshair);
     m_mapView->stackUnder(m_mapScale);
 
-    this->toggleProgressIndicator(true);
-
     grabZoomKeys(true);
 
     // Set default screen size
@@ -687,6 +685,8 @@ void MainWindow::loginUsingCookies()
 {
     qDebug() << __PRETTY_FUNCTION__;
 
+    toggleProgressIndicator(true);
+
     buildWebView();
     loadCookies();
     
index d52780b..874c854 100644 (file)
@@ -278,8 +278,6 @@ void UserInfo::messageUpdate()
 {
     qDebug() << __PRETTY_FUNCTION__;
 
-    emit requestReverseGeo();
-
     delete m_updateLocation;
     m_updateLocation = new UpdateLocationDialog(m_backupMessage, m_backupFacebookPublishPolicity,
                                                 this);
@@ -297,6 +295,8 @@ void UserInfo::messageUpdate()
             this, SLOT(updateLocationDialogFinished(int)));
 
     m_updateLocation->show();
+
+    emit requestReverseGeo();
 }
 
 void UserInfo::paintEvent(QPaintEvent *aPaintEvent)