X-Git-Url: https://vcs.maemo.org/git/?a=blobdiff_plain;f=Client%2Fmainwindow.cpp;h=6eb8757c928db06523378ca21fe8702f8af3ab1f;hb=43b1f319f4f2ffab0e8aa75c485b0cc5cd8d03d4;hp=c01329c64266380b7b1f4367cc0025cede1fac35;hpb=f110bcd06799fb5d56821cc5cca946548986a4c6;p=speedfreak diff --git a/Client/mainwindow.cpp b/Client/mainwindow.cpp index c01329c..6eb8757 100644 --- a/Client/mainwindow.cpp +++ b/Client/mainwindow.cpp @@ -16,6 +16,9 @@ #include #include "usersettings.h" +/** + * + */ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) @@ -32,9 +35,10 @@ MainWindow::MainWindow(QWidget *parent) : topResultDialog = NULL; settingsDialog = new SettingsDialog; - connect(settingsDialog,SIGNAL(sendregistration()),this,SLOT(clientRegUserToServer())); - connect(settingsDialog,SIGNAL(userNameChanged()),this,SLOT(clientUserLogin())); - connect(settingsDialog, SIGNAL(logout()), this, SLOT(setUsernameToMainPanel())); + connect(settingsDialog, SIGNAL(sendregistration()), this, SLOT(clientRegUserToServer())); + connect(settingsDialog, SIGNAL(userNameChanged()), this, SLOT(clientUserLogin())); + connect(settingsDialog, SIGNAL(logout()), this, SLOT(setUsernameToMainPanel())); + connect(settingsDialog, SIGNAL(saveprofile()), this, SLOT(saveProfile())); httpClient = new HttpClient(this); connect(httpClient->myXmlreader, SIGNAL(receivedCategoryList()), this, SLOT(setCategoryCompoBox())); @@ -45,35 +49,98 @@ MainWindow::MainWindow(QWidget *parent) : this->setUsernameToMainPanel(); - //Button settings - ui->pushButtonAccelerate->setAutoFillBackground(true); - ui->pushButtonAccelerate->setStyleSheet("background-color: rgb(0, 0, 0); color: rgb(255, 255, 255)"); - ui->pushButtonRoute->setAutoFillBackground(true); - ui->pushButtonRoute->setStyleSheet("background-color: rgb(0, 0, 0); color: rgb(255, 255, 255)"); - ui->pushButtonResults->setAutoFillBackground(true); - ui->pushButtonResults->setStyleSheet("background-color: rgb(0, 0, 0); color: rgb(255, 255, 255)"); - ui->pushButtonSettings->setAutoFillBackground(true); - 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)"); - /* + //Create icon for acceleration start button QIcon* icon = new QIcon(); icon->addFile(QString(":/new/prefix1/Graphics/Speedometer.png"), QSize(125,125), QIcon::Normal, QIcon::Off); icon->addFile(QString(":/new/prefix1/Graphics/Speedometer2.png"), QSize(125,125), QIcon::Normal, QIcon::On); + //Acceleration start button + customButtonAccelerate = new CustomButton(this,icon); delete icon; int buttons_x = 50,buttons_y = 165; customButtonAccelerate->setGeometry(buttons_x,buttons_y,130,130); connect(customButtonAccelerate, SIGNAL(OpenDialog()), this, SLOT(OpenAccStartDialog())); - customButtonAccelerate->show(); - */ + + //Create icon for route dialog button + icon = new QIcon(); + icon->addFile(QString(":/new/prefix1/Graphics/route.png"), QSize(125,125), QIcon::Normal, QIcon::Off); + icon->addFile(QString(":/new/prefix1/Graphics/route_selected.png"), QSize(125,125), QIcon::Normal, QIcon::On); + + //Route dialog button + + customButtonRoute = new CustomButton(this,icon); + delete icon; + + buttons_x += 140; + customButtonRoute->setGeometry(buttons_x,buttons_y,130,130); + connect(customButtonRoute, SIGNAL(OpenDialog()), this, SLOT(OpenRouteDialog())); + customButtonRoute->show(); + + //Create icon for results dialog button + icon = new QIcon(); + icon->addFile(QString(":/new/prefix1/Graphics/trophy_gold.png"), QSize(125,125), QIcon::Normal, QIcon::Off); + icon->addFile(QString(":/new/prefix1/Graphics/trophy_gold_selected.png"), QSize(125,125), QIcon::Normal, QIcon::On); + + //Results dialog button + + customButtonResults = new CustomButton(this,icon); + delete icon; + + buttons_x += 140; + customButtonResults->setGeometry(buttons_x,buttons_y,130,130); + connect(customButtonResults, SIGNAL(OpenDialog()), this, SLOT(OpenResultDialog())); + customButtonResults->show(); + //Create icon for settings dialog button + icon = new QIcon(); + icon->addFile(QString(":/new/prefix1/Graphics/settings.png"), QSize(125,125), QIcon::Normal, QIcon::Off); + icon->addFile(QString(":/new/prefix1/Graphics/settings_selected.png"), QSize(125,125), QIcon::Normal, QIcon::On); + + //Settings dialog button + + customButtonSettings = new CustomButton(this,icon); + delete icon; + + buttons_x += 140; + customButtonSettings->setGeometry(buttons_x,buttons_y,130,130); + connect(customButtonSettings, SIGNAL(OpenDialog()), this, SLOT(OpenSettingsDialog())); + customButtonSettings->show(); + + //Create icon for www page button + icon = new QIcon(); + icon->addFile(QString(":/new/prefix1/Graphics/applications_internet.png"), QSize(125,125), QIcon::Normal, QIcon::Off); + icon->addFile(QString(":/new/prefix1/Graphics/applications_internet_selected.png"), QSize(125,125), QIcon::Normal, QIcon::On); + + //WWW page button + + customButtonWWW = new CustomButton(this,icon); + delete icon; + + buttons_x += 140; + customButtonWWW->setGeometry(buttons_x,buttons_y,130,130); + connect(customButtonWWW, SIGNAL(OpenDialog()), this, SLOT(OpenWWWPage())); + customButtonWWW->show(); + + //Create icon for help dialog button + icon = new QIcon(); + icon->addFile(QString(":/new/prefix1/Graphics/info.png"), QSize(105,105), QIcon::Normal, QIcon::Off); + icon->addFile(QString(":/new/prefix1/Graphics/info_selected.png"), QSize(105,105), QIcon::Normal, QIcon::On); + + //Help dialog button + + customButtonHelp = new CustomButton(this,icon); + delete icon; + + customButtonHelp->setGeometry(670,10,105,105); + connect(customButtonHelp, SIGNAL(OpenDialog()), this, SLOT(OpenHelpDialog())); + customButtonHelp->show(); } +/** + * + */ MainWindow::~MainWindow() { delete ui; @@ -98,12 +165,25 @@ MainWindow::~MainWindow() if(helpDialog) delete helpDialog; -/* + if(customButtonAccelerate) delete customButtonAccelerate; -*/ + if(customButtonRoute) + delete customButtonRoute; + if(customButtonResults) + delete customButtonResults; + if(customButtonSettings) + delete customButtonSettings; + if(customButtonWWW) + delete customButtonWWW; + if(customButtonHelp) + delete customButtonHelp; } + +/** + * + */ void MainWindow::changeEvent(QEvent *e) { QMainWindow::changeEvent(e); @@ -117,75 +197,6 @@ 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() -{ - if(!helpDialog) - helpDialog = new HelpDialog; - - connect(helpDialog, SIGNAL(rejected()), this, SLOT(killDialog())); - helpDialog->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(routeSaveDialog, 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(accstart, 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(); -} - -/** *This slot function is called when ever mytTopResultDialog emits signal refreshCategoryList button clicked. */ void MainWindow::clientRequestCategoryList() @@ -292,8 +303,9 @@ void MainWindow::clientSendResult(QString category, double result) httpClient->sendResultXml(category, result); } } + /** - * This slot function called when ever dialog finished. + * This slot function called when ever dialog rejected. */ void MainWindow::killDialog() { @@ -305,7 +317,7 @@ void MainWindow::killDialog() } if(routeSaveDialog) { - qDebug() << "__MW kill: routeSaveDialog"; + //qDebug() << "__MW kill: routeSaveDialog"; //delete routeSaveDialog; //routeSaveDialog = NULL; } @@ -328,6 +340,7 @@ void MainWindow::killDialog() helpDialog = NULL; } } + /** * */ @@ -349,7 +362,68 @@ void MainWindow::OpenAccStartDialog() { if(!accstart) accstart = new accelerationstart(this); + connect(accstart, SIGNAL(sendresult(QString, double)), this, SLOT(clientSendResult(QString, double))); connect(accstart, SIGNAL(rejected()), this, SLOT(killDialog())); accstart->show(); } +/** + * This slot function opens the route save dialog + */ +void MainWindow::OpenRouteDialog() +{ + if(!routeSaveDialog) + routeSaveDialog = new RouteSaveDialog; + + connect(routeSaveDialog, SIGNAL(sendroute()), this, SLOT(clientSendRoute())); + connect(routeSaveDialog, SIGNAL(rejected()), this, SLOT(killDialog())); + routeSaveDialog->show(); +} +/** + * This slot function opens the top results dialog + */ +void MainWindow::OpenResultDialog() +{ + 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(); +} +/** + * This slot function opens the settings dialog + */ +void MainWindow::OpenSettingsDialog() +{ + settingsDialog->show(); +} +/** + * This slot function opens browser to project www page. + */ +void MainWindow::OpenWWWPage() +{ + QDesktopServices::openUrl(QUrl("http://garage.maemo.org/projects/speedfreak/")); +} +/** + * This slot function opens the main help dialog + */ +void MainWindow::OpenHelpDialog() +{ + if(!helpDialog) + helpDialog = new HelpDialog; + + connect(helpDialog, SIGNAL(rejected()), this, SLOT(killDialog())); + helpDialog->show(); +} + +/** + * This slot function save user profile data to server + */ +void MainWindow::saveProfile() +{ + if(httpClient) + httpClient->sendProfileXml(); +}