Bug fixed: If you are logged in and result is sent in result dialog. If you want...
[speedfreak] / Client / accrealtimedialog.cpp
index bf34104..fd5100f 100644 (file)
@@ -143,19 +143,22 @@ void AccRealTimeDialog::readAccelerometerData()
         if(!resultDialog)
         {
             resultDialog = new ResultDialog(this);
+            connect(resultDialog, SIGNAL(rejected()), this, SLOT(killResultDialog()));
+            connect(resultDialog, SIGNAL(sendresult(double)), this, SLOT(sendResult(double)));
         }
-        connect(resultDialog, SIGNAL(sendresult(double)), this, SLOT(sendResult(double)));
-        resultDialog->setEnd(stopMeasureSpeed);
-
-        //Put all times from all speeds
-        QMap<int,double> tempMap = calculate->getValuesMap();
-
-        for( int i = 1 ; i <= tempMap.count() ; i++ )
+        if(resultDialog)
         {
-            resultDialog->setValue(i*10,tempMap[i*10]);
+            resultDialog->setEnd(stopMeasureSpeed);
+            //Put all times from all speeds
+            QMap<int,double> tempMap = calculate->getValuesMap();
+
+            for( int i = 1 ; i <= tempMap.count() ; i++ )
+            {
+                resultDialog->setValue(i*10,tempMap[i*10]);
+            }
+            resultDialog->show();
+            this->hide();
         }
-        resultDialog->show();
-        this->hide();
     }
 }
 
@@ -210,3 +213,16 @@ void AccRealTimeDialog::sendResult(double result)
 {
     emit sendresult(result);
 }
+
+/**
+  *This slot function kills resultDialog.
+  *
+  **/
+void AccRealTimeDialog::killResultDialog()
+{
+    if(resultDialog)
+    {
+        delete resultDialog;
+        resultDialog = NULL;
+    }
+}