Added Info button for all dialog.
[speedfreak] / Client / routesavedialog.cpp
index 22ac907..ba7100a 100644 (file)
@@ -24,6 +24,7 @@ RouteSaveDialog::RouteSaveDialog(QWidget *parent) :
     routeDialog = NULL;
     location = NULL;
     gpsData = NULL;
+    helpRoutingDialog = NULL;
 
     //Button settings
     buttonStatus = true;
@@ -36,6 +37,8 @@ RouteSaveDialog::RouteSaveDialog(QWidget *parent) :
     ui->buttonRouteStartStop->setIcon(*iconRouteStart);
     ui->buttonRouteStartStop->setAutoFillBackground(true);
     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)");
 
     //Satellite picture and label
     ui->labelRouteSatelliteStatus->setVisible(0);
@@ -44,12 +47,13 @@ RouteSaveDialog::RouteSaveDialog(QWidget *parent) :
     timerSatellitePicture = new QTimer();
     timerSatellitePicture->setInterval(400);
     connect(timerSatellitePicture, SIGNAL(timeout()),this, SLOT(timerSatellitePictureTimeout()));
+    ui->labelUserInfo->setText("Push start button");  //User info label
 
     //Invisible or clear labels
     ui->labelRouteStatus->setVisible(0);
     ui->labelRoutePicture->setVisible(0);
     ui->labelGpsSpeed->setVisible(0); //GPS speed label
-    ui->labelUserInfo->setText(""); //User info label
+    ui->labelSignalStrength->setText(""); //GPS signal strength label
     timerRoutePicture = new QTimer();
     timerRoutePicture->setInterval(400);
     connect(timerRoutePicture, SIGNAL(timeout()),this, SLOT(timerRoutePictureTimeout()));
@@ -143,6 +147,9 @@ void RouteSaveDialog::on_buttonRouteStartStop_clicked()
 
         //Stop route recording
         gpsData->stopRouteRecording();
+
+        //User info label
+        ui->labelUserInfo->setText("Push start button");
     }
 }
 
@@ -192,8 +199,10 @@ void RouteSaveDialog::gpsStatus()
     //IF GPS start button clicked
     if (buttonStatus == false)
     {
-        //If GPS find 4 satellite.
-        if (location->getSatellitesInUse() >= 4)
+        //ui->labelSignalStrength->setText(QString::number(location->getSignalStrength()));    //Returns average signal strength of satellites which are in use.
+
+        //If GPS find 4 or more satellite and signal stregth is 30 or more.
+        if (location->getSatellitesInUse() >= 4 && location->getSignalStrength() >= 30)
         {
             //Satellite picture and label
             ui->labelRouteSatelliteStatus->setText("GPS Ready");
@@ -203,6 +212,7 @@ void RouteSaveDialog::gpsStatus()
 
             //Route picture and label
             ui->labelRouteStatus->setText("Recorded " + QString::number(gpsData->roundCounter) + " route point");
+            ui->labelUserInfo->setText("Recorded " + QString::number(gpsData->roundCounter) + " route point");
             ui->labelRouteStatus->setVisible(1);
             ui->labelRoutePicture->setVisible(1);
             timerRoutePicture->start();
@@ -215,12 +225,11 @@ void RouteSaveDialog::gpsStatus()
             //Start route recording
             gpsData->startRouteRecording();
         }
-
-        //If GPS find less than 4 satellite.
-        else
+        else //If GPS find less than 4 satellite or signal strength is poor.
         {
             //Satellite picture and label
             ui->labelRouteSatelliteStatus->setText("Searching satellite");
+            ui->labelUserInfo->setText("Searching satellite");
             ui->labelRouteSatelliteStatus->setVisible(1);
             ui->labelRouteSatellitePicture->setVisible(1);
             timerSatellitePicture->start();
@@ -234,10 +243,11 @@ void RouteSaveDialog::gpsStatus()
             ui->labelGpsSpeed->setVisible(0);
         }
     }
-    else
+    else //If stop button clicked
     {
         //Satellite picture and label
         ui->labelRouteSatelliteStatus->setText("Searching satellite");
+        ui->labelUserInfo->setText("Push start button");
         ui->labelRouteSatelliteStatus->setVisible(0);
         ui->labelRouteSatellitePicture->setVisible(0);
         timerSatellitePicture->stop();
@@ -259,3 +269,29 @@ void RouteSaveDialog::sendRoute()
 {
     emit sendroute(); //Emit mainwindow clientSendRoute
 }
+
+/**
+  * This slot function called when ever info button clicked.
+  */
+void RouteSaveDialog::on_pushButtonInfo_clicked()
+{
+    if(!helpRoutingDialog)
+    {
+        helpRoutingDialog = new HelpRoutingDialog;
+    }
+    connect(helpRoutingDialog, SIGNAL(rejected()), this, SLOT(killHelpDialog()));
+    helpRoutingDialog->show();
+}
+
+/**
+  * This slot function called when ever dialog rejected.
+  */
+void RouteSaveDialog::killHelpDialog()
+{
+    if(helpRoutingDialog)
+    {
+        qDebug() << "__Route save kill: helpRoutingDialog";
+        delete helpRoutingDialog;
+        helpRoutingDialog = NULL;
+    }
+}