class MapEngine;
class SituareService;
class User;
+class MCE;
class QTimer;
private:
/**
- * @brief Checks if user is moved enough for position auto update.
- *
- * @return true if moved engouh, false otherwise
- */
- bool isUserMoved();
-
- /**
* @brief Read settings and determine whether to use GPS and autocentering.
* When values does not found on the settings, GPS and autocentering are enabled as a default.
*/
private slots:
/**
- * @brief Automatic update interval timer timeout.
- *
- * Requests update location if user has moved.
- */
- void automaticUpdateIntervalTimerTimeout();
-
- /**
* @brief Set auto centering feature enabled / disabled
*
* @param enabled true if enabled, false otherwise
void disableAutoCentering();
/**
+ * @brief Slot for display state changed.
+ *
+ * @param enabled true if enabled, false otherwise
+ */
+ void displayStateChanged(bool enabled);
+
+ /**
* @brief Slot for auto centering enabling.
*
* Calls gps to send last known position
void enableAutomaticLocationUpdate(bool enabled, int updateIntervalMsecs = 0);
/**
+ * @brief Requests automatic update.
+ *
+ * Makes automatic location update request if user has moved enough.
+ *
+ * @param position geo coordinates
+ */
+ void requestAutomaticUpdateIfMoved(QPointF position);
+
+ /**
* @brief Sets zoom level to default when first GPS location is received if autocentering
* is enabled.
*
void setFirstStartZoomLevel(QPointF latLonCoordinate, qreal accuracy);
/**
- * @brief Saves GPS position.
- *
- * Saves GPS position if it has changed enough and sets m_userMoved flag.
+ * @brief Automatic update interval timer timeout.
*
- * @param position geo coordinates
+ * Requests update location if user has moved.
*/
- void saveGPSPosition(QPointF position);
+ void startAutomaticUpdate();
/*******************************************************************************
* SIGNALS
private:
bool m_autoCenteringEnabled; ///< Auto centering flag
bool m_automaticUpdateFirstStart; ///< Automatic location update first start flag
- bool m_userMoved; ///< Flag for user moving
+ bool m_automaticUpdateRequest; ///< Flag for automatic update request
+ bool m_userMoved; ///< Flag for user move
+
FacebookAuthentication *m_facebookAuthenticator; ///< Instance for facebook authenticator
GPSPosition *m_gps; ///< Instance of the gps position
MainWindow *m_ui; ///< Instance of the MainWindow UI
MapEngine *m_mapEngine; ///< MapEngine
SituareService *m_situareService; ///< Instance of the situare server communication service
+ MCE *m_mce; ///< Instance of the MCE
QTimer *m_automaticUpdateIntervalTimer; ///< Automatic update interval timer
QPointF m_lastUpdatedGPSPosition; ///< Last updated GPS position