From: lampehe-local Date: Thu, 10 Jun 2010 12:07:40 +0000 (+0300) Subject: Merge branch 'master' into error_procedur X-Git-Tag: v0.6~13^2~1 X-Git-Url: https://vcs.maemo.org/git/?a=commitdiff_plain;h=da456410c889e0a7120369e80e5ba4d73776ca39;hp=-c;p=situare Merge branch 'master' into error_procedur Conflicts: src/gps/gpspositionprivate.cpp src/gps/gpspositionprivateliblocation.cpp --- da456410c889e0a7120369e80e5ba4d73776ca39 diff --combined src/engine/engine.cpp index 7929783,bf396bb..5f5c23a --- a/src/engine/engine.cpp +++ b/src/engine/engine.cpp @@@ -23,7 -23,6 +23,7 @@@ */ #include +#include #include "common.h" #include "facebookservice/facebookauthentication.h" @@@ -155,21 -154,29 +155,29 @@@ void SituareEngine::enableGPS(bool enab { qDebug() << __PRETTY_FUNCTION__; - m_ui->setGPSButtonEnabled(enabled); - m_mapEngine->setGPSEnabled(enabled); + if (m_gps->isInitialized()) { + m_ui->setGPSButtonEnabled(enabled); + m_mapEngine->setGPSEnabled(enabled); - if (enabled && !m_gps->isRunning()) { - m_gps->start(); - enableAutoCentering(m_autoCenteringEnabled); - m_gps->requestLastPosition(); + if (enabled && !m_gps->isRunning()) { + m_gps->start(); + enableAutoCentering(m_autoCenteringEnabled); + m_gps->requestLastPosition(); - if (!m_automaticUpdateEnabled && m_loggedIn) - m_ui->requestAutomaticLocationUpdateSettings(); + if (!m_automaticUpdateEnabled && m_loggedIn) + m_ui->requestAutomaticLocationUpdateSettings(); + } + else if (!enabled && m_gps->isRunning()) { + m_gps->stop(); + enableAutoCentering(false); + enableAutomaticLocationUpdate(false); + } } - else if (!enabled && m_gps->isRunning()) { - m_gps->stop(); - enableAutoCentering(false); - enableAutomaticLocationUpdate(false); + else { + if (enabled) + m_ui->buildInformationBox(tr("Unable to start GPS")); + m_ui->setGPSButtonEnabled(false); + m_mapEngine->setGPSEnabled(false); } } @@@ -201,52 -208,13 +209,52 @@@ void SituareEngine::enableAutomaticLoca } } -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(); @@@ -266,28 -234,33 +274,33 @@@ void SituareEngine::initializeGpsAndAut QSettings settings(DIRECTORY_NAME, FILE_NAME); QVariant gpsEnabled = settings.value(SETTINGS_GPS_ENABLED); - QVariant autoCenteringEnabled = settings.value(SETTINGS_AUTO_CENTERING_ENABLED); - - if (gpsEnabled.toString().isEmpty()) { // First start. Situare.conf file does not exists + QVariant autoCenteringEnabled = settings.value(SETTINGS_AUTO_CENTERING_ENABLED); - connect(m_gps, SIGNAL(position(QPointF,qreal)), - this, SLOT(setFirstStartZoomLevel(QPointF,qreal))); + if (m_gps->isInitialized()) { - changeAutoCenteringSetting(true); - enableGPS(true); + if (gpsEnabled.toString().isEmpty()) { // First start. Situare.conf file does not exists - m_ui->buildInformationBox(tr("GPS enabled")); - m_ui->buildInformationBox(tr("Auto centering enabled")); + connect(m_gps, SIGNAL(position(QPointF,qreal)), + this, SLOT(setFirstStartZoomLevel(QPointF,qreal))); - } else { // Normal start - changeAutoCenteringSetting(autoCenteringEnabled.toBool()); - enableGPS(gpsEnabled.toBool()); + changeAutoCenteringSetting(true); + enableGPS(true); - if (gpsEnabled.toBool()) m_ui->buildInformationBox(tr("GPS enabled")); - - if (gpsEnabled.toBool() && autoCenteringEnabled.toBool()) m_ui->buildInformationBox(tr("Auto centering enabled")); + + } else { // Normal start + changeAutoCenteringSetting(autoCenteringEnabled.toBool()); + enableGPS(gpsEnabled.toBool()); + + if (gpsEnabled.toBool()) + m_ui->buildInformationBox(tr("GPS enabled")); + + if (gpsEnabled.toBool() && autoCenteringEnabled.toBool()) + m_ui->buildInformationBox(tr("Auto centering enabled")); + } + } else { + enableGPS(false); } } @@@ -407,8 -380,8 +420,8 @@@ void SituareEngine::signalsFromFacebook { 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))); @@@ -439,8 -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))); @@@ -450,9 -423,6 +463,9 @@@ void SituareEngine::signalsFromMainWind { qDebug() << __PRETTY_FUNCTION__; + connect(m_ui, SIGNAL(error(int)), + this, SLOT(error(int))); + connect(m_ui, SIGNAL(fetchUsernameFromSettings()), this, SLOT(fetchUsernameFromSettings())); @@@ -506,6 -476,9 +519,6 @@@ 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))); @@@ -518,8 -491,8 +531,8 @@@ void SituareEngine::signalsFromMapEngin { 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))); @@@ -547,8 -520,8 +560,8 @@@ void SituareEngine::signalsFromSituareS { 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))); @@@ -562,8 -535,8 +575,8 @@@ 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() diff --combined src/gps/gpsposition.h index 0aa6433,387e3ae..be69bf1 --- a/src/gps/gpsposition.h +++ b/src/gps/gpsposition.h @@@ -57,6 -57,13 +57,13 @@@ public ******************************************************************************/ public: /** + * @brief Returns is GPS initialized. + * + * @return true if initialized, false otherwise + */ + bool isInitialized(); + + /** * @brief Checks if GPS is running. * * @return true if GPS running, false otherwise @@@ -106,9 -113,9 +113,9 @@@ signals /** * @brief Signal for error. * - * @param message error code + * @param error error code */ - void error(int code); + void error(const int error); /** * @brief Signal for position information. diff --combined src/gps/gpspositionprivate.cpp index 1c4ac9f,68791b8..21421c7 --- a/src/gps/gpspositionprivate.cpp +++ b/src/gps/gpspositionprivate.cpp @@@ -25,7 -25,6 +25,7 @@@ #include #include +#include "common.h" #include "gpscommon.h" #include "gpsposition.h" #include "gpspositionprivate.h" @@@ -33,6 -32,7 +33,7 @@@ GPSPositionPrivate::GPSPositionPrivate(QObject *parent) : QObject(parent), m_gpsSource(0), + m_initialized(false), m_running(false), m_updateInterval(DEFAULT_UPDATE_INTERVAL) { @@@ -41,6 -41,13 +42,13 @@@ m_parent = static_cast(parent); } + bool GPSPositionPrivate::isInitialized() + { + qDebug() << __PRETTY_FUNCTION__; + + return m_initialized; + } + void GPSPositionPrivate::setMode(GPSPosition::Mode mode, const QString &filePath) { qDebug() << __PRETTY_FUNCTION__; @@@ -54,7 -61,8 +62,8 @@@ m_gpsSource = QGeoPositionInfoSource::createDefaultSource(this); if (!m_gpsSource) { + m_initialized = false; - emit m_parent->error(123); + emit m_parent->error(SituareError::GPS_INITIALIZATION_FAILED); return; } } @@@ -68,6 -76,7 +77,7 @@@ } if (m_gpsSource) { + m_initialized = true; connect(m_gpsSource, SIGNAL(positionUpdated(const QGeoPositionInfo &)), this, SLOT(positionUpdated(const QGeoPositionInfo &))); connect(m_gpsSource, SIGNAL(updateTimeout()), this, SLOT(updateTimeout())); @@@ -80,7 -89,7 +90,7 @@@ void GPSPositionPrivate::start( { qDebug() << __PRETTY_FUNCTION__; - if (m_gpsSource && !isRunning()) { + if (m_initialized && !isRunning()) { m_gpsSource->startUpdates(); m_running = true; } @@@ -90,7 -99,7 +100,7 @@@ void GPSPositionPrivate::stop( { qDebug() << __PRETTY_FUNCTION__; - if (m_gpsSource && isRunning()) { + if (m_initialized && isRunning()) { m_gpsSource->stopUpdates(); m_running = false; } diff --combined src/gps/gpspositionprivateliblocation.cpp index 092c421,2590fa1..b10a898 --- a/src/gps/gpspositionprivateliblocation.cpp +++ b/src/gps/gpspositionprivateliblocation.cpp @@@ -25,7 -25,6 +25,7 @@@ #include #include +#include "common.h" #include "gpscommon.h" #include "gpsposition.h" #include "gpspositionprivateliblocation.h" @@@ -34,6 -33,7 +34,7 @@@ GPSPositionPrivate::GPSPositionPrivate(QObject *parent) : QObject(parent), m_liblocationWrapper(0), + m_initialized(false), m_running(false), m_updateInterval(DEFAULT_UPDATE_INTERVAL) { @@@ -42,6 -42,13 +43,13 @@@ m_parent = static_cast(parent); } + bool GPSPositionPrivate::isInitialized() + { + qDebug() << __PRETTY_FUNCTION__; + + return m_initialized; + } + void GPSPositionPrivate::setMode(GPSPosition::Mode mode, const QString &filePath) { qDebug() << __PRETTY_FUNCTION__; @@@ -56,13 -63,15 +64,15 @@@ if (mode == GPSPosition::Default) { m_liblocationWrapper = new LiblocationWrapper(this); -- if (!m_liblocationWrapper) { ++ if (!m_liblocationWrapper) { + m_initialized = false; - emit m_parent->error(123); ///Change to correct error code + emit m_parent->error(SituareError::GPS_INITIALIZATION_FAILED); return; } } if (m_liblocationWrapper) { + m_initialized = true; m_liblocationWrapper->init(m_updateInterval); connect(m_liblocationWrapper, SIGNAL(locationChanged(const GeoPositionInfo &)), @@@ -76,7 -85,7 +86,7 @@@ void GPSPositionPrivate::start( { qDebug() << __PRETTY_FUNCTION__; - if (m_liblocationWrapper && !isRunning()) { + if (m_initialized && !isRunning()) { m_liblocationWrapper->startUpdates(); m_running = true; } @@@ -86,7 -95,7 +96,7 @@@ void GPSPositionPrivate::stop( { qDebug() << __PRETTY_FUNCTION__; - if (m_liblocationWrapper && isRunning()) { + if (m_initialized && isRunning()) { m_liblocationWrapper->stopUpdates(); m_running = false; } @@@ -138,7 -147,7 +148,7 @@@ void GPSPositionPrivate::locationError( Q_UNUSED(errorMessage); - emit m_parent->error(123); + emit m_parent->error(SituareError::GPS_INITIALIZATION_FAILED); } void GPSPositionPrivate::setUpdateInterval(int interval) diff --combined src/gps/gpspositionprivatestub.cpp index 7bcbf61,41f6a59..8f23493 --- a/src/gps/gpspositionprivatestub.cpp +++ b/src/gps/gpspositionprivatestub.cpp @@@ -21,7 -21,6 +21,7 @@@ #include +#include "common.h" #include "gpsposition.h" #include "gpspositionprivatestub.h" @@@ -33,6 -32,13 +33,13 @@@ GPSPositionPrivate::GPSPositionPrivate( m_parent = static_cast(parent); } + bool GPSPositionPrivate::isInitialized() + { + qDebug() << __PRETTY_FUNCTION__; + + return false; + } + bool GPSPositionPrivate::isRunning() { qDebug() << __PRETTY_FUNCTION__; @@@ -59,7 -65,7 +66,7 @@@ void GPSPositionPrivate::start( { qDebug() << __PRETTY_FUNCTION__; - emit m_parent->error(123); + emit m_parent->error(SituareError::GPS_INITIALIZATION_FAILED); } void GPSPositionPrivate::stop()