More connecting client-server functionality to GUI.
[speedfreak] / Client / mainwindow.h
1 /*
2  * Mainwindow for speedFreak project
3  *
4  * @author      Rikhard Kuutti <rikhard.kuutti@fudeco.com>
5  * @copyright   (c) 2010 Speed Freak team
6  * @license     http://opensource.org/licenses/gpl-license.php GNU Public License
7  */
8
9 #ifndef MAINWINDOW_H
10 #define MAINWINDOW_H
11
12 #include <QMainWindow>
13 #include <QNetworkAccessManager>
14 #include <QNetworkRequest>
15 #include <QNetworkReply>
16 #include <QMessageBox>
17 #include "creditsdialog.h"
18 #include "routesavedialog.h"
19 #include "routedialog.h"
20 #include "welcomedialog.h"
21 #include "settingsdialog.h"
22 #include "accelerationstart.h"
23 #include "topresultdialog.h"
24 #include "httpclient.h"
25 #include "resultdialog.h"
26
27 namespace Ui {
28     class MainWindow;
29 }
30
31 class MainWindow : public QMainWindow {
32     Q_OBJECT
33 public:
34     MainWindow(QWidget *parent = 0);
35     ~MainWindow();
36
37     CreditsDialog *creditsDialog;
38     RouteSaveDialog *routeSaveDialog;
39     RouteDialog *routeDialog;
40     WelcomeDialog *welcomeDialog;
41     SettingsDialog *settingsDialog;
42     accelerationstart* accstart;
43     TopResultDialog *topResultDialog;
44     HttpClient *httpClient;
45     ResultDialog *resultDialog;
46
47 protected:
48     void changeEvent(QEvent *e);
49
50 private:
51     Ui::MainWindow *ui;
52     void setListViewTopList(QString category, int size);
53
54 private slots:
55     void on_pushButtonResults_clicked();
56     void on_pushButtonAccelerate_clicked();
57     void on_pushButtonSettings_clicked();
58     void on_pushButtonRoute_clicked();
59     void on_pushButtonCredits_clicked();
60     void on_pushButtonWWW_clicked();
61     void clientRequestCategoryList();
62     void clientRequestTopList(int index);
63     void clientSendRoute();
64     void clientRegUserToServer();
65     void clientUserLogin();
66     void clientSendResult(double result);
67     void setCategoryCompoBox();
68     void showTop10();
69 };
70
71 #endif // MAINWINDOW_H