X-Git-Url: http://git.maemo.org/git/?p=situare;a=blobdiff_plain;f=src%2Fengine%2Fengine.cpp;fp=src%2Fengine%2Fengine.cpp;h=de715c99a6fce9866990036a802a44777dc91192;hp=ac165687b69f4be7affecfb069374d9aa0668e0c;hb=b72d0f2174bd17a5016936a1cbf90dcd912c1d8a;hpb=a2f9f96e94f3edcaceb87866617799e0f9bd6996 diff --git a/src/engine/engine.cpp b/src/engine/engine.cpp index ac16568..de715c9 100644 --- a/src/engine/engine.cpp +++ b/src/engine/engine.cpp @@ -61,7 +61,7 @@ SituareEngine::SituareEngine() qDebug() << __PRETTY_FUNCTION__; m_ui = new MainWindow; - m_ui->updateItemVisibility(); + m_ui->updateItemVisibility(false); Application *application = static_cast(qApp); application->registerWindow(m_ui->winId()); @@ -250,15 +250,8 @@ void SituareEngine::error(const int context, const int error) break; case SituareError::SESSION_EXPIRED: m_ui->buildInformationBox(tr("Session expired. Please login again"), true); - m_facebookAuthenticator->clearAccountInformation(true); // keep username = true - m_situareService->clearUserData(); - m_ui->loggedIn(false); - m_ui->loginFailed(); - break; - case SituareError::LOGIN_FAILED: - m_ui->toggleProgressIndicator(false); - m_ui->buildInformationBox(tr("Invalid E-mail address or password"), true); - m_ui->loginFailed(); + m_facebookAuthenticator->logOut(); + m_facebookAuthenticator->login(); break; case SituareError::UPDATE_FAILED: m_ui->toggleProgressIndicator(false); @@ -358,42 +351,27 @@ void SituareEngine::loginActionPressed() { qDebug() << __PRETTY_FUNCTION__; - if (m_networkAccessManager->isConnected()) { - if(m_ui->loginState()) { - logout(); - m_situareService->clearUserData(); - } else { - m_facebookAuthenticator->login(); - } - } - else { + if (m_facebookAuthenticator->isLoggedIn()) + m_facebookAuthenticator->logOut(); + else if (m_networkAccessManager->isConnected()) + m_facebookAuthenticator->login(); + else error(ErrorContext::NETWORK, QNetworkReply::UnknownNetworkError); - } } -void SituareEngine::loginOk() +void SituareEngine::onLogin() { - /// @ OLD CODE, REFACTOR! loggedIn -> FB authenticator etc. qDebug() << __PRETTY_FUNCTION__; m_ui->loggedIn(true); - m_ui->show(); - m_situareService->fetchLocations(); // request user locations + m_situareService->fetchLocations(); if (m_gps->isRunning()) m_ui->readAutomaticLocationUpdateSettings(); } -void SituareEngine::loginProcessCancelled() -{ - qDebug() << __PRETTY_FUNCTION__; - - m_ui->toggleProgressIndicator(false); - m_ui->updateItemVisibility(); -} - -void SituareEngine::logout() +void SituareEngine::onLogout() { qDebug() << __PRETTY_FUNCTION__; @@ -404,7 +382,8 @@ void SituareEngine::logout() m_ui, SIGNAL(clearUpdateLocationDialogData())); emit clearUpdateLocationDialogData(); - m_facebookAuthenticator->clearAccountInformation(); // clear all + m_situareService->updateSession(""); // empty session string means logged out + m_automaticUpdateFirstStart = true; } @@ -538,7 +517,7 @@ void SituareEngine::setGPS(bool enabled) m_gps->start(); m_gps->requestLastPosition(); - if(m_ui->loginState()) + if(m_facebookAuthenticator->isLoggedIn()) m_ui->readAutomaticLocationUpdateSettings(); } else if (!enabled && m_gps->isRunning()) { @@ -589,7 +568,9 @@ void SituareEngine::signalsFromFacebookAuthenticator() m_situareService, SLOT(updateSession(QString))); connect(m_facebookAuthenticator, SIGNAL(loggedIn(QString)), - this, SLOT(loginOk())); + this, SLOT(onLogin())); + + connect(m_facebookAuthenticator, SIGNAL(loggedOut()), this, SLOT(onLogout())); } void SituareEngine::signalsFromGeocodingService() @@ -648,10 +629,6 @@ void SituareEngine::signalsFromMainWindow() connect(m_ui, SIGNAL(gpsTriggered(bool)), this, SLOT(setGPS(bool))); - //signals from dialogs - connect(m_ui, SIGNAL(cancelLoginProcess()), - this, SLOT(loginProcessCancelled())); - connect(m_ui, SIGNAL(requestReverseGeo()), this, SLOT(requestAddress()));