X-Git-Url: http://git.maemo.org/git/?a=blobdiff_plain;f=Client%2Fmeasuredialog.cpp;h=e6813f21bc02aeeb7965de14859933b886fba9c4;hb=3932141aa4e6ae8599d87b0f520b968ec9889266;hp=892b9b9c8277753db75414debcd6247a89aa42b4;hpb=2650becbf772dc623f16cf29f236fd19df335334;p=speedfreak diff --git a/Client/measuredialog.cpp b/Client/measuredialog.cpp index 892b9b9..e6813f2 100644 --- a/Client/measuredialog.cpp +++ b/Client/measuredialog.cpp @@ -1,10 +1,18 @@ +/* + * CarMainWindow main class + * + * @author Janne Änäkkälä + * @copyright (c) 2010 Speed Freak team + * @license http://opensource.org/licenses/gpl-license.php GNU Public License + */ + #include "measuredialog.h" #include "ui_measuredialog.h" - +#include "math.h" /** - *Constructor of this class. - *@param QWidget pointer to parent object. By default the value is NULL. + * Constructor of this class. + * @param QWidget pointer to parent object. By default the value is NULL. */ MeasureDialog::MeasureDialog(QWidget *parent) : QDialog(parent), @@ -17,9 +25,13 @@ MeasureDialog::MeasureDialog(QWidget *parent) : timer = new QTimer(); accelerometer = new Accelerometer(); - //accelerometer->start(); + accelerometer->setSampleRate(100); + accelerometer->start(); + + measures = new Measures(); + this->initializeMeasures(); - timer->setInterval(1000); + timer->setInterval(100); timer->start(); connect(this->timer, SIGNAL(timeout()), this, SLOT(after_timeout())); } @@ -45,19 +57,77 @@ void MeasureDialog::changeEvent(QEvent *e) } /** - *This slot function is called when timer gives timeout signal. + * This slot function is called when timer gives timeout signal. Checks current speed + * and stores times in measure class. */ void MeasureDialog::after_timeout() { QString timeString, speedString; - time++; + //time++; + time = accelerometer->getTotalTime(); speed = accelerometer->getCurrentSpeed(); + //speed = speed +10; + + if (floor(speed) == 10) + { + measures->setTime10kmh(time); + } + + else if (floor(speed) == 20) + { + measures->setTime20kmh(time); + } + + else if (floor(speed) == 30) + { + measures->setTime30kmh(time); + } + + else if (floor(speed) == 40) + { + measures->setTime40kmh(time); + } + + else if (floor(speed) == 50) + { + measures->setTime50kmh(time); + } + + else if (floor(speed) == 60) + { + measures->setTime60kmh(time); + } + + else if (floor(speed) == 70) + { + measures->setTime70kmh(time); + } + + else if (floor(speed) == 80) + { + measures->setTime80kmh(time); + } + + else if (floor(speed) == 90) + { + measures->setTime90kmh(time); + } + + else if (floor(speed) == 100) + { + measures->setTime100kmh(time); + } + + else + { + + } // If speed is over 100 km/h emits speedAchieved() signal and close this dialog. - if(speed>=100.0) + if (speed >= 40.0) { timer->stop(); - //accelerometer->stop(); + accelerometer->stop(); time = 0; speed = 0; emit this->speedAchieved(); @@ -74,16 +144,44 @@ void MeasureDialog::after_timeout() ui->labelTime->setText(timeString); timer->start(); } + } /** - *This slot function is called when Abort button is clicked. + * This slot function is called when Abort button is clicked. */ void MeasureDialog::on_pushButtonAbort_clicked() { + measures->setTime10kmh(0); + measures->setTime20kmh(0); + measures->setTime30kmh(0); + measures->setTime40kmh(0); + measures->setTime50kmh(0); + measures->setTime60kmh(0); + measures->setTime70kmh(0); + measures->setTime80kmh(0); + measures->setTime90kmh(0); + measures->setTime100kmh(0); timer->stop(); - //accelerometer->stop(); + accelerometer->stop(); time = 0; speed = 0; this->close(); } + +/** + * Initializes measures class's member variables. + */ +void MeasureDialog::initializeMeasures() +{ + measures->setTime10kmh(0); + measures->setTime20kmh(0); + measures->setTime30kmh(0); + measures->setTime40kmh(0); + measures->setTime50kmh(0); + measures->setTime60kmh(0); + measures->setTime70kmh(0); + measures->setTime80kmh(0); + measures->setTime90kmh(0); + measures->setTime100kmh(0); +}