X-Git-Url: http://git.maemo.org/git/?p=speedfreak;a=blobdiff_plain;f=Client%2Fmeasuredialog.cpp;h=7e6553757d02a32f3d857c8c5ea18611b1bdf2b5;hp=528018e6d0f1ebd5071a7e2329031e760e02b18a;hb=e555ac29de66892f09396ee7d6cd2a92374629b0;hpb=6f8846a20d7e9f2358e69db1d1982d96c7d8ba75 diff --git a/Client/measuredialog.cpp b/Client/measuredialog.cpp index 528018e..7e65537 100644 --- a/Client/measuredialog.cpp +++ b/Client/measuredialog.cpp @@ -3,8 +3,8 @@ /** - *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,8 +17,12 @@ MeasureDialog::MeasureDialog(QWidget *parent) : timer = new QTimer(); accelerometer = new Accelerometer(); + accelerometer->setSampleRate(100); accelerometer->start(); + measures = new Measures(); + this->initializeMeasures(); + timer->setInterval(100); timer->start(); connect(this->timer, SIGNAL(timeout()), this, SLOT(after_timeout())); @@ -45,17 +49,74 @@ 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 = accelerometer->getIntervalTime(); + time = accelerometer->getTotalTime(); speed = accelerometer->getCurrentSpeed(); + //speed = speed +10; + + if (speed > 9.7 && speed < 10.3) + { + measures->setTime10kmh(time); + } + + else if (speed > 19.7 && speed < 20.3) + { + measures->setTime20kmh(time); + } + + else if (speed > 29.7 && speed < 30.3) + { + measures->setTime30kmh(time); + } + + else if (speed > 39.7 && speed < 40.3) + { + measures->setTime40kmh(time); + } + + else if (speed > 49.7 && speed < 50.3) + { + measures->setTime50kmh(time); + } + + else if (speed > 59.7 && speed < 60.3) + { + measures->setTime60kmh(time); + } + + else if (speed > 69.7 && speed < 70.3) + { + measures->setTime70kmh(time); + } + + else if (speed > 79.7 && speed < 80.3) + { + measures->setTime80kmh(time); + } + + else if (speed > 89.7 && speed < 90.3) + { + measures->setTime90kmh(time); + } + + else if (speed > 99.7 && speed < 100.3) + { + 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(); @@ -75,16 +136,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(); 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); +}