2 * CarMainWindow main class
4 * @author Toni Jussila <toni.jussila@fudeco.com>
5 * @author Janne Änäkkälä <janne.anakkala@fudeco.com>
6 * @author Tiina Kivilinna-Korhola <tiina.kivilinna-korhola@fudeco.com>
7 * @author Olavi Pulkkinen <olavi.pulkkinen@fudeco.com>
8 * @copyright (c) 2010 Speed Freak team
9 * @license http://opensource.org/licenses/gpl-license.php GNU Public License
12 #ifndef CARMAINWINDOW_H
13 #define CARMAINWINDOW_H
15 #include <QMainWindow>
16 #include <QStandardItemModel>
17 #include <QModelIndex>
18 #include <QStringList>
20 #include <QNetworkAccessManager>
21 #include <QNetworkRequest>
22 #include <QNetworkReply>
23 #include <QMessageBox>
24 #include <QStandardItemModel>
28 //#include "resultdialog.h"
29 //#include "measuredialog.h"
30 #include "welcomedialog.h"
31 #include "loginwindow.h"
32 #include "registration.h"
33 #include "xmlwriter.h"
34 #include "xmlreader.h"
35 #include "ui_carmainwindow.h"
36 #include "stringlistmodel.h"
38 #include "accelerometer.h"
39 #include "categorylist.h"
45 class CarMainWindow : public QMainWindow {
48 CarMainWindow(QWidget *parent = 0);
51 void setComboBoxStartTabUnits(QStringList units); //Start-tab view
52 void setListViewStartTabAccelerationCategories(QStringList numbers); //Start-tab view
53 void setListViewTopList(QString category, int size); //Top-tab view
54 void setCategoryCompoBox(); //Top-tab
57 void changeEvent(QEvent *e);
60 Ui::CarMainWindow *ui;
61 //ResultDialog *result;
62 //MeasureDialog *measure;
63 WelcomeDialog *welcomeDialog;
66 QNetworkAccessManager* manager;
68 Registration *myRegistration;
69 //void initCategoryCompoBox(); //
70 void initComboBoxStartTabUnits(); //Start-tab view
71 void initListViewStartTabAccelerationCategories(); //Start-tab view
73 void initializeMeasures();
76 QStringList accelerationCategoriesStartTab; //Start-tab view
77 QStringList units; //Start-tab view
78 QStringList categories; //Top-tab view
79 CategoryList *categorylist;
82 Accelerometer *accelerometer;
89 void userNameChanged();
92 void on_pushButtonSendResult_clicked();
93 void on_pushButtonMeasureTabAbort_clicked();
94 void on_manualStartButton_clicked();
95 void on_setUserPushButton_clicked();
96 void on_registratePushButton_clicked();
97 void on_comboBoxTopCategory_activated(QString );
98 //void on_pushButton_clicked();
99 void on_comboBoxTopCategory_currentIndexChanged(QString category); //Top-tab view
100 void on_listViewStartTabAccelerationCategories_clicked(QModelIndex index); //Start-tab view
101 void updateComboBoxStartTabUnits(QString unit); //Start-tab view
102 void openResultView();
103 void on_buttonTopRefresh_clicked(); //Top-tab view: button
104 void on_autoStartButton_clicked(); //Start-tab view: button
106 void sendResultXml();
107 void requestTopList(QString category, QString limit);
108 void requestCategories();
110 void ackOfRegistration();
111 void ackOfCategories();
113 void errorFromServer(QNetworkReply::NetworkError);
114 void after_timeout();
115 void updateUserName();
118 #endif // CARMAINWINDOW_H