routeStopTime = "";
recordingStatus = false;
roundCounter = 0;
+ distance = 0;
}
/**
if (!routeTempFile.open(QIODevice::Append | QIODevice::Text))
return;
+ distance += location->distance_between_two_points(latitudePrevious, longitudePrevious, latitude, longitude);
writeRouteXml(&routeTempFile, 0);
roundCounter ++;
routeTempFile.close();
xmlwriter.writeEndDocument();
}
}
+
+/**
+ *This function returns distance traveled since recording started.
+ */
+double GPSData::getDistanceTraveled()
+{
+ return distance;
+}
void stopRouteRecording();
int roundCounter; //testing, move private!!!
+ double getDistanceTraveled();
+
private:
Maemo5Location *location;
void resetAll();
double epc; //Climb accuracy in m/s.
double latitudePrevious;
double longitudePrevious;
+ double distance;
QString routeStartTime;
QString routeStopTime;
QString sLatitudeNow;
/**
* Constructor of this class.
*/
-//RouteDialog::RouteDialog(QWidget *parent) :
RouteDialog::RouteDialog(RouteSaveDialog *parent) :
QDialog(parent), ui(new Ui::RouteDialog)
{
// Set average speed
ui->avgSpeedValueLabel->setText(QString::number(parent->getAverageSpeed()) + " km/h");
+ ui->distanceValueLabel->setText(parent->getDistanceTraveled() + " km");
}
/**
Q_OBJECT
public:
- //RouteDialog(QWidget *parent = 0);
RouteDialog(RouteSaveDialog *parent = 0);
~RouteDialog();
bool readRouteFromFile( QString &routeFile);
<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"/>
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);
ui->labelGpsSpeed->setVisible(0);
ui->labelGpsAvgSpeed->setVisible(0);
+ //GPS distance label
+ ui->labelDistance->setVisible(0);
+
//Stop route recording
gpsData->stopRouteRecording();
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();
}
//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
//Set GPS speed labels in visible
ui->labelGpsSpeed->setVisible(0);
ui->labelGpsAvgSpeed->setVisible(0);
+
+ //GPS distance label
+ ui->labelDistance->setVisible(0);
}
}
{
return averageSpeed;
}
+
+/**
+ * This function return distance traveled in QString.
+ * @return QString distance traveled
+ */
+QString RouteSaveDialog::getDistanceTraveled()
+{
+ return distanceString;
+}
RouteDialog *routeDialog;
HelpRoutingDialog *helpRoutingDialog;
double getAverageSpeed();
+ QString getDistanceTraveled();
protected:
void changeEvent(QEvent *e);
GPSData *gpsData;
Maemo5Location *location;
QString gpsSpeed;
+ QString distanceString;
QPixmap *pixmapRouteStop;
QPixmap *pixmapRouteStart;
QIcon *iconRouteStop;
<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"/>