m_facebookAuthenticator, SLOT(updateCredentials(QUrl)));
// signals from map view
- connect(m_ui, SIGNAL(mapViewScrolled(SceneCoordinate)),
- m_mapEngine, SLOT(setCenterPosition(SceneCoordinate)));
+ connect(m_ui, SIGNAL(mapViewScrolled(SceneCoordinate, bool)),
+ m_mapEngine, SLOT(setCenterPosition(SceneCoordinate, bool)));
connect(m_ui, SIGNAL(mapViewResized(QSize)),
m_mapEngine, SLOT(viewResized(QSize)));
connect(m_mapEngine, SIGNAL(error(int, int)),
this, SLOT(error(int, int)));
- connect(m_mapEngine, SIGNAL(locationChanged(SceneCoordinate)),
- m_ui, SIGNAL(centerToSceneCoordinates(SceneCoordinate)));
+ connect(m_mapEngine, SIGNAL(locationChanged(SceneCoordinate, bool)),
+ m_ui, SIGNAL(centerToSceneCoordinates(SceneCoordinate, bool)));
connect(m_mapEngine, SIGNAL(zoomLevelChanged(int)),
m_ui, SIGNAL(zoomLevelChanged(int)));
updateDirectionIndicator();
}
-void MapEngine::setCenterPosition(SceneCoordinate coordinate)
+void MapEngine::setCenterPosition(SceneCoordinate coordinate, bool isUserDragAction)
{
qDebug() << __PRETTY_FUNCTION__;
disableAutoCenteringIfRequired(coordinate);
m_sceneCoordinate = coordinate;
- emit locationChanged(m_sceneCoordinate);
+ emit locationChanged(m_sceneCoordinate, isUserDragAction);
if (isCenterTileChanged(coordinate)) {
getTiles(coordinate);
m_viewSize = size;
setTilesGridSize(m_viewSize);
- emit locationChanged(m_sceneCoordinate);
+ emit locationChanged(m_sceneCoordinate, false);
getTiles(m_sceneCoordinate);
m_mapScene->removeOutOfViewTiles(m_viewTilesGrid, m_zoomLevel);
m_mapScene->setSceneVerticalOverlap(m_viewSize.height(), m_zoomLevel);
* Does emit locationChanged signal.
* @param coordinate Scene coordinates for new position
*/
- void setCenterPosition(SceneCoordinate coordinate);
+ void setCenterPosition(SceneCoordinate coordinate, bool isUserDragAction = false);
/**
* @brief Builds and sets route, also centers it
*
* @param coordinate New scene coordinates
*/
- void locationChanged(SceneCoordinate coordinate);
+ void locationChanged(SceneCoordinate coordinate, bool isUserDragAction);
/**
* @brief Signal is emitted when location item is clicked.
this, SLOT(doubleTapZoomFinished()));
}
-void MapView::centerToSceneCoordinates(const SceneCoordinate &coordinate, bool isUserAction)
+void MapView::centerToSceneCoordinates(const SceneCoordinate &coordinate, bool isUserDragAction)
{
qDebug() << __PRETTY_FUNCTION__ << "coordinate" << coordinate;
QPointF target = coordinate.toPointF();
- if (!isUserAction) {
+ if (!isUserDragAction) {
target += m_centerHorizontalShift;
}
m_time.start();
m_index++;
- emit viewScrolled(SceneCoordinate(m_scenePosition.x(), m_scenePosition.y()));
+ emit viewScrolled(SceneCoordinate(m_scenePosition.x(), m_scenePosition.y()), true);
m_mouseLastScenePosition = mapToScene(event->pos()).toPoint();
m_mouseLastViewPosition = event->pos();
*
* @param coordinate Scene coordinates of the new center point
*/
- void centerToSceneCoordinates(const SceneCoordinate &coordinate, bool isUserAction = false);
+ void centerToSceneCoordinates(const SceneCoordinate &coordinate, bool isUserDragAction = false);
/**
* @brief Set zoom level of the view
* Signal is emitted when view is scrolled.
* @param coordinate Scene coordinates of the new center point of the view
*/
- void viewScrolled(const SceneCoordinate &coordinate);
+ void viewScrolled(const SceneCoordinate &coordinate, bool isUserDragAction);
/**
* @brief Signal for informing that zooming animation is finished
buildIndicatorButtonPanel();
buildMapScale();
- connect(m_mapView, SIGNAL(viewScrolled(SceneCoordinate)),
- this, SIGNAL(mapViewScrolled(SceneCoordinate)));
+ connect(m_mapView, SIGNAL(viewScrolled(SceneCoordinate, bool)),
+ this, SIGNAL(mapViewScrolled(SceneCoordinate, bool)));
- connect(this, SIGNAL(centerToSceneCoordinates(SceneCoordinate)),
- m_mapView, SLOT(centerToSceneCoordinates(SceneCoordinate)));
+ connect(this, SIGNAL(centerToSceneCoordinates(SceneCoordinate, bool)),
+ m_mapView, SLOT(centerToSceneCoordinates(SceneCoordinate, bool)));
connect(m_mapView, SIGNAL(viewResized(QSize)),
this, SIGNAL(mapViewResized(QSize)));
*
* @param coordinate Scene coordinates of the new center point
*/
- void centerToSceneCoordinates(const SceneCoordinate &coordinate);
+ void centerToSceneCoordinates(const SceneCoordinate &coordinate, bool isUserDragAction);
/**
* @brief Signal when direction and distance from current map center point to current GPS
*
* @param coordinate
*/
- void mapViewScrolled(const SceneCoordinate &coordinate);
+ void mapViewScrolled(const SceneCoordinate &coordinate, bool isUserDragAction);
/**
* @brief Forwarding signal from MapEngine to MapView