X-Git-Url: http://git.maemo.org/git/?p=speedfreak;a=blobdiff_plain;f=Client%2Froutesavedialog.cpp;h=3119b30fb36b35d6fc0c8e81f4bd4571dfa892a4;hp=d24bcb2f4c5bf65449d5c21c76aab239ac8cf8fa;hb=25711a26712cb909c39eeed80e0227d7fd2411cc;hpb=5a1fad519a46488f9707254d17696ec11caa8952 diff --git a/Client/routesavedialog.cpp b/Client/routesavedialog.cpp index d24bcb2..3119b30 100644 --- a/Client/routesavedialog.cpp +++ b/Client/routesavedialog.cpp @@ -10,6 +10,8 @@ #include "ui_routesavedialog.h" #include #include +#include +#include const QPoint arrowStartEast(100, 100); const QPoint arrowEndEast(140, 100); @@ -60,6 +62,8 @@ RouteSaveDialog::RouteSaveDialog(QWidget *parent) : ui->buttonRouteStartStop->setStyleSheet("background-color: rgb(0, 0, 0); color: rgb(255, 255, 255)"); ui->pushButtonInfo->setAutoFillBackground(true); ui->pushButtonInfo->setStyleSheet("background-color: rgb(0, 0, 0); color: rgb(255, 255, 255)"); + ui->buttonLoadRoute->setAutoFillBackground(true); + ui->buttonLoadRoute->setStyleSheet("background-color: rgb(0, 0, 0); color: rgb(255, 255, 255)"); //Satellite picture and label ui->labelRouteSatelliteStatus->setVisible(0); @@ -87,6 +91,17 @@ RouteSaveDialog::RouteSaveDialog(QWidget *parent) : location = new Maemo5Location(this); gpsData = new GPSData(location); connect(location,SIGNAL(agnss()),this,SLOT(gpsStatus())); + + // Route folder + QString folder = "/home/user/MyDocs/speedfreak"; + if(!QDir(folder).exists()) + { + QDir().mkdir(folder); + } + if(!QDir(folder + "/route").exists()) + { + QDir().mkdir(folder + "/route"); + } } /** @@ -103,6 +118,11 @@ RouteSaveDialog::~RouteSaveDialog() delete location; if(routeDialog) delete routeDialog; + if(calibrateDialog) + { + delete calibrateDialog; + calibrateDialog = NULL; + } delete timerSatellitePicture; delete timerRoutePicture; @@ -258,37 +278,6 @@ void RouteSaveDialog::on_buttonRouteStartStop_clicked() timerRoutePicture->stop(); location->stopPollingGPS(); - // Progres bar - if(!calibrateDialog) - calibrateDialog = new CalibrateDialog(); - - calibrateDialog->show(); - calibrateDialog->resetProgressValue(); - int points = 100; - int iteration = 0; - calibrateDialog->setMaxValue( points + 1 ); - - /*do { - calibrateDialog->setProgressValue(iteration); - iteration++; - - } while(iteration != points);*/ - - QString routeFile = QString("routetemp.xml"); - if (routeDialog->readRouteFromFile( routeFile , calibrateDialog) == true) - { - if(!routeDialog) - routeDialog = new RouteDialog(this); - connect(routeDialog, SIGNAL(sendroute()), this, SLOT(sendRoute())); - - calibrateDialog->close(); - routeDialog->show(); - } - else - { - calibrateDialog->close(); - } - //Set GPS speed labels in visible ui->labelGpsSpeed->setVisible(0); ui->labelGpsAvgSpeed->setVisible(0); @@ -301,6 +290,9 @@ void RouteSaveDialog::on_buttonRouteStartStop_clicked() //User info label ui->labelUserInfo->setText("Push start button"); + + fileName = "/home/user/MyDocs/speedfreak/route/routetemp.xml"; + openRouteDialog(); } } @@ -444,9 +436,9 @@ void RouteSaveDialog::gpsStatus() /** * This slot function is called when routeDialog emit sendroute (sendPushButton). */ -void RouteSaveDialog::sendRoute() +void RouteSaveDialog::sendRoute(QString newName, int i) { - emit sendroute(); //Emit mainwindow clientSendRoute + emit sendroute(fileName, newName, i); //Emit mainwindow clientSendRoute } /** @@ -476,6 +468,25 @@ void RouteSaveDialog::killHelpDialog() } /** + * This slot function called when ever route dialog rejected. + */ +void RouteSaveDialog::killRouteDialog() +{ + if(routeDialog) + { + qDebug() << "__Route save kill: routeDialog"; + delete routeDialog; + routeDialog = NULL; + } + if(calibrateDialog) + { + qDebug() << "__Route save kill: calibrateDialog"; + delete calibrateDialog; + calibrateDialog = NULL; + } +} + +/** * This function return speed average. * @return double average speed */ @@ -492,3 +503,66 @@ QString RouteSaveDialog::getDistanceTraveled() { return distanceString; } + +/** + * This function + */ +void RouteSaveDialog::setProgressbar(int i) +{ + qDebug() << "__setProgressbar: " + QString::number(i); + //qDebug() << i; + calibrateDialog->setProgressValue(i); + progressbarIteration++; +} + +/** + * This slot function called when ever load route button clicked. + */ +void RouteSaveDialog::on_buttonLoadRoute_clicked() +{ + fileName = QFileDialog::getOpenFileName(this, tr("Open route"), "/home/user/MyDocs/speedfreak/route", "XML (*.xml)"); + qDebug() << "__Opening: " + fileName; + openRouteDialog();//fileName); +} + +/** + * This function open and show route. + * @param QString file name + */ +void RouteSaveDialog::openRouteDialog() +{ + if(fileName != "") + { + // Progress bar + if(!calibrateDialog) + { + calibrateDialog = new CalibrateDialog(); + } + + progressbarPoints = 100; + progressbarIteration = 0; + calibrateDialog->resetProgressValue(); + calibrateDialog->setMaxValue( progressbarPoints ); + calibrateDialog->setTitle("Calculating route..."); + calibrateDialog->show(); + + if(!routeDialog) + { + routeDialog = new RouteDialog(this); + } + + connect(routeDialog, SIGNAL(sendroute(QString, int)), this, SLOT(sendRoute(QString, int))); + connect(routeDialog, SIGNAL(progressbar(int)), this, SLOT(setProgressbar(int))); + connect(routeDialog, SIGNAL(rejected()), this, SLOT(killRouteDialog())); + + if (routeDialog->readRouteFromFile( fileName ) == true) + { + calibrateDialog->close(); + routeDialog->show(); + } + else + { + calibrateDialog->close(); + } + } +}