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

1  2 
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/situareservice/situareservice.cpp
src/ui/mainwindow.cpp
src/ui/userinfo.cpp

index 7161474,7161474..e6155f1
Binary files differ
@@@ -4,12 -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 -313,7 +347,7 @@@ Your message is saved to textbox until 
          <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>
@@@ -31,6 -31,7 +31,8 @@@
  #include "map/mapengine.h"
  #include "situareservice/situareservice.h"
  #include "ui/mainwindow.h"
++#include "network/networkaccessmanager.h"
+ #include "mce.h"
  #include <cmath>
  
  #include "engine.h"
@@@ -54,6 -56,6 +57,8 @@@ SituareEngine::SituareEngine(QMainWindo
      m_ui = new MainWindow;
      m_ui->updateItemVisibility();
  
++    m_networkAccessManager = NetworkAccessManager::instance();
++
      // build MapEngine
      m_mapEngine = new MapEngine(this);
      m_ui->setMapViewScene(m_mapEngine->scene());
@@@ -213,22 -224,38 +227,44 @@@ void SituareEngine::error(const int con
  
      switch(error)
      {
-     case QNetworkReply::ConnectionRefusedError:
-         m_ui->buildInformationBox(tr("Connection refused by the server"), true);
+     case SituareError::ERROR_GENERAL:
+         if(context == ErrorContext::SITUARE) {
+             m_ui->toggleProgressIndicator(false);
+             m_ui->buildInformationBox(tr("Unknown server error"), true);
+         }
+         break;
+     case SituareError::ERROR_MISSING_ARGUMENT | QNetworkReply::ConnectionRefusedError :
+         m_ui->toggleProgressIndicator(false);
+         if(context == ErrorContext::SITUARE) {
+             m_ui->buildInformationBox(tr("Missing argument from request"), true);
+         } else if(context == ErrorContext::NETWORK) {
+             m_ui->buildInformationBox(tr("Connection refused by the server"), true);
+         }
          break;
      case QNetworkReply::RemoteHostClosedError:
-         m_ui->buildInformationBox(tr("Connection closed by the server"), true);
+         if(context == ErrorContext::NETWORK) {
+             m_ui->toggleProgressIndicator(false);
+             m_ui->buildInformationBox(tr("Connection closed by the server"), true);
+         }
          break;
      case QNetworkReply::HostNotFoundError:
-         m_ui->buildInformationBox(tr("Remote server not found"), true);
+         if(context == ErrorContext::NETWORK) {
+             m_ui->toggleProgressIndicator(false);
+             m_ui->buildInformationBox(tr("Remote server not found"), true);
+         }
          break;
      case QNetworkReply::TimeoutError:
-         m_ui->buildInformationBox(tr("Connection timed out"), true);
+         if(context == ErrorContext::NETWORK) {
+             m_ui->toggleProgressIndicator(false);
+             m_ui->buildInformationBox(tr("Connection timed out"), true);
+         }
          break;
 +    case QNetworkReply::UnknownNetworkError:
-         m_ui->buildInformationBox(tr("Network error. Please connect to network"), true);
-         m_ui->toggleProgressIndicator(false);
++        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
@@@ -326,11 -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);
      }
  }
  
@@@ -374,34 -412,34 +426,48 @@@ 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::saveGPSPosition(QPointF position)
+ void SituareEngine::requestAutomaticUpdateIfMoved(QPointF position)
  {
      qDebug() << __PRETTY_FUNCTION__;
  
@@@ -596,7 -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)
@@@ -37,8 -37,9 +37,10 @@@ class FacebookCredentials
  class GPSPosition;
  class MainWindow;
  class MapEngine;
++class NetworkAccessManager;
  class SituareService;
  class User;
+ class MCE;
  
  class QTimer;
  
@@@ -288,7 -292,8 +293,9 @@@ 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
  
      QTimer *m_automaticUpdateIntervalTimer; ///< Automatic update interval timer
      QPointF m_lastUpdatedGPSPosition;       ///< Last updated GPS position
@@@ -32,7 -30,7 +32,8 @@@
  NetworkAccessManager *NetworkAccessManager::m_instance = 0;
  
  NetworkAccessManager::NetworkAccessManager()
--    : m_networkHandler(0),
++    : m_connected(false),
++      m_networkHandler(0),
        m_networkAccessManagerPrivate(0)
  {
      qDebug() << __PRETTY_FUNCTION__;
@@@ -42,6 -40,6 +43,8 @@@
  
      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*)));
@@@ -58,6 -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);
      m_requestQueue.clear();
  }
  
++void NetworkAccessManager::disconnected()
++{
++    qDebug() << __PRETTY_FUNCTION__;
++
++    m_connected = false;
++}
++
  void NetworkAccessManager::downloadFinished(QNetworkReply *reply)
  {
      qDebug() << __PRETTY_FUNCTION__;
@@@ -116,7 -106,7 +128,6 @@@ QNetworkReply *NetworkAccessManager::ge
      }
  }
  
--
  NetworkAccessManager *NetworkAccessManager::instance()
  {
      qDebug() << __PRETTY_FUNCTION__;
      return m_instance;
  }
  
++bool NetworkAccessManager::isConnected()
++{
++    qDebug() << __PRETTY_FUNCTION__;
++
++    return m_connected;
++}
++
  void NetworkAccessManager::setCache(QAbstractNetworkCache *cache)
  {
      qDebug() << __PRETTY_FUNCTION__;
@@@ -54,6 -54,6 +54,13 @@@ 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
@@@ -90,6 -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 -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
Simple merge
@@@ -94,8 -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
@@@ -686,6 -687,6 +685,8 @@@ void MainWindow::loginUsingCookies(
  {
      qDebug() << __PRETTY_FUNCTION__;
  
++    toggleProgressIndicator(true);
++
      buildWebView();
      loadCookies();
      
@@@ -261,8 -278,8 +278,6 @@@ void UserInfo::messageUpdate(
  {
      qDebug() << __PRETTY_FUNCTION__;
  
--    emit requestReverseGeo();
--
      delete m_updateLocation;
      m_updateLocation = new UpdateLocationDialog(m_backupMessage, m_backupFacebookPublishPolicity,
                                                  this);
              this, SLOT(updateLocationDialogFinished(int)));
  
      m_updateLocation->show();
++
++    emit requestReverseGeo();
  }
  
  void UserInfo::paintEvent(QPaintEvent *aPaintEvent)