Added MCE class.
[situare] / src / engine / engine.cpp
index f087fa9..275dd11 100644 (file)
 #include "map/mapengine.h"
 #include "situareservice/situareservice.h"
 #include "ui/mainwindow.h"
+#include "mce.h"
 #include <cmath>
 
 #include "engine.h"
 
+
 const QString SETTINGS_GPS_ENABLED = "GPS_ENABLED"; ///< GPS setting
 const QString SETTINGS_AUTO_CENTERING_ENABLED = "AUTO_CENTERING_ENABLED";///< Auto centering setting
 const int DEFAULT_ZOOM_LEVEL_WHEN_GPS_IS_AVAILABLE = 12;  ///< Default zoom level when GPS available
@@ -47,6 +49,7 @@ SituareEngine::SituareEngine(QMainWindow *parent)
       m_autoCenteringEnabled(false),
       m_automaticUpdateFirstStart(true),
       m_userMoved(false),
+      m_automaticUpdateScreenOff(false),
       m_automaticUpdateIntervalTimer(0),
       m_lastUpdatedGPSPosition(QPointF())
 {    
@@ -99,6 +102,9 @@ SituareEngine::SituareEngine(QMainWindow *parent)
 
     m_gps->setMode(GPSPosition::Default);
     initializeGpsAndAutocentering();
+
+    m_mce = new MCE(this);
+    connect(m_mce, SIGNAL(displayOn(bool)), this, SLOT(displayOn(bool)));
 }
 
 SituareEngine::~SituareEngine()
@@ -120,6 +126,9 @@ void SituareEngine::automaticUpdateIntervalTimerTimeout()
         requestUpdateLocation();
         m_userMoved = false;
     }
+
+    if (!m_mce->isDisplayOn())
+        m_gps->requestUpdate();
 }
 
 void SituareEngine::changeAutoCenteringSetting(bool enabled)
@@ -138,6 +147,16 @@ void SituareEngine::disableAutoCentering()
     m_ui->buildInformationBox(tr("Auto centering disabled"));
 }
 
+void SituareEngine::displayOn(bool on)
+{
+    qDebug() << __PRETTY_FUNCTION__;
+
+    m_displayOn = on;
+
+    if (m_autoCenteringEnabled)
+        enableAutoCentering(on);
+}
+
 void SituareEngine::enableAutoCentering(bool enabled)
 {
     qDebug() << __PRETTY_FUNCTION__;
@@ -419,6 +438,10 @@ void SituareEngine::saveGPSPosition(QPointF position)
         m_lastUpdatedGPSPosition = position;
         m_userMoved = true;
     }
+
+    if (m_automaticUpdateGPSRequest) {
+        m_
+    }
 }
 
 void SituareEngine::setFirstStartZoomLevel(QPointF latLonCoordinate, qreal accuracy)