Merge branch 'feature/routesavedialog'
authorToni Jussila <toni.jussila@fudeco.com>
Tue, 30 Mar 2010 07:37:38 +0000 (10:37 +0300)
committerToni Jussila <toni.jussila@fudeco.com>
Tue, 30 Mar 2010 07:37:38 +0000 (10:37 +0300)
Client/mainwindow.cpp
Client/mainwindow.h
Client/routesavedialog.cpp
Client/routesavedialog.h
Client/routesavedialog.ui

index 02a7e54..91ca8a4 100644 (file)
@@ -19,11 +19,14 @@ MainWindow::MainWindow(QWidget *parent) :
     ui->setupUi(this);
 
     creditsDialog = new CreditsDialog;
+    routeSaveDialog = new RouteSaveDialog;
 }
 
 MainWindow::~MainWindow()
 {
     delete ui;
+
+    delete routeSaveDialog;
 }
 
 void MainWindow::changeEvent(QEvent *e)
@@ -47,3 +50,8 @@ void MainWindow::on_pushButtonCredits_clicked()
 {
     creditsDialog->show();
 }
+
+void MainWindow::on_pushButtonRoute_clicked()
+{
+    routeSaveDialog->show();
+}
index 2b4e191..3299ba8 100644 (file)
@@ -11,6 +11,7 @@
 
 #include <QMainWindow>
 #include "creditsdialog.h"
+#include "routesavedialog.h"
 
 namespace Ui {
     class MainWindow;
@@ -23,6 +24,7 @@ public:
     ~MainWindow();
 
     CreditsDialog *creditsDialog;
+    RouteSaveDialog *routeSaveDialog;
 
 protected:
     void changeEvent(QEvent *e);
@@ -31,6 +33,7 @@ private:
     Ui::MainWindow *ui;
 
 private slots:
+    void on_pushButtonRoute_clicked();
     void on_pushButtonCredits_clicked();
     void on_pushButtonWWW_clicked();
 };
index 4082c77..9cbcb45 100644 (file)
@@ -1,13 +1,35 @@
+/*
+ * Route save dialog class
+ *
+ * @author     Toni Jussila <toni.jussila@fudeco.com>
+ * @copyright  (c) 2010 Speed Freak team
+ * @license    http://opensource.org/licenses/gpl-license.php GNU Public License
+ */
+
 #include "routesavedialog.h"
 #include "ui_routesavedialog.h"
 
+/**
+  *Constructor of this class.
+  *@param QWidget pointer to parent object. By default the value is NULL.
+  */
 RouteSaveDialog::RouteSaveDialog(QWidget *parent) :
     QDialog(parent),
     ui(new Ui::RouteSaveDialog)
 {
     ui->setupUi(this);
+
+    ui->labelRouteSatelliteStatus->setVisible(0);
+    ui->labelRouteSatellitePicture->setVisible(0);
+    ui->labelRouteSatellitePicture->setPixmap(QPixmap("satellite_vista.png"));
+    timerSatellitePicture = new QTimer();
+    timerSatellitePicture->setInterval(400);
+    connect(timerSatellitePicture, SIGNAL(timeout()),this, SLOT(timerSatellitePictureTimeout()));
 }
 
+/**
+  *Destructor of this class. Deletes all dynamic objects and sets them to NULL.
+  */
 RouteSaveDialog::~RouteSaveDialog()
 {
     delete ui;
@@ -24,3 +46,44 @@ void RouteSaveDialog::changeEvent(QEvent *e)
         break;
     }
 }
+
+/**
+  *This slot function is called when route start/stop button clicked.
+  */
+void RouteSaveDialog::on_buttonRouteStartStop_clicked()
+{
+    if ( ui->buttonRouteStartStop->text() == "Start" )
+    {
+        ui->buttonRouteStartStop->setText("Stop");
+        ui->labelRouteSatelliteStatus->setText("Searching satellite");
+        ui->labelRouteSatelliteStatus->setVisible(1);
+        ui->labelRouteSatellitePicture->setVisible(1);
+        timerSatellitePicture->start();
+    }
+    else
+    {
+        ui->buttonRouteStartStop->setText("Start");
+        ui->labelRouteSatelliteStatus->setVisible(0);
+        ui->labelRouteSatellitePicture->setVisible(0);
+        timerSatellitePicture->stop();
+    }
+}
+
+/**
+  *This slot function is called when satellite picture timer timeout(400ms).
+  */
+void RouteSaveDialog::timerSatellitePictureTimeout()
+{
+    //If satellite picture visible.
+    if (ui->labelRouteSatellitePicture->isVisible() == 1)
+    {
+        ui->labelRouteSatelliteStatus->setVisible(0);
+        ui->labelRouteSatellitePicture->setVisible(0);
+    }
+    else
+    {
+        ui->labelRouteSatelliteStatus->setVisible(1);
+        ui->labelRouteSatellitePicture->setVisible(1);
+    }
+    timerSatellitePicture->start();
+}
index de1c382..b4a38f1 100644 (file)
@@ -1,7 +1,17 @@
+/*
+ * Route save dialog class
+ *
+ * @author     Toni Jussila <toni.jussila@fudeco.com>
+ * @copyright  (c) 2010 Speed Freak team
+ * @license    http://opensource.org/licenses/gpl-license.php GNU Public License
+ */
+
 #ifndef ROUTESAVEDIALOG_H
 #define ROUTESAVEDIALOG_H
 
 #include <QDialog>
+#include <QPixmap>
+#include <QTimer>
 
 namespace Ui {
     class RouteSaveDialog;
@@ -18,6 +28,11 @@ protected:
 
 private:
     Ui::RouteSaveDialog *ui;
+    QTimer *timerSatellitePicture;
+
+private slots:
+    void on_buttonRouteStartStop_clicked();
+    void timerSatellitePictureTimeout();
 };
 
 #endif // ROUTESAVEDIALOG_H
index a1611d9..d935540 100644 (file)
@@ -1,3 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <ui version="4.0">
  <class>RouteSaveDialog</class>
  <widget class="QDialog" name="RouteSaveDialog">
@@ -5,13 +6,58 @@
    <rect>
     <x>0</x>
     <y>0</y>
-    <width>400</width>
-    <height>300</height>
+    <width>800</width>
+    <height>480</height>
    </rect>
   </property>
   <property name="windowTitle">
    <string>Dialog</string>
   </property>
+  <widget class="QPushButton" name="buttonRouteStartStop">
+   <property name="geometry">
+    <rect>
+     <x>600</x>
+     <y>170</y>
+     <width>130</width>
+     <height>130</height>
+    </rect>
+   </property>
+   <property name="text">
+    <string>Start</string>
+   </property>
+  </widget>
+  <widget class="QLabel" name="labelRouteSatellitePicture">
+   <property name="geometry">
+    <rect>
+     <x>190</x>
+     <y>150</y>
+     <width>100</width>
+     <height>100</height>
+    </rect>
+   </property>
+   <property name="text">
+    <string>Satellite</string>
+   </property>
+   <property name="alignment">
+    <set>Qt::AlignCenter</set>
+   </property>
+  </widget>
+  <widget class="QLabel" name="labelRouteSatelliteStatus">
+   <property name="geometry">
+    <rect>
+     <x>110</x>
+     <y>280</y>
+     <width>251</width>
+     <height>51</height>
+    </rect>
+   </property>
+   <property name="text">
+    <string>Satellite status</string>
+   </property>
+   <property name="alignment">
+    <set>Qt::AlignCenter</set>
+   </property>
+  </widget>
  </widget>
  <resources/>
  <connections/>