Bug fixed: If you are logged in and result is sent in result dialog. If you want...
[speedfreak] / Client / resultdialog.cpp
1 /*
2  * CarMainWindow main class
3  *
4  * @author     Janne Änäkkälä <janne.anakkala@fudeco.com>
5  * @author      Toni Jussila    <toni.jussila@fudeco.com>
6  * @copyright  (c) 2010 Speed Freak team
7  * @license    http://opensource.org/licenses/gpl-license.php GNU Public License
8  */
9
10 #include "resultdialog.h"
11 #include "ui_resultdialog.h"
12 #include "usersettings.h"
13 #include "math.h"
14 #include <QPainter>
15 #include <QPicture>
16
17 const int DIAGRAM_WIDTH = 400;
18 const int DIAGRAM_HEIGHT = 300;
19
20 const int DIAGRAMGAP10KMH = 300;
21 const int DIAGRAMGAP20KMH = 150;
22 const int DIAGRAMGAP30KMH = 100;
23 const int DIAGRAMGAP40KMH = 75;
24 const int DIAGRAMGAP50KMH = 60;
25 const int DIAGRAMGAP60KMH = 50;
26 const double DIAGRAMGAP70KMH = 42.86;
27 const double DIAGRAMGAP80KMH = 37.5;
28 const double DIAGRAMGAP90KMH = 33.33;
29 const int DIAGRAMGAP100KMH = 30;
30
31 const int DIAGRAMGAP5S = 80;
32 const int DIAGRAMGAP10S = 40;
33 const int DIAGRAMGAP16S = 25;
34 const int DIAGRAMGAP20S = 20;
35
36 const QPoint diagramStemStart(70, 330);
37 const QPoint diagramStemEnd(70, 30);
38
39 const QPoint diagramHorizontalStart(70, 330);
40 const QPoint diagramHorizontalEnd(470, 330);
41
42 const int diagramGap = 30;
43
44 // Test arrays for changing speeds and times to the points in diagram
45 static const int speedArray[11] = {0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100};
46 //static const int timeArray[10] = {1, 2, 3, 4, 5, 6, 7, 8, 10, 12};
47
48 // Test point array for the diagram.
49 QPoint points[11];
50
51 /**
52   * Constructor of this class.
53   * @param QWidget pointer to parent object. By default the value is NULL.
54   */
55 ResultDialog::ResultDialog(QWidget *parent) :
56     QDialog(parent),
57     ui(new Ui::ResultDialog)
58 {
59     ui->setupUi(this);
60     timeAxelLength = 10;
61     resultString = "";
62     speedList << "0" << "10" << "20" << "30" << "40" << "50" << "60" << "70" << "80" << "90" << "100" ;
63     timeList << "0" << "1" << "2" << "3" << "4" << "5" << "6" << "7" << "8" << "9" << "10" << "11"
64             << "12" << "13" << "14" << "15" << "16" << "17" << "18" << "19" << "20";
65     this->diagramGapStem = DIAGRAMGAP100KMH;
66     this->diagramGapHorizontal = DIAGRAMGAP20S;
67     for (int i = 0; i < 11; i++)
68     {
69         timeArray[i] = 0;
70     }
71
72     //Clear info label
73     ui->labelInfoToUser->setText("");
74
75     if (loginSaved())
76     {
77         ui->pushButtonSend->setEnabled(true);
78     }
79     else
80     {
81         ui->pushButtonSend->setEnabled(false);
82         ui->labelInfoToUser->setText("You're not logged! Please register or log in and accelerate again.");
83     }
84 }
85
86 /**
87   * Destructor of this class.  Should be used to release all allocated resources.
88   */
89 ResultDialog::~ResultDialog()
90 {
91     delete ui;
92 }
93
94 void ResultDialog::changeEvent(QEvent *e)
95 {
96     QDialog::changeEvent(e);
97     switch (e->type()) {
98     case QEvent::LanguageChange:
99         ui->retranslateUi(this);
100         break;
101     default:
102         break;
103     }
104 }
105
106 /**
107   * Draws speed diagram to the UI
108   * @param QPaintEvent
109  */
110 void ResultDialog::paintEvent(QPaintEvent *)
111 {
112     setHeaders();
113     QPainter painter(this);
114
115     painter.setRenderHint(QPainter::Antialiasing, true);
116     painter.setPen(QPen((Qt::gray),2));
117     QFont font;
118     QFont fontForResult;
119     font.setPixelSize(12);
120     painter.setFont(font);
121     painter.setBrush(QBrush((Qt::yellow), Qt::SolidPattern));
122
123     fontForResult.setPixelSize(50);
124     painter.setFont(fontForResult);
125     painter.drawText(diagramStemStart.x() + 50, diagramStemStart.y() - 150, resultString);
126     painter.setFont(font);
127
128     painter.setPen(QPen((Qt::darkCyan),2));
129     painter.drawLine(diagramStemStart, diagramStemEnd);
130     painter.drawLine(diagramHorizontalStart, diagramHorizontalEnd);
131     painter.drawText(diagramStemStart.x() - 50, diagramStemEnd.y() + 100, "S");
132     painter.drawText(diagramStemStart.x() - 50, diagramStemEnd.y() + 115, "P");
133     painter.drawText(diagramStemStart.x() - 50, diagramStemEnd.y() + 130, "E");
134     painter.drawText(diagramStemStart.x() - 50, diagramStemEnd.y() + 145, "E");
135     painter.drawText(diagramStemStart.x() - 50, diagramStemEnd.y() + 160, "D");
136     painter.drawText(diagramStemStart.x() - 65, diagramStemEnd.y() + 180, "(km/h)");
137
138     painter.drawText(diagramStemStart.x() + 140, diagramStemStart.y() + 40, "T");
139     painter.drawText(diagramStemStart.x() + 150, diagramStemStart.y() + 40, "I");
140     painter.drawText(diagramStemStart.x() + 155, diagramStemStart.y() + 40, "M");
141     painter.drawText(diagramStemStart.x() + 165, diagramStemStart.y() + 40, "E");
142     painter.drawText(diagramStemStart.x() + 180, diagramStemStart.y() + 40, "(s)");
143
144     int currentX = 0;
145     int currentY = diagramStemStart.y();
146
147     painter.setPen(QPen((Qt::darkCyan),1));
148
149     int i = 0;
150     // Draws diagram's X-axel
151     while (currentX <= DIAGRAM_WIDTH)
152     {
153         painter.drawLine(currentX + diagramStemStart.x(), currentY, currentX + diagramStemStart.x(), currentY - 300);
154         painter.drawText(currentX + diagramStemStart.x() - 3, currentY + 20, timeList[i]);
155         currentX += this->diagramGapHorizontal;
156         i++;
157     }
158
159     currentX = diagramStemStart.x();
160     currentY = 0;
161
162     i = 0;
163     // Draws diagram's Y-axel
164     while (currentY >= -(DIAGRAM_HEIGHT))
165     {
166         painter.drawLine(currentX, diagramStemStart.y() + currentY, currentX+400, diagramStemStart.y() + currentY);
167         painter.drawText(currentX - 25, diagramStemStart.y() + currentY + 3, speedList[i]);
168         currentY -= this->diagramGapStem;
169         i++;
170     }
171
172     painter.setPen(QPen((Qt::red),2));
173
174     int pointsToShow = 0;
175     bool pointsUnderDiagramWidth = true;
176
177     for (i = 0; i < 11 ; i++)
178     {
179         if (points[i].x() > diagramHorizontalEnd.x())
180         {
181             pointsToShow = i;
182             pointsUnderDiagramWidth = false;
183             i = 10;
184         }
185     }
186
187     // Draws result line to the diagram
188     if (pointsUnderDiagramWidth)
189     {
190         painter.drawPolyline(points, this->getTargetChoice() + 1);
191     }
192
193     else
194     {
195         painter.drawPolyline(points, pointsToShow);
196     }
197 }
198
199 /**
200   * Change the given speed and time to the point for the diagram.
201   * @param aSpeed is speed which need to change, aTime is time in seconds which need to change.
202   * @return point is calculated from aSpeed and aTime.
203   */
204 QPoint ResultDialog::changeMeasuresToDiagramPoint(int aSpeed, qreal aTime)
205 {
206     QPoint point;
207
208     int speedAsPixels;
209     int timeAsPixels;
210
211     // Calculate speed and time to the point which can be drawn to the diagram
212     speedAsPixels = (DIAGRAM_HEIGHT*aSpeed) / (this->getTargetChoice() * 10);
213     timeAsPixels = DIAGRAM_WIDTH*aTime/timeAxelLength;
214
215     point.setY(diagramStemStart.y()-speedAsPixels);
216     point.setX(diagramStemStart.x()+timeAsPixels);
217
218     return point;
219 }
220
221 /**
222   * Sets result times in to the labels.
223   */
224 void ResultDialog::setTimesIntoLabels()
225 {
226     QString time, timeInteger;
227     timeInteger.setNum(timeArray[4]);
228     time = "0 - 40 km/h: ";
229     time.append(timeInteger);
230     ui->labelResult40kmh->setText(time);
231
232     timeInteger.setNum(timeArray[3]);
233     time = "0 - 30 km/h: ";
234     time.append(timeInteger);
235     ui->labelResult30kmh->setText(time);
236
237     timeInteger.setNum(timeArray[2]);
238     time = "0 - 20 km/h: ";
239     time.append(timeInteger);
240     ui->labelResult20kmh->setText(time);
241
242     timeInteger.setNum(timeArray[1]);
243     time = "0 - 10 km/h: ";
244     time.append(timeInteger);
245     ui->labelResult10kmh->setText(time);
246
247     timeInteger.setNum(timeArray[6]);
248     time = "0 - 60 km/h: ";
249     time.append(timeInteger);
250     ui->labelResult60kmh->setText(time);
251
252     timeInteger.setNum(timeArray[5]);
253     time = "0 - 50 km/h: ";
254     time.append(timeInteger);
255     ui->labelResult50kmh->setText(time);
256
257     timeInteger.setNum(timeArray[7]);
258     time = "0 - 70 km/h: ";
259     time.append(timeInteger);
260     ui->labelResult70kmh->setText(time);
261
262     timeInteger.setNum(timeArray[8]);
263     time = "0 - 80 km/h: ";
264     time.append(timeInteger);
265     ui->labelResult80kmh->setText(time);
266
267     timeInteger.setNum(timeArray[9]);
268     time = "0 - 90 km/h: ";
269     time.append(timeInteger);
270     ui->labelResult90kmh->setText(time);
271
272     timeInteger.setNum(timeArray[10]);
273     time = "0 - 100 km/h: ";
274     time.append(timeInteger);
275     ui->labelResult100kmh->setText(time);
276
277     showOrHideLabels();
278 }
279
280 /**
281   * Sets right timeAxelLength value depending the time which
282   * has spent to reach target speed.
283   */
284 void ResultDialog::setTimeAxelLength(int pChoice)
285 {
286     if (timeArray[pChoice] <= 5.0)
287     {
288         timeAxelLength = 5;
289     }
290
291     else if (timeArray[pChoice] <= 10.0 && timeArray[pChoice] > 5.0)
292     {
293         timeAxelLength = 10;
294     }
295
296     else if (timeArray[pChoice] <= 16.0 && timeArray[pChoice] > 10.0)
297     {
298         timeAxelLength = 16;
299     }
300
301     else
302     {
303         timeAxelLength = 20;
304     }
305 }
306
307 /**
308   * This slot function close result dialog when new run -button has been clicked.
309   */
310 void ResultDialog::on_pushButtonNew_clicked()
311 {
312     for (int i = 0; i < 11; i++)
313     {
314         timeArray[i] = 0;
315     }
316     resultString = "";
317     this->close();
318     emit rejected();
319 }
320
321 /**
322   * This slot function emits sendresult signal for sending results to server when
323   * send results -button has been clicked.
324   * Emit accrealtimedialog sendresult.
325   */
326 void ResultDialog::on_pushButtonSend_clicked()
327 {
328     ui->pushButtonSend->setEnabled(false);
329     emit sendresult(timeArray[this->getTargetChoice()]);
330 }
331
332 double ResultDialog::getResult()
333 {
334     return timeArray[this->getTargetChoice()];
335 }
336
337 /**
338   * This public function sets diagram's stem gap
339   * @param pValue is the speed value which determines diagram gap's value
340   */
341 void ResultDialog::setEnd(int pValue)
342 {
343     for (int i = 0; i < 11; i++)
344     {
345         timeArray[i] = 0;
346     }
347     resultString = "";
348
349     switch (pValue)
350     {
351     case 10:
352         this->diagramGapStem = DIAGRAMGAP10KMH;
353         break;
354
355     case 20:
356         this->diagramGapStem = DIAGRAMGAP20KMH;
357         break;
358
359     case 30:
360         this->diagramGapStem = DIAGRAMGAP30KMH;
361         break;
362
363     case 40:
364         this->diagramGapStem = DIAGRAMGAP40KMH;
365         break;
366
367     case 50:
368         this->diagramGapStem = DIAGRAMGAP50KMH;
369         break;
370
371     case 60:
372         this->diagramGapStem = DIAGRAMGAP60KMH;
373         break;
374
375     case 70:
376         this->diagramGapStem = DIAGRAMGAP70KMH;
377         break;
378
379     case 80:
380         this->diagramGapStem = DIAGRAMGAP80KMH;
381         break;
382
383     case 90:
384         this->diagramGapStem = DIAGRAMGAP90KMH;
385         break;
386
387     case 100:
388         this->diagramGapStem = DIAGRAMGAP100KMH;
389         break;
390
391     default:
392         this->diagramGapStem = DIAGRAMGAP100KMH;
393         break;
394     }
395 }
396
397 /**
398   * This public function stores time in timeArray
399   * @param pSpeed is the speed value at the time so we know where store time
400   * @param pTime is the result which needs to be store in timeArray
401   */
402 void ResultDialog::setValue(int pSpeed, double pTime)
403 {
404     //timeArray[0] = 0;
405     if (pTime <= 5.0)
406     {
407         this->diagramGapHorizontal = DIAGRAMGAP5S;
408     }
409
410     else if (pTime <= 10.0 && pTime > 5.0)
411     {
412        this->diagramGapHorizontal = DIAGRAMGAP10S;
413     }
414
415     else if (pTime <= 16.0 && pTime > 10.0)
416     {
417         this->diagramGapHorizontal = DIAGRAMGAP16S;
418     }
419
420     else
421     {
422         this->diagramGapHorizontal = DIAGRAMGAP20S;
423     }
424
425     switch (pSpeed)
426     {
427     case 10:
428         timeArray[1] = pTime;
429         break;
430     case 20:
431         timeArray[2] = pTime;
432         break;
433     case 30:
434         timeArray[3] = pTime;
435         break;
436     case 40:
437         timeArray[4] = pTime;
438         break;
439     case 50:
440         timeArray[5] = pTime;
441         break;
442     case 60:
443         timeArray[6] = pTime;
444         break;
445     case 70:
446         timeArray[7] = pTime;
447         break;
448     case 80:
449         timeArray[8] = pTime;
450         break;
451     case 90:
452         timeArray[9] = pTime;
453         break;
454     case 100:
455         timeArray[10] = pTime;
456         break;
457     }
458
459     setTimeAxelLength(getTargetChoice());
460
461     for (int i = 0; i < 11; i++)
462     {
463         points[i] = changeMeasuresToDiagramPoint(speedArray[i], timeArray[i]);
464     }
465
466     setTimesIntoLabels();
467     this->repaint();
468 }
469
470 /**
471   * Sets dialog's heading and result text
472   */
473 void ResultDialog::setHeaders()
474 {
475     //QString resultString;
476     resultString.append("Time was ");
477
478     QString time;
479
480     if (this->diagramGapStem == DIAGRAMGAP100KMH)
481     {
482         time.sprintf("%.2f", timeArray[10]);
483         resultString.append(time);
484         this->setWindowTitle("Result for accelerating 100 km/h");
485     }
486
487     else if (this->diagramGapStem == DIAGRAMGAP90KMH)
488     {
489         time.sprintf("%.2f", timeArray[9]);
490         resultString.append(time);
491         this->setWindowTitle("Result for accelerating 90 km/h");
492     }
493
494     else if (this->diagramGapStem == DIAGRAMGAP80KMH)
495     {
496         time.sprintf("%.2f", timeArray[8]);
497         resultString.append(time);
498         this->setWindowTitle("Result for accelerating 80 km/h");
499     }
500
501     else if (this->diagramGapStem == DIAGRAMGAP70KMH)
502     {
503         time.sprintf("%.2f", timeArray[7]);
504         resultString.append(time);
505         this->setWindowTitle("Result for accelerating 70 km/h");
506     }
507
508     else if (this->diagramGapStem == DIAGRAMGAP60KMH)
509     {
510         time.sprintf("%.2f", timeArray[6]);
511         resultString.append(time);
512         this->setWindowTitle("Result for accelerating 60 km/h");
513     }
514
515     else if (this->diagramGapStem == DIAGRAMGAP50KMH)
516     {
517         time.sprintf("%.2f", timeArray[5]);
518         resultString.append(time);
519         this->setWindowTitle("Result for accelerating 50 km/h");
520     }
521
522     else if (this->diagramGapStem == DIAGRAMGAP40KMH)
523     {
524         time.sprintf("%.2f", timeArray[4]);
525         resultString.append(time);
526         this->setWindowTitle("Result for accelerating 40 km/h");
527     }
528
529     else if (this->diagramGapStem == DIAGRAMGAP30KMH)
530     {
531         time.sprintf("%.2f", timeArray[3]);
532         resultString.append(time);
533         this->setWindowTitle("Result for accelerating 30 km/h");
534     }
535
536     else if (this->diagramGapStem == DIAGRAMGAP20KMH)
537     {
538         time.sprintf("%.2f", timeArray[2]);
539         resultString.append(time);
540         this->setWindowTitle("Result for accelerating 20 km/h");
541     }
542
543     else
544     {
545         time.sprintf("%.2f", timeArray[1]);
546         resultString.append(time);
547         this->setWindowTitle("Result for accelerating 10 km/h");
548     }
549 }
550
551 /**
552   * Shows only wanted results and hides
553   * unwanted
554   */
555 void ResultDialog::showOrHideLabels()
556 {
557     if (this->diagramGapStem == DIAGRAMGAP10KMH)
558     {
559         ui->labelResult20kmh->hide();
560         ui->labelResult30kmh->hide();
561         ui->labelResult40kmh->hide();
562         ui->labelResult50kmh->hide();
563         ui->labelResult60kmh->hide();
564         ui->labelResult70kmh->hide();
565         ui->labelResult80kmh->hide();
566         ui->labelResult90kmh->hide();
567         ui->labelResult100kmh->hide();
568     }
569
570     else if (this->diagramGapStem == DIAGRAMGAP20KMH)
571     {
572         ui->labelResult10kmh->show();
573         ui->labelResult20kmh->show();
574         ui->labelResult30kmh->hide();
575         ui->labelResult40kmh->hide();
576         ui->labelResult50kmh->hide();
577         ui->labelResult60kmh->hide();
578         ui->labelResult70kmh->hide();
579         ui->labelResult80kmh->hide();
580         ui->labelResult90kmh->hide();
581         ui->labelResult100kmh->hide();
582     }
583
584     else if (this->diagramGapStem == DIAGRAMGAP30KMH)
585     {
586         ui->labelResult10kmh->show();
587         ui->labelResult20kmh->show();
588         ui->labelResult30kmh->show();
589         ui->labelResult40kmh->hide();
590         ui->labelResult50kmh->hide();
591         ui->labelResult60kmh->hide();
592         ui->labelResult70kmh->hide();
593         ui->labelResult80kmh->hide();
594         ui->labelResult90kmh->hide();
595         ui->labelResult100kmh->hide();
596     }
597
598     else if (this->diagramGapStem == DIAGRAMGAP40KMH)
599     {
600         ui->labelResult10kmh->show();
601         ui->labelResult20kmh->show();
602         ui->labelResult30kmh->show();
603         ui->labelResult40kmh->show();
604         ui->labelResult50kmh->hide();
605         ui->labelResult60kmh->hide();
606         ui->labelResult70kmh->hide();
607         ui->labelResult80kmh->hide();
608         ui->labelResult90kmh->hide();
609         ui->labelResult100kmh->hide();
610     }
611
612     else if (this->diagramGapStem == DIAGRAMGAP50KMH)
613     {
614         ui->labelResult10kmh->show();
615         ui->labelResult20kmh->show();
616         ui->labelResult30kmh->show();
617         ui->labelResult40kmh->show();
618         ui->labelResult50kmh->show();
619         ui->labelResult60kmh->hide();
620         ui->labelResult70kmh->hide();
621         ui->labelResult80kmh->hide();
622         ui->labelResult90kmh->hide();
623         ui->labelResult100kmh->hide();
624     }
625
626     else if (this->diagramGapStem == DIAGRAMGAP60KMH)
627     {
628         ui->labelResult10kmh->show();
629         ui->labelResult20kmh->show();
630         ui->labelResult30kmh->show();
631         ui->labelResult40kmh->show();
632         ui->labelResult50kmh->show();
633         ui->labelResult60kmh->show();
634         ui->labelResult70kmh->hide();
635         ui->labelResult80kmh->hide();
636         ui->labelResult90kmh->hide();
637         ui->labelResult100kmh->hide();
638     }
639
640     else if (this->diagramGapStem == DIAGRAMGAP70KMH)
641     {
642         ui->labelResult10kmh->show();
643         ui->labelResult20kmh->show();
644         ui->labelResult30kmh->show();
645         ui->labelResult40kmh->show();
646         ui->labelResult50kmh->show();
647         ui->labelResult60kmh->show();
648         ui->labelResult70kmh->show();
649         ui->labelResult80kmh->hide();
650         ui->labelResult90kmh->hide();
651         ui->labelResult100kmh->hide();
652     }
653
654     else if (this->diagramGapStem == DIAGRAMGAP80KMH)
655     {
656         ui->labelResult10kmh->show();
657         ui->labelResult20kmh->show();
658         ui->labelResult30kmh->show();
659         ui->labelResult40kmh->show();
660         ui->labelResult50kmh->show();
661         ui->labelResult60kmh->show();
662         ui->labelResult70kmh->show();
663         ui->labelResult80kmh->show();
664         ui->labelResult90kmh->hide();
665         ui->labelResult100kmh->hide();
666     }
667
668     else if (this->diagramGapStem == DIAGRAMGAP90KMH)
669     {
670         ui->labelResult10kmh->show();
671         ui->labelResult20kmh->show();
672         ui->labelResult30kmh->show();
673         ui->labelResult40kmh->show();
674         ui->labelResult50kmh->show();
675         ui->labelResult60kmh->show();
676         ui->labelResult70kmh->show();
677         ui->labelResult80kmh->show();
678         ui->labelResult90kmh->show();
679         ui->labelResult100kmh->hide();
680     }
681
682     else
683     {
684         ui->labelResult10kmh->show();
685         ui->labelResult20kmh->show();
686         ui->labelResult30kmh->show();
687         ui->labelResult40kmh->show();
688         ui->labelResult50kmh->show();
689         ui->labelResult60kmh->show();
690         ui->labelResult70kmh->show();
691         ui->labelResult80kmh->show();
692         ui->labelResult90kmh->show();
693         ui->labelResult100kmh->show();
694     }
695 }
696
697 /**
698   * Checks which target speed has been choosed
699   * @return targetChoice which tells to caller integer value about the target speed
700   * e.g. 20 km/h is value 2 and 60 km/h is value 6
701   */
702 int ResultDialog::getTargetChoice()
703 {
704
705     int targetChoice = 0;
706
707     if (this->diagramGapStem == DIAGRAMGAP10KMH)
708     {
709        targetChoice = 1;
710     }
711
712     else if (this->diagramGapStem == DIAGRAMGAP20KMH)
713     {
714         targetChoice = 2;
715     }
716
717     else if (this->diagramGapStem == DIAGRAMGAP30KMH)
718     {
719         targetChoice = 3;
720     }
721
722     else if (this->diagramGapStem == DIAGRAMGAP40KMH)
723     {
724         targetChoice = 4;
725     }
726
727     else if (this->diagramGapStem == DIAGRAMGAP50KMH)
728     {
729         targetChoice = 5;
730     }
731
732     else if (this->diagramGapStem == DIAGRAMGAP60KMH)
733     {
734         targetChoice = 6;
735     }
736
737     else if (this->diagramGapStem == DIAGRAMGAP70KMH)
738     {
739         targetChoice = 7;
740     }
741
742     else if (this->diagramGapStem == DIAGRAMGAP80KMH)
743     {
744         targetChoice = 8;
745     }
746
747     else if (this->diagramGapStem == DIAGRAMGAP90KMH)
748     {
749         targetChoice = 9;
750     }
751
752     else
753     {
754         targetChoice = 10;
755     }
756     return targetChoice;
757 }
758
759 void ResultDialog::setLabelInfoToUser(QString infoText)
760 {
761     this->ui->labelInfoToUser->setText(infoText);
762 }
763
764 /**
765   * This function enable send server button.
766   */
767 void ResultDialog::setSendServerButtonEnabled()
768 {
769     ui->pushButtonSend->setEnabled(true);
770 }