Added implementation to handleCheckPoint slot function in carmainwindow.cpp. Now...
[speedfreak] / Client / carmainwindow.h
index 8e35375..934a48c 100644 (file)
@@ -1,3 +1,16 @@
+/*
+ * CarMainWindow main class
+ *
+ * @author     Toni Jussila <toni.jussila@fudeco.com>
+ * @author     Janne Änäkkälä <janne.anakkala@fudeco.com>
+ * @author     Tiina Kivilinna-Korhola <tiina.kivilinna-korhola@fudeco.com>
+ * @author     Olavi Pulkkinen <olavi.pulkkinen@fudeco.com>
+ * @author     Rikhard Kuutti <rikhard.kuutti@fudeco.com>
+ * @author     Kai Rasilainen <kai.rasilainen@fudeco.com>
+ * @copyright  (c) 2010 Speed Freak team
+ * @license    http://opensource.org/licenses/gpl-license.php GNU Public License
+ */
+
 #ifndef CARMAINWINDOW_H
 #define CARMAINWINDOW_H
 
 #include <QStringList>
 #include <QString>
 #include <QNetworkAccessManager>
-#include <QStandardItemModel>
 #include <QNetworkRequest>
+#include <QNetworkReply>
+#include <QMessageBox>
+#include <QStandardItemModel>
+#include <QBuffer>
+#include <QByteArray>
+#include <QDebug>
+#include <qdatetime.h>
 #include "resultdialog.h"
-#include "measuredialog.h"
+//#include "measuredialog.h"
+#include "welcomedialog.h"
 #include "loginwindow.h"
 #include "registration.h"
+#include "xmlwriter.h"
 #include "xmlreader.h"
 #include "ui_carmainwindow.h"
 #include "stringlistmodel.h"
+#include "measures.h"
+#include "accelerometer.h"
+#include "categorylist.h"
+#include "httpclient.h"
+#include "routedialog.h"
+#include "calculate.h"
+#include "gpsdata.h"
+#include <maemo5location.h>
 
 namespace Ui {
     class CarMainWindow;
@@ -26,11 +55,13 @@ class CarMainWindow : public QMainWindow {
 public:
     CarMainWindow(QWidget *parent = 0);
     ~CarMainWindow();
+    Registration *myRegistration;       //Check if this should be public or private
+
 
-    void setComboBoxStartTabUnits(QStringList units);    //Start-tab view
+    void setComboBoxStartTabUnits(QStringList units);       //Start-tab view
     void setListViewStartTabAccelerationCategories(QStringList numbers); //Start-tab view
-    void setListViewTopList(QString category);  //Top-tab view
-    void setCategoryCompoBox(); //Top-tab
+    void setListViewTopList(QString category, int size);    //Top-tab view
+    void setCategoryCompoBox();                             //Top-tab
 
 protected:
     void changeEvent(QEvent *e);
@@ -38,33 +69,91 @@ protected:
 private:
     Ui::CarMainWindow *ui;
     ResultDialog *result;
-    MeasureDialog *measure;
-    XmlReader *xmlreader;
-    QNetworkAccessManager* manager;
+    //MeasureDialog *measure;
+    WelcomeDialog *welcomeDialog;
+    CategoryList *categorylist;
+    HttpClient *myHttpClient;
     LoginWindow *myLogin;
-    Registration *myRegistration;
-    //void initCategoryCompoBox();    //
-    void initComboBoxStartTabUnits();    //Start-tab view
-    void initListViewStartTabAccelerationCategories();   //Start-tab view
+    RouteDialog *myRoute;
+    GPSData *gpsData;
+    Maemo5Location *location;
+    //void initCategoryCompoBox();
+    void initComboBoxStartTabUnits();                   //Start-tab view
+    void initListViewStartTabAccelerationCategories();  //Start-tab view
+    void initializeMeasures();
+    void resetAccelerometerMeasurements();
+    void calibrateAccelerometer();
+    void setTimeAxisGapAndShowResult(double pTime);
 
 private:
-    QStringList accelerationCategoriesStartTab; //Start-tab view
-    QStringList units;  //Start-tab view
-    QStringList categories; //Top-tab view
+    QStringList accelerationCategoriesStartTab;         //Start-tab view
+    QStringList units;                                  //Start-tab view
+    QStringList categories;                             //Top-tab view
+
+    QTimer *timer;
+    Accelerometer *accelerometer;
+    double time;
+    double speed;
+    Measures *measures;
+
+    QModelIndex choice;
+    int choiceInt;
+
+    Calculate *calculate;
+
+    bool reverseAccelerationFlag;
+    bool vehicleStartedMoving;
+    bool isNewRun;
+    bool isSetup;
+
+    double stopTime;
+    double accelerationStartThreshold;
+    double currentAcceleration;
+    double currentTime;
+    double previousTime;
+    double firstAcceleration;
+
+    QTimer *accelerometerTimer;
+    QTime stopWatch;
+
+    QString currentAccelerationString;
+    QString currentSpeed;
+    QString distanceTraveled;
+    QString horsepower;
+    QString totalTime;
+
+    QDateTime *gpsTime;
+
+    int counterForSaveResults;
+
+signals:
+    void speedAchieved();
+    void userNameChanged();
 
 private slots:
+    void on_pushButtonShowResultDialog_clicked();
+    void on_gpsOnCheckBox_stateChanged(int GPSState);   //Route-tab view
+    void gpsStatus();                                   //Route-tab view
+    void on_drawRoutePushButton_clicked();
+    void on_pushButtonSendResult_clicked();
+    void on_pushButtonMeasureTabAbort_clicked();
+    void on_manualStartButton_clicked();
     void on_setUserPushButton_clicked();
     void on_registratePushButton_clicked();
-    void on_loginLogoutButton_clicked();
     void on_comboBoxTopCategory_activated(QString );
-    void on_pushButton_clicked();
-    void networkResponse(QNetworkReply*);
-    void on_comboBoxTopCategory_currentIndexChanged(QString category); //Top-tab view
-    void on_listViewStartTabAccelerationCategories_clicked(QModelIndex index); //Start-tab view
-    void updateComboBoxStartTabUnits(QString unit);  //Start-tab view
+    //void on_pushButton_clicked();
+    void on_comboBoxTopCategory_currentIndexChanged(QString category);          //Top-tab view
+    void on_listViewStartTabAccelerationCategories_clicked(QModelIndex index);  //Start-tab view
+    void updateComboBoxStartTabUnits(QString unit);     //Start-tab view
     void openResultView();
-    void on_buttonTopRefresh_clicked(); //Top-tab view: button
-    void on_autoStartButton_clicked();  //Start-tab view: button
+    void on_buttonTopRefresh_clicked();                 //Top-tab view: button
+    void on_autoStartButton_clicked();                  //Start-tab view: button
+    void after_timeout();
+    void updateUserName();
+    void regUserToServer();
+    void userLogin();
+    void readAccelerometerData();
+    void handleCheckPoint(double totalTime, double currentSpeed);
 };
 
 #endif // CARMAINWINDOW_H