Merge branch 'feature/distance'
authorJanne Änäkkälä <janne_anakkala@hotmail.com>
Tue, 27 Apr 2010 10:37:58 +0000 (13:37 +0300)
committerJanne Änäkkälä <janne_anakkala@hotmail.com>
Tue, 27 Apr 2010 10:37:58 +0000 (13:37 +0300)
Client/gpsdata.cpp
Client/gpsdata.h
Client/routedialog.cpp
Client/routedialog.h
Client/routedialog.ui
Client/routesavedialog.cpp
Client/routesavedialog.h
Client/routesavedialog.ui

index 36dd60c..abd4141 100644 (file)
@@ -73,6 +73,7 @@ void GPSData::resetAll()
     routeStopTime = "";
     recordingStatus = false;
     roundCounter = 0;
+    distance = 0;
 }
 
 /**
@@ -134,6 +135,7 @@ void GPSData::agnss()
                     if (!routeTempFile.open(QIODevice::Append | QIODevice::Text))
                         return;
 
+                    distance += location->distance_between_two_points(latitudePrevious, longitudePrevious, latitude, longitude);
                     writeRouteXml(&routeTempFile, 0);
                     roundCounter ++;
                     routeTempFile.close();
@@ -278,3 +280,11 @@ void GPSData::writeRouteXml(QIODevice *device, int round)
         xmlwriter.writeEndDocument();     
     }
 }
+
+/**
+  *This function returns distance traveled since recording started.
+  */
+double GPSData::getDistanceTraveled()
+{
+    return distance;
+}
index f7b40e8..0327c45 100644 (file)
@@ -26,6 +26,8 @@ public:
     void stopRouteRecording();
     int roundCounter; //testing, move private!!!
 
+    double getDistanceTraveled();
+
 private:
     Maemo5Location *location;
     void resetAll();
@@ -50,6 +52,7 @@ private:
     double epc;          //Climb accuracy in m/s.
     double latitudePrevious;
     double longitudePrevious;
+    double distance;
     QString routeStartTime;
     QString routeStopTime;
     QString sLatitudeNow;
index da4853e..dbe0772 100644 (file)
@@ -170,7 +170,6 @@ qreal countDistance(Vector *p1, Vector *p2)
 /**
   * Constructor of this class.
   */
