Merged gpspositionprivate.cpp from master branch.
authorJussi Laitinen <jupe@l3l7588.ixonos.local>
Fri, 4 Jun 2010 11:06:03 +0000 (14:06 +0300)
committerJussi Laitinen <jupe@l3l7588.ixonos.local>
Fri, 4 Jun 2010 11:06:03 +0000 (14:06 +0300)
src/gps/gpspositionprivate.cpp
src/src.pro

index 956d9e7..e16d34c 100644 (file)
@@ -50,7 +50,7 @@ void GPSPositionPrivate::setMode(GPSPosition::Mode mode, const QString &filePath
     }
 
     if (mode == GPSPosition::Default) {
-        m_gpsSource = new QGeoPositionInfoSource(this);
+        m_gpsSource = QGeoPositionInfoSource::createDefaultSource(this);
 
         if (!m_gpsSource) {
             emit m_parent->error(tr("Unable to use GPS"));
@@ -67,9 +67,9 @@ void GPSPositionPrivate::setMode(GPSPosition::Mode mode, const QString &filePath
     }
 
     if (m_gpsSource) {
-        connect(m_gpsSource, SIGNAL(positionUpdated(const GeoPositionInfo &)),
-                this, SLOT(positionUpdated(const GeoPositionInfo &)));
-        //connect(m_gpsSource, SIGNAL(updateTimeout()), this, SLOT(updateTimeout()));
+        connect(m_gpsSource, SIGNAL(positionUpdated(const QGeoPositionInfo &)),
+                this, SLOT(positionUpdated(const QGeoPositionInfo &)));
+        connect(m_gpsSource, SIGNAL(updateTimeout()), this, SLOT(updateTimeout()));
 
         m_gpsSource->setUpdateInterval(m_updateInterval);
     }
@@ -104,31 +104,29 @@ bool GPSPositionPrivate::isRunning()
 
 QPointF GPSPositionPrivate::lastPosition()
 {
-    GeoPositionInfo positionInfo = m_gpsSource->lastKnownPosition();
-
-    return QPointF(positionInfo.coordinate().longitude(), positionInfo.coordinate().latitude());
+    QGeoCoordinate coordinate = m_gpsSource->lastKnownPosition().coordinate();
+    return QPointF(coordinate.longitude(), coordinate.latitude());
 }
 
 void GPSPositionPrivate::requestLastPosition()
 {
     qDebug() << __PRETTY_FUNCTION__;
 
-    GeoPositionInfo positionInfo = m_gpsSource->lastKnownPosition();
+    QGeoCoordinate coordinate = m_gpsSource->lastKnownPosition().coordinate();
 
-    if (positionInfo.isValid()) {
-        GeoCoordinate coordinate = positionInfo.coordinate();
+    if (coordinate.isValid()) {
         emit m_parent->position(QPointF(coordinate.longitude(), coordinate.latitude()),
                       accuracy(m_gpsSource->lastKnownPosition()));
     }
 }
 
-void GPSPositionPrivate::positionUpdated(const GeoPositionInfo &positionInfo)
+void GPSPositionPrivate::positionUpdated(const QGeoPositionInfo &positionInfo)
 {
     qDebug() << __PRETTY_FUNCTION__ << positionInfo;
 
     if (positionInfo.coordinate().isValid()) {
-        GeoCoordinate coordinate = positionInfo.coordinate();
-        emit m_parent->position(QPointF(coordinate.longitude(), coordinate.latitude()),
+        emit m_parent->position(QPointF(positionInfo.coordinate().longitude(),
+                              positionInfo.coordinate().latitude()),
                       accuracy(positionInfo));
     }
 }
@@ -150,15 +148,17 @@ void GPSPositionPrivate::setUpdateInterval(int interval)
     }
 }
 
-qreal GPSPositionPrivate::accuracy(const GeoPositionInfo &positionInfo)
+qreal GPSPositionPrivate::accuracy(const QGeoPositionInfo &positionInfo)
 {
     qDebug() << __PRETTY_FUNCTION__;
 
-    if (!positionInfo.timestamp().isValid())
+    QDateTime timestamp;
+
+    if (!positionInfo.dateTime().isValid())
         return GPS_ACCURACY_UNDEFINED;
 
-    if (positionInfo.hasAttribute(GeoPositionInfo::HorizontalAccuracy))
-        return positionInfo.attribute(GeoPositionInfo::HorizontalAccuracy);
+    if (positionInfo.hasAttribute(QGeoPositionInfo::HorizontalAccuracy))
+        return positionInfo.attribute(QGeoPositionInfo::HorizontalAccuracy);
     else
         return GPS_ACCURACY_UNDEFINED;
 }
index 87f6238..15bf4a7 100644 (file)
@@ -116,11 +116,13 @@ maemo5 | simulator {
     SOURCES += gps/gpspositionprivateliblocation.cpp \
                gps/liblocationwrapper.cpp \
                gps/geopositioninfo.cpp \
-               gps/geocoordinate.cpp
+               gps/geocoordinate.cpp \
+               gps/gpspositionprivate.cpp
     HEADERS += gps/gpspositionprivateliblocation.h \
                gps/liblocationwrapper.h \
                gps/geopositioninfo.h \
-               gps/geocoordinate.h
+               gps/geocoordinate.h \
+               gps/gpspositionprivate.h
     QT += maemo5
     CONFIG += link_pkgconfig
     PKGCONFIG += glib-2.0 liblocation