Final implementation of logout
[situare] / src / engine / engine.cpp
index 1afe38c..79a01ab 100644 (file)
@@ -42,6 +42,7 @@ SituareEngine::SituareEngine(QMainWindow *parent)
 {
     qDebug() << __PRETTY_FUNCTION__;
     m_ui = new MainWindow;
+    m_ui->showPanels(m_loggedIn);
 
     // build MapEngine
     m_mapEngine = new MapEngine(this);
@@ -168,6 +169,14 @@ void SituareEngine::fetchUsernameFromSettings()
     m_ui->setUsername(m_facebookAuthenticator->loadUsername());
 }
 
+void SituareEngine::invalidCredentials()
+{
+    qDebug() << __PRETTY_FUNCTION__;
+
+    m_facebookAuthenticator->clearAccountInformation(true); // keep username = true
+    m_facebookAuthenticator->start();
+}
+
 void SituareEngine::loginOk(bool freshLogin, const FacebookCredentials &credentials)
 {
     qDebug() << __PRETTY_FUNCTION__;
@@ -359,7 +368,7 @@ void SituareEngine::signalsFromSituareService()
             this, SLOT(error(QString)));
 
     connect(m_situareService, SIGNAL(invalidSessionCredentials()),
-            m_facebookAuthenticator, SLOT(start()));
+            this, SLOT(invalidCredentials()));
 
     connect(m_situareService, SIGNAL(reverseGeoReady(QString)),
             m_ui, SIGNAL(reverseGeoReady(QString)));