9cbcb45fd641c6b064a97dd1566a72aec235e6e3
[speedfreak] / Client / routesavedialog.cpp
1 /*
2  * Route save dialog class
3  *
4  * @author     Toni Jussila <toni.jussila@fudeco.com>
5  * @copyright  (c) 2010 Speed Freak team
6  * @license    http://opensource.org/licenses/gpl-license.php GNU Public License
7  */
8
9 #include "routesavedialog.h"
10 #include "ui_routesavedialog.h"
11
12 /**
13   *Constructor of this class.
14   *@param QWidget pointer to parent object. By default the value is NULL.
15   */
16 RouteSaveDialog::RouteSaveDialog(QWidget *parent) :
17     QDialog(parent),
18     ui(new Ui::RouteSaveDialog)
19 {
20     ui->setupUi(this);
21
22     ui->labelRouteSatelliteStatus->setVisible(0);
23     ui->labelRouteSatellitePicture->setVisible(0);
24     ui->labelRouteSatellitePicture->setPixmap(QPixmap("satellite_vista.png"));
25     timerSatellitePicture = new QTimer();
26     timerSatellitePicture->setInterval(400);
27     connect(timerSatellitePicture, SIGNAL(timeout()),this, SLOT(timerSatellitePictureTimeout()));
28 }
29
30 /**
31   *Destructor of this class. Deletes all dynamic objects and sets them to NULL.
32   */
33 RouteSaveDialog::~RouteSaveDialog()
34 {
35     delete ui;
36 }
37
38 void RouteSaveDialog::changeEvent(QEvent *e)
39 {
40     QDialog::changeEvent(e);
41     switch (e->type()) {
42     case QEvent::LanguageChange:
43         ui->retranslateUi(this);
44         break;
45     default:
46         break;
47     }
48 }
49
50 /**
51   *This slot function is called when route start/stop button clicked.
52   */
53 void RouteSaveDialog::on_buttonRouteStartStop_clicked()
54 {
55     if ( ui->buttonRouteStartStop->text() == "Start" )
56     {
57         ui->buttonRouteStartStop->setText("Stop");
58         ui->labelRouteSatelliteStatus->setText("Searching satellite");
59         ui->labelRouteSatelliteStatus->setVisible(1);
60         ui->labelRouteSatellitePicture->setVisible(1);
61         timerSatellitePicture->start();
62     }
63     else
64     {
65         ui->buttonRouteStartStop->setText("Start");
66         ui->labelRouteSatelliteStatus->setVisible(0);
67         ui->labelRouteSatellitePicture->setVisible(0);
68         timerSatellitePicture->stop();
69     }
70 }
71
72 /**
73   *This slot function is called when satellite picture timer timeout(400ms).
74   */
75 void RouteSaveDialog::timerSatellitePictureTimeout()
76 {
77     //If satellite picture visible.
78     if (ui->labelRouteSatellitePicture->isVisible() == 1)
79     {
80         ui->labelRouteSatelliteStatus->setVisible(0);
81         ui->labelRouteSatellitePicture->setVisible(0);
82     }
83     else
84     {
85         ui->labelRouteSatelliteStatus->setVisible(1);
86         ui->labelRouteSatellitePicture->setVisible(1);
87     }
88     timerSatellitePicture->start();
89 }