Merge branch 'master' into contact_dialog
[situare] / src / map / mapengine.cpp
index 8c2a706..77a87f6 100644 (file)
@@ -139,13 +139,13 @@ void MapEngine::centerAndZoomTo(QRect rect, bool useMargins)
     int marginVertical = 0;
 
     if (useMargins) {
-        marginHorizontal = 50;
+        marginHorizontal = 5;
         marginVertical = 5;
     }
 
     // calculate the usable size of the view
-    int viewUsableHeight = m_viewSize.height() - 2 * marginHorizontal;
-    int viewUsableWidth = m_viewSize.width() - 2 * marginVertical;
+    int viewUsableHeight = m_viewSize.height() - 2 * marginVertical;
+    int viewUsableWidth = m_viewSize.width() - 2 * marginHorizontal;
 
     // calculate how many levels must be zoomed out from the closest zoom level to get the rect
     // fit inside the usable view area
@@ -177,6 +177,17 @@ void MapEngine::centerToCoordinates(GeoCoordinate coordinate)
     scrollToPosition(SceneCoordinate(coordinate));
 }
 
+void MapEngine::clearRoute()
+{
+    qDebug() << __PRETTY_FUNCTION__;
+
+    if (m_mapRouteItem) {
+        m_mapScene->removeItem(m_mapRouteItem);
+        delete m_mapRouteItem;
+        m_mapRouteItem = 0;
+    }
+}
+
 QPoint MapEngine::convertSceneCoordinateToTileNumber(int zoomLevel, SceneCoordinate coordinate)
 {
     qDebug() << __PRETTY_FUNCTION__;
@@ -463,17 +474,9 @@ void MapEngine::setRoute(Route &route)
 {
     qDebug() << __PRETTY_FUNCTION__;
 
-    m_route = route;
-
-    // delete old route track (if exists)
-    if (m_mapRouteItem) {
-        m_mapScene->removeItem(m_mapRouteItem);
-        delete m_mapRouteItem;
-        m_mapRouteItem = 0;
-    }
+    clearRoute();
 
-    // create new route track
-    m_mapRouteItem = new MapRouteItem(&m_route);
+    m_mapRouteItem = new MapRouteItem(&route);
     m_mapScene->addItem(m_mapRouteItem);
 
     centerAndZoomTo(m_mapRouteItem->boundingRect().toRect());