-//RouteDialog::RouteDialog(QWidget *parent) :
 RouteDialog::RouteDialog(RouteSaveDialog *parent) :
     QDialog(parent), ui(new Ui::RouteDialog)
 {
@@ -198,6 +197,7 @@ RouteDialog::RouteDialog(RouteSaveDialog *parent) :
 
     // Set average speed
     ui->avgSpeedValueLabel->setText(QString::number(parent->getAverageSpeed()) + " km/h");
+    ui->distanceValueLabel->setText(parent->getDistanceTraveled() + " km");
 }
 
 /**
index 2b9aa4c..b3250d7 100644 (file)
@@ -22,7 +22,6 @@ class RouteDialog : public QDialog {
     Q_OBJECT
 
 public:
-    //RouteDialog(QWidget *parent = 0);
     RouteDialog(RouteSaveDialog *parent = 0);
     ~RouteDialog();
     bool readRouteFromFile( QString &routeFile);
index d7fb136..e89d67d 100644 (file)
     <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
    </property>
   </widget>
+  <widget class="QLabel" name="distanceValueLabel">
+   <property name="geometry">
+    <rect>
+     <x>560</x>
+     <y>260</y>
+     <width>135</width>
+     <height>31</height>
+    </rect>
+   </property>
+   <property name="text">
+    <string>distance</string>
+   </property>
+   <property name="alignment">
+    <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
+   </property>
+  </widget>
+  <widget class="QLabel" name="distanceLabel">
+   <property name="geometry">
+    <rect>
+     <x>560</x>
+     <y>230</y>
+     <width>131</width>
+     <height>31</height>
+    </rect>
+   </property>
+   <property name="text">
+    <string>Distance:</string>
+   </property>
+   <property name="alignment">
+    <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
+   </property>
+  </widget>
  </widget>
  <resources>
   <include location="graphics.qrc"/>
index 3153b21..6d355e6 100644 (file)
@@ -60,6 +60,7 @@ RouteSaveDialog::RouteSaveDialog(QWidget *parent) :
     ui->labelRoutePicture->setVisible(0);
     ui->labelGpsSpeed->setVisible(0); //GPS speed label
     ui->labelGpsAvgSpeed->setVisible(0); //GPS average speed label
+    ui->labelDistance->setVisible(0); //GPS distance label
     ui->labelSignalStrength->setText(""); //GPS signal strength label
     timerRoutePicture = new QTimer();
     timerRoutePicture->setInterval(400);
@@ -160,6 +161,9 @@ void RouteSaveDialog::on_buttonRouteStartStop_clicked()
         ui->labelGpsSpeed->setVisible(0);
         ui->labelGpsAvgSpeed->setVisible(0);
 
+        //GPS distance label
+        ui->labelDistance->setVisible(0);
+
         //Stop route recording
         gpsData->stopRouteRecording();
 
@@ -248,6 +252,11 @@ void RouteSaveDialog::gpsStatus()
             ui->labelGpsAvgSpeed->setVisible(1);
             speedCount++;
 
+            //Set distance traveled.
+            distanceString.sprintf("%.3f", gpsData->getDistanceTraveled());
+            ui->labelDistance->setText(distanceString + " km");
+            ui->labelDistance->setVisible(1);
+
             //Start route recording
             gpsData->startRouteRecording();
         }
@@ -268,6 +277,9 @@ void RouteSaveDialog::gpsStatus()
             //Set GPS speed labels in visible
             ui->labelGpsSpeed->setVisible(0);
             ui->labelGpsAvgSpeed->setVisible(0);
+
+            //GPS distance label
+            ui->labelDistance->setVisible(0);
         }
     }
     else //If stop button clicked
@@ -287,6 +299,9 @@ void RouteSaveDialog::gpsStatus()
         //Set GPS speed labels in visible
         ui->labelGpsSpeed->setVisible(0);
         ui->labelGpsAvgSpeed->setVisible(0);
+
+        //GPS distance label
+        ui->labelDistance->setVisible(0);
     }
 }
 
@@ -332,3 +347,12 @@ double RouteSaveDialog::getAverageSpeed()
 {
     return averageSpeed;
 }
+
+/**
+  * This function return distance traveled in QString.
+  * @return QString distance traveled
+  */
+QString RouteSaveDialog::getDistanceTraveled()
+{
+    return distanceString;
+}
index 1dda5ff..bb1f189 100644 (file)
@@ -31,6 +31,7 @@ public:
     RouteDialog *routeDialog;
     HelpRoutingDialog *helpRoutingDialog;
     double getAverageSpeed();
+    QString getDistanceTraveled();
 
 protected:
     void changeEvent(QEvent *e);
@@ -42,6 +43,7 @@ private:
     GPSData *gpsData;
     Maemo5Location *location;
     QString gpsSpeed;
+    QString distanceString;
     QPixmap *pixmapRouteStop;
     QPixmap *pixmapRouteStart;
     QIcon *iconRouteStop;
index 7c4ccbd..1537c1b 100644 (file)
     <set>Qt::AlignCenter</set>
    </property>
   </widget>
+  <widget class="QLabel" name="labelDistance">
+   <property name="geometry">
+    <rect>
+     <x>350</x>
+     <y>250</y>
+     <width>241</width>
+     <height>91</height>
+    </rect>
+   </property>
+   <property name="font">
+    <font>
+     <pointsize>36</pointsize>
+    </font>
+   </property>
+   <property name="text">
+    <string>Distance</string>
+   </property>
+   <property name="alignment">
+    <set>Qt::AlignCenter</set>
+   </property>
+  </widget>
  </widget>
  <resources>
   <include location="graphics.qrc"/>