X-Git-Url: http://git.maemo.org/git/?p=speedfreak;a=blobdiff_plain;f=Client%2Fmainwindow.cpp;h=4f32eeec6f0801b03be6d61791fcaa0a7627507e;hp=324f3f671f66b9c994c4229eeb3fe72cec26dff0;hb=f31a65d2249d6ddf024f9427e2036e2565ed747b;hpb=cff9082eb2e1860d474fb89749a2ac4845885627 diff --git a/Client/mainwindow.cpp b/Client/mainwindow.cpp index 324f3f6..4f32eee 100644 --- a/Client/mainwindow.cpp +++ b/Client/mainwindow.cpp @@ -25,19 +25,23 @@ MainWindow::MainWindow(QWidget *parent) : QCoreApplication::setOrganizationDomain("fudeco.com"); QCoreApplication::setApplicationName("Speed Freak"); - creditsDialog = new CreditsDialog; - routeSaveDialog = new RouteSaveDialog; - settingsDialog = new SettingsDialog; - connect(settingsDialog,SIGNAL(sendregistration()),this,SLOT(regUserToServer())); - connect(settingsDialog,SIGNAL(userNameChanged()),this,SLOT(userLogin())); - topResultDialog = new TopResultDialog; - connect(topResultDialog, SIGNAL(refreshCategoryList()), this, SLOT(clientRequestCategoryList())); - connect(topResultDialog, SIGNAL(refreshTopList(int)), this, SLOT(clientRequestTopList(int))); + //routeDialog = new RouteDialog; + //connect(routeDialog,SIGNAL(sendroute()),this,SLOT(clientSendRoute())); + + helpDialog = NULL; accstart = NULL; + routeSaveDialog = NULL; + topResultDialog = NULL; + + settingsDialog = new SettingsDialog; + connect(settingsDialog,SIGNAL(sendregistration()),this,SLOT(clientRegUserToServer())); + connect(settingsDialog,SIGNAL(userNameChanged()),this,SLOT(clientUserLogin())); httpClient = new HttpClient(this); connect(httpClient->myXmlreader, SIGNAL(receivedCategoryList()), this, SLOT(setCategoryCompoBox())); - connect(httpClient->myXmlreader, SIGNAL(receivedTop10List()), this, SLOT(showTop10())); + connect(httpClient->myXmlreader, SIGNAL(receivedTop10List()), this, SLOT(showTop10())); + + //creditsDialog = new CreditsDialog; welcomeDialog = new WelcomeDialog; welcomeDialog->show(); @@ -53,15 +57,34 @@ MainWindow::MainWindow(QWidget *parent) : ui->pushButtonSettings->setStyleSheet("background-color: rgb(0, 0, 0); color: rgb(255, 255, 255)"); ui->pushButtonWWW->setAutoFillBackground(true); ui->pushButtonWWW->setStyleSheet("background-color: rgb(0, 0, 0); color: rgb(255, 255, 255)"); + ui->pushButtonCredits->setAutoFillBackground(true); + ui->pushButtonCredits->setStyleSheet("background-color: rgb(0, 0, 0); color: rgb(255, 255, 255)"); } MainWindow::~MainWindow() { delete ui; - delete routeSaveDialog; + + if(routeSaveDialog) + delete routeSaveDialog; if(accstart) delete accstart; + + if(topResultDialog) + delete topResultDialog; + + if(settingsDialog) + delete settingsDialog; + + if(welcomeDialog) + delete welcomeDialog; + + if(httpClient) + delete httpClient; + + if(helpDialog) + delete helpDialog; } void MainWindow::changeEvent(QEvent *e) @@ -76,35 +99,68 @@ void MainWindow::changeEvent(QEvent *e) } } +/** + * This slot function opens browser to project www page. + */ void MainWindow::on_pushButtonWWW_clicked() { QDesktopServices::openUrl(QUrl("http://garage.maemo.org/projects/speedfreak/")); } +/** + * This slot function opens the credits dialog + */ void MainWindow::on_pushButtonCredits_clicked() { - creditsDialog->show(); + if(!helpDialog) + helpDialog = new HelpDialog; + helpDialog->show(); + //creditsDialog->show(); } +/** + * This slot function opens the route save dialog + */ void MainWindow::on_pushButtonRoute_clicked() { + if(!routeSaveDialog) + routeSaveDialog = new RouteSaveDialog; + connect(routeSaveDialog, SIGNAL(sendroute()), this, SLOT(clientSendRoute())); + connect(topResultDialog, SIGNAL(rejected()), this, SLOT(killDialog())); routeSaveDialog->show(); } +/** + * This slot function opens the settings dialog + */ void MainWindow::on_pushButtonSettings_clicked() { settingsDialog->show(); } +/** + * This slot function opens the acceleration dialog + */ void MainWindow::on_pushButtonAccelerate_clicked() { if(!accstart) accstart = new accelerationstart(this); + connect(accstart, SIGNAL(sendresult(QString, double)), this, SLOT(clientSendResult(QString, double))); + connect(topResultDialog, SIGNAL(rejected()), this, SLOT(killDialog())); accstart->show(); } +/** + * This slot function opens the top results dialog + */ void MainWindow::on_pushButtonResults_clicked() { + if (!topResultDialog) + topResultDialog = new TopResultDialog; + clientRequestCategoryList(); + connect(topResultDialog, SIGNAL(refreshCategoryList()), this, SLOT(clientRequestCategoryList())); + connect(topResultDialog, SIGNAL(refreshTopList(int)), this, SLOT(clientRequestTopList(int))); + connect(topResultDialog, SIGNAL(rejected()), this, SLOT(killDialog())); topResultDialog->show(); } @@ -121,7 +177,6 @@ void MainWindow::clientRequestCategoryList() */ void MainWindow::clientRequestTopList(int index) { - qDebug() << "index" << index << httpClient->myXmlreader->myCategoryList->getRecentCategory(index); QString limit = QString::number(topResultDialog->getLimitNr()); httpClient->requestTopList(httpClient->myXmlreader->myCategoryList->getRecentCategory(index), limit); } @@ -132,7 +187,6 @@ void MainWindow::clientRequestTopList(int index) */ void MainWindow::setCategoryCompoBox() { - qDebug() << "_setCategoryCompoBox"; topResultDialog->setCompoBoxCategories(httpClient->myXmlreader->myCategoryList->getCategoryList()); } @@ -142,7 +196,6 @@ void MainWindow::setCategoryCompoBox() */ void MainWindow::showTop10() { - qDebug() << "_showTop10"; int ind = topResultDialog->getRecentCategoryIndex(); setListViewTopList(httpClient->myXmlreader->myCategoryList->getRecentCategory(ind), topResultDialog->getLimitNr()); } @@ -154,18 +207,64 @@ void MainWindow::showTop10() */ void MainWindow::setListViewTopList(QString category, int size) { - qDebug() << "_setListViewTopList" << category; QString topList; topList.append(httpClient->myXmlreader->myCategoryList->getTopList(category, size)); topResultDialog->showTopList(topList); } -void MainWindow::regUserToServer() +/** + * This function register user to server. + */ +void MainWindow::clientRegUserToServer() { httpClient->requestRegistration(); } -void MainWindow::userLogin() +/** + * This function performs login to server. + */ +void MainWindow::clientUserLogin() { httpClient->checkLogin(); } + +/** + * This function send route data to server. + */ +void MainWindow::clientSendRoute() +{ + httpClient->sendRouteXml(); +} + +/** + * This function send acceleration data to server. + */ +void MainWindow::clientSendResult(QString category, double result) +{ + qDebug() << "__clientSendResult"; + if(accstart) { + qDebug() << "_clientSendResult, calling server"; + httpClient->sendResultXml(category, result); + } +} +/** + * This slot function called when ever dialog finished. + */ +void MainWindow::killDialog() +{ + if(topResultDialog) + { + delete topResultDialog; + topResultDialog = NULL; + } + else if(routeSaveDialog) + { + delete routeSaveDialog; + routeSaveDialog = NULL; + } + else if(accstart) + { + delete accstart; + accstart = NULL; + } +}