[qmapshack] 01/04: Imported Upstream version 1.2.0

Sebastiaan Couwenberg sebastic at moszumanska.debian.org
Tue Apr 14 21:47:18 UTC 2015


This is an automated email from the git hooks/post-receive script.

sebastic pushed a commit to branch master
in repository qmapshack.

commit 34092be0ac5f7cde3e90dcce33772fa8811ba384
Author: Bas Couwenberg <sebastic at xs4all.nl>
Date:   Tue Apr 14 23:25:41 2015 +0200

    Imported Upstream version 1.2.0
---
 CMakeLists.txt                                     |   2 +-
 CMakeLists.txt.user                                |  14 +-
 CMakeLists.txt.user.3.3-pre1                       | 188 ------
 changelog.txt                                      |  11 +
 nsi/3rdparty.txt                                   |  87 ++-
 src/CMainWindow.cpp                                |   9 +
 src/CMakeLists.txt                                 |   2 +
 src/canvas/CCanvas.cpp                             |  32 +-
 src/canvas/CCanvas.h                               |  10 +
 src/canvas/CCanvasSetup.cpp                        |  19 +
 src/canvas/ICanvasSetup.ui                         |  31 +-
 src/canvas/IDrawContext.cpp                        |  93 ++-
 src/canvas/IDrawContext.h                          |  15 +-
 src/device/CDeviceGarmin.cpp                       |   5 +
 src/device/CDeviceTwoNav.cpp                       |   6 +
 src/device/IDevice.cpp                             |  42 ++
 src/device/IDevice.h                               |  16 +
 src/gis/CGisListWks.cpp                            |  73 ++-
 src/gis/prj/CDetailsPrj.cpp                        |   4 +-
 src/gis/prj/IGisProject.cpp                        |  18 +
 src/gis/prj/IGisProject.h                          |   2 +
 src/gis/tnv/serialization.cpp                      |  50 +-
 src/gis/trk/CDetailsTrk.cpp                        |  29 +-
 src/gis/trk/CDetailsTrk.h                          |   2 +
 src/gis/trk/CGisItemTrk.cpp                        | 386 +++++++++---
 src/gis/trk/CGisItemTrk.h                          |  39 +-
 src/gis/trk/CScrOptTrk.cpp                         |   4 +-
 src/gis/trk/IDetailsTrk.ui                         |  21 +
 src/grid/CProjWizard.cpp                           |   4 +-
 .../CFadingIcon.cpp}                               |  48 +-
 src/{plot/CPlotSpeed.h => helpers/CFadingIcon.h}   |  24 +-
 src/helpers/CFileExt.h                             |  22 +-
 src/icons/32x32/NoGo.png                           | Bin 0 -> 1401 bytes
 src/icons/48x48/NoGo.png                           | Bin 0 -> 2231 bytes
 src/icons/NoGo.svg                                 |  69 +++
 src/locale/qmapshack_cs.ts                         | 681 ++++++++++++---------
 src/locale/qmapshack_de.ts                         | 625 +++++++++++--------
 src/locale/qmapshack_es.ts                         | 615 +++++++++++--------
 src/locale/qmapshack_fr.ts                         | 615 +++++++++++--------
 src/main.cpp                                       |   2 +-
 src/map/CMapDraw.cpp                               |  10 +-
 src/map/CMapDraw.h                                 |   1 +
 src/map/CMapIMG.cpp                                |  25 +-
 src/map/CMapList.cpp                               |  43 +-
 src/map/CMapList.h                                 |   3 +
 src/map/CMapPathSetup.cpp                          |   8 +
 src/map/CMapPathSetup.h                            |   2 +-
 src/map/CMapTMS.cpp                                |   7 +
 src/map/CMapWMTS.cpp                               |   8 +
 src/map/IMap.cpp                                   |   4 +-
 src/map/IMapList.ui                                |  10 +-
 src/map/IMapPathSetup.ui                           |  10 +-
 src/map/OSM_Topo.tms                               |  21 +
 src/map/OpenCycleMap.tms                           |   9 +
 src/map/OpenStreetMap.tms                          |  14 +
 src/map/WorldSat.wmts                              | 377 ++++++++++++
 src/map/WorldTopo.wmts                             | 377 ++++++++++++
 src/map/garmin/IGarminStrTbl.cpp                   |   2 +-
 src/mouse/CMouseEditTrk.cpp                        |   4 +-
 src/mouse/CMouseNormal.cpp                         |  30 +-
 src/mouse/CMouseNormal.h                           |   3 +
 src/mouse/CMouseRangeTrk.cpp                       |  60 +-
 src/mouse/CMouseRangeTrk.h                         |   2 +-
 src/mouse/CScrOptRangeTrk.cpp                      |   1 +
 src/mouse/IMouseEditLine.cpp                       |  32 +-
 src/plot/CPlotDistance.cpp                         |  11 +-
 src/plot/CPlotDistance.h                           |   2 +-
 src/plot/CPlotProfile.cpp                          |  43 +-
 src/plot/CPlotProfile.h                            |   2 +-
 src/plot/CPlotSpeed.cpp                            |   9 +-
 src/plot/CPlotSpeed.h                              |   2 +-
 src/plot/IPlot.cpp                                 | 358 ++++++++---
 src/plot/IPlot.h                                   |  26 +-
 src/resources.qrc                                  |   8 +
 src/units/CUnitMetric.cpp                          |   8 +-
 75 files changed, 3716 insertions(+), 1731 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 2f8c2ea..680c9f4 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -20,7 +20,7 @@ endif(WIN32)
 set(APPLICATION_NAME qmapshack)
 
 set(APPLICATION_VERSION_MAJOR "1")
-set(APPLICATION_VERSION_MINOR "1")
+set(APPLICATION_VERSION_MINOR "2")
 set(APPLICATION_VERSION_PATCH "0")
 
 add_definitions(-DVER_MAJOR=${APPLICATION_VERSION_MAJOR} -DVER_MINOR=${APPLICATION_VERSION_MINOR} -DVER_STEP=${APPLICATION_VERSION_PATCH} -DAPPLICATION_NAME=${PROJECT_NAME})
diff --git a/CMakeLists.txt.user b/CMakeLists.txt.user
index 2e986f2..b4358f2 100644
--- a/CMakeLists.txt.user
+++ b/CMakeLists.txt.user
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE QtCreatorProject>
-<!-- Written by QtCreator 3.3.1, 2015-03-29T14:01:35. -->
+<!-- Written by QtCreator 3.3.1, 2015-04-13T09:23:04. -->
 <qtcreator>
  <data>
   <variable>EnvironmentId</variable>
-  <value type="QByteArray">{044d553a-749a-4a4b-b707-1344605bd255}</value>
+  <value type="QByteArray">{2664d6c3-cac3-44ef-bde0-590e210eae25}</value>
  </data>
  <data>
   <variable>ProjectExplorer.Project.ActiveTarget</variable>
@@ -58,9 +58,9 @@
  <data>
   <variable>ProjectExplorer.Project.Target.0</variable>
   <valuemap type="QVariantMap">
-   <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Qt 4.8.4 in Pfad (System)</value>
-   <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Qt 4.8.4 in Pfad (System)</value>
-   <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{b3896d75-6773-49ab-b85b-a90805c4269a}</value>
+   <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop</value>
+   <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop</value>
+   <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{021ef025-5564-47de-9a05-7e6d336dd5ab}</value>
    <value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
    <value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
    <value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
@@ -157,9 +157,9 @@
      <value type="int">14</value>
     </valuelist>
     <value type="QString" key="CMakeProjectManager.CMakeRunConfiguation.Title">qmapshack</value>
-    <value type="QString" key="CMakeProjectManager.CMakeRunConfiguration.Arguments">-d </value>
+    <value type="QString" key="CMakeProjectManager.CMakeRunConfiguration.Arguments">-d</value>
     <value type="bool" key="CMakeProjectManager.CMakeRunConfiguration.UseTerminal">false</value>
-    <value type="QString" key="CMakeProjectManager.CMakeRunConfiguration.UserWorkingDirectory"></value>
+    <value type="QString" key="CMakeProjectManager.CMakeRunConfiguration.UserWorkingDirectory">/home/oeichler/Code/cpp/build_QMapShack/</value>
     <value type="int" key="PE.EnvironmentAspect.Base">2</value>
     <valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmapshack</value>
diff --git a/CMakeLists.txt.user.3.3-pre1 b/CMakeLists.txt.user.3.3-pre1
deleted file mode 100644
index 2d183c2..0000000
--- a/CMakeLists.txt.user.3.3-pre1
+++ /dev/null
@@ -1,188 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE QtCreatorProject>
-<!-- Written by QtCreator 3.2.2, 2015-03-13T18:02:53. -->
-<qtcreator>
- <data>
-  <variable>EnvironmentId</variable>
-  <value type="QByteArray">{044d553a-749a-4a4b-b707-1344605bd255}</value>
- </data>
- <data>
-  <variable>ProjectExplorer.Project.ActiveTarget</variable>
-  <value type="int">0</value>
- </data>
- <data>
-  <variable>ProjectExplorer.Project.EditorSettings</variable>
-  <valuemap type="QVariantMap">
-   <value type="bool" key="EditorConfiguration.AutoIndent">true</value>
-   <value type="bool" key="EditorConfiguration.AutoSpacesForTabs">false</value>
-   <value type="bool" key="EditorConfiguration.CamelCaseNavigation">true</value>
-   <valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0">
-    <value type="QString" key="language">Cpp</value>
-    <valuemap type="QVariantMap" key="value">
-     <value type="QByteArray" key="CurrentPreferences">CppGlobal</value>
-    </valuemap>
-   </valuemap>
-   <valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1">
-    <value type="QString" key="language">QmlJS</value>
-    <valuemap type="QVariantMap" key="value">
-     <value type="QByteArray" key="CurrentPreferences">QmlJSGlobal</value>
-    </valuemap>
-   </valuemap>
-   <value type="int" key="EditorConfiguration.CodeStyle.Count">2</value>
-   <value type="QByteArray" key="EditorConfiguration.Codec">UTF-8</value>
-   <value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value>
-   <value type="int" key="EditorConfiguration.IndentSize">4</value>
-   <value type="bool" key="EditorConfiguration.KeyboardTooltips">false</value>
-   <value type="int" key="EditorConfiguration.MarginColumn">80</value>
-   <value type="bool" key="EditorConfiguration.MouseHiding">true</value>
-   <value type="bool" key="EditorConfiguration.MouseNavigation">true</value>
-   <value type="int" key="EditorConfiguration.PaddingMode">1</value>
-   <value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
-   <value type="bool" key="EditorConfiguration.ShowMargin">false</value>
-   <value type="int" key="EditorConfiguration.SmartBackspaceBehavior">0</value>
-   <value type="bool" key="EditorConfiguration.SpacesForTabs">true</value>
-   <value type="int" key="EditorConfiguration.TabKeyBehavior">0</value>
-   <value type="int" key="EditorConfiguration.TabSize">8</value>
-   <value type="bool" key="EditorConfiguration.UseGlobal">true</value>
-   <value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value>
-   <value type="bool" key="EditorConfiguration.addFinalNewLine">true</value>
-   <value type="bool" key="EditorConfiguration.cleanIndentation">true</value>
-   <value type="bool" key="EditorConfiguration.cleanWhitespace">true</value>
-   <value type="bool" key="EditorConfiguration.inEntireDocument">false</value>
-  </valuemap>
- </data>
- <data>
-  <variable>ProjectExplorer.Project.PluginSettings</variable>
-  <valuemap type="QVariantMap"/>
- </data>
- <data>
-  <variable>ProjectExplorer.Project.Target.0</variable>
-  <valuemap type="QVariantMap">
-   <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Qt 4.8.4 in Pfad (System)</value>
-   <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Qt 4.8.4 in Pfad (System)</value>
-   <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{b3896d75-6773-49ab-b85b-a90805c4269a}</value>
-   <value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
-   <value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
-   <value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
-   <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
-    <value type="bool" key="CMakeProjectManager.CMakeBuildConfiguration.UseNinja">false</value>
-    <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/oeichler/Code/cpp/build_QMapShack</value>
-    <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
-     <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
-      <value type="QString" key="CMakeProjectManager.MakeStep.AdditionalArguments">-j8</value>
-      <valuelist type="QVariantList" key="CMakeProjectManager.MakeStep.BuildTargets"/>
-      <value type="bool" key="CMakeProjectManager.MakeStep.Clean">false</value>
-      <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
-      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
-      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
-      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.MakeStep</value>
-     </valuemap>
-     <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
-     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
-     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
-     <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
-    </valuemap>
-    <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
-     <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
-      <value type="QString" key="CMakeProjectManager.MakeStep.AdditionalArguments">clean</value>
-      <valuelist type="QVariantList" key="CMakeProjectManager.MakeStep.BuildTargets"/>
-      <value type="bool" key="CMakeProjectManager.MakeStep.Clean">true</value>
-      <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
-      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
-      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
-      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.MakeStep</value>
-     </valuemap>
-     <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
-     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Bereinigen</value>
-     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
-     <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
-    </valuemap>
-    <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
-    <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
-    <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
-    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">all</value>
-    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
-    <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.CMakeBuildConfiguration</value>
-   </valuemap>
-   <value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">1</value>
-   <valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
-    <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
-     <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
-     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deployment</value>
-     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
-     <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
-    </valuemap>
-    <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
-    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Lokales Deployment</value>
-    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
-    <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
-   </valuemap>
-   <value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
-   <valuemap type="QVariantMap" key="ProjectExplorer.Target.PluginSettings"/>
-   <valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
-    <valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
-    <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
-    <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
-    <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
-    <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
-    <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
-    <value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
-    <value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
-    <value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
-    <value type="int" key="Analyzer.Valgrind.LeakCheckOnFinish">1</value>
-    <value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
-    <valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
-    <value type="int" key="Analyzer.Valgrind.SelfModifyingCodeDetection">1</value>
-    <value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
-    <value type="bool" key="Analyzer.Valgrind.ShowReachable">false</value>
-    <value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
-    <value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
-    <valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
-     <value type="int">0</value>
-     <value type="int">1</value>
-     <value type="int">2</value>
-     <value type="int">3</value>
-     <value type="int">4</value>
-     <value type="int">5</value>
-     <value type="int">6</value>
-     <value type="int">7</value>
-     <value type="int">8</value>
-     <value type="int">9</value>
-     <value type="int">10</value>
-     <value type="int">11</value>
-     <value type="int">12</value>
-     <value type="int">13</value>
-     <value type="int">14</value>
-    </valuelist>
-    <value type="QString" key="CMakeProjectManager.CMakeRunConfiguation.Title">qmapshack</value>
-    <value type="QString" key="CMakeProjectManager.CMakeRunConfiguration.Arguments"></value>
-    <value type="bool" key="CMakeProjectManager.CMakeRunConfiguration.UseTerminal">false</value>
-    <value type="QString" key="CMakeProjectManager.CMakeRunConfiguration.UserWorkingDirectory"></value>
-    <value type="int" key="PE.EnvironmentAspect.Base">2</value>
-    <valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
-    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmapshack</value>
-    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
-    <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.CMakeRunConfiguration.qmapshack</value>
-    <value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value>
-    <value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
-    <value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
-    <value type="bool" key="RunConfiguration.UseMultiProcess">false</value>
-    <value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
-    <value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
-   </valuemap>
-   <value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
-  </valuemap>
- </data>
- <data>
-  <variable>ProjectExplorer.Project.TargetCount</variable>
-  <value type="int">1</value>
- </data>
- <data>
-  <variable>ProjectExplorer.Project.Updater.FileVersion</variable>
-  <value type="int">16</value>
- </data>
- <data>
-  <variable>Version</variable>
-  <value type="int">16</value>
- </data>
-</qtcreator>
diff --git a/changelog.txt b/changelog.txt
index f750fa1..c61cd89 100644
--- a/changelog.txt
+++ b/changelog.txt
@@ -1,3 +1,14 @@
+V 1.2.0
+* TwoNav: prepend HTML file for waypoint comment with QMS_CMT
+* Devices: Warn if there is a file/path with the same name, but different key
+* TwoNav: Link comment file to roadbook waypoints.
+* Track: Enhance range selection
+* Track: Add range selection to plots
+* Canvas: Add option to choose between logarithmic and square scale.
+* Add button to add a selection online maps
+* Fix: Some waypoints do not snap on track
+* [Issue #14] Issue a warning when closing an unsaved project
+
 V 1.1.0
 * Garmin Mpas: fix line breaks of tooltips
 * Project summary: Add roadbook mode
diff --git a/nsi/3rdparty.txt b/nsi/3rdparty.txt
index 2b0f0df..01148c0 100644
--- a/nsi/3rdparty.txt
+++ b/nsi/3rdparty.txt
@@ -1,17 +1,26 @@
-QMapShack for Windows (short: QMS) is build with Visual Studio 2013 as 64bit application
-It depends on the 3rd party software listed below
+#############################################################
+#			QMapShack for Windows (short: QMS)				#
+#############################################################
+QMS is build with Visual Studio 2013 as 64bit application.
+
+It can be build with Visual Studio 2013 Community-Edition, too.
+
+Required Dependencies
+=====================
+QMS depends on the 3rd party software listed below:
 
 1.) Microsoft Visual C++ 2013 Redistributable Package
   The installer vcredist_x64.exe (ca 7MB size) as downloaded from
     http://www.microsoft.com/en-us/download/details.aspx?id=40784
-  is contained in the QLGT Installer package and may be executed if selected by the user.
-  Note: Those runtime libraries may already be contained in Windows 7 or WIndows 8 installations.
+  is already contained in the QMS Installer package and will be executed if selected by the user.
+  
+  Note: Those runtime libraries may already be contained in Windows 7 or Windows 8 installations.
 
 2.) Qt5 runtime libraries
-  The Qt DLL's are deployed in the QLGT installation directory. 
-  They are part of the "Qt libraries for Windows (VS 2008)" package.
-  This can be retrieved from http://qt.nokia.com/downloads/windows-cpp-vs2008.
-
+  The Qt DLL's are deployed in the QMS installation directory. 
+  They are part of Qt which you can download here:
+ 	http://qt-project.org/downloads
+	
 3.) The GDAL library, http://www.gdal.org/
 
 4.) The PROJ library http://trac.osgeo.org/proj/
@@ -23,38 +32,50 @@ It depends on the 3rd party software listed below
 
 Additional tools for building and installing
 ============================================
-- CMake 2.8, available at http://www.cmake.org/
+- CMake 3.0 or later, available at http://www.cmake.org/
 - NSIS, available at http://nsis.sourceforge.net/Main_Page
 
 
 Compile instructions - to be verified
-====================
+=====================================
 
 1.) Compile the GDAL library, http://www.gdal.org/
-[Build instructions inspired by http://trac.osgeo.org/gdal/wiki/BuildingOnWindows, http://dominoc925.blogspot.de/2013/03/build-64-bit-gdal-for-windows.html]
+
+[Build instructions inspired by http://trac.osgeo.org/gdal/wiki/BuildingOnWindows, http://dominoc925.blogspot.de/2013/03/build-64-bit-gdal-for-windows.html,]
+
 - Download the source code of the version 1.11 (or latest) from http://trac.osgeo.org/gdal/wiki/DownloadSource and unzip
 - In nmake.opt, adapt the following lines, according to your build environment [my settings are given as example]
   MSVC_VER=1800
-  GDAL_HOME = "M:\lib\gdal"
+  GDAL_HOME = "M:\lib\gdal"	
   PYDIR   =	"C:\Python34"
-  SWIG = D:\gdal111\swig.exe
+  SWIG = D:\gdal111\swig.exe # NOTE: swig.exe is part of precompiled binaries for Windows supplied by http://www.gisinternals.com/
   WIN64=YES
-- From the start menu, enter the VS2013, x64 native command prompt
-- nmake /f makefile.vc
-- nmake /f makefile.vc devinstall
-
+   
+- On the Windows Desktop:
+	=> select Start | All Programs | Microsoft Visual Studio 2013 | Visual Studio Tools | VS 2013 x64 Native Tools Command Prompt.
+- in the command prompt:
+	=> change directory to the extracted GDAL source code root folder
+	=> nmake /f makefile.vc
+	=> nmake /f makefile.vc devinstall
+	
 2.) Compile the PROJ library http://trac.osgeo.org/proj/
-- Download the source code of the version 4.8 (or latest) from http://trac.osgeo.org/proj/ and unzip
+
+- Download the source code of the version 4.8 (or latest) from http://trac.osgeo.org/proj/ and unzip it
 - In nmake.opt, adapt the following lines, according to your build environment [my settings are given as example]
   INSTDIR=M:\lib\PROJ
-- From the start menu, enter the VS2013, x64 native command prompt
-- nmake /f makefile.vc
-- nmake /f makefile.vc install-all
-
-3.) Install QT5.3 or later 
+- On the Windows Desktop:
+	=> select Start | All Programs | Microsoft Visual Studio 2013 | Visual Studio Tools | VS 2013 x64 Native Tools Command Prompt.
+- in the command prompt:
+	=> change directory to the extracted PROJ4 source code root folder
+	=> nmake /f makefile.vc
+	=> nmake /f makefile.vc install-all
+
+3.) Install QT5.4 or later 
 - Download and run the Qt5 Windows Online Installer from http://qt-project.org/downloads
   Install for VS2013, x64
-
+  
+  Note: if you prefer offline installation you can choose the right package in OFFLINE INSTALLERS section of that page
+  
 4.) Get the QMapshack source from the repository, e.g. 
    hg clone https://bitbucket.org/maproom/qmapshack QMapShack  
 Note: you might have to install TortoiseHG   
@@ -63,7 +84,8 @@ Note: you might have to install TortoiseHG
 - Configure 
   In the first run there will be errors. 
   Now enter the directories where you have installed Qt5, GDAL and PROJ.4 to the respective variables.
-  After that, Configure again.  
+  After that, Configure again.
+Note: in case that you only get some warnings, you anyway can try to GENERATE
 - Generate
 
 6.) Open the generated QMapShack.sln with VS2013
@@ -71,14 +93,11 @@ Note: you might have to install TortoiseHG
 
 7.) Download the VC redistributable installer 
   from http://www.microsoft.com/en-us/download/details.aspx?id=40784
+Note: in case the restributable files are already installed in your system, this step is not necessary.
 
-8.) Create the installer by executing
-- nsi/copyfiles.bat
-  Note: In copyfiles.bat, you may have to adapt the directories where you have installed Qt5, GDAL and PROJ.4.
-- nsi/QMapShack_Installer.nsi
+8.) Create the installer with NSIS(3.0b1)
+-  Execute the copyfiles.bat which you can find in \nsi directory of your QMS source directory
+  Note: In copyfiles.bat, you may have to adapt the directories where you have installed Qt5, GDAL and PROJ4.
   
-
-
-
-
-
+- Run the QMapShack_Installer.nsi script e.g via right click on script file and choosing "Compile NSIS Script" from contextual menu.
+  Note: there also are the options to run the script on command prompt with commandline version(makensis.exe). Or you can start windows version (makensisw.exe) to run the script.
diff --git a/src/CMainWindow.cpp b/src/CMainWindow.cpp
index 7367953..9e1a7d2 100644
--- a/src/CMainWindow.cpp
+++ b/src/CMainWindow.cpp
@@ -190,6 +190,7 @@ CMainWindow::~CMainWindow()
      */
     cfg.beginGroup("Canvas");
     QList<CCanvas*> allViews;
+    QList<QWidget*> allOtherTabs;
 
     // save setup of all views
     cfg.beginGroup("Views");
@@ -201,6 +202,7 @@ CMainWindow::~CMainWindow()
         CCanvas * view = dynamic_cast<CCanvas*>(tabWidget->widget(i));
         if(view == 0)
         {
+            allOtherTabs << tabWidget->widget(i);
             continue;
         }
         cnt++;
@@ -226,6 +228,13 @@ CMainWindow::~CMainWindow()
     CDemDraw::saveDemPath(cfg);
     cfg.endGroup(); // Canvas
 
+
+    /*
+        Delete all widgets in the tab widget other than views. The IPlot objects
+        in a track detail dialog send update events to the view on destruction.
+        So it is important that these are destroyed first.
+     */
+    qDeleteAll(allOtherTabs);
     /*
         Delete all canvas objects now to make sure they are destroyed before all
         other objects. This allows children of the canvas to access central objects
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 385a273..85b8348 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -36,6 +36,7 @@ set( SRCS
     helpers/CLinksDialog.cpp
     helpers/CPhotoAlbum.cpp
     helpers/CPhotoViewer.cpp
+    helpers/CFadingIcon.cpp
     canvas/CCanvas.cpp
     canvas/CCanvasSetup.cpp
     canvas/IDrawContext.cpp
@@ -213,6 +214,7 @@ set( HDRS
     helpers/CLinksDialog.h
     helpers/CPhotoAlbum.h
     helpers/CPhotoViewer.h
+    helpers/CFadingIcon.h
     canvas/CCanvas.h
     canvas/CCanvasSetup.h
     canvas/IDrawContext.h
diff --git a/src/canvas/CCanvas.cpp b/src/canvas/CCanvas.cpp
index 835f91c..bad3d76 100644
--- a/src/canvas/CCanvas.cpp
+++ b/src/canvas/CCanvas.cpp
@@ -121,6 +121,12 @@ CCanvas::CCanvas(QWidget *parent, const QString &name)
 
 CCanvas::~CCanvas()
 {
+    /*
+        Some mouse objects call methods from their canvas on destruction.
+        So they are better deleted now explicitely befor any other object
+        in CCanvas is destroyed.
+     */
+    delete mouse;
     saveSizeTrackProfile();
 }
 
@@ -131,12 +137,14 @@ void CCanvas::saveConfig(QSettings& cfg)
     grid->saveConfig(cfg);
     cfg.setValue("posFocus", posFocus);
     cfg.setValue("proj", map->getProjection());
+    cfg.setValue("scales", map->getScalesType());
 }
 
 void CCanvas::loadConfig(QSettings& cfg)
 {
     posFocus = cfg.value("posFocus", posFocus).toPointF();
     setProjection(cfg.value("proj", map->getProjection()).toString());
+    setScales((CCanvas::scales_type_e)cfg.value("scales",  map->getScalesType()).toInt());
 
     map->loadConfig(cfg);
     dem->loadConfig(cfg);
@@ -318,8 +326,12 @@ void CCanvas::paintEvent(QPaintEvent * e)
     // ----- start to draw fast content -----
 
     grid->draw(p, rect());
+    if(map->isFinished() && dem->isFinished() && gis->isFinished())
+    {
+        gis->draw(p, rect());
+    }
     mouse->draw(p, needsRedraw, rect());
-    gis->draw(p, rect());
+
 
     drawStatusMessages(p);
     drawScale(p);
@@ -684,6 +696,18 @@ void CCanvas::setProjection(const QString& proj)
     dem->setProjection(proj);
     gis->setProjection(proj);
 }
+void CCanvas::setScales(const scales_type_e type)
+{
+    map->setScales(type);
+    dem->setScales(type);
+    gis->setScales(type);
+}
+
+CCanvas::scales_type_e CCanvas::getScalesType()
+{
+    return map->getScalesType();
+}
+
 
 qreal CCanvas::getElevationAt(const QPointF& pos)
 {
@@ -717,14 +741,14 @@ void CCanvas::saveSizeTrackProfile()
     if(plotTrackProfile->windowFlags() & Qt::Window)
     {
         SETTINGS;
-        cfg.beginGroup("Canvas");        
+        cfg.beginGroup("Canvas");
         cfg.beginGroup("Profile");
         cfg.beginGroup(objectName());
 
         cfg.setValue("geometry", plotTrackProfile->saveGeometry());
 
         cfg.endGroup(); // objectName()
-        cfg.endGroup(); // Profile        
+        cfg.endGroup(); // Profile
         cfg.endGroup(); // Canvas
     }
 }
@@ -754,7 +778,7 @@ void CCanvas::setSizeTrackProfile()
         }
 
         cfg.endGroup(); // objectName()
-        cfg.endGroup(); // Profile        
+        cfg.endGroup(); // Profile
         cfg.endGroup(); // Canvas
     }
     else
diff --git a/src/canvas/CCanvas.h b/src/canvas/CCanvas.h
index 68a363b..e35198e 100644
--- a/src/canvas/CCanvas.h
+++ b/src/canvas/CCanvas.h
@@ -73,6 +73,16 @@ public:
     void setup();
     QString getProjection();
     void  setProjection(const QString& proj);
+
+    enum scales_type_e
+    {
+        eScalesDefault
+        , eScalesSquare
+    };
+
+    void  setScales(const scales_type_e type);
+    scales_type_e getScalesType();
+
     qreal getElevationAt(const QPointF &pos);
     void  getElevationAt(const QPolygonF& pos, QPolygonF &ele);
 
diff --git a/src/canvas/CCanvasSetup.cpp b/src/canvas/CCanvasSetup.cpp
index 8153d53..d96cfda 100644
--- a/src/canvas/CCanvasSetup.cpp
+++ b/src/canvas/CCanvasSetup.cpp
@@ -29,6 +29,17 @@ CCanvasSetup::CCanvasSetup(CCanvas * canvas)
     lineProjection->setText(canvas->getProjection());
     lineProjection->setCursorPosition(0);
 
+    switch(canvas->getScalesType())
+    {
+    case CCanvas::eScalesDefault:
+        radioScalesDefault->setChecked(true);
+        break;
+
+    case CCanvas::eScalesSquare:
+        radioScalesSquare->setChecked(true);
+        break;
+    }
+
     connect(toolWizard, SIGNAL(clicked()), this, SLOT(slotProjWizard()));
 }
 
@@ -50,6 +61,14 @@ void CCanvasSetup::accept()
         return;
     }
     canvas->setProjection(lineProjection->text());
+    if(radioScalesDefault->isChecked())
+    {
+        canvas->setScales(CCanvas::eScalesDefault);
+    }
+    else if(radioScalesSquare->isChecked())
+    {
+        canvas->setScales(CCanvas::eScalesSquare);
+    }
     canvas->slotTriggerCompleteUpdate(CCanvas::eRedrawAll);
     QDialog::accept();
 }
diff --git a/src/canvas/ICanvasSetup.ui b/src/canvas/ICanvasSetup.ui
index 9d3f1f6..9a2697b 100644
--- a/src/canvas/ICanvasSetup.ui
+++ b/src/canvas/ICanvasSetup.ui
@@ -7,13 +7,13 @@
     <x>0</x>
     <y>0</y>
     <width>446</width>
-    <height>98</height>
+    <height>179</height>
    </rect>
   </property>
   <property name="windowTitle">
    <string>Setup Map View...</string>
   </property>
-  <layout class="QVBoxLayout" name="verticalLayout">
+  <layout class="QVBoxLayout" name="verticalLayout_2">
    <item>
     <layout class="QHBoxLayout" name="horizontalLayout_2">
      <item>
@@ -46,6 +46,33 @@
     </layout>
    </item>
    <item>
+    <layout class="QVBoxLayout" name="verticalLayout">
+     <item>
+      <widget class="QGroupBox" name="groupBox">
+       <property name="title">
+        <string>Scales</string>
+       </property>
+       <layout class="QVBoxLayout" name="verticalLayout_3">
+        <item>
+         <widget class="QRadioButton" name="radioScalesDefault">
+          <property name="text">
+           <string>Logarithmic</string>
+          </property>
+         </widget>
+        </item>
+        <item>
+         <widget class="QRadioButton" name="radioScalesSquare">
+          <property name="text">
+           <string>Square (optimized for TMS and WTMS tiles)</string>
+          </property>
+         </widget>
+        </item>
+       </layout>
+      </widget>
+     </item>
+    </layout>
+   </item>
+   <item>
     <spacer name="verticalSpacer">
      <property name="orientation">
       <enum>Qt::Vertical</enum>
diff --git a/src/canvas/IDrawContext.cpp b/src/canvas/IDrawContext.cpp
index 0a1c03a..d6a8034 100644
--- a/src/canvas/IDrawContext.cpp
+++ b/src/canvas/IDrawContext.cpp
@@ -21,34 +21,12 @@
 
 #include <QtWidgets>
 
-//#define N_ZOOM_LEVELS 20
-//const qreal CMapDraw::scales[N_ZOOM_LEVELS] =
-//{
-//     0.10
-//    ,0.20
-//    ,0.40
-//    ,0.80
-//    ,1.60
-//    ,3.20
-//    ,6.40
-//    ,12.8
-//    ,25.6
-//    ,51.2
-//    ,102.4
-//    ,204.8
-//    ,409.6
-//    ,819.2
-//    ,1638.4
-//    ,3276.8
-//    ,6553.6
-//    ,13107.2
-//    ,26214.4
-//    ,52428.8
-//};
 
 #define BUFFER_BORDER 50
-#define N_ZOOM_LEVELS 31
-const qreal IDrawContext::scales[N_ZOOM_LEVELS] =
+
+
+#define N_DEFAULT_ZOOM_LEVELS 31
+const qreal IDrawContext::scalesDefault[N_DEFAULT_ZOOM_LEVELS] =
 {
     0.10
     , 0.15
@@ -88,6 +66,28 @@ const qreal IDrawContext::scales[N_ZOOM_LEVELS] =
 //    , 70000.0
 };
 
+#define N_SQUARE_ZOOM_LEVELS 17
+const qreal IDrawContext::scalesSquare[N_SQUARE_ZOOM_LEVELS] =
+{
+    0.1492910709
+    , 0.2985821417
+    , 0.5971642834
+    , 1.1943285668
+    , 2.3886571336
+    , 4.7773142672
+    , 9.5546285344
+    , 19.1092570688
+    , 38.2185141376
+    , 76.4370282752
+    , 152.8740565504
+    , 305.7481131008
+    , 611.4962262016
+    , 1222.9924524032
+    , 2445.9849048064
+    , 4891.9698096128
+    , 9783.9396192256
+};
+
 QPointF operator*(const QPointF& p1, const QPointF& p2)
 {
     return QPointF(p1.x() * p2.x(), p1.y() * p2.y());
@@ -117,6 +117,7 @@ IDrawContext::IDrawContext(const QString& name, CCanvas::redraw_e maskRedraw, CC
     pjsrc = pj_init_plus("+proj=merc +a=6378137.0000 +b=6356752.3142 +towgs84=0,0,0,0,0,0,0,0 +units=m  +no_defs");
     pjtar = pj_init_plus("+proj=longlat +a=6378137.0000 +b=6356752.3142 +towgs84=0,0,0,0,0,0,0,0 +units=m  +no_defs");
 
+    setScales(CCanvas::eScalesDefault);
 
     zoom(5);
 
@@ -175,6 +176,40 @@ void IDrawContext::setProjection(const QString& proj)
     pjsrc = pj_init_plus(proj.toLatin1());
 }
 
+CCanvas::scales_type_e IDrawContext::getScalesType()
+{
+    return scalesType;
+}
+
+void IDrawContext::setScales(const CCanvas::scales_type_e type)
+{
+    int i;
+
+    switch (type)
+    {
+    case CCanvas::eScalesDefault:
+        for (i=0; i < N_DEFAULT_ZOOM_LEVELS; i++)
+        {
+            scales[i] = scalesDefault[i];
+        }
+        zoomLevels = N_DEFAULT_ZOOM_LEVELS;
+        scalesType = type;
+        break;
+
+    case CCanvas::eScalesSquare:
+        for (i=0; i < N_SQUARE_ZOOM_LEVELS; i++)
+        {
+            scales[i] = scalesSquare[i];
+        }
+        zoomLevels = N_SQUARE_ZOOM_LEVELS;
+        scalesType = type;
+        break;
+
+    default:
+        qDebug() << "Invalid type of scales table" << scalesType;
+    }
+}
+
 bool IDrawContext::needsRedraw()
 {
     bool res = false;
@@ -199,7 +234,7 @@ void IDrawContext::zoom(const QRectF& rect)
     }
 
     // zoom out from closest zoom level until a match is found
-    for(int i = 0; i < N_ZOOM_LEVELS; i++)
+    for(int i = 0; i < zoomLevels; i++)
     {
         zoom(i);
         QPointF pt1 = rect.topLeft();
@@ -233,9 +268,9 @@ void IDrawContext::zoom(int idx)
         idx = 0;
     }
 
-    if(idx == N_ZOOM_LEVELS)
+    if(idx >= zoomLevels)
     {
-        idx = N_ZOOM_LEVELS -1;
+        idx = zoomLevels -1;
     }
 
     mutex.lock(); // --------- start serialize with thread
diff --git a/src/canvas/IDrawContext.h b/src/canvas/IDrawContext.h
index 4ead935..5a122b2 100644
--- a/src/canvas/IDrawContext.h
+++ b/src/canvas/IDrawContext.h
@@ -29,6 +29,8 @@
 
 #include "canvas/CCanvas.h"
 
+#define CANVAS_MAX_ZOOM_LEVELS 31
+
 class IDrawContext : public QThread
 {
     Q_OBJECT
@@ -50,6 +52,8 @@ public:
         projPJ pjsrc;
         /// the zoomfactor used to draw the canvas
         QPointF zoomFactor;
+        /// the number of zoom levels
+        int zoomLevels;
         /// the scale of the global viewport
         QPointF scale;
         /// top left corner
@@ -125,6 +129,7 @@ public:
        @return A proj4 string.
      */
     QString getProjection();
+    CCanvas::scales_type_e getScalesType();
 
     /**
        @brief Set the projection of the draw context
@@ -140,6 +145,8 @@ public:
      */
     virtual void setProjection(const QString& proj);
 
+    virtual void setScales(const CCanvas::scales_type_e type);
+
 signals:
     void sigCanvasUpdate(CCanvas::redraw_e flags);
     void sigStartThread();
@@ -163,7 +170,8 @@ protected:
     /**
        @brief The global list of available scale factors
      */
-    static const qreal scales[];
+    static const qreal scalesDefault[];
+    static const qreal scalesSquare[];
 
     /// the mutex to serialize access
     QMutex mutex;
@@ -194,6 +202,11 @@ protected:
     projPJ pjsrc;
     /// target projection is always WGS84
     projPJ pjtar;
+    /// the used scales and the type of scale levels
+    qreal scales[CANVAS_MAX_ZOOM_LEVELS];
+    CCanvas::scales_type_e scalesType;
+    /// the number of zoom levels
+    int zoomLevels;
 
     /// the basic scale of the map canvas
     QPointF scale;
diff --git a/src/device/CDeviceGarmin.cpp b/src/device/CDeviceGarmin.cpp
index 8e4832c..937c07d 100644
--- a/src/device/CDeviceGarmin.cpp
+++ b/src/device/CDeviceGarmin.cpp
@@ -140,6 +140,11 @@ void CDeviceGarmin::insertCopyOfProject(IGisProject * project)
     QDir dirGpx = dir.absoluteFilePath(pathGpx);
     QString filename = dirGpx.absoluteFilePath(name + ".gpx");
 
+    if(testForExternalProject(filename))
+    {
+        return;
+    }
+
     CGpxProject * gpx = new CGpxProject(filename, project, this);
     if(!gpx->isValid())
     {
diff --git a/src/device/CDeviceTwoNav.cpp b/src/device/CDeviceTwoNav.cpp
index e865188..f810b3e 100644
--- a/src/device/CDeviceTwoNav.cpp
+++ b/src/device/CDeviceTwoNav.cpp
@@ -119,6 +119,12 @@ void CDeviceTwoNav::insertCopyOfProject(IGisProject * project)
     QDir dirData = dir.absoluteFilePath(pathData);
     QString filename = dirData.absoluteFilePath(name);
 
+    if(testForExternalProject(filename))
+    {
+        return;
+    }
+
+
     CTwoNavProject * proj = new CTwoNavProject(filename, project, this);
     if(!proj->isValid())
     {
diff --git a/src/device/IDevice.cpp b/src/device/IDevice.cpp
index b4218ed..b5f9615 100644
--- a/src/device/IDevice.cpp
+++ b/src/device/IDevice.cpp
@@ -25,16 +25,20 @@
 #include <QtDBus>
 #endif
 
+int IDevice::cnt = 0;
+
 IDevice::IDevice(const QString &path, const QString &key, QTreeWidget *parent)
     : QTreeWidgetItem(parent)
     , dir(path)
     , key(key)
 {
     setIcon(CGisListWks::eColumnIcon, QIcon("://icons/32x32/Device.png"));
+    cnt++;
 }
 
 IDevice::~IDevice()
 {
+    cnt--;
 }
 
 void IDevice::mount(const QString& path)
@@ -191,6 +195,44 @@ void IDevice::updateProject(IGisProject * project)
     insertCopyOfProject(project);
 }
 
+bool IDevice::testForExternalProject(const QString& filename)
+{
+    if(QDir(filename).exists() || QFile::exists(filename))
+    {
+        QString msg = QObject::tr("There is another project with the same name. If you press 'ok' it will be removed and replaced.");
+        int res = QMessageBox::warning(&CMainWindow::self(), getName(), msg, QMessageBox::Ok|QMessageBox::Abort, QMessageBox::Ok);
+        if(res != QMessageBox::Ok)
+        {
+            return true;
+        }
+
+        if(QDir(filename).exists())
+        {
+            QDir(filename).removeRecursively();
+        }
+        else if(QFile::exists(filename))
+        {
+            QFile(filename).remove();
+        }
+
+        QFileInfo fi(filename);
+
+        const int N = childCount();
+        for(int n = 0; n < N; n++)
+        {
+            QTreeWidgetItem * item = child(n);
+            if(item->text(CGisListWks::eColumnName) == fi.fileName())
+            {
+                delete item;
+                break;
+            }
+        }
+    }
+
+
+    return false;
+}
+
 void IDevice::drawItem(QPainter& p, const QPolygonF &viewport, QList<QRectF>& blockedAreas, CGisDraw * gis)
 {
     const int N = childCount();
diff --git a/src/device/IDevice.h b/src/device/IDevice.h
index c95a7ca..f490673 100644
--- a/src/device/IDevice.h
+++ b/src/device/IDevice.h
@@ -34,6 +34,10 @@ public:
 
     static void mount(const QString& path);
     static void umount(const QString &path);
+    static int count()
+    {
+        return cnt;
+    }
 
     void mount()
     {
@@ -79,6 +83,18 @@ public:
 
 protected:
     virtual void insertCopyOfProject(IGisProject * project) = 0;
+    /**
+       @brief Test if a project's filename/path is already used
+
+       This can happen if there is already a project with the same name
+       but different or no key.
+
+       @param filename
+       @return If the current operation should be aborted return true.
+     */
+    bool testForExternalProject(const QString& filename);
+
+    static int cnt;
 
     QDir dir;
     QString key;
diff --git a/src/gis/CGisListWks.cpp b/src/gis/CGisListWks.cpp
index b88069b..a88374b 100644
--- a/src/gis/CGisListWks.cpp
+++ b/src/gis/CGisListWks.cpp
@@ -99,7 +99,7 @@ CGisListWks::CGisListWks(QWidget *parent)
     menuProjectDev->addAction(actionEditPrj);
     menuProjectDev->addAction(actionSaveAs);
     menuProjectDev->addAction(actionSave);
-    actionSyncWksDev= menuProjectDev->addAction(QIcon("://icons/32x32/Device.png"),tr("Update Project on Device"), this, SLOT(slotSyncDevWks()));
+    actionSyncDevWks= menuProjectDev->addAction(QIcon("://icons/32x32/Device.png"),tr("Update Project on Device"), this, SLOT(slotSyncDevWks()));
     actionDelProj   = menuProjectDev->addAction(QIcon("://icons/32x32/DeleteOne.png"),tr("Delete"), this, SLOT(slotDeleteProject()));
 
     menuProjectTrash= new QMenu(this);
@@ -811,6 +811,7 @@ void CGisListWks::slotContextMenu(const QPoint& point)
             }
             else
             {
+                actionSyncWksDev->setEnabled(IDevice::count());
                 menuProjectWks->exec(p);
             }
             return;
@@ -842,6 +843,7 @@ void CGisListWks::slotContextMenu(const QPoint& point)
                 }
                 else
                 {
+                    actionSyncWksDev->setEnabled(IDevice::count());
                     menuProjectWks->exec(p);
                 }
             }
@@ -892,12 +894,44 @@ void CGisListWks::slotCloseProject()
         IGisProject * project = dynamic_cast<IGisProject*>(item);
         if(project != 0)
         {
+            if(project->askBeforClose())
+            {
+                break;
+            }
+            delete project;
+        }
+    }
+    emit sigChanged();
+}
+
+void CGisListWks::slotCloseAllProjects()
+{
+    int res = QMessageBox::question(this, tr("Close all projects..."), tr("This will remove all projects from the workspace."), QMessageBox::Ok|QMessageBox::Abort, QMessageBox::Ok);
+    if(res != QMessageBox::Ok)
+    {
+        return;
+    }
+
+
+    CGisListWksEditLock lock(true, IGisItem::mutexItems);
+    QList<QTreeWidgetItem*> items = findItems("*", Qt::MatchWildcard);
+    foreach(QTreeWidgetItem * item, items)
+    {
+        IGisProject * project = dynamic_cast<IGisProject*>(item);
+        if(project != 0)
+        {
+            if(project->askBeforClose())
+            {
+                break;
+            }
             delete project;
         }
     }
     emit sigChanged();
 }
 
+
+
 void CGisListWks::slotDeleteProject()
 {
     CGisListWksEditLock lock(true, IGisItem::mutexItems);
@@ -1171,27 +1205,6 @@ void CGisListWks::slotAddEmptyProject()
     }
 }
 
-void CGisListWks::slotCloseAllProjects()
-{
-    int res = QMessageBox::question(this, tr("Close all projects..."), tr("This will remove all projects from the workspace."), QMessageBox::Ok|QMessageBox::Abort, QMessageBox::Ok);
-    if(res != QMessageBox::Ok)
-    {
-        return;
-    }
-
-
-    CGisListWksEditLock lock(true, IGisItem::mutexItems);
-    QList<QTreeWidgetItem*> items = findItems("*", Qt::MatchWildcard);
-    foreach(QTreeWidgetItem * item, items)
-    {
-        IGisProject * project = dynamic_cast<IGisProject*>(item);
-        if(project != 0)
-        {
-            delete project;
-        }
-    }
-    emit sigChanged();
-}
 
 void CGisListWks::slotSearchGoogle(bool on)
 {
@@ -1215,20 +1228,23 @@ void CGisListWks::slotSyncWksDev()
     }
 
     QSet<QString> keys;
-    CSelDevices dlg(project, this);
-    if(dlg.exec() != QDialog::Accepted)
+    if(IDevice::count() > 1)
     {
-        return;
+        CSelDevices dlg(project, this);
+        if(dlg.exec() != QDialog::Accepted)
+        {
+            return;
+        }
+        dlg.getSlectedDevices(keys);
     }
-    dlg.getSlectedDevices(keys);
-
 
+    QApplication::setOverrideCursor(Qt::WaitCursor);
     CCanvas * canvas = CMainWindow::self().getVisibleCanvas();
     const int N = topLevelItemCount();
     for(int n = 0; n < N; n++)
     {
         IDevice * device = dynamic_cast<IDevice*>(topLevelItem(n));
-        if(device == 0 || !keys.contains(device->getKey()))
+        if(device == 0 || (!keys.isEmpty() && !keys.contains(device->getKey())))
         {
             continue;
         }
@@ -1246,6 +1262,7 @@ void CGisListWks::slotSyncWksDev()
         canvas->reportStatus("device", "");
     }
     emit sigChanged();
+    QApplication::restoreOverrideCursor();
 }
 
 void CGisListWks::slotSyncDevWks()
diff --git a/src/gis/prj/CDetailsPrj.cpp b/src/gis/prj/CDetailsPrj.cpp
index d56e8d9..3e46fde 100644
--- a/src/gis/prj/CDetailsPrj.cpp
+++ b/src/gis/prj/CDetailsPrj.cpp
@@ -133,7 +133,7 @@ void CDetailsPrj::draw(QTextDocument& doc, bool printable)
     int cnt, w = doc.textWidth();
     int nItems = 0;
 
-    QFontMetrics fm(QFont(font().family(),10));
+    QFontMetrics fm(QFont(font().family(),12));
     int pointSize = ((10 * (w - 2 * ROOT_FRAME_MARGIN)) / (CHAR_PER_LINE *  fm.width("X")));
     if(pointSize == 0)
     {
@@ -679,7 +679,7 @@ void CDetailsPrj::slotPrint()
 {
     QPrinter printer;
 
-    printer.setResolution(150);
+    printer.setResolution(200);
     printer.setPageSize(QPrinter::A4);
     QPrintDialog dialog(&printer, this);
     dialog.setWindowTitle(tr("Print Diary"));
diff --git a/src/gis/prj/IGisProject.cpp b/src/gis/prj/IGisProject.cpp
index cae2d75..4cf94c6 100644
--- a/src/gis/prj/IGisProject.cpp
+++ b/src/gis/prj/IGisProject.cpp
@@ -58,6 +58,22 @@ IGisProject::~IGisProject()
 }
 
 
+bool IGisProject::askBeforClose()
+{
+    int res = QMessageBox::Ok;
+    if(isChanged())
+    {
+        res = QMessageBox::question(&CMainWindow::self(), QObject::tr("Save project?"), QObject::tr("The project \"%1\" was changed. Save befor closing it?").arg(getName()), QMessageBox::Save|QMessageBox::No|QMessageBox::Abort, QMessageBox::Save);
+        if(res == QMessageBox::Save)
+        {
+            save();
+        }
+    }
+
+    return res == QMessageBox::Abort;
+}
+
+
 bool IGisProject::isVisible() const
 {
     return checkState(CGisListWks::eColumnDecoration) == Qt::Checked;
@@ -590,3 +606,5 @@ bool IGisProject::remove()
     umount();
     return true;
 }
+
+
diff --git a/src/gis/prj/IGisProject.h b/src/gis/prj/IGisProject.h
index 4c22282..e35608d 100644
--- a/src/gis/prj/IGisProject.h
+++ b/src/gis/prj/IGisProject.h
@@ -87,6 +87,8 @@ public:
     IGisProject(type_e type, const QString &filename, IDevice *parent);
     virtual ~IGisProject();
 
+    bool askBeforClose();
+
     IGisProject& operator=(const IGisProject& p)
     {
         key      = p.key;
diff --git a/src/gis/tnv/serialization.cpp b/src/gis/tnv/serialization.cpp
index c140fa5..f84fa4a 100644
--- a/src/gis/tnv/serialization.cpp
+++ b/src/gis/tnv/serialization.cpp
@@ -398,6 +398,21 @@ bool CGisItemTrk::saveTwoNav(const QString &filename)
                         list << "0";
                         out << "a " << list.join(",") << endl;
                     }
+
+                    QString comment = wpt->getComment();
+                    if(!IGisItem::removeHtml(comment).isEmpty())
+                    {
+                        QString filenameCmt = QString("QMS_CMT%1.html").arg(wpt->getKey().item);
+                        QFile fileCmt(dir.absoluteFilePath(filenameCmt));
+                        fileCmt.open(QIODevice::WriteOnly);
+
+                        QTextStream stream(&fileCmt);
+                        stream << bom << comment;
+
+                        fileCmt.close();
+
+                        out << "a .\\" << filenameCmt << ",0" << endl;
+                    }
                 }
             }
         }
@@ -527,20 +542,6 @@ void CGisItemWpt::saveTwoNav(QTextStream& out, const QDir& dir)
     QString description = getDescription();
     description = removeHtml(description);
 
-    QString filenameCmt;
-    QString comment = getComment();
-    if(!comment.isEmpty())
-    {
-        filenameCmt = QString("%1.html").arg(getKey().item);
-        QFile fileCmt(dir.absoluteFilePath(filenameCmt));
-        fileCmt.open(QIODevice::WriteOnly);
-
-        QTextStream stream(&fileCmt);
-        stream << bom << comment;
-
-        fileCmt.close();
-    }
-
     QStringList list;
     list << "W";
     list << name;
@@ -569,11 +570,24 @@ void CGisItemWpt::saveTwoNav(QTextStream& out, const QDir& dir)
     out << list.join(",");
     out << endl;
 
-    if(!filenameCmt.isEmpty())
+
+
+    QString comment = getComment();
+    if(!IGisItem::removeHtml(comment).isEmpty())
     {
-        out << "a " << ".\\" << filenameCmt << endl;
+        QString filenameCmt = QString("QMS_CMT%1.html").arg(getKey().item);
+        QFile fileCmt(dir.absoluteFilePath(filenameCmt));
+        fileCmt.open(QIODevice::WriteOnly);
+
+        QTextStream stream(&fileCmt);
+        stream << bom << comment;
+
+        fileCmt.close();
+
+        out << "a .\\" << filenameCmt << ",0" << endl;
     }
 
+
     foreach(const image_t &img, images)
     {
         QString fn = img.info;
@@ -591,7 +605,7 @@ void CGisItemWpt::saveTwoNav(QTextStream& out, const QDir& dir)
 
         fn = makeUniqueName(fn, dir);
         img.pixmap.save(dir.absoluteFilePath(fn));
-        out << "a " << ".\\" << fn << endl;
+        out << "a .\\" << fn << endl;
     }
 
     if(isGeocache())
@@ -728,7 +742,7 @@ bool CTwoNavProject::loadWpts(const QString& filename, const QDir& dir)
 
             if(!wpt.key.isEmpty())
             {
-                QString filenameCmt = QString("%1.html").arg(wpt.key);
+                QString filenameCmt = QString("QMS_CMT%1.html").arg(wpt.key);
                 if(QFile::exists(dir.absoluteFilePath(filenameCmt)))
                 {
                     QFile fileCmt(dir.absoluteFilePath(filenameCmt));
diff --git a/src/gis/trk/CDetailsTrk.cpp b/src/gis/trk/CDetailsTrk.cpp
index d5cdd3f..dac5df2 100644
--- a/src/gis/trk/CDetailsTrk.cpp
+++ b/src/gis/trk/CDetailsTrk.cpp
@@ -124,6 +124,10 @@ CDetailsTrk::CDetailsTrk(CGisItemTrk& trk, QWidget *parent)
     connect(textCmtDesc, SIGNAL(anchorClicked(QUrl)), this, SLOT(slotLinkActivated(QUrl)));
     connect(labelInfo, SIGNAL(linkActivated(QString)), this, SLOT(slotLinkActivated(QString)));
 
+    connect(plotDistance, SIGNAL(sigMouseClickState(int)), this, SLOT(slotMouseClickState(int)));
+    connect(plotElevation, SIGNAL(sigMouseClickState(int)), this, SLOT(slotMouseClickState(int)));
+    connect(plotSpeed, SIGNAL(sigMouseClickState(int)), this, SLOT(slotMouseClickState(int)));
+
     connect(listHistory, SIGNAL(sigChanged()), this, SLOT(setupGui()));
 
     slotShowPlots();
@@ -296,6 +300,18 @@ void CDetailsTrk::setMouseFocus(const CGisItemTrk::trkpt_t * pt)
     }
 }
 
+void CDetailsTrk::setMouseRangeFocus(const CGisItemTrk::trkpt_t * pt1, const CGisItemTrk::trkpt_t * pt2)
+{
+    if(pt1 && pt2)
+    {
+        labelInfoRange->setText(trk.getInfoRange(*pt1, *pt2));
+    }
+    else
+    {
+        labelInfoRange->setText("-\n-");
+    }
+}
+
 void CDetailsTrk::setMouseClickFocus(const CGisItemTrk::trkpt_t * pt)
 {
     if(pt != 0)
@@ -306,6 +322,17 @@ void CDetailsTrk::setMouseClickFocus(const CGisItemTrk::trkpt_t * pt)
     }
 }
 
+void CDetailsTrk::slotMouseClickState(int s)
+{
+    if(s == IPlot::eMouseClickIdle)
+    {
+        labelInfoRange->setText("-\n-");
+        plotDistance->setMouseRangeFocus(0,0);
+        plotElevation->setMouseRangeFocus(0,0);
+        plotSpeed->setMouseRangeFocus(0,0);
+    }
+}
+
 void CDetailsTrk::slotShowPlots()
 {
     if(checkProfile->isChecked())
@@ -359,7 +386,7 @@ void CDetailsTrk::slotItemSelectionChanged()
     if(item != 0)
     {
         quint32 idx = item->text(eColNum).toUInt();
-        trk.setMouseFocusByIndex(idx, CGisItemTrk::eFocusMouseMove);
+        trk.setMouseFocusByTotalIndex(idx, CGisItemTrk::eFocusMouseMove, "CDetailsTrk");
     }
 }
 
diff --git a/src/gis/trk/CDetailsTrk.h b/src/gis/trk/CDetailsTrk.h
index 3cae011..820989c 100644
--- a/src/gis/trk/CDetailsTrk.h
+++ b/src/gis/trk/CDetailsTrk.h
@@ -32,6 +32,7 @@ public:
     virtual ~CDetailsTrk();
 
     void setMouseFocus(const CGisItemTrk::trkpt_t * pt);
+    void setMouseRangeFocus(const CGisItemTrk::trkpt_t * pt1, const CGisItemTrk::trkpt_t * pt2);
     void setMouseClickFocus(const CGisItemTrk::trkpt_t * pt);
 
 public slots:
@@ -44,6 +45,7 @@ private slots:
     void slotItemSelectionChanged();
     void slotLinkActivated(const QUrl& url);
     void slotLinkActivated(const QString& url);
+    void slotMouseClickState(int);
 
 private:
     enum columns_t
diff --git a/src/gis/trk/CGisItemTrk.cpp b/src/gis/trk/CGisItemTrk.cpp
index fc1aae5..4925e1d 100644
--- a/src/gis/trk/CGisItemTrk.cpp
+++ b/src/gis/trk/CGisItemTrk.cpp
@@ -105,6 +105,7 @@ struct trkwpt_t
     {
     }
 
+    QString name;
     qreal x;
     qreal y;
     IGisItem::key_t key;
@@ -118,9 +119,12 @@ IGisItem::key_t CGisItemTrk::keyUserFocus;
 CGisItemTrk::CGisItemTrk(const QString &name, qint32 idx1, qint32 idx2, const trk_t& srctrk, IGisProject * project)
     : IGisItem(project, eTypeTrk, NOIDX)
     , penForeground(Qt::blue, 3, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin)
-    , drawMode(eDrawNormal)
+    , mode(eModeNormal)
     , mouseMoveFocus(0)
     , mouseClickFocus(0)
+    , mouseRange1(0)
+    , mouseRange2(0)
+    , rangeState(eRangeStateIdle)
 {
     flags = eFlagCreatedInQms;
 
@@ -163,9 +167,12 @@ CGisItemTrk::CGisItemTrk(const QString &name, qint32 idx1, qint32 idx2, const tr
 CGisItemTrk::CGisItemTrk(const CGisItemTrk& parentTrk, IGisProject *project, int idx, bool clone)
     : IGisItem(project, eTypeTrk, idx)
     , penForeground(Qt::blue, 3, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin)
-    , drawMode(eDrawNormal)
+    , mode(eModeNormal)
     , mouseMoveFocus(0)
     , mouseClickFocus(0)
+    , mouseRange1(0)
+    , mouseRange2(0)
+    , rangeState(eRangeStateIdle)
 {
     *this = parentTrk;
     key.project = project->getKey();
@@ -188,9 +195,12 @@ CGisItemTrk::CGisItemTrk(const CGisItemTrk& parentTrk, IGisProject *project, int
 CGisItemTrk::CGisItemTrk(const QPolygonF& l, const QString& name, IGisProject * project, int idx)
     : IGisItem(project, eTypeTrk, idx)
     , penForeground(Qt::blue, 3, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin)
-    , drawMode(eDrawNormal)
+    , mode(eModeNormal)
     , mouseMoveFocus(0)
     , mouseClickFocus(0)
+    , mouseRange1(0)
+    , mouseRange2(0)
+    , rangeState(eRangeStateIdle)
 {
     trk.name = name;
     readTrackDataFromPolyLine(l);
@@ -206,9 +216,12 @@ CGisItemTrk::CGisItemTrk(const QPolygonF& l, const QString& name, IGisProject *
 CGisItemTrk::CGisItemTrk(const QDomNode& xml, IGisProject *project)
     : IGisItem(project, eTypeTrk, project->childCount())
     , penForeground(Qt::blue, 3, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin)
-    , drawMode(eDrawNormal)
+    , mode(eModeNormal)
     , mouseMoveFocus(0)
     , mouseClickFocus(0)
+    , mouseRange1(0)
+    , mouseRange2(0)
+    , rangeState(eRangeStateIdle)
 {
     // --- start read and process data ----
     setColor(penForeground.color());
@@ -222,9 +235,12 @@ CGisItemTrk::CGisItemTrk(const QDomNode& xml, IGisProject *project)
 CGisItemTrk::CGisItemTrk(const QString& filename, IGisProject * project)
     : IGisItem(project, eTypeTrk, project->childCount())
     , penForeground(Qt::blue, 3, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin)
-    , drawMode(eDrawNormal)
+    , mode(eModeNormal)
     , mouseMoveFocus(0)
     , mouseClickFocus(0)
+    , mouseRange1(0)
+    , mouseRange2(0)
+    , rangeState(eRangeStateIdle)
 {
     // --- start read and process data ----
     setColor(penForeground.color());
@@ -241,9 +257,12 @@ CGisItemTrk::CGisItemTrk(const QString& filename, IGisProject * project)
 CGisItemTrk::CGisItemTrk(const history_t& hist, IGisProject * project)
     : IGisItem(project, eTypeTrk, project->childCount())
     , penForeground(Qt::blue, 3, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin)
-    , drawMode(eDrawNormal)
+    , mode(eModeNormal)
     , mouseMoveFocus(0)
     , mouseClickFocus(0)
+    , mouseRange1(0)
+    , mouseRange2(0)
+    , rangeState(eRangeStateIdle)
 {
     history = hist;
     loadHistory(hist.histIdxCurrent);
@@ -252,9 +271,12 @@ CGisItemTrk::CGisItemTrk(const history_t& hist, IGisProject * project)
 CGisItemTrk::CGisItemTrk(quint64 id, QSqlDatabase& db, IGisProject * project)
     : IGisItem(project, eTypeTrk, NOIDX)
     , penForeground(Qt::blue, 3, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin)
-    , drawMode(eDrawNormal)
+    , mode(eModeNormal)
     , mouseMoveFocus(0)
     , mouseClickFocus(0)
+    , mouseRange1(0)
+    , mouseRange2(0)
+    , rangeState(eRangeStateIdle)
 {
     loadFromDb(id, db);
 }
@@ -292,6 +314,10 @@ void CGisItemTrk::setDataFromPolyline(const QPolygonF &l)
      */
     mouseClickFocus = 0;
     mouseMoveFocus  = 0;
+    mouseRange1     = 0;
+    mouseRange2     = 0;
+    rangeState      = eRangeStateIdle;
+
     delete dlgDetails;
 
     readTrackDataFromPolyLine(l);
@@ -426,40 +452,49 @@ QString CGisItemTrk::getInfoRange()
 {
     qreal tmp, d, slope1, slope2;
     QString str, val, unit;
-    if(mouseClickFocus == 0 || mouseMoveFocus == 0)
+    if(mouseRange1 == 0 || mouseRange2 == 0)
     {
         return str;
     }
 
-    int idx1 = mouseClickFocus->idxTotal;
-    int idx2 = mouseMoveFocus->idxTotal;
+    int idx1 = mouseRange1->idxTotal;
+    int idx2 = mouseRange2->idxTotal;
     const trkpt_t * pt1, * pt2;
     if(idx1 < idx2)
     {
-        pt1 = mouseClickFocus;
-        pt2 = mouseMoveFocus;
+        pt1 = mouseRange1;
+        pt2 = mouseRange2;
     }
     else
     {
-        pt1 = mouseMoveFocus;
-        pt2 = mouseClickFocus;
+        pt1 = mouseRange2;
+        pt2 = mouseRange1;
     }
 
     while(pt1->flags & trkpt_t::eHidden)
     {
+        if(pt1->idxTotal == (cntTotalPoints - 1))
+        {
+            break;
+        }
         pt1++;
     }
 
     while(pt2->flags & trkpt_t::eHidden)
     {
+        if(pt2->idxTotal == 0)
+        {
+            break;
+        }
         pt2--;
     }
 
+    bool timeIsValid = pt1->time.isValid() && pt2->time.isValid();
 
     d = tmp = pt2->distance - pt1->distance;
     IUnit::self().meter2distance(tmp, val, unit);
-    str += QString("%3 %1%2\n").arg(val).arg(unit).arg(QChar(0x21A6));
-    if(pt1->time.isValid() && pt2->time.isValid())
+    str += QString("%3 %1%2 ").arg(val).arg(unit).arg(QChar(0x21A6));
+    if(timeIsValid)
     {
         quint32 t  = pt2->time.toTime_t() - pt1->time.toTime_t();
         quint32 hh = t / 3600;
@@ -468,20 +503,46 @@ QString CGisItemTrk::getInfoRange()
 
         str += QString("%4 %1:%2:%3\n").arg(hh,2,10,QChar('0')).arg(mm,2,10,QChar('0')).arg(ss,2,10,QChar('0')).arg(QChar(0x231a));
     }
+    else
+    {
+        str += "\n";
+    }
+
+    qreal deltaAscend   = pt2->ascend  - pt1->ascend;
+    qreal deltaDescend  = pt2->descend - pt1->descend;
+    qreal deltaTime     = pt2->time.toTime_t() - pt1->time.toTime_t();
 
-    tmp       = qAtan((pt2->ascend - pt1->ascend)/d);
+    tmp       = qAtan(deltaAscend/d);
     slope1    = qAbs(tmp * 360.0/(2 * M_PI));
     slope2    = qTan(slope1 * DEG_TO_RAD) * 100;
 
-    IUnit::self().meter2elevation(pt2->ascend - pt1->ascend, val, unit);
-    str += QString("%3 %1%2 (%4%5, %6%)\n").arg(val).arg(unit).arg(QChar(0x2197)).arg(qRound(slope1)).arg(QChar(0260)).arg(qRound(slope2));
+    IUnit::self().meter2elevation(deltaAscend, val, unit);
+    str += QString("%3 %1%2 (%4%5, %6%)").arg(val).arg(unit).arg(QChar(0x2197)).arg(qRound(slope1)).arg(QChar(0260)).arg(qRound(slope2));
+    if(timeIsValid)
+    {
+        IUnit::self().meter2speed(deltaAscend/deltaTime, val, unit);
+        str += QString(", %1%2\n").arg(val).arg(unit);
+    }
+    else
+    {
+        str += "\n";
+    }
 
-    tmp       = qAtan((pt2->descend - pt1->descend)/d);
+    tmp       = qAtan(deltaDescend/d);
     slope1    = qAbs(tmp * 360.0/(2 * M_PI));
     slope2    = qTan(slope1 * DEG_TO_RAD) * 100;
 
-    IUnit::self().meter2elevation(pt2->descend - pt1->descend, val, unit);
+    IUnit::self().meter2elevation(deltaDescend, val, unit);
     str += QString("%3 %1%2 (%4%5, %6%)").arg(val).arg(unit).arg(QChar(0x2198)).arg(qRound(slope1)).arg(QChar(0260)).arg(qRound(slope2));
+    if(timeIsValid)
+    {
+        IUnit::self().meter2speed(deltaDescend/deltaTime, val, unit);
+        str += QString(", %1%2\n").arg(val).arg(unit);
+    }
+    else
+    {
+        str += "\n";
+    }
 
 
     return str;
@@ -560,6 +621,63 @@ QString CGisItemTrk::getInfoProgress(const trkpt_t& pt)
     return str;
 }
 
+QString CGisItemTrk::getInfoRange(const trkpt_t& pt1, const trkpt_t& pt2)
+{
+    QString str, val, unit;
+    qreal dt = NOFLOAT;
+
+    if(pt1.time.isValid() && pt2.time.isValid())
+    {
+        dt = pt2.time.toTime_t() - pt1.time.toTime_t();
+    }
+
+    if((pt1.ascend != NOFLOAT) && (pt2.ascend != NOFLOAT))
+    {
+        IUnit::self().meter2elevation(pt2.ascend - pt1.ascend, val, unit);
+        str += QObject::tr("Ascend: %1%2").arg(val).arg(unit);
+
+        if(dt != NOFLOAT)
+        {
+            IUnit::self().meter2speed((pt2.ascend - pt1.ascend)/dt, val, unit);
+            str += QObject::tr(", %1%2").arg(val).arg(unit);
+        }
+    }
+    else
+    {
+        str += QObject::tr("Ascend: -");
+    }
+
+
+    if((pt1.descend != NOFLOAT) && (pt2.descend != NOFLOAT))
+    {
+        IUnit::self().meter2elevation(pt2.descend - pt1.descend, val, unit);
+        str += QObject::tr(" Descend: %1%2").arg(val).arg(unit);
+
+        if(dt != NOFLOAT)
+        {
+            IUnit::self().meter2speed((pt2.descend - pt1.descend)/dt, val, unit);
+            str += QObject::tr(", %1%2").arg(val).arg(unit);
+        }
+    }
+    else
+    {
+        str += QObject::tr("Descend: -");
+    }
+
+    str += "\n";
+
+    IUnit::self().meter2distance(pt2.distance - pt1.distance, val, unit);
+    str += QObject::tr("Dist.: %1%2").arg(val).arg(unit);
+
+    if(dt != NOFLOAT)
+    {
+        IUnit::self().seconds2time(dt, val, unit);
+        str += QObject::tr(" Time: %1%2").arg(val).arg(unit);
+    }
+
+    return str;
+}
+
 IScrOpt * CGisItemTrk::getScreenOptions(const QPoint& origin, IMouse * mouse)
 {
     if(scrOpt.isNull())
@@ -595,15 +713,15 @@ QPointF CGisItemTrk::getPointCloseBy(const QPoint& screenPos)
 
 void CGisItemTrk::getSelectedVisiblePoints(qint32& idx1, qint32& idx2)
 {
-    if((mouseClickFocus == 0) || (mouseMoveFocus == 0))
+    if((mouseRange1 == 0) || (mouseRange2 == 0))
     {
         idx1 = NOIDX;
         idx2 = NOIDX;
         return;
     }
 
-    idx1 = mouseClickFocus->idxVisible;
-    idx2 = mouseMoveFocus->idxVisible;
+    idx1 = mouseRange1->idxVisible;
+    idx2 = mouseRange2->idxVisible;
 
     if(idx1 > idx2)
     {
@@ -908,26 +1026,26 @@ void CGisItemTrk::findWaypointsCloseBy()
 
         trkwpt.x = qCos(a1 * DEG_TO_RAD) * d;
         trkwpt.y = qSin(a1 * DEG_TO_RAD) * d;
+        trkwpt.name = wpt->getName();
 
         trkwpts << trkwpt;
     }
 
+    if(line.isEmpty())
+    {
+        return;
+    }
 
     // convert all coordinates into meter relative to the first track point.
-    line[0].x = 0;
-    line[0].y = 0;
-    for(int i = 1; i < line.size(); i++)
+    for(int i = 0; i < line.size(); i++)
     {
         qreal d, a1, a2;
-        pointDP& pt1 = line[i - 1];
-        pointDP& pt2 = line[i];
-
-        d = GPS_Math_Distance(pt0.x, pt0.y, pt2.x, pt2.y, a1, a2);
+        pointDP& pt1 = line[i];
 
-        pt0 = pt2;
+        d = GPS_Math_Distance(pt0.x, pt0.y, pt1.x, pt1.y, a1, a2);
 
-        pt2.x = pt1.x + qCos(a1 * DEG_TO_RAD) * d;
-        pt2.y = pt1.y + qSin(a1 * DEG_TO_RAD) * d;
+        pt1.x = qCos(a1 * DEG_TO_RAD) * d;
+        pt1.y = qSin(a1 * DEG_TO_RAD) * d;
     }
 
     foreach(const trkwpt_t &trkwpt, trkwpts)
@@ -955,6 +1073,7 @@ void CGisItemTrk::findWaypointsCloseBy()
                     trkpt->keyWpt = trkwpt.key;
                 }
 
+
                 index = NOIDX;
                 minD  = WPT_FOCUS_DIST_IN;
             }
@@ -975,6 +1094,12 @@ void CGisItemTrk::findWaypointsCloseBy()
         dlgDetails->setupGui();
     }
 
+    foreach(IPlot * plot, registeredPlots)
+    {
+        plot->updateData();
+    }
+
+
     QApplication::restoreOverrideCursor();
 }
 
@@ -1163,14 +1288,14 @@ void CGisItemTrk::combine()
 
 void CGisItemTrk::hideSelectedPoints()
 {
-    if((mouseClickFocus == 0) && (mouseMoveFocus == 0))
+    if((mouseRange1 == 0) && (mouseRange2 == 0))
     {
         return;
     }
 
     // read start/stop indices
-    qint32 idx1 = mouseClickFocus->idxTotal;
-    qint32 idx2 = mouseMoveFocus->idxTotal;
+    qint32 idx1 = mouseRange1->idxTotal;
+    qint32 idx2 = mouseRange2->idxTotal;
 
     if(idx1 > idx2)
     {
@@ -1202,21 +1327,22 @@ void CGisItemTrk::hideSelectedPoints()
             }
         }
     }
-    mouseClickFocus = 0;
-    mouseMoveFocus  = 0;
+    mouseRange1 = 0;
+    mouseRange2 = 0;
+    rangeState  = eRangeStateIdle;
     deriveSecondaryData();
     changed(QObject::tr("Hide points."), "://icons/48x48/PointHide.png");
 }
 
 void CGisItemTrk::showSelectedPoints()
 {
-    if((mouseClickFocus == 0) && (mouseMoveFocus == 0))
+    if((mouseRange1 == 0) && (mouseRange2 == 0))
     {
         return;
     }
 
-    qint32 idx1 = mouseClickFocus->idxTotal;
-    qint32 idx2 = mouseMoveFocus->idxTotal;
+    qint32 idx1 = mouseRange1->idxTotal;
+    qint32 idx2 = mouseRange2->idxTotal;
 
     if(idx1 > idx2)
     {
@@ -1247,21 +1373,22 @@ void CGisItemTrk::showSelectedPoints()
             }
         }
     }
-    mouseClickFocus = 0;
-    mouseMoveFocus  = 0;
+    mouseRange1 = 0;
+    mouseRange2 = 0;
+    rangeState  = eRangeStateIdle;
     deriveSecondaryData();
     changed(QObject::tr("Show points."), "://icons/48x48/PointShow.png");
 }
 
 void CGisItemTrk::copySelectedPoints()
 {
-    if((mouseClickFocus == 0) && (mouseMoveFocus == 0))
+    if((mouseRange1 == 0) && (mouseRange2 == 0))
     {
         return;
     }
 
-    quint32 idx1 = mouseClickFocus->idxTotal;
-    quint32 idx2 = mouseMoveFocus->idxTotal;
+    quint32 idx1 = mouseRange1->idxTotal;
+    quint32 idx2 = mouseRange2->idxTotal;
 
     if(idx1 > idx2)
     {
@@ -1305,7 +1432,7 @@ void CGisItemTrk::drawItem(QPainter& p, const QPolygonF& viewport, QList<QRectF>
     gis->convertRad2Px(p2);
     QRectF extViewport(p1,p2);
 
-    if(drawMode == eDrawNormal)
+    if(mode == eModeNormal)
     {
         // in normal mode the trackline without points marked as deleted is drawn
         foreach (const trkseg_t &seg, trk.segs)
@@ -1352,7 +1479,7 @@ void CGisItemTrk::drawItem(QPainter& p, const QPolygonF& viewport, QList<QRectF>
     gis->convertRad2Px(lineFull);
 
     // draw the full line first
-    if(drawMode == eDrawRange)
+    if(mode == eModeRange)
     {
         QList<QPolygonF> lines;
         splitLineToViewport(lineFull, extViewport, lines);
@@ -1411,7 +1538,7 @@ void CGisItemTrk::drawItem(QPainter& p, const QRectF& viewport, CGisDraw * gis)
         return;
     }
 
-    if(hasUserFocus() && mouseMoveFocus && (drawMode != eDrawRange))
+    if(hasUserFocus() && mouseMoveFocus && (mode != eModeRange))
     {
         // derive anchor
         QPointF anchor(mouseMoveFocus->lon, mouseMoveFocus->lat);
@@ -1520,6 +1647,8 @@ void CGisItemTrk::drawItem(QPainter& p, const QRectF& viewport, CGisDraw * gis)
 
         p.drawPixmap(anchor - QPointF(4,4), QPixmap(bulletColors[colorIdx]));
     }
+
+    drawRange(p);
 }
 
 void CGisItemTrk::drawLabel(QPainter& p, const QPolygonF &viewport, QList<QRectF> &blockedAreas, const QFontMetricsF &fm, CGisDraw *gis)
@@ -1540,11 +1669,11 @@ void CGisItemTrk::drawHighlight(QPainter& p)
 
 void CGisItemTrk::drawRange(QPainter& p)
 {
-    if((mouseClickFocus != 0) && (mouseMoveFocus != 0))
+    if((mouseRange1 != 0) && (mouseRange2 != 0))
     {
-        const QPolygonF& line = (drawMode == eDrawRange) ? lineFull : lineSimple;
-        int idx1 = (drawMode == eDrawRange) ? mouseClickFocus->idxTotal : mouseClickFocus->idxVisible;
-        int idx2 = (drawMode == eDrawRange) ? mouseMoveFocus->idxTotal : mouseMoveFocus->idxVisible;
+        const QPolygonF& line = (mode == eModeRange) ? lineFull : lineSimple;
+        int idx1 = (mode == eModeRange) ? mouseRange1->idxTotal : mouseRange1->idxVisible;
+        int idx2 = (mode == eModeRange) ? mouseRange2->idxTotal : mouseRange2->idxVisible;
 
         if(idx1 > idx2)
         {
@@ -1553,15 +1682,38 @@ void CGisItemTrk::drawRange(QPainter& p)
 
         QPolygonF seg = line.mid(idx1, idx2 - idx1 + 1);
 
-        p.setPen(QPen(Qt::red, 12, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin));
+        p.setPen(QPen(Qt::darkGreen, 11, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin));
+        p.drawPolyline(seg);
+
+        p.setPen(QPen(Qt::green, 3, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin));
         p.drawPolyline(seg);
-        foreach(const QPointF &pt, seg)
-        {
-            p.drawPixmap(pt.x() - 3, pt.y() - 3, bullet);
-        }
     }
 }
 
+bool CGisItemTrk::setMode(mode_e m, const QString& owner)
+{
+    if(!mouseFocusOwner.isEmpty() && owner != mouseFocusOwner)
+    {
+        return false;
+    }
+
+    mode            = m;
+    // always reset the range statemachine
+    rangeState      = eRangeStateIdle;
+    mouseRange1     = 0;
+    mouseRange2     = 0;
+    mouseFocusOwner = mode == eModeRange ? owner : "";
+
+
+    CCanvas * canvas = CMainWindow::self().getVisibleCanvas();
+    if(canvas)
+    {
+        canvas->slotTriggerCompleteUpdate(CCanvas::eRedrawGis);
+    }
+
+    return true;
+}
+
 void CGisItemTrk::setName(const QString& str)
 {
     setText(CGisListWks::eColumnName, str);
@@ -1640,7 +1792,7 @@ void CGisItemTrk::setIcon(const QString& c)
     QTreeWidgetItem::setIcon(CGisListWks::eColumnIcon,icon);
 }
 
-void CGisItemTrk::setMouseFocusByDistance(qreal dist, focusmode_e mode, IPlot *initiator)
+bool CGisItemTrk::setMouseFocusByDistance(qreal dist, focusmode_e fmode, const QString &owner)
 {
     const trkpt_t * newPointOfFocus = 0;
 
@@ -1673,10 +1825,10 @@ void CGisItemTrk::setMouseFocusByDistance(qreal dist, focusmode_e mode, IPlot *i
         }
     }
 
-    publishMouseFocus(newPointOfFocus, mode, initiator);
+    return publishMouseFocus(newPointOfFocus, fmode, owner);
 }
 
-void CGisItemTrk::setMouseFocusByTime(quint32 time, focusmode_e mode, IPlot * initiator)
+bool CGisItemTrk::setMouseFocusByTime(quint32 time, focusmode_e fmode, const QString &owner)
 {
     const trkpt_t * newPointOfFocus = 0;
 
@@ -1709,16 +1861,16 @@ void CGisItemTrk::setMouseFocusByTime(quint32 time, focusmode_e mode, IPlot * in
         }
     }
 
-    publishMouseFocus(newPointOfFocus, mode, initiator);
+    return publishMouseFocus(newPointOfFocus, fmode, owner);
 }
 
-QPointF CGisItemTrk::setMouseFocusByPoint(const QPoint& pt, focusmode_e mode)
+QPointF CGisItemTrk::setMouseFocusByPoint(const QPoint& pt, focusmode_e fmode, const QString &owner)
 {
     const trkpt_t * newPointOfFocus = 0;
     quint32 idx = 0;
-    const QPolygonF& line = (drawMode == eDrawRange) ? lineFull : lineSimple;
+    const QPolygonF& line = (mode == eModeRange) ? lineFull : lineSimple;
 
-    if((hasUserFocus() || (drawMode == eDrawRange)) && (pt != NOPOINT))
+    if(pt != NOPOINT)
     {
         /*
             Iterate over the polyline used to draw the track as it contains screen
@@ -1744,16 +1896,23 @@ QPointF CGisItemTrk::setMouseFocusByPoint(const QPoint& pt, focusmode_e mode)
 
         if(d < MIN_DIST_FOCUS)
         {
-            newPointOfFocus = (drawMode == eDrawRange) ? getTrkPtByTotalIndex(idx) : getTrkPtByVisibleIndex(idx);
+            newPointOfFocus = (mode == eModeRange) ? getTrkPtByTotalIndex(idx) : getTrkPtByVisibleIndex(idx);
         }
     }
-    publishMouseFocus(newPointOfFocus, mode, 0);
+    if(!publishMouseFocus(newPointOfFocus, fmode, owner))
+    {
+        newPointOfFocus = 0;
+    }
 
-    return newPointOfFocus ? line[idx] : NOPOINTF;
+    /*
+       Test for line size befor applying index. This fixes random assertions because
+       of an invalid index. The reason for this is unknown.
+     */
+    return newPointOfFocus ? ((int)idx < line.size() ? line[idx] : NOPOINTF) : NOPOINTF;
 }
 
 
-void CGisItemTrk::setMouseFocusByIndex(qint32 idx, focusmode_e mode)
+bool CGisItemTrk::setMouseFocusByTotalIndex(qint32 idx, focusmode_e fmode, const QString &owner)
 {
     const trkpt_t * newPointOfFocus = 0;
 
@@ -1764,11 +1923,11 @@ void CGisItemTrk::setMouseFocusByIndex(qint32 idx, focusmode_e mode)
             if(pt.idxTotal == idx)
             {
                 newPointOfFocus = &pt;
-                publishMouseFocus(newPointOfFocus, mode, 0);
-                return;
+                return publishMouseFocus(newPointOfFocus, fmode, owner);
             }
         }
     }
+    return false;
 }
 
 const CGisItemTrk::trkpt_t * CGisItemTrk::getTrkPtByVisibleIndex(qint32 idx)
@@ -1839,22 +1998,93 @@ bool CGisItemTrk::isTrkPtFirstVisible(qint32 idxTotal)
 }
 
 
-void CGisItemTrk::publishMouseFocus(const trkpt_t * pt, focusmode_e mode,  IPlot * initiator)
+bool CGisItemTrk::publishMouseFocus(const trkpt_t * pt, focusmode_e fmode, const QString& owner)
+{
+    if(mode == eModeRange)
+    {
+        if(mouseFocusOwner != owner)
+        {
+            return false;
+        }
+
+        publishMouseFocusRangeMode(pt, fmode);
+    }
+    else
+    {
+        publishMouseFocusNormalMode(pt, fmode);
+    }
+
+    return true;
+}
+
+void CGisItemTrk::publishMouseFocusRangeMode(const trkpt_t * pt, focusmode_e fmode)
+{
+    switch(rangeState)
+    {
+    case eRangeStateIdle:
+    {
+        if((fmode == eFocusMouseClick) && (pt != 0))
+        {
+            mouseRange1 = pt;
+            rangeState  = eRangeState1st;
+        }
+
+        break;
+    }
+
+    case eRangeState1st:
+    {
+        mouseRange2 = pt;
+        if((fmode == eFocusMouseClick) && (pt != 0))
+        {
+            rangeState  = eRangeState2nd;
+        }
+        break;
+    }
+
+    case eRangeState2nd:
+    {
+        if(fmode == eFocusMouseClick)
+        {
+            mouseRange1 = 0;
+            mouseRange2 = 0;
+            rangeState  = eRangeStateIdle;
+        }
+        break;
+    }
+    }
+
+    foreach(IPlot * plot, registeredPlots)
+    {
+        plot->setMouseFocus(pt);
+        plot->setMouseRangeFocus(mouseRange1, mouseRange2);
+    }
+    if(!dlgDetails.isNull())
+    {
+        dlgDetails->setMouseFocus(pt);
+        dlgDetails->setMouseRangeFocus(mouseRange1, mouseRange2);
+    }
+}
+
+void CGisItemTrk::publishMouseFocusNormalMode(const trkpt_t * pt, focusmode_e fmode)
 {
-    switch(mode)
+    switch(fmode)
     {
     case eFocusMouseMove:
         if(pt != mouseMoveFocus)
         {
             mouseMoveFocus = pt;
+
             foreach(IPlot * plot, registeredPlots)
             {
-                plot->setMouseFocus(mouseClickFocus, mouseMoveFocus);
+                plot->setMouseFocus(pt);
+                plot->setMouseRangeFocus(0, 0);
             }
 
             if(!dlgDetails.isNull())
             {
-                dlgDetails->setMouseFocus(mouseMoveFocus);
+                dlgDetails->setMouseFocus(pt);
+                dlgDetails->setMouseRangeFocus(0, 0);
             }
         }
         break;
@@ -1862,10 +2092,10 @@ void CGisItemTrk::publishMouseFocus(const trkpt_t * pt, focusmode_e mode,  IPlot
     case eFocusMouseClick:
         if(pt != mouseClickFocus)
         {
-            mouseClickFocus = mouseClickFocus == 0 ? pt : 0;
+            mouseClickFocus =  pt;
             if(!dlgDetails.isNull())
             {
-                dlgDetails->setMouseClickFocus(mouseClickFocus);
+                dlgDetails->setMouseClickFocus(pt);
             }
         }
 
diff --git a/src/gis/trk/CGisItemTrk.h b/src/gis/trk/CGisItemTrk.h
index b829702..d7cd4e8 100644
--- a/src/gis/trk/CGisItemTrk.h
+++ b/src/gis/trk/CGisItemTrk.h
@@ -50,10 +50,10 @@ public:
         ,eFocusMouseClick
     };
 
-    enum drawmode_e
+    enum mode_e
     {
-        eDrawNormal
-        , eDrawRange
+        eModeNormal
+        , eModeRange
     };
 
     /**
@@ -155,6 +155,7 @@ public:
     QString getInfoRange();
     QString getInfoTrkPt(const trkpt_t& pt);
     QString getInfoProgress(const trkpt_t& pt);
+    QString getInfoRange(const trkpt_t& pt1, const trkpt_t& pt2);
     quint32 getTotalElapsedSeconds() const
     {
         return totalElapsedSeconds;
@@ -189,10 +190,7 @@ public:
 
     void setName(const QString& str);
     void setColor(int idx);
-    void setDrawMode(drawmode_e mode)
-    {
-        drawMode = mode;
-    }
+    bool setMode(mode_e m, const QString &owner);
     void setComment(const QString& str);
     void setDescription(const QString& str);
     void setLinks(const QList<link_t>& links);
@@ -321,7 +319,7 @@ public:
        @param dist      the distance in [m]
        @param initiator a pointer to an initiating IPlot object, or 0
      */
-    void setMouseFocusByDistance(qreal dist, focusmode_e mode, IPlot * initiator);
+    bool setMouseFocusByDistance(qreal dist, focusmode_e fmode, const QString& owner);
 
     /**
        @brief Use point with time from start matching best the given time delta
@@ -329,20 +327,20 @@ public:
        @param time      a time delta in [s] relative to the start time
        @param initiator a pointer to an initiating IPlot object, or 0
      */
-    void setMouseFocusByTime(quint32 time, focusmode_e mode, IPlot * initiator);
+    bool setMouseFocusByTime(quint32 time, focusmode_e fmode, const QString& owner);
 
     /**
        @brief Use the point that is closest to the given point on the screen.
 
        @param pt        a point on the screen in pixel.
      */
-    QPointF setMouseFocusByPoint(const QPoint& pt, focusmode_e mode);
+    QPointF setMouseFocusByPoint(const QPoint& pt, focusmode_e fmode, const QString& owner);
 
     /**
        @brief Use point with given index counter
        @param idx
      */
-    void setMouseFocusByIndex(qint32 idx, focusmode_e mode);
+    bool setMouseFocusByTotalIndex(qint32 idx, focusmode_e fmode, const QString& owner);
 
     /**
        @brief Reduce the amount of visible track points with the help of the Douglas Peuker algorithm
@@ -476,7 +474,9 @@ private:
        @param mode      The reason for the focus
        @param initiator A pointer to an IPlot object that has set the point of focus. Can be 0.
      */
-    void publishMouseFocus(const trkpt_t * pt, focusmode_e mode, IPlot *initiator);
+    bool publishMouseFocus(const trkpt_t * pt, focusmode_e fmode, const QString &owner);
+    void publishMouseFocusNormalMode(const trkpt_t * pt, focusmode_e fmode);
+    void publishMouseFocusRangeMode(const trkpt_t * pt, focusmode_e fmode);
     /**
        @brief Replace all trackpoints by the coordinates stored in the polyline
 
@@ -601,7 +601,7 @@ private:
 
     QPen penForeground;
 
-    drawmode_e drawMode;
+    mode_e mode;
 
     qint32 cntTotalPoints;
     qint32 cntVisiblePoints;
@@ -647,9 +647,22 @@ private:
 
     const trkpt_t * mouseMoveFocus;
     const trkpt_t * mouseClickFocus;
+    const trkpt_t * mouseRange1;
+    const trkpt_t * mouseRange2;
 
     QPointer<CDetailsTrk> dlgDetails;
     QPointer<CScrOptTrk>  scrOpt;
+
+    enum rangestate_e
+    {
+        eRangeStateIdle
+        , eRangeState1st
+        , eRangeState2nd
+    };
+
+    rangestate_e rangeState;
+
+    QString mouseFocusOwner;
 };
 
 #endif //CGISITEMTRK_H
diff --git a/src/gis/trk/CScrOptTrk.cpp b/src/gis/trk/CScrOptTrk.cpp
index e0afa11..64a1e55 100644
--- a/src/gis/trk/CScrOptTrk.cpp
+++ b/src/gis/trk/CScrOptTrk.cpp
@@ -58,8 +58,8 @@ CScrOptTrk::CScrOptTrk(CGisItemTrk * trk, const QPoint& point, IMouse *parent)
     connect(toolRange, SIGNAL(clicked()), this, SLOT(slotRange()));
 
     // reset user focus if the track has it
-    trk->setMouseFocusByPoint(NOPOINT, CGisItemTrk::eFocusMouseMove);
-    trk->setMouseFocusByPoint(NOPOINT, CGisItemTrk::eFocusMouseClick);
+    trk->setMouseFocusByPoint(NOPOINT, CGisItemTrk::eFocusMouseMove, "CScrOptTrk");
+    trk->setMouseFocusByPoint(point, CGisItemTrk::eFocusMouseClick, "CScrOptTrk");
 }
 
 CScrOptTrk::~CScrOptTrk()
diff --git a/src/gis/trk/IDetailsTrk.ui b/src/gis/trk/IDetailsTrk.ui
index 2bc6538..0515287 100644
--- a/src/gis/trk/IDetailsTrk.ui
+++ b/src/gis/trk/IDetailsTrk.ui
@@ -80,6 +80,27 @@
           </widget>
          </item>
          <item>
+          <widget class="Line" name="line_2">
+           <property name="orientation">
+            <enum>Qt::Vertical</enum>
+           </property>
+          </widget>
+         </item>
+         <item>
+          <widget class="QLabel" name="labelInfoRange">
+           <property name="sizePolicy">
+            <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
+             <horstretch>0</horstretch>
+             <verstretch>0</verstretch>
+            </sizepolicy>
+           </property>
+           <property name="text">
+            <string>-
+-</string>
+           </property>
+          </widget>
+         </item>
+         <item>
           <spacer name="horizontalSpacer">
            <property name="orientation">
             <enum>Qt::Horizontal</enum>
diff --git a/src/grid/CProjWizard.cpp b/src/grid/CProjWizard.cpp
index 4769611..22e6fa6 100644
--- a/src/grid/CProjWizard.cpp
+++ b/src/grid/CProjWizard.cpp
@@ -69,7 +69,7 @@ CProjWizard::CProjWizard(QLineEdit &line)
     connect(spinUTMZone, SIGNAL(valueChanged(int)), this, SLOT(slotChange()));
 
     QString projstr = line.text();
-    QRegExp re2("\\s*\\+proj=merc \\+a=6378137 \\+b=6378137 \\+lat_ts=0.0 \\+lon_0=0.0 \\+x_0=0.0 \\+y_0=0 \\+k=1.0 \\+units=m \\+nadgrids=@null \\+no_defs");
+    QRegExp re2("\\s*\\+proj=merc \\+a=6378137 \\+b=6378137 \\+lat_ts=0.001 \\+lon_0=0.0 \\+x_0=0.0 \\+y_0=0 \\+k=1.0 \\+units=m \\+nadgrids=@null \\+no_defs");
     QRegExp re3("\\s*\\+proj=merc\\s(.*)");
     QRegExp re4("\\s*\\+proj=utm \\+zone=([0-9]+)\\s(.*)");
 
@@ -151,7 +151,7 @@ void CProjWizard::slotChange()
     }
     else if(radioWorldMercator->isChecked())
     {
-        str += "+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +no_defs";
+        str += "+proj=merc +a=6378137 +b=6378137 +lat_ts=0.001 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +no_defs";
         labelResult->setText(str);
         return;
     }
diff --git a/src/mouse/CScrOptRangeTrk.cpp b/src/helpers/CFadingIcon.cpp
similarity index 55%
copy from src/mouse/CScrOptRangeTrk.cpp
copy to src/helpers/CFadingIcon.cpp
index 5651650..0888f6a 100644
--- a/src/mouse/CScrOptRangeTrk.cpp
+++ b/src/helpers/CFadingIcon.cpp
@@ -16,36 +16,46 @@
 
 **********************************************************************************************/
 
-#include "CMainWindow.h"
-#include "gis/trk/CGisItemTrk.h"
-#include "mouse/CScrOptRangeTrk.h"
-
+#include "CFadingIcon.h"
 #include <QtWidgets>
 
-CScrOptRangeTrk::CScrOptRangeTrk(const QPointF &point, CGisItemTrk * trk, QWidget *parent)
-    : IScrOpt(parent)
+CFadingIcon::CFadingIcon(const QPoint& pt, const QString &resource, QWidget *parent)
+    : QLabel(parent)
+    , o(1.0)
+    , icon(resource)
 {
-    setupUi(this);
-    label->setFont(CMainWindow::self().getMapFont());
-    label->setText(trk->getInfoRange());
-    adjustSize();
+    setPixmap(icon);
 
-    bool isReadOnly = trk->isReadOnly();
-    toolHidePoints->setEnabled(!isReadOnly);
-    toolShowPoints->setEnabled(!isReadOnly);
+    QTimer * timer = new QTimer(this);
+    timer->setSingleShot(false);
+    timer->setInterval(100);
+    timer->start();
 
-    setOrigin(point.toPoint());
+    connect(timer, SIGNAL(timeout()), this, SLOT(slotTimeout()));
 
-    move(point.toPoint() + QPoint(-width()/2,SCR_OPT_OFFSET));
+    move(pt.x() - icon.width()/2, pt.y() - icon.height()/2);
     show();
 }
 
-CScrOptRangeTrk::~CScrOptRangeTrk()
+CFadingIcon::~CFadingIcon()
 {
 }
 
-void CScrOptRangeTrk::draw(QPainter& p)
+void CFadingIcon::slotTimeout()
 {
-    drawBubble2(origin, p);
+    o -= 0.1;
+    if(o <= 0)
+    {
+        deleteLater();
+    }
+    else
+    {
+        QPixmap tmp(icon.size());
+        tmp.fill(Qt::transparent);
+
+        QPainter p(&tmp);
+        p.setOpacity(o);
+        p.drawPixmap(0,0,icon);
+        setPixmap(tmp);
+    }
 }
-
diff --git a/src/plot/CPlotSpeed.h b/src/helpers/CFadingIcon.h
similarity index 73%
copy from src/plot/CPlotSpeed.h
copy to src/helpers/CFadingIcon.h
index 58bdc27..93afad5 100644
--- a/src/plot/CPlotSpeed.h
+++ b/src/helpers/CFadingIcon.h
@@ -16,22 +16,26 @@
 
 **********************************************************************************************/
 
-#ifndef CPLOTSPEED_H
-#define CPLOTSPEED_H
+#ifndef CFADINGICON_H
+#define CFADINGICON_H
 
-#include "plot/IPlot.h"
+#include <QLabel>
+#include <QPixmap>
 
-class CPlotSpeed : public IPlot
+class CFadingIcon : public QLabel
 {
     Q_OBJECT
 public:
-    CPlotSpeed(QWidget * parent);
-    virtual ~CPlotSpeed();
+    CFadingIcon(const QPoint &pt, const QString& resource, QWidget * parent);
+    virtual ~CFadingIcon();
 
-    void setTrack(CGisItemTrk * track);
-    void updateData();
-    void setMouseFocus(const CGisItemTrk::trkpt_t * ptClick, const CGisItemTrk::trkpt_t * ptMove);
+private slots:
+    void slotTimeout();
+
+private:
+    qreal o;
+    QPixmap icon;
 };
 
-#endif //CPLOTSPEED_H
+#endif //CFADINGICON_H
 
diff --git a/src/helpers/CFileExt.h b/src/helpers/CFileExt.h
index a09841b..3aef855 100644
--- a/src/helpers/CFileExt.h
+++ b/src/helpers/CFileExt.h
@@ -20,6 +20,7 @@
 #define CFILEEXT_H
 
 #include <QFile>
+#include <QtCore>
 
 class CFileExt : public QFile
 {
@@ -28,10 +29,17 @@ public:
         : QFile(filename)
         , mapped(NULL)
     {
+        cnt++;
     }
 
+    ~CFileExt()
+    {
+        cnt--;
+    }
+
+#ifndef Q_OS_WIN32
     // data access function
-    const char *data(qint64 offset)
+    const char *data(qint64 offset, qint64 s)
     {
         if(!mapped)
         {
@@ -39,8 +47,20 @@ public:
         }
         return mapped + offset;
     }
+#else
+    // data access function
+    const char *data(qint64 offset, qint64 s)
+    {
+        uchar * p = map(offset,s);
+        return (const char *)p;
+    }
+#endif
+
 private:
+    static int cnt;
+
     const char *mapped;
+
 };
 
 
diff --git a/src/icons/32x32/NoGo.png b/src/icons/32x32/NoGo.png
new file mode 100644
index 0000000..25503e3
Binary files /dev/null and b/src/icons/32x32/NoGo.png differ
diff --git a/src/icons/48x48/NoGo.png b/src/icons/48x48/NoGo.png
new file mode 100644
index 0000000..ce6ee19
Binary files /dev/null and b/src/icons/48x48/NoGo.png differ
diff --git a/src/icons/NoGo.svg b/src/icons/NoGo.svg
new file mode 100644
index 0000000..7f503b4
--- /dev/null
+++ b/src/icons/NoGo.svg
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="64"
+   height="64"
+   id="svg2"
+   version="1.1"
+   inkscape:version="0.48.5 r10040"
+   sodipodi:docname="NoGo.svg">
+  <defs
+     id="defs4" />
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="7.9195959"
+     inkscape:cx="-2.923257"
+     inkscape:cy="37.730236"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="true"
+     inkscape:window-width="1920"
+     inkscape:window-height="1012"
+     inkscape:window-x="-2"
+     inkscape:window-y="-3"
+     inkscape:window-maximized="1">
+    <inkscape:grid
+       type="xygrid"
+       id="grid2985"
+       empspacing="5"
+       visible="true"
+       enabled="true"
+       snapvisiblegridlinesonly="true" />
+  </sodipodi:namedview>
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Ebene 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(0,-988.36218)">
+    <path
+       style="fill:#ff0000;stroke:#000080;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"
+       d="M 34.65625 6.5 C 22.229855 6.5169515 12.170548 16.604855 12.1875 29.03125 L 12.1875 29.09375 C 12.242637 41.492957 22.319432 51.516915 34.71875 51.5 C 47.145145 51.483048 57.204452 41.395145 57.1875 28.96875 C 57.170548 16.542355 47.082645 6.4830485 34.65625 6.5 z M 34.65625 14.3125 C 37.268512 14.308937 39.718252 14.993509 41.84375 16.1875 L 21.875 36.15625 C 20.695254 34.051183 20.011482 31.644463 20 29.0625 L 20 29.03125 C 19.988945 20.927079 26.552079 14.323555 34.65625 14. [...]
+       transform="translate(0,988.36218)"
+       id="path3005" />
+  </g>
+</svg>
diff --git a/src/locale/qmapshack_cs.ts b/src/locale/qmapshack_cs.ts
index 0412e5c..adc1fca 100644
--- a/src/locale/qmapshack_cs.ts
+++ b/src/locale/qmapshack_cs.ts
@@ -108,7 +108,7 @@
     <message>
         <location filename="../gis/ovl/CDetailsOvlArea.cpp" line="136"/>
         <source>Enter new area name.</source>
-        <translation type="unfinished">Zadat název nové oblasti.</translation>
+        <translation>Zadat název nové oblasti.</translation>
     </message>
     <message>
         <source>Enter new waypoint name.</source>
@@ -183,17 +183,17 @@
     <message>
         <location filename="../gis/prj/CDetailsPrj.cpp" line="480"/>
         <source>distance: %1%2</source>
-        <translation type="unfinished"></translation>
+        <translation>Vzdálenost: %1%2</translation>
     </message>
     <message>
         <location filename="../gis/prj/CDetailsPrj.cpp" line="482"/>
         <source>ascent: %1%2</source>
-        <translation type="unfinished"></translation>
+        <translation>Stoupání: %1%2</translation>
     </message>
     <message>
         <location filename="../gis/prj/CDetailsPrj.cpp" line="484"/>
         <source>descend: %1%2</source>
-        <translation type="unfinished"></translation>
+        <translation>Klesání: %1%2</translation>
     </message>
     <message>
         <location filename="../gis/prj/CDetailsPrj.cpp" line="542"/>
@@ -246,24 +246,24 @@
         <translation>Rozkrájet stopu na kusy</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="218"/>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="227"/>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="230"/>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="236"/>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="255"/>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="257"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="222"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="231"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="234"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="240"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="259"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="261"/>
         <source>%1 %2</source>
         <translation>%1 %2</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="370"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="397"/>
         <source>Edit name...</source>
-        <translation type="unfinished">Upravit název...</translation>
+        <translation>Upravit název...</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="370"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="397"/>
         <source>Enter new track name.</source>
-        <translation type="unfinished">Zadat název nové stopy.</translation>
+        <translation>Zadat název nové stopy.</translation>
     </message>
     <message>
         <source><h4>Comment:</h4></source>
@@ -451,8 +451,8 @@
     </message>
     <message>
         <location filename="../gis/CGisListWks.cpp" line="586"/>
-        <location filename="../gis/CGisListWks.cpp" line="1237"/>
-        <location filename="../gis/CGisListWks.cpp" line="1275"/>
+        <location filename="../gis/CGisListWks.cpp" line="1253"/>
+        <location filename="../gis/CGisListWks.cpp" line="1292"/>
         <source><b>Update devices</b><p>Update %1<br/>Please wait...</p></source>
         <translation><b>Aktualizovat zařízení</b><p>Aktualizovat %1<br/>Počkejte, prosím...</p></translation>
     </message>
@@ -464,7 +464,7 @@
     <message>
         <location filename="../gis/CGisListWks.cpp" line="95"/>
         <source>Send to Devices</source>
-        <translation type="unfinished"></translation>
+        <translation>Poslat do zařízení</translation>
     </message>
     <message>
         <location filename="../gis/CGisListWks.cpp" line="118"/>
@@ -508,12 +508,12 @@
         <translation>Nahrává se pohled. Počkejte, prosím.</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="1176"/>
+        <location filename="../gis/CGisListWks.cpp" line="909"/>
         <source>Close all projects...</source>
         <translation>Zavřít všechny projekty...</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="1176"/>
+        <location filename="../gis/CGisListWks.cpp" line="909"/>
         <source>This will remove all projects from the workspace.</source>
         <translation>Tímto budou všechny projekty odstraněny z pohledu.</translation>
     </message>
@@ -577,653 +577,653 @@
 <context>
     <name>CMainWindow</name>
     <message>
-        <location filename="../CMainWindow.cpp" line="476"/>
+        <location filename="../CMainWindow.cpp" line="485"/>
         <source>Ele: %1%2</source>
         <translation>Výška: %1%2</translation>
     </message>
     <message>
-        <location filename="../CMainWindow.cpp" line="602"/>
+        <location filename="../CMainWindow.cpp" line="611"/>
         <source>Load GIS Data...</source>
         <translation>Nahrát data GIS...</translation>
     </message>
     <message>
-        <location filename="../CMainWindow.cpp" line="636"/>
+        <location filename="../CMainWindow.cpp" line="645"/>
         <source>Select output file</source>
-        <translation type="unfinished"></translation>
+        <translation>Vybrat výstupní soubor</translation>
     </message>
     <message>
-        <location filename="../CMainWindow.cpp" line="662"/>
+        <location filename="../CMainWindow.cpp" line="671"/>
         <source>Select file to load</source>
-        <translation type="unfinished"></translation>
+        <translation>Vybrat soubor k nahrání</translation>
     </message>
 </context>
 <context>
     <name>CMapIMG</name>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="151"/>
+        <location filename="../map/CMapIMG.cpp" line="153"/>
         <source>Failed ...</source>
         <translation>Nepodařilo se...</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="166"/>
+        <location filename="../map/CMapIMG.cpp" line="168"/>
         <source>Unspecified</source>
         <translation>Neurčeno</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="167"/>
+        <location filename="../map/CMapIMG.cpp" line="169"/>
         <source>French</source>
         <translation>Francouzský</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="168"/>
+        <location filename="../map/CMapIMG.cpp" line="170"/>
         <source>German</source>
         <translation>Německý</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="169"/>
+        <location filename="../map/CMapIMG.cpp" line="171"/>
         <source>Dutch</source>
         <translation>Holandský</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="170"/>
+        <location filename="../map/CMapIMG.cpp" line="172"/>
         <source>English</source>
         <translation>Anglický</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="171"/>
+        <location filename="../map/CMapIMG.cpp" line="173"/>
         <source>Italian</source>
         <translation>Italský</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="172"/>
+        <location filename="../map/CMapIMG.cpp" line="174"/>
         <source>Finnish</source>
         <translation>Finský</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="173"/>
+        <location filename="../map/CMapIMG.cpp" line="175"/>
         <source>Swedish</source>
         <translation>Švédský</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="174"/>
+        <location filename="../map/CMapIMG.cpp" line="176"/>
         <source>Spanish</source>
         <translation>Španělský</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="175"/>
+        <location filename="../map/CMapIMG.cpp" line="177"/>
         <source>Basque</source>
         <translation>Baskický</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="176"/>
+        <location filename="../map/CMapIMG.cpp" line="178"/>
         <source>Catalan</source>
         <translation>Katalánský</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="177"/>
+        <location filename="../map/CMapIMG.cpp" line="179"/>
         <source>Galician</source>
         <translation>Galicijský</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="178"/>
+        <location filename="../map/CMapIMG.cpp" line="180"/>
         <source>Welsh</source>
         <translation>Velšský</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="179"/>
+        <location filename="../map/CMapIMG.cpp" line="181"/>
         <source>Gaelic</source>
         <translation>Gaelský</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="180"/>
+        <location filename="../map/CMapIMG.cpp" line="182"/>
         <source>Danish</source>
         <translation>Dánský</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="181"/>
+        <location filename="../map/CMapIMG.cpp" line="183"/>
         <source>Norwegian</source>
         <translation>Norský</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="182"/>
+        <location filename="../map/CMapIMG.cpp" line="184"/>
         <source>Portuguese</source>
         <translation>Portugalský</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="183"/>
+        <location filename="../map/CMapIMG.cpp" line="185"/>
         <source>Slovak</source>
         <translation>Slovenský</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="184"/>
+        <location filename="../map/CMapIMG.cpp" line="186"/>
         <source>Czech</source>
         <translation>Český</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="185"/>
+        <location filename="../map/CMapIMG.cpp" line="187"/>
         <source>Croatian</source>
         <translation>Chorvatský</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="186"/>
+        <location filename="../map/CMapIMG.cpp" line="188"/>
         <source>Hungarian</source>
         <translation>Maďarský</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="187"/>
+        <location filename="../map/CMapIMG.cpp" line="189"/>
         <source>Polish</source>
         <translation>Polský</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="188"/>
+        <location filename="../map/CMapIMG.cpp" line="190"/>
         <source>Turkish</source>
         <translation>Turecký</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="189"/>
+        <location filename="../map/CMapIMG.cpp" line="191"/>
         <source>Greek</source>
         <translation>Řecký</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="190"/>
+        <location filename="../map/CMapIMG.cpp" line="192"/>
         <source>Slovenian</source>
         <translation>Slovinský</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="191"/>
+        <location filename="../map/CMapIMG.cpp" line="193"/>
         <source>Russian</source>
         <translation>Ruský</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="192"/>
+        <location filename="../map/CMapIMG.cpp" line="194"/>
         <source>Estonian</source>
         <translation>Estonský</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="193"/>
+        <location filename="../map/CMapIMG.cpp" line="195"/>
         <source>Latvian</source>
         <translation>Lotyšský</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="194"/>
+        <location filename="../map/CMapIMG.cpp" line="196"/>
         <source>Romanian</source>
         <translation>Rumunský</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="195"/>
+        <location filename="../map/CMapIMG.cpp" line="197"/>
         <source>Albanian</source>
         <translation>Albánský</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="196"/>
+        <location filename="../map/CMapIMG.cpp" line="198"/>
         <source>Bosnian</source>
         <translation>Bosenský</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="197"/>
+        <location filename="../map/CMapIMG.cpp" line="199"/>
         <source>Lithuanian</source>
         <translation>Litevský</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="198"/>
+        <location filename="../map/CMapIMG.cpp" line="200"/>
         <source>Serbian</source>
         <translation>Srbský</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="199"/>
+        <location filename="../map/CMapIMG.cpp" line="201"/>
         <source>Macedonian</source>
         <translation>Makedonský</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="200"/>
+        <location filename="../map/CMapIMG.cpp" line="202"/>
         <source>Bulgarian</source>
         <translation>Bulharský</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="257"/>
+        <location filename="../map/CMapIMG.cpp" line="259"/>
         <source>Major highway</source>
         <translation>Dálnice</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="258"/>
+        <location filename="../map/CMapIMG.cpp" line="260"/>
         <source>Principal highway</source>
         <translation>Silnice první třídy</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="259"/>
+        <location filename="../map/CMapIMG.cpp" line="261"/>
         <source>Other highway</source>
         <translation>Jiné rychlostní silnice</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="260"/>
+        <location filename="../map/CMapIMG.cpp" line="262"/>
         <source>Arterial road</source>
         <translation>Rychlostní silnice</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="261"/>
+        <location filename="../map/CMapIMG.cpp" line="263"/>
         <source>Collector road</source>
         <translation>Státní silnice</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="262"/>
+        <location filename="../map/CMapIMG.cpp" line="264"/>
         <source>Residential street</source>
         <translation>Silnice v obytné oblasti</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="263"/>
+        <location filename="../map/CMapIMG.cpp" line="265"/>
         <source>Alley/Private road</source>
         <translation>Soukromá cesta</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="264"/>
+        <location filename="../map/CMapIMG.cpp" line="266"/>
         <source>Highway ramp, low speed</source>
         <translation>Nájezd na dálnici/sjezd z dálnice</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="265"/>
+        <location filename="../map/CMapIMG.cpp" line="267"/>
         <source>Highway ramp, high speed</source>
         <translation>Nájezd na dálnici/sjezd z dálnice</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="266"/>
+        <location filename="../map/CMapIMG.cpp" line="268"/>
         <source>Unpaved road</source>
         <translation>Neasfaltovaná cesta</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="267"/>
+        <location filename="../map/CMapIMG.cpp" line="269"/>
         <source>Major highway connector</source>
         <translation>Dalniční přivaděč</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="268"/>
+        <location filename="../map/CMapIMG.cpp" line="270"/>
         <source>Roundabout</source>
         <translation>Kruhový objezd</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="269"/>
+        <location filename="../map/CMapIMG.cpp" line="271"/>
         <source>Railroad</source>
         <translation>Železnice, koleje</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="270"/>
+        <location filename="../map/CMapIMG.cpp" line="272"/>
         <source>Shoreline</source>
         <translation>Břeh</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="271"/>
+        <location filename="../map/CMapIMG.cpp" line="273"/>
         <source>Trail</source>
         <translation>Cesta</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="272"/>
+        <location filename="../map/CMapIMG.cpp" line="274"/>
         <source>Stream</source>
         <translation>Proud</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="273"/>
+        <location filename="../map/CMapIMG.cpp" line="275"/>
         <source>Time zone</source>
         <translation>Časové pásmo</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="274"/>
-        <location filename="../map/CMapIMG.cpp" line="275"/>
+        <location filename="../map/CMapIMG.cpp" line="276"/>
+        <location filename="../map/CMapIMG.cpp" line="277"/>
         <source>Ferry</source>
         <translation>Přívoz</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="276"/>
+        <location filename="../map/CMapIMG.cpp" line="278"/>
         <source>State/province border</source>
         <translation>Státní/Zemská hranice</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="277"/>
+        <location filename="../map/CMapIMG.cpp" line="279"/>
         <source>County/parish border</source>
         <translation>Krajská/Obecní hranice</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="278"/>
+        <location filename="../map/CMapIMG.cpp" line="280"/>
         <source>International border</source>
         <translation>Mezinárodní hranice</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="279"/>
+        <location filename="../map/CMapIMG.cpp" line="281"/>
         <source>River</source>
         <translation>Řeka</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="280"/>
+        <location filename="../map/CMapIMG.cpp" line="282"/>
         <source>Minor land contour</source>
         <translation>Malá vrstevnice</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="281"/>
+        <location filename="../map/CMapIMG.cpp" line="283"/>
         <source>Intermediate land contour</source>
         <translation>Střední vrstevnice</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="282"/>
+        <location filename="../map/CMapIMG.cpp" line="284"/>
         <source>Major land contour</source>
         <translation>Velká vrstevnice</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="283"/>
+        <location filename="../map/CMapIMG.cpp" line="285"/>
         <source>Minor depth contour</source>
         <translation>Malá hloubková čára</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="284"/>
+        <location filename="../map/CMapIMG.cpp" line="286"/>
         <source>Intermediate depth contour</source>
         <translation>Střední hloubková čára</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="285"/>
+        <location filename="../map/CMapIMG.cpp" line="287"/>
         <source>Major depth contour</source>
         <translation>Velká hloubková čára</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="286"/>
+        <location filename="../map/CMapIMG.cpp" line="288"/>
         <source>Intermittent stream</source>
         <translation>Přerušovaný potok (Wadi)</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="287"/>
-        <location filename="../map/CMapIMG.cpp" line="369"/>
+        <location filename="../map/CMapIMG.cpp" line="289"/>
+        <location filename="../map/CMapIMG.cpp" line="371"/>
         <source>Airport runway</source>
         <translation>Přistávací dráha</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="288"/>
+        <location filename="../map/CMapIMG.cpp" line="290"/>
         <source>Pipeline</source>
         <translation>Dálkové potrubí</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="289"/>
+        <location filename="../map/CMapIMG.cpp" line="291"/>
         <source>Powerline</source>
         <translation>Elektrické vedení</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="290"/>
+        <location filename="../map/CMapIMG.cpp" line="292"/>
         <source>Marine boundary</source>
         <translation>Hranice moře</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="291"/>
+        <location filename="../map/CMapIMG.cpp" line="293"/>
         <source>Hazard boundary</source>
         <translation>Nebezpečná hranice</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="356"/>
+        <location filename="../map/CMapIMG.cpp" line="358"/>
         <source>Large urban area (&gt;200K)</source>
         <translation>Velkoměstská oblast (&gt;200 000)</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="357"/>
+        <location filename="../map/CMapIMG.cpp" line="359"/>
         <source>Small urban area (&lt;200K)</source>
         <translation>Maloměstská oblast (&gt;200 000)</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="358"/>
+        <location filename="../map/CMapIMG.cpp" line="360"/>
         <source>Rural housing area</source>
         <translation>Městská obytná oblast</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="359"/>
+        <location filename="../map/CMapIMG.cpp" line="361"/>
         <source>Military base</source>
         <translation>Vojenská základna</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="360"/>
+        <location filename="../map/CMapIMG.cpp" line="362"/>
         <source>Parking lot</source>
         <translation>Parkoviště</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="361"/>
+        <location filename="../map/CMapIMG.cpp" line="363"/>
         <source>Parking garage</source>
         <translation>Parkovací budova</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="362"/>
+        <location filename="../map/CMapIMG.cpp" line="364"/>
         <source>Airport</source>
         <translation>Letiště</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="363"/>
+        <location filename="../map/CMapIMG.cpp" line="365"/>
         <source>Shopping center</source>
         <translation>Nákupní středisko</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="364"/>
+        <location filename="../map/CMapIMG.cpp" line="366"/>
         <source>Marina</source>
         <translation>Přístav</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="365"/>
+        <location filename="../map/CMapIMG.cpp" line="367"/>
         <source>University/College</source>
         <translation>Univerzita/Vysoká škola</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="366"/>
+        <location filename="../map/CMapIMG.cpp" line="368"/>
         <source>Hospital</source>
         <translation>Nemocnice</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="367"/>
+        <location filename="../map/CMapIMG.cpp" line="369"/>
         <source>Industrial complex</source>
         <translation>Průmyslový celek</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="368"/>
+        <location filename="../map/CMapIMG.cpp" line="370"/>
         <source>Reservation</source>
         <translation>Chráněné území</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="370"/>
+        <location filename="../map/CMapIMG.cpp" line="372"/>
         <source>Man-made area</source>
         <translation>Zástavba</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="371"/>
+        <location filename="../map/CMapIMG.cpp" line="373"/>
         <source>Sports complex</source>
         <translation>Oblast pro tělesné činnosti</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="372"/>
+        <location filename="../map/CMapIMG.cpp" line="374"/>
         <source>Golf course</source>
         <translation>Golfové hřiště</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="373"/>
+        <location filename="../map/CMapIMG.cpp" line="375"/>
         <source>Cemetery</source>
         <translation>Hřbitov</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="374"/>
-        <location filename="../map/CMapIMG.cpp" line="375"/>
         <location filename="../map/CMapIMG.cpp" line="376"/>
+        <location filename="../map/CMapIMG.cpp" line="377"/>
+        <location filename="../map/CMapIMG.cpp" line="378"/>
         <source>National park</source>
         <translation>Národní park</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="377"/>
+        <location filename="../map/CMapIMG.cpp" line="379"/>
         <source>City park</source>
         <translation>Městské sady</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="378"/>
-        <location filename="../map/CMapIMG.cpp" line="379"/>
         <location filename="../map/CMapIMG.cpp" line="380"/>
+        <location filename="../map/CMapIMG.cpp" line="381"/>
+        <location filename="../map/CMapIMG.cpp" line="382"/>
         <source>State park</source>
         <translation>Státní park</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="381"/>
+        <location filename="../map/CMapIMG.cpp" line="383"/>
         <source>Forest</source>
         <translation>Les</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="382"/>
+        <location filename="../map/CMapIMG.cpp" line="384"/>
         <source>Ocean</source>
         <translation>Oceán</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="383"/>
         <location filename="../map/CMapIMG.cpp" line="385"/>
-        <location filename="../map/CMapIMG.cpp" line="395"/>
+        <location filename="../map/CMapIMG.cpp" line="387"/>
+        <location filename="../map/CMapIMG.cpp" line="397"/>
         <source>Blue (unknown)</source>
         <translation>Modrá (neznámé)</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="384"/>
+        <location filename="../map/CMapIMG.cpp" line="386"/>
         <source>Sea</source>
         <translation>Moře</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="386"/>
-        <location filename="../map/CMapIMG.cpp" line="387"/>
-        <location filename="../map/CMapIMG.cpp" line="394"/>
+        <location filename="../map/CMapIMG.cpp" line="388"/>
+        <location filename="../map/CMapIMG.cpp" line="389"/>
+        <location filename="../map/CMapIMG.cpp" line="396"/>
         <source>Large lake</source>
         <translation>Velké jezero</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="388"/>
-        <location filename="../map/CMapIMG.cpp" line="389"/>
+        <location filename="../map/CMapIMG.cpp" line="390"/>
+        <location filename="../map/CMapIMG.cpp" line="391"/>
         <source>Medium lake</source>
         <translation>Střední jezero</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="390"/>
-        <location filename="../map/CMapIMG.cpp" line="391"/>
+        <location filename="../map/CMapIMG.cpp" line="392"/>
+        <location filename="../map/CMapIMG.cpp" line="393"/>
         <source>Small lake</source>
         <translation>Malé jezero</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="392"/>
-        <location filename="../map/CMapIMG.cpp" line="393"/>
+        <location filename="../map/CMapIMG.cpp" line="394"/>
+        <location filename="../map/CMapIMG.cpp" line="395"/>
         <source>Major lake</source>
         <translation>Velmi velké jezero</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="396"/>
+        <location filename="../map/CMapIMG.cpp" line="398"/>
         <source>Major River</source>
         <translation>Veletok</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="397"/>
+        <location filename="../map/CMapIMG.cpp" line="399"/>
         <source>Large River</source>
         <translation>Velká řeka</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="398"/>
+        <location filename="../map/CMapIMG.cpp" line="400"/>
         <source>Medium River</source>
         <translation>Střední řeka</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="399"/>
+        <location filename="../map/CMapIMG.cpp" line="401"/>
         <source>Small River</source>
         <translation>Malá řeka</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="402"/>
+        <location filename="../map/CMapIMG.cpp" line="404"/>
         <source>Intermittent water</source>
         <translation>Přerušovaná voda</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="403"/>
+        <location filename="../map/CMapIMG.cpp" line="405"/>
         <source>Wetland/Swamp</source>
         <translation>Močál/Bažina</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="404"/>
+        <location filename="../map/CMapIMG.cpp" line="406"/>
         <source>Glacier</source>
         <translation>Ledovec</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="405"/>
+        <location filename="../map/CMapIMG.cpp" line="407"/>
         <source>Orchard/Plantation</source>
         <translation>Sad/Plantáž</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="406"/>
+        <location filename="../map/CMapIMG.cpp" line="408"/>
         <source>Scrub</source>
         <translation>Křoví</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="407"/>
+        <location filename="../map/CMapIMG.cpp" line="409"/>
         <source>Tundra</source>
         <translation>Tundra</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="408"/>
+        <location filename="../map/CMapIMG.cpp" line="410"/>
         <source>Flat</source>
         <translation>Rovina</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="409"/>
+        <location filename="../map/CMapIMG.cpp" line="411"/>
         <source>???</source>
         <translation>???</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="445"/>
+        <location filename="../map/CMapIMG.cpp" line="447"/>
         <source>Failed to read: </source>
         <translation>Nepodařilo se přečíst: </translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="488"/>
+        <location filename="../map/CMapIMG.cpp" line="490"/>
         <source>Failed to open: </source>
         <translation>Nepodařilo se otevřít: </translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="512"/>
-        <location filename="../map/CMapIMG.cpp" line="516"/>
+        <location filename="../map/CMapIMG.cpp" line="514"/>
+        <location filename="../map/CMapIMG.cpp" line="518"/>
         <source>Bad file format: </source>
         <translation>Špatný formát souboru: </translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="605"/>
+        <location filename="../map/CMapIMG.cpp" line="607"/>
         <source>Failed to read file structure: </source>
         <translation>Nepodařilo se přečíst stavbu souboru: </translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="638"/>
+        <location filename="../map/CMapIMG.cpp" line="640"/>
         <source>Loading %1</source>
         <translation>Nahrává se %1</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="643"/>
+        <location filename="../map/CMapIMG.cpp" line="645"/>
         <source>User abort: </source>
         <translation>Zrušeno uživatelem: </translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="646"/>
+        <location filename="../map/CMapIMG.cpp" line="648"/>
         <source>File is NT format. QMapShack is unable to read map files with NT format: </source>
         <translation>Soubor je ve formátu NT. QMapShack nedokáže číst mapové soubory ve formátu NT: </translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="738"/>
+        <location filename="../map/CMapIMG.cpp" line="740"/>
         <source>File contains locked / encypted data. Garmin does not want you to use this file with any other software than the one supplied by Garmin.</source>
         <translation>Soubor obsahuje zamknutá/zašifrovaná data. Garmin nechce, aby byl tento soubor použit s jiným programem než dodaným Garminem.</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="2475"/>
-        <location filename="../map/CMapIMG.cpp" line="2483"/>
-        <location filename="../map/CMapIMG.cpp" line="2487"/>
-        <location filename="../map/CMapIMG.cpp" line="2492"/>
-        <location filename="../map/CMapIMG.cpp" line="2538"/>
-        <location filename="../map/CMapIMG.cpp" line="2546"/>
-        <location filename="../map/CMapIMG.cpp" line="2550"/>
-        <location filename="../map/CMapIMG.cpp" line="2555"/>
+        <location filename="../map/CMapIMG.cpp" line="2494"/>
+        <location filename="../map/CMapIMG.cpp" line="2502"/>
+        <location filename="../map/CMapIMG.cpp" line="2506"/>
+        <location filename="../map/CMapIMG.cpp" line="2511"/>
+        <location filename="../map/CMapIMG.cpp" line="2557"/>
+        <location filename="../map/CMapIMG.cpp" line="2565"/>
+        <location filename="../map/CMapIMG.cpp" line="2569"/>
+        <location filename="../map/CMapIMG.cpp" line="2574"/>
         <source>Point of Interest</source>
         <translation>Podivuhodnost</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="2682"/>
+        <location filename="../map/CMapIMG.cpp" line="2701"/>
         <source>Unknown</source>
         <translation>Neznámý</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="2728"/>
-        <location filename="../map/CMapIMG.cpp" line="2736"/>
-        <location filename="../map/CMapIMG.cpp" line="2743"/>
+        <location filename="../map/CMapIMG.cpp" line="2747"/>
+        <location filename="../map/CMapIMG.cpp" line="2755"/>
+        <location filename="../map/CMapIMG.cpp" line="2762"/>
         <source>Area</source>
         <translation>Oblast</translation>
     </message>
@@ -1231,15 +1231,20 @@
 <context>
     <name>CMapList</name>
     <message>
-        <location filename="../map/CMapList.cpp" line="150"/>
+        <location filename="../map/CMapList.cpp" line="155"/>
         <source>Deactivate</source>
         <translation>Vypnout</translation>
     </message>
     <message>
-        <location filename="../map/CMapList.cpp" line="150"/>
+        <location filename="../map/CMapList.cpp" line="155"/>
         <source>Activate</source>
         <translation>Zapnout</translation>
     </message>
+    <message>
+        <location filename="../map/CMapList.cpp" line="174"/>
+        <source>Where do you want to store maps?</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>CMapMAP</name>
@@ -1262,19 +1267,19 @@
 <context>
     <name>CMapPathSetup</name>
     <message>
-        <location filename="../map/CMapPathSetup.cpp" line="45"/>
+        <location filename="../map/CMapPathSetup.cpp" line="47"/>
         <source>Add or remove paths containing maps. There can be multiple maps in a path but no sub-path is parsed. Supported formats are: %1</source>
         <translation>Přidat nebo odstranit cesty obsahující mapy. V cestě může být více map, ale žádná podcesta není zpracována. Podporovanými formáty jsou: %1</translation>
     </message>
     <message>
-        <location filename="../map/CMapPathSetup.cpp" line="60"/>
+        <location filename="../map/CMapPathSetup.cpp" line="62"/>
         <source>Select map path...</source>
         <translation>Vybrat cestu k mapě...</translation>
     </message>
     <message>
-        <location filename="../map/CMapPathSetup.cpp" line="76"/>
+        <location filename="../map/CMapPathSetup.cpp" line="78"/>
         <source>Select root path...</source>
-        <translation type="unfinished"></translation>
+        <translation>Vybrat cestu ke kořeni...</translation>
     </message>
 </context>
 <context>
@@ -1483,22 +1488,22 @@ Neznámá stavba.</translation>
 <context>
     <name>CMouseNormal</name>
     <message>
-        <location filename="../mouse/CMouseNormal.cpp" line="42"/>
+        <location filename="../mouse/CMouseNormal.cpp" line="43"/>
         <source>Add Waypoint</source>
         <translation>Přidat cestovní bod</translation>
     </message>
     <message>
-        <location filename="../mouse/CMouseNormal.cpp" line="43"/>
+        <location filename="../mouse/CMouseNormal.cpp" line="44"/>
         <source>Add Track</source>
         <translation>Přidat stopu</translation>
     </message>
     <message>
-        <location filename="../mouse/CMouseNormal.cpp" line="44"/>
+        <location filename="../mouse/CMouseNormal.cpp" line="45"/>
         <source>Add Area</source>
         <translation>Přidat oblast</translation>
     </message>
     <message>
-        <location filename="../mouse/CMouseNormal.cpp" line="46"/>
+        <location filename="../mouse/CMouseNormal.cpp" line="47"/>
         <source>Copy position</source>
         <translation>Kopírovat polohu</translation>
     </message>
@@ -1876,47 +1881,47 @@ není platným vymezením soustavy souřadnic
     <message>
         <location filename="../IAbout.ui" line="140"/>
         <source>Rainer Unseld </source>
-        <translation type="unfinished"></translation>
+        <translation>Rainer Unseld</translation>
     </message>
     <message>
         <location filename="../IAbout.ui" line="147"/>
         <source>French</source>
-        <translation type="unfinished">Francouzský</translation>
+        <translation>Francouzština</translation>
     </message>
     <message>
         <location filename="../IAbout.ui" line="154"/>
         <source>Czech</source>
-        <translation type="unfinished">Český</translation>
+        <translation>Čeština</translation>
     </message>
     <message>
         <location filename="../IAbout.ui" line="161"/>
         <source>Pavel Fric</source>
-        <translation type="unfinished"></translation>
+        <translation>Pavel Fric</translation>
     </message>
     <message>
         <location filename="../IAbout.ui" line="168"/>
         <source>German</source>
-        <translation type="unfinished">Německý</translation>
+        <translation>Němčina</translation>
     </message>
     <message>
         <location filename="../IAbout.ui" line="175"/>
         <source>Translation:</source>
-        <translation type="unfinished"></translation>
+        <translation>Překlad:</translation>
     </message>
     <message>
         <location filename="../IAbout.ui" line="182"/>
         <source>Josef Latt</source>
-        <translation type="unfinished"></translation>
+        <translation>Josef Latt</translation>
     </message>
     <message>
         <location filename="../IAbout.ui" line="189"/>
         <source>Spanish</source>
-        <translation type="unfinished">Španělský</translation>
+        <translation>Španělština</translation>
     </message>
     <message>
         <location filename="../IAbout.ui" line="196"/>
         <source>Jose Luis Domingo Lopez</source>
-        <translation type="unfinished"></translation>
+        <translation>Jose Luis Domingo Lopez</translation>
     </message>
     <message>
         <location filename="../IAbout.ui" line="212"/>
@@ -1950,6 +1955,21 @@ není platným vymezením soustavy souřadnic
         <source>...</source>
         <translation>...</translation>
     </message>
+    <message>
+        <location filename="../canvas/ICanvasSetup.ui" line="53"/>
+        <source>Scales</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../canvas/ICanvasSetup.ui" line="59"/>
+        <source>Logarithmic</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../canvas/ICanvasSetup.ui" line="66"/>
+        <source>Square (optimized for TMS and WTMS tiles)</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>ICombineTrk</name>
@@ -2212,7 +2232,7 @@ není platným vymezením soustavy souřadnic
     <message>
         <location filename="../gis/prj/IDetailsPrj.ui" line="99"/>
         <source>Sort Along Track</source>
-        <translation type="unfinished"></translation>
+        <translation>Třídit podle stopy</translation>
     </message>
     <message>
         <location filename="../gis/prj/IDetailsPrj.ui" line="127"/>
@@ -2247,104 +2267,105 @@ není platným vymezením soustavy souřadnic
     <message>
         <location filename="../gis/trk/IDetailsTrk.ui" line="56"/>
         <location filename="../gis/trk/IDetailsTrk.ui" line="77"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="98"/>
         <source>-
 -</source>
         <translation>-
 -</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="182"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="203"/>
         <source>Graph Control</source>
-        <translation type="unfinished"></translation>
+        <translation>Ovládání grafu</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="203"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="224"/>
         <source>Profile</source>
         <translation>Profil</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="210"/>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="446"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="231"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="467"/>
         <source>Speed</source>
         <translation>Rychlost</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="217"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="238"/>
         <source>Progress</source>
         <translation>Postup</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="227"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="248"/>
         <source>Track</source>
-        <translation type="unfinished"></translation>
+        <translation>Stopa</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="253"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="274"/>
         <source>...</source>
         <translation>...</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="378"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="399"/>
         <source>Points</source>
         <translation>Body</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="426"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="447"/>
         <source>Time</source>
         <translation>Čas</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="431"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="452"/>
         <source>Ele.</source>
         <translation>Výška</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="436"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="457"/>
         <source>Delta</source>
         <translation>Rozdíl</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="441"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="462"/>
         <source>Dist.</source>
         <translation>Vzdál.</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="451"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="472"/>
         <source>Slope</source>
         <translation>Sklon</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="456"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="477"/>
         <source>Ascend</source>
         <translation>Stoupání</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="461"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="482"/>
         <source>Descend</source>
         <translation>Klesání</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="466"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="487"/>
         <source>Position</source>
         <translation>Poloha</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="350"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="371"/>
         <source>Info</source>
         <translation>Informace</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="308"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="329"/>
         <source>-</source>
         <translation>-</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="475"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="496"/>
         <source>Filter</source>
         <translation>Filtr</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="512"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="533"/>
         <source>Hist.</source>
         <translation>Hist.</translation>
     </message>
@@ -3071,32 +3092,32 @@ není platným vymezením soustavy souřadnic
     <message>
         <location filename="../IMainWindow.ui" line="495"/>
         <source>Store Map View</source>
-        <translation type="unfinished"></translation>
+        <translation>Uložit pohled na mapu</translation>
     </message>
     <message>
         <location filename="../IMainWindow.ui" line="498"/>
         <source>Write current active map and DEM list including the properties to a file</source>
-        <translation type="unfinished"></translation>
+        <translation>Zapsat nynější činnou mapu a seznam DEM včetně vlastností do souboru</translation>
     </message>
     <message>
         <location filename="../IMainWindow.ui" line="507"/>
         <source>Load Map View</source>
-        <translation type="unfinished"></translation>
+        <translation>Nahrát pohled na mapu</translation>
     </message>
     <message>
         <location filename="../IMainWindow.ui" line="510"/>
         <source>Restore view with active map and DEM list including the properties from a file</source>
-        <translation type="unfinished"></translation>
+        <translation>Obnovit pohled s činnou mapou a seznam DEM včetně vlastností ze souboru</translation>
     </message>
     <message>
         <location filename="../IMainWindow.ui" line="522"/>
         <source>Ext. Profile</source>
-        <translation type="unfinished"></translation>
+        <translation>Ext. Profil</translation>
     </message>
     <message>
         <location filename="../IMainWindow.ui" line="525"/>
         <source>Ctrl+E</source>
-        <translation type="unfinished">Ctrl+E</translation>
+        <translation>Ctrl+E</translation>
     </message>
     <message>
         <source>Setup Database</source>
@@ -3125,7 +3146,13 @@ není platným vymezením soustavy souřadnic
         <translation>Použijte související nabídku (klepnutí pravým tlačítkem myši na položku) pro zapnutí mapy. Použijte přetažení a upuštění pro posunutí zapnuté mapy v pořadí kreslení. </translation>
     </message>
     <message>
-        <location filename="../map/IMapList.ui" line="141"/>
+        <location filename="../map/IMapList.ui" line="129"/>
+        <source>Help! I want maps!
+I don't want to read the documentation!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../map/IMapList.ui" line="149"/>
         <source>Activate</source>
         <translation>Zapnout</translation>
     </message>
@@ -3140,7 +3167,7 @@ není platným vymezením soustavy souřadnic
     <message>
         <location filename="../map/IMapPathSetup.ui" line="20"/>
         <source>Root path of tile cache for online maps:</source>
-        <translation type="unfinished"></translation>
+        <translation>Kořenová cesta (root) vyrovnávací paměti dlaždic pro internetové mapy:</translation>
     </message>
     <message>
         <location filename="../map/IMapPathSetup.ui" line="36"/>
@@ -3150,6 +3177,12 @@ není platným vymezením soustavy souřadnic
         <translation>...</translation>
     </message>
     <message>
+        <location filename="../map/IMapPathSetup.ui" line="185"/>
+        <source>Help! I want maps!
+I don't want to read the documentation!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <location filename="../map/IMapPathSetup.ui" line="29"/>
         <location filename="../map/IMapPathSetup.ui" line="135"/>
         <source>-</source>
@@ -3212,7 +3245,7 @@ není platným vymezením soustavy souřadnic
     <message>
         <location filename="../map/IMapPropSetup.ui" line="240"/>
         <source>Cache Path</source>
-        <translation type="unfinished"></translation>
+        <translation>Cesta k vyrovnávací paměti</translation>
     </message>
     <message>
         <location filename="../map/IMapPropSetup.ui" line="196"/>
@@ -3262,22 +3295,22 @@ není platným vymezením soustavy souřadnic
 <context>
     <name>IMouseEditLine</name>
     <message>
-        <location filename="../mouse/IMouseEditLine.cpp" line="338"/>
+        <location filename="../mouse/IMouseEditLine.cpp" line="344"/>
         <source>Add points?</source>
         <translation>Přidat body?</translation>
     </message>
     <message>
-        <location filename="../mouse/IMouseEditLine.cpp" line="338"/>
+        <location filename="../mouse/IMouseEditLine.cpp" line="344"/>
         <source>Add points to temporary line?</source>
         <translation>Přidat body do dočasné čáry?</translation>
     </message>
     <message>
-        <location filename="../mouse/IMouseEditLine.cpp" line="881"/>
+        <location filename="../mouse/IMouseEditLine.cpp" line="887"/>
         <source>Warning!</source>
         <translation>Varování!</translation>
     </message>
     <message>
-        <location filename="../mouse/IMouseEditLine.cpp" line="881"/>
+        <location filename="../mouse/IMouseEditLine.cpp" line="887"/>
         <source>This will replace all data of the orignal by a simple line of coordinates. All other data will be lost permanently.</source>
         <translation>Tímto budou všechny původní údaje nahrazeny jednoduchou čárou souřadnic. Všechna ostatní data budou trvale ztracena.</translation>
     </message>
@@ -3299,19 +3332,24 @@ není platným vymezením soustavy souřadnic
 <context>
     <name>IPlot</name>
     <message>
-        <location filename="../plot/IPlot.cpp" line="101"/>
-        <source>Save...</source>
+        <location filename="../plot/IPlot.cpp" line="108"/>
+        <source>Stop Range</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../plot/IPlot.cpp" line="500"/>
+        <location filename="../plot/IPlot.cpp" line="109"/>
+        <source>Save...</source>
+        <translation>Uložit...</translation>
+    </message>
+    <message>
+        <location filename="../plot/IPlot.cpp" line="602"/>
         <source>No or bad data.</source>
         <translation>Žádné nebo špatné údaje.</translation>
     </message>
     <message>
-        <location filename="../plot/IPlot.cpp" line="1015"/>
+        <location filename="../plot/IPlot.cpp" line="1128"/>
         <source>Select output file</source>
-        <translation type="unfinished"></translation>
+        <translation>Vybrat výstupní soubor</translation>
     </message>
 </context>
 <context>
@@ -3739,7 +3777,7 @@ nebo
     <message>
         <location filename="../gis/ISelDevices.ui" line="14"/>
         <source>Select devices...</source>
-        <translation type="unfinished"></translation>
+        <translation>Vybrat zařízení...</translation>
     </message>
 </context>
 <context>
@@ -4217,34 +4255,44 @@ Areas: %1</source>
 Oblasti: %1</translation>
     </message>
     <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="239"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="66"/>
+        <source>Save project?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/prj/IGisProject.cpp" line="66"/>
+        <source>The project "%1" was changed. Save befor closing it?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/prj/IGisProject.cpp" line="255"/>
         <source><br/>
 Filename: %1</source>
         <translation><br/>
 Název souboru: %1</translation>
     </message>
     <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="256"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="272"/>
         <source>Waypoints: %1</source>
         <translation>Cestovní body: %1</translation>
     </message>
     <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="260"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="276"/>
         <source>Tracks: %1</source>
         <translation>Stopy: %1</translation>
     </message>
     <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="264"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="280"/>
         <source>Routes: %1</source>
         <translation>Cesty: %1</translation>
     </message>
     <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="268"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="284"/>
         <source>Areas: %1</source>
         <translation>Oblasti: %1</translation>
     </message>
     <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="329"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="345"/>
         <source>Are you sure you want to delete '%1' from project '%2'?</source>
         <translation>Jste si jistý, že chcete smazat '%1' z projektu '%2'?</translation>
     </message>
@@ -4255,7 +4303,7 @@ Název souboru: %1</translation>
     </message>
     <message>
         <location filename="../gis/CGisListDB.cpp" line="408"/>
-        <location filename="../gis/prj/IGisProject.cpp" line="330"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="346"/>
         <source>Delete...</source>
         <translation>Smazat...</translation>
     </message>
@@ -4366,63 +4414,99 @@ Název souboru: %1</translation>
         <translation><p>--- žádné odkazy ---</p></translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="376"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="402"/>
         <source>Length: %1 %2</source>
         <translation>Délka: %1 %2</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="383"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="409"/>
         <source>, %1%2 %3, %4%5 %6</source>
         <translation>, %1%2 %3, %4%5 %6</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="391"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="417"/>
         <source>Time: %1</source>
         <translation>Čas: %1</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="394"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="404"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="420"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="430"/>
         <source>, Speed: %1 %2</source>
         <translation>, Rychlost: %1 %2</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="401"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="427"/>
         <source>Moving: %1</source>
         <translation>Pohyb: %1</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="410"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="436"/>
         <source>Start: %1</source>
         <translation>Začátek: %1</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="415"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="441"/>
         <source>End: %1</source>
         <translation>Konec: %1</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="419"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="445"/>
         <source>Points: %1 (%2)</source>
         <translation>Body: %1 (%2)</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="502"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="563"/>
         <source>Ele.: %1 %2</source>
         <translation>Výška: %1 %2</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="505"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="566"/>
         <source> slope: %1%3 (%2%)</source>
         <translation> sklon: %1%3 (%2%)</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1208"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="637"/>
+        <source>Ascend: %1%2</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="642"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="659"/>
+        <source>, %1%2</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="647"/>
+        <source>Ascend: -</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="654"/>
+        <source> Descend: %1%2</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="664"/>
+        <source>Descend: -</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="670"/>
+        <source>Dist.: %1%2</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="675"/>
+        <source> Time: %1%2</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1334"/>
         <source>Hide points.</source>
         <translation>Skrýt body.</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1253"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1380"/>
         <source>Show points.</source>
         <translation>Ukázat body.</translation>
     </message>
@@ -4431,37 +4515,37 @@ Název souboru: %1</translation>
         <translation type="obsolete"> sklon: %1°(%2%)</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="510"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="571"/>
         <source> speed: %1%2</source>
         <translation> rychlost: %1%2</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="522"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="583"/>
         <source>Ascend: %1%2 (%3%)</source>
         <translation>Stoupání: %1%2 (%3%)</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="526"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="587"/>
         <source>Ascend: - (-)</source>
         <translation>Stoupání: - (-)</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="536"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="597"/>
         <source> Descend: - (-) </source>
         <translation> Klesání: - (-) </translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="557"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="618"/>
         <source> Moving: - (-) </source>
         <translation> Pohyb: - (-) </translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="532"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="593"/>
         <source> Descend: %1%2 (%3%)</source>
         <translation> Klesání: %1%2 (%3%) </translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="300"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="326"/>
         <source>Changed trackpoints, sacrificed all previous data.</source>
         <translation>Změněny body stop. Obětována veškerá předchozí data.</translation>
     </message>
@@ -4470,17 +4554,17 @@ Název souboru: %1</translation>
         <translation type="obsolete"> sklon: %1° (%2%)</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="543"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="604"/>
         <source>Dist.: %1%2 (%3%)</source>
         <translation>Vzdálenost: %1%2 (%3%)</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="547"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="608"/>
         <source>Dist.: - (-)</source>
         <translation>Vzdálenost: - (-)</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="553"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="614"/>
         <source> Moving: %1%2 (%3%)</source>
         <translation> Pohyb: %1%2 (%3%) </translation>
     </message>
@@ -4507,7 +4591,7 @@ Název souboru: %1</translation>
     <message>
         <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="142"/>
         <location filename="../gis/rte/CGisItemRte.cpp" line="45"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="177"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="184"/>
         <location filename="../gis/wpt/CGisItemWpt.cpp" line="102"/>
         <source>_Clone</source>
         <translation>_Klon</translation>
@@ -4555,14 +4639,14 @@ Název souboru: %1</translation>
     <message>
         <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="520"/>
         <location filename="../gis/rte/CGisItemRte.cpp" line="139"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1587"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1739"/>
         <location filename="../gis/wpt/CGisItemWpt.cpp" line="376"/>
         <source>Changed links</source>
         <translation>Změněné odkazy</translation>
     </message>
     <message>
         <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="532"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1599"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1751"/>
         <source>Changed color</source>
         <translation>Změněná barva</translation>
     </message>
@@ -4577,17 +4661,17 @@ Název souboru: %1</translation>
         <translation>Blízkost: %1 %2</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1569"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1721"/>
         <location filename="../gis/wpt/CGisItemWpt.cpp" line="324"/>
         <source>Changed name</source>
         <translation>Změněný název</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1027"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1042"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1061"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1120"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1278"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1152"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1167"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1186"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1245"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1405"/>
         <location filename="../gis/wpt/CGisItemWpt.cpp" line="190"/>
         <location filename="../mouse/CMouseEditArea.cpp" line="100"/>
         <location filename="../mouse/CMouseEditTrk.cpp" line="104"/>
@@ -4631,14 +4715,14 @@ Název souboru: %1</translation>
     </message>
     <message>
         <location filename="../gis/rte/CGisItemRte.cpp" line="127"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1575"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1727"/>
         <location filename="../gis/wpt/CGisItemWpt.cpp" line="364"/>
         <source>Changed comment</source>
         <translation>Změněná poznámka</translation>
     </message>
     <message>
         <location filename="../gis/rte/CGisItemRte.cpp" line="133"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1581"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1733"/>
         <location filename="../gis/wpt/CGisItemWpt.cpp" line="370"/>
         <source>Changed description</source>
         <translation>Změněný popis</translation>
@@ -4675,11 +4759,11 @@ Název souboru: %1</translation>
         <translation>Toto je souborový typ s neznámým druhem čáry. Nahlašte to, prosím!</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1027"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1042"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1061"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1120"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1278"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1152"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1167"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1186"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1245"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1405"/>
         <location filename="../mouse/CMouseEditTrk.cpp" line="104"/>
         <source>Enter new track name.</source>
         <translation>Zadat název nové stopy.</translation>
@@ -4786,12 +4870,12 @@ Název souboru: %1</translation>
         <translation>Rychlost změněna na %1%2.</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="910"/>
+        <location filename="../gis/CGisListWks.cpp" line="944"/>
         <source>Delete project...</source>
         <translation>Smazat projekt...</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="910"/>
+        <location filename="../gis/CGisListWks.cpp" line="944"/>
         <source>Do you really want to delete %1?</source>
         <translation>Opravdu chcete smazat %1?</translation>
     </message>
@@ -4799,16 +4883,16 @@ Název souboru: %1</translation>
         <location filename="../gis/tnv/CTwoNavProject.cpp" line="87"/>
         <location filename="../gis/tnv/CTwoNavProject.cpp" line="191"/>
         <location filename="../gis/tnv/serialization.cpp" line="295"/>
-        <location filename="../gis/tnv/serialization.cpp" line="416"/>
-        <location filename="../gis/tnv/serialization.cpp" line="445"/>
-        <location filename="../gis/tnv/serialization.cpp" line="456"/>
-        <location filename="../gis/tnv/serialization.cpp" line="477"/>
-        <location filename="../gis/tnv/serialization.cpp" line="618"/>
-        <location filename="../gis/tnv/serialization.cpp" line="646"/>
-        <location filename="../gis/tnv/serialization.cpp" line="657"/>
-        <location filename="../gis/tnv/serialization.cpp" line="675"/>
-        <location filename="../gis/tnv/serialization.cpp" line="703"/>
-        <location filename="../gis/tnv/serialization.cpp" line="777"/>
+        <location filename="../gis/tnv/serialization.cpp" line="431"/>
+        <location filename="../gis/tnv/serialization.cpp" line="460"/>
+        <location filename="../gis/tnv/serialization.cpp" line="471"/>
+        <location filename="../gis/tnv/serialization.cpp" line="492"/>
+        <location filename="../gis/tnv/serialization.cpp" line="632"/>
+        <location filename="../gis/tnv/serialization.cpp" line="660"/>
+        <location filename="../gis/tnv/serialization.cpp" line="671"/>
+        <location filename="../gis/tnv/serialization.cpp" line="689"/>
+        <location filename="../gis/tnv/serialization.cpp" line="717"/>
+        <location filename="../gis/tnv/serialization.cpp" line="791"/>
         <source>Error...</source>
         <translation>Chyba...</translation>
     </message>
@@ -4816,31 +4900,36 @@ Název souboru: %1</translation>
         <location filename="../gis/tnv/CTwoNavProject.cpp" line="87"/>
         <location filename="../gis/tnv/CTwoNavProject.cpp" line="191"/>
         <location filename="../gis/tnv/serialization.cpp" line="295"/>
-        <location filename="../gis/tnv/serialization.cpp" line="416"/>
-        <location filename="../gis/tnv/serialization.cpp" line="618"/>
+        <location filename="../gis/tnv/serialization.cpp" line="431"/>
+        <location filename="../gis/tnv/serialization.cpp" line="632"/>
         <source>Failed to open %1.</source>
         <translation>Nepodařilo se otevřít %1.</translation>
     </message>
     <message>
-        <location filename="../gis/tnv/serialization.cpp" line="445"/>
-        <location filename="../gis/tnv/serialization.cpp" line="456"/>
-        <location filename="../gis/tnv/serialization.cpp" line="646"/>
-        <location filename="../gis/tnv/serialization.cpp" line="657"/>
+        <location filename="../gis/tnv/serialization.cpp" line="460"/>
+        <location filename="../gis/tnv/serialization.cpp" line="471"/>
+        <location filename="../gis/tnv/serialization.cpp" line="660"/>
+        <location filename="../gis/tnv/serialization.cpp" line="671"/>
         <source>Only support lon/lat WGS 84 format.</source>
         <translation>Jako formát je podporován jen lon/lat WGS 84.</translation>
     </message>
     <message>
-        <location filename="../gis/tnv/serialization.cpp" line="477"/>
-        <location filename="../gis/tnv/serialization.cpp" line="675"/>
-        <location filename="../gis/tnv/serialization.cpp" line="703"/>
-        <location filename="../gis/tnv/serialization.cpp" line="777"/>
+        <location filename="../gis/tnv/serialization.cpp" line="492"/>
+        <location filename="../gis/tnv/serialization.cpp" line="689"/>
+        <location filename="../gis/tnv/serialization.cpp" line="717"/>
+        <location filename="../gis/tnv/serialization.cpp" line="791"/>
         <source>Failed to read data.</source>
         <translation>Nepodařilo se přečíst data.</translation>
     </message>
     <message>
-        <location filename="../device/CDeviceGarmin.cpp" line="202"/>
+        <location filename="../device/CDeviceGarmin.cpp" line="207"/>
         <source>Picture%1</source>
         <translation>Obrázek %1</translation>
     </message>
+    <message>
+        <location filename="../device/IDevice.cpp" line="202"/>
+        <source>There is another project with the same name. If you press 'ok' it will be removed and replaced.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 </TS>
diff --git a/src/locale/qmapshack_de.ts b/src/locale/qmapshack_de.ts
index 32e276e..3717682 100644
--- a/src/locale/qmapshack_de.ts
+++ b/src/locale/qmapshack_de.ts
@@ -187,17 +187,17 @@
     <message>
         <location filename="../gis/prj/CDetailsPrj.cpp" line="480"/>
         <source>distance: %1%2</source>
-        <translation>Entfernung: %1%2</translation>
+        <translation>Entfernung: %1 %2</translation>
     </message>
     <message>
         <location filename="../gis/prj/CDetailsPrj.cpp" line="482"/>
         <source>ascent: %1%2</source>
-        <translation>Anstieg: %1%2</translation>
+        <translation>Anstieg: %1 %2</translation>
     </message>
     <message>
         <location filename="../gis/prj/CDetailsPrj.cpp" line="484"/>
         <source>descend: %1%2</source>
-        <translation>Abstieg: %1%2</translation>
+        <translation>Abstieg: %1 %2</translation>
     </message>
     <message>
         <location filename="../gis/prj/CDetailsPrj.cpp" line="542"/>
@@ -254,22 +254,22 @@
         <translation>Track in Stücke teilen</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="218"/>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="227"/>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="230"/>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="236"/>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="255"/>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="257"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="222"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="231"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="234"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="240"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="259"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="261"/>
         <source>%1 %2</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="370"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="397"/>
         <source>Edit name...</source>
         <translation>Name bearbeiten...</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="370"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="397"/>
         <source>Enter new track name.</source>
         <translation>Geben Sie einen neuen Namen für den Track ein.</translation>
     </message>
@@ -474,8 +474,8 @@
     </message>
     <message>
         <location filename="../gis/CGisListWks.cpp" line="586"/>
-        <location filename="../gis/CGisListWks.cpp" line="1237"/>
-        <location filename="../gis/CGisListWks.cpp" line="1275"/>
+        <location filename="../gis/CGisListWks.cpp" line="1253"/>
+        <location filename="../gis/CGisListWks.cpp" line="1292"/>
         <source><b>Update devices</b><p>Update %1<br/>Please wait...</p></source>
         <translation><b>Aktualisieren der Geräte</b><p>Aktualisiere %1<br/>Bitte warten...</p></translation>
     </message>
@@ -540,12 +540,12 @@
         <translation>Ansicht laden. Bitte warten.</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="1176"/>
+        <location filename="../gis/CGisListWks.cpp" line="909"/>
         <source>Close all projects...</source>
         <translation>Alle Projekte schließen...</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="1176"/>
+        <location filename="../gis/CGisListWks.cpp" line="909"/>
         <source>This will remove all projects from the workspace.</source>
         <translation>Dies wird alle Projekte aus der Ansicht entfernen.</translation>
     </message>
@@ -625,22 +625,22 @@
 <context>
     <name>CMainWindow</name>
     <message>
-        <location filename="../CMainWindow.cpp" line="476"/>
+        <location filename="../CMainWindow.cpp" line="485"/>
         <source>Ele: %1%2</source>
         <translation>Höhe: %1%2</translation>
     </message>
     <message>
-        <location filename="../CMainWindow.cpp" line="602"/>
+        <location filename="../CMainWindow.cpp" line="611"/>
         <source>Load GIS Data...</source>
         <translation>GIS Daten laden...</translation>
     </message>
     <message>
-        <location filename="../CMainWindow.cpp" line="636"/>
+        <location filename="../CMainWindow.cpp" line="645"/>
         <source>Select output file</source>
         <translation>Ausgabedatei auswählen</translation>
     </message>
     <message>
-        <location filename="../CMainWindow.cpp" line="662"/>
+        <location filename="../CMainWindow.cpp" line="671"/>
         <source>Select file to load</source>
         <translation>Zu ladende Datei auswählen</translation>
     </message>
@@ -648,631 +648,631 @@
 <context>
     <name>CMapIMG</name>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="151"/>
+        <location filename="../map/CMapIMG.cpp" line="153"/>
         <source>Failed ...</source>
         <translation>Fehlgeschlagen...</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="166"/>
+        <location filename="../map/CMapIMG.cpp" line="168"/>
         <source>Unspecified</source>
         <translation>Nicht angegeben</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="167"/>
+        <location filename="../map/CMapIMG.cpp" line="169"/>
         <source>French</source>
         <translation>Französisch</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="168"/>
+        <location filename="../map/CMapIMG.cpp" line="170"/>
         <source>German</source>
         <translation>Deutsch</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="169"/>
+        <location filename="../map/CMapIMG.cpp" line="171"/>
         <source>Dutch</source>
         <translation>Niederländisch</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="170"/>
+        <location filename="../map/CMapIMG.cpp" line="172"/>
         <source>English</source>
         <translation>Englisch</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="171"/>
+        <location filename="../map/CMapIMG.cpp" line="173"/>
         <source>Italian</source>
         <translation>Italienisch</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="172"/>
+        <location filename="../map/CMapIMG.cpp" line="174"/>
         <source>Finnish</source>
         <translation>Finnisch</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="173"/>
+        <location filename="../map/CMapIMG.cpp" line="175"/>
         <source>Swedish</source>
         <translation>Schwedisch</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="174"/>
+        <location filename="../map/CMapIMG.cpp" line="176"/>
         <source>Spanish</source>
         <translation>Spanisch</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="175"/>
+        <location filename="../map/CMapIMG.cpp" line="177"/>
         <source>Basque</source>
         <translation>Baskisch</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="176"/>
+        <location filename="../map/CMapIMG.cpp" line="178"/>
         <source>Catalan</source>
         <translation>Catalanisch</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="177"/>
+        <location filename="../map/CMapIMG.cpp" line="179"/>
         <source>Galician</source>
         <translation>Galizisch</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="178"/>
+        <location filename="../map/CMapIMG.cpp" line="180"/>
         <source>Welsh</source>
         <translation>Walisisch</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="179"/>
+        <location filename="../map/CMapIMG.cpp" line="181"/>
         <source>Gaelic</source>
         <translation>Gälisch</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="180"/>
+        <location filename="../map/CMapIMG.cpp" line="182"/>
         <source>Danish</source>
         <translation>Dänisch</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="181"/>
+        <location filename="../map/CMapIMG.cpp" line="183"/>
         <source>Norwegian</source>
         <translation>Norwegisch</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="182"/>
+        <location filename="../map/CMapIMG.cpp" line="184"/>
         <source>Portuguese</source>
         <translation>Portugiesisch</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="183"/>
+        <location filename="../map/CMapIMG.cpp" line="185"/>
         <source>Slovak</source>
         <translation>Slovakisch</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="184"/>
+        <location filename="../map/CMapIMG.cpp" line="186"/>
         <source>Czech</source>
         <translation>Tschechisch</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="185"/>
+        <location filename="../map/CMapIMG.cpp" line="187"/>
         <source>Croatian</source>
         <translation>Kroatisch</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="186"/>
+        <location filename="../map/CMapIMG.cpp" line="188"/>
         <source>Hungarian</source>
         <translation>Ungarisch</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="187"/>
+        <location filename="../map/CMapIMG.cpp" line="189"/>
         <source>Polish</source>
         <translation>Polnisch</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="188"/>
+        <location filename="../map/CMapIMG.cpp" line="190"/>
         <source>Turkish</source>
         <translation>Türkisch</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="189"/>
+        <location filename="../map/CMapIMG.cpp" line="191"/>
         <source>Greek</source>
         <translation>Griechisch</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="190"/>
+        <location filename="../map/CMapIMG.cpp" line="192"/>
         <source>Slovenian</source>
         <translation>Slowenisch</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="191"/>
+        <location filename="../map/CMapIMG.cpp" line="193"/>
         <source>Russian</source>
         <translation>Russisch</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="192"/>
+        <location filename="../map/CMapIMG.cpp" line="194"/>
         <source>Estonian</source>
         <translation>Estnisch</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="193"/>
+        <location filename="../map/CMapIMG.cpp" line="195"/>
         <source>Latvian</source>
         <translation>Lettisch</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="194"/>
+        <location filename="../map/CMapIMG.cpp" line="196"/>
         <source>Romanian</source>
         <translation>Rumänisch</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="195"/>
+        <location filename="../map/CMapIMG.cpp" line="197"/>
         <source>Albanian</source>
         <translatorcomment>Albanisch</translatorcomment>
         <translation>Albanisch</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="196"/>
+        <location filename="../map/CMapIMG.cpp" line="198"/>
         <source>Bosnian</source>
         <translation>Bosnisch</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="197"/>
+        <location filename="../map/CMapIMG.cpp" line="199"/>
         <source>Lithuanian</source>
         <translation>Litauisch</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="198"/>
+        <location filename="../map/CMapIMG.cpp" line="200"/>
         <source>Serbian</source>
         <translation>Serbisch</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="199"/>
+        <location filename="../map/CMapIMG.cpp" line="201"/>
         <source>Macedonian</source>
         <translation>Makedonisch</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="200"/>
+        <location filename="../map/CMapIMG.cpp" line="202"/>
         <source>Bulgarian</source>
         <translation>Bulgarisch</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="257"/>
+        <location filename="../map/CMapIMG.cpp" line="259"/>
         <source>Major highway</source>
         <translation>Autobahn</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="258"/>
+        <location filename="../map/CMapIMG.cpp" line="260"/>
         <source>Principal highway</source>
         <translation>Bundesstraße</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="259"/>
+        <location filename="../map/CMapIMG.cpp" line="261"/>
         <source>Other highway</source>
         <translation>Schnellstraße</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="260"/>
+        <location filename="../map/CMapIMG.cpp" line="262"/>
         <source>Arterial road</source>
         <translation>Fernstraße</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="261"/>
+        <location filename="../map/CMapIMG.cpp" line="263"/>
         <source>Collector road</source>
         <translation>Sammelstraße</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="262"/>
+        <location filename="../map/CMapIMG.cpp" line="264"/>
         <source>Residential street</source>
         <translation>Wohnstraße</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="263"/>
+        <location filename="../map/CMapIMG.cpp" line="265"/>
         <source>Alley/Private road</source>
         <translation>Allee/Privatstraße</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="264"/>
+        <location filename="../map/CMapIMG.cpp" line="266"/>
         <source>Highway ramp, low speed</source>
         <translation>Auffahrt (langsam)</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="265"/>
+        <location filename="../map/CMapIMG.cpp" line="267"/>
         <source>Highway ramp, high speed</source>
         <translation>Auffahrt (schnell)</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="266"/>
+        <location filename="../map/CMapIMG.cpp" line="268"/>
         <source>Unpaved road</source>
         <translation>Unbefestigte Straße</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="267"/>
+        <location filename="../map/CMapIMG.cpp" line="269"/>
         <source>Major highway connector</source>
         <translation>Autobahnzubringer</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="268"/>
+        <location filename="../map/CMapIMG.cpp" line="270"/>
         <source>Roundabout</source>
         <translation>Kreisverkehr</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="269"/>
+        <location filename="../map/CMapIMG.cpp" line="271"/>
         <source>Railroad</source>
         <translation>Eisenbahn</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="270"/>
+        <location filename="../map/CMapIMG.cpp" line="272"/>
         <source>Shoreline</source>
         <translation>Küstenlinie</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="271"/>
+        <location filename="../map/CMapIMG.cpp" line="273"/>
         <source>Trail</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="272"/>
+        <location filename="../map/CMapIMG.cpp" line="274"/>
         <source>Stream</source>
         <translation>Bach</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="273"/>
+        <location filename="../map/CMapIMG.cpp" line="275"/>
         <source>Time zone</source>
         <translation>Zeitzone</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="274"/>
-        <location filename="../map/CMapIMG.cpp" line="275"/>
+        <location filename="../map/CMapIMG.cpp" line="276"/>
+        <location filename="../map/CMapIMG.cpp" line="277"/>
         <source>Ferry</source>
         <translation>Fähre</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="276"/>
+        <location filename="../map/CMapIMG.cpp" line="278"/>
         <source>State/province border</source>
         <translation>Staats-/Landesgrenze</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="277"/>
+        <location filename="../map/CMapIMG.cpp" line="279"/>
         <source>County/parish border</source>
         <translation>Kreis-/Gemeindegrenze</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="278"/>
+        <location filename="../map/CMapIMG.cpp" line="280"/>
         <source>International border</source>
         <translation>Internationale Grenze</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="279"/>
+        <location filename="../map/CMapIMG.cpp" line="281"/>
         <source>River</source>
         <translation>Fluss</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="280"/>
+        <location filename="../map/CMapIMG.cpp" line="282"/>
         <source>Minor land contour</source>
         <translation>Höhenlinie klein</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="281"/>
+        <location filename="../map/CMapIMG.cpp" line="283"/>
         <source>Intermediate land contour</source>
         <translation>Höhenlinie mittel</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="282"/>
+        <location filename="../map/CMapIMG.cpp" line="284"/>
         <source>Major land contour</source>
         <translation>Höhenlinie groß</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="283"/>
+        <location filename="../map/CMapIMG.cpp" line="285"/>
         <source>Minor depth contour</source>
         <translation>Tiefenlinie klein</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="284"/>
+        <location filename="../map/CMapIMG.cpp" line="286"/>
         <source>Intermediate depth contour</source>
         <translation>Tiefenlinie mittel</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="285"/>
+        <location filename="../map/CMapIMG.cpp" line="287"/>
         <source>Major depth contour</source>
         <translation>Tiefenlinie groß</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="286"/>
+        <location filename="../map/CMapIMG.cpp" line="288"/>
         <source>Intermittent stream</source>
         <translation>Intermittierender Bach</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="287"/>
-        <location filename="../map/CMapIMG.cpp" line="369"/>
+        <location filename="../map/CMapIMG.cpp" line="289"/>
+        <location filename="../map/CMapIMG.cpp" line="371"/>
         <source>Airport runway</source>
         <translation>Landebahn</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="288"/>
+        <location filename="../map/CMapIMG.cpp" line="290"/>
         <source>Pipeline</source>
         <translation>Pipeline</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="289"/>
+        <location filename="../map/CMapIMG.cpp" line="291"/>
         <source>Powerline</source>
         <translation>Stromleitung</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="290"/>
+        <location filename="../map/CMapIMG.cpp" line="292"/>
         <source>Marine boundary</source>
         <translation>Meeresgrenze</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="291"/>
+        <location filename="../map/CMapIMG.cpp" line="293"/>
         <source>Hazard boundary</source>
         <translation>Gefahrbereichgrenze</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="356"/>
+        <location filename="../map/CMapIMG.cpp" line="358"/>
         <source>Large urban area (&gt;200K)</source>
         <translation>Großes Wohngebiet (&gt;200K)</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="357"/>
+        <location filename="../map/CMapIMG.cpp" line="359"/>
         <source>Small urban area (&lt;200K)</source>
         <translation>Kleines Wohngebiet (&lt;200K)</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="358"/>
+        <location filename="../map/CMapIMG.cpp" line="360"/>
         <source>Rural housing area</source>
         <translation>Ländliches Wohngebiet</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="359"/>
+        <location filename="../map/CMapIMG.cpp" line="361"/>
         <source>Military base</source>
         <translation>Militärbasis</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="360"/>
+        <location filename="../map/CMapIMG.cpp" line="362"/>
         <source>Parking lot</source>
         <translation>Parkplatz</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="361"/>
+        <location filename="../map/CMapIMG.cpp" line="363"/>
         <source>Parking garage</source>
         <translation>Parkhaus</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="362"/>
+        <location filename="../map/CMapIMG.cpp" line="364"/>
         <source>Airport</source>
         <translation>Flugplatz</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="363"/>
+        <location filename="../map/CMapIMG.cpp" line="365"/>
         <source>Shopping center</source>
         <translation>Einkaufszentrum</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="364"/>
+        <location filename="../map/CMapIMG.cpp" line="366"/>
         <source>Marina</source>
         <translation>Jachthafen</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="365"/>
+        <location filename="../map/CMapIMG.cpp" line="367"/>
         <source>University/College</source>
         <translation>Universität/Hochschule</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="366"/>
+        <location filename="../map/CMapIMG.cpp" line="368"/>
         <source>Hospital</source>
         <translation>Krankenhaus</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="367"/>
+        <location filename="../map/CMapIMG.cpp" line="369"/>
         <source>Industrial complex</source>
         <translation>Industrie</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="368"/>
+        <location filename="../map/CMapIMG.cpp" line="370"/>
         <source>Reservation</source>
         <translation>Schutzgebiet</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="370"/>
+        <location filename="../map/CMapIMG.cpp" line="372"/>
         <source>Man-made area</source>
         <translation>Fabrikgelände</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="371"/>
+        <location filename="../map/CMapIMG.cpp" line="373"/>
         <source>Sports complex</source>
         <translation>Sportanlage</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="372"/>
+        <location filename="../map/CMapIMG.cpp" line="374"/>
         <source>Golf course</source>
         <translation>Golfplatz</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="373"/>
+        <location filename="../map/CMapIMG.cpp" line="375"/>
         <source>Cemetery</source>
         <translation>Friedhof</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="374"/>
-        <location filename="../map/CMapIMG.cpp" line="375"/>
         <location filename="../map/CMapIMG.cpp" line="376"/>
+        <location filename="../map/CMapIMG.cpp" line="377"/>
+        <location filename="../map/CMapIMG.cpp" line="378"/>
         <source>National park</source>
         <translation>Nationalpark</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="377"/>
+        <location filename="../map/CMapIMG.cpp" line="379"/>
         <source>City park</source>
         <translation>Stadtpark</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="378"/>
-        <location filename="../map/CMapIMG.cpp" line="379"/>
         <location filename="../map/CMapIMG.cpp" line="380"/>
+        <location filename="../map/CMapIMG.cpp" line="381"/>
+        <location filename="../map/CMapIMG.cpp" line="382"/>
         <source>State park</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="381"/>
+        <location filename="../map/CMapIMG.cpp" line="383"/>
         <source>Forest</source>
         <translation>Wald</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="382"/>
+        <location filename="../map/CMapIMG.cpp" line="384"/>
         <source>Ocean</source>
         <translation>Ozean</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="383"/>
         <location filename="../map/CMapIMG.cpp" line="385"/>
-        <location filename="../map/CMapIMG.cpp" line="395"/>
+        <location filename="../map/CMapIMG.cpp" line="387"/>
+        <location filename="../map/CMapIMG.cpp" line="397"/>
         <source>Blue (unknown)</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="384"/>
+        <location filename="../map/CMapIMG.cpp" line="386"/>
         <source>Sea</source>
         <translation>Meer</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="386"/>
-        <location filename="../map/CMapIMG.cpp" line="387"/>
-        <location filename="../map/CMapIMG.cpp" line="394"/>
-        <source>Large lake</source>
-        <translation>See</translation>
-    </message>
-    <message>
         <location filename="../map/CMapIMG.cpp" line="388"/>
         <location filename="../map/CMapIMG.cpp" line="389"/>
-        <source>Medium lake</source>
+        <location filename="../map/CMapIMG.cpp" line="396"/>
+        <source>Large lake</source>
         <translation>See</translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="390"/>
         <location filename="../map/CMapIMG.cpp" line="391"/>
-        <source>Small lake</source>
+        <source>Medium lake</source>
         <translation>See</translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="392"/>
         <location filename="../map/CMapIMG.cpp" line="393"/>
+        <source>Small lake</source>
+        <translation>See</translation>
+    </message>
+    <message>
+        <location filename="../map/CMapIMG.cpp" line="394"/>
+        <location filename="../map/CMapIMG.cpp" line="395"/>
         <source>Major lake</source>
         <translation>See</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="396"/>
+        <location filename="../map/CMapIMG.cpp" line="398"/>
         <source>Major River</source>
         <translation>Strom</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="397"/>
+        <location filename="../map/CMapIMG.cpp" line="399"/>
         <source>Large River</source>
         <translation>Fluss</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="398"/>
+        <location filename="../map/CMapIMG.cpp" line="400"/>
         <source>Medium River</source>
         <translation>Fluss</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="399"/>
+        <location filename="../map/CMapIMG.cpp" line="401"/>
         <source>Small River</source>
         <translation>Fluss</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="402"/>
+        <location filename="../map/CMapIMG.cpp" line="404"/>
         <source>Intermittent water</source>
         <translation>Gewässer</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="403"/>
+        <location filename="../map/CMapIMG.cpp" line="405"/>
         <source>Wetland/Swamp</source>
         <translation>Feuchtgebiet/Sumpf</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="404"/>
+        <location filename="../map/CMapIMG.cpp" line="406"/>
         <source>Glacier</source>
         <translation>Gletscher</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="405"/>
+        <location filename="../map/CMapIMG.cpp" line="407"/>
         <source>Orchard/Plantation</source>
         <translation>Obstgarten/Plantage</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="406"/>
+        <location filename="../map/CMapIMG.cpp" line="408"/>
         <source>Scrub</source>
         <translation>Buschwerk</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="407"/>
+        <location filename="../map/CMapIMG.cpp" line="409"/>
         <source>Tundra</source>
         <translation>Tundra</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="408"/>
+        <location filename="../map/CMapIMG.cpp" line="410"/>
         <source>Flat</source>
         <translation>Ebene</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="409"/>
+        <location filename="../map/CMapIMG.cpp" line="411"/>
         <source>???</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="445"/>
+        <location filename="../map/CMapIMG.cpp" line="447"/>
         <source>Failed to read: </source>
         <translation>Lesen fehlgeschlagen:</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="488"/>
+        <location filename="../map/CMapIMG.cpp" line="490"/>
         <source>Failed to open: </source>
         <translation>Öffnen fehlgeschlagen:</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="512"/>
-        <location filename="../map/CMapIMG.cpp" line="516"/>
+        <location filename="../map/CMapIMG.cpp" line="514"/>
+        <location filename="../map/CMapIMG.cpp" line="518"/>
         <source>Bad file format: </source>
         <translation>Falsches Format:</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="605"/>
+        <location filename="../map/CMapIMG.cpp" line="607"/>
         <source>Failed to read file structure: </source>
         <translation>Lesen der Dateistruktur fehlgeschlagen:</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="638"/>
+        <location filename="../map/CMapIMG.cpp" line="640"/>
         <source>Loading %1</source>
         <translation>Lädt %1</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="643"/>
+        <location filename="../map/CMapIMG.cpp" line="645"/>
         <source>User abort: </source>
         <translation>Benutzerabbruch:</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="646"/>
+        <location filename="../map/CMapIMG.cpp" line="648"/>
         <source>File is NT format. QMapShack is unable to read map files with NT format: </source>
         <translation>Die Datei hat das NT Format. QMapShack kann dieses Format nicht lesen:</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="738"/>
+        <location filename="../map/CMapIMG.cpp" line="740"/>
         <source>File contains locked / encypted data. Garmin does not want you to use this file with any other software than the one supplied by Garmin.</source>
         <translation>Die Datei enthält verschlüsselte Daten. Garmin möchte nicht dass diese Datei mit einer anderen Software, als der von Garmin bereitgestellten, benutzt wird.</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="2475"/>
-        <location filename="../map/CMapIMG.cpp" line="2483"/>
-        <location filename="../map/CMapIMG.cpp" line="2487"/>
-        <location filename="../map/CMapIMG.cpp" line="2492"/>
-        <location filename="../map/CMapIMG.cpp" line="2538"/>
-        <location filename="../map/CMapIMG.cpp" line="2546"/>
-        <location filename="../map/CMapIMG.cpp" line="2550"/>
-        <location filename="../map/CMapIMG.cpp" line="2555"/>
+        <location filename="../map/CMapIMG.cpp" line="2494"/>
+        <location filename="../map/CMapIMG.cpp" line="2502"/>
+        <location filename="../map/CMapIMG.cpp" line="2506"/>
+        <location filename="../map/CMapIMG.cpp" line="2511"/>
+        <location filename="../map/CMapIMG.cpp" line="2557"/>
+        <location filename="../map/CMapIMG.cpp" line="2565"/>
+        <location filename="../map/CMapIMG.cpp" line="2569"/>
+        <location filename="../map/CMapIMG.cpp" line="2574"/>
         <source>Point of Interest</source>
         <translation>Ort von Interesse</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="2682"/>
+        <location filename="../map/CMapIMG.cpp" line="2701"/>
         <source>Unknown</source>
         <translation>Unbekannt</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="2728"/>
-        <location filename="../map/CMapIMG.cpp" line="2736"/>
-        <location filename="../map/CMapIMG.cpp" line="2743"/>
+        <location filename="../map/CMapIMG.cpp" line="2747"/>
+        <location filename="../map/CMapIMG.cpp" line="2755"/>
+        <location filename="../map/CMapIMG.cpp" line="2762"/>
         <source>Area</source>
         <translation>Gebiet</translation>
     </message>
@@ -1280,15 +1280,20 @@
 <context>
     <name>CMapList</name>
     <message>
-        <location filename="../map/CMapList.cpp" line="150"/>
+        <location filename="../map/CMapList.cpp" line="155"/>
         <source>Deactivate</source>
         <translation>Deaktivieren</translation>
     </message>
     <message>
-        <location filename="../map/CMapList.cpp" line="150"/>
+        <location filename="../map/CMapList.cpp" line="155"/>
         <source>Activate</source>
         <translation>Aktivieren</translation>
     </message>
+    <message>
+        <location filename="../map/CMapList.cpp" line="174"/>
+        <source>Where do you want to store maps?</source>
+        <translation>Wo wollen Sie die Karten speichern?</translation>
+    </message>
 </context>
 <context>
     <name>CMapMAP</name>
@@ -1311,17 +1316,17 @@
 <context>
     <name>CMapPathSetup</name>
     <message>
-        <location filename="../map/CMapPathSetup.cpp" line="45"/>
+        <location filename="../map/CMapPathSetup.cpp" line="47"/>
         <source>Add or remove paths containing maps. There can be multiple maps in a path but no sub-path is parsed. Supported formats are: %1</source>
         <translation>Hinzufügen oder Entfernen von Karten. In einem Verzeichnis können mehrere Karten liegen. Unterverzeichnisse werden jedoch nicht durchsucht. Unterstützte Formate sind: %1 </translation>
     </message>
     <message>
-        <location filename="../map/CMapPathSetup.cpp" line="60"/>
+        <location filename="../map/CMapPathSetup.cpp" line="62"/>
         <source>Select map path...</source>
         <translation>Kartenpfad wählen...</translation>
     </message>
     <message>
-        <location filename="../map/CMapPathSetup.cpp" line="76"/>
+        <location filename="../map/CMapPathSetup.cpp" line="78"/>
         <source>Select root path...</source>
         <translation>Hauptverzeichnis auswählen...</translation>
     </message>
@@ -1562,22 +1567,22 @@ Unbekannte Struktur.</translation>
 <context>
     <name>CMouseNormal</name>
     <message>
-        <location filename="../mouse/CMouseNormal.cpp" line="42"/>
+        <location filename="../mouse/CMouseNormal.cpp" line="43"/>
         <source>Add Waypoint</source>
         <translation>Wegpunkt hinzufügen</translation>
     </message>
     <message>
-        <location filename="../mouse/CMouseNormal.cpp" line="43"/>
+        <location filename="../mouse/CMouseNormal.cpp" line="44"/>
         <source>Add Track</source>
         <translation>Track hinzufügen</translation>
     </message>
     <message>
-        <location filename="../mouse/CMouseNormal.cpp" line="44"/>
+        <location filename="../mouse/CMouseNormal.cpp" line="45"/>
         <source>Add Area</source>
         <translation>Gebiet hinzufügen</translation>
     </message>
     <message>
-        <location filename="../mouse/CMouseNormal.cpp" line="46"/>
+        <location filename="../mouse/CMouseNormal.cpp" line="47"/>
         <source>Copy position</source>
         <translation>Position kopieren</translation>
     </message>
@@ -2033,6 +2038,21 @@ ist keine gültige Koordinatensystemdefinition:
         <source>...</source>
         <translation></translation>
     </message>
+    <message>
+        <location filename="../canvas/ICanvasSetup.ui" line="53"/>
+        <source>Scales</source>
+        <translation>Skalierung</translation>
+    </message>
+    <message>
+        <location filename="../canvas/ICanvasSetup.ui" line="59"/>
+        <source>Logarithmic</source>
+        <translation>Logarithmisch</translation>
+    </message>
+    <message>
+        <location filename="../canvas/ICanvasSetup.ui" line="66"/>
+        <source>Square (optimized for TMS and WTMS tiles)</source>
+        <translation>Quadratisch (optimal für TMS und WMTS Karten)</translation>
+    </message>
 </context>
 <context>
     <name>ICombineTrk</name>
@@ -2079,7 +2099,7 @@ ist keine gültige Koordinatensystemdefinition:
     <message>
         <location filename="../dem/IDemPropSetup.ui" line="35"/>
         <source><html><head/><body><p>Change opacity of map</p></body></html></source>
-        <translation><html><head/><body><p>Ändert die Transparenz der Karte</p></body></html></translation>
+        <translation><html><head/><body><p>Ändert die Deckkraft der Karte</p></body></html></translation>
     </message>
     <message>
         <location filename="../dem/IDemPropSetup.ui" line="50"/>
@@ -2330,103 +2350,104 @@ ist keine gültige Koordinatensystemdefinition:
     <message>
         <location filename="../gis/trk/IDetailsTrk.ui" line="56"/>
         <location filename="../gis/trk/IDetailsTrk.ui" line="77"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="98"/>
         <source>-
 -</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="182"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="203"/>
         <source>Graph Control</source>
         <translation>Grafikeinstellungen</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="203"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="224"/>
         <source>Profile</source>
         <translation>Profil</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="210"/>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="446"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="231"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="467"/>
         <source>Speed</source>
         <translation>Geschw.</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="217"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="238"/>
         <source>Progress</source>
         <translation>Verlauf</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="227"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="248"/>
         <source>Track</source>
         <translation>Track</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="253"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="274"/>
         <source>...</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="378"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="399"/>
         <source>Points</source>
         <translation>Punkte</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="426"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="447"/>
         <source>Time</source>
         <translation>Zeit</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="431"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="452"/>
         <source>Ele.</source>
         <translation>Höhe</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="436"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="457"/>
         <source>Delta</source>
         <translation>Delta</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="441"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="462"/>
         <source>Dist.</source>
         <translation>Entf.</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="451"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="472"/>
         <source>Slope</source>
         <translation>Steigung</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="456"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="477"/>
         <source>Ascend</source>
         <translation>Anstieg</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="461"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="482"/>
         <source>Descend</source>
         <translation>Abstieg</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="466"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="487"/>
         <source>Position</source>
         <translation>Position</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="350"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="371"/>
         <source>Info</source>
         <translation>Info</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="308"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="329"/>
         <source>-</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="475"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="496"/>
         <source>Filter</source>
         <translation>Filter</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="512"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="533"/>
         <source>Hist.</source>
         <translation>History</translation>
     </message>
@@ -3223,7 +3244,14 @@ ist keine gültige Koordinatensystemdefinition:
         <translation>Nutze das Kontextmenü ( Klick mit rechter Maustaste auf Eintrag), um eine Karte zu aktivieren. Nutze Ziehen u. Ablegen um die aktivierte Datei in der Reihenfolge der Ansicht zu verschieben.</translation>
     </message>
     <message>
-        <location filename="../map/IMapList.ui" line="141"/>
+        <location filename="../map/IMapList.ui" line="129"/>
+        <source>Help! I want maps!
+I don't want to read the documentation!</source>
+        <translation>Hilfe! Ich will Karten!
+Keine Lust die Anleitung zu lesen!</translation>
+    </message>
+    <message>
+        <location filename="../map/IMapList.ui" line="149"/>
         <source>Activate</source>
         <translation>Aktivieren</translation>
     </message>
@@ -3248,6 +3276,13 @@ ist keine gültige Koordinatensystemdefinition:
         <translation></translation>
     </message>
     <message>
+        <location filename="../map/IMapPathSetup.ui" line="185"/>
+        <source>Help! I want maps!
+I don't want to read the documentation!</source>
+        <translation>Hilfe! Ich will Karten!
+Keine Lust die Anleitung zu lesen!</translation>
+    </message>
+    <message>
         <location filename="../map/IMapPathSetup.ui" line="29"/>
         <location filename="../map/IMapPathSetup.ui" line="135"/>
         <source>-</source>
@@ -3360,22 +3395,22 @@ ist keine gültige Koordinatensystemdefinition:
 <context>
     <name>IMouseEditLine</name>
     <message>
-        <location filename="../mouse/IMouseEditLine.cpp" line="338"/>
+        <location filename="../mouse/IMouseEditLine.cpp" line="344"/>
         <source>Add points?</source>
         <translation>Punkte hinzufügen?</translation>
     </message>
     <message>
-        <location filename="../mouse/IMouseEditLine.cpp" line="338"/>
+        <location filename="../mouse/IMouseEditLine.cpp" line="344"/>
         <source>Add points to temporary line?</source>
         <translation>Punkte zur temporären Linie hinzufügen?</translation>
     </message>
     <message>
-        <location filename="../mouse/IMouseEditLine.cpp" line="881"/>
+        <location filename="../mouse/IMouseEditLine.cpp" line="887"/>
         <source>Warning!</source>
         <translation>Warnung!</translation>
     </message>
     <message>
-        <location filename="../mouse/IMouseEditLine.cpp" line="881"/>
+        <location filename="../mouse/IMouseEditLine.cpp" line="887"/>
         <source>This will replace all data of the orignal by a simple line of coordinates. All other data will be lost permanently.</source>
         <translation>Alle ursprünglichen Daten werden durch eine einfache Koordinatenlinie ersetzt. Alle anderen Daten sind dauerhaft verloren.</translation>
     </message>
@@ -3397,17 +3432,22 @@ ist keine gültige Koordinatensystemdefinition:
 <context>
     <name>IPlot</name>
     <message>
-        <location filename="../plot/IPlot.cpp" line="101"/>
+        <location filename="../plot/IPlot.cpp" line="108"/>
+        <source>Stop Range</source>
+        <translation>Bereichsauswahl beenden</translation>
+    </message>
+    <message>
+        <location filename="../plot/IPlot.cpp" line="109"/>
         <source>Save...</source>
         <translation>Speichern ...</translation>
     </message>
     <message>
-        <location filename="../plot/IPlot.cpp" line="500"/>
+        <location filename="../plot/IPlot.cpp" line="602"/>
         <source>No or bad data.</source>
         <translation>Keine oder schlechte Daten.</translation>
     </message>
     <message>
-        <location filename="../plot/IPlot.cpp" line="1015"/>
+        <location filename="../plot/IPlot.cpp" line="1128"/>
         <source>Select output file</source>
         <translation>Ausgabedatei auswählen</translation>
     </message>
@@ -4327,34 +4367,44 @@ Areas: %1</source>
         <translation type="obsolete">Fläche: %1</translation>
     </message>
     <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="239"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="66"/>
+        <source>Save project?</source>
+        <translation>Projekt speichern?</translation>
+    </message>
+    <message>
+        <location filename="../gis/prj/IGisProject.cpp" line="66"/>
+        <source>The project "%1" was changed. Save befor closing it?</source>
+        <translation>Das Projekt "%1" wurde geändert. Speichern bevor es geschlossen wird?</translation>
+    </message>
+    <message>
+        <location filename="../gis/prj/IGisProject.cpp" line="255"/>
         <source><br/>
 Filename: %1</source>
         <translation><br/>
 Dateiname: %1</translation>
     </message>
     <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="256"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="272"/>
         <source>Waypoints: %1</source>
         <translation>Wegpunkte: %1</translation>
     </message>
     <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="260"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="276"/>
         <source>Tracks: %1</source>
         <translation>Tracks: %1</translation>
     </message>
     <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="264"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="280"/>
         <source>Routes: %1</source>
         <translation>Routen: %1</translation>
     </message>
     <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="268"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="284"/>
         <source>Areas: %1</source>
         <translation>Gebiete: %1</translation>
     </message>
     <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="329"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="345"/>
         <source>Are you sure you want to delete '%1' from project '%2'?</source>
         <translation>Sind Sie sicher, dass Sie '%1' aus dem Projekt '%2' löschen wollen? </translation>
     </message>
@@ -4365,7 +4415,7 @@ Dateiname: %1</translation>
     </message>
     <message>
         <location filename="../gis/CGisListDB.cpp" line="408"/>
-        <location filename="../gis/prj/IGisProject.cpp" line="330"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="346"/>
         <source>Delete...</source>
         <translation>Löschen...</translation>
     </message>
@@ -4427,72 +4477,108 @@ Dateiname: %1</translation>
         <translation>Datei %1' konnte nicht gespeichert werden</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="300"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="326"/>
         <source>Changed trackpoints, sacrificed all previous data.</source>
         <translation>Wegpunkte geändert, alle vorherigen Daten sind verloren.</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="376"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="402"/>
         <source>Length: %1 %2</source>
         <translation>Länge: %1 %2</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="383"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="409"/>
         <source>, %1%2 %3, %4%5 %6</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="391"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="417"/>
         <source>Time: %1</source>
         <translation>Gesamtzeit: %1</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="394"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="404"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="420"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="430"/>
         <source>, Speed: %1 %2</source>
         <translation>, Geschw.: %1 %2</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="401"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="427"/>
         <source>Moving: %1</source>
         <translation>Zeit in Bew.: %1</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="410"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="436"/>
         <source>Start: %1</source>
         <translation>Beginn: %1</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="415"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="441"/>
         <source>End: %1</source>
         <translation>Ende: %1</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="419"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="445"/>
         <source>Points: %1 (%2)</source>
         <translation>Punkte: %1 von %2</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="502"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="563"/>
         <source>Ele.: %1 %2</source>
         <translation>Höhe: %1 %2</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="505"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="566"/>
         <source> slope: %1%3 (%2%)</source>
         <translation>, Steigung: %1%3 (%2%)</translation>
     </message>
     <message>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="637"/>
+        <source>Ascend: %1%2</source>
+        <translation>Anstieg: %1 %2</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="642"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="659"/>
+        <source>, %1%2</source>
+        <translation>, %1 %2</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="647"/>
+        <source>Ascend: -</source>
+        <translation>Anstieg: -</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="654"/>
+        <source> Descend: %1%2</source>
+        <translation> Abstieg: %1 %2</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="664"/>
+        <source>Descend: -</source>
+        <translation>Abstieg: -</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="670"/>
+        <source>Dist.: %1%2</source>
+        <translation>Entf.: %1 %2</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="675"/>
+        <source> Time: %1%2</source>
+        <translation> Zeit: %1 %2</translation>
+    </message>
+    <message>
         <source> slope: %1° (%2%)</source>
         <translation type="obsolete"> Neigung: %1° (%2%)</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1208"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1334"/>
         <source>Hide points.</source>
         <translation>Punkte ausblenden.</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1253"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1380"/>
         <source>Show points.</source>
         <translation>Punkte einblenden.</translation>
     </message>
@@ -4501,47 +4587,47 @@ Dateiname: %1</translation>
         <translation type="obsolete">Neigung: %1°(%2%)</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="510"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="571"/>
         <source> speed: %1%2</source>
         <translation>, Geschw.: %1 %2</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="522"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="583"/>
         <source>Ascend: %1%2 (%3%)</source>
         <translation>Anstieg: %1 %2 (%3%)</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="526"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="587"/>
         <source>Ascend: - (-)</source>
         <translation>Anstieg: - (-)</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="532"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="593"/>
         <source> Descend: %1%2 (%3%)</source>
         <translation>, Abstieg: %1 %2 (%3%)</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="536"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="597"/>
         <source> Descend: - (-) </source>
         <translation>, Abstieg: - (-) </translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="543"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="604"/>
         <source>Dist.: %1%2 (%3%)</source>
         <translation>Entf.: %1 %2 (%3%)</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="547"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="608"/>
         <source>Dist.: - (-)</source>
         <translation>Entf.: - (-)</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="553"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="614"/>
         <source> Moving: %1%2 (%3%)</source>
         <translation>, Zeit in Bew.: %1 %2 (%3%)</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="557"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="618"/>
         <source> Moving: - (-) </source>
         <translation>, Zeit in Bew.: - (-) </translation>
     </message>
@@ -4568,7 +4654,7 @@ Dateiname: %1</translation>
     <message>
         <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="142"/>
         <location filename="../gis/rte/CGisItemRte.cpp" line="45"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="177"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="184"/>
         <location filename="../gis/wpt/CGisItemWpt.cpp" line="102"/>
         <source>_Clone</source>
         <translation>_Klon</translation>
@@ -4616,23 +4702,23 @@ Dateiname: %1</translation>
     <message>
         <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="520"/>
         <location filename="../gis/rte/CGisItemRte.cpp" line="139"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1587"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1739"/>
         <location filename="../gis/wpt/CGisItemWpt.cpp" line="376"/>
         <source>Changed links</source>
         <translation>Geänderte Verknüpfungen</translation>
     </message>
     <message>
         <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="532"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1599"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1751"/>
         <source>Changed color</source>
         <translation>Farbe geändert</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1027"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1042"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1061"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1120"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1278"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1152"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1167"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1186"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1245"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1405"/>
         <location filename="../gis/wpt/CGisItemWpt.cpp" line="190"/>
         <location filename="../mouse/CMouseEditArea.cpp" line="100"/>
         <location filename="../mouse/CMouseEditTrk.cpp" line="104"/>
@@ -4655,7 +4741,7 @@ Dateiname: %1</translation>
         <translation>Abstand: %1 %2</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1569"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1721"/>
         <location filename="../gis/wpt/CGisItemWpt.cpp" line="324"/>
         <source>Changed name</source>
         <translation>Name geändert</translation>
@@ -4692,14 +4778,14 @@ Dateiname: %1</translation>
     </message>
     <message>
         <location filename="../gis/rte/CGisItemRte.cpp" line="127"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1575"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1727"/>
         <location filename="../gis/wpt/CGisItemWpt.cpp" line="364"/>
         <source>Changed comment</source>
         <translation>Kommentar geändert</translation>
     </message>
     <message>
         <location filename="../gis/rte/CGisItemRte.cpp" line="133"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1581"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1733"/>
         <location filename="../gis/wpt/CGisItemWpt.cpp" line="370"/>
         <source>Changed description</source>
         <translation>Beschreibung geändert</translation>
@@ -4785,11 +4871,11 @@ Dateiname: %1</translation>
         <translation><p>--- keine ---</p></translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1027"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1042"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1061"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1120"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1278"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1152"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1167"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1186"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1245"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1405"/>
         <location filename="../mouse/CMouseEditTrk.cpp" line="104"/>
         <source>Enter new track name.</source>
         <translation>Geben Sie einen neuen Namen für den Track ein.</translation>
@@ -4900,12 +4986,12 @@ Dateiname: %1</translation>
         <translation>Geschwindigkeit auf %1 %2 geändert.</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="910"/>
+        <location filename="../gis/CGisListWks.cpp" line="944"/>
         <source>Delete project...</source>
         <translation>Projekt löschen...</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="910"/>
+        <location filename="../gis/CGisListWks.cpp" line="944"/>
         <source>Do you really want to delete %1?</source>
         <translation>Sind Sie sicher, dass sie %1? löschen wollen?</translation>
     </message>
@@ -4917,16 +5003,16 @@ Dateiname: %1</translation>
         <location filename="../gis/tnv/CTwoNavProject.cpp" line="87"/>
         <location filename="../gis/tnv/CTwoNavProject.cpp" line="191"/>
         <location filename="../gis/tnv/serialization.cpp" line="295"/>
-        <location filename="../gis/tnv/serialization.cpp" line="416"/>
-        <location filename="../gis/tnv/serialization.cpp" line="445"/>
-        <location filename="../gis/tnv/serialization.cpp" line="456"/>
-        <location filename="../gis/tnv/serialization.cpp" line="477"/>
-        <location filename="../gis/tnv/serialization.cpp" line="618"/>
-        <location filename="../gis/tnv/serialization.cpp" line="646"/>
-        <location filename="../gis/tnv/serialization.cpp" line="657"/>
-        <location filename="../gis/tnv/serialization.cpp" line="675"/>
-        <location filename="../gis/tnv/serialization.cpp" line="703"/>
-        <location filename="../gis/tnv/serialization.cpp" line="777"/>
+        <location filename="../gis/tnv/serialization.cpp" line="431"/>
+        <location filename="../gis/tnv/serialization.cpp" line="460"/>
+        <location filename="../gis/tnv/serialization.cpp" line="471"/>
+        <location filename="../gis/tnv/serialization.cpp" line="492"/>
+        <location filename="../gis/tnv/serialization.cpp" line="632"/>
+        <location filename="../gis/tnv/serialization.cpp" line="660"/>
+        <location filename="../gis/tnv/serialization.cpp" line="671"/>
+        <location filename="../gis/tnv/serialization.cpp" line="689"/>
+        <location filename="../gis/tnv/serialization.cpp" line="717"/>
+        <location filename="../gis/tnv/serialization.cpp" line="791"/>
         <source>Error...</source>
         <translation>Fehler...</translation>
     </message>
@@ -4934,31 +5020,36 @@ Dateiname: %1</translation>
         <location filename="../gis/tnv/CTwoNavProject.cpp" line="87"/>
         <location filename="../gis/tnv/CTwoNavProject.cpp" line="191"/>
         <location filename="../gis/tnv/serialization.cpp" line="295"/>
-        <location filename="../gis/tnv/serialization.cpp" line="416"/>
-        <location filename="../gis/tnv/serialization.cpp" line="618"/>
+        <location filename="../gis/tnv/serialization.cpp" line="431"/>
+        <location filename="../gis/tnv/serialization.cpp" line="632"/>
         <source>Failed to open %1.</source>
         <translation>Die Datei %1 konnte nicht geöffnet werden.</translation>
     </message>
     <message>
-        <location filename="../gis/tnv/serialization.cpp" line="445"/>
-        <location filename="../gis/tnv/serialization.cpp" line="456"/>
-        <location filename="../gis/tnv/serialization.cpp" line="646"/>
-        <location filename="../gis/tnv/serialization.cpp" line="657"/>
+        <location filename="../gis/tnv/serialization.cpp" line="460"/>
+        <location filename="../gis/tnv/serialization.cpp" line="471"/>
+        <location filename="../gis/tnv/serialization.cpp" line="660"/>
+        <location filename="../gis/tnv/serialization.cpp" line="671"/>
         <source>Only support lon/lat WGS 84 format.</source>
         <translation>Es wird nur lon/lat WGS 84 als Format unterstützt.</translation>
     </message>
     <message>
-        <location filename="../gis/tnv/serialization.cpp" line="477"/>
-        <location filename="../gis/tnv/serialization.cpp" line="675"/>
-        <location filename="../gis/tnv/serialization.cpp" line="703"/>
-        <location filename="../gis/tnv/serialization.cpp" line="777"/>
+        <location filename="../gis/tnv/serialization.cpp" line="492"/>
+        <location filename="../gis/tnv/serialization.cpp" line="689"/>
+        <location filename="../gis/tnv/serialization.cpp" line="717"/>
+        <location filename="../gis/tnv/serialization.cpp" line="791"/>
         <source>Failed to read data.</source>
         <translation>Datenlesen fehlgeschlagen.</translation>
     </message>
     <message>
-        <location filename="../device/CDeviceGarmin.cpp" line="202"/>
+        <location filename="../device/CDeviceGarmin.cpp" line="207"/>
         <source>Picture%1</source>
         <translation>Bild %1</translation>
     </message>
+    <message>
+        <location filename="../device/IDevice.cpp" line="202"/>
+        <source>There is another project with the same name. If you press 'ok' it will be removed and replaced.</source>
+        <translation>Es gibt schon ein Projekt mit dem selben Namen. Wenn Sie 'ok' drücken wird dieses entfernt und ersetzt.</translation>
+    </message>
 </context>
 </TS>
diff --git a/src/locale/qmapshack_es.ts b/src/locale/qmapshack_es.ts
index 25ebc1f..505999e 100644
--- a/src/locale/qmapshack_es.ts
+++ b/src/locale/qmapshack_es.ts
@@ -246,22 +246,22 @@
         <translation>Dividir track en partes</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="218"/>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="227"/>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="230"/>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="236"/>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="255"/>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="257"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="222"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="231"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="234"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="240"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="259"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="261"/>
         <source>%1 %2</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="370"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="397"/>
         <source>Edit name...</source>
         <translation type="unfinished">Editar nombre...</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="370"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="397"/>
         <source>Enter new track name.</source>
         <translation type="unfinished">Introduzca el nombre del nuevo track.</translation>
     </message>
@@ -447,8 +447,8 @@
     </message>
     <message>
         <location filename="../gis/CGisListWks.cpp" line="586"/>
-        <location filename="../gis/CGisListWks.cpp" line="1237"/>
-        <location filename="../gis/CGisListWks.cpp" line="1275"/>
+        <location filename="../gis/CGisListWks.cpp" line="1253"/>
+        <location filename="../gis/CGisListWks.cpp" line="1292"/>
         <source><b>Update devices</b><p>Update %1<br/>Please wait...</p></source>
         <translation type="unfinished"><b>Actualizar dispositivos</b><p>Actualizar %1<br/>Por favor espere...</p></translation>
     </message>
@@ -504,12 +504,12 @@
         <translation>Cargando espacio de trabajo. Por favor espere.</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="1176"/>
+        <location filename="../gis/CGisListWks.cpp" line="909"/>
         <source>Close all projects...</source>
         <translation>Cerrar todos los proyectos...</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="1176"/>
+        <location filename="../gis/CGisListWks.cpp" line="909"/>
         <source>This will remove all projects from the workspace.</source>
         <translation>Esto quitará.todos los proyectos.del espacio de trabajo.</translation>
     </message>
@@ -573,22 +573,22 @@
 <context>
     <name>CMainWindow</name>
     <message>
-        <location filename="../CMainWindow.cpp" line="476"/>
+        <location filename="../CMainWindow.cpp" line="485"/>
         <source>Ele: %1%2</source>
         <translation>Alt: %1%2</translation>
     </message>
     <message>
-        <location filename="../CMainWindow.cpp" line="602"/>
+        <location filename="../CMainWindow.cpp" line="611"/>
         <source>Load GIS Data...</source>
         <translation>Cargar Datos GIS...</translation>
     </message>
     <message>
-        <location filename="../CMainWindow.cpp" line="636"/>
+        <location filename="../CMainWindow.cpp" line="645"/>
         <source>Select output file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../CMainWindow.cpp" line="662"/>
+        <location filename="../CMainWindow.cpp" line="671"/>
         <source>Select file to load</source>
         <translation type="unfinished"></translation>
     </message>
@@ -596,630 +596,630 @@
 <context>
     <name>CMapIMG</name>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="151"/>
+        <location filename="../map/CMapIMG.cpp" line="153"/>
         <source>Failed ...</source>
         <translation>Falló ...</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="166"/>
+        <location filename="../map/CMapIMG.cpp" line="168"/>
         <source>Unspecified</source>
         <translation>No especificado</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="167"/>
+        <location filename="../map/CMapIMG.cpp" line="169"/>
         <source>French</source>
         <translation>Francés</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="168"/>
+        <location filename="../map/CMapIMG.cpp" line="170"/>
         <source>German</source>
         <translation>Alemán</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="169"/>
+        <location filename="../map/CMapIMG.cpp" line="171"/>
         <source>Dutch</source>
         <translation>Holandés</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="170"/>
+        <location filename="../map/CMapIMG.cpp" line="172"/>
         <source>English</source>
         <translation>Inglés</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="171"/>
+        <location filename="../map/CMapIMG.cpp" line="173"/>
         <source>Italian</source>
         <translation>Italiano</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="172"/>
+        <location filename="../map/CMapIMG.cpp" line="174"/>
         <source>Finnish</source>
         <translation>Finés</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="173"/>
+        <location filename="../map/CMapIMG.cpp" line="175"/>
         <source>Swedish</source>
         <translation>Sueco</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="174"/>
+        <location filename="../map/CMapIMG.cpp" line="176"/>
         <source>Spanish</source>
         <translation>Español</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="175"/>
+        <location filename="../map/CMapIMG.cpp" line="177"/>
         <source>Basque</source>
         <translation>Euskera</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="176"/>
+        <location filename="../map/CMapIMG.cpp" line="178"/>
         <source>Catalan</source>
         <translation>Catalán</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="177"/>
+        <location filename="../map/CMapIMG.cpp" line="179"/>
         <source>Galician</source>
         <translation>Gallego</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="178"/>
+        <location filename="../map/CMapIMG.cpp" line="180"/>
         <source>Welsh</source>
         <translation>Galés</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="179"/>
+        <location filename="../map/CMapIMG.cpp" line="181"/>
         <source>Gaelic</source>
         <translation>Gaélico</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="180"/>
+        <location filename="../map/CMapIMG.cpp" line="182"/>
         <source>Danish</source>
         <translation>Danés</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="181"/>
+        <location filename="../map/CMapIMG.cpp" line="183"/>
         <source>Norwegian</source>
         <translation>Noruego</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="182"/>
+        <location filename="../map/CMapIMG.cpp" line="184"/>
         <source>Portuguese</source>
         <translation>Portugués</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="183"/>
+        <location filename="../map/CMapIMG.cpp" line="185"/>
         <source>Slovak</source>
         <translation>Eslovaco</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="184"/>
+        <location filename="../map/CMapIMG.cpp" line="186"/>
         <source>Czech</source>
         <translation>Checo</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="185"/>
+        <location filename="../map/CMapIMG.cpp" line="187"/>
         <source>Croatian</source>
         <translation>Croata</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="186"/>
+        <location filename="../map/CMapIMG.cpp" line="188"/>
         <source>Hungarian</source>
         <translation>Húngaro</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="187"/>
+        <location filename="../map/CMapIMG.cpp" line="189"/>
         <source>Polish</source>
         <translation>Polaco</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="188"/>
+        <location filename="../map/CMapIMG.cpp" line="190"/>
         <source>Turkish</source>
         <translation>Turco</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="189"/>
+        <location filename="../map/CMapIMG.cpp" line="191"/>
         <source>Greek</source>
         <translation>Griego</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="190"/>
+        <location filename="../map/CMapIMG.cpp" line="192"/>
         <source>Slovenian</source>
         <translation>Esloveno</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="191"/>
+        <location filename="../map/CMapIMG.cpp" line="193"/>
         <source>Russian</source>
         <translation>Ruso</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="192"/>
+        <location filename="../map/CMapIMG.cpp" line="194"/>
         <source>Estonian</source>
         <translation>Estonio</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="193"/>
+        <location filename="../map/CMapIMG.cpp" line="195"/>
         <source>Latvian</source>
         <translation>Letón</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="194"/>
+        <location filename="../map/CMapIMG.cpp" line="196"/>
         <source>Romanian</source>
         <translation>Rumano</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="195"/>
+        <location filename="../map/CMapIMG.cpp" line="197"/>
         <source>Albanian</source>
         <translation>Albanés</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="196"/>
+        <location filename="../map/CMapIMG.cpp" line="198"/>
         <source>Bosnian</source>
         <translation>Bosnio</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="197"/>
+        <location filename="../map/CMapIMG.cpp" line="199"/>
         <source>Lithuanian</source>
         <translation>Lituano</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="198"/>
+        <location filename="../map/CMapIMG.cpp" line="200"/>
         <source>Serbian</source>
         <translation>Serbio</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="199"/>
+        <location filename="../map/CMapIMG.cpp" line="201"/>
         <source>Macedonian</source>
         <translation>Macedonio</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="200"/>
+        <location filename="../map/CMapIMG.cpp" line="202"/>
         <source>Bulgarian</source>
         <translation>Búlgaro</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="257"/>
+        <location filename="../map/CMapIMG.cpp" line="259"/>
         <source>Major highway</source>
         <translation>Autovía Primaria</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="258"/>
+        <location filename="../map/CMapIMG.cpp" line="260"/>
         <source>Principal highway</source>
         <translation>Autovía secundaria</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="259"/>
+        <location filename="../map/CMapIMG.cpp" line="261"/>
         <source>Other highway</source>
         <translation>Otras autovías</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="260"/>
+        <location filename="../map/CMapIMG.cpp" line="262"/>
         <source>Arterial road</source>
         <translation>Carretera principal</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="261"/>
+        <location filename="../map/CMapIMG.cpp" line="263"/>
         <source>Collector road</source>
         <translation>Carretera secundaria</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="262"/>
+        <location filename="../map/CMapIMG.cpp" line="264"/>
         <source>Residential street</source>
         <translation>Calle residencial</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="263"/>
+        <location filename="../map/CMapIMG.cpp" line="265"/>
         <source>Alley/Private road</source>
         <translation>Callejón/Carretera privada</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="264"/>
+        <location filename="../map/CMapIMG.cpp" line="266"/>
         <source>Highway ramp, low speed</source>
         <translation>Acceso a autopista, baja velocidad</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="265"/>
+        <location filename="../map/CMapIMG.cpp" line="267"/>
         <source>Highway ramp, high speed</source>
         <translation>Acceso a autopista, alta velocidad</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="266"/>
+        <location filename="../map/CMapIMG.cpp" line="268"/>
         <source>Unpaved road</source>
         <translation>Carretera sin asfaltar</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="267"/>
+        <location filename="../map/CMapIMG.cpp" line="269"/>
         <source>Major highway connector</source>
         <translation>Conexión con autovía principal</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="268"/>
+        <location filename="../map/CMapIMG.cpp" line="270"/>
         <source>Roundabout</source>
         <translation>Rotonda</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="269"/>
+        <location filename="../map/CMapIMG.cpp" line="271"/>
         <source>Railroad</source>
         <translation>Ferrocarril</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="270"/>
+        <location filename="../map/CMapIMG.cpp" line="272"/>
         <source>Shoreline</source>
         <translation>Línea de costa</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="271"/>
+        <location filename="../map/CMapIMG.cpp" line="273"/>
         <source>Trail</source>
         <translation>Sendero</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="272"/>
+        <location filename="../map/CMapIMG.cpp" line="274"/>
         <source>Stream</source>
         <translation>Arroyo</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="273"/>
+        <location filename="../map/CMapIMG.cpp" line="275"/>
         <source>Time zone</source>
         <translation>Zona horaria</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="274"/>
-        <location filename="../map/CMapIMG.cpp" line="275"/>
+        <location filename="../map/CMapIMG.cpp" line="276"/>
+        <location filename="../map/CMapIMG.cpp" line="277"/>
         <source>Ferry</source>
         <translation>Ferry</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="276"/>
+        <location filename="../map/CMapIMG.cpp" line="278"/>
         <source>State/province border</source>
         <translation>Frontera de estado/provincia</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="277"/>
+        <location filename="../map/CMapIMG.cpp" line="279"/>
         <source>County/parish border</source>
         <translation>Frontera de condado/término municipal</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="278"/>
+        <location filename="../map/CMapIMG.cpp" line="280"/>
         <source>International border</source>
         <translation>Frontera internacional</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="279"/>
+        <location filename="../map/CMapIMG.cpp" line="281"/>
         <source>River</source>
         <translation>Río</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="280"/>
+        <location filename="../map/CMapIMG.cpp" line="282"/>
         <source>Minor land contour</source>
         <translation>Curva altimétrica menor</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="281"/>
+        <location filename="../map/CMapIMG.cpp" line="283"/>
         <source>Intermediate land contour</source>
         <translation>Curva altimétrica intermedia</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="282"/>
+        <location filename="../map/CMapIMG.cpp" line="284"/>
         <source>Major land contour</source>
         <translation>Curva altimétrica principal</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="283"/>
+        <location filename="../map/CMapIMG.cpp" line="285"/>
         <source>Minor depth contour</source>
         <translation>Curva batimétrica menor</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="284"/>
+        <location filename="../map/CMapIMG.cpp" line="286"/>
         <source>Intermediate depth contour</source>
         <translation>Curva batimétrica intermedia</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="285"/>
+        <location filename="../map/CMapIMG.cpp" line="287"/>
         <source>Major depth contour</source>
         <translation>Curva batimétrica principal</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="286"/>
+        <location filename="../map/CMapIMG.cpp" line="288"/>
         <source>Intermittent stream</source>
         <translation>Curso intermitente</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="287"/>
-        <location filename="../map/CMapIMG.cpp" line="369"/>
+        <location filename="../map/CMapIMG.cpp" line="289"/>
+        <location filename="../map/CMapIMG.cpp" line="371"/>
         <source>Airport runway</source>
         <translation>Pista de aterrizaje</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="288"/>
+        <location filename="../map/CMapIMG.cpp" line="290"/>
         <source>Pipeline</source>
         <translation>Tubería</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="289"/>
+        <location filename="../map/CMapIMG.cpp" line="291"/>
         <source>Powerline</source>
         <translation>Línea eléctrica</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="290"/>
+        <location filename="../map/CMapIMG.cpp" line="292"/>
         <source>Marine boundary</source>
         <translation>Límite marítimo</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="291"/>
+        <location filename="../map/CMapIMG.cpp" line="293"/>
         <source>Hazard boundary</source>
         <translation>Límite de peligro</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="356"/>
+        <location filename="../map/CMapIMG.cpp" line="358"/>
         <source>Large urban area (&gt;200K)</source>
         <translation>Área urbana grande (&gt;200K)</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="357"/>
+        <location filename="../map/CMapIMG.cpp" line="359"/>
         <source>Small urban area (&lt;200K)</source>
         <translation>Área urbana pequeña (&lt;200K)</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="358"/>
+        <location filename="../map/CMapIMG.cpp" line="360"/>
         <source>Rural housing area</source>
         <translation>Área de alojamienos rurales</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="359"/>
+        <location filename="../map/CMapIMG.cpp" line="361"/>
         <source>Military base</source>
         <translation>Base militar</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="360"/>
+        <location filename="../map/CMapIMG.cpp" line="362"/>
         <source>Parking lot</source>
         <translation>Aparcamiento</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="361"/>
+        <location filename="../map/CMapIMG.cpp" line="363"/>
         <source>Parking garage</source>
         <translation>Garaje</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="362"/>
+        <location filename="../map/CMapIMG.cpp" line="364"/>
         <source>Airport</source>
         <translation>Aeropuerto</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="363"/>
+        <location filename="../map/CMapIMG.cpp" line="365"/>
         <source>Shopping center</source>
         <translation>Centro comercial</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="364"/>
+        <location filename="../map/CMapIMG.cpp" line="366"/>
         <source>Marina</source>
         <translation>Puerto deportivo</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="365"/>
+        <location filename="../map/CMapIMG.cpp" line="367"/>
         <source>University/College</source>
         <translation>Universidad/Facultad</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="366"/>
+        <location filename="../map/CMapIMG.cpp" line="368"/>
         <source>Hospital</source>
         <translation>Hospital</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="367"/>
+        <location filename="../map/CMapIMG.cpp" line="369"/>
         <source>Industrial complex</source>
         <translation>Complejo industrial</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="368"/>
+        <location filename="../map/CMapIMG.cpp" line="370"/>
         <source>Reservation</source>
         <translation>Reserva natural</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="370"/>
+        <location filename="../map/CMapIMG.cpp" line="372"/>
         <source>Man-made area</source>
         <translation>Área creada por el hombre</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="371"/>
+        <location filename="../map/CMapIMG.cpp" line="373"/>
         <source>Sports complex</source>
         <translation>Complejo deportivo</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="372"/>
+        <location filename="../map/CMapIMG.cpp" line="374"/>
         <source>Golf course</source>
         <translation>Recorrido de golf</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="373"/>
+        <location filename="../map/CMapIMG.cpp" line="375"/>
         <source>Cemetery</source>
         <translation>Cementerio</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="374"/>
-        <location filename="../map/CMapIMG.cpp" line="375"/>
         <location filename="../map/CMapIMG.cpp" line="376"/>
+        <location filename="../map/CMapIMG.cpp" line="377"/>
+        <location filename="../map/CMapIMG.cpp" line="378"/>
         <source>National park</source>
         <translation>Parque nacional</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="377"/>
+        <location filename="../map/CMapIMG.cpp" line="379"/>
         <source>City park</source>
         <translation>Parque urbano</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="378"/>
-        <location filename="../map/CMapIMG.cpp" line="379"/>
         <location filename="../map/CMapIMG.cpp" line="380"/>
+        <location filename="../map/CMapIMG.cpp" line="381"/>
+        <location filename="../map/CMapIMG.cpp" line="382"/>
         <source>State park</source>
         <translation>Parque regional</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="381"/>
+        <location filename="../map/CMapIMG.cpp" line="383"/>
         <source>Forest</source>
         <translation>Bosque</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="382"/>
+        <location filename="../map/CMapIMG.cpp" line="384"/>
         <source>Ocean</source>
         <translation>Océano</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="383"/>
         <location filename="../map/CMapIMG.cpp" line="385"/>
-        <location filename="../map/CMapIMG.cpp" line="395"/>
+        <location filename="../map/CMapIMG.cpp" line="387"/>
+        <location filename="../map/CMapIMG.cpp" line="397"/>
         <source>Blue (unknown)</source>
         <translation>Azul (desconocido)</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="384"/>
+        <location filename="../map/CMapIMG.cpp" line="386"/>
         <source>Sea</source>
         <translation>Mar</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="386"/>
-        <location filename="../map/CMapIMG.cpp" line="387"/>
-        <location filename="../map/CMapIMG.cpp" line="394"/>
+        <location filename="../map/CMapIMG.cpp" line="388"/>
+        <location filename="../map/CMapIMG.cpp" line="389"/>
+        <location filename="../map/CMapIMG.cpp" line="396"/>
         <source>Large lake</source>
         <translation>Lago grande</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="388"/>
-        <location filename="../map/CMapIMG.cpp" line="389"/>
+        <location filename="../map/CMapIMG.cpp" line="390"/>
+        <location filename="../map/CMapIMG.cpp" line="391"/>
         <source>Medium lake</source>
         <translation>Lago mediano</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="390"/>
-        <location filename="../map/CMapIMG.cpp" line="391"/>
+        <location filename="../map/CMapIMG.cpp" line="392"/>
+        <location filename="../map/CMapIMG.cpp" line="393"/>
         <source>Small lake</source>
         <translation>Lago pequeño</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="392"/>
-        <location filename="../map/CMapIMG.cpp" line="393"/>
+        <location filename="../map/CMapIMG.cpp" line="394"/>
+        <location filename="../map/CMapIMG.cpp" line="395"/>
         <source>Major lake</source>
         <translation>Lago principal</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="396"/>
+        <location filename="../map/CMapIMG.cpp" line="398"/>
         <source>Major River</source>
         <translation>Río Principal</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="397"/>
+        <location filename="../map/CMapIMG.cpp" line="399"/>
         <source>Large River</source>
         <translation>Río Grande</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="398"/>
+        <location filename="../map/CMapIMG.cpp" line="400"/>
         <source>Medium River</source>
         <translation>Río Mediano</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="399"/>
+        <location filename="../map/CMapIMG.cpp" line="401"/>
         <source>Small River</source>
         <translation>Río Pequeño</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="402"/>
+        <location filename="../map/CMapIMG.cpp" line="404"/>
         <source>Intermittent water</source>
         <translation>Agua intermitente</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="403"/>
+        <location filename="../map/CMapIMG.cpp" line="405"/>
         <source>Wetland/Swamp</source>
         <translation>Marisma/Ciénaga</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="404"/>
+        <location filename="../map/CMapIMG.cpp" line="406"/>
         <source>Glacier</source>
         <translation>Glaciar</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="405"/>
+        <location filename="../map/CMapIMG.cpp" line="407"/>
         <source>Orchard/Plantation</source>
         <translation>Invernadero/Plantación</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="406"/>
+        <location filename="../map/CMapIMG.cpp" line="408"/>
         <source>Scrub</source>
         <translation>Monte bajo</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="407"/>
+        <location filename="../map/CMapIMG.cpp" line="409"/>
         <source>Tundra</source>
         <translation>Tundra</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="408"/>
+        <location filename="../map/CMapIMG.cpp" line="410"/>
         <source>Flat</source>
         <translation>Llanura</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="409"/>
+        <location filename="../map/CMapIMG.cpp" line="411"/>
         <source>???</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="445"/>
+        <location filename="../map/CMapIMG.cpp" line="447"/>
         <source>Failed to read: </source>
         <translation>Fallo al leer: </translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="488"/>
+        <location filename="../map/CMapIMG.cpp" line="490"/>
         <source>Failed to open: </source>
         <translation>Fallo al abrir: </translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="512"/>
-        <location filename="../map/CMapIMG.cpp" line="516"/>
+        <location filename="../map/CMapIMG.cpp" line="514"/>
+        <location filename="../map/CMapIMG.cpp" line="518"/>
         <source>Bad file format: </source>
         <translation>Formato de archivo incorrecto: </translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="605"/>
+        <location filename="../map/CMapIMG.cpp" line="607"/>
         <source>Failed to read file structure: </source>
         <translation>Fallo al leer la estructura del archivo: </translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="638"/>
+        <location filename="../map/CMapIMG.cpp" line="640"/>
         <source>Loading %1</source>
         <translation>Cargando %1</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="643"/>
+        <location filename="../map/CMapIMG.cpp" line="645"/>
         <source>User abort: </source>
         <translation>Abortado por el usuario: </translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="646"/>
+        <location filename="../map/CMapIMG.cpp" line="648"/>
         <source>File is NT format. QMapShack is unable to read map files with NT format: </source>
         <translation>El archivo está en formato NT. QMapShack no puede leer archivos en formato NT: </translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="738"/>
+        <location filename="../map/CMapIMG.cpp" line="740"/>
         <source>File contains locked / encypted data. Garmin does not want you to use this file with any other software than the one supplied by Garmin.</source>
         <translation>El archivo contiene datos bloqueados/cifrados. Garmin no quiere que use este archivo con otros programas distintos a los que ellos proporcionan.</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="2475"/>
-        <location filename="../map/CMapIMG.cpp" line="2483"/>
-        <location filename="../map/CMapIMG.cpp" line="2487"/>
-        <location filename="../map/CMapIMG.cpp" line="2492"/>
-        <location filename="../map/CMapIMG.cpp" line="2538"/>
-        <location filename="../map/CMapIMG.cpp" line="2546"/>
-        <location filename="../map/CMapIMG.cpp" line="2550"/>
-        <location filename="../map/CMapIMG.cpp" line="2555"/>
+        <location filename="../map/CMapIMG.cpp" line="2494"/>
+        <location filename="../map/CMapIMG.cpp" line="2502"/>
+        <location filename="../map/CMapIMG.cpp" line="2506"/>
+        <location filename="../map/CMapIMG.cpp" line="2511"/>
+        <location filename="../map/CMapIMG.cpp" line="2557"/>
+        <location filename="../map/CMapIMG.cpp" line="2565"/>
+        <location filename="../map/CMapIMG.cpp" line="2569"/>
+        <location filename="../map/CMapIMG.cpp" line="2574"/>
         <source>Point of Interest</source>
         <translation>Punto de Interés</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="2682"/>
+        <location filename="../map/CMapIMG.cpp" line="2701"/>
         <source>Unknown</source>
         <translation>Desconocido</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="2728"/>
-        <location filename="../map/CMapIMG.cpp" line="2736"/>
-        <location filename="../map/CMapIMG.cpp" line="2743"/>
+        <location filename="../map/CMapIMG.cpp" line="2747"/>
+        <location filename="../map/CMapIMG.cpp" line="2755"/>
+        <location filename="../map/CMapIMG.cpp" line="2762"/>
         <source>Area</source>
         <translation>Área</translation>
     </message>
@@ -1227,15 +1227,20 @@
 <context>
     <name>CMapList</name>
     <message>
-        <location filename="../map/CMapList.cpp" line="150"/>
+        <location filename="../map/CMapList.cpp" line="155"/>
         <source>Deactivate</source>
         <translation>Desactivar</translation>
     </message>
     <message>
-        <location filename="../map/CMapList.cpp" line="150"/>
+        <location filename="../map/CMapList.cpp" line="155"/>
         <source>Activate</source>
         <translation>Activar</translation>
     </message>
+    <message>
+        <location filename="../map/CMapList.cpp" line="174"/>
+        <source>Where do you want to store maps?</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>CMapMAP</name>
@@ -1258,17 +1263,17 @@
 <context>
     <name>CMapPathSetup</name>
     <message>
-        <location filename="../map/CMapPathSetup.cpp" line="45"/>
+        <location filename="../map/CMapPathSetup.cpp" line="47"/>
         <source>Add or remove paths containing maps. There can be multiple maps in a path but no sub-path is parsed. Supported formats are: %1</source>
         <translation>Añada o elimine rutas que contengan mapas. Puede haber múltiples mapas en una ruta, pero no se buscará en subdirectorios. Los formatos soportados son: %1</translation>
     </message>
     <message>
-        <location filename="../map/CMapPathSetup.cpp" line="60"/>
+        <location filename="../map/CMapPathSetup.cpp" line="62"/>
         <source>Select map path...</source>
         <translation>Selecciona la ruta del mapa...</translation>
     </message>
     <message>
-        <location filename="../map/CMapPathSetup.cpp" line="76"/>
+        <location filename="../map/CMapPathSetup.cpp" line="78"/>
         <source>Select root path...</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1474,22 +1479,22 @@ Estructura desconocida.</translation>
 <context>
     <name>CMouseNormal</name>
     <message>
-        <location filename="../mouse/CMouseNormal.cpp" line="42"/>
+        <location filename="../mouse/CMouseNormal.cpp" line="43"/>
         <source>Add Waypoint</source>
         <translation>Añadir Waypoint</translation>
     </message>
     <message>
-        <location filename="../mouse/CMouseNormal.cpp" line="43"/>
+        <location filename="../mouse/CMouseNormal.cpp" line="44"/>
         <source>Add Track</source>
         <translation>Añadir Track</translation>
     </message>
     <message>
-        <location filename="../mouse/CMouseNormal.cpp" line="44"/>
+        <location filename="../mouse/CMouseNormal.cpp" line="45"/>
         <source>Add Area</source>
         <translation>Añadir Área</translation>
     </message>
     <message>
-        <location filename="../mouse/CMouseNormal.cpp" line="46"/>
+        <location filename="../mouse/CMouseNormal.cpp" line="47"/>
         <source>Copy position</source>
         <translation>Copiar posición</translation>
     </message>
@@ -1941,6 +1946,21 @@ no es una definición de sistema de coordenadas válido:
         <source>...</source>
         <translation>...</translation>
     </message>
+    <message>
+        <location filename="../canvas/ICanvasSetup.ui" line="53"/>
+        <source>Scales</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../canvas/ICanvasSetup.ui" line="59"/>
+        <source>Logarithmic</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../canvas/ICanvasSetup.ui" line="66"/>
+        <source>Square (optimized for TMS and WTMS tiles)</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>ICombineTrk</name>
@@ -2238,104 +2258,105 @@ no es una definición de sistema de coordenadas válido:
     <message>
         <location filename="../gis/trk/IDetailsTrk.ui" line="56"/>
         <location filename="../gis/trk/IDetailsTrk.ui" line="77"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="98"/>
         <source>-
 -</source>
         <translation>-
 -</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="182"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="203"/>
         <source>Graph Control</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="203"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="224"/>
         <source>Profile</source>
         <translation>Perfil</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="210"/>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="446"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="231"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="467"/>
         <source>Speed</source>
         <translation>Velocidad</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="217"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="238"/>
         <source>Progress</source>
         <translation>Progreso</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="227"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="248"/>
         <source>Track</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="253"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="274"/>
         <source>...</source>
         <translation>...</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="378"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="399"/>
         <source>Points</source>
         <translation>Puntos</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="426"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="447"/>
         <source>Time</source>
         <translation>Tiempo</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="431"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="452"/>
         <source>Ele.</source>
         <translation>Altitud</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="436"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="457"/>
         <source>Delta</source>
         <translation>Delta</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="441"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="462"/>
         <source>Dist.</source>
         <translation>Distancia</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="451"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="472"/>
         <source>Slope</source>
         <translation>Pendiente</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="456"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="477"/>
         <source>Ascend</source>
         <translation>Ascenso</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="461"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="482"/>
         <source>Descend</source>
         <translation>Descenso</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="466"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="487"/>
         <source>Position</source>
         <translation>Posición</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="350"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="371"/>
         <source>Info</source>
         <translation>Información</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="308"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="329"/>
         <source>-</source>
         <translation>-</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="475"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="496"/>
         <source>Filter</source>
         <translation>Filtro</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="512"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="533"/>
         <source>Hist.</source>
         <translation>Historial</translation>
     </message>
@@ -3108,7 +3129,13 @@ no es una definición de sistema de coordenadas válido:
         <translation>Use el menú contextual (botón derecho del ratón, y seleccione) para activar un mapa. Use arrastrar y soltar para mover el mapa activado en el orden de dibujado. </translation>
     </message>
     <message>
-        <location filename="../map/IMapList.ui" line="141"/>
+        <location filename="../map/IMapList.ui" line="129"/>
+        <source>Help! I want maps!
+I don't want to read the documentation!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../map/IMapList.ui" line="149"/>
         <source>Activate</source>
         <translation>Activar</translation>
     </message>
@@ -3133,6 +3160,12 @@ no es una definición de sistema de coordenadas válido:
         <translation>...</translation>
     </message>
     <message>
+        <location filename="../map/IMapPathSetup.ui" line="185"/>
+        <source>Help! I want maps!
+I don't want to read the documentation!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <location filename="../map/IMapPathSetup.ui" line="29"/>
         <location filename="../map/IMapPathSetup.ui" line="135"/>
         <source>-</source>
@@ -3245,22 +3278,22 @@ no es una definición de sistema de coordenadas válido:
 <context>
     <name>IMouseEditLine</name>
     <message>
-        <location filename="../mouse/IMouseEditLine.cpp" line="338"/>
+        <location filename="../mouse/IMouseEditLine.cpp" line="344"/>
         <source>Add points?</source>
         <translation>¿Añadir puntos?</translation>
     </message>
     <message>
-        <location filename="../mouse/IMouseEditLine.cpp" line="338"/>
+        <location filename="../mouse/IMouseEditLine.cpp" line="344"/>
         <source>Add points to temporary line?</source>
         <translation>¿Añadir puntos a la línea temporal?</translation>
     </message>
     <message>
-        <location filename="../mouse/IMouseEditLine.cpp" line="881"/>
+        <location filename="../mouse/IMouseEditLine.cpp" line="887"/>
         <source>Warning!</source>
         <translation>¡Cuidado!</translation>
     </message>
     <message>
-        <location filename="../mouse/IMouseEditLine.cpp" line="881"/>
+        <location filename="../mouse/IMouseEditLine.cpp" line="887"/>
         <source>This will replace all data of the orignal by a simple line of coordinates. All other data will be lost permanently.</source>
         <translation>Esto sustituirá todos los datos del original con una simple línea de coordenadas. Todos los demás datos se perderán definitivamente.</translation>
     </message>
@@ -3282,17 +3315,22 @@ no es una definición de sistema de coordenadas válido:
 <context>
     <name>IPlot</name>
     <message>
-        <location filename="../plot/IPlot.cpp" line="101"/>
+        <location filename="../plot/IPlot.cpp" line="108"/>
+        <source>Stop Range</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../plot/IPlot.cpp" line="109"/>
         <source>Save...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../plot/IPlot.cpp" line="500"/>
+        <location filename="../plot/IPlot.cpp" line="602"/>
         <source>No or bad data.</source>
         <translation>Datos incorrectos o inexistentes.</translation>
     </message>
     <message>
-        <location filename="../plot/IPlot.cpp" line="1015"/>
+        <location filename="../plot/IPlot.cpp" line="1128"/>
         <source>Select output file</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4184,33 +4222,43 @@ Areas: %1</source>
 Áreas: %1</translation>
     </message>
     <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="239"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="66"/>
+        <source>Save project?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/prj/IGisProject.cpp" line="66"/>
+        <source>The project "%1" was changed. Save befor closing it?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/prj/IGisProject.cpp" line="255"/>
         <source><br/>
 Filename: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="256"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="272"/>
         <source>Waypoints: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="260"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="276"/>
         <source>Tracks: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="264"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="280"/>
         <source>Routes: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="268"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="284"/>
         <source>Areas: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="329"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="345"/>
         <source>Are you sure you want to delete '%1' from project '%2'?</source>
         <translation>¿Desea realmente eleiminar '%1' del proyecto '%2'?</translation>
     </message>
@@ -4221,7 +4269,7 @@ Filename: %1</source>
     </message>
     <message>
         <location filename="../gis/CGisListDB.cpp" line="408"/>
-        <location filename="../gis/prj/IGisProject.cpp" line="330"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="346"/>
         <source>Delete...</source>
         <translation>Borrar...</translation>
     </message>
@@ -4283,113 +4331,149 @@ Filename: %1</source>
         <translation>Fallo al escribir en el archivo '%1'</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="376"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="402"/>
         <source>Length: %1 %2</source>
         <translation>Longitud: %1 %2</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="383"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="409"/>
         <source>, %1%2 %3, %4%5 %6</source>
         <translation>, %1%2 %3, %4%5 %6</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="391"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="417"/>
         <source>Time: %1</source>
         <translation>Tiempo: %1</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="394"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="404"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="420"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="430"/>
         <source>, Speed: %1 %2</source>
         <translation>, Velocidad: %1 %2</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="401"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="427"/>
         <source>Moving: %1</source>
         <translation>En movimiento: %1</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="410"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="436"/>
         <source>Start: %1</source>
         <translation>Comienzo: %1</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="415"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="441"/>
         <source>End: %1</source>
         <translation>Final: %1</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="419"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="445"/>
         <source>Points: %1 (%2)</source>
         <translation>Puntos: %1 (%2)</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="502"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="563"/>
         <source>Ele.: %1 %2</source>
         <translation>Altitud: %1 %2</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="505"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="566"/>
         <source> slope: %1%3 (%2%)</source>
         <translation> pendiente: %1%3 (%2%)</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="510"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="571"/>
         <source> speed: %1%2</source>
         <translation> velocidad: %1%2</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="522"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="583"/>
         <source>Ascend: %1%2 (%3%)</source>
         <translation>Ascenso: %1%2 (%3%)</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="526"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="587"/>
         <source>Ascend: - (-)</source>
         <translation>Ascenso: - (-)</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="536"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="597"/>
         <source> Descend: - (-) </source>
         <translation> Descenso: - (-) </translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="557"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="618"/>
         <source> Moving: - (-) </source>
         <translation> En movimiento: - (-) </translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1208"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="637"/>
+        <source>Ascend: %1%2</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="642"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="659"/>
+        <source>, %1%2</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="647"/>
+        <source>Ascend: -</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="654"/>
+        <source> Descend: %1%2</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="664"/>
+        <source>Descend: -</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="670"/>
+        <source>Dist.: %1%2</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="675"/>
+        <source> Time: %1%2</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1334"/>
         <source>Hide points.</source>
         <translation>Ocultar puntos.</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1253"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1380"/>
         <source>Show points.</source>
         <translation>Mostrar puntos.</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="532"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="593"/>
         <source> Descend: %1%2 (%3%)</source>
         <translation> Descenso: %1%2 (%3%)</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="300"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="326"/>
         <source>Changed trackpoints, sacrificed all previous data.</source>
         <translation>Se cambiaron los puntos del track, y descartados todos los datos previos.</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="543"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="604"/>
         <source>Dist.: %1%2 (%3%)</source>
         <translation>Distancia: %1%2 (%3%)</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="547"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="608"/>
         <source>Dist.: - (-)</source>
         <translation>Dist.: - (-)</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="553"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="614"/>
         <source> Moving: %1%2 (%3%)</source>
         <translation> En movimiento: %1%2 (%3%)</translation>
     </message>
@@ -4416,7 +4500,7 @@ Filename: %1</source>
     <message>
         <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="142"/>
         <location filename="../gis/rte/CGisItemRte.cpp" line="45"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="177"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="184"/>
         <location filename="../gis/wpt/CGisItemWpt.cpp" line="102"/>
         <source>_Clone</source>
         <translation type="unfinished"></translation>
@@ -4464,14 +4548,14 @@ Filename: %1</source>
     <message>
         <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="520"/>
         <location filename="../gis/rte/CGisItemRte.cpp" line="139"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1587"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1739"/>
         <location filename="../gis/wpt/CGisItemWpt.cpp" line="376"/>
         <source>Changed links</source>
         <translation>Se cambió el enlace</translation>
     </message>
     <message>
         <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="532"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1599"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1751"/>
         <source>Changed color</source>
         <translation>Se cambió el color</translation>
     </message>
@@ -4486,17 +4570,17 @@ Filename: %1</source>
         <translation>Proximidad: %1 %2</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1569"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1721"/>
         <location filename="../gis/wpt/CGisItemWpt.cpp" line="324"/>
         <source>Changed name</source>
         <translation>Se cambió el nombre</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1027"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1042"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1061"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1120"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1278"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1152"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1167"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1186"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1245"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1405"/>
         <location filename="../gis/wpt/CGisItemWpt.cpp" line="190"/>
         <location filename="../mouse/CMouseEditArea.cpp" line="100"/>
         <location filename="../mouse/CMouseEditTrk.cpp" line="104"/>
@@ -4540,14 +4624,14 @@ Filename: %1</source>
     </message>
     <message>
         <location filename="../gis/rte/CGisItemRte.cpp" line="127"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1575"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1727"/>
         <location filename="../gis/wpt/CGisItemWpt.cpp" line="364"/>
         <source>Changed comment</source>
         <translation>Se cambió el comentario</translation>
     </message>
     <message>
         <location filename="../gis/rte/CGisItemRte.cpp" line="133"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1581"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1733"/>
         <location filename="../gis/wpt/CGisItemWpt.cpp" line="370"/>
         <source>Changed description</source>
         <translation>Se cambió la descripción</translation>
@@ -4633,11 +4717,11 @@ Filename: %1</source>
         <translation><p>--- sin links ---</p></translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1027"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1042"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1061"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1120"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1278"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1152"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1167"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1186"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1245"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1405"/>
         <location filename="../mouse/CMouseEditTrk.cpp" line="104"/>
         <source>Enter new track name.</source>
         <translation>Introduzca el nombre del nuevo track.</translation>
@@ -4744,12 +4828,12 @@ Filename: %1</source>
         <translation>Velocidad modificada a %1%2.</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="910"/>
+        <location filename="../gis/CGisListWks.cpp" line="944"/>
         <source>Delete project...</source>
         <translation>Eliminar Proyecto...</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="910"/>
+        <location filename="../gis/CGisListWks.cpp" line="944"/>
         <source>Do you really want to delete %1?</source>
         <translation>¿Desea realmente eliminar %1?</translation>
     </message>
@@ -4757,16 +4841,16 @@ Filename: %1</source>
         <location filename="../gis/tnv/CTwoNavProject.cpp" line="87"/>
         <location filename="../gis/tnv/CTwoNavProject.cpp" line="191"/>
         <location filename="../gis/tnv/serialization.cpp" line="295"/>
-        <location filename="../gis/tnv/serialization.cpp" line="416"/>
-        <location filename="../gis/tnv/serialization.cpp" line="445"/>
-        <location filename="../gis/tnv/serialization.cpp" line="456"/>
-        <location filename="../gis/tnv/serialization.cpp" line="477"/>
-        <location filename="../gis/tnv/serialization.cpp" line="618"/>
-        <location filename="../gis/tnv/serialization.cpp" line="646"/>
-        <location filename="../gis/tnv/serialization.cpp" line="657"/>
-        <location filename="../gis/tnv/serialization.cpp" line="675"/>
-        <location filename="../gis/tnv/serialization.cpp" line="703"/>
-        <location filename="../gis/tnv/serialization.cpp" line="777"/>
+        <location filename="../gis/tnv/serialization.cpp" line="431"/>
+        <location filename="../gis/tnv/serialization.cpp" line="460"/>
+        <location filename="../gis/tnv/serialization.cpp" line="471"/>
+        <location filename="../gis/tnv/serialization.cpp" line="492"/>
+        <location filename="../gis/tnv/serialization.cpp" line="632"/>
+        <location filename="../gis/tnv/serialization.cpp" line="660"/>
+        <location filename="../gis/tnv/serialization.cpp" line="671"/>
+        <location filename="../gis/tnv/serialization.cpp" line="689"/>
+        <location filename="../gis/tnv/serialization.cpp" line="717"/>
+        <location filename="../gis/tnv/serialization.cpp" line="791"/>
         <source>Error...</source>
         <translation>Error...</translation>
     </message>
@@ -4774,31 +4858,36 @@ Filename: %1</source>
         <location filename="../gis/tnv/CTwoNavProject.cpp" line="87"/>
         <location filename="../gis/tnv/CTwoNavProject.cpp" line="191"/>
         <location filename="../gis/tnv/serialization.cpp" line="295"/>
-        <location filename="../gis/tnv/serialization.cpp" line="416"/>
-        <location filename="../gis/tnv/serialization.cpp" line="618"/>
+        <location filename="../gis/tnv/serialization.cpp" line="431"/>
+        <location filename="../gis/tnv/serialization.cpp" line="632"/>
         <source>Failed to open %1.</source>
         <translation>Fallo al abrir %1.</translation>
     </message>
     <message>
-        <location filename="../gis/tnv/serialization.cpp" line="445"/>
-        <location filename="../gis/tnv/serialization.cpp" line="456"/>
-        <location filename="../gis/tnv/serialization.cpp" line="646"/>
-        <location filename="../gis/tnv/serialization.cpp" line="657"/>
+        <location filename="../gis/tnv/serialization.cpp" line="460"/>
+        <location filename="../gis/tnv/serialization.cpp" line="471"/>
+        <location filename="../gis/tnv/serialization.cpp" line="660"/>
+        <location filename="../gis/tnv/serialization.cpp" line="671"/>
         <source>Only support lon/lat WGS 84 format.</source>
         <translation type="unfinished">Solamente soporta formato lon/lat WGS84.</translation>
     </message>
     <message>
-        <location filename="../gis/tnv/serialization.cpp" line="477"/>
-        <location filename="../gis/tnv/serialization.cpp" line="675"/>
-        <location filename="../gis/tnv/serialization.cpp" line="703"/>
-        <location filename="../gis/tnv/serialization.cpp" line="777"/>
+        <location filename="../gis/tnv/serialization.cpp" line="492"/>
+        <location filename="../gis/tnv/serialization.cpp" line="689"/>
+        <location filename="../gis/tnv/serialization.cpp" line="717"/>
+        <location filename="../gis/tnv/serialization.cpp" line="791"/>
         <source>Failed to read data.</source>
         <translation>Fallo al leer los datos.</translation>
     </message>
     <message>
-        <location filename="../device/CDeviceGarmin.cpp" line="202"/>
+        <location filename="../device/CDeviceGarmin.cpp" line="207"/>
         <source>Picture%1</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../device/IDevice.cpp" line="202"/>
+        <source>There is another project with the same name. If you press 'ok' it will be removed and replaced.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 </TS>
diff --git a/src/locale/qmapshack_fr.ts b/src/locale/qmapshack_fr.ts
index 8059b93..6f54592 100644
--- a/src/locale/qmapshack_fr.ts
+++ b/src/locale/qmapshack_fr.ts
@@ -227,22 +227,22 @@
         <translation>Découper la trace</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="218"/>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="227"/>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="230"/>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="236"/>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="255"/>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="257"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="222"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="231"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="234"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="240"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="259"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="261"/>
         <source>%1 %2</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="370"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="397"/>
         <source>Edit name...</source>
         <translation type="unfinished">Éditer le nom...</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="370"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="397"/>
         <source>Enter new track name.</source>
         <translation type="unfinished">Saisir le nouveau nom de la trace.</translation>
     </message>
@@ -446,19 +446,19 @@
         <translation>Chargement de l'espace de travail. Patientez.</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="1176"/>
+        <location filename="../gis/CGisListWks.cpp" line="909"/>
         <source>Close all projects...</source>
         <translation>Fermer tous les projets...</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="1176"/>
+        <location filename="../gis/CGisListWks.cpp" line="909"/>
         <source>This will remove all projects from the workspace.</source>
         <translation>Ceci enlevera tous les projets de l'espace de travail.</translation>
     </message>
     <message>
         <location filename="../gis/CGisListWks.cpp" line="586"/>
-        <location filename="../gis/CGisListWks.cpp" line="1237"/>
-        <location filename="../gis/CGisListWks.cpp" line="1275"/>
+        <location filename="../gis/CGisListWks.cpp" line="1253"/>
+        <location filename="../gis/CGisListWks.cpp" line="1292"/>
         <source><b>Update devices</b><p>Update %1<br/>Please wait...</p></source>
         <translation><b>Mise à jour des appareils</b><p>Mise à jour de %1<br/>Patientez...</p></translation>
     </message>
@@ -518,22 +518,22 @@
 <context>
     <name>CMainWindow</name>
     <message>
-        <location filename="../CMainWindow.cpp" line="476"/>
+        <location filename="../CMainWindow.cpp" line="485"/>
         <source>Ele: %1%2</source>
         <translation>Altitude: %1%2</translation>
     </message>
     <message>
-        <location filename="../CMainWindow.cpp" line="602"/>
+        <location filename="../CMainWindow.cpp" line="611"/>
         <source>Load GIS Data...</source>
         <translation>Charger des données SIG...</translation>
     </message>
     <message>
-        <location filename="../CMainWindow.cpp" line="636"/>
+        <location filename="../CMainWindow.cpp" line="645"/>
         <source>Select output file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../CMainWindow.cpp" line="662"/>
+        <location filename="../CMainWindow.cpp" line="671"/>
         <source>Select file to load</source>
         <translation type="unfinished"></translation>
     </message>
@@ -541,630 +541,630 @@
 <context>
     <name>CMapIMG</name>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="151"/>
+        <location filename="../map/CMapIMG.cpp" line="153"/>
         <source>Failed ...</source>
         <translation>Échec...</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="166"/>
+        <location filename="../map/CMapIMG.cpp" line="168"/>
         <source>Unspecified</source>
         <translation>Non défini</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="167"/>
+        <location filename="../map/CMapIMG.cpp" line="169"/>
         <source>French</source>
         <translation>Français</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="168"/>
+        <location filename="../map/CMapIMG.cpp" line="170"/>
         <source>German</source>
         <translation>Deutsch</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="169"/>
+        <location filename="../map/CMapIMG.cpp" line="171"/>
         <source>Dutch</source>
         <translation>Néerlandais</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="170"/>
+        <location filename="../map/CMapIMG.cpp" line="172"/>
         <source>English</source>
         <translation>Anglais</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="171"/>
+        <location filename="../map/CMapIMG.cpp" line="173"/>
         <source>Italian</source>
         <translation>Italien</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="172"/>
+        <location filename="../map/CMapIMG.cpp" line="174"/>
         <source>Finnish</source>
         <translation>Finlandais</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="173"/>
+        <location filename="../map/CMapIMG.cpp" line="175"/>
         <source>Swedish</source>
         <translation>Suédois</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="174"/>
+        <location filename="../map/CMapIMG.cpp" line="176"/>
         <source>Spanish</source>
         <translation>Espagnol</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="175"/>
+        <location filename="../map/CMapIMG.cpp" line="177"/>
         <source>Basque</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="176"/>
+        <location filename="../map/CMapIMG.cpp" line="178"/>
         <source>Catalan</source>
         <translation>Catalan</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="177"/>
+        <location filename="../map/CMapIMG.cpp" line="179"/>
         <source>Galician</source>
         <translation>Galicien</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="178"/>
+        <location filename="../map/CMapIMG.cpp" line="180"/>
         <source>Welsh</source>
         <translation>Gallois</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="179"/>
+        <location filename="../map/CMapIMG.cpp" line="181"/>
         <source>Gaelic</source>
         <translation>Gaëlic</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="180"/>
+        <location filename="../map/CMapIMG.cpp" line="182"/>
         <source>Danish</source>
         <translation>Danois</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="181"/>
+        <location filename="../map/CMapIMG.cpp" line="183"/>
         <source>Norwegian</source>
         <translation>Norvégien</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="182"/>
+        <location filename="../map/CMapIMG.cpp" line="184"/>
         <source>Portuguese</source>
         <translation>Portugais</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="183"/>
+        <location filename="../map/CMapIMG.cpp" line="185"/>
         <source>Slovak</source>
         <translation>Slovaque</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="184"/>
+        <location filename="../map/CMapIMG.cpp" line="186"/>
         <source>Czech</source>
         <translation>Tchèque</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="185"/>
+        <location filename="../map/CMapIMG.cpp" line="187"/>
         <source>Croatian</source>
         <translation>Croate</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="186"/>
+        <location filename="../map/CMapIMG.cpp" line="188"/>
         <source>Hungarian</source>
         <translation>Hongrois</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="187"/>
+        <location filename="../map/CMapIMG.cpp" line="189"/>
         <source>Polish</source>
         <translation>Polonais</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="188"/>
+        <location filename="../map/CMapIMG.cpp" line="190"/>
         <source>Turkish</source>
         <translation>Turque</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="189"/>
+        <location filename="../map/CMapIMG.cpp" line="191"/>
         <source>Greek</source>
         <translation>Grèc</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="190"/>
+        <location filename="../map/CMapIMG.cpp" line="192"/>
         <source>Slovenian</source>
         <translation>Slovène</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="191"/>
+        <location filename="../map/CMapIMG.cpp" line="193"/>
         <source>Russian</source>
         <translation>Russe</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="192"/>
+        <location filename="../map/CMapIMG.cpp" line="194"/>
         <source>Estonian</source>
         <translation>Estonien</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="193"/>
+        <location filename="../map/CMapIMG.cpp" line="195"/>
         <source>Latvian</source>
         <translation>Letton</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="194"/>
+        <location filename="../map/CMapIMG.cpp" line="196"/>
         <source>Romanian</source>
         <translation>Roumain</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="195"/>
+        <location filename="../map/CMapIMG.cpp" line="197"/>
         <source>Albanian</source>
         <translation>Albanais</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="196"/>
+        <location filename="../map/CMapIMG.cpp" line="198"/>
         <source>Bosnian</source>
         <translation>Bosnien</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="197"/>
+        <location filename="../map/CMapIMG.cpp" line="199"/>
         <source>Lithuanian</source>
         <translation>Lituanien</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="198"/>
+        <location filename="../map/CMapIMG.cpp" line="200"/>
         <source>Serbian</source>
         <translation>Serbe</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="199"/>
+        <location filename="../map/CMapIMG.cpp" line="201"/>
         <source>Macedonian</source>
         <translation>Macédonien</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="200"/>
+        <location filename="../map/CMapIMG.cpp" line="202"/>
         <source>Bulgarian</source>
         <translation>Bulgare</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="257"/>
+        <location filename="../map/CMapIMG.cpp" line="259"/>
         <source>Major highway</source>
         <translation>Route majeure</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="258"/>
+        <location filename="../map/CMapIMG.cpp" line="260"/>
         <source>Principal highway</source>
         <translation>Route principale</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="259"/>
+        <location filename="../map/CMapIMG.cpp" line="261"/>
         <source>Other highway</source>
         <translation>Autre route</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="260"/>
+        <location filename="../map/CMapIMG.cpp" line="262"/>
         <source>Arterial road</source>
         <translation>Artère urbaine</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="261"/>
+        <location filename="../map/CMapIMG.cpp" line="263"/>
         <source>Collector road</source>
         <translation>Rue principale</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="262"/>
+        <location filename="../map/CMapIMG.cpp" line="264"/>
         <source>Residential street</source>
         <translation>Rue résidentielle</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="263"/>
+        <location filename="../map/CMapIMG.cpp" line="265"/>
         <source>Alley/Private road</source>
         <translation>Ruelle/Route privée</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="264"/>
+        <location filename="../map/CMapIMG.cpp" line="266"/>
         <source>Highway ramp, low speed</source>
         <translation>Bretelle d'accès, basse vitesse</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="265"/>
+        <location filename="../map/CMapIMG.cpp" line="267"/>
         <source>Highway ramp, high speed</source>
         <translation>Bretelle d'accès, grande vitesse</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="266"/>
+        <location filename="../map/CMapIMG.cpp" line="268"/>
         <source>Unpaved road</source>
         <translation>Route non bitumé</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="267"/>
+        <location filename="../map/CMapIMG.cpp" line="269"/>
         <source>Major highway connector</source>
         <translation>Bretelle majeure</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="268"/>
+        <location filename="../map/CMapIMG.cpp" line="270"/>
         <source>Roundabout</source>
         <translation>Rond-point</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="269"/>
+        <location filename="../map/CMapIMG.cpp" line="271"/>
         <source>Railroad</source>
         <translation>Voie ferrée</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="270"/>
+        <location filename="../map/CMapIMG.cpp" line="272"/>
         <source>Shoreline</source>
         <translation>Ligne côtière</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="271"/>
+        <location filename="../map/CMapIMG.cpp" line="273"/>
         <source>Trail</source>
         <translation>Sentier</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="272"/>
+        <location filename="../map/CMapIMG.cpp" line="274"/>
         <source>Stream</source>
         <translation>Ruisseau</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="273"/>
+        <location filename="../map/CMapIMG.cpp" line="275"/>
         <source>Time zone</source>
         <translation>Fuseau horaire</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="274"/>
-        <location filename="../map/CMapIMG.cpp" line="275"/>
+        <location filename="../map/CMapIMG.cpp" line="276"/>
+        <location filename="../map/CMapIMG.cpp" line="277"/>
         <source>Ferry</source>
         <translation>Bac</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="276"/>
+        <location filename="../map/CMapIMG.cpp" line="278"/>
         <source>State/province border</source>
         <translation>Frontière de province</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="277"/>
+        <location filename="../map/CMapIMG.cpp" line="279"/>
         <source>County/parish border</source>
         <translation>Frontière de canton</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="278"/>
+        <location filename="../map/CMapIMG.cpp" line="280"/>
         <source>International border</source>
         <translation>Frontière internationale</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="279"/>
+        <location filename="../map/CMapIMG.cpp" line="281"/>
         <source>River</source>
         <translation>Rivière</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="280"/>
+        <location filename="../map/CMapIMG.cpp" line="282"/>
         <source>Minor land contour</source>
         <translation>Courbe de niveau mineure</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="281"/>
+        <location filename="../map/CMapIMG.cpp" line="283"/>
         <source>Intermediate land contour</source>
         <translation>Courbe de niveau intermédiaire</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="282"/>
+        <location filename="../map/CMapIMG.cpp" line="284"/>
         <source>Major land contour</source>
         <translation>Courbe de niveau majeure</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="283"/>
+        <location filename="../map/CMapIMG.cpp" line="285"/>
         <source>Minor depth contour</source>
         <translation>Courbe isobathe mineure</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="284"/>
+        <location filename="../map/CMapIMG.cpp" line="286"/>
         <source>Intermediate depth contour</source>
         <translation>Courbe isobathe intermédiaire</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="285"/>
+        <location filename="../map/CMapIMG.cpp" line="287"/>
         <source>Major depth contour</source>
         <translation>Courbe isobathe majeure</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="286"/>
+        <location filename="../map/CMapIMG.cpp" line="288"/>
         <source>Intermittent stream</source>
         <translation>Ruisseau intermittent</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="287"/>
-        <location filename="../map/CMapIMG.cpp" line="369"/>
+        <location filename="../map/CMapIMG.cpp" line="289"/>
+        <location filename="../map/CMapIMG.cpp" line="371"/>
         <source>Airport runway</source>
         <translation>Tarmac</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="288"/>
+        <location filename="../map/CMapIMG.cpp" line="290"/>
         <source>Pipeline</source>
         <translation>Oléoduc</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="289"/>
+        <location filename="../map/CMapIMG.cpp" line="291"/>
         <source>Powerline</source>
         <translation>Ligne à haute tension</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="290"/>
+        <location filename="../map/CMapIMG.cpp" line="292"/>
         <source>Marine boundary</source>
         <translation>Frontière maritime</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="291"/>
+        <location filename="../map/CMapIMG.cpp" line="293"/>
         <source>Hazard boundary</source>
         <translation>Limite de zone à risque</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="356"/>
+        <location filename="../map/CMapIMG.cpp" line="358"/>
         <source>Large urban area (&gt;200K)</source>
         <translation>Grande agglomération urbaine (&gt;200K)</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="357"/>
+        <location filename="../map/CMapIMG.cpp" line="359"/>
         <source>Small urban area (&lt;200K)</source>
         <translation>Petite agglomération urbaine (&lt;200K)</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="358"/>
+        <location filename="../map/CMapIMG.cpp" line="360"/>
         <source>Rural housing area</source>
         <translation>Zone résidentielle rurale</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="359"/>
+        <location filename="../map/CMapIMG.cpp" line="361"/>
         <source>Military base</source>
         <translation>Base militaire</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="360"/>
+        <location filename="../map/CMapIMG.cpp" line="362"/>
         <source>Parking lot</source>
         <translation>Parking</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="361"/>
+        <location filename="../map/CMapIMG.cpp" line="363"/>
         <source>Parking garage</source>
         <translation>Parking couvert</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="362"/>
+        <location filename="../map/CMapIMG.cpp" line="364"/>
         <source>Airport</source>
         <translation>Aéroport</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="363"/>
+        <location filename="../map/CMapIMG.cpp" line="365"/>
         <source>Shopping center</source>
         <translation>Centre commercial</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="364"/>
+        <location filename="../map/CMapIMG.cpp" line="366"/>
         <source>Marina</source>
         <translation>Marina</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="365"/>
+        <location filename="../map/CMapIMG.cpp" line="367"/>
         <source>University/College</source>
         <translation>Université</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="366"/>
+        <location filename="../map/CMapIMG.cpp" line="368"/>
         <source>Hospital</source>
         <translation>Hôpital</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="367"/>
+        <location filename="../map/CMapIMG.cpp" line="369"/>
         <source>Industrial complex</source>
         <translation>Complexe industriel</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="368"/>
+        <location filename="../map/CMapIMG.cpp" line="370"/>
         <source>Reservation</source>
         <translation>Reserve naturelle</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="370"/>
+        <location filename="../map/CMapIMG.cpp" line="372"/>
         <source>Man-made area</source>
         <translation>Zone industrielle</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="371"/>
+        <location filename="../map/CMapIMG.cpp" line="373"/>
         <source>Sports complex</source>
         <translation>Complexe sportif</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="372"/>
+        <location filename="../map/CMapIMG.cpp" line="374"/>
         <source>Golf course</source>
         <translation>Golf</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="373"/>
+        <location filename="../map/CMapIMG.cpp" line="375"/>
         <source>Cemetery</source>
         <translation>Cimetière</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="374"/>
-        <location filename="../map/CMapIMG.cpp" line="375"/>
         <location filename="../map/CMapIMG.cpp" line="376"/>
+        <location filename="../map/CMapIMG.cpp" line="377"/>
+        <location filename="../map/CMapIMG.cpp" line="378"/>
         <source>National park</source>
         <translation>Parc national</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="377"/>
+        <location filename="../map/CMapIMG.cpp" line="379"/>
         <source>City park</source>
         <translation>Parc urbain</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="378"/>
-        <location filename="../map/CMapIMG.cpp" line="379"/>
         <location filename="../map/CMapIMG.cpp" line="380"/>
+        <location filename="../map/CMapIMG.cpp" line="381"/>
+        <location filename="../map/CMapIMG.cpp" line="382"/>
         <source>State park</source>
         <translation>Parc régional</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="381"/>
+        <location filename="../map/CMapIMG.cpp" line="383"/>
         <source>Forest</source>
         <translation>Forêt</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="382"/>
+        <location filename="../map/CMapIMG.cpp" line="384"/>
         <source>Ocean</source>
         <translation>Océan</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="383"/>
         <location filename="../map/CMapIMG.cpp" line="385"/>
-        <location filename="../map/CMapIMG.cpp" line="395"/>
+        <location filename="../map/CMapIMG.cpp" line="387"/>
+        <location filename="../map/CMapIMG.cpp" line="397"/>
         <source>Blue (unknown)</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="384"/>
+        <location filename="../map/CMapIMG.cpp" line="386"/>
         <source>Sea</source>
         <translation>Mer</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="386"/>
-        <location filename="../map/CMapIMG.cpp" line="387"/>
-        <location filename="../map/CMapIMG.cpp" line="394"/>
+        <location filename="../map/CMapIMG.cpp" line="388"/>
+        <location filename="../map/CMapIMG.cpp" line="389"/>
+        <location filename="../map/CMapIMG.cpp" line="396"/>
         <source>Large lake</source>
         <translation>Grand lac</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="388"/>
-        <location filename="../map/CMapIMG.cpp" line="389"/>
+        <location filename="../map/CMapIMG.cpp" line="390"/>
+        <location filename="../map/CMapIMG.cpp" line="391"/>
         <source>Medium lake</source>
         <translation>Lac moyen</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="390"/>
-        <location filename="../map/CMapIMG.cpp" line="391"/>
+        <location filename="../map/CMapIMG.cpp" line="392"/>
+        <location filename="../map/CMapIMG.cpp" line="393"/>
         <source>Small lake</source>
         <translation>Petit lac</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="392"/>
-        <location filename="../map/CMapIMG.cpp" line="393"/>
+        <location filename="../map/CMapIMG.cpp" line="394"/>
+        <location filename="../map/CMapIMG.cpp" line="395"/>
         <source>Major lake</source>
         <translation>Lac majeur</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="396"/>
+        <location filename="../map/CMapIMG.cpp" line="398"/>
         <source>Major River</source>
         <translation>Rivière majeure</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="397"/>
+        <location filename="../map/CMapIMG.cpp" line="399"/>
         <source>Large River</source>
         <translation>Grande rivière</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="398"/>
+        <location filename="../map/CMapIMG.cpp" line="400"/>
         <source>Medium River</source>
         <translation>Rivière moyenne</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="399"/>
+        <location filename="../map/CMapIMG.cpp" line="401"/>
         <source>Small River</source>
         <translation>Petite rivière</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="402"/>
+        <location filename="../map/CMapIMG.cpp" line="404"/>
         <source>Intermittent water</source>
         <translation>Cours d'eau intermittent</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="403"/>
+        <location filename="../map/CMapIMG.cpp" line="405"/>
         <source>Wetland/Swamp</source>
         <translation>Marais</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="404"/>
+        <location filename="../map/CMapIMG.cpp" line="406"/>
         <source>Glacier</source>
         <translation>Glacier</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="405"/>
+        <location filename="../map/CMapIMG.cpp" line="407"/>
         <source>Orchard/Plantation</source>
         <translation>Verger</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="406"/>
+        <location filename="../map/CMapIMG.cpp" line="408"/>
         <source>Scrub</source>
         <translation>Broussaille</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="407"/>
+        <location filename="../map/CMapIMG.cpp" line="409"/>
         <source>Tundra</source>
         <translation>Tundra</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="408"/>
+        <location filename="../map/CMapIMG.cpp" line="410"/>
         <source>Flat</source>
         <translation>Plaine</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="409"/>
+        <location filename="../map/CMapIMG.cpp" line="411"/>
         <source>???</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="445"/>
+        <location filename="../map/CMapIMG.cpp" line="447"/>
         <source>Failed to read: </source>
         <translation>Erreur de lecture : </translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="488"/>
+        <location filename="../map/CMapIMG.cpp" line="490"/>
         <source>Failed to open: </source>
         <translation>Échec d'ouverture : </translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="512"/>
-        <location filename="../map/CMapIMG.cpp" line="516"/>
+        <location filename="../map/CMapIMG.cpp" line="514"/>
+        <location filename="../map/CMapIMG.cpp" line="518"/>
         <source>Bad file format: </source>
         <translation>Format de fichier invalide : </translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="605"/>
+        <location filename="../map/CMapIMG.cpp" line="607"/>
         <source>Failed to read file structure: </source>
         <translation>Erreur de lecture de la structure du fichier : </translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="638"/>
+        <location filename="../map/CMapIMG.cpp" line="640"/>
         <source>Loading %1</source>
         <translation>Chargement de %1</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="643"/>
+        <location filename="../map/CMapIMG.cpp" line="645"/>
         <source>User abort: </source>
         <translation>Interruption par l'utilisateur : </translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="646"/>
+        <location filename="../map/CMapIMG.cpp" line="648"/>
         <source>File is NT format. QMapShack is unable to read map files with NT format: </source>
         <translation>Le fichier est au format NT. QMapShack ne peut pas lire des fichiers au format NT : </translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="738"/>
+        <location filename="../map/CMapIMG.cpp" line="740"/>
         <source>File contains locked / encypted data. Garmin does not want you to use this file with any other software than the one supplied by Garmin.</source>
         <translation>Le fichier contient des données verrouillées / cryptées. Garmin ne vous autorise pas d'utiliser ce fichier avec un logiciel non fourni par Garmin.</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="2475"/>
-        <location filename="../map/CMapIMG.cpp" line="2483"/>
-        <location filename="../map/CMapIMG.cpp" line="2487"/>
-        <location filename="../map/CMapIMG.cpp" line="2492"/>
-        <location filename="../map/CMapIMG.cpp" line="2538"/>
-        <location filename="../map/CMapIMG.cpp" line="2546"/>
-        <location filename="../map/CMapIMG.cpp" line="2550"/>
-        <location filename="../map/CMapIMG.cpp" line="2555"/>
+        <location filename="../map/CMapIMG.cpp" line="2494"/>
+        <location filename="../map/CMapIMG.cpp" line="2502"/>
+        <location filename="../map/CMapIMG.cpp" line="2506"/>
+        <location filename="../map/CMapIMG.cpp" line="2511"/>
+        <location filename="../map/CMapIMG.cpp" line="2557"/>
+        <location filename="../map/CMapIMG.cpp" line="2565"/>
+        <location filename="../map/CMapIMG.cpp" line="2569"/>
+        <location filename="../map/CMapIMG.cpp" line="2574"/>
         <source>Point of Interest</source>
         <translation>Point d'intérêt</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="2682"/>
+        <location filename="../map/CMapIMG.cpp" line="2701"/>
         <source>Unknown</source>
         <translation>Inconnu</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="2728"/>
-        <location filename="../map/CMapIMG.cpp" line="2736"/>
-        <location filename="../map/CMapIMG.cpp" line="2743"/>
+        <location filename="../map/CMapIMG.cpp" line="2747"/>
+        <location filename="../map/CMapIMG.cpp" line="2755"/>
+        <location filename="../map/CMapIMG.cpp" line="2762"/>
         <source>Area</source>
         <translation>Surface</translation>
     </message>
@@ -1172,15 +1172,20 @@
 <context>
     <name>CMapList</name>
     <message>
-        <location filename="../map/CMapList.cpp" line="150"/>
+        <location filename="../map/CMapList.cpp" line="155"/>
         <source>Deactivate</source>
         <translation>Désactiver</translation>
     </message>
     <message>
-        <location filename="../map/CMapList.cpp" line="150"/>
+        <location filename="../map/CMapList.cpp" line="155"/>
         <source>Activate</source>
         <translation>Activer</translation>
     </message>
+    <message>
+        <location filename="../map/CMapList.cpp" line="174"/>
+        <source>Where do you want to store maps?</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>CMapMAP</name>
@@ -1203,17 +1208,17 @@
 <context>
     <name>CMapPathSetup</name>
     <message>
-        <location filename="../map/CMapPathSetup.cpp" line="45"/>
+        <location filename="../map/CMapPathSetup.cpp" line="47"/>
         <source>Add or remove paths containing maps. There can be multiple maps in a path but no sub-path is parsed. Supported formats are: %1</source>
         <translation>Ajoutez ou retirez des répertoires qui contiennent des cartes. Il peut y avoir plusieurs cartes dans un répertoire mais les sous-répertoires ne sont pas prises en compte. Les formats acceptés sont : %1</translation>
     </message>
     <message>
-        <location filename="../map/CMapPathSetup.cpp" line="60"/>
+        <location filename="../map/CMapPathSetup.cpp" line="62"/>
         <source>Select map path...</source>
         <translation>Choisissez un répertoire...</translation>
     </message>
     <message>
-        <location filename="../map/CMapPathSetup.cpp" line="76"/>
+        <location filename="../map/CMapPathSetup.cpp" line="78"/>
         <source>Select root path...</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1419,22 +1424,22 @@ Structure inconnue.</translation>
 <context>
     <name>CMouseNormal</name>
     <message>
-        <location filename="../mouse/CMouseNormal.cpp" line="42"/>
+        <location filename="../mouse/CMouseNormal.cpp" line="43"/>
         <source>Add Waypoint</source>
         <translation>Ajouter un waypoint</translation>
     </message>
     <message>
-        <location filename="../mouse/CMouseNormal.cpp" line="43"/>
+        <location filename="../mouse/CMouseNormal.cpp" line="44"/>
         <source>Add Track</source>
         <translation>Ajouter une trace</translation>
     </message>
     <message>
-        <location filename="../mouse/CMouseNormal.cpp" line="44"/>
+        <location filename="../mouse/CMouseNormal.cpp" line="45"/>
         <source>Add Area</source>
         <translation>Ajouter une surface</translation>
     </message>
     <message>
-        <location filename="../mouse/CMouseNormal.cpp" line="46"/>
+        <location filename="../mouse/CMouseNormal.cpp" line="47"/>
         <source>Copy position</source>
         <translation>Copier la position</translation>
     </message>
@@ -1863,6 +1868,21 @@ n'est pas une définition de système de coordonnées:
         <source>...</source>
         <translation></translation>
     </message>
+    <message>
+        <location filename="../canvas/ICanvasSetup.ui" line="53"/>
+        <source>Scales</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../canvas/ICanvasSetup.ui" line="59"/>
+        <source>Logarithmic</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../canvas/ICanvasSetup.ui" line="66"/>
+        <source>Square (optimized for TMS and WTMS tiles)</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>ICombineTrk</name>
@@ -2160,103 +2180,104 @@ n'est pas une définition de système de coordonnées:
     <message>
         <location filename="../gis/trk/IDetailsTrk.ui" line="56"/>
         <location filename="../gis/trk/IDetailsTrk.ui" line="77"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="98"/>
         <source>-
 -</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="350"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="371"/>
         <source>Info</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="253"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="274"/>
         <source>...</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="182"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="203"/>
         <source>Graph Control</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="203"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="224"/>
         <source>Profile</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="210"/>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="446"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="231"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="467"/>
         <source>Speed</source>
         <translation>Vitesse</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="217"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="238"/>
         <source>Progress</source>
         <translation>Progrès</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="227"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="248"/>
         <source>Track</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="308"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="329"/>
         <source>-</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="378"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="399"/>
         <source>Points</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="426"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="447"/>
         <source>Time</source>
         <translation>Durée</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="431"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="452"/>
         <source>Ele.</source>
         <translation>Alt.</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="436"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="457"/>
         <source>Delta</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="441"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="462"/>
         <source>Dist.</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="451"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="472"/>
         <source>Slope</source>
         <translation>Pente</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="456"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="477"/>
         <source>Ascend</source>
         <translation>Montée</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="461"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="482"/>
         <source>Descend</source>
         <translation>Descente</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="466"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="487"/>
         <source>Position</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="475"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="496"/>
         <source>Filter</source>
         <translation>Filtre</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="512"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="533"/>
         <source>Hist.</source>
         <translation></translation>
     </message>
@@ -3017,7 +3038,13 @@ n'est pas une définition de système de coordonnées:
         <translation>Utiliser le menu de contexte (clic droite sur la carte) pour activer une carte. Utilisez glisser-déposer pour changer la position de la carte dans la liste.</translation>
     </message>
     <message>
-        <location filename="../map/IMapList.ui" line="141"/>
+        <location filename="../map/IMapList.ui" line="129"/>
+        <source>Help! I want maps!
+I don't want to read the documentation!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../map/IMapList.ui" line="149"/>
         <source>Activate</source>
         <translation>Activer</translation>
     </message>
@@ -3042,6 +3069,12 @@ n'est pas une définition de système de coordonnées:
         <translation>...</translation>
     </message>
     <message>
+        <location filename="../map/IMapPathSetup.ui" line="185"/>
+        <source>Help! I want maps!
+I don't want to read the documentation!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <location filename="../map/IMapPathSetup.ui" line="29"/>
         <location filename="../map/IMapPathSetup.ui" line="135"/>
         <source>-</source>
@@ -3154,22 +3187,22 @@ n'est pas une définition de système de coordonnées:
 <context>
     <name>IMouseEditLine</name>
     <message>
-        <location filename="../mouse/IMouseEditLine.cpp" line="338"/>
+        <location filename="../mouse/IMouseEditLine.cpp" line="344"/>
         <source>Add points?</source>
         <translation>Ajouter les points ?</translation>
     </message>
     <message>
-        <location filename="../mouse/IMouseEditLine.cpp" line="338"/>
+        <location filename="../mouse/IMouseEditLine.cpp" line="344"/>
         <source>Add points to temporary line?</source>
         <translation>Ajouter les points à la ligne temporaire ?</translation>
     </message>
     <message>
-        <location filename="../mouse/IMouseEditLine.cpp" line="881"/>
+        <location filename="../mouse/IMouseEditLine.cpp" line="887"/>
         <source>Warning!</source>
         <translation>Avertissement !</translation>
     </message>
     <message>
-        <location filename="../mouse/IMouseEditLine.cpp" line="881"/>
+        <location filename="../mouse/IMouseEditLine.cpp" line="887"/>
         <source>This will replace all data of the orignal by a simple line of coordinates. All other data will be lost permanently.</source>
         <translation>Ceci remplacera les données de l'original par une ligne simple de coordonnées. Toutes les autres données seront définitivement perdues.</translation>
     </message>
@@ -3191,17 +3224,22 @@ n'est pas une définition de système de coordonnées:
 <context>
     <name>IPlot</name>
     <message>
-        <location filename="../plot/IPlot.cpp" line="101"/>
+        <location filename="../plot/IPlot.cpp" line="108"/>
+        <source>Stop Range</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../plot/IPlot.cpp" line="109"/>
         <source>Save...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../plot/IPlot.cpp" line="500"/>
+        <location filename="../plot/IPlot.cpp" line="602"/>
         <source>No or bad data.</source>
         <translation>Aucune donnée ou données invalides.</translation>
     </message>
     <message>
-        <location filename="../plot/IPlot.cpp" line="1015"/>
+        <location filename="../plot/IPlot.cpp" line="1128"/>
         <source>Select output file</source>
         <translation type="unfinished"></translation>
     </message>
@@ -3989,7 +4027,7 @@ or
 <context>
     <name>QObject</name>
     <message>
-        <location filename="../device/CDeviceGarmin.cpp" line="202"/>
+        <location filename="../device/CDeviceGarmin.cpp" line="207"/>
         <source>Picture%1</source>
         <translation>Image%1</translation>
     </message>
@@ -4016,17 +4054,17 @@ or
     </message>
     <message>
         <location filename="../gis/CGisListDB.cpp" line="408"/>
-        <location filename="../gis/prj/IGisProject.cpp" line="330"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="346"/>
         <source>Delete...</source>
         <translation>Supprimer...</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="910"/>
+        <location filename="../gis/CGisListWks.cpp" line="944"/>
         <source>Delete project...</source>
         <translation>Supprimer le projet</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="910"/>
+        <location filename="../gis/CGisListWks.cpp" line="944"/>
         <source>Do you really want to delete %1?</source>
         <translation>Êtes-vous sûr de vouloir supprimer %1?</translation>
     </message>
@@ -4211,7 +4249,7 @@ ligne %2, colonne %3:
     <message>
         <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="142"/>
         <location filename="../gis/rte/CGisItemRte.cpp" line="45"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="177"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="184"/>
         <location filename="../gis/wpt/CGisItemWpt.cpp" line="102"/>
         <source>_Clone</source>
         <translation>_Clone</translation>
@@ -4259,59 +4297,69 @@ ligne %2, colonne %3:
     <message>
         <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="520"/>
         <location filename="../gis/rte/CGisItemRte.cpp" line="139"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1587"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1739"/>
         <location filename="../gis/wpt/CGisItemWpt.cpp" line="376"/>
         <source>Changed links</source>
         <translation>Liens modifiés...</translation>
     </message>
     <message>
         <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="532"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1599"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1751"/>
         <source>Changed color</source>
         <translation>Couleur modifiée...</translation>
     </message>
     <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="239"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="66"/>
+        <source>Save project?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/prj/IGisProject.cpp" line="66"/>
+        <source>The project "%1" was changed. Save befor closing it?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/prj/IGisProject.cpp" line="255"/>
         <source><br/>
 Filename: %1</source>
         <translation><br/>
 Nom de fichier: %1</translation>
     </message>
     <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="256"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="272"/>
         <source>Waypoints: %1</source>
         <translation>Waypoints: %1</translation>
     </message>
     <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="260"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="276"/>
         <source>Tracks: %1</source>
         <translation>Traces: %1</translation>
     </message>
     <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="264"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="280"/>
         <source>Routes: %1</source>
         <translation>Routes: %1</translation>
     </message>
     <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="268"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="284"/>
         <source>Areas: %1</source>
         <translation>Surfaces: %1</translation>
     </message>
     <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="329"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="345"/>
         <source>Are you sure you want to delete '%1' from project '%2'?</source>
         <translation>Êtes-vous sûr de vouloir supprimer %1 du projet '%2'?</translation>
     </message>
     <message>
         <location filename="../gis/rte/CGisItemRte.cpp" line="127"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1575"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1727"/>
         <location filename="../gis/wpt/CGisItemWpt.cpp" line="364"/>
         <source>Changed comment</source>
         <translation>Commentaire modifié</translation>
     </message>
     <message>
         <location filename="../gis/rte/CGisItemRte.cpp" line="133"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1581"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1733"/>
         <location filename="../gis/wpt/CGisItemWpt.cpp" line="370"/>
         <source>Changed description</source>
         <translation>Description modifiée</translation>
@@ -4320,16 +4368,16 @@ Nom de fichier: %1</translation>
         <location filename="../gis/tnv/CTwoNavProject.cpp" line="87"/>
         <location filename="../gis/tnv/CTwoNavProject.cpp" line="191"/>
         <location filename="../gis/tnv/serialization.cpp" line="295"/>
-        <location filename="../gis/tnv/serialization.cpp" line="416"/>
-        <location filename="../gis/tnv/serialization.cpp" line="445"/>
-        <location filename="../gis/tnv/serialization.cpp" line="456"/>
-        <location filename="../gis/tnv/serialization.cpp" line="477"/>
-        <location filename="../gis/tnv/serialization.cpp" line="618"/>
-        <location filename="../gis/tnv/serialization.cpp" line="646"/>
-        <location filename="../gis/tnv/serialization.cpp" line="657"/>
-        <location filename="../gis/tnv/serialization.cpp" line="675"/>
-        <location filename="../gis/tnv/serialization.cpp" line="703"/>
-        <location filename="../gis/tnv/serialization.cpp" line="777"/>
+        <location filename="../gis/tnv/serialization.cpp" line="431"/>
+        <location filename="../gis/tnv/serialization.cpp" line="460"/>
+        <location filename="../gis/tnv/serialization.cpp" line="471"/>
+        <location filename="../gis/tnv/serialization.cpp" line="492"/>
+        <location filename="../gis/tnv/serialization.cpp" line="632"/>
+        <location filename="../gis/tnv/serialization.cpp" line="660"/>
+        <location filename="../gis/tnv/serialization.cpp" line="671"/>
+        <location filename="../gis/tnv/serialization.cpp" line="689"/>
+        <location filename="../gis/tnv/serialization.cpp" line="717"/>
+        <location filename="../gis/tnv/serialization.cpp" line="791"/>
         <source>Error...</source>
         <translation>Erreur...</translation>
     </message>
@@ -4337,134 +4385,170 @@ Nom de fichier: %1</translation>
         <location filename="../gis/tnv/CTwoNavProject.cpp" line="87"/>
         <location filename="../gis/tnv/CTwoNavProject.cpp" line="191"/>
         <location filename="../gis/tnv/serialization.cpp" line="295"/>
-        <location filename="../gis/tnv/serialization.cpp" line="416"/>
-        <location filename="../gis/tnv/serialization.cpp" line="618"/>
+        <location filename="../gis/tnv/serialization.cpp" line="431"/>
+        <location filename="../gis/tnv/serialization.cpp" line="632"/>
         <source>Failed to open %1.</source>
         <translation>Impossible d'ouvrir %1</translation>
     </message>
     <message>
-        <location filename="../gis/tnv/serialization.cpp" line="445"/>
-        <location filename="../gis/tnv/serialization.cpp" line="456"/>
-        <location filename="../gis/tnv/serialization.cpp" line="646"/>
-        <location filename="../gis/tnv/serialization.cpp" line="657"/>
+        <location filename="../gis/tnv/serialization.cpp" line="460"/>
+        <location filename="../gis/tnv/serialization.cpp" line="471"/>
+        <location filename="../gis/tnv/serialization.cpp" line="660"/>
+        <location filename="../gis/tnv/serialization.cpp" line="671"/>
         <source>Only support lon/lat WGS 84 format.</source>
         <translation>Le seul format lon/lat autorisé est WGS 84</translation>
     </message>
     <message>
-        <location filename="../gis/tnv/serialization.cpp" line="477"/>
-        <location filename="../gis/tnv/serialization.cpp" line="675"/>
-        <location filename="../gis/tnv/serialization.cpp" line="703"/>
-        <location filename="../gis/tnv/serialization.cpp" line="777"/>
+        <location filename="../gis/tnv/serialization.cpp" line="492"/>
+        <location filename="../gis/tnv/serialization.cpp" line="689"/>
+        <location filename="../gis/tnv/serialization.cpp" line="717"/>
+        <location filename="../gis/tnv/serialization.cpp" line="791"/>
         <source>Failed to read data.</source>
         <translation>Impossible de lire les données.</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="300"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="326"/>
         <source>Changed trackpoints, sacrificed all previous data.</source>
         <translation>Points de la trace modifiés, Les données antérieures sont perdues.</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="376"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="402"/>
         <source>Length: %1 %2</source>
         <translation>Longueur: %1 %2</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="383"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="409"/>
         <source>, %1%2 %3, %4%5 %6</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="391"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="417"/>
         <source>Time: %1</source>
         <translation>Durée: %1</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="394"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="404"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="420"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="430"/>
         <source>, Speed: %1 %2</source>
         <translation>, vitesse %1 %2</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="401"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="427"/>
         <source>Moving: %1</source>
         <translation>Déplacement: %1</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="410"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="436"/>
         <source>Start: %1</source>
         <translation>Début: %1</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="415"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="441"/>
         <source>End: %1</source>
         <translation>Fin: %1</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="419"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="445"/>
         <source>Points: %1 (%2)</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="502"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="563"/>
         <source>Ele.: %1 %2</source>
         <translation>Altitude: %1 %2</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="505"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="566"/>
         <source> slope: %1%3 (%2%)</source>
         <translation> Pente: %1%3(%2%)</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="510"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="571"/>
         <source> speed: %1%2</source>
         <translation> Vitesse: %1 %2</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="522"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="583"/>
         <source>Ascend: %1%2 (%3%)</source>
         <translation>Montée: %1%2 (%3%)</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="526"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="587"/>
         <source>Ascend: - (-)</source>
         <translation>Montées: - (-)</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="532"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="593"/>
         <source> Descend: %1%2 (%3%)</source>
         <translation>  Descente: %1%2 (%3%)</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="536"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="597"/>
         <source> Descend: - (-) </source>
         <translation>Descente: - (-)</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="543"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="604"/>
         <source>Dist.: %1%2 (%3%)</source>
         <translation>Dist.: %1%2 (%3%)</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="547"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="608"/>
         <source>Dist.: - (-)</source>
         <translation>Dist.: - (-)</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="553"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="614"/>
         <source> Moving: %1%2 (%3%)</source>
         <translation>  En mouvement: %1%2 (%3%)</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="557"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="618"/>
         <source> Moving: - (-) </source>
         <translation>En mouvement: - (-)</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1027"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1042"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1061"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1120"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1278"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="637"/>
+        <source>Ascend: %1%2</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="642"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="659"/>
+        <source>, %1%2</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="647"/>
+        <source>Ascend: -</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="654"/>
+        <source> Descend: %1%2</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="664"/>
+        <source>Descend: -</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="670"/>
+        <source>Dist.: %1%2</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="675"/>
+        <source> Time: %1%2</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1152"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1167"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1186"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1245"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1405"/>
         <location filename="../gis/wpt/CGisItemWpt.cpp" line="190"/>
         <location filename="../mouse/CMouseEditArea.cpp" line="100"/>
         <location filename="../mouse/CMouseEditTrk.cpp" line="104"/>
@@ -4472,27 +4556,27 @@ Nom de fichier: %1</translation>
         <translation>Éditer le nom...</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1027"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1042"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1061"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1120"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1278"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1152"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1167"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1186"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1245"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1405"/>
         <location filename="../mouse/CMouseEditTrk.cpp" line="104"/>
         <source>Enter new track name.</source>
         <translation>Saisir le nouveau nom de la trace.</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1208"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1334"/>
         <source>Hide points.</source>
         <translation>Cacher des points.</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1253"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1380"/>
         <source>Show points.</source>
         <translation>Afficher les points.</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1569"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1721"/>
         <location filename="../gis/wpt/CGisItemWpt.cpp" line="324"/>
         <source>Changed name</source>
         <translation>Nom modifié</translation>
@@ -4642,5 +4726,10 @@ Nom de fichier: %1</translation>
         <source>Number of trackpoints is not equal the number of shadow data trackpoints.</source>
         <translation>Le nombre de points de trace ne correspond pas au nombre des points cachés</translation>
     </message>
+    <message>
+        <location filename="../device/IDevice.cpp" line="202"/>
+        <source>There is another project with the same name. If you press 'ok' it will be removed and replaced.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 </TS>
diff --git a/src/main.cpp b/src/main.cpp
index 3ce9951..a8c7eaa 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -140,7 +140,7 @@ int main(int argc, char ** argv)
     dirList << QCoreApplication::applicationDirPath().replace(QRegExp("bin$"), "share/qmapshack/translations");
 //    dirList << "./src";
 
-    QTranslator *qlandkartegtTranslator = new QTranslator(0);
+    QTranslator *qlandkartegtTranslator = new QTranslator(&a);
     foreach(QString dir, dirList)
     {
         QString transName = QLatin1String("qmapshack_") + locale;
diff --git a/src/map/CMapDraw.cpp b/src/map/CMapDraw.cpp
index e583bb9..208ffbd 100644
--- a/src/map/CMapDraw.cpp
+++ b/src/map/CMapDraw.cpp
@@ -68,12 +68,20 @@ void CMapDraw::setProjection(const QString& proj)
 
 void CMapDraw::setupMapPath()
 {
-    CMapPathSetup dlg(mapPaths, cachePath);
+    QStringList paths = mapPaths;
+    CMapPathSetup dlg(paths, cachePath);
     if(dlg.exec() != QDialog::Accepted)
     {
         return;
     }
 
+    setupMapPath(paths);
+}
+
+void CMapDraw::setupMapPath(const QStringList& paths)
+{
+    mapPaths = paths;
+
     foreach(CMapDraw * map, maps)
     {
         QStringList keys;
diff --git a/src/map/CMapDraw.h b/src/map/CMapDraw.h
index 3e9c7ee..1418f2a 100644
--- a/src/map/CMapDraw.h
+++ b/src/map/CMapDraw.h
@@ -75,6 +75,7 @@ public:
     void setProjection(const QString& proj);
 
     static void setupMapPath();
+    static void setupMapPath(const QStringList& paths);
     static void saveMapPath(QSettings &cfg);
     static void loadMapPath(QSettings &cfg);
     static const QStringList& getSupportedFormats()
diff --git a/src/map/CMapIMG.cpp b/src/map/CMapIMG.cpp
index 267f660..01026c6 100644
--- a/src/map/CMapIMG.cpp
+++ b/src/map/CMapIMG.cpp
@@ -39,6 +39,8 @@
 
 #define STREETNAME_THRESHOLD 5.0
 
+int CFileExt::cnt = 0;
+
 static inline bool isCompletlyOutside(const QPolygonF& poly, const QRectF &viewport)
 {
     qreal north =  -90.0 * DEG_TO_RAD;
@@ -445,7 +447,7 @@ void CMapIMG::readFile(CFileExt& file, quint32 offset, quint32 size, QByteArray&
         throw exce_t(eErrOpen, tr("Failed to read: ") + filename);
     }
 
-    data = QByteArray::fromRawData(file.data(offset), size);
+    data = QByteArray::fromRawData(file.data(offset, size), size);
     // wenn mask == 0 ist kein xor noetig
     if(mask == 0)
     {
@@ -488,7 +490,7 @@ void CMapIMG::readBasics()
         throw exce_t(eErrOpen, tr("Failed to open: ") + filename);
     }
 
-    mask = (quint8)*file.data(0);
+    mask = (quint8)*file.data(0,1);
 
     mask32   = mask;
     mask32 <<= 8;
@@ -690,7 +692,7 @@ void CMapIMG::readSubfileBasics(subfile_desc_t& subfile, CFileExt &file)
     qDebug() << "TRE2 size          :" << dec << gar_load(uint32_t, pTreHdr->tre2_size);
 #endif                       // DEBUG_SHOW_TRE_DATA
 
-    copyrights << QString(file.data(subfile.parts["TRE"].offset + gar_load(uint16_t, pTreHdr->length)));
+    copyrights << QString(file.data(subfile.parts["TRE"].offset + gar_load(uint16_t, pTreHdr->length),0x7FFF));
 
     // read map boundaries from header
     qint32 i32;
@@ -1333,11 +1335,13 @@ void CMapIMG::draw(IDrawContext::buffer_t& buf)
 
 void CMapIMG::loadVisibleData(bool fast, polytype_t& polygons, polytype_t& polylines, pointtype_t& points, pointtype_t& pois, unsigned level, const QRectF& viewport, QPainter& p)
 {
+#ifndef Q_OS_WIN32
     CFileExt file(filename);
     if(!file.open(QIODevice::ReadOnly))
     {
         return;
     }
+#endif
 
     QMap<QString,subfile_desc_t>::const_iterator subfile = subfiles.constBegin();
     while(subfile != subfiles.constEnd())
@@ -1346,6 +1350,7 @@ void CMapIMG::loadVisibleData(bool fast, polytype_t& polygons, polytype_t& polyl
 //        qDebug() << (viewport.topLeft() * RAD_TO_DEG) << (viewport.bottomRight() * RAD_TO_DEG);
 //        qDebug() << (subfile->area.topLeft() * RAD_TO_DEG) << (subfile->area.bottomRight() * RAD_TO_DEG);
 //        qDebug() << subfile->area.intersects(viewport);
+
         if(!subfile->area.intersects(viewport))
         {
             ++subfile;
@@ -1357,6 +1362,14 @@ void CMapIMG::loadVisibleData(bool fast, polytype_t& polygons, polytype_t& polyl
             break;
         }
 
+#ifdef Q_OS_WIN32
+        CFileExt file(filename);
+        if(!file.open(QIODevice::ReadOnly))
+        {
+            return;
+        }
+#endif
+
         QByteArray rgndata;
         readFile(file, subfile->parts["RGN"].offset, subfile->parts["RGN"].size, rgndata);
 
@@ -1414,9 +1427,15 @@ void CMapIMG::loadVisibleData(bool fast, polytype_t& polygons, polytype_t& polyl
 #endif // DEBUG_SHOW_SUBDIV_BORDERS
 
         ++subfile;
+
+#ifdef Q_OS_WIN32
+        file.close();
+#endif
     }
 
+#ifndef Q_OS_WIN32
     file.close();
+#endif
 }
 
 void CMapIMG::loadSubDiv(CFileExt &file, const subdiv_desc_t& subdiv, IGarminStrTbl * strtbl, const QByteArray& rgndata, bool fast, const QRectF& viewport, polytype_t& polylines, polytype_t& polygons, pointtype_t& points, pointtype_t& pois)
diff --git a/src/map/CMapList.cpp b/src/map/CMapList.cpp
index 0ba43e0..dfa5ff9 100644
--- a/src/map/CMapList.cpp
+++ b/src/map/CMapList.cpp
@@ -16,6 +16,8 @@
 
 **********************************************************************************************/
 
+#include "CMainWindow.h"
+#include "map/CMapDraw.h"
 #include "map/CMapItem.h"
 #include "map/CMapList.h"
 
@@ -66,9 +68,10 @@ CMapList::CMapList(QWidget *parent)
     setupUi(this);
 
     connect(treeWidget, SIGNAL(customContextMenuRequested(QPoint)), this, SLOT(slotContextMenu(QPoint)));
+    connect(treeWidget, SIGNAL(sigChanged()), SIGNAL(sigChanged()));
     connect(actionActivate, SIGNAL(triggered()), this, SLOT(slotActivate()));
+    connect(pushMapHonk, SIGNAL(clicked()), this, SLOT(slotMapHonk()));
 
-    connect(treeWidget, SIGNAL(sigChanged()), SIGNAL(sigChanged()));
 
     menu = new QMenu(this);
     menu->addAction(actionActivate);
@@ -98,11 +101,13 @@ void CMapList::updateHelpText()
     if(treeWidget->topLevelItemCount() == 0)
     {
         labelIcon->show();
+        pushMapHonk->show();
         labelHelpFillMapList->show();
         labelHelpActivateMap->hide();
     }
     else
     {
+        pushMapHonk->hide();
         labelHelpFillMapList->hide();
 
         CMapItem * item = dynamic_cast<CMapItem*>(treeWidget->topLevelItem(0));
@@ -152,3 +157,39 @@ void CMapList::slotContextMenu(const QPoint& point)
     QPoint p = treeWidget->mapToGlobal(point);
     menu->exec(p);
 }
+
+void saveResource(const QString& name, QDir& dir)
+{
+    QFile resource1(QString("://map/%1").arg(name));
+    resource1.open(QIODevice::ReadOnly);
+
+    QFile file(dir.absoluteFilePath(name));
+    file.open(QIODevice::WriteOnly);
+    file.write(resource1.readAll());
+    file.close();
+}
+
+void CMapList::slotMapHonk()
+{
+    QString path = QFileDialog::getExistingDirectory(&CMainWindow::self(), tr("Where do you want to store maps?"), QDir::homePath());
+    if(path.isEmpty())
+    {
+        return;
+    }
+
+    QDir dir(path);
+
+    saveResource("WorldSat.wmts", dir);
+    saveResource("WorldTopo.wmts", dir);
+    saveResource("OpenStreetMap.tms", dir);
+    saveResource("OSM_Topo.tms", dir);
+    saveResource("OpenCycleMap.tms", dir);
+
+    CMapDraw::setupMapPath(QStringList(QStringList(path)));
+
+    CCanvas * canvas = CMainWindow::self().getVisibleCanvas();
+    if(canvas)
+    {
+        canvas->setScales(CCanvas::eScalesSquare);
+    }
+}
diff --git a/src/map/CMapList.h b/src/map/CMapList.h
index ae45068..e09d747 100644
--- a/src/map/CMapList.h
+++ b/src/map/CMapList.h
@@ -64,6 +64,9 @@ public:
 signals:
     void sigChanged();
 
+public slots:
+    static void slotMapHonk();
+
 private slots:
     void slotActivate();
     void slotContextMenu(const QPoint &point);
diff --git a/src/map/CMapPathSetup.cpp b/src/map/CMapPathSetup.cpp
index c34175d..83c4daa 100644
--- a/src/map/CMapPathSetup.cpp
+++ b/src/map/CMapPathSetup.cpp
@@ -19,6 +19,7 @@
 #include "CMainWindow.h"
 #include "map/CMapDraw.h"
 #include "map/CMapPathSetup.h"
+#include "map/CMapList.h"
 
 #include <QtWidgets>
 
@@ -32,6 +33,7 @@ CMapPathSetup::CMapPathSetup(QStringList &paths, QString& pathCache)
     connect(toolAdd, SIGNAL(clicked()), this, SLOT(slotAddPath()));
     connect(toolDelete, SIGNAL(clicked()), this, SLOT(slotDelPath()));
     connect(listWidget, SIGNAL(itemSelectionChanged()), this, SLOT(slotItemSelectionChanged()));
+    connect(pushMapHonk, SIGNAL(clicked()), this, SLOT(slotMapHonk()));
 
     foreach(const QString &path, paths)
     {
@@ -82,6 +84,12 @@ void CMapPathSetup::slotChangeCachePath()
     labelCacheRoot->setText(path);
 }
 
+void CMapPathSetup::slotMapHonk()
+{
+    CMapList::slotMapHonk();
+    close();
+}
+
 void CMapPathSetup::accept()
 {
     paths.clear();
diff --git a/src/map/CMapPathSetup.h b/src/map/CMapPathSetup.h
index a5aabd5..004e8f7 100644
--- a/src/map/CMapPathSetup.h
+++ b/src/map/CMapPathSetup.h
@@ -37,7 +37,7 @@ private slots:
     void slotDelPath();
     void slotItemSelectionChanged();
     void slotChangeCachePath();
-
+    void slotMapHonk();
 
 private:
     QStringList& paths;
diff --git a/src/map/CMapTMS.cpp b/src/map/CMapTMS.cpp
index e164b16..bd8fb6d 100644
--- a/src/map/CMapTMS.cpp
+++ b/src/map/CMapTMS.cpp
@@ -405,6 +405,13 @@ void CMapTMS::draw(IDrawContext::buffer_t& buf)
         return;
     }
 
+    QPointF bufferScale = buf.scale * buf.zoomFactor;
+
+    if(isOutOfScale(bufferScale))
+    {
+        return;
+    }
+
     // get pixel offset of top left buffer corner
     QPointF pp = buf.ref1;
     map->convertRad2Px(pp);
diff --git a/src/map/CMapWMTS.cpp b/src/map/CMapWMTS.cpp
index 73d3ada..cb6a7ef 100644
--- a/src/map/CMapWMTS.cpp
+++ b/src/map/CMapWMTS.cpp
@@ -432,6 +432,14 @@ void CMapWMTS::draw(IDrawContext::buffer_t& buf)
         return;
     }
 
+    QPointF bufferScale = buf.scale * buf.zoomFactor;
+
+    if(isOutOfScale(bufferScale))
+    {
+        return;
+    }
+
+
     // get pixel offset of top left buffer corner
     QPointF pp = buf.ref1;
     map->convertRad2Px(pp);
diff --git a/src/map/IMap.cpp b/src/map/IMap.cpp
index 13c8600..98e288f 100644
--- a/src/map/IMap.cpp
+++ b/src/map/IMap.cpp
@@ -114,8 +114,8 @@ void IMap::drawTile(QImage& img, QPolygonF& l, QPainter& p)
     qreal dy1   = l[0].y() - l[1].y();
     qreal dx2   = l[0].x() - l[3].x();
     qreal dy2   = l[0].y() - l[3].y();
-    qreal w    = qCeil( qSqrt(dx1*dx1 + dy1*dy1));
-    qreal h    = qCeil( qSqrt(dx2*dx2 + dy2*dy2));
+    qreal w     = qCeil( qSqrt(dx1*dx1 + dy1*dy1));
+    qreal h     = qCeil( qSqrt(dx2*dx2 + dy2*dy2));
 
     // calculate rotation. This is not really a reprojection but might be good enough for close zoom levels
     qreal a = qAtan(dy1/dx1) * RAD_TO_DEG;
diff --git a/src/map/IMapList.ui b/src/map/IMapList.ui
index 68c6c23..213a84e 100644
--- a/src/map/IMapList.ui
+++ b/src/map/IMapList.ui
@@ -7,7 +7,7 @@
     <x>0</x>
     <y>0</y>
     <width>400</width>
-    <height>622</height>
+    <height>443</height>
    </rect>
   </property>
   <property name="windowTitle">
@@ -123,6 +123,14 @@
          </property>
         </widget>
        </item>
+       <item>
+        <widget class="QPushButton" name="pushMapHonk">
+         <property name="text">
+          <string>Help! I want maps!
+I don't want to read the documentation!</string>
+         </property>
+        </widget>
+       </item>
       </layout>
      </item>
     </layout>
diff --git a/src/map/IMapPathSetup.ui b/src/map/IMapPathSetup.ui
index 69fd920..5761e9a 100644
--- a/src/map/IMapPathSetup.ui
+++ b/src/map/IMapPathSetup.ui
@@ -7,7 +7,7 @@
     <x>0</x>
     <y>0</y>
     <width>450</width>
-    <height>265</height>
+    <height>275</height>
    </rect>
   </property>
   <property name="windowTitle">
@@ -179,6 +179,14 @@
      </item>
     </layout>
    </item>
+   <item>
+    <widget class="QPushButton" name="pushMapHonk">
+     <property name="text">
+      <string>Help! I want maps!
+I don't want to read the documentation!</string>
+     </property>
+    </widget>
+   </item>
   </layout>
  </widget>
  <resources>
diff --git a/src/map/OSM_Topo.tms b/src/map/OSM_Topo.tms
new file mode 100644
index 0000000..250cbf9
--- /dev/null
+++ b/src/map/OSM_Topo.tms
@@ -0,0 +1,21 @@
+<TMS>
+ <Title>OSM D-Land TK 50</Title>
+ <MinZoomLevel>3</MinZoomLevel>
+ <MaxZoomLevel>18</MaxZoomLevel>
+ <Layer idx="0">
+  <Title>Open Topo Map</Title>
+  <ServerUrl>http://a.tile.opentopomap.org/%1/%2/%3.png</ServerUrl>
+  <MinZoomLevel>3</MinZoomLevel>
+  <MaxZoomLevel>11</MaxZoomLevel>
+ </Layer>
+ <Layer idx="1">
+  <Title>Trails</Title>
+  <ServerUrl>http://tile.waymarkedtrails.org/hiking/%1/%2/%3.png</ServerUrl>
+  <MinZoomLevel>3</MinZoomLevel>
+  <MaxZoomLevel>9</MaxZoomLevel>
+ </Layer>
+ <RawHeader>
+   <Value name="User-Agent">Whatever</Value>
+ </RawHeader>
+ <Copyright>Map data: (c) OpenStreetMap contributors, ODbL | Rendering: (c) OpenTopoMap, CC-BY-SA | Trails by tile.waymarkedtrails.org </Copyright>
+</TMS>
\ No newline at end of file
diff --git a/src/map/OpenCycleMap.tms b/src/map/OpenCycleMap.tms
new file mode 100644
index 0000000..57a4e87
--- /dev/null
+++ b/src/map/OpenCycleMap.tms
@@ -0,0 +1,9 @@
+<TMS>
+ <Title>Opencyclemap</Title>
+ <MinZoomLevel>1</MinZoomLevel>
+ <MaxZoomLevel>1024</MaxZoomLevel>
+ <Layer idx="0">
+  <ServerUrl>http://a.tile.thunderforest.com/cycle/%1/%2/%3.png</ServerUrl>
+ </Layer>
+ <Copyright>Map data: (c) OpenStreetMap contributors, ODbL | Rendering: (c) OpenCycleMap , CC-BY-SA</Copyright>
+</TMS>
diff --git a/src/map/OpenStreetMap.tms b/src/map/OpenStreetMap.tms
new file mode 100644
index 0000000..eed3c00
--- /dev/null
+++ b/src/map/OpenStreetMap.tms
@@ -0,0 +1,14 @@
+<TMS>
+ <Title>OpenStreetMap</Title>
+ <MinZoomLevel>2</MinZoomLevel>
+ <MaxZoomLevel>19</MaxZoomLevel>
+ <Layer idx="0">
+  <ServerUrl>https://c.tile.openstreetmap.org/%1/%2/%3.png</ServerUrl>
+ </Layer>
+ <RawHeader>
+   <Value name="User-Agent">Agent Smith</Value>
+ </RawHeader>
+ <Copyright>Map data: (c) OpenStreetMap contributors, ODbL | Rendering: (c) OpenStreetMap , CC-BY-SA</Copyright>
+</TMS>
+
+
diff --git a/src/map/WorldSat.wmts b/src/map/WorldSat.wmts
new file mode 100644
index 0000000..c78103a
--- /dev/null
+++ b/src/map/WorldSat.wmts
@@ -0,0 +1,377 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Capabilities xmlns="http://www.opengis.net/wmts/1.0" xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:gml="http://www.opengis.net/gml" xsi:schemaLocation="http://www.opengis.net/wmts/1.0 http://schemas.opengis.net/wmts/1.0/wmtsGetCapabilities_response.xsd" version="1.0.0">
+<!-- Service Identification --> <ows:ServiceIdentification>
+<ows:Title>World_Imagery</ows:Title>
+<ows:ServiceType>OGC WMTS</ows:ServiceType>
+<ows:ServiceTypeVersion>1.0.0</ows:ServiceTypeVersion>
+</ows:ServiceIdentification> <!-- Operations Metadata --> <ows:OperationsMetadata>
+<ows:Operation name="GetCapabilities">
+<ows:DCP>
+<ows:HTTP>
+<ows:Get xlink:href="http://services.arcgisonline.com/arcgis/rest/services/World_Imagery/MapServer/WMTS/1.0.0/WMTSCapabilities.xml">
+<ows:Constraint name="GetEncoding">
+<ows:AllowedValues>
+<ows:Value>RESTful</ows:Value>
+</ows:AllowedValues>
+</ows:Constraint>
+</ows:Get>
+<!-- add KVP binding in 10.1 -->
+<ows:Get xlink:href="http://services.arcgisonline.com/arcgis/rest/services/World_Imagery/MapServer/WMTS?">
+<ows:Constraint name="GetEncoding">
+<ows:AllowedValues>
+<ows:Value>KVP</ows:Value>
+</ows:AllowedValues>
+</ows:Constraint>
+</ows:Get>
+</ows:HTTP>
+</ows:DCP>
+</ows:Operation>
+<ows:Operation name="GetTile">
+<ows:DCP>
+<ows:HTTP>
+<ows:Get xlink:href="http://services.arcgisonline.com/arcgis/rest/services/World_Imagery/MapServer/WMTS/tile/1.0.0/">
+<ows:Constraint name="GetEncoding">
+<ows:AllowedValues>
+<ows:Value>RESTful</ows:Value>
+</ows:AllowedValues>
+</ows:Constraint>
+</ows:Get>
+<ows:Get xlink:href="http://services.arcgisonline.com/arcgis/rest/services/World_Imagery/MapServer/WMTS?">
+<ows:Constraint name="GetEncoding">
+<ows:AllowedValues>
+<ows:Value>KVP</ows:Value>
+</ows:AllowedValues>
+</ows:Constraint>
+</ows:Get>
+</ows:HTTP>
+</ows:DCP>
+</ows:Operation>
+</ows:OperationsMetadata> <Contents>
+<!--Layer--> <Layer>
+<ows:Title>World_Imagery</ows:Title> <ows:Identifier>World_Imagery</ows:Identifier>
+<ows:BoundingBox crs="urn:ogc:def:crs:EPSG::3857">
+<ows:LowerCorner>-2.003750722959434E7 -1.997186888040859E7</ows:LowerCorner>
+<ows:UpperCorner>2.003750722959434E7 1.9971868880408563E7</ows:UpperCorner>
+</ows:BoundingBox> <ows:WGS84BoundingBox crs="urn:ogc:def:crs:OGC:2:84">
+<ows:LowerCorner>-179.99999000000003 -85.00000000000003</ows:LowerCorner>
+<ows:UpperCorner>179.99999000000003 85.0</ows:UpperCorner>
+</ows:WGS84BoundingBox>
+<Style isDefault="true">
+<ows:Title>Default Style</ows:Title>
+<ows:Identifier>default</ows:Identifier>
+</Style>
+<Format>image/jpg</Format>
+<TileMatrixSetLink>
+<TileMatrixSet>default028mm</TileMatrixSet>
+</TileMatrixSetLink>
+<TileMatrixSetLink>
+<!--Only show this TileMatrixSet if the tiling scheme is compliant to Google Maps (and that happens with tile width = 256 px)-->
+<TileMatrixSet>GoogleMapsCompatible</TileMatrixSet>
+</TileMatrixSetLink>
+<ResourceURL format="image/jpg" resourceType="tile" template="http://services.arcgisonline.com/arcgis/rest/services/World_Imagery/MapServer/WMTS/tile/1.0.0/World_Imagery/{Style}/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}.jpg"/>
+</Layer> <!--TileMatrixSet-->
+<TileMatrixSet>
+<ows:Title>TileMatrix using 0.28mm</ows:Title>
+<ows:Abstract>The tile matrix set that has scale values calculated based on the dpi defined by OGC specification (dpi assumes 0.28mm as the physical distance of a pixel).</ows:Abstract> <ows:Identifier>default028mm</ows:Identifier>
+<ows:SupportedCRS>urn:ogc:def:crs:EPSG::3857</ows:SupportedCRS>
+<TileMatrix>
+<ows:Identifier>0</ows:Identifier>
+<ScaleDenominator>5.590822640285016E8</ScaleDenominator>
+<TopLeftCorner>-2.0037508342787E7 2.0037508342787E7</TopLeftCorner> <TileWidth>256</TileWidth> <TileHeight>256</TileHeight>
+<MatrixWidth>1</MatrixWidth> <MatrixHeight>1</MatrixHeight>
+</TileMatrix>
+<TileMatrix>
+<ows:Identifier>1</ows:Identifier>
+<ScaleDenominator>2.7954113201425034E8</ScaleDenominator>
+<TopLeftCorner>-2.0037508342787E7 2.0037508342787E7</TopLeftCorner> <TileWidth>256</TileWidth> <TileHeight>256</TileHeight>
+<MatrixWidth>2</MatrixWidth> <MatrixHeight>2</MatrixHeight>
+</TileMatrix>
+<TileMatrix>
+<ows:Identifier>2</ows:Identifier>
+<ScaleDenominator>1.3977056600712562E8</ScaleDenominator>
+<TopLeftCorner>-2.0037508342787E7 2.0037508342787E7</TopLeftCorner> <TileWidth>256</TileWidth> <TileHeight>256</TileHeight>
+<MatrixWidth>4</MatrixWidth> <MatrixHeight>4</MatrixHeight>
+</TileMatrix>
+<TileMatrix>
+<ows:Identifier>3</ows:Identifier>
+<ScaleDenominator>6.988528300356235E7</ScaleDenominator>
+<TopLeftCorner>-2.0037508342787E7 2.0037508342787E7</TopLeftCorner> <TileWidth>256</TileWidth> <TileHeight>256</TileHeight>
+<MatrixWidth>8</MatrixWidth> <MatrixHeight>8</MatrixHeight>
+</TileMatrix>
+<TileMatrix>
+<ows:Identifier>4</ows:Identifier>
+<ScaleDenominator>3.494264150178117E7</ScaleDenominator>
+<TopLeftCorner>-2.0037508342787E7 2.0037508342787E7</TopLeftCorner> <TileWidth>256</TileWidth> <TileHeight>256</TileHeight>
+<MatrixWidth>16</MatrixWidth> <MatrixHeight>16</MatrixHeight>
+</TileMatrix>
+<TileMatrix>
+<ows:Identifier>5</ows:Identifier>
+<ScaleDenominator>1.7471320750890587E7</ScaleDenominator>
+<TopLeftCorner>-2.0037508342787E7 2.0037508342787E7</TopLeftCorner> <TileWidth>256</TileWidth> <TileHeight>256</TileHeight>
+<MatrixWidth>32</MatrixWidth> <MatrixHeight>32</MatrixHeight>
+</TileMatrix>
+<TileMatrix>
+<ows:Identifier>6</ows:Identifier>
+<ScaleDenominator>8735660.375445293</ScaleDenominator>
+<TopLeftCorner>-2.0037508342787E7 2.0037508342787E7</TopLeftCorner> <TileWidth>256</TileWidth> <TileHeight>256</TileHeight>
+<MatrixWidth>64</MatrixWidth> <MatrixHeight>64</MatrixHeight>
+</TileMatrix>
+<TileMatrix>
+<ows:Identifier>7</ows:Identifier>
+<ScaleDenominator>4367830.187722647</ScaleDenominator>
+<TopLeftCorner>-2.0037508342787E7 2.0037508342787E7</TopLeftCorner> <TileWidth>256</TileWidth> <TileHeight>256</TileHeight>
+<MatrixWidth>128</MatrixWidth> <MatrixHeight>128</MatrixHeight>
+</TileMatrix>
+<TileMatrix>
+<ows:Identifier>8</ows:Identifier>
+<ScaleDenominator>2183915.0938617955</ScaleDenominator>
+<TopLeftCorner>-2.0037508342787E7 2.0037508342787E7</TopLeftCorner> <TileWidth>256</TileWidth> <TileHeight>256</TileHeight>
+<MatrixWidth>256</MatrixWidth> <MatrixHeight>256</MatrixHeight>
+</TileMatrix>
+<TileMatrix>
+<ows:Identifier>9</ows:Identifier>
+<ScaleDenominator>1091957.5469304253</ScaleDenominator>
+<TopLeftCorner>-2.0037508342787E7 2.0037508342787E7</TopLeftCorner> <TileWidth>256</TileWidth> <TileHeight>256</TileHeight>
+<MatrixWidth>512</MatrixWidth> <MatrixHeight>512</MatrixHeight>
+</TileMatrix>
+<TileMatrix>
+<ows:Identifier>10</ows:Identifier>
+<ScaleDenominator>545978.7734656851</ScaleDenominator>
+<TopLeftCorner>-2.0037508342787E7 2.0037508342787E7</TopLeftCorner> <TileWidth>256</TileWidth> <TileHeight>256</TileHeight>
+<MatrixWidth>1024</MatrixWidth> <MatrixHeight>1023</MatrixHeight>
+</TileMatrix>
+<TileMatrix>
+<ows:Identifier>11</ows:Identifier>
+<ScaleDenominator>272989.38673237007</ScaleDenominator>
+<TopLeftCorner>-2.0037508342787E7 2.0037508342787E7</TopLeftCorner> <TileWidth>256</TileWidth> <TileHeight>256</TileHeight>
+<MatrixWidth>2048</MatrixWidth> <MatrixHeight>2045</MatrixHeight>
+</TileMatrix>
+<TileMatrix>
+<ows:Identifier>12</ows:Identifier>
+<ScaleDenominator>136494.69336618503</ScaleDenominator>
+<TopLeftCorner>-2.0037508342787E7 2.0037508342787E7</TopLeftCorner> <TileWidth>256</TileWidth> <TileHeight>256</TileHeight>
+<MatrixWidth>4096</MatrixWidth> <MatrixHeight>4090</MatrixHeight>
+</TileMatrix>
+<TileMatrix>
+<ows:Identifier>13</ows:Identifier>
+<ScaleDenominator>68247.34668309252</ScaleDenominator>
+<TopLeftCorner>-2.0037508342787E7 2.0037508342787E7</TopLeftCorner> <TileWidth>256</TileWidth> <TileHeight>256</TileHeight>
+<MatrixWidth>8192</MatrixWidth> <MatrixHeight>8179</MatrixHeight>
+</TileMatrix>
+<TileMatrix>
+<ows:Identifier>14</ows:Identifier>
+<ScaleDenominator>34123.67334154626</ScaleDenominator>
+<TopLeftCorner>-2.0037508342787E7 2.0037508342787E7</TopLeftCorner> <TileWidth>256</TileWidth> <TileHeight>256</TileHeight>
+<MatrixWidth>16384</MatrixWidth> <MatrixHeight>16358</MatrixHeight>
+</TileMatrix>
+<TileMatrix>
+<ows:Identifier>15</ows:Identifier>
+<ScaleDenominator>17061.836671245605</ScaleDenominator>
+<TopLeftCorner>-2.0037508342787E7 2.0037508342787E7</TopLeftCorner> <TileWidth>256</TileWidth> <TileHeight>256</TileHeight>
+<MatrixWidth>32768</MatrixWidth> <MatrixHeight>32715</MatrixHeight>
+</TileMatrix>
+<TileMatrix>
+<ows:Identifier>16</ows:Identifier>
+<ScaleDenominator>8530.918335622802</ScaleDenominator>
+<TopLeftCorner>-2.0037508342787E7 2.0037508342787E7</TopLeftCorner> <TileWidth>256</TileWidth> <TileHeight>256</TileHeight>
+<MatrixWidth>65536</MatrixWidth> <MatrixHeight>65429</MatrixHeight>
+</TileMatrix>
+<TileMatrix>
+<ows:Identifier>17</ows:Identifier>
+<ScaleDenominator>4265.459167338929</ScaleDenominator>
+<TopLeftCorner>-2.0037508342787E7 2.0037508342787E7</TopLeftCorner> <TileWidth>256</TileWidth> <TileHeight>256</TileHeight>
+<MatrixWidth>131072</MatrixWidth> <MatrixHeight>130858</MatrixHeight>
+</TileMatrix>
+<TileMatrix>
+<ows:Identifier>18</ows:Identifier>
+<ScaleDenominator>2132.729584141936</ScaleDenominator>
+<TopLeftCorner>-2.0037508342787E7 2.0037508342787E7</TopLeftCorner> <TileWidth>256</TileWidth> <TileHeight>256</TileHeight>
+<MatrixWidth>262144</MatrixWidth> <MatrixHeight>261715</MatrixHeight>
+</TileMatrix>
+<TileMatrix>
+<ows:Identifier>19</ows:Identifier>
+<ScaleDenominator>1066.3647915984968</ScaleDenominator>
+<TopLeftCorner>-2.0037508342787E7 2.0037508342787E7</TopLeftCorner> <TileWidth>256</TileWidth> <TileHeight>256</TileHeight>
+<MatrixWidth>524288</MatrixWidth> <MatrixHeight>523430</MatrixHeight>
+</TileMatrix>
+</TileMatrixSet>
+<TileMatrixSet>
+<ows:Title>GoogleMapsCompatible</ows:Title>
+<ows:Abstract>the wellknown 'GoogleMapsCompatible' tile matrix set defined by OGC WMTS specification</ows:Abstract>
+<ows:Identifier>GoogleMapsCompatible</ows:Identifier>
+<ows:SupportedCRS>urn:ogc:def:crs:EPSG:6.18.3:3857</ows:SupportedCRS>
+<WellKnownScaleSet>urn:ogc:def:wkss:OGC:1.0:GoogleMapsCompatible</WellKnownScaleSet>
+<TileMatrix>
+<ows:Identifier>0</ows:Identifier>
+<ScaleDenominator>559082264.0287178</ScaleDenominator>
+<TopLeftCorner>-20037508.34278925 20037508.34278925</TopLeftCorner>
+<TileWidth>256</TileWidth>
+<TileHeight>256</TileHeight>
+<MatrixWidth>1</MatrixWidth>
+<MatrixHeight>1</MatrixHeight>
+</TileMatrix>
+<TileMatrix>
+<ows:Identifier>1</ows:Identifier>
+<ScaleDenominator>279541132.0143589</ScaleDenominator>
+<TopLeftCorner>-20037508.34278925 20037508.34278925</TopLeftCorner>
+<TileWidth>256</TileWidth>
+<TileHeight>256</TileHeight>
+<MatrixWidth>2</MatrixWidth>
+<MatrixHeight>2</MatrixHeight>
+</TileMatrix>
+<TileMatrix>
+<ows:Identifier>2</ows:Identifier>
+<ScaleDenominator>139770566.0071794</ScaleDenominator>
+<TopLeftCorner>-20037508.34278925 20037508.34278925</TopLeftCorner>
+<TileWidth>256</TileWidth>
+<TileHeight>256</TileHeight>
+<MatrixWidth>4</MatrixWidth>
+<MatrixHeight>4</MatrixHeight>
+</TileMatrix>
+<TileMatrix>
+<ows:Identifier>3</ows:Identifier>
+<ScaleDenominator>69885283.00358972</ScaleDenominator>
+<TopLeftCorner>-20037508.34278925 20037508.34278925</TopLeftCorner>
+<TileWidth>256</TileWidth>
+<TileHeight>256</TileHeight>
+<MatrixWidth>8</MatrixWidth>
+<MatrixHeight>8</MatrixHeight>
+</TileMatrix>
+<TileMatrix>
+<ows:Identifier>4</ows:Identifier>
+<ScaleDenominator>34942641.50179486</ScaleDenominator>
+<TopLeftCorner>-20037508.34278925 20037508.34278925</TopLeftCorner>
+<TileWidth>256</TileWidth>
+<TileHeight>256</TileHeight>
+<MatrixWidth>16</MatrixWidth>
+<MatrixHeight>16</MatrixHeight>
+</TileMatrix>
+<TileMatrix>
+<ows:Identifier>5</ows:Identifier>
+<ScaleDenominator>17471320.75089743</ScaleDenominator>
+<TopLeftCorner>-20037508.34278925 20037508.34278925</TopLeftCorner>
+<TileWidth>256</TileWidth>
+<TileHeight>256</TileHeight>
+<MatrixWidth>32</MatrixWidth>
+<MatrixHeight>32</MatrixHeight>
+</TileMatrix>
+<TileMatrix>
+<ows:Identifier>6</ows:Identifier>
+<ScaleDenominator>8735660.375448715</ScaleDenominator>
+<TopLeftCorner>-20037508.34278925 20037508.34278925</TopLeftCorner>
+<TileWidth>256</TileWidth>
+<TileHeight>256</TileHeight>
+<MatrixWidth>64</MatrixWidth>
+<MatrixHeight>64</MatrixHeight>
+</TileMatrix>
+<TileMatrix>
+<ows:Identifier>7</ows:Identifier>
+<ScaleDenominator>4367830.187724357</ScaleDenominator>
+<TopLeftCorner>-20037508.34278925 20037508.34278925</TopLeftCorner>
+<TileWidth>256</TileWidth>
+<TileHeight>256</TileHeight>
+<MatrixWidth>128</MatrixWidth>
+<MatrixHeight>128</MatrixHeight>
+</TileMatrix>
+<TileMatrix>
+<ows:Identifier>8</ows:Identifier>
+<ScaleDenominator>2183915.093862179</ScaleDenominator>
+<TopLeftCorner>-20037508.34278925 20037508.34278925</TopLeftCorner>
+<TileWidth>256</TileWidth>
+<TileHeight>256</TileHeight>
+<MatrixWidth>256</MatrixWidth>
+<MatrixHeight>256</MatrixHeight>
+</TileMatrix>
+<TileMatrix>
+<ows:Identifier>9</ows:Identifier>
+<ScaleDenominator>1091957.546931089</ScaleDenominator>
+<TopLeftCorner>-20037508.34278925 20037508.34278925</TopLeftCorner>
+<TileWidth>256</TileWidth>
+<TileHeight>256</TileHeight>
+<MatrixWidth>512</MatrixWidth>
+<MatrixHeight>512</MatrixHeight>
+</TileMatrix>
+<TileMatrix>
+<ows:Identifier>10</ows:Identifier>
+<ScaleDenominator>545978.7734655447</ScaleDenominator>
+<TopLeftCorner>-20037508.34278925 20037508.34278925</TopLeftCorner>
+<TileWidth>256</TileWidth>
+<TileHeight>256</TileHeight>
+<MatrixWidth>1024</MatrixWidth>
+<MatrixHeight>1024</MatrixHeight>
+</TileMatrix>
+<TileMatrix>
+<ows:Identifier>11</ows:Identifier>
+<ScaleDenominator>272989.3867327723</ScaleDenominator>
+<TopLeftCorner>-20037508.34278925 20037508.34278925</TopLeftCorner>
+<TileWidth>256</TileWidth>
+<TileHeight>256</TileHeight>
+<MatrixWidth>2048</MatrixWidth>
+<MatrixHeight>2048</MatrixHeight>
+</TileMatrix>
+<TileMatrix>
+<ows:Identifier>12</ows:Identifier>
+<ScaleDenominator>136494.6933663862</ScaleDenominator>
+<TopLeftCorner>-20037508.34278925 20037508.34278925</TopLeftCorner>
+<TileWidth>256</TileWidth>
+<TileHeight>256</TileHeight>
+<MatrixWidth>4096</MatrixWidth>
+<MatrixHeight>4096</MatrixHeight>
+</TileMatrix>
+<TileMatrix>
+<ows:Identifier>13</ows:Identifier>
+<ScaleDenominator>68247.34668319309</ScaleDenominator>
+<TopLeftCorner>-20037508.34278925 20037508.34278925</TopLeftCorner>
+<TileWidth>256</TileWidth>
+<TileHeight>256</TileHeight>
+<MatrixWidth>8192</MatrixWidth>
+<MatrixHeight>8192</MatrixHeight>
+</TileMatrix>
+<TileMatrix>
+<ows:Identifier>14</ows:Identifier>
+<ScaleDenominator>34123.67334159654</ScaleDenominator>
+<TopLeftCorner>-20037508.34278925 20037508.34278925</TopLeftCorner>
+<TileWidth>256</TileWidth>
+<TileHeight>256</TileHeight>
+<MatrixWidth>16384</MatrixWidth>
+<MatrixHeight>16384</MatrixHeight>
+</TileMatrix>
+<TileMatrix>
+<ows:Identifier>15</ows:Identifier>
+<ScaleDenominator>17061.83667079827</ScaleDenominator>
+<TopLeftCorner>-20037508.34278925 20037508.34278925</TopLeftCorner>
+<TileWidth>256</TileWidth>
+<TileHeight>256</TileHeight>
+<MatrixWidth>32768</MatrixWidth>
+<MatrixHeight>32768</MatrixHeight>
+</TileMatrix>
+<TileMatrix>
+<ows:Identifier>16</ows:Identifier>
+<ScaleDenominator>8530.918335399136</ScaleDenominator>
+<TopLeftCorner>-20037508.34278925 20037508.34278925</TopLeftCorner>
+<TileWidth>256</TileWidth>
+<TileHeight>256</TileHeight>
+<MatrixWidth>65536</MatrixWidth>
+<MatrixHeight>65536</MatrixHeight>
+</TileMatrix>
+<TileMatrix>
+<ows:Identifier>17</ows:Identifier>
+<ScaleDenominator>4265.459167699568</ScaleDenominator>
+<TopLeftCorner>-20037508.34278925 20037508.34278925</TopLeftCorner>
+<TileWidth>256</TileWidth>
+<TileHeight>256</TileHeight>
+<MatrixWidth>131072</MatrixWidth>
+<MatrixHeight>131072</MatrixHeight>
+</TileMatrix>
+<TileMatrix>
+<ows:Identifier>18</ows:Identifier>
+<ScaleDenominator>2132.729583849784</ScaleDenominator>
+<TopLeftCorner>-20037508.34278925 20037508.34278925</TopLeftCorner>
+<TileWidth>256</TileWidth>
+<TileHeight>256</TileHeight>
+<MatrixWidth>262144</MatrixWidth>
+<MatrixHeight>262144</MatrixHeight>
+</TileMatrix>
+</TileMatrixSet>
+</Contents>
+<ServiceMetadataURL xlink:href="http://services.arcgisonline.com/arcgis/rest/services/World_Imagery/MapServer/WMTS/1.0.0/WMTSCapabilities.xml"/> </Capabilities>
\ No newline at end of file
diff --git a/src/map/WorldTopo.wmts b/src/map/WorldTopo.wmts
new file mode 100644
index 0000000..256e428
--- /dev/null
+++ b/src/map/WorldTopo.wmts
@@ -0,0 +1,377 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Capabilities xmlns="http://www.opengis.net/wmts/1.0" xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:gml="http://www.opengis.net/gml" xsi:schemaLocation="http://www.opengis.net/wmts/1.0 http://schemas.opengis.net/wmts/1.0/wmtsGetCapabilities_response.xsd" version="1.0.0">
+<!-- Service Identification --> <ows:ServiceIdentification>
+<ows:Title>World_Topo_Map</ows:Title>
+<ows:ServiceType>OGC WMTS</ows:ServiceType>
+<ows:ServiceTypeVersion>1.0.0</ows:ServiceTypeVersion>
+</ows:ServiceIdentification> <!-- Operations Metadata --> <ows:OperationsMetadata>
+<ows:Operation name="GetCapabilities">
+<ows:DCP>
+<ows:HTTP>
+<ows:Get xlink:href="http://services.arcgisonline.com/arcgis/rest/services/World_Topo_Map/MapServer/WMTS/1.0.0/WMTSCapabilities.xml">
+<ows:Constraint name="GetEncoding">
+<ows:AllowedValues>
+<ows:Value>RESTful</ows:Value>
+</ows:AllowedValues>
+</ows:Constraint>
+</ows:Get>
+<!-- add KVP binding in 10.1 -->
+<ows:Get xlink:href="http://services.arcgisonline.com/arcgis/rest/services/World_Topo_Map/MapServer/WMTS?">
+<ows:Constraint name="GetEncoding">
+<ows:AllowedValues>
+<ows:Value>KVP</ows:Value>
+</ows:AllowedValues>
+</ows:Constraint>
+</ows:Get>
+</ows:HTTP>
+</ows:DCP>
+</ows:Operation>
+<ows:Operation name="GetTile">
+<ows:DCP>
+<ows:HTTP>
+<ows:Get xlink:href="http://services.arcgisonline.com/arcgis/rest/services/World_Topo_Map/MapServer/WMTS/tile/1.0.0/">
+<ows:Constraint name="GetEncoding">
+<ows:AllowedValues>
+<ows:Value>RESTful</ows:Value>
+</ows:AllowedValues>
+</ows:Constraint>
+</ows:Get>
+<ows:Get xlink:href="http://services.arcgisonline.com/arcgis/rest/services/World_Topo_Map/MapServer/WMTS?">
+<ows:Constraint name="GetEncoding">
+<ows:AllowedValues>
+<ows:Value>KVP</ows:Value>
+</ows:AllowedValues>
+</ows:Constraint>
+</ows:Get>
+</ows:HTTP>
+</ows:DCP>
+</ows:Operation>
+</ows:OperationsMetadata> <Contents>
+<!--Layer--> <Layer>
+<ows:Title>World_Topo_Map</ows:Title> <ows:Identifier>World_Topo_Map</ows:Identifier>
+<ows:BoundingBox crs="urn:ogc:def:crs:EPSG::3857">
+<ows:LowerCorner>-2.0037507067161843E7 -1.9971868880408604E7</ows:LowerCorner>
+<ows:UpperCorner>2.0037507067161843E7 1.997186888040863E7</ows:UpperCorner>
+</ows:BoundingBox> <ows:WGS84BoundingBox crs="urn:ogc:def:crs:OGC:2:84">
+<ows:LowerCorner>-179.9999885408441 -85.00000000000003</ows:LowerCorner>
+<ows:UpperCorner>179.9999885408441 85.00000000000006</ows:UpperCorner>
+</ows:WGS84BoundingBox>
+<Style isDefault="true">
+<ows:Title>Default Style</ows:Title>
+<ows:Identifier>default</ows:Identifier>
+</Style>
+<Format>image/jpg</Format>
+<TileMatrixSetLink>
+<TileMatrixSet>default028mm</TileMatrixSet>
+</TileMatrixSetLink>
+<TileMatrixSetLink>
+<!--Only show this TileMatrixSet if the tiling scheme is compliant to Google Maps (and that happens with tile width = 256 px)-->
+<TileMatrixSet>GoogleMapsCompatible</TileMatrixSet>
+</TileMatrixSetLink>
+<ResourceURL format="image/jpg" resourceType="tile" template="http://services.arcgisonline.com/arcgis/rest/services/World_Topo_Map/MapServer/WMTS/tile/1.0.0/World_Topo_Map/{Style}/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}.jpg"/>
+</Layer> <!--TileMatrixSet-->
+<TileMatrixSet>
+<ows:Title>TileMatrix using 0.28mm</ows:Title>
+<ows:Abstract>The tile matrix set that has scale values calculated based on the dpi defined by OGC specification (dpi assumes 0.28mm as the physical distance of a pixel).</ows:Abstract> <ows:Identifier>default028mm</ows:Identifier>
+<ows:SupportedCRS>urn:ogc:def:crs:EPSG::3857</ows:SupportedCRS>
+<TileMatrix>
+<ows:Identifier>0</ows:Identifier>
+<ScaleDenominator>5.590822640285016E8</ScaleDenominator>
+<TopLeftCorner>-2.0037508342787E7 2.0037508342787E7</TopLeftCorner> <TileWidth>256</TileWidth> <TileHeight>256</TileHeight>
+<MatrixWidth>1</MatrixWidth> <MatrixHeight>1</MatrixHeight>
+</TileMatrix>
+<TileMatrix>
+<ows:Identifier>1</ows:Identifier>
+<ScaleDenominator>2.7954113201425034E8</ScaleDenominator>
+<TopLeftCorner>-2.0037508342787E7 2.0037508342787E7</TopLeftCorner> <TileWidth>256</TileWidth> <TileHeight>256</TileHeight>
+<MatrixWidth>2</MatrixWidth> <MatrixHeight>2</MatrixHeight>
+</TileMatrix>
+<TileMatrix>
+<ows:Identifier>2</ows:Identifier>
+<ScaleDenominator>1.3977056600712562E8</ScaleDenominator>
+<TopLeftCorner>-2.0037508342787E7 2.0037508342787E7</TopLeftCorner> <TileWidth>256</TileWidth> <TileHeight>256</TileHeight>
+<MatrixWidth>4</MatrixWidth> <MatrixHeight>4</MatrixHeight>
+</TileMatrix>
+<TileMatrix>
+<ows:Identifier>3</ows:Identifier>
+<ScaleDenominator>6.988528300356235E7</ScaleDenominator>
+<TopLeftCorner>-2.0037508342787E7 2.0037508342787E7</TopLeftCorner> <TileWidth>256</TileWidth> <TileHeight>256</TileHeight>
+<MatrixWidth>8</MatrixWidth> <MatrixHeight>8</MatrixHeight>
+</TileMatrix>
+<TileMatrix>
+<ows:Identifier>4</ows:Identifier>
+<ScaleDenominator>3.494264150178117E7</ScaleDenominator>
+<TopLeftCorner>-2.0037508342787E7 2.0037508342787E7</TopLeftCorner> <TileWidth>256</TileWidth> <TileHeight>256</TileHeight>
+<MatrixWidth>16</MatrixWidth> <MatrixHeight>16</MatrixHeight>
+</TileMatrix>
+<TileMatrix>
+<ows:Identifier>5</ows:Identifier>
+<ScaleDenominator>1.7471320750890587E7</ScaleDenominator>
+<TopLeftCorner>-2.0037508342787E7 2.0037508342787E7</TopLeftCorner> <TileWidth>256</TileWidth> <TileHeight>256</TileHeight>
+<MatrixWidth>32</MatrixWidth> <MatrixHeight>32</MatrixHeight>
+</TileMatrix>
+<TileMatrix>
+<ows:Identifier>6</ows:Identifier>
+<ScaleDenominator>8735660.375445293</ScaleDenominator>
+<TopLeftCorner>-2.0037508342787E7 2.0037508342787E7</TopLeftCorner> <TileWidth>256</TileWidth> <TileHeight>256</TileHeight>
+<MatrixWidth>64</MatrixWidth> <MatrixHeight>64</MatrixHeight>
+</TileMatrix>
+<TileMatrix>
+<ows:Identifier>7</ows:Identifier>
+<ScaleDenominator>4367830.187722647</ScaleDenominator>
+<TopLeftCorner>-2.0037508342787E7 2.0037508342787E7</TopLeftCorner> <TileWidth>256</TileWidth> <TileHeight>256</TileHeight>
+<MatrixWidth>128</MatrixWidth> <MatrixHeight>128</MatrixHeight>
+</TileMatrix>
+<TileMatrix>
+<ows:Identifier>8</ows:Identifier>
+<ScaleDenominator>2183915.0938617955</ScaleDenominator>
+<TopLeftCorner>-2.0037508342787E7 2.0037508342787E7</TopLeftCorner> <TileWidth>256</TileWidth> <TileHeight>256</TileHeight>
+<MatrixWidth>256</MatrixWidth> <MatrixHeight>256</MatrixHeight>
+</TileMatrix>
+<TileMatrix>
+<ows:Identifier>9</ows:Identifier>
+<ScaleDenominator>1091957.5469304253</ScaleDenominator>
+<TopLeftCorner>-2.0037508342787E7 2.0037508342787E7</TopLeftCorner> <TileWidth>256</TileWidth> <TileHeight>256</TileHeight>
+<MatrixWidth>512</MatrixWidth> <MatrixHeight>512</MatrixHeight>
+</TileMatrix>
+<TileMatrix>
+<ows:Identifier>10</ows:Identifier>
+<ScaleDenominator>545978.7734656851</ScaleDenominator>
+<TopLeftCorner>-2.0037508342787E7 2.0037508342787E7</TopLeftCorner> <TileWidth>256</TileWidth> <TileHeight>256</TileHeight>
+<MatrixWidth>1024</MatrixWidth> <MatrixHeight>1023</MatrixHeight>
+</TileMatrix>
+<TileMatrix>
+<ows:Identifier>11</ows:Identifier>
+<ScaleDenominator>272989.38673237007</ScaleDenominator>
+<TopLeftCorner>-2.0037508342787E7 2.0037508342787E7</TopLeftCorner> <TileWidth>256</TileWidth> <TileHeight>256</TileHeight>
+<MatrixWidth>2048</MatrixWidth> <MatrixHeight>2045</MatrixHeight>
+</TileMatrix>
+<TileMatrix>
+<ows:Identifier>12</ows:Identifier>
+<ScaleDenominator>136494.69336618503</ScaleDenominator>
+<TopLeftCorner>-2.0037508342787E7 2.0037508342787E7</TopLeftCorner> <TileWidth>256</TileWidth> <TileHeight>256</TileHeight>
+<MatrixWidth>4096</MatrixWidth> <MatrixHeight>4090</MatrixHeight>
+</TileMatrix>
+<TileMatrix>
+<ows:Identifier>13</ows:Identifier>
+<ScaleDenominator>68247.34668309252</ScaleDenominator>
+<TopLeftCorner>-2.0037508342787E7 2.0037508342787E7</TopLeftCorner> <TileWidth>256</TileWidth> <TileHeight>256</TileHeight>
+<MatrixWidth>8192</MatrixWidth> <MatrixHeight>8179</MatrixHeight>
+</TileMatrix>
+<TileMatrix>
+<ows:Identifier>14</ows:Identifier>
+<ScaleDenominator>34123.67334154626</ScaleDenominator>
+<TopLeftCorner>-2.0037508342787E7 2.0037508342787E7</TopLeftCorner> <TileWidth>256</TileWidth> <TileHeight>256</TileHeight>
+<MatrixWidth>16384</MatrixWidth> <MatrixHeight>16358</MatrixHeight>
+</TileMatrix>
+<TileMatrix>
+<ows:Identifier>15</ows:Identifier>
+<ScaleDenominator>17061.836671245605</ScaleDenominator>
+<TopLeftCorner>-2.0037508342787E7 2.0037508342787E7</TopLeftCorner> <TileWidth>256</TileWidth> <TileHeight>256</TileHeight>
+<MatrixWidth>32768</MatrixWidth> <MatrixHeight>32715</MatrixHeight>
+</TileMatrix>
+<TileMatrix>
+<ows:Identifier>16</ows:Identifier>
+<ScaleDenominator>8530.918335622802</ScaleDenominator>
+<TopLeftCorner>-2.0037508342787E7 2.0037508342787E7</TopLeftCorner> <TileWidth>256</TileWidth> <TileHeight>256</TileHeight>
+<MatrixWidth>65536</MatrixWidth> <MatrixHeight>65429</MatrixHeight>
+</TileMatrix>
+<TileMatrix>
+<ows:Identifier>17</ows:Identifier>
+<ScaleDenominator>4265.459167338929</ScaleDenominator>
+<TopLeftCorner>-2.0037508342787E7 2.0037508342787E7</TopLeftCorner> <TileWidth>256</TileWidth> <TileHeight>256</TileHeight>
+<MatrixWidth>131072</MatrixWidth> <MatrixHeight>130858</MatrixHeight>
+</TileMatrix>
+<TileMatrix>
+<ows:Identifier>18</ows:Identifier>
+<ScaleDenominator>2132.729584141936</ScaleDenominator>
+<TopLeftCorner>-2.0037508342787E7 2.0037508342787E7</TopLeftCorner> <TileWidth>256</TileWidth> <TileHeight>256</TileHeight>
+<MatrixWidth>262144</MatrixWidth> <MatrixHeight>261715</MatrixHeight>
+</TileMatrix>
+<TileMatrix>
+<ows:Identifier>19</ows:Identifier>
+<ScaleDenominator>1066.3647915984968</ScaleDenominator>
+<TopLeftCorner>-2.0037508342787E7 2.0037508342787E7</TopLeftCorner> <TileWidth>256</TileWidth> <TileHeight>256</TileHeight>
+<MatrixWidth>524288</MatrixWidth> <MatrixHeight>523430</MatrixHeight>
+</TileMatrix>
+</TileMatrixSet>
+<TileMatrixSet>
+<ows:Title>GoogleMapsCompatible</ows:Title>
+<ows:Abstract>the wellknown 'GoogleMapsCompatible' tile matrix set defined by OGC WMTS specification</ows:Abstract>
+<ows:Identifier>GoogleMapsCompatible</ows:Identifier>
+<ows:SupportedCRS>urn:ogc:def:crs:EPSG:6.18.3:3857</ows:SupportedCRS>
+<WellKnownScaleSet>urn:ogc:def:wkss:OGC:1.0:GoogleMapsCompatible</WellKnownScaleSet>
+<TileMatrix>
+<ows:Identifier>0</ows:Identifier>
+<ScaleDenominator>559082264.0287178</ScaleDenominator>
+<TopLeftCorner>-20037508.34278925 20037508.34278925</TopLeftCorner>
+<TileWidth>256</TileWidth>
+<TileHeight>256</TileHeight>
+<MatrixWidth>1</MatrixWidth>
+<MatrixHeight>1</MatrixHeight>
+</TileMatrix>
+<TileMatrix>
+<ows:Identifier>1</ows:Identifier>
+<ScaleDenominator>279541132.0143589</ScaleDenominator>
+<TopLeftCorner>-20037508.34278925 20037508.34278925</TopLeftCorner>
+<TileWidth>256</TileWidth>
+<TileHeight>256</TileHeight>
+<MatrixWidth>2</MatrixWidth>
+<MatrixHeight>2</MatrixHeight>
+</TileMatrix>
+<TileMatrix>
+<ows:Identifier>2</ows:Identifier>
+<ScaleDenominator>139770566.0071794</ScaleDenominator>
+<TopLeftCorner>-20037508.34278925 20037508.34278925</TopLeftCorner>
+<TileWidth>256</TileWidth>
+<TileHeight>256</TileHeight>
+<MatrixWidth>4</MatrixWidth>
+<MatrixHeight>4</MatrixHeight>
+</TileMatrix>
+<TileMatrix>
+<ows:Identifier>3</ows:Identifier>
+<ScaleDenominator>69885283.00358972</ScaleDenominator>
+<TopLeftCorner>-20037508.34278925 20037508.34278925</TopLeftCorner>
+<TileWidth>256</TileWidth>
+<TileHeight>256</TileHeight>
+<MatrixWidth>8</MatrixWidth>
+<MatrixHeight>8</MatrixHeight>
+</TileMatrix>
+<TileMatrix>
+<ows:Identifier>4</ows:Identifier>
+<ScaleDenominator>34942641.50179486</ScaleDenominator>
+<TopLeftCorner>-20037508.34278925 20037508.34278925</TopLeftCorner>
+<TileWidth>256</TileWidth>
+<TileHeight>256</TileHeight>
+<MatrixWidth>16</MatrixWidth>
+<MatrixHeight>16</MatrixHeight>
+</TileMatrix>
+<TileMatrix>
+<ows:Identifier>5</ows:Identifier>
+<ScaleDenominator>17471320.75089743</ScaleDenominator>
+<TopLeftCorner>-20037508.34278925 20037508.34278925</TopLeftCorner>
+<TileWidth>256</TileWidth>
+<TileHeight>256</TileHeight>
+<MatrixWidth>32</MatrixWidth>
+<MatrixHeight>32</MatrixHeight>
+</TileMatrix>
+<TileMatrix>
+<ows:Identifier>6</ows:Identifier>
+<ScaleDenominator>8735660.375448715</ScaleDenominator>
+<TopLeftCorner>-20037508.34278925 20037508.34278925</TopLeftCorner>
+<TileWidth>256</TileWidth>
+<TileHeight>256</TileHeight>
+<MatrixWidth>64</MatrixWidth>
+<MatrixHeight>64</MatrixHeight>
+</TileMatrix>
+<TileMatrix>
+<ows:Identifier>7</ows:Identifier>
+<ScaleDenominator>4367830.187724357</ScaleDenominator>
+<TopLeftCorner>-20037508.34278925 20037508.34278925</TopLeftCorner>
+<TileWidth>256</TileWidth>
+<TileHeight>256</TileHeight>
+<MatrixWidth>128</MatrixWidth>
+<MatrixHeight>128</MatrixHeight>
+</TileMatrix>
+<TileMatrix>
+<ows:Identifier>8</ows:Identifier>
+<ScaleDenominator>2183915.093862179</ScaleDenominator>
+<TopLeftCorner>-20037508.34278925 20037508.34278925</TopLeftCorner>
+<TileWidth>256</TileWidth>
+<TileHeight>256</TileHeight>
+<MatrixWidth>256</MatrixWidth>
+<MatrixHeight>256</MatrixHeight>
+</TileMatrix>
+<TileMatrix>
+<ows:Identifier>9</ows:Identifier>
+<ScaleDenominator>1091957.546931089</ScaleDenominator>
+<TopLeftCorner>-20037508.34278925 20037508.34278925</TopLeftCorner>
+<TileWidth>256</TileWidth>
+<TileHeight>256</TileHeight>
+<MatrixWidth>512</MatrixWidth>
+<MatrixHeight>512</MatrixHeight>
+</TileMatrix>
+<TileMatrix>
+<ows:Identifier>10</ows:Identifier>
+<ScaleDenominator>545978.7734655447</ScaleDenominator>
+<TopLeftCorner>-20037508.34278925 20037508.34278925</TopLeftCorner>
+<TileWidth>256</TileWidth>
+<TileHeight>256</TileHeight>
+<MatrixWidth>1024</MatrixWidth>
+<MatrixHeight>1024</MatrixHeight>
+</TileMatrix>
+<TileMatrix>
+<ows:Identifier>11</ows:Identifier>
+<ScaleDenominator>272989.3867327723</ScaleDenominator>
+<TopLeftCorner>-20037508.34278925 20037508.34278925</TopLeftCorner>
+<TileWidth>256</TileWidth>
+<TileHeight>256</TileHeight>
+<MatrixWidth>2048</MatrixWidth>
+<MatrixHeight>2048</MatrixHeight>
+</TileMatrix>
+<TileMatrix>
+<ows:Identifier>12</ows:Identifier>
+<ScaleDenominator>136494.6933663862</ScaleDenominator>
+<TopLeftCorner>-20037508.34278925 20037508.34278925</TopLeftCorner>
+<TileWidth>256</TileWidth>
+<TileHeight>256</TileHeight>
+<MatrixWidth>4096</MatrixWidth>
+<MatrixHeight>4096</MatrixHeight>
+</TileMatrix>
+<TileMatrix>
+<ows:Identifier>13</ows:Identifier>
+<ScaleDenominator>68247.34668319309</ScaleDenominator>
+<TopLeftCorner>-20037508.34278925 20037508.34278925</TopLeftCorner>
+<TileWidth>256</TileWidth>
+<TileHeight>256</TileHeight>
+<MatrixWidth>8192</MatrixWidth>
+<MatrixHeight>8192</MatrixHeight>
+</TileMatrix>
+<TileMatrix>
+<ows:Identifier>14</ows:Identifier>
+<ScaleDenominator>34123.67334159654</ScaleDenominator>
+<TopLeftCorner>-20037508.34278925 20037508.34278925</TopLeftCorner>
+<TileWidth>256</TileWidth>
+<TileHeight>256</TileHeight>
+<MatrixWidth>16384</MatrixWidth>
+<MatrixHeight>16384</MatrixHeight>
+</TileMatrix>
+<TileMatrix>
+<ows:Identifier>15</ows:Identifier>
+<ScaleDenominator>17061.83667079827</ScaleDenominator>
+<TopLeftCorner>-20037508.34278925 20037508.34278925</TopLeftCorner>
+<TileWidth>256</TileWidth>
+<TileHeight>256</TileHeight>
+<MatrixWidth>32768</MatrixWidth>
+<MatrixHeight>32768</MatrixHeight>
+</TileMatrix>
+<TileMatrix>
+<ows:Identifier>16</ows:Identifier>
+<ScaleDenominator>8530.918335399136</ScaleDenominator>
+<TopLeftCorner>-20037508.34278925 20037508.34278925</TopLeftCorner>
+<TileWidth>256</TileWidth>
+<TileHeight>256</TileHeight>
+<MatrixWidth>65536</MatrixWidth>
+<MatrixHeight>65536</MatrixHeight>
+</TileMatrix>
+<TileMatrix>
+<ows:Identifier>17</ows:Identifier>
+<ScaleDenominator>4265.459167699568</ScaleDenominator>
+<TopLeftCorner>-20037508.34278925 20037508.34278925</TopLeftCorner>
+<TileWidth>256</TileWidth>
+<TileHeight>256</TileHeight>
+<MatrixWidth>131072</MatrixWidth>
+<MatrixHeight>131072</MatrixHeight>
+</TileMatrix>
+<TileMatrix>
+<ows:Identifier>18</ows:Identifier>
+<ScaleDenominator>2132.729583849784</ScaleDenominator>
+<TopLeftCorner>-20037508.34278925 20037508.34278925</TopLeftCorner>
+<TileWidth>256</TileWidth>
+<TileHeight>256</TileHeight>
+<MatrixWidth>262144</MatrixWidth>
+<MatrixHeight>262144</MatrixHeight>
+</TileMatrix>
+</TileMatrixSet>
+</Contents>
+<ServiceMetadataURL xlink:href="http://services.arcgisonline.com/arcgis/rest/services/World_Topo_Map/MapServer/WMTS/1.0.0/WMTSCapabilities.xml"/> </Capabilities>
\ No newline at end of file
diff --git a/src/map/garmin/IGarminStrTbl.cpp b/src/map/garmin/IGarminStrTbl.cpp
index 9324c11..de2b052 100644
--- a/src/map/garmin/IGarminStrTbl.cpp
+++ b/src/map/garmin/IGarminStrTbl.cpp
@@ -87,7 +87,7 @@ void IGarminStrTbl::readFile(CFileExt &file, quint32 offset, quint32 size, QByte
         return;
     }
 
-    data = QByteArray::fromRawData(file.data(offset), size);
+    data = QByteArray::fromRawData(file.data(offset,size), size);
     // wenn mask == 0 ist kein xor noetig
     if(mask == 0)
     {
diff --git a/src/mouse/CMouseEditTrk.cpp b/src/mouse/CMouseEditTrk.cpp
index c90662d..61c1f25 100644
--- a/src/mouse/CMouseEditTrk.cpp
+++ b/src/mouse/CMouseEditTrk.cpp
@@ -37,8 +37,8 @@ CMouseEditTrk::CMouseEditTrk(CGisItemTrk &trk, CGisDraw * gis, CCanvas * parent)
     key         = trk.getKey();
 
     // reset any focus the track might have.
-    trk.setMouseFocusByPoint(NOPOINT, CGisItemTrk::eFocusMouseMove);
-    trk.setMouseFocusByPoint(NOPOINT, CGisItemTrk::eFocusMouseClick);
+    trk.setMouseFocusByPoint(NOPOINT, CGisItemTrk::eFocusMouseMove, "CMouseEditTrk");
+    trk.setMouseFocusByPoint(NOPOINT, CGisItemTrk::eFocusMouseClick, "CMouseEditTrk");
     trk.looseUserFocus();
 
     canvas->reportStatus(key.item, tr("<b>Edit Track Points</b><br/>Select a track point for more options.<br/>"));
diff --git a/src/mouse/CMouseNormal.cpp b/src/mouse/CMouseNormal.cpp
index 7e22924..0570e28 100644
--- a/src/mouse/CMouseNormal.cpp
+++ b/src/mouse/CMouseNormal.cpp
@@ -25,6 +25,7 @@
 #include "gis/rte/CGisItemRte.h"
 #include "gis/trk/CGisItemTrk.h"
 #include "gis/wpt/CGisItemWpt.h"
+#include "helpers/CFadingIcon.h"
 #include "mouse/CMouseNormal.h"
 #include "mouse/CScrOptUnclutter.h"
 
@@ -58,7 +59,7 @@ void CMouseNormal::stopTracking()
         CGisItemTrk * trk = dynamic_cast<CGisItemTrk*>(CGisWidget::self().getItemByKey(key));
         if(trk != 0)
         {
-            trk->setMouseFocusByPoint(NOPOINT, CGisItemTrk::eFocusMouseMove);
+            trk->setMouseFocusByPoint(NOPOINT, CGisItemTrk::eFocusMouseMove, "CMouseNormal");
         }
     }
 }
@@ -66,6 +67,7 @@ void CMouseNormal::stopTracking()
 void CMouseNormal::mousePressEvent(QMouseEvent * e)
 {
     point = e->pos();
+
     if(e->button() == Qt::LeftButton)
     {
         lastPos     = e->pos();
@@ -115,7 +117,7 @@ void CMouseNormal::mouseMoveEvent(QMouseEvent * e)
                 CGisItemTrk * trk = dynamic_cast<CGisItemTrk*>(CGisWidget::self().getItemByKey(key));
                 if(trk != 0)
                 {
-                    trk->setMouseFocusByPoint(point, CGisItemTrk::eFocusMouseMove);
+                    trk->setMouseFocusByPoint(point, CGisItemTrk::eFocusMouseMove, "CMouseNormal");
                 }
             }
             break;
@@ -148,10 +150,7 @@ void CMouseNormal::mouseReleaseEvent(QMouseEvent *e)
                     item->treeWidget()->setCurrentItem(item);
                     item->treeWidget()->scrollToItem(item, QAbstractItemView::PositionAtCenter);
 
-                    delete screenItemOption;
-                    screenItemOption = item->getScreenOptions(point, this);
-
-                    if(!screenItemOption.isNull())
+                    if(setScreenOption(point, item))
                     {
                         stateItemSel = eStateShowItemOptions;
                     }
@@ -182,10 +181,7 @@ void CMouseNormal::mouseReleaseEvent(QMouseEvent *e)
                         item->treeWidget()->setCurrentItem(item);
                         item->treeWidget()->scrollToItem(item, QAbstractItemView::PositionAtCenter);
 
-                        delete screenItemOption;
-                        screenItemOption = item->getScreenOptions(screenUnclutter->getOrigin(), this);
-
-                        if(!screenItemOption.isNull())
+                        if(setScreenOption(screenUnclutter->getOrigin(), item))
                         {
                             stateItemSel = eStateShowItemOptions;
                             break;
@@ -229,6 +225,20 @@ void CMouseNormal::wheelEvent(QWheelEvent * e)
     stateItemSel = eStateIdle;
 }
 
+bool CMouseNormal::setScreenOption(const QPoint& pt, IGisItem * item)
+{
+    CGisItemTrk * trk = dynamic_cast<CGisItemTrk*>(item);
+    if(trk && trk->setMouseFocusByPoint(pt, CGisItemTrk::eFocusMouseClick, "CMouseNormal") == NOPOINTF)
+    {
+        new CFadingIcon(pt, "://icons/48x48/NoGo.png", canvas);
+        return false;
+    }
+
+    delete screenItemOption;
+    screenItemOption = item->getScreenOptions(pt, this);
+
+    return !screenItemOption.isNull();
+}
 
 void CMouseNormal::draw(QPainter& p, bool needsRedraw, const QRect &rect)
 {
diff --git a/src/mouse/CMouseNormal.h b/src/mouse/CMouseNormal.h
index d34d985..cff0a6f 100644
--- a/src/mouse/CMouseNormal.h
+++ b/src/mouse/CMouseNormal.h
@@ -51,6 +51,9 @@ private slots:
     void slotAddArea();
     void slotCopyPosition();
 
+private:
+    bool setScreenOption(const QPoint& pt, IGisItem * item);
+
 protected:
     void stopTracking();
 
diff --git a/src/mouse/CMouseRangeTrk.cpp b/src/mouse/CMouseRangeTrk.cpp
index 1173f9f..1516180 100644
--- a/src/mouse/CMouseRangeTrk.cpp
+++ b/src/mouse/CMouseRangeTrk.cpp
@@ -34,12 +34,12 @@ CMouseRangeTrk::CMouseRangeTrk(CGisItemTrk &trk, CGisDraw *gis, CCanvas *parent)
     cursor      = QCursor(QPixmap("://cursors/cursorSelectRange.png"),0,0);
     key         = trk.getKey();
 
-    // reset user focus if the track has it
-    trk.setMouseFocusByPoint(NOPOINT, CGisItemTrk::eFocusMouseMove);
-    trk.setMouseFocusByPoint(NOPOINT, CGisItemTrk::eFocusMouseClick);
-
     // switch to full mode to show deleted (hidden) track points, too
-    trk.setDrawMode(CGisItemTrk::eDrawRange);
+    trk.setMode(CGisItemTrk::eModeRange, "CMouseRangeTrk");
+
+    // reset user focus if the track has it
+    trk.setMouseFocusByPoint(NOPOINT, CGisItemTrk::eFocusMouseMove, "CMouseRangeTrk");
+    trk.setMouseFocusByPoint(NOPOINT, CGisItemTrk::eFocusMouseClick, "CMouseRangeTrk");
 
     canvas->reportStatus(key.item, tr("<b>Select Range</b><br/>Select first track point. And then a second one.<br/>"));
     /*
@@ -56,47 +56,27 @@ CMouseRangeTrk::~CMouseRangeTrk()
     CGisItemTrk * trk = dynamic_cast<CGisItemTrk*>(CGisWidget::self().getItemByKey(key));
     if(trk)
     {
-        trk->setDrawMode(CGisItemTrk::eDrawNormal);
+        trk->setMode(CGisItemTrk::eModeNormal, "CMouseRangeTrk");
         canvas->slotTriggerCompleteUpdate(CCanvas::eRedrawGis);
     }
 
     delete scrOptRange;
 }
 
-void CMouseRangeTrk::draw(QPainter& p,  bool needsRedraw, const QRect &rect)
+void CMouseRangeTrk::draw(QPainter& p,  bool, const QRect &)
 {
     CGisItemTrk * trk = dynamic_cast<CGisItemTrk*>(CGisWidget::self().getItemByKey(key));
     if(trk)
     {
-        switch(state)
+        trk->drawRange(p);
+        if(anchor != NOPOINTF)
         {
-        case eStateIdle:
-        case eStateMoveMap:
-            if(anchor != NOPOINTF)
-            {
-                p.setPen(Qt::darkBlue);
-                p.setBrush(QColor(255,255,255,200));
-                p.drawEllipse(anchor, 6, 6);
+            p.setPen(Qt::darkBlue);
+            p.setBrush(QColor(255,255,255,200));
+            p.drawEllipse(anchor, 6, 6);
 
-                QPixmap bullet("://icons/8x8/bullet_magenta.png");
-                p.drawPixmap(anchor.x() - 3, anchor.y() - 3, bullet);
-            }
-            break;
-
-        case eStateSelectRange:
-        case eStateRangeSelected:
-            trk->drawRange(p);
-            if(anchor != NOPOINTF)
-            {
-                p.setPen(Qt::darkBlue);
-                p.setBrush(QColor(255,255,255,200));
-                p.drawEllipse(anchor, 6, 6);
-
-                QPixmap bullet("://icons/8x8/bullet_magenta.png");
-                p.drawPixmap(anchor.x() - 3, anchor.y() - 3, bullet);
-            }
-
-            break;
+            QPixmap bullet("://icons/8x8/bullet_magenta.png");
+            p.drawPixmap(anchor.x() - 3, anchor.y() - 3, bullet);
         }
     }
 
@@ -124,7 +104,7 @@ void CMouseRangeTrk::mousePressEvent(QMouseEvent * e)
             CGisItemTrk * trk = dynamic_cast<CGisItemTrk*>(CGisWidget::self().getItemByKey(key));
             if(trk != 0 && anchor != NOPOINTF)
             {
-                anchor = trk->setMouseFocusByPoint(point, CGisItemTrk::eFocusMouseClick);
+                anchor = trk->setMouseFocusByPoint(point, CGisItemTrk::eFocusMouseClick, "CMouseRangeTrk");
                 state = eStateSelectRange;
                 canvas->update();
             }
@@ -140,7 +120,7 @@ void CMouseRangeTrk::mousePressEvent(QMouseEvent * e)
             CGisItemTrk * trk = dynamic_cast<CGisItemTrk*>(CGisWidget::self().getItemByKey(key));
             if(trk != 0 && anchor != NOPOINTF)
             {
-                QPointF pt = trk->setMouseFocusByPoint(point, CGisItemTrk::eFocusMouseMove);
+                QPointF pt = trk->setMouseFocusByPoint(point, CGisItemTrk::eFocusMouseClick, "CMouseRangeTrk");
                 scrOptRange = new CScrOptRangeTrk(pt, trk, canvas);
                 connect(scrOptRange->toolHidePoints, SIGNAL(clicked()), this, SLOT(slotHidePoints()));
                 connect(scrOptRange->toolShowPoints, SIGNAL(clicked()), this, SLOT(slotShowPoints()));
@@ -159,8 +139,8 @@ void CMouseRangeTrk::mousePressEvent(QMouseEvent * e)
             CGisItemTrk * trk = dynamic_cast<CGisItemTrk*>(CGisWidget::self().getItemByKey(key));
             if(trk != 0)
             {
-                trk->setMouseFocusByPoint(NOPOINT, CGisItemTrk::eFocusMouseMove);
-                trk->setMouseFocusByPoint(NOPOINT, CGisItemTrk::eFocusMouseClick);
+                trk->setMouseFocusByPoint(NOPOINT, CGisItemTrk::eFocusMouseMove, "CMouseRangeTrk");
+                trk->setMouseFocusByPoint(NOPOINT, CGisItemTrk::eFocusMouseClick, "CMouseRangeTrk");
             }
             state = eStateIdle;
             canvas->update();
@@ -183,7 +163,7 @@ void CMouseRangeTrk::mouseMoveEvent(QMouseEvent * e)
         CGisItemTrk * trk = dynamic_cast<CGisItemTrk*>(CGisWidget::self().getItemByKey(key));
         if(trk != 0)
         {
-            anchor = trk->setMouseFocusByPoint(point, CGisItemTrk::eFocusMouseMove);
+            anchor = trk->setMouseFocusByPoint(point, CGisItemTrk::eFocusMouseMove, "CMouseRangeTrk");
             canvas->update();
         }
         break;
@@ -204,7 +184,7 @@ void CMouseRangeTrk::mouseMoveEvent(QMouseEvent * e)
         CGisItemTrk * trk = dynamic_cast<CGisItemTrk*>(CGisWidget::self().getItemByKey(key));
         if(trk != 0)
         {
-            anchor = trk->setMouseFocusByPoint(point, CGisItemTrk::eFocusMouseMove);
+            anchor = trk->setMouseFocusByPoint(point, CGisItemTrk::eFocusMouseMove, "CMouseRangeTrk");
             canvas->update();
         }
         panCanvas(point);
diff --git a/src/mouse/CMouseRangeTrk.h b/src/mouse/CMouseRangeTrk.h
index bcb4f08..138ee3b 100644
--- a/src/mouse/CMouseRangeTrk.h
+++ b/src/mouse/CMouseRangeTrk.h
@@ -35,7 +35,7 @@ public:
     CMouseRangeTrk(CGisItemTrk& trk, CGisDraw * gis, CCanvas * parent);
     virtual ~CMouseRangeTrk();
 
-    void draw(QPainter& p,  bool needsRedraw, const QRect &rect);
+    void draw(QPainter& p, bool, const QRect &);
     void mousePressEvent(QMouseEvent * e);
     void mouseMoveEvent(QMouseEvent * e);
     void mouseReleaseEvent(QMouseEvent *e);
diff --git a/src/mouse/CScrOptRangeTrk.cpp b/src/mouse/CScrOptRangeTrk.cpp
index 5651650..0cd7f14 100644
--- a/src/mouse/CScrOptRangeTrk.cpp
+++ b/src/mouse/CScrOptRangeTrk.cpp
@@ -36,6 +36,7 @@ CScrOptRangeTrk::CScrOptRangeTrk(const QPointF &point, CGisItemTrk * trk, QWidge
 
     setOrigin(point.toPoint());
 
+    qDebug() << point << (point.toPoint() + QPoint(-width()/2,SCR_OPT_OFFSET));
     move(point.toPoint() + QPoint(-width()/2,SCR_OPT_OFFSET));
     show();
 }
diff --git a/src/mouse/IMouseEditLine.cpp b/src/mouse/IMouseEditLine.cpp
index 0fbe114..ff7fdf8 100644
--- a/src/mouse/IMouseEditLine.cpp
+++ b/src/mouse/IMouseEditLine.cpp
@@ -80,7 +80,9 @@ IMouseEditLine::~IMouseEditLine()
 
 void IMouseEditLine::drawLine(const QPolygonF &l, QPainter& p)
 {
-    p.setPen(QPen(Qt::magenta, 5, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin));
+    p.setPen(QPen(Qt::magenta, 11, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin));
+    p.drawPolyline(l);
+    p.setPen(QPen(Qt::white, 3, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin));
     p.drawPolyline(l);
 }
 
@@ -122,7 +124,9 @@ void IMouseEditLine::drawHighlight1(QPainter& p)
 
     QPolygonF highlight = line.mid(pos,len);
 
-    p.setPen(QPen(Qt::red, 12, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin));
+    p.setPen(QPen(Qt::darkGreen, 11, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin));
+    p.drawPolyline(highlight);
+    p.setPen(QPen(Qt::green, 3, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin));
     p.drawPolyline(highlight);
 }
 
@@ -138,7 +142,9 @@ void IMouseEditLine::drawHighlight2(QPainter& p)
 
     QPolygonF highlight = line.mid(pos,len);
 
-    p.setPen(QPen(Qt::red, 12, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin));
+    p.setPen(QPen(Qt::darkGreen, 11, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin));
+    p.drawPolyline(highlight);
+    p.setPen(QPen(Qt::green, 3, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin));
     p.drawPolyline(highlight);
 }
 
@@ -224,31 +230,31 @@ void IMouseEditLine::draw(QPainter& p, bool needsRedraw, const QRect &rect)
     case eStateMoveMap:
     case eStateIdle:
     case eStatePointSelected:
-        drawArrows(line, p);
         drawLine(line, p);
+        drawArrows(line, p);
         drawBullets(line, p);
         drawPointOfFocus(p);
         break;
 
     case eStateSelectRange:
-        drawArrows(line, p);
         drawLine(line, p);
+        drawArrows(line, p);
         drawHighlight1(p);
         drawBullets(line, p);
         drawPointOfFocus(p);
         break;
 
-    case eStateRangeSelected:
-        drawArrows(line, p);
+    case eStateRangeSelected:      
         drawLine(line, p);
+        drawArrows(line, p);
         drawHighlight2(p);
         drawBullets(line, p);
         drawPointOfFocus(p);
         break;
 
-    case eStateMovePoint:
-        drawArrows(line, p);
+    case eStateMovePoint:        
         drawLine(line, p);
+        drawArrows(line, p);
         drawBullets(line, p);
         drawPointOfFocus(p);
         break;
@@ -264,9 +270,9 @@ void IMouseEditLine::draw(QPainter& p, bool needsRedraw, const QRect &rect)
         {
             l = line.mid(0, idxStart) + newLine.mid(0, newLine.size() - 2) + subLinePixel + line.mid(idxStop, -1);
         }
-        drawLeadLine(leadLinePixel, p);
-        drawArrows(l, p);
+        drawLeadLine(leadLinePixel, p);        
         drawLine(l, p);
+        drawArrows(l, p);
         drawBullets(l, p);
         break;
     }
@@ -282,9 +288,9 @@ void IMouseEditLine::draw(QPainter& p, bool needsRedraw, const QRect &rect)
         {
             l = line.mid(0, idxStart + 1) + subLinePixel + newLine.mid(2, -1) + line.mid(idxStop + 1, -1);
         }
-        drawLeadLine(leadLinePixel, p);
-        drawArrows(l, p);
+        drawLeadLine(leadLinePixel, p);        
         drawLine(l, p);
+        drawArrows(l, p);
         drawBullets(l, p);
         break;
     }
diff --git a/src/plot/CPlotDistance.cpp b/src/plot/CPlotDistance.cpp
index feafa04..2f953e7 100644
--- a/src/plot/CPlotDistance.cpp
+++ b/src/plot/CPlotDistance.cpp
@@ -99,9 +99,9 @@ void CPlotDistance::updateData()
     resetZoom();
 }
 
-void CPlotDistance::setMouseFocus(const CGisItemTrk::trkpt_t * ptClick, const CGisItemTrk::trkpt_t *ptMove)
+void CPlotDistance::setMouseFocus(const CGisItemTrk::trkpt_t * ptMouseMove)
 {
-    if(ptMove == 0)
+    if(ptMouseMove == 0)
     {
         if(posMouse != NOPOINT)
         {
@@ -116,9 +116,10 @@ void CPlotDistance::setMouseFocus(const CGisItemTrk::trkpt_t * ptClick, const CG
             needsRedraw = true;
         }
 
-        posMouse.rx() = left  + data->x().val2pt(ptMove->time.toTime_t());
-        posMouse.ry() = top  +  data->y().val2pt(ptMove->distance);
+        posMouse.rx() = left  + data->x().val2pt(ptMouseMove->time.toTime_t());
+        posMouse.ry() = top  +  data->y().val2pt(ptMouseMove->distance);
     }
-
     update();
 }
+
+
diff --git a/src/plot/CPlotDistance.h b/src/plot/CPlotDistance.h
index b9f360e..784c495 100644
--- a/src/plot/CPlotDistance.h
+++ b/src/plot/CPlotDistance.h
@@ -30,7 +30,7 @@ public:
 
     void setTrack(CGisItemTrk * track);
     void updateData();
-    void setMouseFocus(const CGisItemTrk::trkpt_t * ptClick, const CGisItemTrk::trkpt_t * ptMove);
+    void setMouseFocus(const CGisItemTrk::trkpt_t * ptMouseMove);
 };
 
 #endif //CPLOTDISTANCE_H
diff --git a/src/plot/CPlotProfile.cpp b/src/plot/CPlotProfile.cpp
index 0396062..80e4bca 100644
--- a/src/plot/CPlotProfile.cpp
+++ b/src/plot/CPlotProfile.cpp
@@ -128,9 +128,9 @@ void CPlotProfile::updateData()
     resetZoom();
 }
 
-void CPlotProfile::setMouseFocus(const CGisItemTrk::trkpt_t * ptClick, const CGisItemTrk::trkpt_t *ptMove)
+void CPlotProfile::setMouseFocus(const CGisItemTrk::trkpt_t * ptMouseMove)
 {
-    if(ptMove == 0)
+    if(ptMouseMove == 0)
     {
         if(posMouse != NOPOINT)
         {
@@ -145,42 +145,9 @@ void CPlotProfile::setMouseFocus(const CGisItemTrk::trkpt_t * ptClick, const CGi
             needsRedraw = true;
         }
 
-        posMouse.rx() = left  + data->x().val2pt(ptMove->distance);
-        posMouse.ry() = top  +  data->y().val2pt(ptMove->ele);
-    }
-
-    if(ptClick == 0 || ptMove == 0)
-    {
-        idxSel1 = idxSel2 = NOIDX;
-    }
-    else
-    {
-        if(ptClick->idxTotal < ptMove->idxTotal)
-        {
-            while(ptClick->flags & CGisItemTrk::trkpt_t::eHidden)
-            {
-                ptClick++;
-            }
-            while(ptMove->flags & CGisItemTrk::trkpt_t::eHidden)
-            {
-                ptMove--;
-            }
-            idxSel1 = ptClick->idxVisible;
-            idxSel2 = ptMove->idxVisible;
-        }
-        else
-        {
-            while(ptClick->flags & CGisItemTrk::trkpt_t::eHidden)
-            {
-                ptClick--;
-            }
-            while(ptMove->flags & CGisItemTrk::trkpt_t::eHidden)
-            {
-                ptMove++;
-            }
-            idxSel1 = ptMove->idxVisible;
-            idxSel2 = ptClick->idxVisible;
-        }
+        posMouse.rx() = left  + data->x().val2pt(ptMouseMove->distance);
+        posMouse.ry() = top  +  data->y().val2pt(ptMouseMove->ele);
     }
     update();
 }
+
diff --git a/src/plot/CPlotProfile.h b/src/plot/CPlotProfile.h
index 46aba9b..7777c72 100644
--- a/src/plot/CPlotProfile.h
+++ b/src/plot/CPlotProfile.h
@@ -32,7 +32,7 @@ public:
 
     void setTrack(CGisItemTrk * track);
     void updateData();
-    void setMouseFocus(const CGisItemTrk::trkpt_t * ptClick, const CGisItemTrk::trkpt_t * ptMove);
+    void setMouseFocus(const CGisItemTrk::trkpt_t * ptMouseMove);
 };
 
 #endif //CPLOTPROFILE_H
diff --git a/src/plot/CPlotSpeed.cpp b/src/plot/CPlotSpeed.cpp
index 9395836..0843e37 100644
--- a/src/plot/CPlotSpeed.cpp
+++ b/src/plot/CPlotSpeed.cpp
@@ -98,9 +98,9 @@ void CPlotSpeed::updateData()
     resetZoom();
 }
 
-void CPlotSpeed::setMouseFocus(const CGisItemTrk::trkpt_t * ptClick, const CGisItemTrk::trkpt_t *ptMove)
+void CPlotSpeed::setMouseFocus(const CGisItemTrk::trkpt_t * ptMouseMove)
 {
-    if(ptMove == 0)
+    if(ptMouseMove == 0)
     {
         if(posMouse != NOPOINT)
         {
@@ -115,8 +115,9 @@ void CPlotSpeed::setMouseFocus(const CGisItemTrk::trkpt_t * ptClick, const CGisI
             needsRedraw = true;
         }
 
-        posMouse.rx() = left  + data->x().val2pt(ptMove->distance);
-        posMouse.ry() = top  +  data->y().val2pt(ptMove->speed);
+        posMouse.rx() = left  + data->x().val2pt(ptMouseMove->distance);
+        posMouse.ry() = top  +  data->y().val2pt(ptMouseMove->speed);
     }
     update();
 }
+
diff --git a/src/plot/CPlotSpeed.h b/src/plot/CPlotSpeed.h
index 58bdc27..1ccae01 100644
--- a/src/plot/CPlotSpeed.h
+++ b/src/plot/CPlotSpeed.h
@@ -30,7 +30,7 @@ public:
 
     void setTrack(CGisItemTrk * track);
     void updateData();
-    void setMouseFocus(const CGisItemTrk::trkpt_t * ptClick, const CGisItemTrk::trkpt_t * ptMove);
+    void setMouseFocus(const CGisItemTrk::trkpt_t * ptMouseMove);
 };
 
 #endif //CPLOTSPEED_H
diff --git a/src/plot/IPlot.cpp b/src/plot/IPlot.cpp
index 74263bf..931140a 100644
--- a/src/plot/IPlot.cpp
+++ b/src/plot/IPlot.cpp
@@ -22,7 +22,9 @@
 #include "CMainWindow.h"
 #include "canvas/CCanvas.h"
 #include "gis/CGisWidget.h"
+#include "helpers/CFadingIcon.h"
 #include "helpers/CSettings.h"
+#include "mouse/CScrOptRangeTrk.h"
 
 #include <QtWidgets>
 
@@ -31,7 +33,7 @@ QPen IPlot::pens[] =
     QPen(Qt::darkBlue,3,Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin)
     , QPen(QColor("#C00000"),3,Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin)
     , QPen(Qt::yellow,3,Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin)
-    , QPen(Qt::darkYellow,3,Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin)
+    , QPen(Qt::green,3,Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin)
 };
 
 QPen IPlot::pensThin[] =
@@ -50,6 +52,7 @@ QColor IPlot::colors[] =
     , QColor(Qt::darkGreen)
 };
 
+int IPlot::cnt = 0;
 
 IPlot::IPlot(CGisItemTrk *trk, CPlotData::axistype_e type, mode_e mode, QWidget *parent)
     : QWidget(parent)
@@ -73,8 +76,12 @@ IPlot::IPlot(CGisItemTrk *trk, CPlotData::axistype_e type, mode_e mode, QWidget
     , scaleWidthY1(0)
     , idxSel1(NOIDX)
     , idxSel2(NOIDX)
+    , mouseClickState(eMouseClickIdle)
 
 {
+    cnt++;
+    setObjectName(QString("IPlot%1").arg(cnt));
+
     setContextMenuPolicy(Qt::CustomContextMenu);
     setMouseTracking(true);
 
@@ -98,16 +105,29 @@ IPlot::IPlot(CGisItemTrk *trk, CPlotData::axistype_e type, mode_e mode, QWidget
     }
 
     menu = new QMenu(this);
-    actionPrint = menu->addAction(QIcon("://icons/32x32/Save.png"), tr("Save..."), this, SLOT(slotSave()));
+    actionStopRange = menu->addAction(QIcon("://icons/32x32/SelectRange.png"), tr("Stop Range"), this, SLOT(slotStopRange()));
+    actionPrint     = menu->addAction(QIcon("://icons/32x32/Save.png"), tr("Save..."), this, SLOT(slotSave()));
 
     connect(this, SIGNAL(customContextMenuRequested(QPoint)), this, SLOT(slotContextMenu(QPoint)));
 }
 
 IPlot::~IPlot()
 {
+    cnt--;
+
     if(trk)
     {
         trk->unregisterPlot(this);
+        /*
+            Always set the mode to normal. If the object is not owner
+            of the current mode, the request will be ignored.
+         */
+        trk->setMode(CGisItemTrk::eModeNormal, objectName());
+
+        /*
+            As having the user focus will always display an on screen plot, closing
+            the plot has to result into the track loosing the focus.
+         */
         if(mode == eModeWindow)
         {
             trk->looseUserFocus();
@@ -229,11 +249,6 @@ void IPlot::leaveEvent(QEvent * e)
     needsRedraw = true;
     posMouse    = NOPOINT;
 
-    if(trk)
-    {
-        trk->setMouseFocusByDistance(NOFLOAT, CGisItemTrk::eFocusMouseMove, this);
-    }
-
     QApplication::restoreOverrideCursor();
     update();
 }
@@ -261,6 +276,11 @@ void IPlot::draw(QPainter& p)
 
 void IPlot::mouseMoveEvent(QMouseEvent * e)
 {
+    if(data->lines.isEmpty() || data->badData || !data->x().isValid() || !data->y().isValid())
+    {
+        return;
+    }
+
     posMouse = NOPOINT;
     if(rectGraphArea.contains(e->pos()))
     {
@@ -272,14 +292,14 @@ void IPlot::mouseMoveEvent(QMouseEvent * e)
         {
             if(trk)
             {
-                trk->setMouseFocusByDistance(x, CGisItemTrk::eFocusMouseMove, this);
+                trk->setMouseFocusByDistance(x, CGisItemTrk::eFocusMouseMove, objectName());
             }
         }
         else if(data->axisType == CPlotData::eAxisTime)
         {
             if(trk)
             {
-                trk->setMouseFocusByTime(x, CGisItemTrk::eFocusMouseMove, this);
+                trk->setMouseFocusByTime(x, CGisItemTrk::eFocusMouseMove, objectName());
             }
         }
 
@@ -296,6 +316,13 @@ void IPlot::mouseMoveEvent(QMouseEvent * e)
 
 void IPlot::mousePressEvent(QMouseEvent * e)
 {
+    if(data->lines.isEmpty() || data->badData || !data->x().isValid() || !data->y().isValid())
+    {
+        return;
+    }
+
+    bool wasProcessed = true;
+
     posMouse = NOPOINT;
     if((e->button() == Qt::LeftButton) && rectGraphArea.contains(e->pos()))
     {
@@ -309,26 +336,112 @@ void IPlot::mousePressEvent(QMouseEvent * e)
         {
             // set point of focus at track object
             qreal x = data->x().pt2val(posMouse.x() - left);
-            if(data->axisType == CPlotData::eAxisLinear)
+
+            switch(mouseClickState)
+            {
+            case eMouseClickIdle:
             {
-                if(trk)
+                // In idle state a mouse click will select the first point of a range
+                if(trk->setMode(CGisItemTrk::eModeRange, objectName()))
                 {
-                    trk->setMouseFocusByDistance(x, CGisItemTrk::eFocusMouseClick, this);
+                    if(data->axisType == CPlotData::eAxisLinear)
+                    {
+                        trk->setMouseFocusByDistance(x, CGisItemTrk::eFocusMouseClick, objectName());
+                    }
+                    else if(data->axisType == CPlotData::eAxisTime)
+                    {
+                        trk->setMouseFocusByTime(x, CGisItemTrk::eFocusMouseClick, objectName());
+                    }
+
+                    mouseClickState = eMouseClick1st;
                 }
+                else
+                {
+                    /*
+                        If the object is not the owner of the range selection, no action has to be taken.
+                        However the user has to be informed, that he clicked on the wrong widget.
+                     */
+                    new CFadingIcon(posMouse, "://icons/48x48/NoGo.png", this);
+                    wasProcessed = false;
+                }
+                break;
             }
-            else if(data->axisType == CPlotData::eAxisTime)
+
+            case eMouseClick1st:
             {
-                if(trk)
+                // In 1st click state a mouse click will select the second point of a range and display options
+                if(data->axisType == CPlotData::eAxisLinear)
+                {
+                    trk->setMouseFocusByDistance(x, CGisItemTrk::eFocusMouseClick, objectName());
+                }
+                else if(data->axisType == CPlotData::eAxisTime)
                 {
-                    trk->setMouseFocusByTime(x, CGisItemTrk::eFocusMouseClick, this);
+                    trk->setMouseFocusByTime(x, CGisItemTrk::eFocusMouseClick, objectName());
                 }
+
+                /*
+                    As the screen option is created on the fly it has to be connected to all slots,too.
+                    Later, when destroyed the slots will be disconnected automatically.
+                 */
+                delete scrOptRange;
+                scrOptRange = new CScrOptRangeTrk(e->pos(), trk, this);
+                connect(scrOptRange->toolHidePoints, SIGNAL(clicked()), this, SLOT(slotHidePoints()));
+                connect(scrOptRange->toolShowPoints, SIGNAL(clicked()), this, SLOT(slotShowPoints()));
+                connect(scrOptRange->toolCopy, SIGNAL(clicked()), this, SLOT(slotCopy()));
+
+                /* Adjust posiion of screen option widget if the widget is out of the visible area*/
+                QRect r1 = scrOptRange->geometry();
+                QRect r2 = geometry();
+                r1.moveTopLeft(mapToParent(r1.topLeft()));
+                if(!r2.contains(r1))
+                {
+                    // test if screen option is out of area on the right side
+                    if(!r2.contains(r1.topRight()))
+                    {
+                        QPoint pt = QPoint(r2.width(), r2.height()) - QPoint(r1.width(), r1.height());
+                        scrOptRange->move(pt);
+                    }
+                    // test if screen option is out of area on the left side
+                    else if(!r2.contains(r1.topLeft()))
+                    {
+                        QPoint pt = QPoint(0, r2.height()) - QPoint(0, r1.height());
+                        scrOptRange->move(pt);
+                    }
+                    // test if screen option is out of area on the bottom
+                    else if(!r2.contains(r1.bottomLeft()))
+                    {
+                        QPoint pt = QPoint(r1.left(), r2.height()) - QPoint(r2.left(), r1.height());
+                        scrOptRange->move(pt);
+                    }
+                }
+
+                mouseClickState = eMouseClick2nd;
+                break;
             }
 
-            // update canvas if visible
-            CCanvas * canvas = CMainWindow::self().getVisibleCanvas();
-            if(canvas)
+            case eMouseClick2nd:
+            {
+                // In second click state a mouse click will reset the range selection
+                delete scrOptRange;
+                trk->setMode(CGisItemTrk::eModeNormal, objectName());
+                idxSel1 = idxSel2 = NOIDX;
+                mouseClickState = eMouseClickIdle;
+                break;
+            }
+            }
+
+
+            // Update canvas only if the object ist the owener of the range selection
+            if(wasProcessed)
             {
-                canvas->update();
+                emit sigMouseClickState(mouseClickState);
+
+                // update canvas if visible
+                CCanvas * canvas = CMainWindow::self().getVisibleCanvas();
+                if(canvas)
+                {
+                    canvas->update();
+                }
             }
         }
         e->accept();
@@ -483,17 +596,6 @@ void IPlot::draw()
 
         PAINT_ROUNDED_RECT(p,r);
     }
-    else if(mode == eModeWindow)
-    {
-        if(underMouse() || posMouse != NOPOINT || solid)
-        {
-//            setWindowOpacity(1.0);
-        }
-        else
-        {
-//            setWindowOpacity(0.6);
-        }
-    }
 
     if(data->lines.isEmpty() || data->badData || !data->x().isValid() || !data->y().isValid())
     {
@@ -896,61 +998,69 @@ void IPlot::drawDecoration( QPainter &p )
         }
     }
 
-//    if((idxSel1 != NOIDX) && (idxSel2 != NOIDX) && !data->badData)
-//    {
-//        int penIdx = 3;
-//        int ptx, pty, oldPtx;
+    if((idxSel1 != NOIDX) && (idxSel2 != NOIDX) && !data->badData)
+    {
+        int penIdx = 3;
+        int ptx, pty, oldPtx, ptx1;
 
+        QPolygonF background;
+        QPolygonF foreground;
 
-//        QPolygonF background;
-//        QPolygonF foreground;
+        CPlotAxis& xaxis = data->x();
+        CPlotAxis& yaxis = data->y();
 
-//        CPlotAxis& xaxis = data->x();
-//        CPlotAxis& yaxis = data->y();
+        const QPolygonF& polyline       = data->lines.first().points.mid(idxSel1, idxSel2 - idxSel1 + 1);
+        QPolygonF::const_iterator point = polyline.begin();
 
-//        const QPolygonF& polyline       = data->lines.first().points.mid(idxSel1, idxSel2 - idxSel1);
-//        QPolygonF::const_iterator point = polyline.begin();
+        ptx = left   + xaxis.val2pt( point->x() );
+        pty = bottom - yaxis.val2pt( point->y() );
+        ptx1 = oldPtx = ptx;
 
-//        ptx = left   + xaxis.val2pt( point->x() );
-//        pty = bottom - yaxis.val2pt( point->y() );
-//        oldPtx = ptx;
+        background << QPointF(ptx,bottom);
+        background << QPointF(ptx,pty);
 
-//        background << QPointF(ptx,bottom);
-//        background << QPointF(ptx,pty);
+        foreground << QPointF(ptx,pty);
 
-//        foreground << QPointF(ptx,pty);
+        while(point != polyline.end())
+        {
+            ptx = left   + xaxis.val2pt( point->x() );
+            pty = bottom - yaxis.val2pt( point->y() );
 
-//        while(point != polyline.end())
-//        {
-//            ptx = left   + xaxis.val2pt( point->x() );
-//            pty = bottom - yaxis.val2pt( point->y() );
+            if(oldPtx == ptx)
+            {
+                ++point;
+                continue;
+            }
+            oldPtx = ptx;
 
-//            if(oldPtx == ptx)
-//            {
-//                ++point;
-//                continue;
-//            }
-//            oldPtx = ptx;
+            if(ptx >= left && ptx <= right)
+            {
+                background << QPointF(ptx,pty);
+                foreground << QPointF(ptx,pty);
+            }
+            ++point;
+        }
 
-//            if(ptx >= left && ptx <= right)
-//            {
-//                background << QPointF(ptx,pty);
-//                foreground << QPointF(ptx,pty);
-//            }
-//            ++point;
-//        }
+        background << QPointF(ptx,pty);
+        background << QPointF(ptx,bottom);
 
-//        background << QPointF(ptx,pty);
-//        background << QPointF(ptx,bottom);
+        p.setPen(Qt::NoPen);
+        p.setBrush(colors[penIdx]);
+        p.drawPolygon(background);
 
-//        p.setPen(Qt::NoPen);
-//        p.setBrush(colors[penIdx]);
-//        p.drawPolygon(background);
+        p.setPen(thinLine ? pensThin[penIdx] : pens[penIdx]);
+        p.setBrush(Qt::NoBrush);
+        p.drawPolyline(foreground);
+
+        p.setPen(QPen(Qt::darkBlue, 2));
+        p.drawLine(ptx1, top, ptx1, bottom);
+        p.drawLine(ptx, top, ptx, bottom);
+    }
 
-//        p.setPen(thinLine ? pensThin[penIdx++] : pens[penIdx++]);
-//        p.setBrush(Qt::NoBrush);
-//        p.drawPolyline(foreground);
-//    }
+    if(!scrOptRange.isNull())
+    {
+        scrOptRange->draw(p);
+    }
 }
 
 void IPlot::drawTags(QPainter& p)
@@ -1005,6 +1115,9 @@ void IPlot::slotContextMenu(const QPoint & point)
 {
     QPoint p = mapToGlobal(point);
 
+    actionStopRange->setEnabled((mouseClickState != eMouseClickIdle) && !(idxSel1 == NOIDX || idxSel2 == NOIDX));
+    actionPrint->setEnabled(mouseClickState != eMouseClick2nd);
+
     menu->exec(p);
 }
 
@@ -1037,3 +1150,104 @@ void IPlot::slotSave()
     path = fi.absolutePath();
     cfg.setValue("Paths/lastGraphPath", path);
 }
+
+
+void IPlot::slotHidePoints()
+{
+    trk->hideSelectedPoints();
+    scrOptRange->deleteLater();
+
+    CCanvas * canvas = CMainWindow::self().getVisibleCanvas();
+    if(canvas)
+    {
+        canvas->slotTriggerCompleteUpdate(CCanvas::eRedrawGis);
+    }
+
+    trk->setMode(CGisItemTrk::eModeNormal, objectName());
+    mouseClickState = eMouseClickIdle;
+}
+
+void IPlot::slotShowPoints()
+{
+    trk->showSelectedPoints();
+    scrOptRange->deleteLater();
+
+    CCanvas * canvas = CMainWindow::self().getVisibleCanvas();
+    if(canvas)
+    {
+        canvas->slotTriggerCompleteUpdate(CCanvas::eRedrawGis);
+    }
+
+    trk->setMode(CGisItemTrk::eModeNormal, objectName());
+    mouseClickState = eMouseClickIdle;
+}
+
+void IPlot::slotCopy()
+{
+    trk->copySelectedPoints();
+    scrOptRange->deleteLater();
+
+    CCanvas * canvas = CMainWindow::self().getVisibleCanvas();
+    if(canvas)
+    {
+        canvas->slotTriggerCompleteUpdate(CCanvas::eRedrawGis);
+    }
+
+    trk->setMode(CGisItemTrk::eModeNormal, objectName());
+    mouseClickState = eMouseClickIdle;
+}
+
+void IPlot::slotStopRange()
+{
+    delete scrOptRange;
+    trk->setMode(CGisItemTrk::eModeNormal, objectName());
+    idxSel1 = idxSel2 = NOIDX;
+    mouseClickState = eMouseClickIdle;
+
+    emit sigMouseClickState(mouseClickState);
+
+    // update canvas if visible
+    CCanvas * canvas = CMainWindow::self().getVisibleCanvas();
+    if(canvas)
+    {
+        canvas->update();
+    }
+}
+
+void IPlot::setMouseRangeFocus(const CGisItemTrk::trkpt_t * ptRange1, const CGisItemTrk::trkpt_t *ptRange2)
+{
+    if(ptRange1 == 0 || ptRange2 == 0)
+    {
+        idxSel1 = idxSel2 = NOIDX;
+    }
+    else
+    {
+        if(ptRange1->idxTotal < ptRange2->idxTotal)
+        {
+            while(ptRange1->flags & CGisItemTrk::trkpt_t::eHidden)
+            {
+                ptRange1++;
+            }
+            while(ptRange2->flags & CGisItemTrk::trkpt_t::eHidden)
+            {
+                ptRange2--;
+            }
+            idxSel1 = ptRange1->idxVisible;
+            idxSel2 = ptRange2->idxVisible;
+        }
+        else
+        {
+            while(ptRange1->flags & CGisItemTrk::trkpt_t::eHidden)
+            {
+                ptRange1--;
+            }
+            while(ptRange2->flags & CGisItemTrk::trkpt_t::eHidden)
+            {
+                ptRange2++;
+            }
+            idxSel1 = ptRange2->idxVisible;
+            idxSel2 = ptRange1->idxVisible;
+        }
+    }
+    update();
+}
diff --git a/src/plot/IPlot.h b/src/plot/IPlot.h
index 008af78..ad5cc70 100644
--- a/src/plot/IPlot.h
+++ b/src/plot/IPlot.h
@@ -24,18 +24,26 @@
 #include <QWidget>
 
 class QMenu;
+class CScrOptRangeTrk;
 
 class IPlot : public QWidget
 {
     Q_OBJECT
 public:
     enum mode_e {eModeNormal, eModeIcon, eModeWindow};
+    enum mouse_click_state_e
+    {
+        eMouseClickIdle
+        , eMouseClick1st
+        , eMouseClick2nd
+    };
 
     IPlot(CGisItemTrk * trk, CPlotData::axistype_e type, mode_e mode, QWidget * parent);
     virtual ~IPlot();
 
     virtual void updateData() = 0;
-    virtual void setMouseFocus(const CGisItemTrk::trkpt_t * ptClick, const CGisItemTrk::trkpt_t * ptMove) = 0;
+    virtual void setMouseFocus(const CGisItemTrk::trkpt_t * ptMouseMove) = 0;
+    virtual void setMouseRangeFocus(const CGisItemTrk::trkpt_t * ptRange1, const CGisItemTrk::trkpt_t * ptRange2);
 
     void save(QImage& image);
     void setSolid(bool yes)
@@ -43,9 +51,17 @@ public:
         solid = yes;
     }
 
+signals:
+    void sigMouseClickState(int);
+
 private slots:
     void slotContextMenu(const QPoint & point);
     void slotSave();
+    void slotHidePoints();
+    void slotShowPoints();
+    void slotCopy();
+    void slotStopRange();
+
 
 protected:
     void setYLabel(const QString& str);
@@ -86,6 +102,8 @@ protected:
     void drawDecoration( QPainter &p );
     void drawTags(QPainter& p);
 
+    static int cnt;
+
     // different draw modes
     mode_e mode;
     // buffer needs update
@@ -137,9 +155,15 @@ protected:
 
     QMenu * menu;
     QAction * actionPrint;
+    QAction * actionStopRange;
 
     qint32 idxSel1;
     qint32 idxSel2;
+
+
+    mouse_click_state_e mouseClickState;
+
+    QPointer<CScrOptRangeTrk> scrOptRange;
 };
 
 #endif //IPLOT_H
diff --git a/src/resources.qrc b/src/resources.qrc
index 065fa75..d1ec450 100644
--- a/src/resources.qrc
+++ b/src/resources.qrc
@@ -139,6 +139,7 @@
         <file>icons/32x32/LoadView.png</file>
         <file>icons/32x32/Save.png</file>
         <file>icons/32x32/ProfileToWindow.png</file>
+        <file>icons/32x32/NoGo.png</file>
 
         <file>icons/48x48/2DFix.png</file>
         <file>icons/48x48/3DFix.png</file>
@@ -260,6 +261,7 @@
         <file>icons/48x48/LoadView.png</file>
         <file>icons/48x48/Save.png</file>
         <file>icons/48x48/ProfileToWindow.png</file>
+        <file>icons/48x48/NoGo.png</file>
 
         <file>icons/cache/32x32/bluepin.png</file>
         <file>icons/cache/32x32/cito.png</file>
@@ -331,5 +333,11 @@
         <file>pics/about.png</file>
         <file>pics/noMap256x256.png</file>
 
+        <file>map/WorldTopo.wmts</file>
+        <file>map/WorldSat.wmts</file>
+        <file>map/OpenStreetMap.tms</file>
+        <file>map/OSM_Topo.tms</file>
+        <file>map/OpenCycleMap.tms</file>
+
     </qresource>
 </RCC>
diff --git a/src/units/CUnitMetric.cpp b/src/units/CUnitMetric.cpp
index 73dcd6a..7e912c5 100644
--- a/src/units/CUnitMetric.cpp
+++ b/src/units/CUnitMetric.cpp
@@ -86,15 +86,21 @@ void CUnitMetric::meter2speed(qreal meter, QString& val, QString& unit)
         val  = "-";
         unit = "";
     }
+    else if (meter < 0.27)
+    {
+        val.sprintf("%1.0f",meter * speedfactor * 1000);
+        unit = "m/h";
+    }
     else if (meter < 10.0)
     {
         val.sprintf("%1.1f",meter * speedfactor);
+        unit = speedunit;
     }
     else
     {
         val.sprintf("%1.0f",meter * speedfactor);
+        unit = speedunit;
     }
-    unit = speedunit;
 }
 
 void CUnitMetric::meter2area(qreal meter, QString& val, QString& unit)

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-grass/qmapshack.git



More information about the Pkg-grass-devel mailing list