1 #include "measuredialog.h"
2 #include "ui_measuredialog.h"
7 * Constructor of this class.
8 * @param QWidget pointer to parent object. By default the value is NULL.
10 MeasureDialog::MeasureDialog(QWidget *parent) :
12 ui(new Ui::MeasureDialog)
15 ui->labelInfo->setText("Accelerate to 100 km/h");
20 accelerometer = new Accelerometer();
21 accelerometer->setSampleRate(100);
22 accelerometer->start();
24 measures = new Measures();
25 this->initializeMeasures();
27 timer->setInterval(100);
29 connect(this->timer, SIGNAL(timeout()), this, SLOT(after_timeout()));
33 *Destructor of this class. Should be used to release all allocated resources.
35 MeasureDialog::~MeasureDialog()
40 void MeasureDialog::changeEvent(QEvent *e)
42 QDialog::changeEvent(e);
44 case QEvent::LanguageChange:
45 ui->retranslateUi(this);
53 * This slot function is called when timer gives timeout signal. Checks current speed
54 * and stores times in measure class.
56 void MeasureDialog::after_timeout()
58 QString timeString, speedString;
60 time = accelerometer->getTotalTime();
61 speed = accelerometer->getCurrentSpeed();
64 if (floor(speed) == 10)
66 measures->setTime10kmh(time);
69 else if (floor(speed) == 20)
71 measures->setTime20kmh(time);
74 else if (floor(speed) == 30)
76 measures->setTime30kmh(time);
79 else if (floor(speed) == 40)
81 measures->setTime40kmh(time);
84 else if (floor(speed) == 50)
86 measures->setTime50kmh(time);
89 else if (floor(speed) == 60)
91 measures->setTime60kmh(time);
94 else if (floor(speed) == 70)
96 measures->setTime70kmh(time);
99 else if (floor(speed) == 80)
101 measures->setTime80kmh(time);
104 else if (floor(speed) == 90)
106 measures->setTime90kmh(time);
109 else if (floor(speed) == 100)
111 measures->setTime100kmh(time);
119 // If speed is over 100 km/h emits speedAchieved() signal and close this dialog.
123 accelerometer->stop();
126 emit this->speedAchieved();
131 // Updates speed and time.
134 timeString.setNum(time);
135 speedString.setNum(speed);
136 ui->labelSpeed->setText(speedString);
137 ui->labelTime->setText(timeString);
144 * This slot function is called when Abort button is clicked.
146 void MeasureDialog::on_pushButtonAbort_clicked()
148 measures->setTime10kmh(0);
149 measures->setTime20kmh(0);
150 measures->setTime30kmh(0);
151 measures->setTime40kmh(0);
152 measures->setTime50kmh(0);
153 measures->setTime60kmh(0);
154 measures->setTime70kmh(0);
155 measures->setTime80kmh(0);
156 measures->setTime90kmh(0);
157 measures->setTime100kmh(0);
159 accelerometer->stop();
166 * Initializes measures class's member variables.
168 void MeasureDialog::initializeMeasures()
170 measures->setTime10kmh(0);
171 measures->setTime20kmh(0);
172 measures->setTime30kmh(0);
173 measures->setTime40kmh(0);
174 measures->setTime50kmh(0);
175 measures->setTime60kmh(0);
176 measures->setTime70kmh(0);
177 measures->setTime80kmh(0);
178 measures->setTime90kmh(0);
179 measures->setTime100kmh(0);