[qmapshack] 01/05: Imported Upstream version 1.5.0

Sebastiaan Couwenberg sebastic at moszumanska.debian.org
Sun Nov 22 16:22:21 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 b92cbe0a3a50fabf5396adb9e245ba9b5bcc2d91
Author: Bas Couwenberg <sebastic at xs4all.nl>
Date:   Sun Nov 22 16:52:28 2015 +0100

    Imported Upstream version 1.5.0
---
 CMakeLists.txt                                     |    5 +-
 CMakeLists.txt.user                                |  115 +-
 CMakeLists.txt.user => CMakeLists.txt.user.044d553 |    2 +-
 Doxyfile                                           |  221 +-
 MacOSX/build-cask.sh                               |    2 +-
 MacOSX/build-qmapshack.sh                          |   18 +-
 MacOSX/bundle.sh                                   |    6 +-
 MacOSX/env-path.sh                                 |    5 +-
 README.md                                          |    8 +-
 call_Uncrustify.cfg                                |    5 +-
 changelog.txt                                      |   14 +
 src/CMainWindow.cpp                                |   86 +-
 src/CMainWindow.h                                  |    4 +-
 src/CMakeLists.txt                                 |   62 +-
 src/GeoMath.cpp                                    |    2 +-
 src/IAbout.ui                                      |   55 +-
 src/canvas/CCanvas.cpp                             |   32 +-
 src/canvas/CCanvas.h                               |   10 +-
 src/canvas/IDrawContext.cpp                        |    8 -
 src/canvas/IDrawContext.h                          |   34 +-
 src/canvas/IDrawObject.cpp                         |    3 -
 src/canvas/IDrawObject.h                           |    7 +-
 src/dem/CDemItem.cpp                               |    2 +-
 src/dem/CDemPropSetup.cpp                          |  133 +-
 src/dem/CDemPropSetup.h                            |    9 +-
 src/dem/CDemVRT.cpp                                |    1 -
 src/dem/CDemVRT.h                                  |    2 +-
 src/dem/IDem.cpp                                   |   84 +-
 src/dem/IDem.h                                     |   54 +-
 src/dem/IDemPathSetup.ui                           |    2 +-
 src/dem/IDemPropSetup.ui                           |  395 +++-
 src/device/CDeviceGarmin.cpp                       |    3 -
 src/device/CDeviceGarmin.h                         |    8 +-
 src/device/IDeviceWatcher.h                        |    4 +-
 src/gis/CGisListDB.cpp                             |    3 +-
 src/gis/CGisListDB.h                               |    2 +-
 src/gis/CGisListWks.cpp                            |    4 -
 src/gis/CGisListWks.h                              |    8 +-
 src/gis/IGisItem.cpp                               |   79 +-
 src/gis/IGisItem.h                                 |   38 +-
 src/gis/IGisLine.cpp                               |   13 -
 src/gis/IGisLine.h                                 |   12 +-
 src/gis/db/CDBFolderDatabase.h                     |    2 +-
 src/gis/db/CDBProject.cpp                          |   39 +-
 src/gis/db/CSelectSaveAction.cpp                   |    1 -
 src/gis/db/CSelectSaveAction.h                     |    2 +-
 src/gis/db/CSetupDatabase.cpp                      |    4 +-
 src/gis/gpx/CGpxProject.cpp                        |   44 +-
 src/gis/gpx/serialization.cpp                      |  439 ++--
 src/gis/ovl/CDetailsOvlArea.cpp                    |    3 +-
 src/gis/ovl/CDetailsOvlArea.h                      |    2 +-
 src/gis/ovl/CGisItemOvlArea.cpp                    |   28 +-
 src/gis/ovl/CGisItemOvlArea.h                      |   22 +-
 src/gis/ovl/CScrOptOvlArea.cpp                     |    2 +-
 src/gis/ovl/IDetailsOvlArea.ui                     |    2 +-
 src/gis/prj/CDetailsPrj.cpp                        |    4 +-
 src/gis/prj/CDetailsPrj.h                          |    4 +-
 src/gis/prj/IGisProject.cpp                        |   33 +-
 src/gis/prj/IGisProject.h                          |   28 +-
 src/gis/qms/CQmsProject.cpp                        |   11 +-
 src/gis/qms/serialization.cpp                      |   29 +-
 src/gis/rte/CDetailsRte.cpp                        |    3 +-
 src/gis/rte/CDetailsRte.h                          |    2 +-
 src/gis/rte/CGisItemRte.cpp                        |   49 +-
 src/gis/rte/CGisItemRte.h                          |   41 +-
 src/gis/rte/CScrOptRte.cpp                         |    3 +-
 src/gis/rte/IDetailsRte.ui                         |    5 +-
 src/gis/rte/IScrOptRte.ui                          |   15 +
 src/gis/rte/router/CRouterRoutino.cpp              |    1 -
 src/gis/rte/router/CRouterRoutino.h                |    2 +-
 src/gis/tnv/CTwoNavProject.cpp                     |    8 +-
 src/gis/tnv/serialization.cpp                      |  120 +-
 src/gis/trk/CActivityTrk.cpp                       |    5 +-
 src/gis/trk/CActivityTrk.h                         |    4 +-
 src/gis/trk/CCutTrk.cpp                            |   82 +
 src/gis/{rte/CDetailsRte.h => trk/CCutTrk.h}       |   46 +-
 src/gis/trk/CDetailsTrk.cpp                        |  361 ++-
 src/gis/trk/CDetailsTrk.h                          |   28 +-
 src/gis/trk/CGisItemTrk.cpp                        |  757 +++---
 src/gis/trk/CGisItemTrk.h                          |  227 +-
 src/gis/trk/CKnownExtension.cpp                    |  137 ++
 src/gis/trk/CKnownExtension.h                      |   57 +
 src/gis/trk/CPropertyTrk.cpp                       |  119 +
 src/gis/trk/CPropertyTrk.h                         |   79 +
 src/gis/trk/CScrOptTrk.cpp                         |    2 +-
 src/gis/trk/ICutTrk.ui                             |  121 +
 src/gis/trk/IDetailsTrk.ui                         |  572 +++--
 src/gis/trk/IScrOptTrk.ui                          |    7 +-
 .../trk/filter/CFilterInvalid.cpp}                 |   31 +-
 .../trk/filter/CFilterInvalid.h}                   |   26 +-
 src/gis/trk/filter/IFilterInvalid.ui               |  108 +
 src/gis/trk/filter/filter.cpp                      |   58 +-
 src/gis/wpt/CDetailsGeoCache.cpp                   |    1 -
 src/gis/wpt/CDetailsGeoCache.h                     |    2 +-
 src/gis/wpt/CDetailsWpt.cpp                        |   75 +-
 src/gis/wpt/CDetailsWpt.h                          |    2 +-
 src/gis/wpt/CGisItemWpt.cpp                        |   97 +-
 src/gis/wpt/CGisItemWpt.h                          |   58 +-
 src/gis/wpt/CScrOptWpt.cpp                         |   23 +-
 src/gis/wpt/CSetupNewWpt.cpp                       |   25 +-
 src/gis/wpt/IDetailsGeoCache.ui                    |    4 +-
 src/gis/wpt/IDetailsWpt.ui                         |    4 +-
 src/gis/wpt/IScrOptWpt.ui                          |    2 +-
 src/grid/CGrid.cpp                                 |    5 -
 src/grid/CGrid.h                                   |    8 +-
 src/helpers/CAppSetup.cpp                          |    4 +-
 src/helpers/CDraw.cpp                              |   66 +-
 src/helpers/CDraw.h                                |   27 +-
 src/helpers/CPhotoViewer.cpp                       |   71 +-
 src/helpers/CPhotoViewer.h                         |   11 +-
 src/helpers/CSelectCopyAction.cpp                  |    1 -
 src/helpers/CSelectCopyAction.h                    |    2 +-
 templates/header.h => src/helpers/INotifiable.h    |   16 +-
 src/helpers/ISelectCopyAction.ui                   |    3 +
 src/icons/32x32/CSrcATemp.png                      |  Bin 0 -> 753 bytes
 src/icons/32x32/CSrcCAD.png                        |  Bin 0 -> 857 bytes
 src/icons/32x32/CSrcDepth.png                      |  Bin 0 -> 735 bytes
 src/icons/32x32/CSrcElevation.png                  |  Bin 0 -> 392 bytes
 src/icons/32x32/CSrcHR.png                         |  Bin 0 -> 1326 bytes
 src/icons/32x32/CSrcSlope.png                      |  Bin 0 -> 890 bytes
 src/icons/32x32/CSrcSolid.png                      |  Bin 0 -> 212 bytes
 src/icons/32x32/CSrcSpeed.png                      |  Bin 0 -> 1214 bytes
 src/icons/32x32/CSrcUnknown.png                    |  Bin 0 -> 665 bytes
 src/icons/32x32/CSrcWTemp.png                      |  Bin 0 -> 1063 bytes
 src/icons/32x32/Progress.png                       |  Bin 0 -> 487 bytes
 src/icons/48x48/CSrcATemp.png                      |  Bin 0 -> 1080 bytes
 src/icons/48x48/CSrcCAD.png                        |  Bin 0 -> 1378 bytes
 src/icons/48x48/CSrcDepth.png                      |  Bin 0 -> 1100 bytes
 src/icons/48x48/CSrcElevation.png                  |  Bin 0 -> 471 bytes
 src/icons/48x48/CSrcHR.png                         |  Bin 0 -> 2170 bytes
 src/icons/48x48/CSrcSlope.png                      |  Bin 0 -> 1375 bytes
 src/icons/48x48/CSrcSolid.png                      |  Bin 0 -> 264 bytes
 src/icons/48x48/CSrcSpeed.png                      |  Bin 0 -> 2015 bytes
 src/icons/48x48/CSrcUnknown.png                    |  Bin 0 -> 953 bytes
 src/icons/48x48/CSrcWTemp.png                      |  Bin 0 -> 1599 bytes
 src/icons/48x48/Progress.png                       |  Bin 0 -> 650 bytes
 src/icons/CSrcATemp.svg                            |  116 +
 src/icons/CSrcCAD.svg                              |  142 ++
 src/icons/CSrcDepth.svg                            |  126 +
 src/icons/CSrcElevation.svg                        |   77 +
 src/icons/CSrcHR.svg                               |   81 +
 src/icons/CSrcSlope.svg                            |   87 +
 src/icons/CSrcSolid.svg                            |   78 +
 src/icons/CSrcSpeed.svg                            |   88 +
 src/icons/CSrcUnknown.svg                          |   82 +
 src/icons/CSrcWTemp.svg                            |  122 +
 src/icons/Progress.svg                             |   76 +
 src/icons/makeicons                                |   47 +-
 src/locale/qmapshack_cs.ts                         | 1557 ++++++++-----
 src/locale/qmapshack_de.ts                         | 1531 +++++++-----
 src/locale/qmapshack_es.ts                         | 1511 +++++++-----
 src/locale/qmapshack_fr.ts                         | 1509 +++++++-----
 src/locale/qmapshack_nl.ts                         | 2438 +++++++++++---------
 src/map/CMapIMG.cpp                                |   11 +-
 src/map/CMapIMG.h                                  |    4 +-
 src/map/CMapItem.cpp                               |    2 +-
 src/map/CMapItem.h                                 |    4 +-
 src/map/CMapJNX.cpp                                |    4 -
 src/map/CMapJNX.h                                  |    8 +-
 src/map/CMapTMS.cpp                                |    7 +-
 src/map/CMapTMS.h                                  |   12 +-
 src/map/CMapVRT.cpp                                |    4 +-
 src/map/CMapVRT.h                                  |    4 +-
 src/map/CMapWMTS.cpp                               |    8 +-
 src/map/CMapWMTS.h                                 |    8 +-
 src/map/IMap.cpp                                   |    8 -
 src/map/IMap.h                                     |   18 +-
 src/map/cache/CDiskCache.cpp                       |    1 -
 src/map/cache/CDiskCache.h                         |    4 +-
 src/map/garmin/CGarminPoint.cpp                    |   13 -
 src/map/garmin/CGarminPoint.h                      |   12 +-
 src/map/garmin/CGarminPolygon.cpp                  |   41 +-
 src/map/garmin/CGarminPolygon.h                    |   22 +-
 src/map/garmin/CGarminTyp.cpp                      |   14 +-
 src/map/garmin/CGarminTyp.h                        |    4 +-
 src/map/garmin/IGarminStrTbl.cpp                   |    6 -
 src/map/garmin/IGarminStrTbl.h                     |   18 +-
 src/mouse/CMouseEditArea.cpp                       |    2 +-
 src/mouse/CMouseEditRte.cpp                        |    2 +-
 src/mouse/CMouseEditTrk.cpp                        |    3 +-
 src/mouse/CMouseEditTrk.h                          |    2 +-
 src/mouse/CMouseNormal.cpp                         |   25 +-
 src/mouse/CMouseNormal.h                           |    8 +-
 src/mouse/CMousePrint.cpp                          |    8 -
 src/mouse/CMousePrint.h                            |   16 +-
 src/mouse/CMouseRangeTrk.cpp                       |   33 +-
 src/mouse/CMouseRangeTrk.h                         |    6 +-
 src/mouse/CScrOptRangeTrk.cpp                      |    6 +-
 src/mouse/CScrOptUnclutter.cpp                     |    1 -
 src/mouse/CScrOptUnclutter.h                       |    2 +-
 src/mouse/IMouse.h                                 |    4 +
 src/mouse/IScrOpt.cpp                              |   19 -
 src/mouse/IScrOpt.h                                |    2 -
 src/mouse/line/CLineOpAddPoint.cpp                 |    2 -
 src/mouse/line/CLineOpAddPoint.h                   |    4 +-
 src/mouse/line/CLineOpMovePoint.cpp                |    1 -
 src/mouse/line/CLineOpMovePoint.h                  |    2 +-
 src/mouse/line/CLineOpSelectRange.cpp              |   18 +-
 src/mouse/line/CLineOpSelectRange.h                |    6 +-
 src/mouse/line/CScrOptRangeLine.cpp                |    2 +-
 src/mouse/line/ILineOp.cpp                         |    8 -
 src/mouse/line/ILineOp.h                           |   24 +-
 src/mouse/line/IMouseEditLine.cpp                  |   10 +-
 src/mouse/line/IMouseEditLine.h                    |    9 +-
 src/mouse/line/IScrOptRangeLine.ui                 |    2 +-
 src/pics/about.png                                 |  Bin 27155 -> 154467 bytes
 src/plot/CPlot.cpp                                 |  123 +
 src/plot/{CPlotSpeed.h => CPlot.h}                 |   32 +-
 src/plot/CPlotAxis.cpp                             |   20 -
 src/plot/CPlotAxis.h                               |   32 +-
 src/plot/CPlotData.cpp                             |   26 +-
 src/plot/CPlotData.h                               |   21 +-
 src/plot/CPlotDistance.cpp                         |  125 -
 src/plot/CPlotProfile.cpp                          |   18 +-
 src/plot/CPlotSpeed.cpp                            |  123 -
 src/plot/CPlotTrack.cpp                            |    1 -
 src/plot/CPlotTrack.h                              |    2 +-
 src/plot/IPlot.cpp                                 |   35 +-
 src/plot/IPlot.h                                   |   36 +-
 src/plot/ITrack.cpp                                |    6 -
 src/plot/ITrack.h                                  |   12 +-
 src/print/CPrintDialog.cpp                         |   24 +-
 src/print/CPrintDialog.h                           |    4 +-
 src/qlgt/CQlb.h                                    |    6 +-
 src/qlgt/CQlgtWpt.cpp                              |    2 +-
 src/qlgt/converter.cpp                             |    6 +-
 src/resources.qrc                                  |   25 +
 src/tool/CImportDatabase.cpp                       |   10 +-
 src/tool/CMapVrtBuilder.cpp                        |   19 +-
 src/tool/CMapVrtBuilder.h                          |    2 +-
 src/tool/CRoutinoDatabaseBuilder.cpp               |    3 -
 src/tool/CRoutinoDatabaseBuilder.h                 |    6 +-
 src/tool/IToolShell.cpp                            |   27 +-
 src/tool/IToolShell.h                              |    1 +
 src/units/IUnitsSetup.ui                           |   49 +-
 src/version.h                                      |    2 +-
 src/widgets/CColorLegend.cpp                       |  182 ++
 .../CPhotoAlbum.h => widgets/CColorLegend.h}       |   55 +-
 .../source.cpp => src/widgets/CDoubleSpinBox.cpp   |   21 +-
 .../CPlotDistance.h => widgets/CDoubleSpinBox.h}   |   34 +-
 src/{helpers => widgets}/CFadingIcon.cpp           |    1 -
 src/{helpers => widgets}/CFadingIcon.h             |    2 +-
 src/{helpers => widgets}/CHistoryListWidget.cpp    |    2 +-
 src/{helpers => widgets}/CHistoryListWidget.h      |    0
 src/{helpers => widgets}/CPhotoAlbum.cpp           |   42 +-
 src/{helpers => widgets}/CPhotoAlbum.h             |    4 +-
 src/{helpers => widgets}/CTextEditWidget.cpp       |    0
 src/{helpers => widgets}/CTextEditWidget.h         |    0
 src/widgets/CTinySpinBox.cpp                       |   96 +
 src/widgets/CTinySpinBox.h                         |   71 +
 src/{helpers => widgets}/IPhotoAlbum.ui            |    0
 src/{helpers => widgets}/ITextEditWidget.ui        |    0
 templates/header.h                                 |    2 +-
 templates/source.cpp                               |    4 -
 254 files changed, 10869 insertions(+), 6419 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 0e1eba2..244dede 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -16,7 +16,7 @@ endif(WIN32)
 set(APPLICATION_NAME qmapshack)
 
 set(APPLICATION_VERSION_MAJOR "1")
-set(APPLICATION_VERSION_MINOR "4")
+set(APPLICATION_VERSION_MINOR "5")
 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})
@@ -25,6 +25,9 @@ add_definitions(-DVER_MAJOR=${APPLICATION_VERSION_MAJOR} -DVER_MINOR=${APPLICATI
 if (APPLE)
   set(PROGNAME "QMapShack")
   set(CONFIGDIR "Library/Application Support/${PROGNAME}/")
+  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS_INIT} -Wall -std=c++11 -stdlib=libc++")
+  set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -stdlib=libc++")
+  SET(CMAKE_OSX_DEPLOYMENT_TARGET "10.7")
 else(APPLE)
   set(PROGNAME qmapshack)
   set(CONFIGDIR ".config/QLandkarte/")
diff --git a/CMakeLists.txt.user b/CMakeLists.txt.user
index 67ccfca..a295790 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.4.1, 2015-10-24T12:47:59. -->
+<!-- Written by QtCreator 3.5.1, 2015-11-22T15:55:40. -->
 <qtcreator>
  <data>
   <variable>EnvironmentId</variable>
-  <value type="QByteArray">{044d553a-749a-4a4b-b707-1344605bd255}</value>
+  <value type="QByteArray">{f0360923-ff9d-4a52-8b8f-72d5ce639493}</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">{5eb63cc2-9ef2-4dc1-ab45-bc82e79614e7}</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>
@@ -158,7 +158,6 @@
     </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"/>
@@ -172,109 +171,7 @@
     <value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
     <value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
    </valuemap>
-   <valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.1">
-    <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">router</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">router (deaktiviert)</value>
-    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
-    <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.CMakeRunConfiguration.router</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>
-   <valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.2">
-    <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">planetsplitter</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">planetsplitter (deaktiviert)</value>
-    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
-    <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.CMakeRunConfiguration.planetsplitter</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">3</value>
+   <value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
   </valuemap>
  </data>
  <data>
diff --git a/CMakeLists.txt.user b/CMakeLists.txt.user.044d553
similarity index 99%
copy from CMakeLists.txt.user
copy to CMakeLists.txt.user.044d553
index 67ccfca..e8260af 100644
--- a/CMakeLists.txt.user
+++ b/CMakeLists.txt.user.044d553
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE QtCreatorProject>
-<!-- Written by QtCreator 3.4.1, 2015-10-24T12:47:59. -->
+<!-- Written by QtCreator 3.5.1, 2015-11-19T20:54:38. -->
 <qtcreator>
  <data>
   <variable>EnvironmentId</variable>
diff --git a/Doxyfile b/Doxyfile
index b12949c..d445573 100644
--- a/Doxyfile
+++ b/Doxyfile
@@ -1,11 +1,11 @@
-# Doxyfile 1.8.5
+# Doxyfile 1.8.8
 
 # This file describes the settings to be used by the documentation system
 # doxygen (www.doxygen.org) for a project.
-# 
+#
 # All text after a double hash (##) is considered a comment and is placed in
 # front of the TAG it is preceding.
-# 
+#
 # All text after a single hash (#) is considered a comment and will be ignored.
 # The format is:
 # TAG = value [value, ...]
@@ -70,15 +70,25 @@ OUTPUT_DIRECTORY       = ./doc
 
 CREATE_SUBDIRS         = NO
 
+# If the ALLOW_UNICODE_NAMES tag is set to YES, doxygen will allow non-ASCII
+# characters to appear in the names of generated files. If set to NO, non-ASCII
+# characters will be escaped, for example _xE3_x81_x84 will be used for Unicode
+# U+3044.
+# The default value is: NO.
+
+ALLOW_UNICODE_NAMES    = NO
+
 # The OUTPUT_LANGUAGE tag is used to specify the language in which all
 # documentation generated by doxygen is written. Doxygen will use this
 # information to generate all constant output in the proper language.
-# Possible values are: Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-
-# Traditional, Croatian, Czech, Danish, Dutch, English, Esperanto, Farsi,
-# Finnish, French, German, Greek, Hungarian, Italian, Japanese, Japanese-en,
-# Korean, Korean-en, Latvian, Norwegian, Macedonian, Persian, Polish,
-# Portuguese, Romanian, Russian, Serbian, Slovak, Slovene, Spanish, Swedish,
-# Turkish, Ukrainian and Vietnamese.
+# Possible values are: Afrikaans, Arabic, Armenian, Brazilian, Catalan, Chinese,
+# Chinese-Traditional, Croatian, Czech, Danish, Dutch, English (United States),
+# Esperanto, Farsi (Persian), Finnish, French, German, Greek, Hungarian,
+# Indonesian, Italian, Japanese, Japanese-en (Japanese with English messages),
+# Korean, Korean-en (Korean with English messages), Latvian, Lithuanian,
+# Macedonian, Norwegian, Persian (Farsi), Polish, Portuguese, Romanian, Russian,
+# Serbian, Serbian-Cyrillic, Slovak, Slovene, Spanish, Swedish, Turkish,
+# Ukrainian and Vietnamese.
 # The default value is: English.
 
 OUTPUT_LANGUAGE        = English
@@ -92,7 +102,7 @@ BRIEF_MEMBER_DESC      = YES
 
 # If the REPEAT_BRIEF tag is set to YES doxygen will prepend the brief
 # description of a member or function before the detailed description
-# 
+#
 # Note: If both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
 # brief descriptions will be completely suppressed.
 # The default value is: YES.
@@ -147,7 +157,7 @@ FULL_PATH_NAMES        = YES
 # part of the path. The tag can be used to show relative paths in the file list.
 # If left blank the directory from which doxygen is run is used as the path to
 # strip.
-# 
+#
 # Note that you can specify absolute paths here, but also relative paths, which
 # will be relative from the directory where doxygen is started.
 # This tag requires that the tag FULL_PATH_NAMES is set to YES.
@@ -192,7 +202,7 @@ QT_AUTOBRIEF           = NO
 # a brief description. This used to be the default behavior. The new default is
 # to treat a multi-line C++ comment block as a detailed description. Set this
 # tag to YES if you prefer the old behavior instead.
-# 
+#
 # Note that setting this tag to YES also means that rational rose comments are
 # not recognized any more.
 # The default value is: NO.
@@ -269,12 +279,15 @@ OPTIMIZE_OUTPUT_VHDL   = NO
 # extension. Doxygen has a built-in mapping, but you can override or extend it
 # using this tag. The format is ext=language, where ext is a file extension, and
 # language is one of the parsers supported by doxygen: IDL, Java, Javascript,
-# C#, C, C++, D, PHP, Objective-C, Python, Fortran, VHDL. For instance to make
-# doxygen treat .inc files as Fortran files (default is PHP), and .f files as C
-# (default is Fortran), use: inc=Fortran f=C.
-# 
+# C#, C, C++, D, PHP, Objective-C, Python, Fortran (fixed format Fortran:
+# FortranFixed, free formatted Fortran: FortranFree, unknown formatted Fortran:
+# Fortran. In the later case the parser tries to guess whether the code is fixed
+# or free formatted code, this is the default for Fortran type files), VHDL. For
+# instance to make doxygen treat .inc files as Fortran files (default is PHP),
+# and .f files as C (default is Fortran), use: inc=Fortran f=C.
+#
 # Note For files without extension you can use no_extension as a placeholder.
-# 
+#
 # Note that for custom extensions you also need to set FILE_PATTERNS otherwise
 # the files are not read by doxygen.
 
@@ -353,7 +366,7 @@ SUBGROUPING            = YES
 # are shown inside the group in which they are included (e.g. using \ingroup)
 # instead of on a separate page (for HTML and Man pages) or section (for LaTeX
 # and RTF).
-# 
+#
 # Note that this feature does not work in combination with
 # SEPARATE_MEMBER_PAGES.
 # The default value is: NO.
@@ -412,7 +425,7 @@ EXTRACT_ALL            = NO
 # be included in the documentation.
 # The default value is: NO.
 
-EXTRACT_PRIVATE        = NO
+EXTRACT_PRIVATE        = YES
 
 # If the EXTRACT_PACKAGE tag is set to YES all members with package or internal
 # scope will be included in the documentation.
@@ -510,6 +523,13 @@ HIDE_SCOPE_NAMES       = NO
 
 SHOW_INCLUDE_FILES     = YES
 
+# If the SHOW_GROUPED_MEMB_INC tag is set to YES then Doxygen will add for each
+# grouped member an include statement to the documentation, telling the reader
+# which file to include in order to use the member.
+# The default value is: NO.
+
+SHOW_GROUPED_MEMB_INC  = NO
+
 # If the FORCE_LOCAL_INCLUDES tag is set to YES then doxygen will list include
 # files with double quotes in the documentation rather than with sharp brackets.
 # The default value is: NO.
@@ -531,7 +551,8 @@ SORT_MEMBER_DOCS       = YES
 
 # If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the brief
 # descriptions of file, namespace and class members alphabetically by member
-# name. If set to NO the members will appear in declaration order.
+# name. If set to NO the members will appear in declaration order. Note that
+# this will also influence the order of the classes in the class list.
 # The default value is: NO.
 
 SORT_BRIEF_DOCS        = NO
@@ -656,7 +677,7 @@ FILE_VERSION_FILTER    =
 # that represents doxygen's defaults, run doxygen with the -l option. You can
 # optionally specify a file name after the option, if omitted DoxygenLayout.xml
 # will be used as the name of the layout file.
-# 
+#
 # Note that if you run doxygen from a directory containing a file called
 # DoxygenLayout.xml, doxygen will parse it automatically even if the LAYOUT_FILE
 # tag is left empty.
@@ -669,8 +690,7 @@ LAYOUT_FILE            =
 # to be installed. See also http://en.wikipedia.org/wiki/BibTeX for more info.
 # For LaTeX the style of the bibliography can be controlled using
 # LATEX_BIB_STYLE. To use this feature you need bibtex and perl available in the
-# search path. Do not use file names with spaces, bibtex cannot handle them. See
-# also \cite for info how to create references.
+# search path. See also \cite for info how to create references.
 
 CITE_BIB_FILES         = 
 
@@ -688,7 +708,7 @@ QUIET                  = NO
 # The WARNINGS tag can be used to turn on/off the warning messages that are
 # generated to standard error ( stderr) by doxygen. If WARNINGS is set to YES
 # this implies that the warnings are on.
-# 
+#
 # Tip: Turn warnings on while writing the documentation.
 # The default value is: YES.
 
@@ -815,7 +835,7 @@ RECURSIVE              = YES
 # The EXCLUDE tag can be used to specify files and/or directories that should be
 # excluded from the INPUT source files. This way you can easily exclude a
 # subdirectory from a directory tree whose root is specified with the INPUT tag.
-# 
+#
 # Note that relative paths are relative to the directory from which doxygen is
 # run.
 
@@ -831,7 +851,7 @@ EXCLUDE_SYMLINKS       = NO
 # If the value of the INPUT tag contains directories, you can use the
 # EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
 # certain files from those directories.
-# 
+#
 # Note that the wildcards are matched against the file with absolute path, so to
 # exclude all test directories for example use the pattern */test/*
 
@@ -842,7 +862,7 @@ EXCLUDE_PATTERNS       =
 # output. The symbol name can be a fully qualified name, a word, or if the
 # wildcard * is used, a substring. Examples: ANamespace, AClass,
 # AClass::ANamespace, ANamespace::*Test
-# 
+#
 # Note that the wildcards are matched against the file with absolute path, so to
 # exclude all test directories use the pattern */test/*
 
@@ -877,14 +897,14 @@ IMAGE_PATH             =
 # The INPUT_FILTER tag can be used to specify a program that doxygen should
 # invoke to filter for each input file. Doxygen will invoke the filter program
 # by executing (via popen()) the command:
-# 
+#
 # <filter> <input-file>
-# 
+#
 # where <filter> is the value of the INPUT_FILTER tag, and <input-file> is the
 # name of an input file. Doxygen will then use the output that the filter
 # program writes to standard output. If FILTER_PATTERNS is specified, this tag
 # will be ignored.
-# 
+#
 # Note that the filter must not add or remove lines; it is applied before the
 # code is scanned, but not when the output code is generated. If lines are added
 # or removed, the anchors will not be placed correctly.
@@ -928,7 +948,7 @@ USE_MDFILE_AS_MAINPAGE =
 
 # If the SOURCE_BROWSER tag is set to YES then a list of source files will be
 # generated. Documented entities will be cross-referenced with these sources.
-# 
+#
 # Note: To get rid of all source code in the generated output, make sure that
 # also VERBATIM_HEADERS is set to NO.
 # The default value is: NO.
@@ -983,16 +1003,16 @@ SOURCE_TOOLTIPS        = YES
 # source browser. The htags tool is part of GNU's global source tagging system
 # (see http://www.gnu.org/software/global/global.html). You will need version
 # 4.8.6 or higher.
-# 
+#
 # To use it do the following:
 # - Install the latest version of global
 # - Enable SOURCE_BROWSER and USE_HTAGS in the config file
 # - Make sure the INPUT points to the root of the source tree
 # - Run doxygen as normal
-# 
+#
 # Doxygen will invoke htags (and that will in turn invoke gtags), so these
 # tools must be available from the command line (i.e. in the search path).
-# 
+#
 # The result: instead of the source browser generated by doxygen, the links to
 # source code will now point to the output of htags.
 # The default value is: NO.
@@ -1061,7 +1081,7 @@ HTML_FILE_EXTENSION    = .html
 # The HTML_HEADER tag can be used to specify a user-defined HTML header file for
 # each generated HTML page. If the tag is left blank doxygen will generate a
 # standard header.
-# 
+#
 # To get valid HTML the header file that includes any scripts and style sheets
 # that doxygen needs, which is dependent on the configuration options used (e.g.
 # the setting GENERATE_TREEVIEW). It is highly recommended to start with a
@@ -1100,13 +1120,15 @@ HTML_FOOTER            =
 
 HTML_STYLESHEET        = 
 
-# The HTML_EXTRA_STYLESHEET tag can be used to specify an additional user-
-# defined cascading style sheet that is included after the standard style sheets
+# The HTML_EXTRA_STYLESHEET tag can be used to specify additional user-defined
+# cascading style sheets that are included after the standard style sheets
 # created by doxygen. Using this option one can overrule certain style aspects.
 # This is preferred over using HTML_STYLESHEET since it does not replace the
 # standard style sheet and is therefor more robust against future updates.
-# Doxygen will copy the style sheet file to the output directory. For an example
-# see the documentation.
+# Doxygen will copy the style sheet files to the output directory.
+# Note: The order of the extra stylesheet files is of importance (e.g. the last
+# stylesheet in the list overrules the setting of the previous ones in the
+# list). For an example see the documentation.
 # This tag requires that the tag GENERATE_HTML is set to YES.
 
 HTML_EXTRA_STYLESHEET  = 
@@ -1229,7 +1251,7 @@ DOCSET_PUBLISHER_NAME  = Publisher
 # index.hhp is a project file that can be read by Microsoft's HTML Help Workshop
 # (see: http://www.microsoft.com/en-us/download/details.aspx?id=21138) on
 # Windows.
-# 
+#
 # The HTML Help Workshop contains a compiler that can convert all HTML output
 # generated by doxygen into a single compiled HTML file (.chm). Compiled HTML
 # files are now used as the Windows 98 help format, and will replace the old
@@ -1271,7 +1293,8 @@ GENERATE_CHI           = NO
 CHM_INDEX_ENCODING     = 
 
 # The BINARY_TOC flag controls whether a binary table of contents is generated (
-# YES) or a normal table of contents ( NO) in the .chm file.
+# YES) or a normal table of contents ( NO) in the .chm file. Furthermore it
+# enables the Previous and Next buttons.
 # The default value is: NO.
 # This tag requires that the tag GENERATE_HTMLHELP is set to YES.
 
@@ -1397,7 +1420,7 @@ GENERATE_TREEVIEW      = NO
 
 # The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values that
 # doxygen will group on one line in the generated HTML documentation.
-# 
+#
 # Note that a value of 0 will completely suppress the enum values from appearing
 # in the overview section.
 # Minimum value: 0, maximum value: 20, default value: 4.
@@ -1431,7 +1454,7 @@ FORMULA_FONTSIZE       = 10
 # Use the FORMULA_TRANPARENT tag to determine whether or not the images
 # generated for formulas are transparent PNGs. Transparent PNGs are not
 # supported properly for IE 6.0, but are supported on all modern browsers.
-# 
+#
 # Note that when changing this option you need to delete any form_*.png files in
 # the HTML output directory before the changes have effect.
 # The default value is: YES.
@@ -1511,11 +1534,11 @@ SEARCHENGINE           = YES
 
 # When the SERVER_BASED_SEARCH tag is enabled the search engine will be
 # implemented using a web server instead of a web client using Javascript. There
-# are two flavours of web server based searching depending on the
-# EXTERNAL_SEARCH setting. When disabled, doxygen will generate a PHP script for
-# searching and an index file used by the script. When EXTERNAL_SEARCH is
-# enabled the indexing and searching needs to be provided by external tools. See
-# the section "External Indexing and Searching" for details.
+# are two flavors of web server based searching depending on the EXTERNAL_SEARCH
+# setting. When disabled, doxygen will generate a PHP script for searching and
+# an index file used by the script. When EXTERNAL_SEARCH is enabled the indexing
+# and searching needs to be provided by external tools. See the section
+# "External Indexing and Searching" for details.
 # The default value is: NO.
 # This tag requires that the tag SEARCHENGINE is set to YES.
 
@@ -1526,11 +1549,11 @@ SERVER_BASED_SEARCH    = NO
 # which needs to be processed by an external indexer. Doxygen will invoke an
 # external search engine pointed to by the SEARCHENGINE_URL option to obtain the
 # search results.
-# 
+#
 # Doxygen ships with an example indexer ( doxyindexer) and search engine
 # (doxysearch.cgi) which are based on the open source search engine library
 # Xapian (see: http://xapian.org/).
-# 
+#
 # See the section "External Indexing and Searching" for details.
 # The default value is: NO.
 # This tag requires that the tag SEARCHENGINE is set to YES.
@@ -1539,7 +1562,7 @@ EXTERNAL_SEARCH        = NO
 
 # The SEARCHENGINE_URL should point to a search engine hosted by a web server
 # which will return the search results when EXTERNAL_SEARCH is enabled.
-# 
+#
 # Doxygen ships with an example indexer ( doxyindexer) and search engine
 # (doxysearch.cgi) which are based on the open source search engine library
 # Xapian (see: http://xapian.org/). See the section "External Indexing and
@@ -1593,7 +1616,7 @@ LATEX_OUTPUT           = latex
 
 # The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be
 # invoked.
-# 
+#
 # Note that when enabling USE_PDFLATEX this option is only used for generating
 # bitmaps for formulas in the HTML output, but not in the Makefile that is
 # written to the output directory.
@@ -1640,21 +1663,23 @@ EXTRA_PACKAGES         =
 # chapter. If it is left blank doxygen will generate a standard header. See
 # section "Doxygen usage" for information on how to let doxygen write the
 # default header to a separate file.
-# 
+#
 # Note: Only use a user-defined header if you know what you are doing! The
 # following commands have a special meaning inside the header: $title,
-# $datetime, $date, $doxygenversion, $projectname, $projectnumber. Doxygen will
-# replace them by respectively the title of the page, the current date and time,
-# only the current date, the version number of doxygen, the project name (see
-# PROJECT_NAME), or the project number (see PROJECT_NUMBER).
+# $datetime, $date, $doxygenversion, $projectname, $projectnumber,
+# $projectbrief, $projectlogo. Doxygen will replace $title with the empy string,
+# for the replacement values of the other commands the user is refered to
+# HTML_HEADER.
 # This tag requires that the tag GENERATE_LATEX is set to YES.
 
 LATEX_HEADER           = 
 
 # The LATEX_FOOTER tag can be used to specify a personal LaTeX footer for the
 # generated LaTeX document. The footer should contain everything after the last
-# chapter. If it is left blank doxygen will generate a standard footer.
-# 
+# chapter. If it is left blank doxygen will generate a standard footer. See
+# LATEX_HEADER for more information on how to generate a default footer and what
+# special commands can be used inside the footer.
+#
 # Note: Only use a user-defined footer if you know what you are doing!
 # This tag requires that the tag GENERATE_LATEX is set to YES.
 
@@ -1677,7 +1702,7 @@ LATEX_EXTRA_FILES      =
 
 PDF_HYPERLINKS         = YES
 
-# If the LATEX_PDFLATEX tag is set to YES, doxygen will use pdflatex to generate
+# If the USE_PDFLATEX tag is set to YES, doxygen will use pdflatex to generate
 # the PDF file directly from the LaTeX files. Set this option to YES to get a
 # higher quality PDF documentation.
 # The default value is: YES.
@@ -1703,7 +1728,7 @@ LATEX_HIDE_INDICES     = NO
 
 # If the LATEX_SOURCE_CODE tag is set to YES then doxygen will include source
 # code with syntax highlighting in the LaTeX output.
-# 
+#
 # Note that which sources are shown also depends on other settings such as
 # SOURCE_BROWSER.
 # The default value is: NO.
@@ -1751,7 +1776,7 @@ COMPACT_RTF            = NO
 # output) instead of page references. This makes the output suitable for online
 # browsing using Word or some other Word compatible readers that support those
 # fields.
-# 
+#
 # Note: WordPad (write) and others do not support links.
 # The default value is: NO.
 # This tag requires that the tag GENERATE_RTF is set to YES.
@@ -1761,7 +1786,7 @@ RTF_HYPERLINKS         = NO
 # Load stylesheet definitions from file. Syntax is similar to doxygen's config
 # file, i.e. a series of assignments. You only have to provide replacements,
 # missing definitions are set to their default value.
-# 
+#
 # See also section "Doxygen usage" for information on how to generate the
 # default style sheet that doxygen normally uses.
 # This tag requires that the tag GENERATE_RTF is set to YES.
@@ -1803,6 +1828,13 @@ MAN_OUTPUT             = man
 
 MAN_EXTENSION          = .3
 
+# The MAN_SUBDIR tag determines the name of the directory created within
+# MAN_OUTPUT in which the man pages are placed. If defaults to man followed by
+# MAN_EXTENSION with the initial . removed.
+# This tag requires that the tag GENERATE_MAN is set to YES.
+
+MAN_SUBDIR             = 
+
 # If the MAN_LINKS tag is set to YES and doxygen generates man output, then it
 # will generate one additional man file for each entity documented in the real
 # man page(s). These additional files only source the real man page, but without
@@ -1830,18 +1862,6 @@ GENERATE_XML           = NO
 
 XML_OUTPUT             = xml
 
-# The XML_SCHEMA tag can be used to specify a XML schema, which can be used by a
-# validating XML parser to check the syntax of the XML files.
-# This tag requires that the tag GENERATE_XML is set to YES.
-
-XML_SCHEMA             = 
-
-# The XML_DTD tag can be used to specify a XML DTD, which can be used by a
-# validating XML parser to check the syntax of the XML files.
-# This tag requires that the tag GENERATE_XML is set to YES.
-
-XML_DTD                = 
-
 # If the XML_PROGRAMLISTING tag is set to YES doxygen will dump the program
 # listings (including syntax highlighting and cross-referencing information) to
 # the XML output. Note that enabling this will significantly increase the size
@@ -1869,6 +1889,15 @@ GENERATE_DOCBOOK       = NO
 
 DOCBOOK_OUTPUT         = docbook
 
+# If the DOCBOOK_PROGRAMLISTING tag is set to YES doxygen will include the
+# program listings (including syntax highlighting and cross-referencing
+# information) to the DOCBOOK output. Note that enabling this will significantly
+# increase the size of the DOCBOOK output.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_DOCBOOK is set to YES.
+
+DOCBOOK_PROGRAMLISTING = NO
+
 #---------------------------------------------------------------------------
 # Configuration options for the AutoGen Definitions output
 #---------------------------------------------------------------------------
@@ -1887,7 +1916,7 @@ GENERATE_AUTOGEN_DEF   = NO
 
 # If the GENERATE_PERLMOD tag is set to YES doxygen will generate a Perl module
 # file that captures the structure of the code including all documentation.
-# 
+#
 # Note that this feature is still experimental and incomplete at the moment.
 # The default value is: NO.
 
@@ -1988,9 +2017,9 @@ PREDEFINED             =
 EXPAND_AS_DEFINED      = 
 
 # If the SKIP_FUNCTION_MACROS tag is set to YES then doxygen's preprocessor will
-# remove all refrences to function-like macros that are alone on a line, have an
-# all uppercase name, and do not end with a semicolon. Such function macros are
-# typically used for boiler-plate code, and will confuse the parser if not
+# remove all references to function-like macros that are alone on a line, have
+# an all uppercase name, and do not end with a semicolon. Such function macros
+# are typically used for boiler-plate code, and will confuse the parser if not
 # removed.
 # The default value is: YES.
 # This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
@@ -2010,7 +2039,7 @@ SKIP_FUNCTION_MACROS   = YES
 # where loc1 and loc2 can be relative or absolute paths or URLs. See the
 # section "Linking to external documentation" for more information about the use
 # of tag files.
-# Note: Each tag file must have an unique name (where the name does NOT include
+# Note: Each tag file must have a unique name (where the name does NOT include
 # the path). If a tag file is not located in the directory in which doxygen is
 # run, you must also specify the path to the tagfile here.
 
@@ -2070,6 +2099,13 @@ CLASS_DIAGRAMS         = YES
 
 MSCGEN_PATH            = 
 
+# You can include diagrams made with dia in doxygen documentation. Doxygen will
+# then run dia to produce the diagram and insert it in the documentation. The
+# DIA_PATH tag allows you to specify the directory where the dia binary resides.
+# If left empty dia is assumed to be found in the default search path.
+
+DIA_PATH               = 
+
 # If set to YES, the inheritance and collaboration graphs will hide inheritance
 # and usage relations if the target is undocumented or is not a class.
 # The default value is: YES.
@@ -2095,7 +2131,7 @@ HAVE_DOT               = NO
 
 DOT_NUM_THREADS        = 0
 
-# When you want a differently looking font n the dot files that doxygen
+# When you want a differently looking font in the dot files that doxygen
 # generates you can specify the font name using DOT_FONTNAME. You need to make
 # sure dot is able to find the font, which can be done by putting it in a
 # standard location or by setting the DOTFONTPATH environment variable or by
@@ -2192,7 +2228,7 @@ INCLUDED_BY_GRAPH      = YES
 
 # If the CALL_GRAPH tag is set to YES then doxygen will generate a call
 # dependency graph for every global function or class method.
-# 
+#
 # Note that enabling this option will significantly increase the time of a run.
 # So in most cases it will be better to enable call graphs for selected
 # functions only using the \callgraph command.
@@ -2203,7 +2239,7 @@ CALL_GRAPH             = NO
 
 # If the CALLER_GRAPH tag is set to YES then doxygen will generate a caller
 # dependency graph for every global function or class method.
-# 
+#
 # Note that enabling this option will significantly increase the time of a run.
 # So in most cases it will be better to enable caller graphs for selected
 # functions only using the \callergraph command.
@@ -2241,7 +2277,7 @@ DOT_IMAGE_FORMAT       = png
 
 # If DOT_IMAGE_FORMAT is set to svg, then this option can be set to YES to
 # enable generation of interactive SVG images that allow zooming and panning.
-# 
+#
 # Note that this requires a modern browser other than Internet Explorer. Tested
 # and working are Firefox, Chrome, Safari, and Opera.
 # Note: For IE 9+ you need to set HTML_FILE_EXTENSION to xhtml in order to make
@@ -2270,6 +2306,21 @@ DOTFILE_DIRS           =
 
 MSCFILE_DIRS           = 
 
+# The DIAFILE_DIRS tag can be used to specify one or more directories that
+# contain dia files that are included in the documentation (see the \diafile
+# command).
+
+DIAFILE_DIRS           = 
+
+# When using plantuml, the PLANTUML_JAR_PATH tag should be used to specify the
+# path where java can find the plantuml.jar file. If left blank, it is assumed
+# PlantUML is not used or called during a preprocessing step. Doxygen will
+# generate a warning when it encounters a \startuml command in this case and
+# will not generate output for the diagram.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+PLANTUML_JAR_PATH      = 
+
 # The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of nodes
 # that will be shown in the graph. If the number of nodes in a graph becomes
 # larger than this value, doxygen will truncate the graph, which is visualized
@@ -2297,7 +2348,7 @@ MAX_DOT_GRAPH_DEPTH    = 0
 # Set the DOT_TRANSPARENT tag to YES to generate images with a transparent
 # background. This is disabled by default, because dot on Windows does not seem
 # to support this out of the box.
-# 
+#
 # Warning: Depending on the platform used, enabling this option may lead to
 # badly anti-aliased labels on the edges of a graph (i.e. they become hard to
 # read).
diff --git a/MacOSX/build-cask.sh b/MacOSX/build-cask.sh
index 003fc92..909f0c9 100644
--- a/MacOSX/build-cask.sh
+++ b/MacOSX/build-cask.sh
@@ -9,8 +9,8 @@ CASK_SRC_DIR=/$ROOT_DIR/homebrew-cask
 CASK_QMS_FILE=Casks/qmapshack.rb
 CASK_QMS='qmapshack'
 
-
 function command {
+    echo "$CASK_DIR/"
     echo "CREATE BRANCH:" 
     echo "git checkout $CASK_QMS"
     echo "git pull"
diff --git a/MacOSX/build-qmapshack.sh b/MacOSX/build-qmapshack.sh
index 54af396..d304fa0 100644
--- a/MacOSX/build-qmapshack.sh
+++ b/MacOSX/build-qmapshack.sh
@@ -12,7 +12,22 @@ function installLibraies {
     
     brew install qt5
     brew install gdal
-    brew install proj4
+    brew install proj
+}
+
+function updateLibraies {
+    brew update
+    
+    brew upgrade caskroom/cask/brew-cask
+    brew info qt5
+    brew info gdal
+    brew info proj
+    
+    brew outdated
+    # brew upgrade
+    brew upgrade qt5
+    brew upgrade gdal
+    brew upgrade proj
 }
 
 
@@ -44,6 +59,7 @@ fi
 
 if [[ "$1" == "pre-install" ]]; then
     installLibraies
+    updateLibraies
 fi
 
 # -d -h -c 
diff --git a/MacOSX/bundle.sh b/MacOSX/bundle.sh
index da71d86..5462b27 100755
--- a/MacOSX/bundle.sh
+++ b/MacOSX/bundle.sh
@@ -165,6 +165,7 @@ function copyAdditionalLibraries {
     cp -R $QT_DIR/lib/QtQuick.framework $BUILD_BUNDLE_FRW_DIR
     cp -R $QT_DIR/lib/QtQml.framework $BUILD_BUNDLE_FRW_DIR
     cp -R $QT_DIR/lib/QtWebChannel.framework $BUILD_BUNDLE_FRW_DIR
+    cp -R $QT_DIR/lib/QtDBus.framework $BUILD_BUNDLE_FRW_DIR
 }
 
 function copyExternalFiles {
@@ -231,9 +232,10 @@ function updateInfoPlist {
 
 function buildBinary {
     rm -rf $BUILD_RELEASE_DIR/$APP_NAME
-    #export MACOSX_DEPLOYMENT_TARGET=10.5
+    mkdir $BUILD_BIN_DIR
+    mkdir $BUILD_RELEASE_DIR
     xcodebuild -list -project $BUILD_DIR/$APP_NAME.xcodeproj
-    xcodebuild -project $BUILD_DIR/$APP_NAME.xcodeproj -scheme qmapshack -configuration Release build MACOSX_DEPLOYMENT_TARGET=10.5
+    xcodebuild -project $BUILD_DIR/$APP_NAME.xcodeproj  -configuration Release build
 }
 
 function replaceBinary {
diff --git a/MacOSX/env-path.sh b/MacOSX/env-path.sh
index a5e5316..09f8216 100644
--- a/MacOSX/env-path.sh
+++ b/MacOSX/env-path.sh
@@ -8,9 +8,10 @@ set -a
 # Set this pathes according to your environment
 # ---------------------------------------------
 LIB_BREW_DIR=/usr/local/Cellar
+# should use /usr/local/opt/qt5
 QT_DIR=$LIB_BREW_DIR/qt5/5.5.0
-GDAL_DIR=$LIB_BREW_DIR/gdal/1.11.2_2
-PROJ_DIR=$LIB_BREW_DIR/proj/4.9.1
+GDAL_DIR=$LIB_BREW_DIR/gdal/1.11.3
+PROJ_DIR=$LIB_BREW_DIR/proj/4.9.2
 
 HG_BIN=/Applications/Dev/MacHg.app/Contents/Resources/localhg
 # ---------------------------------------------
diff --git a/README.md b/README.md
index fd86b3f..c350064 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-You need a working mercurial, g++, cmake and QT5 installation to compile QMapShack on your computer. Clone and compile the code base by::
+You need a working mercurial, g++, cmake and QT5 installation to compile QMapShack on your computer. Clone and compile the code base by:
 
         hg clone https://bitbucket.org/maproom/qmapshack QMapShack
         mkdir build_QMapShack
@@ -6,12 +6,12 @@ You need a working mercurial, g++, cmake and QT5 installation to compile QMapSha
         ccmake ../QMapShack
         make
 
-To update the code to the cutting edge do in QMapShack::
+To update the code to the cutting edge do in QMapShack:
 
         hg pull
         hg update
 
-And change back to build_QMapShack::
+And change back to build_QMapShack:
 
         make
 
@@ -19,7 +19,7 @@ As everything is better with a GUI you might want to have a look at [TortoiseHg]
 
 Dependencies
 
-Next to QT5 you will need the development packages of::
+Next to QT5 you will need the development packages of:
 
 * Proj4
 * GDAL
diff --git a/call_Uncrustify.cfg b/call_Uncrustify.cfg
index 81c8ceb..fb9cf8d 100644
--- a/call_Uncrustify.cfg
+++ b/call_Uncrustify.cfg
@@ -50,8 +50,8 @@ align_nl_cont=false
 align_left_shift=true
 align_oc_decl_colon=false
 nl_collapse_empty_body=false
-nl_assign_leave_one_liners=false
-nl_class_leave_one_liners=false
+nl_assign_leave_one_liners=true
+nl_class_leave_one_liners=true
 nl_enum_leave_one_liners=false
 nl_getset_leave_one_liners=false
 nl_func_leave_one_liners=false
@@ -75,6 +75,7 @@ nl_ds_struct_enum_close_brace=false
 nl_create_if_one_liner=false
 nl_create_for_one_liner=false
 nl_create_while_one_liner=false
+nl_cpp_lambda_leave_one_liners=true
 ls_for_split_full=false
 ls_func_split_full=false
 nl_after_multiline_comment=false
diff --git a/changelog.txt b/changelog.txt
index bea81f7..fd2b3ae 100644
--- a/changelog.txt
+++ b/changelog.txt
@@ -1,3 +1,17 @@
+V 1.5.0
+* Add track filter to remove track points with invalid position
+* Add options to "cut track" function (keep only first or second, keep both)
+* Add Dutch translation (not finished yet)
+* Add selection of track properties as source for graphs
+* Add colorize track by track point properties
+* [Issue #68] Bubbles not moving when moving the map
+* [Issue #67] "Save Map Screenshot" does not save grid correctly
+* [Issue #69] "light gray" colored tracks are displayed in "dark blue" when imported from GPX file
+* [Issue #72] Database/Workspace inconsisteny in QMS 1.4.0
+* [Issue #70] Removed maximumSize for comboGrades
+* [Issue #19] Map-drag resizes or moves window with KDE 5
+* Many little bugfixes, some of them causing random crashes
+
 V 1.4.0
 * Export selected map area to image or printer
 * Add activity to trackpoints to differentiate track statistic
diff --git a/src/CMainWindow.cpp b/src/CMainWindow.cpp
index 173b72c..401aee4 100644
--- a/src/CMainWindow.cpp
+++ b/src/CMainWindow.cpp
@@ -26,6 +26,8 @@
 #include "gis/IGisLine.h"
 #include "gis/WptIcons.h"
 #include "gis/db/CSetupWorkspace.h"
+#include "gis/prj/IGisProject.h"
+#include "gis/trk/CKnownExtension.h"
 #include "helpers/CProgressDialog.h"
 #include "helpers/CSettings.h"
 #include "map/CMapDraw.h"
@@ -66,6 +68,7 @@ CMainWindow::CMainWindow()
     initWptIcons();
 
     IUnit::self().setUnitType((IUnit::type_e)cfg.value("MainWindow/units",IUnit::eTypeMetric).toInt(), this);
+    CKnownExtension::init(IUnit::self());
 
     gisWidget = new CGisWidget(menuProject, this);
     dockGis->setWidget(gisWidget);
@@ -87,41 +90,39 @@ CMainWindow::CMainWindow()
     // end ---- restore window geometry -----
 
 
-    connect(actionAbout, SIGNAL(triggered()), this, SLOT(slotAbout()));
-    connect(actionHelp, SIGNAL(triggered()), this, SLOT(slotHelp()));
-    connect(actionAddMapView, SIGNAL(triggered()), this, SLOT(slotAddCanvas()));
-    connect(actionCloneMapView, SIGNAL(triggered()), this, SLOT(slotCloneCanvas()));
-    connect(actionShowScale, SIGNAL(changed()), this, SLOT(slotUpdateCurrentWidget()));
-    connect(actionShowGrid, SIGNAL(changed()), this, SLOT(update()));
-    connect(actionPOIText, SIGNAL(changed()), this, SLOT(slotUpdateCurrentWidget()));
-    connect(actionMapToolTip, SIGNAL(changed()), this, SLOT(slotUpdateCurrentWidget()));
-    connect(actionNightDay, SIGNAL(changed()), this, SLOT(slotUpdateCurrentWidget()));
-    connect(actionProfileIsWindow, SIGNAL(toggled(bool)), this, SLOT(slotSetProfileMode(bool)));
-    connect(actionSetupMapFont, SIGNAL(triggered()), this, SLOT(slotSetupMapFont()));
-    connect(actionSetupGrid, SIGNAL(triggered()), this, SLOT(slotSetupGrid()));
-    connect(actionSetupMapPaths, SIGNAL(triggered()), this, SLOT(slotSetupMapPath()));
-    connect(actionSetupDEMPaths, SIGNAL(triggered()), this, SLOT(slotSetupDemPath()));
-    connect(actionSetupMapView, SIGNAL(triggered()), this, SLOT(slotSetupMapView()));
-    connect(actionSetupTimeZone, SIGNAL(triggered()), this, SLOT(slotSetupTimeZone()));
-    connect(actionSetupUnits, SIGNAL(triggered()), this, SLOT(slotSetupUnits()));
-    connect(actionSetupWorkspace, SIGNAL(triggered()), this, SLOT(slotSetupWorkspace()));
-    connect(actionSetupCoordFormat, SIGNAL(triggered(bool)), this, SLOT(slotSetupCoordFormat()));
-    connect(actionImportDatabase, SIGNAL(triggered()), this, SLOT(slotImportDatabase()));
-    connect(actionSaveGISData, SIGNAL(triggered()), gisWidget, SLOT(slotSaveAll()));
-    connect(actionLoadGISData, SIGNAL(triggered()), this, SLOT(slotLoadGISData()));
-    connect(actionVrtBuilder, SIGNAL(triggered()), this, SLOT(slotBuildVrt()));
-    connect(actionStoreView, SIGNAL(triggered()), this, SLOT(slotStoreView()));
-    connect(actionLoadView, SIGNAL(triggered()), this, SLOT(slotLoadView()));
-    connect(actionClose, SIGNAL(triggered()), this, SLOT(close()));
-    connect(actionCreateRoutinoDatabase, SIGNAL(triggered()), this, SLOT(slotCreateRoutinoDatabase()));
-    connect(actionPrintMap, SIGNAL(triggered()), this, SLOT(slotPrintMap()));
-    connect(tabWidget, SIGNAL(tabCloseRequested(int)), this, SLOT(slotTabCloseRequest(int)));
-
-
-
-    connect(tabWidget, SIGNAL(currentChanged(int)), this, SLOT(slotCurrentTabCanvas(int)));
-    connect(tabMaps, SIGNAL(currentChanged(int)), this, SLOT(slotCurrentTabMaps(int)));
-    connect(tabDem, SIGNAL(currentChanged(int)), this, SLOT(slotCurrentTabDem(int)));
+    connect(actionAbout,                 SIGNAL(triggered()),            this,      SLOT(slotAbout()));
+    connect(actionHelp,                  SIGNAL(triggered()),            this,      SLOT(slotHelp()));
+    connect(actionAddMapView,            SIGNAL(triggered()),            this,      SLOT(slotAddCanvas()));
+    connect(actionCloneMapView,          SIGNAL(triggered()),            this,      SLOT(slotCloneCanvas()));
+    connect(actionShowScale,             SIGNAL(changed()),              this,      SLOT(slotUpdateCurrentWidget()));
+    connect(actionShowGrid,              SIGNAL(changed()),              this,      SLOT(update()));
+    connect(actionPOIText,               SIGNAL(changed()),              this,      SLOT(slotUpdateCurrentWidget()));
+    connect(actionMapToolTip,            SIGNAL(changed()),              this,      SLOT(slotUpdateCurrentWidget()));
+    connect(actionNightDay,              SIGNAL(changed()),              this,      SLOT(slotUpdateCurrentWidget()));
+    connect(actionProfileIsWindow,       SIGNAL(toggled(bool)),          this,      SLOT(slotSetProfileMode(bool)));
+    connect(actionSetupMapFont,          SIGNAL(triggered()),            this,      SLOT(slotSetupMapFont()));
+    connect(actionSetupGrid,             SIGNAL(triggered()),            this,      SLOT(slotSetupGrid()));
+    connect(actionSetupMapPaths,         SIGNAL(triggered()),            this,      SLOT(slotSetupMapPath()));
+    connect(actionSetupDEMPaths,         SIGNAL(triggered()),            this,      SLOT(slotSetupDemPath()));
+    connect(actionSetupMapView,          SIGNAL(triggered()),            this,      SLOT(slotSetupMapView()));
+    connect(actionSetupTimeZone,         SIGNAL(triggered()),            this,      SLOT(slotSetupTimeZone()));
+    connect(actionSetupUnits,            SIGNAL(triggered()),            this,      SLOT(slotSetupUnits()));
+    connect(actionSetupWorkspace,        SIGNAL(triggered()),            this,      SLOT(slotSetupWorkspace()));
+    connect(actionSetupCoordFormat,      SIGNAL(triggered(bool)),        this,      SLOT(slotSetupCoordFormat()));
+    connect(actionImportDatabase,        SIGNAL(triggered()),            this,      SLOT(slotImportDatabase()));
+    connect(actionSaveGISData,           SIGNAL(triggered()),            gisWidget, SLOT(slotSaveAll()));
+    connect(actionLoadGISData,           SIGNAL(triggered()),            this,      SLOT(slotLoadGISData()));
+    connect(actionVrtBuilder,            SIGNAL(triggered()),            this,      SLOT(slotBuildVrt()));
+    connect(actionStoreView,             SIGNAL(triggered()),            this,      SLOT(slotStoreView()));
+    connect(actionLoadView,              SIGNAL(triggered()),            this,      SLOT(slotLoadView()));
+    connect(actionClose,                 SIGNAL(triggered()),            this,      SLOT(close()));
+    connect(actionCreateRoutinoDatabase, SIGNAL(triggered()),            this,      SLOT(slotCreateRoutinoDatabase()));
+    connect(actionPrintMap,              SIGNAL(triggered()),            this,      SLOT(slotPrintMap()));
+    connect(tabWidget,                   SIGNAL(tabCloseRequested(int)), this,      SLOT(slotTabCloseRequest(int)));
+
+    connect(tabWidget,                   SIGNAL(currentChanged(int)),    this,      SLOT(slotCurrentTabCanvas(int)));
+    connect(tabMaps,                     SIGNAL(currentChanged(int)),    this,      SLOT(slotCurrentTabMaps(int)));
+    connect(tabDem,                      SIGNAL(currentChanged(int)),    this,      SLOT(slotCurrentTabDem(int)));
 
     cfg.beginGroup("Canvas");
     CMapDraw::loadMapPath(cfg);
@@ -476,6 +477,7 @@ void CMainWindow::slotCloneCanvas()
     }
 
     target->loadConfig(view);
+    target->slotTriggerCompleteUpdate(CCanvas::redraw_e::eRedrawGis);
 
     SETTINGS;
     cfg.beginGroup("Canvas");
@@ -684,6 +686,11 @@ void CMainWindow::slotSetupUnits()
 {
     CUnitsSetup dlg(this);
     dlg.exec();
+
+    if(QDialog::Accepted == dlg.result())
+    {
+        CKnownExtension::init(IUnit::self());
+    }
 }
 
 void CMainWindow::slotSetupWorkspace()
@@ -719,11 +726,10 @@ void CMainWindow::slotCreateRoutinoDatabase()
 void CMainWindow::slotLoadGISData()
 {
     SETTINGS;
-    QString path = cfg.value("Paths/lastGisPath", QDir::homePath()).toString();
-    QString filter = cfg.value("Paths/lastGisFilter", "GPS Exchange Format (*.gpx)").toString();
-
+    QString path   = cfg.value("Paths/lastGisPath",   QDir::homePath()).toString();
+    QString filter = cfg.value("Paths/lastGisFilter", IGisProject::filedialogAllSupported).toString();
 
-    QStringList filenames = QFileDialog::getOpenFileNames(this, tr("Load GIS Data..."), path, "GPS Exchange Format (*.gpx);; QMapShack Binary (*.qms)", &filter);
+    QStringList filenames = QFileDialog::getOpenFileNames(this, tr("Load GIS Data..."), path, IGisProject::filedialogLoadFilters, &filter);
 
     if(filenames.isEmpty())
     {
@@ -733,7 +739,7 @@ void CMainWindow::slotLoadGISData()
     loadGISData(filenames);
 
     path = QFileInfo(filenames.first()).absolutePath();
-    cfg.setValue("Paths/lastGisPath", path);
+    cfg.setValue("Paths/lastGisPath",   path);
     cfg.setValue("Paths/lastGisFilter", filter);
 }
 
diff --git a/src/CMainWindow.h b/src/CMainWindow.h
index 919df17..1396e53 100644
--- a/src/CMainWindow.h
+++ b/src/CMainWindow.h
@@ -62,14 +62,14 @@ public:
     void zoomCanvasTo(const QRectF rect);
     /**
        @brief Read the elevation from DEM data attached to the currently visible canvas for a given location
-       @param pos   a poistion in units of [rad]
+       @param pos   a position in units of [rad]
        @return If no elevation value can be found for the position NOFLOAT is returned.
      */
     qreal getEelevationAt(const QPointF &pos);
     void  getEelevationAt(const QPolygonF& pos, QPolygonF &ele);
     void  getEelevationAt(SGisLine &line);
     /**
-       @brief Get pointer to the currently visibale canvas object.
+       @brief Get pointer to the currently visible canvas object.
        @return If the currently visible tab does not contain a CCanvas object 0 is returned.
      */
     CCanvas * getVisibleCanvas();
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 6e66b71..7868226 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -20,6 +20,10 @@ find_package(GDAL REQUIRED)
 find_package(PROJ REQUIRED)
 find_package(ROUTINO REQUIRED)
 
+if(UNIX)
+set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
+endif(UNIX)
+
 if (APPLE)
      SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -framework Foundation -framework DiskArbitration")
      SET(LINK_FLAGS "${LINK_FLAGS} -framework Foundation -framework DiskArbitration")
@@ -37,18 +41,21 @@ set( SRCS
     GeoMath.cpp
     CMainWindow.cpp
     CAbout.cpp
+    widgets/CTinySpinBox.cpp
+    widgets/CDoubleSpinBox.cpp
+    widgets/CFadingIcon.cpp
+    widgets/CTextEditWidget.cpp
+    widgets/CHistoryListWidget.cpp
+    widgets/CPhotoAlbum.cpp
+    widgets/CColorLegend.cpp
     helpers/CInputDialog.cpp
     helpers/CPositionDialog.cpp
-    helpers/CWptIconDialog.cpp
-    helpers/CTextEditWidget.cpp
+    helpers/CWptIconDialog.cpp    
     helpers/CSelectProjectDialog.cpp
-    helpers/CSelectCopyAction.cpp
-    helpers/CHistoryListWidget.cpp
+    helpers/CSelectCopyAction.cpp    
     helpers/CElevationDialog.cpp
-    helpers/CLinksDialog.cpp
-    helpers/CPhotoAlbum.cpp
-    helpers/CPhotoViewer.cpp
-    helpers/CFadingIcon.cpp
+    helpers/CLinksDialog.cpp    
+    helpers/CPhotoViewer.cpp    
     helpers/CProgressDialog.cpp
     helpers/CCommandProcessor.cpp
     helpers/CAppSetup.cpp
@@ -163,10 +170,14 @@ set( SRCS
     gis/trk/CScrOptTrk.cpp
     gis/trk/CDetailsTrk.cpp
     gis/trk/CCombineTrk.cpp
+    gis/trk/CCutTrk.cpp
     gis/trk/CSelectActivity.cpp
     gis/trk/CActivityTrk.cpp
+    gis/trk/CPropertyTrk.cpp
+    gis/trk/CKnownExtension.cpp
     gis/trk/filter/filter.cpp
     gis/trk/filter/CFilterDouglasPeuker.cpp
+    gis/trk/filter/CFilterInvalid.cpp
     gis/trk/filter/CFilterReset.cpp
     gis/trk/filter/CFilterDelete.cpp
     gis/trk/filter/CFilterMedian.cpp
@@ -192,10 +203,9 @@ set( SRCS
     plot/CPlotAxisTime.cpp    
     plot/CPlotData.cpp
     plot/CPlotProfile.cpp
-    plot/CPlotSpeed.cpp
-    plot/CPlotDistance.cpp
     plot/ITrack.cpp
     plot/CPlotTrack.cpp
+    plot/CPlot.cpp
     qlgt/converter.cpp
     qlgt/CQlb.cpp
     qlgt/IItem.cpp
@@ -246,6 +256,13 @@ set( HDRS
     GeoMath.h
     CMainWindow.h
     CAbout.h
+    widgets/CTinySpinBox.h
+    widgets/CDoubleSpinBox.h
+    widgets/CFadingIcon.h
+    widgets/CHistoryListWidget.h
+    widgets/CTextEditWidget.h
+    widgets/CPhotoAlbum.h
+    widgets/CColorLegend.h
     helpers/Platform.h
     helpers/CFileExt.h
     helpers/CAppOpts.h
@@ -254,14 +271,10 @@ set( HDRS
     helpers/CPositionDialog.h
     helpers/CSelectCopyAction.h
     helpers/CWptIconDialog.h
-    helpers/CTextEditWidget.h
     helpers/CSelectProjectDialog.h
-    helpers/CHistoryListWidget.h
     helpers/CElevationDialog.h
-    helpers/CLinksDialog.h
-    helpers/CPhotoAlbum.h
-    helpers/CPhotoViewer.h
-    helpers/CFadingIcon.h
+    helpers/CLinksDialog.h    
+    helpers/CPhotoViewer.h   
     helpers/CProgressDialog.h
     helpers/CCommandProcessor.h
     helpers/CAppSetup.h
@@ -373,9 +386,13 @@ set( HDRS
     gis/trk/CScrOptTrk.h
     gis/trk/CDetailsTrk.h
     gis/trk/CCombineTrk.h
+    gis/trk/CCutTrk.h
     gis/trk/CSelectActivity.h
     gis/trk/CActivityTrk.h
+    gis/trk/CPropertyTrk.h
+    gis/trk/CKnownExtension.h
     gis/trk/filter/CFilterDouglasPeuker.h
+    gis/trk/filter/CFilterInvalid.h
     gis/trk/filter/CFilterReset.h
     gis/trk/filter/CFilterDelete.h
     gis/trk/filter/CFilterMedian.h
@@ -403,10 +420,9 @@ set( HDRS
     plot/CPlotAxisTime.h
     plot/CPlotData.h
     plot/CPlotProfile.h
-    plot/CPlotSpeed.h
-    plot/CPlotDistance.h
     plot/ITrack.h
     plot/CPlotTrack.h
+    plot/CPlot.h
     qlgt/CQlb.h
     qlgt/IItem.h
     qlgt/CQlgtFolder.h
@@ -452,15 +468,15 @@ endif(WIN32)
 set( UIS
     IMainWindow.ui
     IAbout.ui
+    widgets/ITextEditWidget.ui
+    widgets/IPhotoAlbum.ui
     helpers/IInputDialog.ui
     helpers/IPositionDialog.ui
-    helpers/IWptIconDialog.ui
-    helpers/ITextEditWidget.ui
+    helpers/IWptIconDialog.ui    
     helpers/ISelectProjectDialog.ui
     helpers/ISelectCopyAction.ui
     helpers/IElevationDialog.ui
-    helpers/ILinksDialog.ui
-    helpers/IPhotoAlbum.ui
+    helpers/ILinksDialog.ui    
     helpers/IProgressDialog.ui
     canvas/ICanvasSetup.ui
     dem/IDemList.ui
@@ -490,8 +506,10 @@ set( UIS
     gis/trk/IScrOptTrk.ui
     gis/trk/IDetailsTrk.ui
     gis/trk/ICombineTrk.ui
+    gis/trk/ICutTrk.ui
     gis/trk/ISelectActivity.ui
     gis/trk/filter/IFilterDouglasPeuker.ui
+    gis/trk/filter/IFilterInvalid.ui
     gis/trk/filter/IFilterReset.ui
     gis/trk/filter/IFilterDelete.ui
     gis/trk/filter/IFilterMedian.ui
diff --git a/src/GeoMath.cpp b/src/GeoMath.cpp
index e87b35e..14d36e5 100644
--- a/src/GeoMath.cpp
+++ b/src/GeoMath.cpp
@@ -381,7 +381,7 @@ QPointF GPS_Math_Wpt_Projection(const QPointF& pt1, qreal distance, qreal bearin
 
 bool GPS_Math_LineCrossesRect(const QPointF &p1, const QPointF &p2, const QRectF &rect)
 {
-    // the trival case
+    // the trivial case
     if(rect.contains(p1) || rect.contains(p2))
     {
         return true;
diff --git a/src/IAbout.ui b/src/IAbout.ui
index 0e8d917..a77799a 100644
--- a/src/IAbout.ui
+++ b/src/IAbout.ui
@@ -7,7 +7,7 @@
     <x>0</x>
     <y>0</y>
     <width>550</width>
-    <height>550</height>
+    <height>596</height>
    </rect>
   </property>
   <property name="windowTitle">
@@ -22,6 +22,12 @@
        <height>0</height>
       </size>
      </property>
+     <property name="maximumSize">
+      <size>
+       <width>150</width>
+       <height>580</height>
+      </size>
+     </property>
      <property name="text">
       <string/>
      </property>
@@ -154,14 +160,14 @@
      </item>
      <item>
       <layout class="QGridLayout" name="gridLayout">
-       <item row="3" column="1">
+       <item row="4" column="1">
         <widget class="QLabel" name="label_15">
          <property name="text">
           <string>Rainer Unseld </string>
          </property>
         </widget>
        </item>
-       <item row="3" column="0">
+       <item row="4" column="0">
         <widget class="QLabel" name="label_14">
          <property name="text">
           <string>French</string>
@@ -192,7 +198,7 @@
        <item row="0" column="0">
         <widget class="QLabel" name="label_8">
          <property name="text">
-          <string>Translation:</string>
+          <string><b>Translation:</b></string>
          </property>
         </widget>
        </item>
@@ -203,20 +209,34 @@
          </property>
         </widget>
        </item>
-       <item row="4" column="0">
+       <item row="5" column="0">
         <widget class="QLabel" name="label_16">
          <property name="text">
           <string>Spanish</string>
          </property>
         </widget>
        </item>
-       <item row="4" column="1">
+       <item row="5" column="1">
         <widget class="QLabel" name="label_17">
          <property name="text">
           <string>Jose Luis Domingo Lopez</string>
          </property>
         </widget>
        </item>
+       <item row="3" column="0">
+        <widget class="QLabel" name="label_27">
+         <property name="text">
+          <string>Dutch</string>
+         </property>
+        </widget>
+       </item>
+       <item row="3" column="1">
+        <widget class="QLabel" name="label_28">
+         <property name="text">
+          <string>Harrie Klomp</string>
+         </property>
+        </widget>
+       </item>
       </layout>
      </item>
      <item>
@@ -272,7 +292,7 @@
        <item row="0" column="0">
         <widget class="QLabel" name="label_24">
          <property name="text">
-          <string>Binaries:</string>
+          <string><b>Binaries:</b></string>
          </property>
         </widget>
        </item>
@@ -286,6 +306,27 @@
       </widget>
      </item>
      <item>
+      <widget class="QLabel" name="label_25">
+       <property name="text">
+        <string><b>Contributors:</b></string>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <widget class="QLabel" name="label_26">
+       <property name="text">
+        <string>Christian Eichler (qms at christian-eichler.de)</string>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <widget class="Line" name="line_5">
+       <property name="orientation">
+        <enum>Qt::Horizontal</enum>
+       </property>
+      </widget>
+     </item>
+     <item>
       <widget class="QLabel" name="label_11">
        <property name="text">
         <string>This software is licensed under GPL3 or any later version</string>
diff --git a/src/canvas/CCanvas.cpp b/src/canvas/CCanvas.cpp
index e3fc165..46c81b9 100644
--- a/src/canvas/CCanvas.cpp
+++ b/src/canvas/CCanvas.cpp
@@ -41,14 +41,13 @@
 #include "mouse/CMouseWptBubble.h"
 #include "plot/CPlotProfile.h"
 #include "units/IUnit.h"
+#include "widgets/CColorLegend.h"
 
 #include <QtWidgets>
 
 
 CCanvas::CCanvas(QWidget *parent, const QString &name)
     : QWidget(parent)
-    , posFocus(12.00 * DEG_TO_RAD, 49.00 * DEG_TO_RAD)
-    , plotTrackProfile(0)
 {
     setFocusPolicy(Qt::WheelFocus);
 
@@ -395,6 +394,7 @@ void CCanvas::mousePressEvent(QMouseEvent * e)
 {
     mouse->mousePressEvent(e);
     QWidget::mousePressEvent(e);
+    e->accept();
 }
 
 void CCanvas::mouseMoveEvent(QMouseEvent * e)
@@ -407,12 +407,14 @@ void CCanvas::mouseMoveEvent(QMouseEvent * e)
 
     mouse->mouseMoveEvent(e);
     QWidget::mouseMoveEvent(e);
+    e->accept();
 }
 
 void CCanvas::mouseReleaseEvent(QMouseEvent *e)
 {
     mouse->mouseReleaseEvent(e);
     QWidget::mouseReleaseEvent(e);
+    e->accept();
 }
 
 void CCanvas::mouseDoubleClickEvent(QMouseEvent * e)
@@ -464,18 +466,16 @@ void CCanvas::leaveEvent(QEvent * e)
 void CCanvas::keyPressEvent(QKeyEvent * e)
 {
     qDebug() << hex << e->key();
-    bool doUpdate = false;
+    bool doUpdate = true;
 
     switch(e->key())
     {
     case Qt::Key_Plus:
         setZoom(true, needsRedraw);
-        doUpdate = true;
         break;
 
     case Qt::Key_Minus:
         setZoom(false, needsRedraw);
-        doUpdate = true;
         break;
 
     /* move the map with keys up, down, left and right */
@@ -496,17 +496,26 @@ void CCanvas::keyPressEvent(QKeyEvent * e)
         break;
 
     case Qt::Key_Escape:
+    {
         IMouseEditLine *lineMouse = dynamic_cast<IMouseEditLine*>(mouse);
         if(lineMouse != 0)
         {
             lineMouse->abortStep();
-            doUpdate = true;
+        }
+        else
+        {
+            doUpdate = false;
         }
         break;
     }
 
+    default:
+        doUpdate = false;
+    }
+
     if(doUpdate)
     {
+        mouse->keyPressEvent(e);
         e->accept();
         update();
     }
@@ -536,7 +545,6 @@ void CCanvas::drawScale(QPainter& p)
         return;
     }
 
-
     // step I: get the approximate distance for 200px in the bottom right corner
     QPointF brc(rect().bottomRight() - QPoint(50,30));
     QPointF pt1 = brc;
@@ -623,6 +631,7 @@ void CCanvas::slotCheckTrackOnFocus()
         saveSizeTrackProfile();
         // get access to current track object
         delete plotTrackProfile;
+        delete colorLegend;
         keyTrackOnFocus.clear();
 
         // get access to next track object
@@ -640,6 +649,9 @@ void CCanvas::slotCheckTrackOnFocus()
             plotTrackProfile->show();
         }
 
+        colorLegend = new CColorLegend(this, trk2);
+        colorLegend->setGeometry(20, 20, 40, 300);
+
         // finally store the new key as track on focus
         keyTrackOnFocus = key;
     }
@@ -896,8 +908,10 @@ void CCanvas::print(QPainter& p, const QRectF& area, const QPointF& focus)
     p.resetTransform();
     // ----- start to draw fast content -----
 
-    grid->draw(p, area.toRect());
-    gis->draw(p, area.toRect());
+    QRect r(QPoint(0,0), area.size().toSize());
+
+    grid->draw(p, r);
+    gis->draw(p, r);
 
     setDrawContextSize(oldSize);
 }
diff --git a/src/canvas/CCanvas.h b/src/canvas/CCanvas.h
index e3f2626..365e48f 100644
--- a/src/canvas/CCanvas.h
+++ b/src/canvas/CCanvas.h
@@ -23,6 +23,7 @@
 #include <QPainter>
 #include <QPointer>
 #include <QWidget>
+#include <proj_api.h>
 
 #include "gis/IGisItem.h"
 
@@ -34,6 +35,7 @@ class CGisItemWpt;
 class CGisItemTrk;
 class CGisItemRte;
 class CGisItemOvlArea;
+class CColorLegend;
 class QSettings;
 class QPointF;
 class IMouse;
@@ -180,12 +182,12 @@ private:
     CMapDraw * map;
     /// the elevation data layer attached to this canvas
     CDemDraw * dem;
-    /// the GIS data layer attached to this convas
+    /// the GIS data layer attached to this canvas
     CGisDraw * gis;
     /// the grid attached to this canvas
     CGrid * grid;
     /// the current point of focus (usually the canvas center)
-    QPointF posFocus;
+    QPointF posFocus {12.00 * DEG_TO_RAD, 49.00 * DEG_TO_RAD};
 
     /// the current mouse handler
     IMouse * mouse;
@@ -203,9 +205,11 @@ private:
     QMovie * loadIndicator2;
     QLabel * demLoadIndicator;
 
+    QPointer<CColorLegend> colorLegend;
+
     /// timer to poll for track gaining/loosing focus
     QTimer * timerTrackOnFocus;
-    /// the key of the currentl focused track
+    /// the key of the currently focused track
     IGisItem::key_t keyTrackOnFocus;
     /// the track profile plot
     QPointer<IPlot>  plotTrackProfile;
diff --git a/src/canvas/IDrawContext.cpp b/src/canvas/IDrawContext.cpp
index 858a8c5..8d0d1d6 100644
--- a/src/canvas/IDrawContext.cpp
+++ b/src/canvas/IDrawContext.cpp
@@ -103,14 +103,6 @@ IDrawContext::IDrawContext(const QString& name, CCanvas::redraw_e maskRedraw, CC
     : QThread(parent)
     , canvas(parent)
     , maskRedraw(maskRedraw)
-    , bufIndex(false)
-    , bufWidth(100)
-    , bufHeight(100)
-    , viewWidth(100)
-    , viewHeight(100)
-    , scale(1.0,-1.0)
-    , zoomIndex(0)
-
 {
     setObjectName(name);
     // setup map parameters and connect to canvas
diff --git a/src/canvas/IDrawContext.h b/src/canvas/IDrawContext.h
index 5a122b2..3798622 100644
--- a/src/canvas/IDrawContext.h
+++ b/src/canvas/IDrawContext.h
@@ -40,10 +40,6 @@ public:
 
     struct buffer_t
     {
-        buffer_t() : zoomFactor(1.0,1.0), scale(1.0,1.0)
-        {
-        }
-
         /// @note: all coordinate values are long/lat WGS84 [rad]
 
         /// the canvas buffer
@@ -51,11 +47,11 @@ public:
         /// the used projection
         projPJ pjsrc;
         /// the zoomfactor used to draw the canvas
-        QPointF zoomFactor;
+        QPointF zoomFactor {1.0,1.0};
         /// the number of zoom levels
         int zoomLevels;
         /// the scale of the global viewport
-        QPointF scale;
+        QPointF scale {1.0,1.0};
         /// top left corner
         QPointF ref1;
         /// top right corner
@@ -76,7 +72,7 @@ public:
     /**
        @brief Zoom in and out of the map by the scale factors defined in CMapDB::scales.
        @param in            set true to zoom in, and false to zoom out
-       @param needsRedraw   if the zoom action makes a redraw nesseccary needsRedraw is set true
+       @param needsRedraw   if the zoom action makes a redraw necessary needsRedraw is set true
      */
     void zoom(bool in, CCanvas::redraw_e &needsRedraw);
     void zoom(int idx);
@@ -88,13 +84,13 @@ public:
 
     /**
        @brief Convert a geo coordinate of format lon/lat WGS84 into the currently used coordinate/projection/datum system.
-       @note  The unit is dependent on the currently used projection and must not nesseccarily be meter
+       @note  The unit is dependent on the currently used projection and must not necessarily be meter
        @param p             the point to convert
      */
     void convertRad2M(QPointF &p);
     /**
        @brief Convert a geo coordinate of the currently used projection/datum to lon/lat WGS84
-       @note  The unit is dependent on the currently used projection and must not nesseccarily be meter
+       @note  The unit is dependent on the currently used projection and must not necessarily be meter
        @param p             the point to convert
      */
     void convertM2Rad(QPointF &p);
@@ -118,7 +114,7 @@ public:
 
     /**
         @brief Draw the active map buffer to the painter
-        @param p            the painte used to draw the map
+        @param p            the painter used to draw the map
         @param needsRedraw  set true to trigger a redraw in the background thread
         @param f            the point of focus in [°] that is drawn in the middle of the viewport.
      */
@@ -135,7 +131,7 @@ public:
        @brief Set the projection of the draw context
 
        This will just create a new source projection object (pjsrc). Most likely you want to
-       overide this method to:
+       override this method to:
 
        1) save what ever has to be saved
        2) call this method
@@ -186,15 +182,15 @@ protected:
     /// map canvas twin buffer
     buffer_t buffer[2];
     /// the main threads currently used map canvas buffer
-    bool bufIndex;
+    bool bufIndex = false;
     /// buffer width [px]
-    int bufWidth;
+    int bufWidth = 100;
     /// buffer height [px]
-    int bufHeight;
+    int bufHeight = 100;
     /// the viewports width [px]
-    int viewWidth;
+    int viewWidth = 100;
     /// the viewports height [px]
-    int viewHeight;
+    int viewHeight = 100;
     /// the center of the viewport
     QPointF center;
 
@@ -206,12 +202,12 @@ protected:
     qreal scales[CANVAS_MAX_ZOOM_LEVELS];
     CCanvas::scales_type_e scalesType;
     /// the number of zoom levels
-    int zoomLevels;
+    int zoomLevels = 0;
 
     /// the basic scale of the map canvas
-    QPointF scale;
+    QPointF scale {1.0,-1.0};
     /// index into scales table
-    int zoomIndex;
+    int zoomIndex = 0;
     /// the actual used scaleFactor
     QPointF zoomFactor;
 
diff --git a/src/canvas/IDrawObject.cpp b/src/canvas/IDrawObject.cpp
index 4eccb2c..ad360db 100644
--- a/src/canvas/IDrawObject.cpp
+++ b/src/canvas/IDrawObject.cpp
@@ -23,9 +23,6 @@
 
 IDrawObject::IDrawObject(QObject *parent)
     : QObject(parent)
-    , opacity(100)
-    , minScale(NOFLOAT)
-    , maxScale(NOFLOAT)
 {
 }
 
diff --git a/src/canvas/IDrawObject.h b/src/canvas/IDrawObject.h
index 43857ea..c8ceee1 100644
--- a/src/canvas/IDrawObject.h
+++ b/src/canvas/IDrawObject.h
@@ -19,6 +19,7 @@
 #ifndef IDRAWOBJECT_H
 #define IDRAWOBJECT_H
 
+#include "units/IUnit.h"
 #include <QObject>
 
 class QSettings;
@@ -128,11 +129,11 @@ protected:
 
 private:
     /// the opacity level of a map
-    qreal opacity;
+    qreal opacity = 100;
     /// the minimum scale a map is visible
-    qreal minScale;
+    qreal minScale = NOFLOAT;
     /// the maximum scale a map is visible
-    qreal maxScale;
+    qreal maxScale = NOFLOAT;
 };
 
 #endif //IDRAWOBJECT_H
diff --git a/src/dem/CDemItem.cpp b/src/dem/CDemItem.cpp
index 7a3abf2..2b07ec5 100644
--- a/src/dem/CDemItem.cpp
+++ b/src/dem/CDemItem.cpp
@@ -157,7 +157,7 @@ bool CDemItem::activate()
         return false;
     }
 
-    // if map is activated sucessfully add to the list of map files
+    // if map is activated successfully add to the list of map files
     // else delete all previous loaded maps and abort
     if(!demfile->activated())
     {
diff --git a/src/dem/CDemPropSetup.cpp b/src/dem/CDemPropSetup.cpp
index da56cc1..5f1a790 100644
--- a/src/dem/CDemPropSetup.cpp
+++ b/src/dem/CDemPropSetup.cpp
@@ -29,27 +29,46 @@ CDemPropSetup::CDemPropSetup(IDem * demfile, CDemDraw *dem)
 {
     setupUi(this);
 
+    slopeSpins[0] = spinSlope0;
+    slopeSpins[1] = spinSlope1;
+    slopeSpins[2] = spinSlope2;
+    slopeSpins[3] = spinSlope3;
+    slopeSpins[4] = spinSlope4;
+
     slotPropertiesChanged();
 
-    connect(sliderOpacity, SIGNAL(valueChanged(int)), demfile, SLOT(slotSetOpacity(int)));
-    connect(sliderOpacity, SIGNAL(valueChanged(int)), dem, SLOT(emitSigCanvasUpdate()));
-    connect(dem, SIGNAL(sigScaleChanged(QPointF)), this, SLOT(slotScaleChanged(QPointF)));
-    connect(toolSetMinScale, SIGNAL(toggled(bool)), this, SLOT(slotSetMinScale(bool)));
-    connect(toolSetMaxScale, SIGNAL(toggled(bool)), this, SLOT(slotSetMaxScale(bool)));
+    connect(sliderOpacity,     SIGNAL(valueChanged(int)),        demfile, SLOT(slotSetOpacity(int)));
+    connect(sliderOpacity,     SIGNAL(valueChanged(int)),        dem,     SLOT(emitSigCanvasUpdate()));
+    connect(dem,               SIGNAL(sigScaleChanged(QPointF)), this,    SLOT(slotScaleChanged(QPointF)));
+    connect(toolSetMinScale,   SIGNAL(toggled(bool)),            this,    SLOT(slotSetMinScale(bool)));
+    connect(toolSetMaxScale,   SIGNAL(toggled(bool)),            this,    SLOT(slotSetMaxScale(bool)));
+
+    connect(checkHillshading,  SIGNAL(toggled(bool)),            demfile, SLOT(slotSetHillshading(bool)));
+    connect(checkHillshading,  SIGNAL(clicked()),                dem,     SLOT(emitSigCanvasUpdate()));
+    connect(sliderHillshading, SIGNAL(valueChanged(int)),        demfile, SLOT(slotSetFactorHillshade(int)));
+    connect(sliderHillshading, SIGNAL(valueChanged(int)),        dem,     SLOT(emitSigCanvasUpdate()));
 
-    connect(checkHillshading, SIGNAL(toggled(bool)), demfile, SLOT(slotSetHillshading(bool)));
-    connect(checkHillshading, SIGNAL(clicked()), dem, SLOT(emitSigCanvasUpdate()));
-    connect(sliderHillshading, SIGNAL(valueChanged(int)), demfile, SLOT(slotSetFactorHillshade(int)));
-    connect(sliderHillshading, SIGNAL(valueChanged(int)), dem, SLOT(emitSigCanvasUpdate()));
+    connect(checkSlopeColor,   SIGNAL(toggled(bool)),            demfile, SLOT(slotSetSlopeColor(bool)));
+    connect(checkSlopeColor,   SIGNAL(clicked()),                dem,     SLOT(emitSigCanvasUpdate()));
+    connect(comboGrades,       SIGNAL(currentIndexChanged(int)), this,    SLOT(slotGradeIndex(int)));
 
-    connect(checkSlopeColor, SIGNAL(toggled(bool)), demfile, SLOT(slotSetSlopeColor(bool)));
-    connect(checkSlopeColor, SIGNAL(clicked()), dem, SLOT(emitSigCanvasUpdate()));
-    connect(sliderSlopeColor, SIGNAL(valueChanged(int)), demfile, SLOT(slotSetGradeSlopeColor(int)));
-    connect(sliderSlopeColor, SIGNAL(valueChanged(int)), dem, SLOT(emitSigCanvasUpdate()));
-    connect(sliderSlopeColor, SIGNAL(valueChanged(int)), this, SLOT(slotSetGradeSlopeColor(int)));
+    for(size_t i = 0; i < SLOPE_LEVELS; i++)
+    {
+        slopeSpins[i]->setProperty("level", (uint) i);
+        connect(slopeSpins[i], SIGNAL(editingFinished()), this, SLOT(slotSlopeValiddateAfterEdit()));
+        connect(slopeSpins[i], SIGNAL(valueChangedByStep(int)), this, SLOT(slotSlopeValiddateAfterEdit()));
+    }
+
+    comboGrades->blockSignals(true);
+    for(size_t i = 0; i < IDem::slopePresetCount; i++)
+    {
+        comboGrades->addItem(IDem::slopePresets[i].name);
+    }
+    comboGrades->addItem("custom");
+    comboGrades->blockSignals(false);
 
     const QVector<QRgb>& colortable = demfile->getSlopeColorTable();
-    QPixmap pixmap(20,10);
+    QPixmap pixmap(20, 10);
     pixmap.fill(colortable[5]);
     labelColor5->setPixmap(pixmap);
     pixmap.fill(colortable[4]);
@@ -80,30 +99,48 @@ void CDemPropSetup::slotPropertiesChanged()
     checkHillshading->blockSignals(true);
     sliderHillshading->blockSignals(true);
     checkSlopeColor->blockSignals(true);
-    sliderSlopeColor->blockSignals(true);
+    comboGrades->blockSignals(true);
 
     sliderOpacity->setValue(demfile->getOpacity());
-    qreal minScale = demfile->getMinScale();
-    toolSetMinScale->setChecked(minScale != NOFLOAT);
-    qreal maxScale = demfile->getMaxScale();
-    toolSetMaxScale->setChecked(maxScale != NOFLOAT);
+
+    toolSetMinScale->setChecked( demfile->getMinScale() != NOFLOAT );
+    toolSetMaxScale->setChecked( demfile->getMaxScale() != NOFLOAT );
 
     updateScaleLabel();
 
     checkHillshading->setChecked(demfile->doHillshading());
     sliderHillshading->setValue(demfile->getFactorHillshading());
     checkSlopeColor->setChecked(demfile->doSlopeColor());
-    sliderSlopeColor->setValue(demfile->getGradeSlopeColor());
 
-    slotSetGradeSlopeColor(sliderSlopeColor->value());
+    bool spinsReadonly = true;
+    // calculate the index of the element, that should be selected in comboGrades
+    // -1 indicates the `custom` entry (this allows adding DEM presets migration
+    // of configuration during update
+    int expectedComboGradesIndex = demfile->getSlopeStepTableIndex();
+    if(-1 == expectedComboGradesIndex)
+    {
+        spinsReadonly = false;
+        expectedComboGradesIndex = comboGrades->count() - 1;
+    }
+    comboGrades->setCurrentIndex(expectedComboGradesIndex);
+
+    for(size_t i = 0; i < SLOPE_LEVELS; i++)
+    {
+        slopeSpins[i]->blockSignals(true);
+        slopeSpins[i]->setReadOnly(spinsReadonly);
+        slopeSpins[i]->setValue(demfile->getCurrentSlopeStepTable()[i]);
+        slopeSpins[i]->blockSignals(false);
+    }
 
+    dem->emitSigCanvasUpdate();
+
+    comboGrades->blockSignals(false);
     sliderOpacity->blockSignals(false);
     toolSetMaxScale->blockSignals(false);
     toolSetMinScale->blockSignals(false);
     checkHillshading->blockSignals(false);
     sliderHillshading->blockSignals(false);
     checkSlopeColor->blockSignals(false);
-    sliderSlopeColor->blockSignals(false);
 }
 
 void CDemPropSetup::slotScaleChanged(const QPointF& s)
@@ -178,15 +215,49 @@ void CDemPropSetup::updateScaleLabel()
     labelScale->setPixmap(pix);
 }
 
-void CDemPropSetup::slotSetGradeSlopeColor(int val)
+void CDemPropSetup::slotSlopeChanged(int val)
 {
-    labelGrade->setText(tr("<b>Grade %1</b>").arg(val));
+    uint level = QObject::sender()->property("level").toUInt();
+    demfile->setSlopeStepTableCustomValue(level, val);
+}
 
-    const qreal * g = IDem::tblGrade[val];
+void CDemPropSetup::slotSlopeValiddateAfterEdit()
+{
+    uint level = QObject::sender()->property("level").toUInt();
+    demfile->setSlopeStepTableCustomValue(level, slopeSpins[level]->value());
 
-    labelValue1->setText(QString("> %1%2").arg(g[1]).arg(QChar(0260)));
-    labelValue2->setText(QString("> %1%2").arg(g[2]).arg(QChar(0260)));
-    labelValue3->setText(QString("> %1%2").arg(g[3]).arg(QChar(0260)));
-    labelValue4->setText(QString("> %1%2").arg(g[4]).arg(QChar(0260)));
-    labelValue5->setText(QString("> %1%2").arg(g[5]).arg(QChar(0260)));
+    if(comboGrades->count() - 1 == comboGrades->currentIndex())
+    {
+        // ensure the levels below/above the current level are
+        // less/greater than the current level
+
+        for(uint l = level; l < SLOPE_LEVELS - 1; l++)
+        {
+            int val = slopeSpins[l]->value();
+            if(slopeSpins[l + 1]->value() <= val)
+            {
+                slopeSpins[l + 1]->setValue(val + 1);
+                demfile->setSlopeStepTableCustomValue(l + 1, val + 1);
+            }
+        }
+        for(uint l = level; l >= 1; l--)
+        {
+            int val = slopeSpins[l]->value();
+            if(slopeSpins[l - 1]->value() >= val)
+            {
+                slopeSpins[l - 1]->setValue(val - 1);
+                demfile->setSlopeStepTableCustomValue(l - 1, val - 1);
+            }
+        }
+    }
+
+    dem->emitSigCanvasUpdate();
+}
+
+void CDemPropSetup::slotGradeIndex(int idx)
+{
+    // enable the spins if the selected entry is `custom`
+    demfile->setSlopeStepTable(idx == IDem::slopePresetCount ? -1 : idx);
+    slotPropertiesChanged();
 }
+
diff --git a/src/dem/CDemPropSetup.h b/src/dem/CDemPropSetup.h
index a18f4b1..6366135 100644
--- a/src/dem/CDemPropSetup.h
+++ b/src/dem/CDemPropSetup.h
@@ -19,6 +19,7 @@
 #ifndef CDEMPROPSETUP_H
 #define CDEMPROPSETUP_H
 
+#define SLOPE_LEVELS 5
 
 #include "dem/IDemProp.h"
 #include "ui_IDemPropSetup.h"
@@ -40,11 +41,17 @@ private slots:
     void slotScaleChanged(const QPointF& s);
     void slotSetMinScale(bool checked);
     void slotSetMaxScale(bool checked);
-    void slotSetGradeSlopeColor(int val);
+
+    void slotGradeIndex(int idx);
+    void slotSlopeValiddateAfterEdit();
+    void slotSlopeChanged(int val);
 
 private:
+
     void updateScaleLabel();
 
+    CTinySpinBox* slopeSpins[SLOPE_LEVELS];
+
     static QPointF scale;
 };
 
diff --git a/src/dem/CDemVRT.cpp b/src/dem/CDemVRT.cpp
index 19de2b2..65a79cb 100644
--- a/src/dem/CDemVRT.cpp
+++ b/src/dem/CDemVRT.cpp
@@ -34,7 +34,6 @@
 CDemVRT::CDemVRT(const QString &filename, CDemDraw *parent)
     : IDem(parent)
     , filename(filename)
-    , hasOverviews(false)
 {
     qDebug() << "------------------------------";
     qDebug() << "VRT: try to open" << filename;
diff --git a/src/dem/CDemVRT.h b/src/dem/CDemVRT.h
index 9b85c22..9abfbe5 100644
--- a/src/dem/CDemVRT.h
+++ b/src/dem/CDemVRT.h
@@ -53,7 +53,7 @@ private:
     QTransform trFwd;
     QTransform trInv;
 
-    bool hasOverviews;
+    bool hasOverviews = false;
 
     QRectF boundingBox;
 };
diff --git a/src/dem/IDem.cpp b/src/dem/IDem.cpp
index 834cb04..b940bbb 100644
--- a/src/dem/IDem.cpp
+++ b/src/dem/IDem.cpp
@@ -41,26 +41,22 @@ inline void fillWindow(QVector<qint16>& data, int x, int y, int dx, qint16 * w)
     w[8] = getValue(data, x + 1, y + 1, dx);
 }
 
-const qreal IDem::tblGrade[5][6] =
+const struct SlopePresets IDem::slopePresets[7]
 {
-    {0,0,0,0,0,0}
-    ,{0.0,27.0,31.0,34.0,39.0,50.0}
-    ,{0.0,27.0,30.0,32.0,35.0,39.0}
-    ,{0.0,27.0,29.0,30.0,31.0,34.0}
-    ,{0.0,23.0,25.0,27.0,28.0,30.0}
+    /* http://www.alpenverein.de/bergsport/sicherheit/skitouren-schneeschuh-sicher-im-schnee/dav-snowcard_aid_10619.html */
+    { "Grade 1 (DAV Snowcard)", {27.0, 31.0, 34.0, 39.0, 50.0}},
+    { "Grade 2 (DAV Snowcard)", {27.0, 30.0, 32.0, 35.0, 39.0}},
+    { "Grade 3 (DAV Snowcard)", {27.0, 29.0, 30.0, 31.0, 34.0}},
+    { "Grade 4 (DAV Snowcard)", {23.0, 25.0, 27.0, 28.0, 30.0}},
+
+    { "level country",        { 3.0,  6.0,  8.0, 12.0, 15.0}},
+    { "secondary mountain",   { 4.0,  7.0, 10.0, 15.0, 20.0}},
+    { "lofty mountain",       {10.0, 15.0, 20.0, 30.0, 50.0}}
 };
 
 IDem::IDem(CDemDraw *parent)
     : IDrawObject(parent)
     , dem(parent)
-    , pjsrc(0)
-    , isActivated(false)
-    , hasNoData(0)
-    , noData(0)
-    , bHillshading(false)
-    , factorHillshading(1.0)
-    , bSlopeColor(false)
-    , gradeSlopeColor(1)
 {
     slotSetOpacity(50);
     pjtar = pj_init_plus("+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs");
@@ -90,23 +86,34 @@ void IDem::saveConfig(QSettings& cfg)
 {
     IDrawObject::saveConfig(cfg);
 
-    cfg.setValue("doHillshading",bHillshading);
+    cfg.setValue("doHillshading",     bHillshading);
     cfg.setValue("factorHillshading", factorHillshading);
-    cfg.setValue("doSlopeColor",bSlopeColor);
-    cfg.setValue("gradeSlopeColor", gradeSlopeColor);
+    cfg.setValue("doSlopeColor",      bSlopeColor);
+
+    cfg.setValue("gradeSlopeColor",   gradeSlopeColor);
+    cfg.setValue("slopeCustomValue0", slopeCustomStepTable[0]);
+    cfg.setValue("slopeCustomValue1", slopeCustomStepTable[1]);
+    cfg.setValue("slopeCustomValue2", slopeCustomStepTable[2]);
+    cfg.setValue("slopeCustomValue3", slopeCustomStepTable[3]);
+    cfg.setValue("slopeCustomValue4", slopeCustomStepTable[4]);
 }
 
 void IDem::loadConfig(QSettings& cfg)
 {
     IDrawObject::loadConfig(cfg);
 
-    bHillshading = cfg.value("doHillshading",bHillshading).toBool();
+    bHillshading      = cfg.value("doHillshading",     bHillshading     ).toBool();
     factorHillshading = cfg.value("factorHillshading", factorHillshading).toFloat();
-    bSlopeColor = cfg.value("doSlopeColor", bSlopeColor).toBool();
-    gradeSlopeColor = cfg.value("gradeSlopeColor", gradeSlopeColor).toInt();
+    bSlopeColor       = cfg.value("doSlopeColor",      bSlopeColor      ).toBool();
+    gradeSlopeColor   = cfg.value("gradeSlopeColor",   gradeSlopeColor  ).toInt();
+
+    slopeCustomStepTable[0] = cfg.value("slopeCustomValue0",  5.).toFloat();
+    slopeCustomStepTable[1] = cfg.value("slopeCustomValue1", 10.).toFloat();
+    slopeCustomStepTable[2] = cfg.value("slopeCustomValue2", 15.).toFloat();
+    slopeCustomStepTable[3] = cfg.value("slopeCustomValue3", 20.).toFloat();
+    slopeCustomStepTable[4] = cfg.value("slopeCustomValue4", 25.).toFloat();
 }
 
-
 IDemProp * IDem::getSetup()
 {
     if(setup.isNull())
@@ -133,10 +140,27 @@ void IDem::slotSetFactorHillshade(int f)
     }
 }
 
-void IDem::slotSetGradeSlopeColor(int g)
+void IDem::setSlopeStepTableCustomValue(int idx, int val)
+{
+    slopeCustomStepTable[idx] = (qreal) val;
+}
+
+void IDem::setSlopeStepTable(int idx)
 {
-    /// @todo check range
-    gradeSlopeColor = g;
+    gradeSlopeColor = idx;
+    dem->emitSigCanvasUpdate();
+}
+
+const qreal* IDem::getCurrentSlopeStepTable()
+{
+    if(CUSTOM_SLOPE_COLORTABLE == gradeSlopeColor)
+    {
+        return slopeCustomStepTable;
+    }
+    else
+    {
+        return slopePresets[gradeSlopeColor].steps;
+    }
 }
 
 int IDem::getFactorHillshading()
@@ -214,23 +238,25 @@ void IDem::slopecolor(QVector<qint16>& data, qreal w, qreal h, QImage &img)
             k   = (dx * dx + dy * dy);
             slope =  qAtan(qSqrt(k) / (8 * 1.0)) * 180.0 / M_PI;
 
-            if(slope > tblGrade[gradeSlopeColor][5])
+            const qreal *currentSlopeStepTable = getCurrentSlopeStepTable();
+
+            if(slope > currentSlopeStepTable[4])
             {
                 img.setPixel(n - 1, m - 1, 5);
             }
-            else if(slope > tblGrade[gradeSlopeColor][4])
+            else if(slope > currentSlopeStepTable[3])
             {
                 img.setPixel(n - 1, m - 1, 4);
             }
-            else if(slope > tblGrade[gradeSlopeColor][3])
+            else if(slope > currentSlopeStepTable[2])
             {
                 img.setPixel(n - 1, m - 1, 3);
             }
-            else if(slope > tblGrade[gradeSlopeColor][2])
+            else if(slope > currentSlopeStepTable[1])
             {
                 img.setPixel(n - 1, m - 1, 2);
             }
-            else if(slope > tblGrade[gradeSlopeColor][1])
+            else if(slope > currentSlopeStepTable[0])
             {
                 img.setPixel(n - 1, m - 1, 1);
             }
diff --git a/src/dem/IDem.h b/src/dem/IDem.h
index ac62cc5..2b33536 100644
--- a/src/dem/IDem.h
+++ b/src/dem/IDem.h
@@ -24,10 +24,17 @@
 #include <QPointer>
 #include <proj_api.h>
 
+#define CUSTOM_SLOPE_COLORTABLE ( -1 )
+
 class CDemDraw;
 class IDemProp;
 class QSettings;
 
+struct SlopePresets
+{
+    const char  *name;
+    const qreal steps[5];
+};
 
 class IDem : public IDrawObject
 {
@@ -71,18 +78,23 @@ public:
         return bSlopeColor;
     }
 
-    int getGradeSlopeColor()
+    const QVector<QRgb> getSlopeColorTable()
     {
-        return gradeSlopeColor;
+        return slopetable;
     }
 
+    static const struct SlopePresets slopePresets[7];
+    static const size_t slopePresetCount = sizeof(IDem::slopePresets) / sizeof(IDem::slopePresets[0]);
 
-    const QVector<QRgb> getSlopeColorTable()
+    const qreal* getCurrentSlopeStepTable();
+
+    int getSlopeStepTableIndex()
     {
-        return slopetable;
+        return gradeSlopeColor;
     }
 
-    static const qreal tblGrade[5][6];
+    void setSlopeStepTable(int idx);
+    void setSlopeStepTableCustomValue(int idx, int val);
 
 public slots:
     void slotSetHillshading(bool yes)
@@ -97,8 +109,6 @@ public slots:
         bSlopeColor = yes;
     }
 
-    void slotSetGradeSlopeColor(int g);
-
 protected:
 
     void hillshading(QVector<qint16>& data, qreal w, qreal h, QImage &img);
@@ -120,29 +130,28 @@ protected:
         Has to be set by subclass. Destruction has to be
         handled by subclass.
      */
-    projPJ pjsrc;
+    projPJ pjsrc = 0;
     /// target projection
     /**
         Is set by IMap() to WGS84. Will be freed by ~IMap()
      */
-    projPJ pjtar;
+    projPJ pjtar = 0;
 
     /// width in number of px
-    quint32 xsize_px;
+    quint32 xsize_px = 0;
     /// height in number of px
-    quint32 ysize_px;
+    quint32 ysize_px = 0;
 
     /// scale [px/m]
-    qreal xscale;
+    qreal xscale = 1.0;
     /// scale [px/m]
-    qreal yscale;
-
+    qreal yscale = 1.0;
 
 
     /**
        @brief True if map was loaded successfully
      */
-    bool isActivated;
+    bool isActivated = false;
 
     /// the setup dialog. Use getSetup() for access
     QPointer<IDemProp> setup;
@@ -151,18 +160,17 @@ protected:
 
     QVector<QRgb> slopetable;
 
-    int hasNoData;
+    int hasNoData = 0;
 
-    double noData;
+    double noData = 0;
 
 private:
-    bool bHillshading;
-
-    qreal factorHillshading;
-
-    bool bSlopeColor;
+    bool bHillshading = false;
+    qreal factorHillshading = 1.0;
 
-    int gradeSlopeColor;
+    bool bSlopeColor = false;
+    int gradeSlopeColor = 0;
+    qreal slopeCustomStepTable[5];
 };
 
 #endif //IDEM_H
diff --git a/src/dem/IDemPathSetup.ui b/src/dem/IDemPathSetup.ui
index 8eb030a..89fbcf1 100644
--- a/src/dem/IDemPathSetup.ui
+++ b/src/dem/IDemPathSetup.ui
@@ -11,7 +11,7 @@
    </rect>
   </property>
   <property name="windowTitle">
-   <string>Setup DEM file pathss</string>
+   <string>Setup DEM file paths</string>
   </property>
   <layout class="QVBoxLayout" name="verticalLayout">
    <item>
diff --git a/src/dem/IDemPropSetup.ui b/src/dem/IDemPropSetup.ui
index 508981a..38699ea 100644
--- a/src/dem/IDemPropSetup.ui
+++ b/src/dem/IDemPropSetup.ui
@@ -7,7 +7,7 @@
     <x>0</x>
     <y>0</y>
     <width>400</width>
-    <height>196</height>
+    <height>163</height>
    </rect>
   </property>
   <property name="windowTitle">
@@ -146,18 +146,9 @@
       </widget>
      </item>
      <item row="1" column="1">
-      <widget class="QSlider" name="sliderSlopeColor">
-       <property name="minimum">
-        <number>1</number>
-       </property>
-       <property name="maximum">
-        <number>4</number>
-       </property>
-       <property name="pageStep">
-        <number>1</number>
-       </property>
-       <property name="orientation">
-        <enum>Qt::Horizontal</enum>
+      <widget class="QComboBox" name="comboGrades">
+       <property name="insertPolicy">
+        <enum>QComboBox::NoInsert</enum>
        </property>
       </widget>
      </item>
@@ -168,43 +159,77 @@
      <property name="spacing">
       <number>3</number>
      </property>
-     <item row="2" column="0">
-      <widget class="QLabel" name="labelColor4">
+     <item row="0" column="1">
+      <widget class="CTinySpinBox" name="spinSlope4">
        <property name="sizePolicy">
-        <sizepolicy hsizetype="Maximum" vsizetype="Preferred">
+        <sizepolicy hsizetype="Minimum" vsizetype="Minimum">
          <horstretch>0</horstretch>
          <verstretch>0</verstretch>
         </sizepolicy>
        </property>
-       <property name="minimumSize">
+       <property name="maximumSize">
         <size>
-         <width>20</width>
-         <height>10</height>
+         <width>16777215</width>
+         <height>20</height>
         </size>
        </property>
-       <property name="text">
-        <string>TextLabel</string>
-       </property>
-      </widget>
-     </item>
-     <item row="2" column="1">
-      <widget class="QLabel" name="labelValue4">
-       <property name="text">
-        <string>TextLabel</string>
-       </property>
-      </widget>
-     </item>
-     <item row="4" column="1">
-      <widget class="QLabel" name="labelValue3">
-       <property name="text">
-        <string>TextLabel</string>
+       <property name="palette">
+        <palette>
+         <active>
+          <colorrole role="Base">
+           <brush brushstyle="SolidPattern">
+            <color alpha="0">
+             <red>255</red>
+             <green>255</green>
+             <blue>255</blue>
+            </color>
+           </brush>
+          </colorrole>
+         </active>
+         <inactive>
+          <colorrole role="Base">
+           <brush brushstyle="SolidPattern">
+            <color alpha="0">
+             <red>255</red>
+             <green>255</green>
+             <blue>255</blue>
+            </color>
+           </brush>
+          </colorrole>
+         </inactive>
+         <disabled>
+          <colorrole role="Base">
+           <brush brushstyle="SolidPattern">
+            <color alpha="255">
+             <red>239</red>
+             <green>235</green>
+             <blue>231</blue>
+            </color>
+           </brush>
+          </colorrole>
+         </disabled>
+        </palette>
+       </property>
+       <property name="wrapping">
+        <bool>false</bool>
+       </property>
+       <property name="frame">
+        <bool>false</bool>
+       </property>
+       <property name="buttonSymbols">
+        <enum>QAbstractSpinBox::NoButtons</enum>
+       </property>
+       <property name="accelerated">
+        <bool>false</bool>
+       </property>
+       <property name="suffix">
+        <string>°</string>
+       </property>
+       <property name="prefix">
+        <string>> </string>
        </property>
-      </widget>
-     </item>
-     <item row="0" column="1">
-      <widget class="QLabel" name="labelValue5">
-       <property name="text">
-        <string>TextLabel</string>
+       <property name="minimum">
+        <number>4</number>
        </property>
       </widget>
      </item>
@@ -227,8 +252,8 @@
        </property>
       </widget>
      </item>
-     <item row="4" column="0">
-      <widget class="QLabel" name="labelColor3">
+     <item row="0" column="2">
+      <widget class="QLabel" name="labelColor4">
        <property name="sizePolicy">
         <sizepolicy hsizetype="Maximum" vsizetype="Preferred">
          <horstretch>0</horstretch>
@@ -246,7 +271,72 @@
        </property>
       </widget>
      </item>
-     <item row="0" column="2">
+     <item row="0" column="3">
+      <widget class="CTinySpinBox" name="spinSlope3">
+       <property name="maximumSize">
+        <size>
+         <width>16777215</width>
+         <height>20</height>
+        </size>
+       </property>
+       <property name="palette">
+        <palette>
+         <active>
+          <colorrole role="Base">
+           <brush brushstyle="SolidPattern">
+            <color alpha="0">
+             <red>255</red>
+             <green>255</green>
+             <blue>255</blue>
+            </color>
+           </brush>
+          </colorrole>
+         </active>
+         <inactive>
+          <colorrole role="Base">
+           <brush brushstyle="SolidPattern">
+            <color alpha="0">
+             <red>255</red>
+             <green>255</green>
+             <blue>255</blue>
+            </color>
+           </brush>
+          </colorrole>
+         </inactive>
+         <disabled>
+          <colorrole role="Base">
+           <brush brushstyle="SolidPattern">
+            <color alpha="255">
+             <red>239</red>
+             <green>235</green>
+             <blue>231</blue>
+            </color>
+           </brush>
+          </colorrole>
+         </disabled>
+        </palette>
+       </property>
+       <property name="frame">
+        <bool>false</bool>
+       </property>
+       <property name="buttonSymbols">
+        <enum>QAbstractSpinBox::NoButtons</enum>
+       </property>
+       <property name="suffix">
+        <string>°</string>
+       </property>
+       <property name="prefix">
+        <string>> </string>
+       </property>
+       <property name="minimum">
+        <number>3</number>
+       </property>
+       <property name="maximum">
+        <number>98</number>
+       </property>
+      </widget>
+     </item>
+     <item row="2" column="0">
       <widget class="QLabel" name="labelColor2">
        <property name="sizePolicy">
         <sizepolicy hsizetype="Maximum" vsizetype="Preferred">
@@ -265,20 +355,155 @@
        </property>
       </widget>
      </item>
-     <item row="0" column="3">
-      <widget class="QLabel" name="labelValue2">
-       <property name="text">
-        <string>TextLabel</string>
+     <item row="2" column="1">
+      <widget class="CTinySpinBox" name="spinSlope1">
+       <property name="maximumSize">
+        <size>
+         <width>16777215</width>
+         <height>20</height>
+        </size>
+       </property>
+       <property name="palette">
+        <palette>
+         <active>
+          <colorrole role="Base">
+           <brush brushstyle="SolidPattern">
+            <color alpha="0">
+             <red>255</red>
+             <green>255</green>
+             <blue>255</blue>
+            </color>
+           </brush>
+          </colorrole>
+         </active>
+         <inactive>
+          <colorrole role="Base">
+           <brush brushstyle="SolidPattern">
+            <color alpha="0">
+             <red>255</red>
+             <green>255</green>
+             <blue>255</blue>
+            </color>
+           </brush>
+          </colorrole>
+         </inactive>
+         <disabled>
+          <colorrole role="Base">
+           <brush brushstyle="SolidPattern">
+            <color alpha="255">
+             <red>239</red>
+             <green>235</green>
+             <blue>231</blue>
+            </color>
+           </brush>
+          </colorrole>
+         </disabled>
+        </palette>
+       </property>
+       <property name="frame">
+        <bool>false</bool>
+       </property>
+       <property name="buttonSymbols">
+        <enum>QAbstractSpinBox::NoButtons</enum>
+       </property>
+       <property name="suffix">
+        <string>°</string>
+       </property>
+       <property name="prefix">
+        <string>> </string>
+       </property>
+       <property name="minimum">
+        <number>1</number>
+       </property>
+       <property name="maximum">
+        <number>96</number>
        </property>
       </widget>
      </item>
-     <item row="2" column="3">
-      <widget class="QLabel" name="labelValue1">
+     <item row="0" column="4">
+      <widget class="QLabel" name="labelColor3">
+       <property name="sizePolicy">
+        <sizepolicy hsizetype="Maximum" vsizetype="Preferred">
+         <horstretch>0</horstretch>
+         <verstretch>0</verstretch>
+        </sizepolicy>
+       </property>
+       <property name="minimumSize">
+        <size>
+         <width>20</width>
+         <height>10</height>
+        </size>
+       </property>
        <property name="text">
         <string>TextLabel</string>
        </property>
       </widget>
      </item>
+     <item row="0" column="5">
+      <widget class="CTinySpinBox" name="spinSlope2">
+       <property name="maximumSize">
+        <size>
+         <width>16777215</width>
+         <height>20</height>
+        </size>
+       </property>
+       <property name="palette">
+        <palette>
+         <active>
+          <colorrole role="Base">
+           <brush brushstyle="SolidPattern">
+            <color alpha="0">
+             <red>255</red>
+             <green>255</green>
+             <blue>255</blue>
+            </color>
+           </brush>
+          </colorrole>
+         </active>
+         <inactive>
+          <colorrole role="Base">
+           <brush brushstyle="SolidPattern">
+            <color alpha="0">
+             <red>255</red>
+             <green>255</green>
+             <blue>255</blue>
+            </color>
+           </brush>
+          </colorrole>
+         </inactive>
+         <disabled>
+          <colorrole role="Base">
+           <brush brushstyle="SolidPattern">
+            <color alpha="255">
+             <red>239</red>
+             <green>235</green>
+             <blue>231</blue>
+            </color>
+           </brush>
+          </colorrole>
+         </disabled>
+        </palette>
+       </property>
+       <property name="frame">
+        <bool>false</bool>
+       </property>
+       <property name="buttonSymbols">
+        <enum>QAbstractSpinBox::NoButtons</enum>
+       </property>
+       <property name="suffix">
+        <string>°</string>
+       </property>
+       <property name="prefix">
+        <string>> </string>
+       </property>
+       <property name="minimum">
+        <number>2</number>
+       </property>
+       <property name="maximum">
+        <number>97</number>
+       </property>
+      </widget>
+     </item>
      <item row="2" column="2">
       <widget class="QLabel" name="labelColor1">
        <property name="sizePolicy">
@@ -298,10 +523,65 @@
        </property>
       </widget>
      </item>
-     <item row="4" column="2" colspan="2">
-      <widget class="QLabel" name="labelGrade">
-       <property name="text">
-        <string>TextLabel</string>
+     <item row="2" column="3">
+      <widget class="CTinySpinBox" name="spinSlope0">
+       <property name="maximumSize">
+        <size>
+         <width>16777215</width>
+         <height>20</height>
+        </size>
+       </property>
+       <property name="palette">
+        <palette>
+         <active>
+          <colorrole role="Base">
+           <brush brushstyle="SolidPattern">
+            <color alpha="0">
+             <red>255</red>
+             <green>255</green>
+             <blue>255</blue>
+            </color>
+           </brush>
+          </colorrole>
+         </active>
+         <inactive>
+          <colorrole role="Base">
+           <brush brushstyle="SolidPattern">
+            <color alpha="0">
+             <red>255</red>
+             <green>255</green>
+             <blue>255</blue>
+            </color>
+           </brush>
+          </colorrole>
+         </inactive>
+         <disabled>
+          <colorrole role="Base">
+           <brush brushstyle="SolidPattern">
+            <color alpha="255">
+             <red>239</red>
+             <green>235</green>
+             <blue>231</blue>
+            </color>
+           </brush>
+          </colorrole>
+         </disabled>
+        </palette>
+       </property>
+       <property name="frame">
+        <bool>false</bool>
+       </property>
+       <property name="buttonSymbols">
+        <enum>QAbstractSpinBox::NoButtons</enum>
+       </property>
+       <property name="suffix">
+        <string>°</string>
+       </property>
+       <property name="prefix">
+        <string>> </string>
+       </property>
+       <property name="maximum">
+        <number>95</number>
        </property>
       </widget>
      </item>
@@ -309,6 +589,13 @@
    </item>
   </layout>
  </widget>
+ <customwidgets>
+  <customwidget>
+   <class>CTinySpinBox</class>
+   <extends>QSpinBox</extends>
+   <header>widgets/CTinySpinBox.h</header>
+  </customwidget>
+ </customwidgets>
  <resources>
   <include location="../resources.qrc"/>
  </resources>
diff --git a/src/device/CDeviceGarmin.cpp b/src/device/CDeviceGarmin.cpp
index 937c07d..ece5bd2 100644
--- a/src/device/CDeviceGarmin.cpp
+++ b/src/device/CDeviceGarmin.cpp
@@ -26,9 +26,6 @@
 
 CDeviceGarmin::CDeviceGarmin(const QString &path, const QString &key, const QString &model, QTreeWidget *parent)
     : IDevice(path, key, parent)
-    , pathGpx("Garmin/GPX")
-    , pathPictures("Garmin/JPEG")
-    , pathSpoilers("Garmin/GeocachePhotos")
     , cntImages(0)
 {
     setText(CGisListWks::eColumnName, "Garmin");
diff --git a/src/device/CDeviceGarmin.h b/src/device/CDeviceGarmin.h
index 73d2c53..470d2f0 100644
--- a/src/device/CDeviceGarmin.h
+++ b/src/device/CDeviceGarmin.h
@@ -40,11 +40,11 @@ private:
     QString id;
     QString partno;
     QString description;
-    QString pathGpx;
-    QString pathPictures;
-    QString pathSpoilers;
+    QString pathGpx = "Garmin/GPX";
+    QString pathPictures = "Garmin/JPEG";
+    QString pathSpoilers = "Garmin/GeocachePhotos";
 
-    int cntImages;
+    int cntImages = 0;
 };
 
 #endif //CDEVICEGARMIN_H
diff --git a/src/device/IDeviceWatcher.h b/src/device/IDeviceWatcher.h
index 5816286..e2f0a4b 100644
--- a/src/device/IDeviceWatcher.h
+++ b/src/device/IDeviceWatcher.h
@@ -39,7 +39,7 @@ private slots:
     /**
        @brief Find all devices already connected
 
-       This slot is called only once at startup. All pathes to plug-n-play memory have
+       This slot is called only once at startup. All paths to plug-n-play memory have
        to be passed to probeForDevice().
 
      */
@@ -51,7 +51,7 @@ protected:
 
        @param mountPoint    This is the mount point in a Linux sense (e.g. "/run/media/GARMIN"). For Windows this will be the drive letter (e.g. "d:\")
        @param path          This is the device path in a Linux sense (e.g. "/org/freedesktop/UDisks2/block_devices/sdc1") For Windows this will be the drive letter, too (e.g. "d:\")
-       @param label         A name for the device. In Linux the last part of the mount point is used. In Windos it should be the name of the drive.
+       @param label         A name for the device. In Linux the last part of the mount point is used. In Windows it should be the name of the drive.
      */
     void probeForDevice(const QString &mountPoint, const QString& path, const QString &label);
 
diff --git a/src/gis/CGisListDB.cpp b/src/gis/CGisListDB.cpp
index 0a5afaa..5ecbc4e 100644
--- a/src/gis/CGisListDB.cpp
+++ b/src/gis/CGisListDB.cpp
@@ -60,7 +60,6 @@ private:
 
 CGisListDB::CGisListDB(QWidget *parent)
     : QTreeWidget(parent)
-    , isInternalEdit(0)
 {
     SETTINGS;
     QStringList names = cfg.value("Database/names").toStringList();
@@ -279,7 +278,7 @@ void CGisListDB::slotDelDatabase()
         return;
     }
 
-    int res = QMessageBox::question(this, tr("Remove database..."), tr("Do you realy want to remove '%1' from the list?").arg(folder->text(CGisListDB::eColumnName)), QMessageBox::Ok|QMessageBox::Abort, QMessageBox::Ok);
+    int res = QMessageBox::question(this, tr("Remove database..."), tr("Do you really want to remove '%1' from the list?").arg(folder->text(CGisListDB::eColumnName)), QMessageBox::Ok|QMessageBox::Abort, QMessageBox::Ok);
     if(res != QMessageBox::Ok)
     {
         return;
diff --git a/src/gis/CGisListDB.h b/src/gis/CGisListDB.h
index 870f381..da99f75 100644
--- a/src/gis/CGisListDB.h
+++ b/src/gis/CGisListDB.h
@@ -65,7 +65,7 @@ private:
     CDBFolderDatabase *getDataBase(const QString& name);
     void addDatabase(const QString& name, const QString& filename);
 
-    int isInternalEdit;
+    int isInternalEdit = 0;
 
     QMenu * menuNone;
     QAction * actionAddDatabase;
diff --git a/src/gis/CGisListWks.cpp b/src/gis/CGisListWks.cpp
index f59fa61..6dcbb72 100644
--- a/src/gis/CGisListWks.cpp
+++ b/src/gis/CGisListWks.cpp
@@ -86,10 +86,6 @@ private:
 
 CGisListWks::CGisListWks(QWidget *parent)
     : QTreeWidget(parent)
-    , menuNone(0)
-    , saveOnExit(true)
-    , saveEvery(5)
-    , deviceWatcher(0)
 {
     db = QSqlDatabase::addDatabase("QSQLITE","Workspace1");
     QString config = CAppSetup::getPlattformInstance()->configDir().filePath("workspace.db");
diff --git a/src/gis/CGisListWks.h b/src/gis/CGisListWks.h
index fc4fc5f..a871741 100644
--- a/src/gis/CGisListWks.h
+++ b/src/gis/CGisListWks.h
@@ -147,14 +147,14 @@ private:
     QAction * actionEditArea;
     QAction * actionRteFromWpt;
 
-    QMenu * menuNone;
+    QMenu * menuNone = 0;
 
     QPointer<CSearchGoogle> searchGoogle;
 
-    bool saveOnExit;
-    qint32 saveEvery;
+    bool saveOnExit = true;
+    qint32 saveEvery = 5;
 
-    IDeviceWatcher * deviceWatcher;
+    IDeviceWatcher * deviceWatcher = 0;
 };
 
 #endif //CGISLISTWKS_H
diff --git a/src/gis/IGisItem.cpp b/src/gis/IGisItem.cpp
index a61d5ed..8719f03 100644
--- a/src/gis/IGisItem.cpp
+++ b/src/gis/IGisItem.cpp
@@ -43,29 +43,27 @@ const QString IGisItem::noName = QObject::tr("[no name]");
 
 const IGisItem::color_t IGisItem::colorMap[] =
 {
-    {"Black",       QColor(Qt::black)}
-    ,{"DarkRed",     QColor(Qt::darkRed)}
-    ,{"DarkGreen",   QColor(Qt::darkGreen)}
-    ,{"DarkYellow",  QColor(Qt::darkYellow)}
-    ,{"DarkBlue",    QColor(Qt::darkBlue)}
-    ,{"DarkMagenta", QColor(Qt::darkMagenta)}
-    ,{"DarkCyan",    QColor(Qt::darkCyan)}
-    ,{"Gray",        QColor(Qt::gray)}
-    ,{"DarkGray",    QColor(Qt::darkGray)}
-    ,{"Red",         QColor(Qt::red)}
-    ,{"Green",       QColor(Qt::green)}
-    ,{"Yellow",      QColor(Qt::yellow)}
-    ,{"Blue",        QColor(Qt::blue)}
-    ,{"Magenta",     QColor(Qt::magenta)}
-    ,{"Cyan",        QColor(Qt::cyan)}
-    ,{"White",       QColor(Qt::white)}
-    ,{"Transparent", QColor(Qt::transparent)}
-    ,{0, QColor()}
+    {"Black",        QColor(Qt::black),       QString("://icons/8x8/bullet_black.png")}
+    ,{"DarkRed",     QColor(Qt::darkRed),     QString("://icons/8x8/bullet_dark_red.png")}
+    ,{"DarkGreen",   QColor(Qt::darkGreen),   QString("://icons/8x8/bullet_dark_green.png")}
+    ,{"DarkYellow",  QColor(Qt::darkYellow),  QString("://icons/8x8/bullet_dark_yellow.png")}
+    ,{"DarkBlue",    QColor(Qt::darkBlue),    QString("://icons/8x8/bullet_dark_blue.png")}
+    ,{"DarkMagenta", QColor(Qt::darkMagenta), QString("://icons/8x8/bullet_dark_magenta.png")}
+    ,{"DarkCyan",    QColor(Qt::darkCyan),    QString("://icons/8x8/bullet_dark_cyan.png")}
+    ,{"LightGray",   QColor(Qt::lightGray),   QString("://icons/8x8/bullet_gray.png")}
+    ,{"DarkGray",    QColor(Qt::darkGray),    QString("://icons/8x8/bullet_dark_gray.png")}
+    ,{"Red",         QColor(Qt::red),         QString("://icons/8x8/bullet_red.png")}
+    ,{"Green",       QColor(Qt::green),       QString("://icons/8x8/bullet_green.png")}
+    ,{"Yellow",      QColor(Qt::yellow),      QString("://icons/8x8/bullet_yellow.png")}
+    ,{"Blue",        QColor(Qt::blue),        QString("://icons/8x8/bullet_blue.png")}
+    ,{"Magenta",     QColor(Qt::magenta),     QString("://icons/8x8/bullet_magenta.png")}
+    ,{"Cyan",        QColor(Qt::cyan),        QString("://icons/8x8/bullet_cyan.png")}
+    ,{"White",       QColor(Qt::white),       QString("://icons/8x8/bullet_white.png")}
+    ,{"Transparent", QColor(Qt::transparent), QString("")}
 };
 
 IGisItem::IGisItem(IGisProject *parent, type_e typ, int idx)
     : QTreeWidgetItem(parent, typ)
-    , flags(0)
 {
     int n = -1;
     setFlags(QTreeWidgetItem::flags() & ~Qt::ItemIsDropEnabled);
@@ -190,7 +188,7 @@ void IGisItem::genKey()
 void IGisItem::loadFromDb(quint64 id, QSqlDatabase& db)
 {
     QSqlQuery query(db);
-    query.prepare("SELECT data FROM items WHERE id=:id");
+    query.prepare("SELECT data, key FROM items WHERE id=:id");
     query.bindValue(":id", id);
     QUERY_EXEC(return );
     if(query.next())
@@ -201,6 +199,24 @@ void IGisItem::loadFromDb(quint64 id, QSqlDatabase& db)
         in.setVersion(QDataStream::Qt_5_2);
         in >> history;
         loadHistory(history.histIdxCurrent);
+
+        if(key.item.isEmpty())
+        {
+            QString keyFromDB = query.value(1).toString();
+            /*[Issue #72] Database/Workspace inconsisteny in QMS 1.4.0
+
+               The root cause is a missing key in the serialized data. This is fixed by calling getKey() in setupHistory().
+
+               As the database has a valid key the complete history data has to be fixed with that key.
+             */
+            const int N = history.events.size();
+            for(int i = 0; i < N; i++)
+            {
+                loadHistory(i);
+                key.item = keyFromDB;
+                updateHistory();
+            }
+        }
     }
 }
 
@@ -316,6 +332,7 @@ void IGisItem::updateHistory()
 
 void IGisItem::setupHistory()
 {
+    getKey();
     history.histIdxInitial = NOIDX;
     history.histIdxCurrent = NOIDX;
 
@@ -433,7 +450,7 @@ bool IGisItem::setReadOnlyMode(bool readOnly)
         if(isReadOnly() && !readOnly)
         {
             CCanvas::setOverrideCursor(Qt::ArrowCursor, "setReadOnlyMode");
-            QString str = QObject::tr("<h3>%1</h3> This element is probably read-only because it was not created within QMapShack. Usually you should not want to change imported data. But if you think that is ok press'Ok'.").arg(getName());
+            QString str = QObject::tr("<h3>%1</h3> This element is probably read-only because it was not created within QMapShack. Usually you should not want to change imported data. But if you think that is ok press 'Ok'.").arg(getName());
             int res = QMessageBox::warning(CMainWindow::getBestWidgetForParent(), QObject::tr("Read Only Mode..."), str, QMessageBox::Ok|QMessageBox::Abort, QMessageBox::Ok);
             CCanvas::restoreOverrideCursor("setReadOnlyMode");
             if(res != QMessageBox::Ok)
@@ -478,14 +495,12 @@ const QString& IGisItem::getHash()
 
 QColor IGisItem::str2color(const QString& name)
 {
-    const color_t * p = colorMap;
-    while(p->name)
+    for(size_t i = 0; i < sizeof(colorMap) / sizeof(color_t); i++)
     {
-        if(QString(p->name).toUpper() == name.toUpper())
+        if(QString(colorMap[i].name).toUpper() == name.toUpper())
         {
-            return p->color;
+            return colorMap[i].color;
         }
-        p++;
     }
 
     return QColor(name);
@@ -493,14 +508,12 @@ QColor IGisItem::str2color(const QString& name)
 
 QString IGisItem::color2str(const QColor& color)
 {
-    const color_t * p = colorMap;
-    while(p->name)
+    for(size_t i = 0; i < sizeof(colorMap) / sizeof(color_t); i++)
     {
-        if(p->color == color)
+        if(colorMap[i].color == color)
         {
-            return p->name;
+            return colorMap[i].name;
         }
-        p++;
     }
 
     return "";
@@ -708,3 +721,7 @@ bool IGisItem::isVisible(const QPointF& point, const QPolygonF& viewport, CGisDr
     return tmp2.boundingRect().contains(pt);
 }
 
+bool IGisItem::isChanged() const
+{
+    return text(CGisListWks::eColumnDecoration) == "*";
+}
diff --git a/src/gis/IGisItem.h b/src/gis/IGisItem.h
index cfab518..6f84712 100644
--- a/src/gis/IGisItem.h
+++ b/src/gis/IGisItem.h
@@ -312,6 +312,12 @@ public:
     bool isOnDevice() const;
 
     /**
+       @brief Check if there are any pending unsaved changes
+       @return True if the are changes to be safed
+     */
+    bool isChanged() const;
+
+    /**
        @brief Set the read only mode.
 
        This is quite dependent on the item. The default implementation will display a
@@ -360,7 +366,7 @@ public:
        @param stream the binary data stream
        @return The stream object.
      */
-    virtual QDataStream& operator>>(QDataStream& stream) = 0;
+    virtual QDataStream& operator>>(QDataStream& stream) const = 0;
 
     /**
        @brief Get read access to history of changes
@@ -373,7 +379,7 @@ public:
     }
 
     /**
-       @brief Load a given state of chnage from the history
+       @brief Load a given state of change from the history
        @param idx
      */
     void loadHistory(int idx);
@@ -432,16 +438,23 @@ public:
 
     const static QString noName;
 
-protected:
-    struct color_t;
+    struct color_t
+    {
+        const char   *name;
+        const QColor color;
+        const QString bullet;
+    };
 
+    static const color_t colorMap[];
+
+protected:
     /// set icon of QTreeWidgetItem
     virtual void setSymbol() = 0;
     /// read waypoint data from an XML snippet
     void readWpt(const QDomNode& xml, wpt_t &wpt);
     /// write waypoint data to an XML snippet
     void writeWpt(QDomElement &xml, const wpt_t &wpt);
-    /// gnerate a unique key from item's data
+    /// generate a unique key from item's data
     virtual void genKey();
     /// setup the history structure right after the creation of the item
     void setupHistory();
@@ -449,7 +462,7 @@ protected:
     void updateHistory();
     /// convert a color string from GPX to a QT color
     QColor str2color(const QString& name);
-    /// convertr a QT color to a string to be used in a GPX file
+    /// convert a QT color to a string to be used in a GPX file
     QString color2str(const QColor &color);
     /// to optimize drawing of large polylines split the line into sections that are visible
     void splitLineToViewport(const QPolygonF& line, const QRectF& extViewport, QList<QPolygonF>& lines);
@@ -461,24 +474,13 @@ protected:
     bool isVisible(const QRectF& rect, const QPolygonF& viewport, CGisDraw * gis);
     bool isVisible(const QPointF& point, const QPolygonF& viewport, CGisDraw * gis);
 
-
-
-    quint32 flags;
+    quint32 flags = 0;
     key_t key;
     QPixmap icon;
     QRectF boundingRect;
 
     history_t history;
 
-
-    static const color_t colorMap[];
-
-    struct color_t
-    {
-        const char * name;
-        QColor color;
-    };
-
     enum flags_e
     {
         eFlagCreatedInQms   = 0x00000001
diff --git a/src/gis/IGisLine.cpp b/src/gis/IGisLine.cpp
index cd2382c..b92f926 100644
--- a/src/gis/IGisLine.cpp
+++ b/src/gis/IGisLine.cpp
@@ -20,14 +20,9 @@
 #include "gis/CGisDraw.h"
 #include "gis/IGisLine.h"
 
-IGisLine::subpt_t::subpt_t()
-    : ele(NOINT)
-{
-}
 
 IGisLine::subpt_t::subpt_t(const QPointF& pt)
     : coord(pt)
-    , ele(NOINT)
 {
 }
 
@@ -81,11 +76,3 @@ void SGisLine::updatePixel(CGisDraw * gis)
     }
 }
 
-IGisLine::IGisLine()
-{
-}
-
-IGisLine::~IGisLine()
-{
-}
-
diff --git a/src/gis/IGisLine.h b/src/gis/IGisLine.h
index ebfdc80..9ffd25c 100644
--- a/src/gis/IGisLine.h
+++ b/src/gis/IGisLine.h
@@ -30,23 +30,21 @@ struct SGisLine;
 class IGisLine
 {
 public:
-    IGisLine();
-    virtual ~IGisLine();
+    IGisLine() = default;
+    virtual ~IGisLine() = default;
 
     struct subpt_t
     {
-        subpt_t();
+        subpt_t() = default;
         subpt_t(const QPointF& pt);
         QPointF coord;
         QPointF pixel;
-        qint32 ele;
+        qint32 ele = NOINT;
     };
 
     struct point_t : public subpt_t
     {
-        point_t()
-        {
-        }
+        point_t() = default;
         point_t(const QPointF &pt);
         void resetElevation();
         QVector<subpt_t> subpts;
diff --git a/src/gis/db/CDBFolderDatabase.h b/src/gis/db/CDBFolderDatabase.h
index f7bb4a0..f47dde9 100644
--- a/src/gis/db/CDBFolderDatabase.h
+++ b/src/gis/db/CDBFolderDatabase.h
@@ -44,7 +44,7 @@ public:
 
 private:
     QString filename;
-    CDBFolderLostFound * folderLostFound;
+    CDBFolderLostFound * folderLostFound = 0;
 };
 
 #endif //CDBFOLDERDATABASE_H
diff --git a/src/gis/db/CDBProject.cpp b/src/gis/db/CDBProject.cpp
index c1a51e3..0df0c95 100644
--- a/src/gis/db/CDBProject.cpp
+++ b/src/gis/db/CDBProject.cpp
@@ -127,6 +127,8 @@ void CDBProject::postStatus()
 {
     CEvtW2DAckInfo * info = new CEvtW2DAckInfo(true, getId(), db.connectionName());
 
+    bool changedItems = false;
+
     const int N = childCount();
     for(int n = 0; n < N; n++)
     {
@@ -134,10 +136,15 @@ void CDBProject::postStatus()
         if(item)
         {
             info->keysChildren << item->getKey().item;
+            changedItems |= item->isChanged();
         }
     }
 
     updateItems();
+    if(!changedItems)
+    {
+        setText(CGisListWks::eColumnDecoration,"");
+    }
 
     CGisWidget::self().postEventForDb(info);
 }
@@ -147,8 +154,8 @@ bool CDBProject::saveAs()
     SETTINGS;
     QString path = cfg.value("Paths/lastGisPath", QDir::homePath()).toString();
 
-    QString filter = "*.qms";
-    QString fn = QFileDialog::getSaveFileName(CMainWindow::getBestWidgetForParent(), QObject::tr("Save GIS data to..."), path, "*.gpx;; *.qms", &filter);
+    QString filter = filedialogFilterQMS;
+    QString fn = QFileDialog::getSaveFileName(CMainWindow::getBestWidgetForParent(), QObject::tr("Save GIS data to..."), path, filedialogSaveFilters, &filter);
 
     if(fn.isEmpty())
     {
@@ -156,11 +163,11 @@ bool CDBProject::saveAs()
     }
 
     bool res = false;
-    if(filter == "*.gpx")
+    if(filter == filedialogFilterGPX)
     {
         res = CGpxProject::saveAs(fn, *this);
     }
-    else if(filter == "*.qms")
+    else if(filter == filedialogFilterQMS)
     {
         res = CQmsProject::saveAs(fn, *this);
     }
@@ -269,7 +276,7 @@ bool CDBProject::save()
             }
 
             // skip unchanged items
-            if(item->text(CGisListWks::eColumnDecoration).isEmpty())
+            if(!item->isChanged())
             {
                 info->keysChildren << item->getKey().item;
                 continue;
@@ -427,27 +434,41 @@ void CDBProject::showItems(CEvtD2WShowItems * evt)
 {
     foreach(const evt_item_t &item, evt->items)
     {
+        IGisItem * gisItem = 0;
         switch(item.type)
         {
         case IGisItem::eTypeWpt:
-            new CGisItemWpt(item.id, db, this);
+            gisItem = new CGisItemWpt(item.id, db, this);
             break;
 
         case IGisItem::eTypeTrk:
-            new CGisItemTrk(item.id, db, this);
+            gisItem = new CGisItemTrk(item.id, db, this);
             break;
 
         case IGisItem::eTypeRte:
-            new CGisItemRte(item.id, db, this);
+            gisItem = new CGisItemRte(item.id, db, this);
             break;
 
         case IGisItem::eTypeOvl:
-            new CGisItemOvlArea(item.id, db, this);
+            gisItem = new CGisItemOvlArea(item.id, db, this);
             break;
 
         default:
             ;
         }
+
+        /* [Issue #72] Database/Workspace inconsisteny in QMS 1.4.0
+
+           When an item with no key is loaded it is "healed". The healing
+           will mark it as changed. To avoid this save all items that are
+           marked as changed right after loading from the database.
+
+         */
+        if(gisItem && gisItem->isChanged())
+        {
+            updateItem(gisItem, item.id);
+            gisItem->updateDecoration(IGisItem::eMarkNone, IGisItem::eMarkChanged);
+        }
     }
 
     postStatus();
diff --git a/src/gis/db/CSelectSaveAction.cpp b/src/gis/db/CSelectSaveAction.cpp
index ae4f284..8b6d995 100644
--- a/src/gis/db/CSelectSaveAction.cpp
+++ b/src/gis/db/CSelectSaveAction.cpp
@@ -22,7 +22,6 @@
 
 CSelectSaveAction::CSelectSaveAction(const IGisItem *src, const IGisItem *tar, QWidget *parent)
     : QDialog(parent)
-    , result(eResultNone)
 {
     setupUi(this);
 
diff --git a/src/gis/db/CSelectSaveAction.h b/src/gis/db/CSelectSaveAction.h
index 834fb4e..c6ab479 100644
--- a/src/gis/db/CSelectSaveAction.h
+++ b/src/gis/db/CSelectSaveAction.h
@@ -48,7 +48,7 @@ private slots:
     void slotSelectResult();
 
 private:
-    result_e result;
+    result_e result = eResultNone;
 };
 
 #endif //CSELECTSAVEACTION_H
diff --git a/src/gis/db/CSetupDatabase.cpp b/src/gis/db/CSetupDatabase.cpp
index b286333..05554ff 100644
--- a/src/gis/db/CSetupDatabase.cpp
+++ b/src/gis/db/CSetupDatabase.cpp
@@ -81,7 +81,7 @@ void CSetupDatabase::slotNewDB()
     SETTINGS;
     QString path = cfg.value("Database/lastDatabasePath", QDir::homePath()).toString();
 
-    QString filename = QFileDialog::getSaveFileName(this, tr("New database..."), path, "Database (*.db)");
+    QString filename = QFileDialog::getSaveFileName(this, tr("New database..."), path, "QMapShack Database (*.db)");
     if(filename.isEmpty())
     {
         return;
@@ -106,7 +106,7 @@ void CSetupDatabase::slotOpenDB()
     SETTINGS;
     QString path = cfg.value("Database/lastDatabasePath", QDir::homePath()).toString();
 
-    QString filename = QFileDialog::getOpenFileName(this, tr("Open database..."), path, "Database (*.db)");
+    QString filename = QFileDialog::getOpenFileName(this, tr("Open database..."), path, "QMapShack Database (*.db)");
     if(filename.isEmpty())
     {
         return;
diff --git a/src/gis/gpx/CGpxProject.cpp b/src/gis/gpx/CGpxProject.cpp
index 189abee..6679f1e 100644
--- a/src/gis/gpx/CGpxProject.cpp
+++ b/src/gis/gpx/CGpxProject.cpp
@@ -190,7 +190,6 @@ void CGpxProject::loadGpx(const QString& filename)
         new CGisItemOvlArea(xmlArea, this);
     }
 
-
     setupName(QFileInfo(filename).baseName().replace("_", " "));
     setToolTip(CGisListWks::eColumnName, getInfo());
     valid = true;
@@ -219,21 +218,20 @@ bool CGpxProject::saveAs()
     QString path = cfg.value("Paths/lastGisPath", QDir::homePath()).toString();
     path += "/" + getName() + ".gpx";
 
-    QString filter = "*.gpx";
-    QString fn = QFileDialog::getSaveFileName(CMainWindow::getBestWidgetForParent(), QObject::tr("Save GIS data to..."), path, "*.gpx;; *.qms", &filter);
+    QString filter = filedialogFilterGPX;
+    QString fn = QFileDialog::getSaveFileName(CMainWindow::getBestWidgetForParent(), QObject::tr("Save GIS data to..."), path, filedialogSaveFilters, &filter);
 
     if(fn.isEmpty())
     {
         return false;
     }
 
-
     bool res = false;
-    if(filter == "*.gpx")
+    if(filter == filedialogFilterGPX)
     {
         filename = fn;
         metadata.name.clear();
-        setupName(QFileInfo(filename).baseName().replace("_", " "));
+        setupName(QFileInfo(filename).baseName());
 
         res = saveAs(fn, *this);
         if(res)
@@ -241,7 +239,7 @@ bool CGpxProject::saveAs()
             markAsSaved();
         }
     }
-    else if(filter == "*.qms")
+    else if(filter == filedialogFilterQMS)
     {
         res = CQmsProject::saveAs(fn, *this);
     }
@@ -272,28 +270,18 @@ bool CGpxProject::saveAs(const QString& fn, IGisProject& project)
     if(file.exists())
     {
         file.open(QIODevice::ReadOnly);
-        try
+        bool createdByQMS = false;
+
+        // load file content to xml document
+        QDomDocument xml;
+        if(xml.setContent(&file, false))
         {
-            // load file content to xml document
-            QDomDocument xml;
-            QString msg;
-            int line;
-            int column;
-            if(xml.setContent(&file, false, &msg, &line, &column))
-            {
-                const QDomElement& docElem = xml.documentElement();
-                const QDomNamedNodeMap& attr = docElem.attributes();
-                if(!attr.namedItem("creator").nodeValue().startsWith("QMapShack"))
-                {
-                    throw 0;
-                }
-            }
-            else
-            {
-                throw 0;
-            }
+            const QDomElement& docElem = xml.documentElement();
+            const QDomNamedNodeMap& attr = docElem.attributes();
+            createdByQMS = attr.namedItem("creator").nodeValue().startsWith("QMapShack");
         }
-        catch(int)
+
+        if(!createdByQMS)
         {
             int res = QMessageBox::warning(CMainWindow::getBestWidgetForParent(),QObject::tr("File exists ...")
                                            ,QObject::tr("The file exists and it has not been created by QMapShack. "
@@ -419,7 +407,7 @@ bool CGpxProject::saveAs(const QString& fn, IGisProject& project)
     }
     catch(const QString& msg)
     {
-        QMessageBox::warning(CMainWindow::getBestWidgetForParent(), QObject::tr("Saveing GIS data failed..."), msg, QMessageBox::Abort);
+        QMessageBox::warning(CMainWindow::getBestWidgetForParent(), QObject::tr("Saving GIS data failed..."), msg, QMessageBox::Abort);
         res = false;
     }
     project.umount();
diff --git a/src/gis/gpx/serialization.cpp b/src/gis/gpx/serialization.cpp
index 6534e3e..18f08b7 100644
--- a/src/gis/gpx/serialization.cpp
+++ b/src/gis/gpx/serialization.cpp
@@ -26,108 +26,22 @@
 
 #include <QtXml>
 #include <proj_api.h>
-const QString IGisProject::gpx_ns      = "http://www.topografix.com/GPX/1/1";
-const QString IGisProject::xsi_ns      = "http://www.w3.org/2001/XMLSchema-instance";
-const QString IGisProject::gpxx_ns     = "http://www.garmin.com/xmlschemas/GpxExtensions/v3";
-const QString IGisProject::gpxtpx_ns   = "http://www.garmin.com/xmlschemas/TrackPointExtension/v1";
-const QString IGisProject::wptx1_ns    = "http://www.garmin.com/xmlschemas/WaypointExtension/v1";
-const QString IGisProject::rmc_ns      = "urn:net:trekbuddy:1.0:nmea:rmc";
-const QString IGisProject::ql_ns       = "http://www.qlandkarte.org/xmlschemas/v1.1";
-const QString IGisProject::gs_ns       = "http://www.groundspeak.com/cache/1/0";
-
-static QString unifyColor(const QString& color)
-{
-    if(QColor(color) == Qt::black)
-    {
-        return "Black";
-    }
-    else if(QColor(color) == Qt::darkRed)
-    {
-        return "DarkRed";
-    }
-    else if(QColor(color) == Qt::darkGreen)
-    {
-        return "DarkGreen";
-    }
-    else if(QColor(color) == Qt::darkYellow)
-    {
-        return "DarkYellow";
-    }
-    else if(QColor(color) == Qt::darkBlue)
-    {
-        return "DarkBlue";
-    }
-    else if(QColor(color) == Qt::darkMagenta)
-    {
-        return "DarkMagenta";
-    }
-    else if(QColor(color) == Qt::darkCyan)
-    {
-        return "DarkCyan";
-    }
-    else if(QColor(color) == Qt::gray)
-    {
-        return "Gray";
-    }
-    else if(QColor(color) == Qt::darkGray)
-    {
-        return "DarkGray";
-    }
-    else if(QColor(color) == Qt::red)
-    {
-        return "Red";
-    }
-    else if(QColor(color) == Qt::green)
-    {
-        return "Green";
-    }
-    else if(QColor(color) == Qt::yellow)
-    {
-        return "Yellow";
-    }
-    else if(QColor(color) == Qt::blue)
-    {
-        return "Blue";
-    }
-    else if(QColor(color) == Qt::magenta)
-    {
-        return "Magenta";
-    }
-    else if(QColor(color) == Qt::cyan)
-    {
-        return "Cyan";
-    }
-    else if(QColor(color) == Qt::white)
-    {
-        return "White";
-    }
 
-
-    return "Blue";
-}
-
-
-static void readXml(const QDomNode& xml, const QString& tag, bool& value)
-{
-    if(xml.namedItem(tag).isElement())
-    {
-        bool tmp;
-        bool ok = false;
-        tmp = xml.namedItem(tag).toElement().text().toInt(&ok);
-        if(ok)
-        {
-            value = tmp;
-        }
-    }
-}
+const QString IGisProject::gpx_ns    = "http://www.topografix.com/GPX/1/1";
+const QString IGisProject::xsi_ns    = "http://www.w3.org/2001/XMLSchema-instance";
+const QString IGisProject::gpxx_ns   = "http://www.garmin.com/xmlschemas/GpxExtensions/v3";
+const QString IGisProject::gpxtpx_ns = "http://www.garmin.com/xmlschemas/TrackPointExtension/v1";
+const QString IGisProject::wptx1_ns  = "http://www.garmin.com/xmlschemas/WaypointExtension/v1";
+const QString IGisProject::rmc_ns    = "urn:net:trekbuddy:1.0:nmea:rmc";
+const QString IGisProject::ql_ns     = "http://www.qlandkarte.org/xmlschemas/v1.1";
+const QString IGisProject::gs_ns     = "http://www.groundspeak.com/cache/1/0";
 
 static void readXml(const QDomNode& xml, const QString& tag, qint32& value)
 {
     if(xml.namedItem(tag).isElement())
     {
-        qint32 tmp;
         bool ok = false;
-        tmp = xml.namedItem(tag).toElement().text().toInt(&ok);
+        qint32 tmp = xml.namedItem(tag).toElement().text().toInt(&ok);
         if(!ok)
         {
             tmp = qRound(xml.namedItem(tag).toElement().text().toDouble(&ok));
@@ -139,41 +53,31 @@ static void readXml(const QDomNode& xml, const QString& tag, qint32& value)
     }
 }
 
-static void readXml(const QDomNode& xml, const QString& tag, quint32& value)
+template<typename T>
+static void readXml(const QDomNode& xml, const QString& tag, T& value)
 {
     if(xml.namedItem(tag).isElement())
     {
-        quint32 tmp;
         bool ok = false;
-        tmp = xml.namedItem(tag).toElement().text().toUInt(&ok);
-        if(ok)
+        T tmp;
+
+        if(std::is_same<T, quint32>::value)
         {
-            value = tmp;
+            tmp = xml.namedItem(tag).toElement().text().toUInt(&ok);
         }
-    }
-}
-
-static void readXml(const QDomNode& xml, const QString& tag, quint64& value)
-{
-    if(xml.namedItem(tag).isElement())
-    {
-        quint64 tmp;
-        bool ok = false;
-        tmp = xml.namedItem(tag).toElement().text().toULongLong(&ok);
-        if(ok)
+        else if(std::is_same<T, quint64>::value)
         {
-            value = tmp;
+            tmp = xml.namedItem(tag).toElement().text().toULongLong(&ok);
+        }
+        else if(std::is_same<T,   qreal>::value)
+        {
+            tmp = xml.namedItem(tag).toElement().text().toDouble(&ok);
+        }
+        else if(std::is_same<T,    bool>::value)
+        {
+            tmp = xml.namedItem(tag).toElement().text().toInt(&ok);
         }
-    }
-}
 
-static void readXml(const QDomNode& xml, const QString& tag, qreal& value)
-{
-    if(xml.namedItem(tag).isElement())
-    {
-        qreal tmp;
-        bool ok = false;
-        tmp = xml.namedItem(tag).toElement().text().toDouble(&ok);
         if(ok)
         {
             value = tmp;
@@ -194,18 +98,8 @@ static void readXml(const QDomNode& xml, const QString& tag, QString& value, boo
     if(xml.namedItem(tag).isElement())
     {
         const QDomNamedNodeMap& attr = xml.namedItem(tag).toElement().attributes();
-
-        if(attr.namedItem("html").nodeValue().toLocal8Bit().toLower() == "true")
-        {
-            isHtml = true;
-            value = xml.namedItem(tag).toElement().text();
-        }
-        else
-        {
-            isHtml = false;
-            value = "<pre>" + xml.namedItem(tag).toElement().text() + "</pre>";
-            value = xml.namedItem(tag).toElement().text();
-        }
+        isHtml = (attr.namedItem("html").nodeValue().toLocal8Bit().toLower() == "true");
+        value  = xml.namedItem(tag).toElement().text();
     }
 }
 
@@ -245,13 +139,12 @@ static void readXml(const QDomNode& xml, IGisItem::history_t& history)
         const QDomElement& xmlHistory = xml.namedItem("ql:history").toElement();
 
         const QDomNodeList& xmlEntries = xmlHistory.elementsByTagName("ql:event");
-        int N = xmlEntries.count();
-        for(int n = 0; n < N; ++n)
+        for(int n = 0; n < xmlEntries.count(); ++n)
         {
             const QDomNode& xmlEntry = xmlEntries.item(n);
             IGisItem::history_event_t entry;
-            readXml(xmlEntry, "ql:icon", entry.icon);
-            readXml(xmlEntry, "ql:time", entry.time);
+            readXml(xmlEntry, "ql:icon",    entry.icon);
+            readXml(xmlEntry, "ql:time",    entry.time);
             readXml(xmlEntry, "ql:comment", entry.comment);
 
             history.events << entry;
@@ -338,7 +231,7 @@ static void writeXml(QDomNode& xml, const QString& tag, const QString& val, bool
         xml.appendChild(elem);
         QDomText text = xml.ownerDocument().createCDATASection(val);
         elem.appendChild(text);
-        elem.setAttribute("html",isHtml ? "True" : "False");
+        elem.setAttribute("html", isHtml ? "True" : "False");
     }
 }
 
@@ -381,8 +274,8 @@ static void writeXml(QDomNode& xml, const IGisItem::history_t& history)
             const IGisItem::history_event_t& event = history.events[i];
             QDomElement xmlEvent = xml.ownerDocument().createElement("ql:event");
             xmlHistory.appendChild(xmlEvent);
-            writeXml(xmlEvent,"ql:icon", event.icon);
-            writeXml(xmlEvent,"ql:time", event.time);
+            writeXml(xmlEvent,"ql:icon",    event.icon);
+            writeXml(xmlEvent,"ql:time",    event.time);
             writeXml(xmlEvent,"ql:comment", event.comment);
         }
     }
@@ -393,8 +286,8 @@ static void writeXml(QDomNode& xml, const QString& tag, const QPoint& offsetBubb
     QDomElement elem = xml.ownerDocument().createElement(tag);
     xml.appendChild(elem);
 
-    elem.setAttribute("xoff", offsetBubble.x());
-    elem.setAttribute("yoff", offsetBubble.y());
+    elem.setAttribute("xoff",  offsetBubble.x());
+    elem.setAttribute("yoff",  offsetBubble.y());
     elem.setAttribute("width", widthBubble);
 }
 
@@ -416,8 +309,7 @@ static void readXml(const QDomNode& node, const QString& parentTags, QHash<QStri
     else
     {
         const QDomNodeList& list = node.childNodes();
-        const int N = list.size();
-        for(int i = 0; i < N; i++)
+        for(int i = 0; i < list.size(); i++)
         {
             readXml(list.at(i), tags, extensions);
         }
@@ -427,8 +319,7 @@ static void readXml(const QDomNode& node, const QString& parentTags, QHash<QStri
 static void readXml(const QDomNode& ext, QHash<QString, QVariant>& extensions)
 {
     const QDomNodeList& list = ext.childNodes();
-    const int N = list.size();
-    for(int i = 0; i < N; i++)
+    for(int i = 0; i < list.size(); i++)
     {
         readXml(list.at(i), "", extensions);
     }
@@ -518,21 +409,21 @@ void IGisProject::readMetadata(const QDomNode& xml, metadata_t& metadata)
     if(xmlCopyright.isElement())
     {
         metadata.copyright.author = xmlCopyright.attributes().namedItem("author").nodeValue();
-        readXml(xmlCopyright, "year", metadata.copyright.year);
+        readXml(xmlCopyright, "year",    metadata.copyright.year);
         readXml(xmlCopyright, "license", metadata.copyright.license);
     }
 
-    readXml(xml,"link", metadata.links);
-    readXml(xml,"time", metadata.time);
+    readXml(xml,"link",     metadata.links);
+    readXml(xml,"time",     metadata.time);
     readXml(xml,"keywords", metadata.keywords);
 
     const QDomNode& xmlBounds = xml.namedItem("bounds");
     if(xmlBounds.isElement())
     {
         const QDomNamedNodeMap& attr = xmlBounds.attributes();
-        metadata.bounds.setLeft(attr.namedItem("minlon").nodeValue().toDouble());
-        metadata.bounds.setTop(attr.namedItem("maxlat").nodeValue().toDouble());
-        metadata.bounds.setRight(attr.namedItem("maxlon").nodeValue().toDouble());
+        metadata.bounds.setLeft(  attr.namedItem("minlon").nodeValue().toDouble());
+        metadata.bounds.setTop(   attr.namedItem("maxlat").nodeValue().toDouble());
+        metadata.bounds.setRight( attr.namedItem("maxlon").nodeValue().toDouble());
         metadata.bounds.setBottom(attr.namedItem("minlat").nodeValue().toDouble());
     }
 }
@@ -544,13 +435,13 @@ QDomNode IGisProject::writeMetadata(QDomDocument& doc)
 
     gpx.setAttribute("version","1.1");
     gpx.setAttribute("creator","QMapShack " VER_STR " http://www.qlandkarte.org/");
-    gpx.setAttribute("xmlns",gpx_ns);
-    gpx.setAttribute("xmlns:xsi",xsi_ns);
-    gpx.setAttribute("xmlns:gpxx",gpxx_ns);
-    gpx.setAttribute("xmlns:gpxtpx",gpxtpx_ns);
-    gpx.setAttribute("xmlns:wptx1",wptx1_ns);
-    gpx.setAttribute("xmlns:rmc",rmc_ns);
-    gpx.setAttribute("xmlns:ql",ql_ns);
+    gpx.setAttribute("xmlns",        gpx_ns);
+    gpx.setAttribute("xmlns:xsi",    xsi_ns);
+    gpx.setAttribute("xmlns:gpxx",   gpxx_ns);
+    gpx.setAttribute("xmlns:gpxtpx", gpxtpx_ns);
+    gpx.setAttribute("xmlns:wptx1",  wptx1_ns);
+    gpx.setAttribute("xmlns:rmc",    rmc_ns);
+    gpx.setAttribute("xmlns:ql",     ql_ns);
 
     QString schemaLocation = QString()
                              + gpx_ns    + " http://www.topografix.com/GPX/1/1/gpx.xsd "
@@ -578,7 +469,7 @@ QDomNode IGisProject::writeMetadata(QDomDocument& doc)
         {
             QDomElement xmlEmail = doc.createElement("email");
             xmlAuthor.appendChild(xmlEmail);
-            xmlEmail.setAttribute("id", metadata.author.id);
+            xmlEmail.setAttribute("id",     metadata.author.id);
             xmlEmail.setAttribute("domain", metadata.author.domain);
         }
 
@@ -599,11 +490,11 @@ QDomNode IGisProject::writeMetadata(QDomDocument& doc)
         xmlMetadata.appendChild(xmlCopyright);
 
         xmlCopyright.setAttribute("author", metadata.copyright.author);
-        writeXml(xmlCopyright, "year", metadata.copyright.year);
-        writeXml(xmlCopyright, "license", metadata.copyright.license);
+        writeXml(xmlCopyright, "year",      metadata.copyright.year);
+        writeXml(xmlCopyright, "license",   metadata.copyright.license);
     }
-    writeXml(xmlMetadata, "link", metadata.links);
-    writeXml(xmlMetadata, "time", metadata.time);
+    writeXml(xmlMetadata, "link",     metadata.links);
+    writeXml(xmlMetadata, "time",     metadata.time);
     writeXml(xmlMetadata, "keywords", metadata.keywords);
 
     if(metadata.bounds.isValid())
@@ -660,8 +551,8 @@ void CGisItemWpt::save(QDomNode& gpx)
     // write the key as extension tag
     QDomElement xmlExt  = doc.createElement("extensions");
     xmlWpt.appendChild(xmlExt);
-    writeXml(xmlExt, "ql:key", key.item);
-    writeXml(xmlExt, "ql:flags", flags);
+    writeXml(xmlExt, "ql:key",    key.item);
+    writeXml(xmlExt, "ql:flags",  flags);
     writeXml(xmlExt, "ql:bubble", offsetBubble, widthBubble);
     writeXml(xmlExt, history);
 
@@ -699,17 +590,17 @@ void CGisItemWpt::readGcExt(const QDomNode& xmlCache)
         geocache.status = QObject::tr("Not Available");
     }
 
-    readXml(xmlCache, "groundspeak:name", geocache.name);
-    readXml(xmlCache, "groundspeak:placed_by", geocache.owner);
-    readXml(xmlCache, "groundspeak:type", geocache.type);
-    readXml(xmlCache, "groundspeak:container", geocache.container);
-    readXml(xmlCache, "groundspeak:difficulty", geocache.difficulty);
-    readXml(xmlCache, "groundspeak:terrain", geocache.terrain);
+    readXml(xmlCache, "groundspeak:name",              geocache.name);
+    readXml(xmlCache, "groundspeak:placed_by",         geocache.owner);
+    readXml(xmlCache, "groundspeak:type",              geocache.type);
+    readXml(xmlCache, "groundspeak:container",         geocache.container);
+    readXml(xmlCache, "groundspeak:difficulty",        geocache.difficulty);
+    readXml(xmlCache, "groundspeak:terrain",           geocache.terrain);
     readXml(xmlCache, "groundspeak:short_description", geocache.shortDesc, geocache.shortDescIsHtml);
-    readXml(xmlCache, "groundspeak:long_description", geocache.longDesc, geocache.longDescIsHtml);
-    readXml(xmlCache, "groundspeak:encoded_hints", geocache.hint);
-    readXml(xmlCache, "groundspeak:country", geocache.country);
-    readXml(xmlCache, "groundspeak:state", geocache.state);
+    readXml(xmlCache, "groundspeak:long_description",  geocache.longDesc,  geocache.longDescIsHtml);
+    readXml(xmlCache, "groundspeak:encoded_hints",     geocache.hint);
+    readXml(xmlCache, "groundspeak:country",           geocache.country);
+    readXml(xmlCache, "groundspeak:state",             geocache.state);
 
     const QDomNodeList& logs = xmlCache.toElement().elementsByTagName("groundspeak:log");
     uint N = logs.count();
@@ -730,7 +621,7 @@ void CGisItemWpt::readGcExt(const QDomNode& xmlCache)
         }
 
         readXml(xmlLog, "groundspeak:finder", log.finder);
-        readXml(xmlLog, "groundspeak:text", log.text, log.textIsHtml);
+        readXml(xmlLog, "groundspeak:text",   log.text, log.textIsHtml);
 
         geocache.logs << log;
     }
@@ -804,13 +695,13 @@ void CGisItemWpt::writeGcExt(QDomNode& xmlCache)
 
 void CGisItemTrk::readTrk(const QDomNode& xml, trk_t& trk)
 {
-    readXml(xml, "name", trk.name);
-    readXml(xml, "cmt", trk.cmt);
-    readXml(xml, "desc", trk.desc);
-    readXml(xml, "src", trk.src);
-    readXml(xml, "link", trk.links);
+    readXml(xml, "name",   trk.name);
+    readXml(xml, "cmt",    trk.cmt);
+    readXml(xml, "desc",   trk.desc);
+    readXml(xml, "src",    trk.src);
+    readXml(xml, "link",   trk.links);
     readXml(xml, "number", trk.number);
-    readXml(xml, "type", trk.type);
+    readXml(xml, "type",   trk.type);
 
     const QDomNodeList& trksegs = xml.toElement().elementsByTagName("trkseg");
     int N = trksegs.count();
@@ -842,13 +733,20 @@ void CGisItemTrk::readTrk(const QDomNode& xml, trk_t& trk)
     const QDomNode& ext = xml.namedItem("extensions");
     if(ext.isElement())
     {
-        readXml(ext, "ql:key", key.item);
+        readXml(ext, "ql:key",   key.item);
         readXml(ext, "ql:flags", flags);
         readXml(ext, history);
 
         const QDomNode& gpxx = ext.namedItem("gpxx:TrackExtension");
         readXml(gpxx, "gpxx:DisplayColor", trk.color);
         setColor(str2color(trk.color));
+
+        const QDomNode &extColoring = ext.namedItem("ql:coloring");
+        QString source;
+        readXml(extColoring, "ql:source",    source);
+        setColorizeSource(source);
+        readXml(extColoring, "ql:limitLow",  limitLow);
+        readXml(extColoring, "ql:limitHigh", limitHigh);
     }
 
     deriveSecondaryData();
@@ -863,13 +761,13 @@ void CGisItemTrk::save(QDomNode& gpx)
     QDomElement xmlTrk = doc.createElement("trk");
     gpx.appendChild(xmlTrk);
 
-    writeXml(xmlTrk, "name", trk.name);
-    writeXml(xmlTrk, "cmt", trk.cmt);
-    writeXml(xmlTrk, "desc", trk.desc);
-    writeXml(xmlTrk, "src", trk.src);
-    writeXml(xmlTrk, "link", trk.links);
+    writeXml(xmlTrk, "name",   trk.name);
+    writeXml(xmlTrk, "cmt",    trk.cmt);
+    writeXml(xmlTrk, "desc",   trk.desc);
+    writeXml(xmlTrk, "src",    trk.src);
+    writeXml(xmlTrk, "link",   trk.links);
     writeXml(xmlTrk, "number", trk.number);
-    writeXml(xmlTrk, "type", trk.type);
+    writeXml(xmlTrk, "type",   trk.type);
 
     // write the key as extension tag
     QDomElement xmlExt  = doc.createElement("extensions");
@@ -878,10 +776,20 @@ void CGisItemTrk::save(QDomNode& gpx)
     writeXml(xmlExt, "ql:flags", flags);
     writeXml(xmlExt, history);
 
+    // write source for coloring tracks
+    if(!colorSource.isEmpty())
+    {
+        QDomElement xmlExtColoring = doc.createElement("ql:coloring");
+        xmlExt.appendChild(xmlExtColoring);
+        writeXml(xmlExtColoring, "ql:source",    colorSource);
+        writeXml(xmlExtColoring, "ql:limitLow",  limitLow);
+        writeXml(xmlExtColoring, "ql:limitHigh", limitHigh);
+    }
+
     // write other well known extensions
     QDomElement gpxx  = doc.createElement("gpxx:TrackExtension");
     xmlExt.appendChild(gpxx);
-    writeXml(gpxx, "gpxx:DisplayColor", unifyColor(trk.color));
+    writeXml(gpxx, "gpxx:DisplayColor", trk.color);
 
     foreach(const trkseg_t &seg, trk.segs)
     {
@@ -904,13 +812,13 @@ void CGisItemTrk::save(QDomNode& gpx)
 
 void CGisItemRte::readRte(const QDomNode& xml, rte_t& rte)
 {
-    readXml(xml, "name", rte.name);
-    readXml(xml, "cmt", rte.cmt);
-    readXml(xml, "desc", rte.desc);
-    readXml(xml, "src", rte.src);
-    readXml(xml, "link", rte.links);
+    readXml(xml, "name",   rte.name);
+    readXml(xml, "cmt",    rte.cmt);
+    readXml(xml, "desc",   rte.desc);
+    readXml(xml, "src",    rte.src);
+    readXml(xml, "link",   rte.links);
     readXml(xml, "number", rte.number);
-    readXml(xml, "type", rte.type);
+    readXml(xml, "type",   rte.type);
 
     const QDomNodeList& xmlRtepts = xml.toElement().elementsByTagName("rtept");
     int M = xmlRtepts.count();
@@ -939,13 +847,13 @@ void CGisItemRte::save(QDomNode& gpx)
     QDomElement xmlRte = doc.createElement("rte");
     gpx.appendChild(xmlRte);
 
-    writeXml(xmlRte, "name", rte.name);
-    writeXml(xmlRte, "cmt", rte.cmt);
-    writeXml(xmlRte, "desc", rte.desc);
-    writeXml(xmlRte, "src", rte.src);
-    writeXml(xmlRte, "link", rte.links);
+    writeXml(xmlRte, "name",   rte.name);
+    writeXml(xmlRte, "cmt",    rte.cmt);
+    writeXml(xmlRte, "desc",   rte.desc);
+    writeXml(xmlRte, "src",    rte.src);
+    writeXml(xmlRte, "link",   rte.links);
     writeXml(xmlRte, "number", rte.number);
-    writeXml(xmlRte, "type", rte.type);
+    writeXml(xmlRte, "type",   rte.type);
 
     // write the key as extension tag
     QDomElement xmlExt  = doc.createElement("extensions");
@@ -962,23 +870,21 @@ void CGisItemRte::save(QDomNode& gpx)
 
 void CGisItemOvlArea::readArea(const QDomNode& xml, area_t& area)
 {
-    readXml(xml, "ql:name", area.name);
-    readXml(xml, "ql:cmt", area.cmt);
-    readXml(xml, "ql:desc", area.desc);
-    readXml(xml, "ql:src", area.src);
-    readXml(xml, "ql:link", area.links);
-    readXml(xml, "ql:number", area.number);
-    readXml(xml, "ql:type", area.type);
-    readXml(xml, "ql:color", area.color);
-    readXml(xml, "ql:width", area.width);
-    readXml(xml, "ql:style", area.style);
+    readXml(xml, "ql:name",    area.name);
+    readXml(xml, "ql:cmt",     area.cmt);
+    readXml(xml, "ql:desc",    area.desc);
+    readXml(xml, "ql:src",     area.src);
+    readXml(xml, "ql:link",    area.links);
+    readXml(xml, "ql:number",  area.number);
+    readXml(xml, "ql:type",    area.type);
+    readXml(xml, "ql:color",   area.color);
+    readXml(xml, "ql:width",   area.width);
+    readXml(xml, "ql:style",   area.style);
     readXml(xml, "ql:opacity", area.opacity);
-    readXml(xml, "ql:key", key.item);
-    readXml(xml, "ql:flags", flags);
+    readXml(xml, "ql:key",     key.item);
+    readXml(xml, "ql:flags",   flags);
     readXml(xml, history);
 
-
-
     const QDomNodeList& xmlPts = xml.toElement().elementsByTagName("ql:point");
     int M = xmlPts.count();
     area.pts.resize(M);
@@ -989,7 +895,6 @@ void CGisItemOvlArea::readArea(const QDomNode& xml, area_t& area)
         readWpt(xmlPt, pt);
     }
 
-
     setColor(str2color(area.color));
 
     deriveSecondaryData();
@@ -1002,19 +907,19 @@ void CGisItemOvlArea::save(QDomNode& gpx)
     QDomElement xmlArea = doc.createElement("ql:area");
     gpx.appendChild(xmlArea);
 
-    writeXml(xmlArea, "ql:name", area.name);
-    writeXml(xmlArea, "ql:cmt", area.cmt);
-    writeXml(xmlArea, "ql:desc", area.desc);
-    writeXml(xmlArea, "ql:src", area.src);
-    writeXml(xmlArea, "ql:link", area.links);
-    writeXml(xmlArea, "ql:number", area.number);
-    writeXml(xmlArea, "ql:type", area.type);
-    writeXml(xmlArea, "ql:color", area.color);
-    writeXml(xmlArea, "ql:width", area.width);
-    writeXml(xmlArea, "ql:style", area.style);
+    writeXml(xmlArea, "ql:name",    area.name);
+    writeXml(xmlArea, "ql:cmt",     area.cmt);
+    writeXml(xmlArea, "ql:desc",    area.desc);
+    writeXml(xmlArea, "ql:src",     area.src);
+    writeXml(xmlArea, "ql:link",    area.links);
+    writeXml(xmlArea, "ql:number",  area.number);
+    writeXml(xmlArea, "ql:type",    area.type);
+    writeXml(xmlArea, "ql:color",   area.color);
+    writeXml(xmlArea, "ql:width",   area.width);
+    writeXml(xmlArea, "ql:style",   area.style);
     writeXml(xmlArea, "ql:opacity", area.opacity);
-    writeXml(xmlArea, "ql:key", key.item);
-    writeXml(xmlArea, "ql:flags", flags);
+    writeXml(xmlArea, "ql:key",     key.item);
+    writeXml(xmlArea, "ql:flags",   flags);
     writeXml(xmlArea, history);
 
 
@@ -1032,24 +937,24 @@ void IGisItem::readWpt(const QDomNode& xml, wpt_t& wpt)
     wpt.lat = attr.namedItem("lat").nodeValue().toDouble();
     wpt.lon = attr.namedItem("lon").nodeValue().toDouble();
 
-    readXml(xml, "ele", wpt.ele);
-    readXml(xml, "time", wpt.time);
-    readXml(xml, "magvar", wpt.magvar);
-    readXml(xml, "geoidheight", wpt.geoidheight);
-    readXml(xml, "name", wpt.name);
-    readXml(xml, "cmt", wpt.cmt);
-    readXml(xml, "desc", wpt.desc);
-    readXml(xml, "src", wpt.src);
-    readXml(xml, "link", wpt.links);
-    readXml(xml, "sym", wpt.sym);
-    readXml(xml, "type", wpt.type);
-    readXml(xml, "fix", wpt.fix);
-    readXml(xml, "sat", wpt.sat);
-    readXml(xml, "hdop", wpt.hdop);
-    readXml(xml, "vdop", wpt.vdop);
-    readXml(xml, "pdop", wpt.pdop);
+    readXml(xml, "ele",           wpt.ele);
+    readXml(xml, "time",          wpt.time);
+    readXml(xml, "magvar",        wpt.magvar);
+    readXml(xml, "geoidheight",   wpt.geoidheight);
+    readXml(xml, "name",          wpt.name);
+    readXml(xml, "cmt",           wpt.cmt);
+    readXml(xml, "desc",          wpt.desc);
+    readXml(xml, "src",           wpt.src);
+    readXml(xml, "link",          wpt.links);
+    readXml(xml, "sym",           wpt.sym);
+    readXml(xml, "type",          wpt.type);
+    readXml(xml, "fix",           wpt.fix);
+    readXml(xml, "sat",           wpt.sat);
+    readXml(xml, "hdop",          wpt.hdop);
+    readXml(xml, "vdop",          wpt.vdop);
+    readXml(xml, "pdop",          wpt.pdop);
     readXml(xml, "ageofdgpsdata", wpt.ageofdgpsdata);
-    readXml(xml, "dgpsid", wpt.dgpsid);
+    readXml(xml, "dgpsid",        wpt.dgpsid);
 
     // some GPX 1.0 backward compatibility
     QString url;
@@ -1070,26 +975,26 @@ void IGisItem::writeWpt(QDomElement& xml, const wpt_t& wpt)
     QString str;
 
     str.sprintf("%1.8f", wpt.lat);
-    xml.setAttribute("lat",str);
+    xml.setAttribute("lat", str);
     str.sprintf("%1.8f", wpt.lon);
-    xml.setAttribute("lon",str);
-
-    writeXml(xml, "ele", wpt.ele);
-    writeXml(xml, "time", wpt.time);
-    writeXml(xml, "magvar", wpt.magvar);
-    writeXml(xml, "geoidheight", wpt.geoidheight);
-    writeXml(xml, "name", wpt.name);
-    writeXml(xml, "cmt", IGisItem::removeHtml(wpt.cmt));
-    writeXml(xml, "desc", IGisItem::removeHtml(wpt.desc));
-    writeXml(xml, "src", wpt.src);
-    writeXml(xml, "link", wpt.links);
-    writeXml(xml, "sym", wpt.sym);
-    writeXml(xml, "type", wpt.type);
-    writeXml(xml, "fix", wpt.fix);
-    writeXml(xml, "sat", wpt.sat);
-    writeXml(xml, "hdop", wpt.hdop);
-    writeXml(xml, "vdop", wpt.vdop);
-    writeXml(xml, "pdop", wpt.pdop);
+    xml.setAttribute("lon", str);
+
+    writeXml(xml, "ele",           wpt.ele);
+    writeXml(xml, "time",          wpt.time);
+    writeXml(xml, "magvar",        wpt.magvar);
+    writeXml(xml, "geoidheight",   wpt.geoidheight);
+    writeXml(xml, "name",          wpt.name);
+    writeXml(xml, "cmt",           IGisItem::removeHtml(wpt.cmt));
+    writeXml(xml, "desc",          IGisItem::removeHtml(wpt.desc));
+    writeXml(xml, "src",           wpt.src);
+    writeXml(xml, "link",          wpt.links);
+    writeXml(xml, "sym",           wpt.sym);
+    writeXml(xml, "type",          wpt.type);
+    writeXml(xml, "fix",           wpt.fix);
+    writeXml(xml, "sat",           wpt.sat);
+    writeXml(xml, "hdop",          wpt.hdop);
+    writeXml(xml, "vdop",          wpt.vdop);
+    writeXml(xml, "pdop",          wpt.pdop);
     writeXml(xml, "ageofdgpsdata", wpt.ageofdgpsdata);
-    writeXml(xml, "dgpsid", wpt.dgpsid);
+    writeXml(xml, "dgpsid",        wpt.dgpsid);
 }
diff --git a/src/gis/ovl/CDetailsOvlArea.cpp b/src/gis/ovl/CDetailsOvlArea.cpp
index fab4940..31df5f8 100644
--- a/src/gis/ovl/CDetailsOvlArea.cpp
+++ b/src/gis/ovl/CDetailsOvlArea.cpp
@@ -19,7 +19,7 @@
 #include "gis/ovl/CDetailsOvlArea.h"
 #include "gis/ovl/CGisItemOvlArea.h"
 #include "helpers/CLinksDialog.h"
-#include "helpers/CTextEditWidget.h"
+#include "widgets/CTextEditWidget.h"
 
 
 #include <QtWidgets>
@@ -27,7 +27,6 @@
 CDetailsOvlArea::CDetailsOvlArea(CGisItemOvlArea &area, QWidget * parent)
     : QDialog(parent)
     , area(area)
-    , originator(false)
 {
     setupUi(this);
 
diff --git a/src/gis/ovl/CDetailsOvlArea.h b/src/gis/ovl/CDetailsOvlArea.h
index 88fc362..c508fac 100644
--- a/src/gis/ovl/CDetailsOvlArea.h
+++ b/src/gis/ovl/CDetailsOvlArea.h
@@ -51,7 +51,7 @@ private:
 
     CGisItemOvlArea& area;
 
-    bool originator;
+    bool originator = false;
 };
 
 #endif //CDETAILSOVLAREA_H
diff --git a/src/gis/ovl/CGisItemOvlArea.cpp b/src/gis/ovl/CGisItemOvlArea.cpp
index d75944a..0bdd33b 100644
--- a/src/gis/ovl/CGisItemOvlArea.cpp
+++ b/src/gis/ovl/CGisItemOvlArea.cpp
@@ -56,7 +56,7 @@ const QColor CGisItemOvlArea::lineColors[OVL_N_COLORS] =
 const QString CGisItemOvlArea::bulletColors[OVL_N_COLORS] =
 {
     // 0
-    QString("://icons/8x8/bullet_black.png")
+    "://icons/8x8/bullet_black.png"
     // 1
     ,QString("://icons/8x8/bullet_dark_red.png")
     // 2
@@ -116,8 +116,6 @@ IGisItem::key_t CGisItemOvlArea::keyUserFocus;
 
 CGisItemOvlArea::CGisItemOvlArea(const SGisLine &line, const QString &name, IGisProject * project, int idx)
     : IGisItem(project, eTypeOvl, idx)
-    , penForeground(Qt::blue, 3, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin)
-    , penBackground(Qt::white, 5, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin)
 {
     area.name = name;
     readAreaDataFromGisLine(line);
@@ -131,25 +129,19 @@ CGisItemOvlArea::CGisItemOvlArea(const SGisLine &line, const QString &name, IGis
 
 CGisItemOvlArea::CGisItemOvlArea(const CGisItemOvlArea& parentArea, IGisProject * project, int idx, bool clone)
     : IGisItem(project, eTypeOvl, idx)
-    , penForeground(Qt::blue, 3, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin)
-    , penBackground(Qt::white, 5, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin)
 {
-    *this = parentArea;
-    key.project = project->getKey();
-    key.device  = project->getDeviceKey();
+    history = parentArea.history;
+    loadHistory(history.histIdxCurrent);
 
     if(clone)
     {
         area.name += QObject::tr("_Clone");
         key.clear();
         history.events.clear();
+        setupHistory();
     }
 
-    if(parentArea.isOnDevice())
-    {
-        flags |= eFlagWriteAllowed;
-    }
-    else if(!parentArea.isReadOnly())
+    if(parentArea.isOnDevice() || !parentArea.isReadOnly())
     {
         flags |= eFlagWriteAllowed;
     }
@@ -158,16 +150,12 @@ CGisItemOvlArea::CGisItemOvlArea(const CGisItemOvlArea& parentArea, IGisProject
         flags &= ~eFlagWriteAllowed;
     }
 
-
-
-    setupHistory();
+    deriveSecondaryData();
     updateDecoration(eMarkChanged, eMarkNone);
 }
 
 CGisItemOvlArea::CGisItemOvlArea(const QDomNode &xml, IGisProject *project)
     : IGisItem(project, eTypeOvl, project->childCount())
-    , penForeground(Qt::blue, 3, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin)
-    , penBackground(Qt::white, 5, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin)
 {
     // --- start read and process data ----
     setColor(penForeground.color());
@@ -180,8 +168,6 @@ CGisItemOvlArea::CGisItemOvlArea(const QDomNode &xml, IGisProject *project)
 
 CGisItemOvlArea::CGisItemOvlArea(const history_t& hist, IGisProject * project)
     : IGisItem(project, eTypeOvl, project->childCount())
-    , penForeground(Qt::blue, 3, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin)
-    , penBackground(Qt::white, 5, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin)
 {
     history = hist;
     loadHistory(hist.histIdxCurrent);
@@ -189,8 +175,6 @@ CGisItemOvlArea::CGisItemOvlArea(const history_t& hist, IGisProject * project)
 
 CGisItemOvlArea::CGisItemOvlArea(quint64 id, QSqlDatabase& db, IGisProject * project)
     : IGisItem(project, eTypeOvl, NOIDX)
-    , penForeground(Qt::blue, 3, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin)
-    , penBackground(Qt::white, 5, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin)
 {
     loadFromDb(id, db);
 }
diff --git a/src/gis/ovl/CGisItemOvlArea.h b/src/gis/ovl/CGisItemOvlArea.h
index 222c8f3..f6366d6 100644
--- a/src/gis/ovl/CGisItemOvlArea.h
+++ b/src/gis/ovl/CGisItemOvlArea.h
@@ -45,7 +45,7 @@ public:
     virtual ~CGisItemOvlArea();
 
     QDataStream& operator<<(QDataStream& stream);
-    QDataStream& operator>>(QDataStream& stream);
+    QDataStream& operator>>(QDataStream& stream) const;
 
     const QString& getName() const
     {
@@ -124,29 +124,23 @@ public:
 
     struct pt_t : public wpt_t
     {
-        pt_t()
-        {
-        }
     };
 
     struct area_t
     {
-        area_t() : number(0), width(5), style(Qt::BDiagPattern), opacity(false)
-        {
-        }
         // -- all gpx tags - start
         QString name;
         QString cmt;
         QString desc;
         QString src;
         QList<link_t> links;
-        quint64 number;
+        quint64 number = 0;
         QString type;
         QVector<pt_t> pts;
         QString color;
-        qint32 width;
-        qint32 style;
-        bool opacity;
+        qint32 width = 5;
+        qint32 style = Qt::BDiagPattern;
+        bool opacity = false;
 
         // secondary data;
         qreal area;
@@ -170,12 +164,12 @@ private:
 
     static key_t keyUserFocus;
 
-    QPen penForeground;
-    QPen penBackground;
+    QPen penForeground {Qt::blue, 3, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin};
+    QPen penBackground {Qt::white, 5, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin};
 
     /// the track line color
     QColor color;
-    /// the trakpoint bullet icon
+    /// the trackpoint bullet icon
     QPixmap bullet;
     /// the track line color by index
     unsigned colorIdx;
diff --git a/src/gis/ovl/CScrOptOvlArea.cpp b/src/gis/ovl/CScrOptOvlArea.cpp
index f093f2e..549b815 100644
--- a/src/gis/ovl/CScrOptOvlArea.cpp
+++ b/src/gis/ovl/CScrOptOvlArea.cpp
@@ -91,5 +91,5 @@ void CScrOptOvlArea::draw(QPainter& p)
     }
     item->drawHighlight(p);
 
-    CDraw::bubble2(*this, anchor, p);
+    CDraw::bubble(p, geometry(), anchor.toPoint());
 }
diff --git a/src/gis/ovl/IDetailsOvlArea.ui b/src/gis/ovl/IDetailsOvlArea.ui
index 71f4a70..6a3ced0 100644
--- a/src/gis/ovl/IDetailsOvlArea.ui
+++ b/src/gis/ovl/IDetailsOvlArea.ui
@@ -278,7 +278,7 @@
   <customwidget>
    <class>CHistoryListWidget</class>
    <extends>QListWidget</extends>
-   <header>helpers/CHistoryListWidget.h</header>
+   <header>widgets/CHistoryListWidget.h</header>
   </customwidget>
  </customwidgets>
  <resources>
diff --git a/src/gis/prj/CDetailsPrj.cpp b/src/gis/prj/CDetailsPrj.cpp
index b76a7ed..472fe58 100644
--- a/src/gis/prj/CDetailsPrj.cpp
+++ b/src/gis/prj/CDetailsPrj.cpp
@@ -25,9 +25,9 @@
 #include "gis/wpt/CGisItemWpt.h"
 #include "helpers/CLinksDialog.h"
 #include "helpers/CProgressDialog.h"
-#include "helpers/CTextEditWidget.h"
 #include "plot/CPlotProfile.h"
 #include "plot/CPlotTrack.h"
+#include "widgets/CTextEditWidget.h"
 
 #include <QtPrintSupport>
 #include <QtWidgets>
@@ -35,8 +35,6 @@
 CDetailsPrj::CDetailsPrj(IGisProject &prj, QWidget *parent)
     : QWidget(parent)
     , prj(prj)
-    , scrollVal(0)
-    , mutex(QMutex::NonRecursive)
 {
     setupUi(this);
 
diff --git a/src/gis/prj/CDetailsPrj.h b/src/gis/prj/CDetailsPrj.h
index 0c6293d..84e8ccc 100644
--- a/src/gis/prj/CDetailsPrj.h
+++ b/src/gis/prj/CDetailsPrj.h
@@ -77,11 +77,11 @@ private:
     QTextTableFormat fmtTableInfo;
     QTextCharFormat fmtCharHeader;
 
-    int scrollVal;
+    int scrollVal = 0;
 
     QTimer * timerUpdateTime;
 
-    QMutex mutex;
+    QMutex mutex {QMutex::NonRecursive};
 };
 
 #endif //CDETAILSPRJ_H
diff --git a/src/gis/prj/IGisProject.cpp b/src/gis/prj/IGisProject.cpp
index 3503e4b..8c5a38e 100644
--- a/src/gis/prj/IGisProject.cpp
+++ b/src/gis/prj/IGisProject.cpp
@@ -32,22 +32,18 @@
 
 #include <QtWidgets>
 
+const QString IGisProject::filedialogAllSupported = "All Supported (*.gpx *.qms)";
+const QString IGisProject::filedialogFilterGPX    = "GPS Exchange Format (*.gpx)";
+const QString IGisProject::filedialogFilterQMS    = "QMapShack Binary (*.qms)";
+const QString IGisProject::filedialogSaveFilters  = filedialogFilterGPX + ";; " + filedialogFilterQMS;
+const QString IGisProject::filedialogLoadFilters  = filedialogAllSupported +";; " + filedialogFilterGPX + ";; " + filedialogFilterQMS;
+
+
 
 IGisProject::IGisProject(type_e type, const QString &filename, CGisListWks *parent)
     : QTreeWidgetItem(parent)
     , type(type)
     , filename(filename)
-    , valid(false)
-    , noUpdate(false)
-    , noCorrelation(false)
-    , sorting(eSortNone)
-    , cntTrkPts(0)
-    , cntWpts(0)
-    , totalDistance(0)
-    , totalAscend(0)
-    , totalDescend(0)
-    , totalElapsedSeconds(0)
-    , totalElapsedSecondsMoving(0)
 {
     memset(cntItemsByType, 0, sizeof(cntItemsByType));
     setCheckState(CGisListWks::eColumnDecoration, Qt::Checked);
@@ -80,17 +76,6 @@ IGisProject::IGisProject(type_e type, const QString &filename, IDevice *parent)
     : QTreeWidgetItem(parent)
     , type(type)
     , filename(filename)
-    , valid(false)
-    , noUpdate(false)
-    , noCorrelation(false)
-    , sorting(eSortNone)
-    , cntTrkPts(0)
-    , cntWpts(0)
-    , totalDistance(0)
-    , totalAscend(0)
-    , totalDescend(0)
-    , totalElapsedSeconds(0)
-    , totalElapsedSecondsMoving(0)
 {
     memset(cntItemsByType, 0, sizeof(cntItemsByType));
     setCheckState(CGisListWks::eColumnDecoration, Qt::Checked);
@@ -260,7 +245,7 @@ void IGisProject::updateItems()
             if(progress.wasCanceled())
             {
                 QString msg = QObject::tr("<h3>%1</h3>Did that take too long for you? Do you want to skip correlation of tracks and waypoints for this project in the future?").arg(getNameEx());
-                int res = QMessageBox::question(&progress, QObject::tr("Cancelled correlation..."), msg, QMessageBox::Yes|QMessageBox::No, QMessageBox::Yes);
+                int res = QMessageBox::question(&progress, QObject::tr("Canceled correlation..."), msg, QMessageBox::Yes|QMessageBox::No, QMessageBox::Yes);
                 noCorrelation = res == QMessageBox::Yes;
                 break;
             }
@@ -446,7 +431,7 @@ bool IGisProject::delItemByKey(const IGisItem::key_t& key, QMessageBox::Standard
             delete item;
 
             /*
-                Database projects are a bit different. Deleteing an item does not really
+                Database projects are a bit different. Deleting an item does not really
                 mean the project is changed as the item is still stored in the database.
              */
             if(type != eTypeDb)
diff --git a/src/gis/prj/IGisProject.h b/src/gis/prj/IGisProject.h
index 93406f1..e1ba843 100644
--- a/src/gis/prj/IGisProject.h
+++ b/src/gis/prj/IGisProject.h
@@ -84,6 +84,12 @@ public:
         QMap<QString, QVariant> extensions;
     };
 
+    static const QString filedialogAllSupported;
+    static const QString filedialogFilterGPX;
+    static const QString filedialogFilterQMS;
+    static const QString filedialogSaveFilters;
+    static const QString filedialogLoadFilters;
+
     IGisProject(type_e type, const QString& filename, CGisListWks * parent);
     IGisProject(type_e type, const QString &filename, IDevice *parent);
     virtual ~IGisProject();
@@ -432,27 +438,27 @@ protected:
     type_e type;
     QString key;
     QString filename;
-    bool valid;
-    bool noUpdate;
-    bool noCorrelation;
+    bool valid = false;
+    bool noUpdate = false;
+    bool noCorrelation = false;
 
     metadata_t metadata;
     QString nameSuffix;
 
     QPointer<CDetailsPrj> dlgDetails;
 
-    sorting_e sorting;
+    sorting_e sorting = eSortNone;
 
     qint32 cntItemsByType[IGisItem::eTypeMax];
 
-    qint32 cntTrkPts;
-    qint32 cntWpts;
+    qint32 cntTrkPts = 0;
+    qint32 cntWpts = 0;
 
-    qreal totalDistance;
-    qreal totalAscend;
-    qreal totalDescend;
-    quint32 totalElapsedSeconds;
-    quint32 totalElapsedSecondsMoving;
+    qreal totalDistance = 0;
+    qreal totalAscend = 0;
+    qreal totalDescend = 0;
+    quint32 totalElapsedSeconds = 0;
+    quint32 totalElapsedSecondsMoving = 0;
 
     QString hashTrkWpt[2];
 };
diff --git a/src/gis/qms/CQmsProject.cpp b/src/gis/qms/CQmsProject.cpp
index 2aa1532..c27342c 100644
--- a/src/gis/qms/CQmsProject.cpp
+++ b/src/gis/qms/CQmsProject.cpp
@@ -91,25 +91,24 @@ bool CQmsProject::saveAs()
     QString path = cfg.value("Paths/lastGisPath", QDir::homePath()).toString();
     path += "/" + getName() + ".qms";
 
-    QString filter = "*.qms";
-    QString fn = QFileDialog::getSaveFileName(CMainWindow::getBestWidgetForParent(), QObject::tr("Save GIS data to..."), path, "*.gpx;; *.qms", &filter);
+    QString filter = filedialogFilterQMS;
+    QString fn = QFileDialog::getSaveFileName(CMainWindow::getBestWidgetForParent(), QObject::tr("Save GIS data to..."), path, filedialogSaveFilters, &filter);
 
     if(fn.isEmpty())
     {
         return false;
     }
 
-
     bool res = false;
-    if(filter == "*.gpx")
+    if(filter == filedialogFilterGPX)
     {
         res = CGpxProject::saveAs(fn, *this);
     }
-    else if(filter == "*.qms")
+    else if(filter == filedialogFilterQMS)
     {
         filename = fn;
         metadata.name.clear();
-        setupName(QFileInfo(filename).baseName().replace("_", " "));
+        setupName(QFileInfo(filename).baseName());
 
         res = saveAs(fn, *this);
         if(res)
diff --git a/src/gis/qms/serialization.cpp b/src/gis/qms/serialization.cpp
index ac034da..d668fde 100644
--- a/src/gis/qms/serialization.cpp
+++ b/src/gis/qms/serialization.cpp
@@ -26,7 +26,7 @@
 
 #include <QtWidgets>
 
-#define VER_TRK         quint8(1)
+#define VER_TRK         quint8(2)
 #define VER_WPT         quint8(2)
 #define VER_RTE         quint8(2)
 #define VER_AREA        quint8(1)
@@ -445,7 +445,7 @@ QDataStream& operator>>(QDataStream& stream, IGisProject::person_t& p)
 
 // ---------------- main objects ---------------------------------
 
-QDataStream& CGisItemTrk::operator>>(QDataStream& stream)
+QDataStream& CGisItemTrk::operator>>(QDataStream& stream) const
 {
     QByteArray buffer;
     QDataStream out(&buffer, QIODevice::WriteOnly);
@@ -462,6 +462,11 @@ QDataStream& CGisItemTrk::operator>>(QDataStream& stream)
     out << trk.number;
     out << trk.type;
     out << trk.color;
+
+    out << colorSource;
+    out << limitLow;
+    out << limitHigh;
+
     out << trk.segs;
 
     stream.writeRawData(MAGIC_TRK, MAGIC_SIZE);
@@ -505,14 +510,25 @@ QDataStream& CGisItemTrk::operator<<(QDataStream& stream)
     in >> trk.type;
     in >> trk.color;
 
+    // versions >= 2 contain colorized tracks
+    if(version >= 2)
+    {
+        QString source;
+        in >> colorSource;
+        in >> limitLow;
+        in >> limitHigh;
+    }
+
     trk.segs.clear();
     in >> trk.segs;
 
     deriveSecondaryData();
-    setColor(trk.color);
+    setColor(str2color(trk.color));
     setText(CGisListWks::eColumnName, trk.name);
     setToolTip(CGisListWks::eColumnName, getInfo());
 
+    notifyChange();
+
     return stream;
 }
 
@@ -559,7 +575,7 @@ QDataStream& CGisItemWpt::operator<<(QDataStream& stream)
     return stream;
 }
 
-QDataStream& CGisItemWpt::operator>>(QDataStream& stream)
+QDataStream& CGisItemWpt::operator>>(QDataStream& stream) const
 {
     QByteArray buffer;
     QDataStream out(&buffer, QIODevice::WriteOnly);
@@ -633,7 +649,7 @@ QDataStream& CGisItemRte::operator<<(QDataStream& stream)
     return stream;
 }
 
-QDataStream& CGisItemRte::operator>>(QDataStream& stream)
+QDataStream& CGisItemRte::operator>>(QDataStream& stream) const
 {
     QByteArray buffer;
     QDataStream out(&buffer, QIODevice::WriteOnly);
@@ -703,6 +719,7 @@ QDataStream& CGisItemOvlArea::operator<<(QDataStream& stream)
     area.opacity = tmp8;
 
     deriveSecondaryData();
+
     setColor(str2color(area.color));
     setText(CGisListWks::eColumnName, area.name);
     setToolTip(CGisListWks::eColumnName, getInfo());
@@ -710,7 +727,7 @@ QDataStream& CGisItemOvlArea::operator<<(QDataStream& stream)
     return stream;
 }
 
-QDataStream& CGisItemOvlArea::operator>>(QDataStream& stream)
+QDataStream& CGisItemOvlArea::operator>>(QDataStream& stream) const
 {
     QByteArray buffer;
     QDataStream out(&buffer, QIODevice::WriteOnly);
diff --git a/src/gis/rte/CDetailsRte.cpp b/src/gis/rte/CDetailsRte.cpp
index cbdfd84..9c02df6 100644
--- a/src/gis/rte/CDetailsRte.cpp
+++ b/src/gis/rte/CDetailsRte.cpp
@@ -19,15 +19,14 @@
 #include "gis/rte/CDetailsRte.h"
 #include "gis/rte/CGisItemRte.h"
 #include "helpers/CLinksDialog.h"
-#include "helpers/CTextEditWidget.h"
 #include "units/IUnit.h"
+#include "widgets/CTextEditWidget.h"
 
 #include <QtWidgets>
 
 CDetailsRte::CDetailsRte(CGisItemRte& rte, QWidget *parent)
     : QDialog(parent)
     , rte(rte)
-    , originator(false)
 {
     setupUi(this);
 
diff --git a/src/gis/rte/CDetailsRte.h b/src/gis/rte/CDetailsRte.h
index 8d0d8af..b6f3537 100644
--- a/src/gis/rte/CDetailsRte.h
+++ b/src/gis/rte/CDetailsRte.h
@@ -40,7 +40,7 @@ private slots:
 private:
     CGisItemRte& rte;
 
-    bool originator;
+    bool originator = false;
 };
 
 #endif //CDETAILSRTE_H
diff --git a/src/gis/rte/CGisItemRte.cpp b/src/gis/rte/CGisItemRte.cpp
index e318bf4..e1e9da1 100644
--- a/src/gis/rte/CGisItemRte.cpp
+++ b/src/gis/rte/CGisItemRte.cpp
@@ -53,15 +53,10 @@ void CGisItemRte::rtept_t::updateIcon()
 /// used to create a copy of route with new parent
 CGisItemRte::CGisItemRte(const CGisItemRte& parentRte, IGisProject * project, int idx, bool clone)
     : IGisItem(project, eTypeRte, idx)
-    , penForeground(Qt::darkBlue, 3, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin)
-    , penForegroundFocus(Qt::magenta, 3, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin)
-    , totalDistance(NOFLOAT)
-    , totalTime(0)
-    , mouseMoveFocus(0)
 {
-    *this = parentRte;
-    key.project = project->getKey();
-    key.device  = project->getDeviceKey();
+    history = parentRte.history;
+    loadHistory(history.histIdxCurrent);
+
 
     if(clone)
     {
@@ -93,11 +88,6 @@ CGisItemRte::CGisItemRte(const CGisItemRte& parentRte, IGisProject * project, in
 /// used to create route from GPX file
 CGisItemRte::CGisItemRte(const QDomNode& xml, IGisProject *parent)
     : IGisItem(parent, eTypeRte, parent->childCount())
-    , penForeground(Qt::darkBlue, 3, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin)
-    , penForegroundFocus(Qt::magenta, 3, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin)
-    , totalDistance(NOFLOAT)
-    , totalTime(0)
-    , mouseMoveFocus(0)
 {
     // --- start read and process data ----
     readRte(xml, rte);
@@ -110,11 +100,6 @@ CGisItemRte::CGisItemRte(const QDomNode& xml, IGisProject *parent)
 
 CGisItemRte::CGisItemRte(const history_t& hist, IGisProject * project)
     : IGisItem(project, eTypeRte, project->childCount())
-    , penForeground(Qt::darkBlue, 3, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin)
-    , penForegroundFocus(Qt::magenta, 3, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin)
-    , totalDistance(NOFLOAT)
-    , totalTime(0)
-    , mouseMoveFocus(0)
 {
     history = hist;
     loadHistory(hist.histIdxCurrent);
@@ -123,22 +108,12 @@ CGisItemRte::CGisItemRte(const history_t& hist, IGisProject * project)
 
 CGisItemRte::CGisItemRte(quint64 id, QSqlDatabase& db, IGisProject * project)
     : IGisItem(project, eTypeRte, NOIDX)
-    , penForeground(Qt::darkBlue, 3, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin)
-    , penForegroundFocus(Qt::magenta, 3, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin)
-    , totalDistance(NOFLOAT)
-    , totalTime(0)
-    , mouseMoveFocus(0)
 {
     loadFromDb(id, db);
 }
 
 CGisItemRte::CGisItemRte(const SGisLine &l, const QString &name, IGisProject *project, int idx)
     : IGisItem(project, eTypeRte, idx)
-    , penForeground(Qt::darkBlue, 3, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin)
-    , penForegroundFocus(Qt::magenta, 3, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin)
-    , totalDistance(NOFLOAT)
-    , totalTime(0)
-    , mouseMoveFocus(0)
 {
     rte.name = name;
     readRouteDataFromGisLine(l);
@@ -476,7 +451,6 @@ void CGisItemRte::drawItem(QPainter& p, const QRectF& viewport, CGisDraw * gis)
         gis->convertRad2Px(anchor);
         p.drawEllipse(anchor, 5, 5);
 
-
         QString str, val, unit;
         IUnit::self().seconds2time(mouseMoveFocus->time, val, unit);
         str += QObject::tr("Time: %1 %2").arg(val).arg(unit) + " ";
@@ -491,23 +465,8 @@ void CGisItemRte::drawItem(QPainter& p, const QRectF& viewport, CGisDraw * gis)
         rectText.adjust(-5, -5, 5, 5);
         rectText.moveBottomLeft(anchor.toPoint() + QPoint(-50,-50));
 
-
-        // create bubble path
-        QPainterPath path1;
-        path1.addRoundedRect(rectText,5,5);
-
-        QPolygonF poly2;
-        poly2 << anchor << (rectText.bottomLeft() + QPointF(10,-5)) << (rectText.bottomLeft() + QPointF(30,-5)) << anchor;
-        QPainterPath path2;
-        path2.addPolygon(poly2);
-
-        path1 = path1.united(path2);
-
-
         p.setFont(f);
-        p.setPen(CDraw::penBorderGray);
-        p.setBrush(CDraw::brushBackWhite);
-        p.drawPolygon(path1.toFillPolygon());
+        CDraw::bubble(p, rectText, anchor.toPoint(), 18 /* px */, 21 /* px */);
 
         p.save();
         p.translate(5,5);
diff --git a/src/gis/rte/CGisItemRte.h b/src/gis/rte/CGisItemRte.h
index 164486f..941efa2 100644
--- a/src/gis/rte/CGisItemRte.h
+++ b/src/gis/rte/CGisItemRte.h
@@ -43,16 +43,6 @@ public:
 
     struct subpt_t
     {
-        subpt_t()
-            : lon(NOFLOAT)
-            , lat(NOFLOAT)
-            , type(eTypeNone)
-            , turn(NOFLOAT)
-            , bearing(NOFLOAT)
-            , time(0)
-        {
-        }
-
         enum type_e
         {
             eTypeNone
@@ -60,17 +50,17 @@ public:
             , eTypeJunct
         };
 
-        qreal lon;
-        qreal lat;
-        quint8 type;
+        qreal lon = NOFLOAT;
+        qreal lat = NOFLOAT;
+        quint8 type = eTypeNone;
 
-        qreal turn;
-        qreal bearing;
+        qreal turn = NOFLOAT;
+        qreal bearing = NOFLOAT;
         QStringList streets;
 
         QString instruction;
-        qreal distance;
-        quint32 time;
+        qreal distance = 0;
+        quint32 time = 0;
     };
 
     struct rtept_t : public wpt_t
@@ -91,16 +81,13 @@ public:
 
     struct rte_t
     {
-        rte_t() : number(0)
-        {
-        }
         // -- all gpx tags - start
         QString name;
         QString cmt;
         QString desc;
         QString src;
         QList<link_t> links;
-        quint64 number;
+        quint64 number = 0;
         QString type;
         QVector<rtept_t> pts;
         // -- all gpx tags - stop
@@ -115,7 +102,7 @@ public:
     virtual ~CGisItemRte();
 
     QDataStream& operator<<(QDataStream& stream);
-    QDataStream& operator>>(QDataStream& stream);
+    QDataStream& operator>>(QDataStream& stream) const;
 
     const QString& getName() const
     {
@@ -216,8 +203,8 @@ private:
     static key_t keyUserFocus;
 
     static const QPen penBackground;
-    QPen penForeground;
-    QPen penForegroundFocus;
+    QPen penForeground {Qt::darkBlue, 3, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin};
+    QPen penForegroundFocus {Qt::magenta, 3, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin};
 
     rte_t rte;
     QPolygonF line;
@@ -225,10 +212,10 @@ private:
     QString lastRoutedWith;
     QDateTime lastRoutedTime;
 
-    qreal totalDistance;
-    quint32 totalTime;
+    qreal totalDistance = NOFLOAT;
+    quint32 totalTime = 0;
 
-    const subpt_t * mouseMoveFocus;
+    const subpt_t * mouseMoveFocus = 0;
 
     QPointer<CScrOptRte>  scrOpt;
 };
diff --git a/src/gis/rte/CScrOptRte.cpp b/src/gis/rte/CScrOptRte.cpp
index 1bc209a..0ba5662 100644
--- a/src/gis/rte/CScrOptRte.cpp
+++ b/src/gis/rte/CScrOptRte.cpp
@@ -17,6 +17,7 @@
 **********************************************************************************************/
 
 #include "CMainWindow.h"
+#include "canvas/CCanvas.h"
 #include "gis/CGisWidget.h"
 #include "gis/rte/CGisItemRte.h"
 #include "gis/rte/CScrOptRte.h"
@@ -122,6 +123,6 @@ void CScrOptRte::draw(QPainter& p)
     }
     item->drawHighlight(p);
 
-    CDraw::bubble2(*this, anchor, p);
+    CDraw::bubble(p, geometry(), anchor.toPoint());
 }
 
diff --git a/src/gis/rte/IDetailsRte.ui b/src/gis/rte/IDetailsRte.ui
index 0604bb0..f60eddf 100644
--- a/src/gis/rte/IDetailsRte.ui
+++ b/src/gis/rte/IDetailsRte.ui
@@ -164,6 +164,9 @@
            <verstretch>0</verstretch>
           </sizepolicy>
          </property>
+         <property name="openLinks">
+          <bool>false</bool>
+         </property>
         </widget>
        </item>
       </layout>
@@ -201,7 +204,7 @@
   <customwidget>
    <class>CHistoryListWidget</class>
    <extends>QListWidget</extends>
-   <header>helpers/CHistoryListWidget.h</header>
+   <header>widgets/CHistoryListWidget.h</header>
   </customwidget>
  </customwidgets>
  <resources>
diff --git a/src/gis/rte/IScrOptRte.ui b/src/gis/rte/IScrOptRte.ui
index 70d702a..e7580d0 100644
--- a/src/gis/rte/IScrOptRte.ui
+++ b/src/gis/rte/IScrOptRte.ui
@@ -14,6 +14,21 @@
    <string>Form</string>
   </property>
   <layout class="QVBoxLayout" name="verticalLayout">
+   <property name="spacing">
+    <number>3</number>
+   </property>
+   <property name="leftMargin">
+    <number>3</number>
+   </property>
+   <property name="topMargin">
+    <number>3</number>
+   </property>
+   <property name="rightMargin">
+    <number>3</number>
+   </property>
+   <property name="bottomMargin">
+    <number>3</number>
+   </property>
    <item>
     <layout class="QHBoxLayout" name="horizontalLayout">
      <property name="spacing">
diff --git a/src/gis/rte/router/CRouterRoutino.cpp b/src/gis/rte/router/CRouterRoutino.cpp
index 3b159be..77b2d3d 100644
--- a/src/gis/rte/router/CRouterRoutino.cpp
+++ b/src/gis/rte/router/CRouterRoutino.cpp
@@ -47,7 +47,6 @@ int ProgressFunc(double complete)
 
 CRouterRoutino::CRouterRoutino(QWidget *parent)
     : IRouter(true, parent)
-    , mutex(QMutex::NonRecursive)
 {
     setupUi(this);
 
diff --git a/src/gis/rte/router/CRouterRoutino.h b/src/gis/rte/router/CRouterRoutino.h
index 2d7a5b1..d4c4cee 100644
--- a/src/gis/rte/router/CRouterRoutino.h
+++ b/src/gis/rte/router/CRouterRoutino.h
@@ -54,7 +54,7 @@ private:
     QString xlateRoutinoError(int err);
     QStringList dbPaths;
 
-    QMutex mutex;
+    QMutex mutex {QMutex::NonRecursive};
 };
 
 #endif //CROUTERROUTINO_H
diff --git a/src/gis/tnv/CTwoNavProject.cpp b/src/gis/tnv/CTwoNavProject.cpp
index 4d9f951..1ebe019 100644
--- a/src/gis/tnv/CTwoNavProject.cpp
+++ b/src/gis/tnv/CTwoNavProject.cpp
@@ -155,8 +155,8 @@ bool CTwoNavProject::saveAs()
     SETTINGS;
     QString path = cfg.value("Paths/lastGisPath", QDir::homePath()).toString();
 
-    QString filter = "*.gpx";
-    QString fn = QFileDialog::getSaveFileName(CMainWindow::getBestWidgetForParent(), QObject::tr("Save GIS data to..."), path, "*.gpx;; *.qms", &filter);
+    QString filter = filedialogFilterGPX;
+    QString fn = QFileDialog::getSaveFileName(CMainWindow::getBestWidgetForParent(), QObject::tr("Save GIS data to..."), path, filedialogSaveFilters, &filter);
 
     if(fn.isEmpty())
     {
@@ -164,11 +164,11 @@ bool CTwoNavProject::saveAs()
     }
 
     bool res = false;
-    if(filter == "*.gpx")
+    if(filter == filedialogFilterGPX)
     {
         res = CGpxProject::saveAs(fn, *this);
     }
-    else if(filter == "*.qms")
+    else if(filter == filedialogFilterQMS)
     {
         res = CQmsProject::saveAs(fn, *this);
     }
diff --git a/src/gis/tnv/serialization.cpp b/src/gis/tnv/serialization.cpp
index 49bed43..d7de76f 100644
--- a/src/gis/tnv/serialization.cpp
+++ b/src/gis/tnv/serialization.cpp
@@ -67,7 +67,6 @@ static QStringList writeCompeTime( const QDateTime& t, bool isTrack)
 {
     QStringList result;
     QString dateFormat;
-    QString monthStr;
 
     if(!t.isValid())
     {
@@ -84,56 +83,8 @@ static QStringList writeCompeTime( const QDateTime& t, bool isTrack)
 
     QDateTime timestamp = t.toTimeSpec(Qt::UTC);
 
-    switch(timestamp.date().month())
-    {
-    case 1:
-        monthStr = "Jan";
-        break;
-
-    case 2:
-        monthStr = "Feb";
-        break;
-
-    case 3:
-        monthStr = "Mar";
-        break;
-
-    case 4:
-        monthStr = "Apr";
-        break;
-
-    case 5:
-        monthStr = "May";
-        break;
-
-    case 6:
-        monthStr = "Jun";
-        break;
-
-    case 7:
-        monthStr = "Jul";
-        break;
-
-    case 8:
-        monthStr = "Aug";
-        break;
-
-    case 9:
-        monthStr = "Sep";
-        break;
-
-    case 10:
-        monthStr = "Oct";
-        break;
-
-    case 11:
-        monthStr = "Nov";
-        break;
-
-    case 12:
-        monthStr = "Dec";
-        break;
-    }
+    QString monthStrs[] = { "", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" };
+    QString monthStr    = monthStrs[timestamp.date().month()];
 
     if(isTrack)
     {
@@ -165,59 +116,24 @@ static QDateTime readCompeTime(QString str, bool isTrack)
 
     if(re.exactMatch(str))
     {
-        QString monthNum;
         QString monthStr = re.cap(2);
 
-        if(monthStr.toUpper() == "JAN")
-        {
-            monthNum = "01";
-        }
-        else if(monthStr.toUpper() == "FEB")
-        {
-            monthNum = "02";
-        }
-        else if(monthStr.toUpper() == "MAR")
-        {
-            monthNum = "03";
-        }
-        else if(monthStr.toUpper() == "APR")
-        {
-            monthNum = "04";
-        }
-        else if(monthStr.toUpper() == "MAY")
-        {
-            monthNum = "05";
-        }
-        else if(monthStr.toUpper() == "JUN")
-        {
-            monthNum = "06";
-        }
-        else if(monthStr.toUpper() == "JUL")
-        {
-            monthNum = "07";
-        }
-        else if(monthStr.toUpper() == "AUG")
-        {
-            monthNum = "08";
-        }
-        else if(monthStr.toUpper() == "SEP")
-        {
-            monthNum = "09";
-        }
-        else if(monthStr.toUpper() == "OCT")
-        {
-            monthNum = "10";
-        }
-        else if(monthStr.toUpper() == "NOV")
-        {
-            monthNum = "11";
-        }
-        else if(monthStr.toUpper() == "DEC")
-        {
-            monthNum = "12";
-        }
-
-        str.replace(monthStr, monthNum);
+        QHash<QString, QString> monthStr2Num {
+            {"JAN", "01"}
+            ,{"FEB", "02"}
+            ,{"MAR", "03"}
+            ,{"APR", "04"}
+            ,{"MAY", "05"}
+            ,{"JUN", "06"}
+            ,{"JUL", "07"}
+            ,{"AUG", "08"}
+            ,{"SEP", "09"}
+            ,{"OCT", "10"}
+            ,{"NOV", "11"}
+            ,{"DEC", "12"}
+        };
+
+        str.replace(monthStr, monthStr2Num.value(monthStr.toUpper()));
 
         if(isTrack)
         {
diff --git a/src/gis/trk/CActivityTrk.cpp b/src/gis/trk/CActivityTrk.cpp
index 3c68753..814fffa 100644
--- a/src/gis/trk/CActivityTrk.cpp
+++ b/src/gis/trk/CActivityTrk.cpp
@@ -98,12 +98,9 @@ CActivityTrk::CActivityTrk(CGisItemTrk * trk)
     actDescriptor[4].name = QObject::tr("Cable Car");
     actDescriptor[5].name = QObject::tr("Swim");
     actDescriptor[6].name = QObject::tr("Ship");
-    actDescriptor[7].name = QObject::tr("Aeronautik");
+    actDescriptor[7].name = QObject::tr("Aeronautics");
 }
 
-CActivityTrk::~CActivityTrk()
-{
-}
 
 void CActivityTrk::update()
 {
diff --git a/src/gis/trk/CActivityTrk.h b/src/gis/trk/CActivityTrk.h
index 93ad891..1481172 100644
--- a/src/gis/trk/CActivityTrk.h
+++ b/src/gis/trk/CActivityTrk.h
@@ -27,7 +27,7 @@ class CGisItemTrk;
 class CActivityTrk
 {
 public:
-    virtual ~CActivityTrk();
+    virtual ~CActivityTrk() = default;
 
     struct activity_summary_t
     {
@@ -58,7 +58,7 @@ public:
 
     /**
        @brief Get sum of all flags seen in the track
-       @return A 32 bit field with all available activity falgs set.
+       @return A 32 bit field with all available activity flags set.
      */
     quint32 getAllFlags() const
     {
diff --git a/src/gis/trk/CCutTrk.cpp b/src/gis/trk/CCutTrk.cpp
new file mode 100644
index 0000000..dad9c90
--- /dev/null
+++ b/src/gis/trk/CCutTrk.cpp
@@ -0,0 +1,82 @@
+/**********************************************************************************************
+    Copyright (C) 2014-2015 Oliver Eichler oliver.eichler at gmx.de
+
+    This program is free software: you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+**********************************************************************************************/
+
+#include "gis/trk/CCutTrk.h"
+#include "helpers/CSettings.h"
+
+#include <QtWidgets>
+
+CCutTrk::CCutTrk(QWidget *parent)
+    : QDialog(parent)
+{
+    setupUi(this);
+
+    connect(radioKeepFirst, SIGNAL(toggled(bool)), this, SLOT(slotClicked()));
+    connect(radioKeepBoth, SIGNAL(toggled(bool)), this, SLOT(slotClicked()));
+    connect(radioKeepSecond, SIGNAL(toggled(bool)), this, SLOT(slotClicked()));
+
+    SETTINGS;
+    cfg.beginGroup("TrackCut");
+    checkCreateClone->setChecked(cfg.value("checkCreateClone", true).toBool());
+    switch(cfg.value("mode", eModeKeepBoth).toInt())
+    {
+    case eModeKeepFirst:
+        radioKeepFirst->setChecked(true);
+        break;
+
+    case eModeKeepBoth:
+        radioKeepBoth->setChecked(true);
+        break;
+
+    case eModeKeepSecond:
+        radioKeepSecond->setChecked(true);
+        break;
+    }
+
+    cfg.endGroup();
+}
+
+
+void CCutTrk::accept()
+{
+    SETTINGS;
+    cfg.beginGroup("TrackCut");
+    cfg.setValue("checkCreateClone", checkCreateClone->isChecked());
+    cfg.setValue("mode", radioKeepFirst->isChecked() ? eModeKeepFirst : radioKeepBoth->isChecked() ? eModeKeepBoth : radioKeepSecond->isChecked() ? eModeKeepSecond : eModeNone);
+    cfg.endGroup();
+
+    if(radioKeepFirst->isChecked())
+    {
+        mode = eModeKeepFirst;
+    }
+    else if(radioKeepBoth->isChecked())
+    {
+        mode = eModeKeepBoth;
+    }
+    else if(radioKeepSecond->isChecked())
+    {
+        mode = eModeKeepSecond;
+    }
+
+    QDialog::accept();
+}
+
+void CCutTrk::slotClicked()
+{
+    checkCreateClone->setEnabled(!radioKeepBoth->isChecked());
+}
diff --git a/src/gis/rte/CDetailsRte.h b/src/gis/trk/CCutTrk.h
similarity index 62%
copy from src/gis/rte/CDetailsRte.h
copy to src/gis/trk/CCutTrk.h
index 8d0d8af..9501159 100644
--- a/src/gis/rte/CDetailsRte.h
+++ b/src/gis/trk/CCutTrk.h
@@ -16,32 +16,46 @@
 
 **********************************************************************************************/
 
-#ifndef CDETAILSRTE_H
-#define CDETAILSRTE_H
+#ifndef CCUTTRK_H
+#define CCUTTRK_H
 
-#include "ui_IDetailsRte.h"
+#include "ui_ICutTrk.h"
 #include <QDialog>
 
-class CGisItemRte;
-
-class CDetailsRte : public QDialog, private Ui::IDetailsRte
+class CCutTrk : public QDialog, private Ui::ICutTrk
 {
     Q_OBJECT
 public:
-    CDetailsRte(CGisItemRte& rte, QWidget * parent);
-    virtual ~CDetailsRte();
+    CCutTrk(QWidget * parent);
+    virtual ~CCutTrk() = default;
+
+    enum mode_e
+    {
+        eModeNone           = 0
+        , eModeKeepFirst    = 1
+        , eModeKeepBoth     = 2
+        , eModeKeepSecond   = 4
+    };
+
+    mode_e getMode() const
+    {
+        return mode;
+    }
+
+    bool createClone()
+    {
+        return checkCreateClone->isChecked();
+    }
+
+public slots:
+    void accept();
 
 private slots:
-    void slotChangeReadOnlyMode(bool on);
-    void slotLinkActivated(const QUrl& url);
-    void slotLinkActivated(const QString& link);
-    void setupGui();
+    void slotClicked();
 
 private:
-    CGisItemRte& rte;
-
-    bool originator;
+    mode_e mode = eModeNone;
 };
 
-#endif //CDETAILSRTE_H
+#endif //CCUTTRK_H
 
diff --git a/src/gis/trk/CDetailsTrk.cpp b/src/gis/trk/CDetailsTrk.cpp
index 7a83bdd..6e9cd21 100644
--- a/src/gis/trk/CDetailsTrk.cpp
+++ b/src/gis/trk/CDetailsTrk.cpp
@@ -17,6 +17,9 @@
 **********************************************************************************************/
 
 #include "gis/trk/CDetailsTrk.h"
+#include "gis/trk/CKnownExtension.h"
+#include "gis/trk/CPropertyTrk.h"
+#include "gis/trk/filter/CFilterInvalid.h"
 #include "gis/trk/filter/CFilterDelete.h"
 #include "gis/trk/filter/CFilterDouglasPeuker.h"
 #include "gis/trk/filter/CFilterMedian.h"
@@ -28,8 +31,9 @@
 #include "gis/trk/filter/CFilterSpeed.h"
 #include "helpers/CLinksDialog.h"
 #include "helpers/CSettings.h"
-#include "helpers/CTextEditWidget.h"
+#include "plot/CPlotProfile.h"
 #include "units/IUnit.h"
+#include "widgets/CTextEditWidget.h"
 
 #include <QtWidgets>
 #include <proj_api.h>
@@ -37,17 +41,19 @@
 CDetailsTrk::CDetailsTrk(CGisItemTrk& trk, QWidget *parent)
     : QWidget(parent)
     , trk(trk)
-    , originator(false)
 {
     setupUi(this);
 
     QPixmap icon(16,8);
+
     for(int i=0; i < TRK_N_COLORS; ++i)
     {
-        icon.fill(CGisItemTrk::lineColors[i]);
-        comboColor->addItem(icon,"",CGisItemTrk::lineColors[i]);
+        icon.fill(IGisItem::colorMap[i].color);
+        comboColor->addItem(icon, IGisItem::colorMap[i].name, IGisItem::colorMap[i].color);
     }
 
+    widgetColorLayout->setAlignment(Qt::AlignTop);
+
     int i = 0;
     const CActivityTrk::desc_t* actDesc = CActivityTrk::getActivityDescriptors();
     while(!actDesc[i].name.isEmpty())
@@ -56,8 +62,8 @@ CDetailsTrk::CDetailsTrk(CGisItemTrk& trk, QWidget *parent)
         QCheckBox * check = new QCheckBox(this);
         check->setText(desc.name);
         check->setIcon(QIcon(desc.iconLarge));
-        check->setProperty("flag", desc.flag);
-        check->setProperty("name", desc.name);
+        check->setProperty("flag",   desc.flag);
+        check->setProperty("name",   desc.name);
         check->setProperty("symbol", desc.iconLarge);
         check->setObjectName("check" + desc.objName);
 
@@ -69,12 +75,31 @@ CDetailsTrk::CDetailsTrk(CGisItemTrk& trk, QWidget *parent)
     }
     layoutActivities->addItem(new QSpacerItem(0,0,QSizePolicy::Maximum, QSizePolicy::MinimumExpanding));
 
+
+
     setupGui();
 
-    plotElevation->setTrack(&trk);
-    plotDistance->setTrack(&trk);
-    plotSpeed->setTrack(&trk);
+    const CPropertyTrk * propHandler = trk.getPropertyHandler();
+    propHandler->fillComboBox(comboGraph2);
+    propHandler->fillComboBox(comboGraph3);
 
+    plot1 = new CPlotProfile(&trk, IPlot::eModeNormal, this);
+    plot1->setMinimumSize(QSize(0, 100));
+    plot1->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::MinimumExpanding);
+    plot1->show();
+    layoutPlot->addWidget(plot1);
+
+    plot2 = new CPlot(&trk, this);
+    plot2->setMinimumSize(QSize(0, 100));
+    plot2->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::MinimumExpanding);
+    plot2->show();
+    layoutPlot->addWidget(plot2);
+
+    plot3 = new CPlot(&trk, this);
+    plot3->setMinimumSize(QSize(0, 100));
+    plot3->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::MinimumExpanding);
+    plot3->show();
+    layoutPlot->addWidget(plot3);
 
     if(trk.isOnDevice())
     {
@@ -90,6 +115,9 @@ CDetailsTrk::CDetailsTrk(CGisItemTrk& trk, QWidget *parent)
     treeFilter->setItemWidget(item,0, new CFilterDouglasPeuker(trk, treeFilter));
 
     item = new QTreeWidgetItem(item0);
+    treeFilter->setItemWidget(item,0, new CFilterInvalid(trk, treeFilter));
+
+    item = new QTreeWidgetItem(item0);
     treeFilter->setItemWidget(item,0, new CFilterReset(trk, treeFilter));
 
     item = new QTreeWidgetItem(item0);
@@ -127,27 +155,57 @@ CDetailsTrk::CDetailsTrk(CGisItemTrk& trk, QWidget *parent)
 
     SETTINGS;
     cfg.beginGroup("TrackDetails");
-    checkProfile->setChecked(cfg.value("showProfile", true).toBool());
-    checkSpeed->setChecked(cfg.value("showSpeed", true).toBool());
-    checkProgress->setChecked(cfg.value("showProgress", true).toBool());
-    splitter->restoreState(cfg.value("splitterSizes").toByteArray());
+    checkGraph1->setChecked(cfg.value("showGraph1", true).toBool());
+    checkGraph2->setChecked(cfg.value("showGraph2", true).toBool());
+    checkGraph3->setChecked(cfg.value("showGraph3", true).toBool());
+    splitter->restoreState   (cfg.value("splitterSizes").toByteArray());
     treeWidget->header()->restoreState(cfg.value("trackPointListState").toByteArray());
+    tabWidget->setCurrentIndex(cfg.value("visibleTab", 0).toInt());
     cfg.endGroup();
 
-    connect(checkProfile, SIGNAL(clicked()), this, SLOT(slotShowPlots()));
-    connect(checkSpeed, SIGNAL(clicked()), this, SLOT(slotShowPlots()));
-    connect(checkProgress, SIGNAL(clicked()), this, SLOT(slotShowPlots()));
-    connect(comboColor, SIGNAL(currentIndexChanged(int)), this, SLOT(slotColorChanged(int)));
-    connect(toolLock, SIGNAL(toggled(bool)), this, SLOT(slotChangeReadOnlyMode(bool)));
-    connect(treeWidget, SIGNAL(itemSelectionChanged()), this, SLOT(slotItemSelectionChanged()));
-    connect(textCmtDesc, SIGNAL(anchorClicked(QUrl)), this, SLOT(slotLinkActivated(QUrl)));
-    connect(labelInfo, SIGNAL(linkActivated(QString)), this, SLOT(slotLinkActivated(QString)));
+    connect(checkGraph1, SIGNAL(clicked()), this, SLOT(slotShowPlots()));
+    connect(checkGraph2, SIGNAL(clicked()), this, SLOT(slotShowPlots()));
+    connect(checkGraph3, SIGNAL(clicked()), this, SLOT(slotShowPlots()));
+    connect(comboColor,       SIGNAL(currentIndexChanged(int)),   this, SLOT(slotColorChanged(int)));
+    connect(toolLock,         SIGNAL(toggled(bool)),              this, SLOT(slotChangeReadOnlyMode(bool)));
+    connect(treeWidget,       SIGNAL(itemSelectionChanged()),     this, SLOT(slotItemSelectionChanged()));
+    connect(textCmtDesc,      SIGNAL(anchorClicked(QUrl)),        this, SLOT(slotLinkActivated(QUrl)));
+    connect(labelInfo,        SIGNAL(linkActivated(QString)),     this, SLOT(slotLinkActivated(QString)));
+
+    connect(plot3, SIGNAL(sigMouseClickState(int)), this, SLOT(slotMouseClickState(int)));
+    connect(plot1, SIGNAL(sigMouseClickState(int)), this, SLOT(slotMouseClickState(int)));
+    connect(plot2, SIGNAL(sigMouseClickState(int)), this, SLOT(slotMouseClickState(int)));
+    connect(comboColorSource, SIGNAL(currentIndexChanged(int)),   this, SLOT(slotColorSourceChanged(int)));
+    connect(spinLimitHigh,    SIGNAL(valueChangedByStep(double)), this, SLOT(slotColorLimitHighChanged()));
+    connect(spinLimitHigh,    SIGNAL(editingFinished()),          this, SLOT(slotColorLimitHighChanged()));
+    connect(spinLimitLow,     SIGNAL(valueChangedByStep(double)), this, SLOT(slotColorLimitLowChanged()));
+    connect(spinLimitLow,     SIGNAL(editingFinished()),          this, SLOT(slotColorLimitLowChanged()));
+
+    connect(btnMaxFromData,   SIGNAL(clicked()),                  this, SLOT(slotLimitHighFromData()));
+    connect(btnMinFromData,   SIGNAL(clicked()),                  this, SLOT(slotLimitLowFromData()));
+
+    connect(listHistory,      SIGNAL(sigChanged()),               this, SLOT(setupGui()));
+
+    connect(comboGraph2, SIGNAL(currentIndexChanged(int)), this, SLOT(slotSetupGraph(int)));
+    connect(comboGraph3, SIGNAL(currentIndexChanged(int)), this, SLOT(slotSetupGraph(int)));
+
+    // setting up the graph properties will trigger the signals
+    // this is good because the signals are connected at this point
+    // invoking the slots
+    cfg.beginGroup("TrackDetails");
+    i = comboGraph2->findData(cfg.value("propGraph2","speed").toString());
+    if(i != NOIDX)
+    {
+        comboGraph2->setCurrentIndex(i);
+    }
 
-    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)));
+    i = comboGraph3->findData(cfg.value("propGraph3","progress").toString());
+    if(i != NOIDX)
+    {
+        comboGraph3->setCurrentIndex(i);
+    }
+    cfg.endGroup();
 
-    connect(listHistory, SIGNAL(sigChanged()), this, SLOT(setupGui()));
 
     slotShowPlots();
 }
@@ -156,15 +214,42 @@ CDetailsTrk::~CDetailsTrk()
 {
     SETTINGS;
     cfg.beginGroup("TrackDetails");
-    cfg.setValue("showProfile", checkProfile->isChecked());
-    cfg.setValue("showSpeed", checkSpeed->isChecked());
-    cfg.setValue("showProgress", checkProgress->isChecked());
-    cfg.setValue("splitterSizes", splitter->saveState());
+    cfg.setValue("showGraph1", checkGraph1->isChecked());
+    cfg.setValue("showGraph2", checkGraph2->isChecked());
+    cfg.setValue("showGraph3", checkGraph3->isChecked());
+
+    if(comboGraph2->currentIndex() != 0)
+    {
+        cfg.setValue("propGraph2", comboGraph2->currentData().toString());
+    }
+    if(comboGraph3->currentIndex() != 0)
+    {
+        cfg.setValue("propGraph3", comboGraph3->currentData().toString());
+    }
+
+    cfg.setValue("splitterSizes",       splitter->saveState());
     cfg.setValue("trackPointListState", treeWidget->header()->saveState());
+    cfg.setValue("visibleTab", tabWidget->currentIndex());
     cfg.endGroup();
 }
 
+void CDetailsTrk::slotLimitLowFromData()
+{
+    qreal min, max;
+    trk.getExtrema(min, max, trk.getColorizeSource());
+    spinLimitLow->setValue(min);
+    slotColorLimitLowChanged();
+    slotColorLimitHighChanged();
+}
 
+void CDetailsTrk::slotLimitHighFromData()
+{
+    qreal min, max;
+    trk.getExtrema(min, max, trk.getColorizeSource());
+    spinLimitHigh->setValue(max);
+    slotColorLimitHighChanged();
+    slotColorLimitLowChanged();
+}
 
 void CDetailsTrk::setupGui()
 {
@@ -178,21 +263,13 @@ void CDetailsTrk::setupGui()
     QString str, val, unit;
     bool isReadOnly = trk.isReadOnly();
 
-    tabWidget->widget(3)->setEnabled(!isReadOnly);
-    tabWidget->widget(1)->setEnabled(!isReadOnly);
+    tabWidget->widget(eTabFilter)->setEnabled(!isReadOnly);
+    tabWidget->widget(eTabActivity)->setEnabled(!isReadOnly);
 
-    if(trk.isTainted())
-    {
-        labelTainted->show();
-    }
-    else
-    {
-        labelTainted->hide();
-    }
+    labelTainted->setVisible(trk.isTainted());
 
     labelInfo->setText(trk.getInfo(true));
     comboColor->setCurrentIndex(trk.getColorIdx());
-    comboColor->setEnabled(!isReadOnly);
     toolLock->setChecked(isReadOnly);
 
     QList<QTreeWidgetItem*> items;
@@ -202,28 +279,18 @@ void CDetailsTrk::setupGui()
         foreach(const CGisItemTrk::trkpt_t& trkpt, seg.pts)
         {
             QTreeWidgetItem * item = new QTreeWidgetItem();
-            item->setTextAlignment(eColNum,Qt::AlignLeft);
-            item->setTextAlignment(eColEle,Qt::AlignRight);
-            item->setTextAlignment(eColDelta,Qt::AlignRight);
-            item->setTextAlignment(eColDist,Qt::AlignRight);
-            item->setTextAlignment(eColAscend,Qt::AlignRight);
-            item->setTextAlignment(eColDescend,Qt::AlignRight);
-            item->setTextAlignment(eColSpeed,Qt::AlignRight);
-
-
-            if(trkpt.flags & CGisItemTrk::trkpt_t::eHidden)
-            {
-                for(int i = 0; i < eColMax; i++)
-                {
-                    item->setForeground(i,QBrush(Qt::gray));
-                }
-            }
-            else
+            item->setTextAlignment(eColNum,     Qt::AlignLeft);
+            item->setTextAlignment(eColEle,     Qt::AlignRight);
+            item->setTextAlignment(eColDelta,   Qt::AlignRight);
+            item->setTextAlignment(eColDist,    Qt::AlignRight);
+            item->setTextAlignment(eColAscend,  Qt::AlignRight);
+            item->setTextAlignment(eColDescend, Qt::AlignRight);
+            item->setTextAlignment(eColSpeed,   Qt::AlignRight);
+
+            QBrush b( trkpt.flags & CGisItemTrk::trkpt_t::eHidden ? Qt::gray : Qt::black );
+            for(int i = 0; i < eColMax; i++)
             {
-                for(int i = 0; i < eColMax; i++)
-                {
-                    item->setForeground(i,QBrush(Qt::black));
-                }
+                item->setForeground(i, b);
             }
 
             item->setText(eColNum,QString::number(trkpt.idxTotal));
@@ -318,16 +385,9 @@ void CDetailsTrk::setupGui()
     trk.getActivities().printSummary(str);
     labelActivityInfo->setText(str);
 
-    if((flags & CGisItemTrk::trkpt_t::eActMask) == 0)
-    {
-        labelActivityHelp->show();
-        labelActivityInfo->hide();
-    }
-    else
-    {
-        labelActivityHelp->hide();
-        labelActivityInfo->show();
-    }
+    bool hasActivity = 0 != (flags & CGisItemTrk::trkpt_t::eActMask);
+    labelActivityHelp->setVisible(!hasActivity);
+    labelActivityInfo->setVisible(hasActivity);
 
     plotTrack->setTrack(&trk);
     listHistory->setupHistory(trk);
@@ -343,6 +403,85 @@ void CDetailsTrk::setupGui()
         }
     }
 
+    comboColorSource->blockSignals(true);
+    comboColorSource->clear();
+    // the first entry `solid color`, it is always available
+    comboColorSource->addItem(QIcon("://icons/32x32/CSrcSolid.png"), tr("Solid color"));
+    foreach(const QString &key, trk.getExistingDataSources())
+    {
+        const CKnownExtension &ext = CKnownExtension::get(key);
+        QIcon icon(ext.icon);
+        comboColorSource->addItem(icon, ext.known ? ext.name : key, key);
+    }
+    int currentIdx = comboColorSource->findData(trk.getColorizeSource());
+    if(-1 == currentIdx)
+    {
+        currentIdx = 0;
+    }
+    comboColorSource->setCurrentIndex(currentIdx);
+    comboColorSource->blockSignals(false);
+
+    bool enabled = (0 < currentIdx);
+
+    spinLimitLow->setEnabled    (enabled);
+    spinLimitHigh->setEnabled   (enabled);
+    widgetColorLabel->setEnabled(enabled);
+    btnMinFromData->setEnabled  (enabled);
+    btnMaxFromData->setEnabled  (enabled);
+
+    if(enabled)
+    {
+        const CKnownExtension &ext = CKnownExtension::get(comboColorSource->itemData(currentIdx).toString());
+
+        spinLimitLow->blockSignals(true);
+        spinLimitLow->setMinimum(ext.minimum);
+        spinLimitLow->setMaximum(ext.maximum);
+        spinLimitLow->setSuffix (ext.unit);
+        spinLimitLow->setValue  (trk.getColorizeLimitLow());
+        spinLimitLow->blockSignals(false);
+
+        spinLimitHigh->blockSignals(true);
+        spinLimitHigh->setMinimum(ext.minimum);
+        spinLimitHigh->setMaximum(ext.maximum);
+        spinLimitHigh->setSuffix (ext.unit);
+        spinLimitHigh->setValue  (trk.getColorizeLimitHigh());
+        spinLimitHigh->blockSignals(false);
+
+        widgetColorLabel->setMinimum(spinLimitLow->value());
+        widgetColorLabel->setMaximum(spinLimitHigh->value());
+        widgetColorLabel->setUnit(ext.unit);
+    }
+
+
+    // refill comboboxes to select track property to be displayed by graphs
+    const CPropertyTrk * p = trk.getPropertyHandler();
+
+    comboGraph2->blockSignals(true);
+    p->fillComboBox(comboGraph2);
+    comboGraph2->blockSignals(false);
+
+    comboGraph3->blockSignals(true);
+    p->fillComboBox(comboGraph3);
+    comboGraph3->blockSignals(false);
+
+    // try to restore last graph setup
+    // signals are unblocked by now changing the combobox will trigger a graph update
+    SETTINGS;
+    cfg.beginGroup("TrackDetails");
+    i = comboGraph2->findData(cfg.value("propGraph2","speed").toString());
+    if(i != NOIDX)
+    {
+        comboGraph2->setCurrentIndex(i);
+    }
+
+    i = comboGraph3->findData(cfg.value("propGraph3","progress").toString());
+    if(i != NOIDX)
+    {
+        comboGraph3->setCurrentIndex(i);
+    }
+    cfg.endGroup();
+
+
     originator = false;
     CCanvas::restoreOverrideCursor("CDetailsTrk::setupGui");
 }
@@ -389,47 +528,54 @@ void CDetailsTrk::slotMouseClickState(int s)
     if(s == IPlot::eMouseClickIdle)
     {
         labelInfoRange->setText("-\n-");
-        plotDistance->setMouseRangeFocus(0,0);
-        plotElevation->setMouseRangeFocus(0,0);
-        plotSpeed->setMouseRangeFocus(0,0);
+        plot3->setMouseRangeFocus(0,0);
+        plot1->setMouseRangeFocus(0,0);
+        plot2->setMouseRangeFocus(0,0);
     }
 }
 
 void CDetailsTrk::slotShowPlots()
 {
-    if(checkProfile->isChecked())
-    {
-        plotElevation->show();
-    }
-    else
-    {
-        plotElevation->hide();
-    }
+    plot1->setVisible(checkGraph1->isChecked());
+    plot2->setVisible(checkGraph2->isChecked());
+    plot3->setVisible(checkGraph3->isChecked());
+}
 
-    if(checkSpeed->isChecked())
-    {
-        plotSpeed->show();
-    }
-    else
+void CDetailsTrk::slotColorChanged(int idx)
+{
+    if(trk.getColorIdx() != idx)
     {
-        plotSpeed->hide();
+        trk.setColor(idx);
     }
+}
 
-    if(checkProgress->isChecked())
-    {
-        plotDistance->show();
-    }
-    else
+void CDetailsTrk::slotColorSourceChanged(int idx, float valueLow, float valueHigh)
+{
+    trk.setColorizeSource(comboColorSource->itemData(idx).toString());
+    setupGui();
+}
+
+void CDetailsTrk::slotColorLimitHighChanged()
+{
+    const double val = spinLimitHigh->value();
+    trk.setColorizeLimitHigh(val);
+    widgetColorLabel->setMaximum(val);
+
+    if(spinLimitLow->value() >= val)
     {
-        plotDistance->hide();
+        spinLimitLow->setValue(val - .1f);
     }
 }
 
-void CDetailsTrk::slotColorChanged(int idx)
+void CDetailsTrk::slotColorLimitLowChanged()
 {
-    if(trk.getColorIdx() != idx)
+    const double val = spinLimitLow->value();
+    trk.setColorizeLimitLow(val);
+    widgetColorLabel->setMinimum(val);
+
+    if(spinLimitHigh->value() <= val)
     {
-        trk.setColor(idx);
+        spinLimitHigh->setValue(val + .1f);
     }
 }
 
@@ -524,3 +670,24 @@ void CDetailsTrk::slotActivitySelected(bool checked)
         trk.setActivity(flag, s->property("name").toString(), s->property("symbol").toString());
     }
 }
+
+void CDetailsTrk::slotSetupGraph(int idx)
+{
+    const CPropertyTrk * propHandler = trk.getPropertyHandler();
+    CPlot * plot = 0;
+    QObject * s = sender();
+
+    if(s == comboGraph2)
+    {
+        plot = plot2;
+    }
+    else if(s == comboGraph3)
+    {
+        plot = plot3;
+    }
+
+    if(plot)
+    {
+        propHandler->setupPlot(plot, idx);
+    }
+}
diff --git a/src/gis/trk/CDetailsTrk.h b/src/gis/trk/CDetailsTrk.h
index 2693844..4aedad7 100644
--- a/src/gis/trk/CDetailsTrk.h
+++ b/src/gis/trk/CDetailsTrk.h
@@ -19,10 +19,12 @@
 #ifndef CDETAILSTRK_H
 #define CDETAILSTRK_H
 
+#include "plot/CPlot.h"
 #include "ui_IDetailsTrk.h"
 #include <QWidget>
 
 class CGisItemTrk;
+class CPlotProfile;
 
 class CDetailsTrk : public QWidget, private Ui::IDetailsTrk
 {
@@ -48,6 +50,15 @@ private slots:
     void slotMouseClickState(int);
     void slotActivitySelected(bool checked);
 
+    void slotColorSourceChanged(int idx, float valueLow = HUGE_VALF, float valueHigh = HUGE_VALF);
+    void slotColorLimitHighChanged();
+    void slotColorLimitLowChanged();
+
+    void slotLimitLowFromData();
+    void slotLimitHighFromData();
+
+    void slotSetupGraph(int idx);
+
 private:
     enum columns_t
     {
@@ -64,6 +75,17 @@ private:
         ,eColMax
     };
 
+    enum tabs_t
+    {
+        eTabInfo
+        ,eTabStyle
+        ,eTabGraphs
+        ,eTabActivity
+        ,eTabPoints
+        ,eTabFilter
+        ,eTabHistory
+    };
+
     /**
        @brief Pointer to track item
 
@@ -72,7 +94,11 @@ private:
      */
     CGisItemTrk& trk;
 
-    bool originator;
+    bool originator = false;
+
+    CPlotProfile * plot1;
+    CPlot * plot2;
+    CPlot * plot3;
 };
 
 #endif //CDETAILSTRK_H
diff --git a/src/gis/trk/CGisItemTrk.cpp b/src/gis/trk/CGisItemTrk.cpp
index 7872bcf..d76fc5b 100644
--- a/src/gis/trk/CGisItemTrk.cpp
+++ b/src/gis/trk/CGisItemTrk.cpp
@@ -22,8 +22,11 @@
 #include "gis/CGisWidget.h"
 #include "gis/prj/IGisProject.h"
 #include "gis/trk/CCombineTrk.h"
+#include "gis/trk/CCutTrk.h"
 #include "gis/trk/CDetailsTrk.h"
 #include "gis/trk/CGisItemTrk.h"
+#include "gis/trk/CKnownExtension.h"
+#include "gis/trk/CPropertyTrk.h"
 #include "gis/trk/CScrOptTrk.h"
 #include "gis/trk/CSelectActivity.h"
 #include "gis/wpt/CGisItemWpt.h"
@@ -35,6 +38,8 @@
 #include <QtXml>
 #include <proj_api.h>
 
+using std::numeric_limits;
+
 #define DEFAULT_COLOR       4
 #define MIN_DIST_CLOSE_TO   10
 #define MIN_DIST_FOCUS      200
@@ -42,64 +47,6 @@
 #define WPT_FOCUS_DIST_IN   (50*50)
 #define WPT_FOCUS_DIST_OUT  (200*200)
 
-const QColor CGisItemTrk::lineColors[TRK_N_COLORS] =
-{
-    Qt::black                     // 0
-    ,Qt::darkRed                 // 1
-    ,Qt::darkGreen               // 2
-    ,Qt::darkYellow              // 3
-    ,Qt::darkBlue                // 4
-    ,Qt::darkMagenta             // 5
-    ,Qt::darkCyan                // 6
-    ,Qt::gray                    // 7
-    ,Qt::darkGray                // 8
-    ,Qt::red                     // 9
-    ,Qt::green                   // 10
-    ,Qt::yellow                  // 11
-    ,Qt::blue                    // 12
-    ,Qt::magenta                 // 13
-    ,Qt::cyan                    // 14
-    ,Qt::white                   // 15
-    ,Qt::transparent             // 16
-};
-
-const QString CGisItemTrk::bulletColors[TRK_N_COLORS] =
-{
-    // 0
-    QString("://icons/8x8/bullet_black.png")
-    // 1
-    ,QString("://icons/8x8/bullet_dark_red.png")
-    // 2
-    ,QString("://icons/8x8/bullet_dark_green.png")
-    // 3
-    ,QString("://icons/8x8/bullet_dark_yellow.png")
-    // 4
-    ,QString("://icons/8x8/bullet_dark_blue.png")
-    // 5
-    ,QString("://icons/8x8/bullet_dark_magenta.png")
-    // 6
-    ,QString("://icons/8x8/bullet_dark_cyan.png")
-    // 7
-    ,QString("://icons/8x8/bullet_gray.png")
-    // 8
-    ,QString("://icons/8x8/bullet_dark_gray.png")
-    // 9
-    ,QString("://icons/8x8/bullet_red.png")
-    // 10
-    ,QString("://icons/8x8/bullet_green.png")
-    // 11
-    ,QString("://icons/8x8/bullet_yellow.png")
-    // 12
-    ,QString("://icons/8x8/bullet_blue.png")
-    // 13
-    ,QString("://icons/8x8/bullet_magenta.png")
-    // 14
-    ,QString("://icons/8x8/bullet_cyan.png")
-    // 15
-    ,QString("://icons/8x8/bullet_white.png")
-    ,QString("")                 // 16
-};
-
 struct trkwpt_t
 {
     trkwpt_t() : x(0), y(0)
@@ -118,21 +65,12 @@ struct activity_t
     QString icon;
 };
 
-
 const QPen CGisItemTrk::penBackground(Qt::white, 5, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin);
 
 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)
-    , mode(eModeNormal)
-    , mouseMoveFocus(0)
-    , mouseClickFocus(0)
-    , mouseRange1(0)
-    , mouseRange2(0)
-    , rangeState(eRangeStateIdle)
-    , activities(this)
 {
     flags = eFlagCreatedInQms;
 
@@ -159,13 +97,13 @@ CGisItemTrk::CGisItemTrk(const QString &name, qint32 idx1, qint32 idx2, const tr
         }
     }
 
-    trk.name    = name;
-    trk.cmt     = srctrk.cmt;
-    trk.desc    = srctrk.desc;
-    trk.src     = srctrk.src;
-    trk.links   = srctrk.links;
-    trk.number  = srctrk.number;
-    trk.type    = srctrk.type;
+    trk.name   = name;
+    trk.cmt    = srctrk.cmt;
+    trk.desc   = srctrk.desc;
+    trk.src    = srctrk.src;
+    trk.links  = srctrk.links;
+    trk.number = srctrk.number;
+    trk.type   = srctrk.type;
 
     deriveSecondaryData();
     setupHistory();
@@ -174,32 +112,23 @@ 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)
-    , mode(eModeNormal)
-    , mouseMoveFocus(0)
-    , mouseClickFocus(0)
-    , mouseRange1(0)
-    , mouseRange2(0)
-    , rangeState(eRangeStateIdle)
-    , activities(this)
-{
-    *this = parentTrk;
-    key.project = project->getKey();
-    key.device  = project->getDeviceKey();
-    registeredPlots.clear();
+{
+    // copy track via history
+    history = parentTrk.history;
+    loadHistory(history.histIdxCurrent);
 
+    // if track should be a clone clear history and key and
+    // build new ones.
     if(clone)
     {
         trk.name += QObject::tr("_Clone");
         key.clear();
         history.events.clear();
+        setupHistory();
     }
 
-    if(parentTrk.isOnDevice())
-    {
-        flags |= eFlagWriteAllowed;
-    }
-    else if(!parentTrk.isReadOnly())
+
+    if(parentTrk.isOnDevice() || !parentTrk.isReadOnly())
     {
         flags |= eFlagWriteAllowed;
     }
@@ -208,28 +137,18 @@ CGisItemTrk::CGisItemTrk(const CGisItemTrk& parentTrk, IGisProject *project, int
         flags &= ~eFlagWriteAllowed;
     }
 
-
     deriveSecondaryData();
-    setupHistory();
     updateDecoration(eMarkChanged, eMarkNone);
 }
 
 
 CGisItemTrk::CGisItemTrk(const SGisLine& l, const QString& name, IGisProject * project, int idx)
     : IGisItem(project, eTypeTrk, idx)
-    , penForeground(Qt::blue, 3, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin)
-    , mode(eModeNormal)
-    , mouseMoveFocus(0)
-    , mouseClickFocus(0)
-    , mouseRange1(0)
-    , mouseRange2(0)
-    , rangeState(eRangeStateIdle)
-    , activities(this)
 {
     trk.name = name;
     readTrackDataFromGisLine(l);
 
-    flags |=  eFlagCreatedInQms|eFlagWriteAllowed;
+    flags |= eFlagCreatedInQms | eFlagWriteAllowed;
     setColor(str2color(""));
 
     setupHistory();
@@ -239,14 +158,6 @@ CGisItemTrk::CGisItemTrk(const SGisLine& l, const QString& name, IGisProject * p
 
 CGisItemTrk::CGisItemTrk(const QDomNode& xml, IGisProject *project)
     : IGisItem(project, eTypeTrk, project->childCount())
-    , penForeground(Qt::blue, 3, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin)
-    , mode(eModeNormal)
-    , mouseMoveFocus(0)
-    , mouseClickFocus(0)
-    , mouseRange1(0)
-    , mouseRange2(0)
-    , rangeState(eRangeStateIdle)
-    , activities(this)
 {
     // --- start read and process data ----
     setColor(penForeground.color());
@@ -259,14 +170,6 @@ 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)
-    , mode(eModeNormal)
-    , mouseMoveFocus(0)
-    , mouseClickFocus(0)
-    , mouseRange1(0)
-    , mouseRange2(0)
-    , rangeState(eRangeStateIdle)
-    , activities(this)
 {
     // --- start read and process data ----
     setColor(penForeground.color());
@@ -282,29 +185,13 @@ 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)
-    , mode(eModeNormal)
-    , mouseMoveFocus(0)
-    , mouseClickFocus(0)
-    , mouseRange1(0)
-    , mouseRange2(0)
-    , rangeState(eRangeStateIdle)
-    , activities(this)
 {
     history = hist;
-    loadHistory(hist.histIdxCurrent);
+    loadHistory(hist.histIdxCurrent);    
 }
 
 CGisItemTrk::CGisItemTrk(quint64 id, QSqlDatabase& db, IGisProject * project)
     : IGisItem(project, eTypeTrk, NOIDX)
-    , penForeground(Qt::blue, 3, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin)
-    , mode(eModeNormal)
-    , mouseMoveFocus(0)
-    , mouseClickFocus(0)
-    , mouseRange1(0)
-    , mouseRange2(0)
-    , rangeState(eRangeStateIdle)
-    , activities(this)
 {
     loadFromDb(id, db);
 }
@@ -325,13 +212,18 @@ CGisItemTrk::~CGisItemTrk()
         a copy of the list before we start to delete.
      */
     qDeleteAll(registeredPlots.toList());
+    qDeleteAll(notifyOnChange.toList());
 
     delete dlgDetails;
+
+    // delete it after the detail dialog as it is used by the detail dialog
+    delete propHandler;
 }
 
 void CGisItemTrk::setSymbol()
 {
     setColor(str2color(trk.color));
+    notifyChange();
 }
 
 
@@ -366,11 +258,10 @@ void CGisItemTrk::getPolylineFromData(QPolygonF &l)
     {
         foreach(const trkpt_t &pt, seg.pts)
         {
-            if(pt.flags & trkpt_t::eHidden)
+            if(!(pt.flags & trkpt_t::eHidden))
             {
-                continue;
+                l << QPointF(pt.lon * DEG_TO_RAD, pt.lat * DEG_TO_RAD);
             }
-            l << QPointF(pt.lon * DEG_TO_RAD, pt.lat * DEG_TO_RAD);
         }
     }
 }
@@ -384,11 +275,10 @@ void CGisItemTrk::getPolylineFromData(SGisLine &l)
     {
         foreach(const trkpt_t &pt, seg.pts)
         {
-            if(pt.flags & trkpt_t::eHidden)
+            if(!(pt.flags & trkpt_t::eHidden))
             {
-                continue;
+                l << point_t(QPointF(pt.lon*DEG_TO_RAD, pt.lat * DEG_TO_RAD));
             }
-            l << point_t(QPointF(pt.lon*DEG_TO_RAD, pt.lat * DEG_TO_RAD));
         }
     }
 }
@@ -405,8 +295,8 @@ void CGisItemTrk::readTrackDataFromGisLine(const SGisLine &l)
     {
         seg.pts << trkpt_t();
 
-        trkpt_t& trkpt      = seg.pts.last();
-        const point_t& pt   = l[i];
+        trkpt_t& trkpt    = seg.pts.last();
+        const point_t& pt = l[i];
 
         trkpt.lon = pt.coord.x() * RAD_TO_DEG;
         trkpt.lat = pt.coord.y() * RAD_TO_DEG;
@@ -416,8 +306,8 @@ void CGisItemTrk::readTrackDataFromGisLine(const SGisLine &l)
         {
             seg.pts << trkpt_t();
 
-            trkpt_t& trkpt      = seg.pts.last();
-            const subpt_t& sub  = pt.subpts[n];
+            trkpt_t& trkpt     = seg.pts.last();
+            const subpt_t& sub = pt.subpts[n];
 
             trkpt.lon = sub.coord.x() * RAD_TO_DEG;
             trkpt.lat = sub.coord.y() * RAD_TO_DEG;
@@ -426,6 +316,7 @@ void CGisItemTrk::readTrackDataFromGisLine(const SGisLine &l)
     }
 
     deriveSecondaryData();
+    notifyChange();
 }
 
 void CGisItemTrk::registerPlot(IPlot * plot)
@@ -438,7 +329,23 @@ void CGisItemTrk::unregisterPlot(IPlot * plot)
     registeredPlots.remove(plot);
 }
 
+void CGisItemTrk::registerNotification(INotifiable *obj)
+{
+    notifyOnChange << obj;
+}
 
+void CGisItemTrk::unregisterNotification(INotifiable *obj)
+{
+    notifyOnChange.remove(obj);
+}
+
+void CGisItemTrk::notifyChange()
+{
+    foreach(INotifiable *obj, notifyOnChange)
+    {
+        obj->notify();
+    }
+}
 
 QString CGisItemTrk::getInfo(bool allowEdit) const
 {
@@ -568,31 +475,25 @@ QString CGisItemTrk::getInfoRange()
         str += QString("%4 %1:%2:%3").arg(hh,2,10,QChar('0')).arg(mm,2,10,QChar('0')).arg(ss,2,10,QChar('0')).arg(QChar(0x231a));
 
         IUnit::self().meter2speed(d/deltaTime, val, unit);
-        str += QString(", %3 %1%2\n").arg(val).arg(unit).arg(QChar(0x21A3));
-    }
-    else
-    {
-        str += "\n";
+        str += QString(", %3 %1%2").arg(val).arg(unit).arg(QChar(0x21A3));
     }
+    str += "\n";
 
-    qreal deltaAscend   = pt2->ascend  - pt1->ascend;
-    qreal deltaDescend  = pt2->descend - pt1->descend;
+    qreal deltaAscend  = pt2->ascend  - pt1->ascend;
+    qreal deltaDescend = pt2->descend - pt1->descend;
 
-    tmp       = qAtan(deltaAscend/d);
-    slope1    = qAbs(tmp * 360.0/(2 * M_PI));
-    slope2    = qTan(slope1 * DEG_TO_RAD) * 100;
+    tmp    = qAtan(deltaAscend/d);
+    slope1 = qAbs(tmp * 360.0/(2 * M_PI));
+    slope2 = qTan(slope1 * DEG_TO_RAD) * 100;
 
     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";
+        str += QString(", %1%2").arg(val).arg(unit);
     }
+    str += "\n";
 
     tmp       = qAtan(deltaDescend/d);
     slope1    = qAbs(tmp * 360.0/(2 * M_PI));
@@ -603,15 +504,10 @@ QString CGisItemTrk::getInfoRange()
     if(timeIsValid)
     {
         IUnit::self().meter2speed(deltaDescend/deltaTime, val, unit);
-        str += QString(", %1%2\n").arg(val).arg(unit);
+        str += QString(", %1%2").arg(val).arg(unit);
     }
-    else
-    {
-        str += "\n";
-    }
-
 
-    return str;
+    return str + "\n";
 }
 
 QString CGisItemTrk::getInfoTrkPt(const trkpt_t& pt)
@@ -619,12 +515,10 @@ QString CGisItemTrk::getInfoTrkPt(const trkpt_t& pt)
     QString str, val1, unit1;
     if(totalElapsedSeconds != 0)
     {
-        str += IUnit::datetime2string(pt.time, false, QPointF(pt.lon, pt.lat) * DEG_TO_RAD) + "\n";
-    }
-    else
-    {
-        str += "\n";
+        str += IUnit::datetime2string(pt.time, false, QPointF(pt.lon, pt.lat) * DEG_TO_RAD);
     }
+    str += "\n";
+
     IUnit::self().meter2elevation(pt.ele, val1, unit1);
     str += QObject::tr("Ele.: %1 %2").arg(val1).arg(unit1);
     if(pt.slope1 != NOFLOAT)
@@ -639,10 +533,30 @@ QString CGisItemTrk::getInfoTrkPt(const trkpt_t& pt)
 
     QStringList keys = pt.extensions.keys();
     keys.sort();
+
+    qint32 more = keys.size() - 10;
+    if(more > 0)
+    {
+        keys = keys.mid(0, 10);
+    }
+
     foreach(const QString &key, keys)
     {
-        QStringList tags = key.split("|");
-        str += "\n" + tags.last() + ": " + pt.extensions[key].toString();
+        const CKnownExtension &ext = CKnownExtension::get(key);
+        if(ext.known)
+        {
+            str += "\n" + ext.name + ": " + QString("%1%2").arg(ext.valueFunc(pt),0,'f',1).arg(ext.unit);
+        }
+        else
+        {
+            QStringList tags = key.split("|");
+            str += "\n" + tags.last() + ": " + pt.extensions[key].toString();
+        }
+    }
+
+    if(more > 0)
+    {
+        str += "\n" + QObject::tr("... and %1 tags not displayed").arg(more);
     }
 
     return str;
@@ -805,6 +719,79 @@ void CGisItemTrk::getSelectedVisiblePoints(qint32& idx1, qint32& idx2)
     }
 }
 
+static inline void updateExtrema(CGisItemTrk::limits_t &extrema, qreal val)
+{
+    extrema = { qMin(extrema.min, val), qMax(extrema.max, val) };
+}
+
+void CGisItemTrk::updateExtremaAndExtensions()
+{
+    extrema = QHash<QString, limits_t>();
+    limits_t extremaSpeed = { numeric_limits<qreal>::max(), numeric_limits<qreal>::lowest() };
+    limits_t extremaSlope = { numeric_limits<qreal>::max(), numeric_limits<qreal>::lowest() };
+    limits_t extremaEle   = { numeric_limits<qreal>::max(), numeric_limits<qreal>::lowest() };
+
+    existingExtensions = QSet<QString>();
+    QSet<QString> nonRealExtensions;
+
+    foreach(const trkseg_t &seg, trk.segs)
+    {
+        foreach(const trkpt_t &pt, seg.pts)
+        {
+            if(pt.flags & trkpt_t::eHidden)
+            {
+                continue;
+            }
+
+            existingExtensions.unite(pt.extensions.keys().toSet());
+
+            foreach(const QString &key, pt.extensions.keys())
+            {
+                bool isReal = false;
+                qreal val = pt.extensions.value(key).toReal(&isReal);
+
+                if(isReal)
+                {
+                    const limits_t &current = extrema.value(key, { numeric_limits<qreal>::max(), numeric_limits<qreal>::lowest() });
+                    extrema[key] = { qMin(current.min, val), qMax(current.max, val) };
+                }
+                else
+                {
+                    nonRealExtensions << key;
+                }
+            }
+
+            if(NOFLOAT != pt.speed)
+            {
+                updateExtrema(extremaSpeed, pt.speed);
+            }
+
+            updateExtrema(extremaEle,   pt.ele);
+            updateExtrema(extremaSlope, pt.slope1);
+        }
+    }
+
+    if(extremaEle.min < extremaEle.max)
+    {
+        existingExtensions << "ele";
+        extrema["ele"] = extremaEle;
+    }
+
+    if(extremaSlope.min < extremaSlope.max)
+    {
+        existingExtensions << "slope";
+        extrema["slope"] = extremaSlope;
+    }
+
+    if(numeric_limits<qreal>::max() != extremaSpeed.min)
+    {
+        existingExtensions << "speed";
+        extrema["speed"] = extremaSpeed;
+    }
+
+    existingExtensions.subtract(nonRealExtensions);
+}
+
 void CGisItemTrk::deriveSecondaryData()
 {
     qreal north = -90;
@@ -823,6 +810,7 @@ void CGisItemTrk::deriveSecondaryData()
     totalElapsedSeconds     = NOTIME;
     totalElapsedSecondsMoving = NOTIME;
 
+
     // remove empty segments
     QVector<trkseg_t>::iterator i = trk.segs.begin();
     while(i != trk.segs.end())
@@ -880,9 +868,9 @@ void CGisItemTrk::deriveSecondaryData()
 
             if(lastTrkpt != 0)
             {
-                trkpt.deltaDistance     = GPS_Math_Distance(lastTrkpt->lon * DEG_TO_RAD, lastTrkpt->lat * DEG_TO_RAD, trkpt.lon * DEG_TO_RAD, trkpt.lat * DEG_TO_RAD);
-                trkpt.distance          = lastTrkpt->distance + trkpt.deltaDistance;
-                trkpt.elapsedSeconds    = trkpt.time.toMSecsSinceEpoch()/1000.0 - timestampStart;
+                trkpt.deltaDistance  = GPS_Math_Distance(lastTrkpt->lon * DEG_TO_RAD, lastTrkpt->lat * DEG_TO_RAD, trkpt.lon * DEG_TO_RAD, trkpt.lat * DEG_TO_RAD);
+                trkpt.distance       = lastTrkpt->distance + trkpt.deltaDistance;
+                trkpt.elapsedSeconds = trkpt.time.toMSecsSinceEpoch()/1000.0 - timestampStart;
 
                 // ascend descend
                 if(lastEle != NOFLOAT)
@@ -890,36 +878,29 @@ void CGisItemTrk::deriveSecondaryData()
                     qreal delta     = trkpt.ele - lastEle;
                     qreal absDelta  = qAbs(delta);
 
+                    trkpt.ascend  = lastTrkpt->ascend;
+                    trkpt.descend = lastTrkpt->descend;
+
                     if(absDelta > ASCEND_THRESHOLD)
                     {
                         if(delta > 0)
                         {
-                            trkpt.ascend  = lastTrkpt->ascend + delta;
-                            trkpt.descend = lastTrkpt->descend;
+                            trkpt.ascend  += delta;
                         }
                         else
                         {
-                            trkpt.ascend  = lastTrkpt->ascend;
-                            trkpt.descend = lastTrkpt->descend - delta;
+                            trkpt.descend -= delta;
                         }
                         lastEle = trkpt.ele;
                     }
-                    else
-                    {
-                        trkpt.ascend     = lastTrkpt->ascend;
-                        trkpt.descend    = lastTrkpt->descend;
-                    }
                 }
 
                 // time moving
+                trkpt.elapsedSecondsMoving = lastTrkpt->elapsedSecondsMoving;
                 qreal dt = (trkpt.time.toMSecsSinceEpoch() - lastTrkpt->time.toMSecsSinceEpoch()) / 1000.0;
                 if(dt > 0 && ((trkpt.deltaDistance / dt) > 0.2))
                 {
-                    trkpt.elapsedSecondsMoving = lastTrkpt->elapsedSecondsMoving + dt;
-                }
-                else
-                {
-                    trkpt.elapsedSecondsMoving = lastTrkpt->elapsedSecondsMoving;
+                    trkpt.elapsedSecondsMoving += dt;
                 }
             }
             else
@@ -928,12 +909,12 @@ void CGisItemTrk::deriveSecondaryData()
                 timestampStart  = timeStart.toMSecsSinceEpoch()/1000.0;
                 lastEle         = trkpt.ele;
 
-                trkpt.deltaDistance         = 0;
-                trkpt.distance              = 0;
-                trkpt.ascend                = 0;
-                trkpt.descend               = 0;
-                trkpt.elapsedSeconds        = 0;
-                trkpt.elapsedSecondsMoving  = 0;
+                trkpt.deltaDistance        = 0;
+                trkpt.distance             = 0;
+                trkpt.ascend               = 0;
+                trkpt.descend              = 0;
+                trkpt.elapsedSeconds       = 0;
+                trkpt.elapsedSecondsMoving = 0;
             }
 
             lastTrkpt = &trkpt;
@@ -1002,13 +983,13 @@ void CGisItemTrk::deriveSecondaryData()
                 n++;
             }
 
-            qreal a         = qAtan((e2 - e1)/(d2 - d1));
-            trkpt.slope1    = qAbs(a * 360.0/(2 * M_PI));
-            trkpt.slope2    = qTan(trkpt.slope1 * DEG_TO_RAD) * 100;
+            qreal a      = qAtan((e2 - e1)/(d2 - d1));
+            trkpt.slope1 = a * 360.0/(2 * M_PI);
+            trkpt.slope2 = qTan(trkpt.slope1 * DEG_TO_RAD) * 100;
 
             if((t2 - t1) > 0)
             {
-                trkpt.speed    = (d2 - d1) / (t2 - t1);
+                trkpt.speed = (d2 - d1) / (t2 - t1);
             }
             else
             {
@@ -1019,16 +1000,28 @@ void CGisItemTrk::deriveSecondaryData()
 
     if(lastTrkpt != 0)
     {
-        timeEnd                 = lastTrkpt->time;
-        totalDistance           = lastTrkpt->distance;
-        totalAscend             = lastTrkpt->ascend;
-        totalDescend            = lastTrkpt->descend;
-        totalElapsedSeconds     = lastTrkpt->elapsedSeconds;
+        timeEnd                   = lastTrkpt->time;
+        totalDistance             = lastTrkpt->distance;
+        totalAscend               = lastTrkpt->ascend;
+        totalDescend              = lastTrkpt->descend;
+        totalElapsedSeconds       = lastTrkpt->elapsedSeconds;
         totalElapsedSecondsMoving = lastTrkpt->elapsedSecondsMoving;
     }
 
     activities.update();
 
+    updateExtremaAndExtensions();
+    // make sure we have a graph properties object by now
+    if(propHandler == nullptr)
+    {
+        propHandler = new CPropertyTrk(*this);
+    }
+    else
+    {
+        propHandler->setupData();
+    }
+
+
     foreach(IPlot * plot, registeredPlots)
     {
         plot->updateData();
@@ -1127,8 +1120,8 @@ void CGisItemTrk::findWaypointsCloseBy(CProgressDialog& progress, quint32& curre
 
     foreach(const trkwpt_t &trkwpt, trkwpts)
     {
-        qreal minD      = WPT_FOCUS_DIST_IN;
-        qint32 index    = NOIDX;
+        qreal minD   = WPT_FOCUS_DIST_IN;
+        qint32 index = NOIDX;
 
         foreach(const pointDP &pt, line)
         {
@@ -1156,7 +1149,7 @@ void CGisItemTrk::findWaypointsCloseBy(CProgressDialog& progress, quint32& curre
                 minD  = WPT_FOCUS_DIST_IN;
             }
 
-            if(current  - lastCurrent > 100)
+            if(current - lastCurrent > 100)
             {
                 lastCurrent = current;
                 PROGRESS(current, return );
@@ -1194,7 +1187,7 @@ bool CGisItemTrk::isCloseTo(const QPointF& pos)
 
 void CGisItemTrk::gainUserFocus(bool yes)
 {
-    keyUserFocus    = yes ? key : key_t();
+    keyUserFocus = yes ? key : key_t();
 }
 
 void CGisItemTrk::looseUserFocus()
@@ -1225,37 +1218,121 @@ bool CGisItemTrk::cut()
         return false;
     }
 
-    QString name1 = getName() + QString(" (%1 - %2)").arg(0).arg(mouseClickFocus->idxTotal);
-    name1 = QInputDialog::getText(CMainWindow::getBestWidgetForParent(), QObject::tr("Edit name..."), QObject::tr("Enter new track name."), QLineEdit::Normal, name1);
-    if(name1.isEmpty())
+    CCutTrk dlg(CMainWindow::getBestWidgetForParent());
+    if(dlg.exec() == QDialog::Rejected)
     {
         return false;
     }
 
-    IGisProject * project = CGisWidget::self().selectProject();
-    if(project == 0)
-    {
-        return false;
-    }
+    qint32 idxMouse             = mouseClickFocus->idxTotal;
+    CCutTrk::mode_e mode        = dlg.getMode();
 
-    new CGisItemTrk(name1, 0, mouseClickFocus->idxTotal, trk, project);
+    // if the cut action results into cloning a track, the calling method should
+    // ask if the original track should be removed. As a track can't delete itself
+    // this has to be done from the outside of this method.
+    bool askToDeleteOriginal    = dlg.createClone() || (mode == CCutTrk::eModeKeepBoth);
 
-    name1 = getName() + QString(" (%1 - %2)").arg(mouseClickFocus->idxTotal).arg(cntTotalPoints-1);
-    name1 = QInputDialog::getText(CMainWindow::getBestWidgetForParent(), QObject::tr("Edit name..."), QObject::tr("Enter new track name."), QLineEdit::Normal, name1);
-    if(name1.isEmpty())
+    // askToDeleteOriginal = store result as clone
+    if(askToDeleteOriginal)
     {
-        return false;
-    }
+        QString name1;
+        IGisProject * project;
 
-    project = CGisWidget::self().selectProject();
-    if(project == 0)
-    {
-        return false;
+        // clone first part?
+        if((mode & (CCutTrk::eModeKeepBoth|CCutTrk::eModeKeepFirst)) != 0)
+        {
+            name1 = getName() + QString(" (%1 - %2)").arg(0).arg(idxMouse);
+            name1 = QInputDialog::getText(CMainWindow::getBestWidgetForParent(), QObject::tr("Edit name..."), QObject::tr("Enter new track name."), QLineEdit::Normal, name1);
+            if(name1.isEmpty())
+            {
+                return false;
+            }
+
+            project = CGisWidget::self().selectProject();
+            if(project == 0)
+            {
+                return false;
+            }
+
+            new CGisItemTrk(name1, 0, idxMouse, trk, project);
+        }
+
+        // clone second part?
+        if((mode & (CCutTrk::eModeKeepBoth|CCutTrk::eModeKeepSecond)) != 0)
+        {
+            name1 = getName() + QString(" (%1 - %2)").arg(idxMouse).arg(cntTotalPoints-1);
+            name1 = QInputDialog::getText(CMainWindow::getBestWidgetForParent(), QObject::tr("Edit name..."), QObject::tr("Enter new track name."), QLineEdit::Normal, name1);
+            if(name1.isEmpty())
+            {
+                return false;
+            }
+
+            project = CGisWidget::self().selectProject();
+            if(project == 0)
+            {
+                return false;
+            }
+
+            new CGisItemTrk(name1, idxMouse, cntTotalPoints-1, trk, project);
+        }
     }
+    else
+    {
+        // if the result is not a clone, the track's list of segments and trackpoints
+        // has to be reduced. This is done by copying points into a new trackpoint list
+        // that replaces the original one.
 
-    new CGisItemTrk(name1, mouseClickFocus->idxTotal, cntTotalPoints-1, trk, project);
+        if((mode & CCutTrk::eModeKeepFirst) != 0)
+        {
+            for(int i = 0; i < trk.segs.size(); i++)
+            {
+                QVector<trkpt_t> pts;
+                trkseg_t& seg = trk.segs[i];
 
-    return true;
+                for(int n = 0; n < seg.pts.size(); n++)
+                {
+                    trkpt_t& pt = seg.pts[n];
+
+                    if(pt.idxTotal > idxMouse)
+                    {
+                        break;
+                    }
+
+                    pts << pt;
+                }
+
+                seg.pts = pts;
+            }
+            deriveSecondaryData();
+            changed(QObject::tr("Permanently removed points %1..%2").arg(idxMouse+1).arg(cntTotalPoints-1), "://icons/48x48/TrkCut.png");
+        }
+        else if((mode & CCutTrk::eModeKeepSecond) != 0)
+        {
+            for(int i = 0; i < trk.segs.size(); i++)
+            {
+                QVector<trkpt_t> pts;
+                trkseg_t& seg = trk.segs[i];
+
+                for(int n = 0; n < seg.pts.size(); n++)
+                {
+                    trkpt_t& pt = seg.pts[n];
+
+                    if(pt.idxTotal < idxMouse)
+                    {
+                        continue;
+                    }
+
+                    pts << pt;
+                }
+
+                seg.pts = pts;
+            }
+            deriveSecondaryData();
+            changed(QObject::tr("Permanently removed points %1..%2").arg(0).arg(idxMouse-1), "://icons/48x48/TrkCut.png");
+        }
+    }
+
+    return askToDeleteOriginal;
 }
 
 void CGisItemTrk::reverse()
@@ -1405,7 +1482,7 @@ void CGisItemTrk::hideSelectedPoints()
             {
                 trkpt_t& trkpt = seg.pts[i];
 
-                if((idx1 == trkpt.idxTotal))
+                if(idx1 == trkpt.idxTotal)
                 {
                     trkpt.flags |= trkpt_t::eHidden;
                 }
@@ -1620,15 +1697,168 @@ void CGisItemTrk::drawItem(QPainter& p, const QPolygonF& viewport, QList<QRectF>
         p.drawPolyline(l);
         CDraw::arrows(l, extViewport, p, 10, 80);
     }
-    penForeground.setColor(color);
-    p.setPen(penForeground);
-    foreach(const QPolygonF &l, lines)
+
+    if(colorSource.isEmpty())
     {
-        p.drawPolyline(l);
+        // use the track's ordinary color
+        penForeground.setColor(color);
+        p.setPen(penForeground);
+        foreach(const QPolygonF &l, lines)
+        {
+            p.drawPolyline(l);
+        }
+    }
+    else
+    {
+        drawColorized(p);
     }
     // -------------------------
 }
 
+void CGisItemTrk::drawColorized(QPainter &p)
+{
+    auto valueFunc = CKnownExtension::get(colorSource).valueFunc;
+
+    QImage colors(1, 256, QImage::Format_RGB888);
+    QPainter colorsPainter(&colors);
+
+    QLinearGradient colorsGradient(colors.rect().topLeft(), colors.rect().bottomLeft());
+    colorsGradient.setColorAt(1.00, QColor(  0,   0, 255)); // blue
+    colorsGradient.setColorAt(0.60, QColor(  0, 255,   0)); // green
+    colorsGradient.setColorAt(0.40, QColor(255, 255,   0)); // yellow
+    colorsGradient.setColorAt(0.00, QColor(255,   0,   0)); // red
+    colorsPainter.fillRect(colors.rect(), colorsGradient);
+
+    const qreal factor = CKnownExtension::get(colorSource).factor;
+
+    foreach(const trkseg_t &segment, trk.segs)
+    {
+        const trkpt_t *ptPrev = NULL;
+        QColor colorStart;
+
+        foreach(const trkpt_t &pt, segment.pts)
+        {
+            if(pt.flags & trkpt_t::eHidden)
+            {
+                continue;
+            }
+            if(NULL == ptPrev)
+            {
+                ptPrev = &pt;
+                continue;
+            }
+
+            float colorAt = ( factor * valueFunc(pt) - limitLow ) / (limitHigh - limitLow);
+            if(colorAt > 1.f)
+            {
+                colorAt = 1.f;
+            }
+            if(colorAt < 0.f)
+            {
+                colorAt = 0.f;
+            }
+
+            const QColor &colorEnd = colors.pixel(0, ((1.f - colorAt) * 255.f));
+            if(!colorStart.isValid())
+            {
+                colorStart = colorEnd;
+            }
+
+            QLinearGradient grad(lineSimple[ptPrev->idxVisible], lineSimple[pt.idxVisible]);
+            grad.setColorAt(0.f, colorStart);
+            grad.setColorAt(1.f, colorEnd);
+
+            QPen pen;
+            pen.setBrush(QBrush(grad));
+            pen.setWidth(3);
+
+            p.setPen(pen);
+            p.drawLine(lineSimple[ptPrev->idxVisible], lineSimple[pt.idxVisible]);
+
+            ptPrev = &pt;
+            colorStart = colorEnd;
+        }
+    }
+}
+
+void CGisItemTrk::getExtrema(qreal &min, qreal &max, const QString &source) const
+{
+    min = extrema.value(source).min * CKnownExtension::get(source).factor;
+    max = extrema.value(source).max * CKnownExtension::get(source).factor;
+}
+
+QStringList CGisItemTrk::getExistingDataSources() const
+{
+    QStringList known;
+    QStringList unknown;
+
+    foreach(const QString &key, existingExtensions)
+    {
+        if(CKnownExtension::isKnown(key))
+        {
+            known << key;
+        }
+        else
+        {
+            unknown << key;
+        }
+    }
+
+    auto stringSort = [] (const QString &s1, const QString &s2)
+                      {
+                          return s1.toLower() < s2.toLower();
+                      };
+
+    qSort(known.begin(),   known.end(),   stringSort);
+    qSort(unknown.begin(), unknown.end(), stringSort);
+
+    return known + unknown;
+}
+
+void CGisItemTrk::setColorizeSource(QString src)
+{
+    if(src != colorSource)
+    {
+        colorSource = src;
+
+        const CKnownExtension ext = CKnownExtension::get(src);
+        if(ext.known)
+        {
+            limitLow  = ext.defLimitLow;
+            limitHigh = ext.defLimitHigh;
+        }
+        else
+        {
+            getExtrema(limitLow, limitHigh, src);
+            if(limitHigh - limitLow < 0.1) {
+                limitHigh = limitLow + 0.1;
+            }
+        }
+
+        notifyChange();
+        updateHistory();
+    }
+}
+
+void CGisItemTrk::setColorizeLimitLow(qreal limit)
+{
+    limitLow = limit;
+    notifyChange();
+    updateHistory();
+}
+
+void CGisItemTrk::setColorizeLimitHigh(qreal limit)
+{
+    limitHigh = limit;
+    notifyChange();
+    updateHistory();
+}
+
+const QString CGisItemTrk::getColorizeUnit() const
+{
+    return CKnownExtension::get(colorSource).unit;
+}
+
 void CGisItemTrk::drawItem(QPainter& p, const QRectF& viewport, CGisDraw * gis)
 {
     QMutexLocker lock(&mutexItems);
@@ -1662,13 +1892,14 @@ void CGisItemTrk::drawItem(QPainter& p, const QRectF& viewport, CGisDraw * gis)
             h += 5 + fm.height() + 8;
         }
 
+        p.setFont(f);
 
+        // draw the bubble
         QRect box(0, 0, w, h);
         box.moveBottomLeft(anchor.toPoint() + QPoint(-50,-50));
-        CDraw::bubble1(box, anchor, p);
+        CDraw::bubble(p, box, anchor.toPoint(), 18 /* px */, 21 /* px */);
 
         p.save();
-        p.setFont(f);
         p.translate(box.topLeft());
 
         // draw progress bar distance
@@ -1730,7 +1961,7 @@ void CGisItemTrk::drawItem(QPainter& p, const QRectF& viewport, CGisDraw * gis)
         anchor *= DEG_TO_RAD;
         gis->convertRad2Px(anchor);
 
-        p.drawPixmap(anchor - QPointF(4,4), QPixmap(bulletColors[colorIdx]));
+        p.drawPixmap(anchor - QPointF(4,4), QPixmap(IGisItem::colorMap[colorIdx].bullet));
     }
 
     drawRange(p);
@@ -1831,13 +2062,13 @@ void CGisItemTrk::setLinks(const QList<link_t>& links)
 
 void CGisItemTrk::setColor(int idx)
 {
-    int N = sizeof(lineColors)/sizeof(QColor);
-    if(idx >= N)
+    if(idx < TRK_N_COLORS)
     {
-        return;
+        setColor(IGisItem::colorMap[idx].color);
+        //changed(QObject::tr("Changed color"), "://icons/48x48/SelectColor.png");
+        updateHistory();
+        notifyChange();
     }
-    setColor(lineColors[idx]);
-    changed(QObject::tr("Changed color"), "://icons/48x48/SelectColor.png");
 }
 
 void CGisItemTrk::setActivity(quint32 flag, const QString& name, const QString& icon)
@@ -1855,6 +2086,7 @@ void CGisItemTrk::setActivity(quint32 flag, const QString& name, const QString&
 
     deriveSecondaryData();
     changed(QObject::tr("Changed activity to '%1' for complete track.").arg(name), icon);
+    notifyChange();
 }
 
 void CGisItemTrk::setActivity()
@@ -1898,7 +2130,7 @@ void CGisItemTrk::setActivity()
             {
                 trkpt_t& trkpt = seg.pts[i];
 
-                if((idx1 == trkpt.idxTotal))
+                if(idx1 == trkpt.idxTotal)
                 {
                     trkpt.flags &= ~trkpt_t::eActMask;
                     trkpt.flags |= flag;
@@ -1929,43 +2161,37 @@ void CGisItemTrk::setActivity()
     rangeState  = eRangeStateIdle;
     deriveSecondaryData();
     changed(QObject::tr("Changed activity to '%1' for range(%2..%3).").arg(name).arg(idx1).arg(idx2), icon);
+    notifyChange();
 }
 
 
 void CGisItemTrk::setColor(const QColor& c)
 {
-    int n;
-    int N = sizeof(lineColors)/sizeof(QColor);
-
-    for(n = 0; n < N; n++)
+    colorIdx = DEFAULT_COLOR;
+    for(int n = 0; n < TRK_N_COLORS; n++)
     {
-        if(lineColors[n] == c)
+        if(c == IGisItem::colorMap[n].color)
         {
-            colorIdx    = n;
-            color       = lineColors[n];
-            bullet      = QPixmap(bulletColors[n]);
+            colorIdx = n;
             break;
         }
     }
 
-    if(n == N)
-    {
-        colorIdx    = DEFAULT_COLOR;
-        color       = lineColors[DEFAULT_COLOR];
-        bullet      = QPixmap(bulletColors[DEFAULT_COLOR]);
-    }
+    color  = IGisItem::colorMap[colorIdx].color;
+    qDebug() << color;
+    bullet = QPixmap(IGisItem::colorMap[colorIdx].bullet);
 
-    setIcon(color.name());
+    setIcon(color2str(color));
+    notifyChange();
 }
 
-
-void CGisItemTrk::setIcon(const QString& c)
+void CGisItemTrk::setIcon(const QString& iconColor)
 {
-    trk.color   = c;
+    trk.color   = iconColor;
     icon        = QPixmap("://icons/48x48/Track.png");
 
     QPixmap mask( icon.size() );
-    mask.fill( str2color(c) );
+    mask.fill( str2color(iconColor) );
     mask.setMask( icon.createMaskFromColor( Qt::transparent ) );
     icon = mask.scaled(22,22, Qt::KeepAspectRatio, Qt::SmoothTransformation);
 
@@ -2014,7 +2240,7 @@ bool CGisItemTrk::setMouseFocusByTime(quint32 time, focusmode_e fmode, const QSt
 
     if(time != NOTIME)
     {
-        /// @todo: optimze search by single out segment and then do a binary search
+        /// @todo: optimize search by single out segment and then do a binary search
 
         qreal delta = totalElapsedSeconds;
 
@@ -2245,7 +2471,6 @@ void CGisItemTrk::publishMouseFocusRangeMode(const trkpt_t * pt, focusmode_e fmo
         dlgDetails->setMouseRangeFocus(mouseRange1, mouseRange2);
     }
 }
-
 void CGisItemTrk::publishMouseFocusNormalMode(const trkpt_t * pt, focusmode_e fmode)
 {
     switch(fmode)
diff --git a/src/gis/trk/CGisItemTrk.h b/src/gis/trk/CGisItemTrk.h
index b9e5d38..ce52bd8 100644
--- a/src/gis/trk/CGisItemTrk.h
+++ b/src/gis/trk/CGisItemTrk.h
@@ -22,9 +22,11 @@
 #include "gis/IGisItem.h"
 #include "gis/IGisLine.h"
 #include "gis/trk/CActivityTrk.h"
+#include "helpers/INotifiable.h"
 
 #include <QPen>
 #include <QPointer>
+#include <functional>
 
 class QDomNode;
 class IGisProject;
@@ -36,12 +38,14 @@ class CQlgtTrack;
 class IQlgtOverlay;
 class QDir;
 class CProgressDialog;
+class CPropertyTrk;
 
-#define TRK_N_COLORS        17
-#define ASCEND_THRESHOLD    5
+#define TRK_N_COLORS          17
+#define ASCEND_THRESHOLD       5
 
 #include <QDebug>
 
+
 class CGisItemTrk : public IGisItem, public IGisLine
 {
 public:
@@ -141,7 +145,7 @@ public:
        @param stream  the data stream to write to.
        @return A reference to the stream
      */
-    QDataStream& operator>>(QDataStream& stream);
+    QDataStream& operator>>(QDataStream& stream) const;
 
     /// get name of track
     const QString& getName() const
@@ -214,8 +218,11 @@ public:
     {
         return trk.links;
     }
+    /// get the track as a simple coordinate polyline
     void getPolylineFromData(QPolygonF &l);
+    /// get the track as polyline with elevation, pixel and GIS coordinates.
     void getPolylineFromData(SGisLine& l);
+
     const QDateTime& getTimeStart() const
     {
         return timeStart;
@@ -231,16 +238,70 @@ public:
         return activities;
     }
 
+    const CPropertyTrk * getPropertyHandler() const
+    {
+        return propHandler;
+    }
+    /** @defgroup ColorSource Stuff related to coloring tracks using data from different sources
+
+        @{
+     */
+public:
+    static const struct ColorizeSource unknownColorizeSource;
+
+    /** @brief Set the colorize source to the source specified.
+
+        @param src  The new source to use.
+     */
+    void setColorizeSource(QString src);
+
+    /** @brief Get the current colorize source.
+
+        @return  The new source to use.
+     */
+    QString getColorizeSource()
+    {
+        return colorSource;
+    }
+
+    QStringList getExistingDataSources() const;
+
+    void setColorizeLimitLow(qreal limit);
+    qreal getColorizeLimitLow() const
+    {
+        return limitLow;
+    }
+
+    void setColorizeLimitHigh(qreal limit);
+    qreal getColorizeLimitHigh() const
+    {
+        return limitHigh;
+    }
+
+    const QString getColorizeUnit() const;
+
+    void getExtrema(qreal &min, qreal &max, const QString &source) const;
+
+private:
+    QString colorSource  = "";
+
+    // the low and high limit for (slope-)colored drawing of tracks
+    qreal limitLow  = -10;
+    qreal limitHigh =  10;
+
+    void drawColorized(QPainter &p);
+    /**@}*/
 
 
     /**
-       @brief Get the indeces of visible points for a selected range
+       @brief Get the indices of visible points for a selected range
 
-       If no range is selected both indeces will be NOIDX.
+       If no range is selected both indices will be NOIDX.
 
        @param idx1 a reference to receive the first index
        @param idx2 a reference to receive the second index
      */
+public:
     void getSelectedVisiblePoints(qint32& idx1, qint32& idx2);
 
     void setName(const QString& str);
@@ -268,7 +329,7 @@ public:
     /**
        @brief isCloseTo
        @param pos Screen position as pixel coordinate
-       @return True if point is considered clse enough
+       @return True if point is considered close enough
      */
     bool isCloseTo(const QPointF& pos);
 
@@ -387,7 +448,7 @@ public:
     }
 
     /**
-       @brief Each plot widget that operates on the track must register during it's contruction
+       @brief Each plot widget that operates on the track must register during it's construction
 
        see registeredPlots for a detailed discussion
 
@@ -441,6 +502,13 @@ public:
        @param dist the Douglas Peuker distance in meters
      */
     void filterReducePoints(qreal dist);
+
+    /**
+       @brief Remove track points without valid location at the beginning of the track
+
+       @note All filter implementations are found in src/gis/trk/filter/filter.cpp
+     */
+    void filterRemoveNullPoints();
     /**
        @brief filterReset
 
@@ -498,10 +566,16 @@ public:
      */
     void filterSpeed(qreal speed);
 
-    void findWaypointsCloseBy(CProgressDialog &progress, quint32 &current);
+    /**
+       @brief Correlate waypoints with the track points
 
-    static const QColor lineColors[TRK_N_COLORS];
-    static const QString bulletColors[TRK_N_COLORS];
+       If a waypoint correlates with a trackpoint it's key is written to
+       trkpt_t::keyWpt.
+
+       @param progress  a progress dialog as this operation can take quite some time
+       @param current   the current progress if the operation is done for several tracks
+     */
+    void findWaypointsCloseBy(CProgressDialog &progress, quint32 &current);
 
 private:
     void setSymbol();
@@ -524,6 +598,24 @@ private:
      */
     void deriveSecondaryData();
 
+
+    /** @defgroup ExtremaExtensions Stuff related to calculation of extremas/extensions
+
+        @{
+     */
+public:
+    struct limits_t
+    {
+        qreal min;
+        qreal max;
+    };
+    /**@}*/
+
+private:
+    QSet<QString> existingExtensions;
+    QHash<QString, limits_t> extrema;
+    void updateExtremaAndExtensions();
+
     /**
        @brief Try to get access Nth visible point matching the idx
 
@@ -562,8 +654,8 @@ private:
        @brief Tell the point of focus to all plots and the detail dialog
 
        @param pt        A pointer to the point itself
-       @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.
+       @param fmode     The reason for the focus
+       @param owner     A string to identify owner of the operation
      */
     bool publishMouseFocus(const trkpt_t * pt, focusmode_e fmode, const QString &owner);
     void publishMouseFocusNormalMode(const trkpt_t * pt, focusmode_e fmode);
@@ -580,8 +672,8 @@ private:
        @brief Overide IGisItem::changed() method
 
        As the CDetailsTrk is no modal dialog that blocks the GUI from any other input the track
-       can be changed while the widget is visible. Therfore it needs some feedback to update the
-       CDetailsTrk widget. Usualy this would be a signal. However CGisItemTrk is a QTreeWidgetItem
+       can be changed while the widget is visible. Therefore it needs some feedback to update the
+       CDetailsTrk widget. Usually this would be a signal. However CGisItemTrk is a QTreeWidgetItem
        and therefor no QObject. Fortunately there the dlgDetails pointer. So CDetailsTrk::setupGui()
        can be called from changed()
 
@@ -590,14 +682,15 @@ private:
      */
     void changed(const QString& what, const QString& icon);
 
+    /// setup colorIdx, color, bullet and icon
     void setColor(const QColor& c);
-    void setIcon(const QString& c);
+    /// setup track icon by color
+    void setIcon(const QString& iconColor);
 
 public:
     struct trkpt_t : public wpt_t
     {
         trkpt_t()
-            : flags(0)
         {
             reset();
         }
@@ -634,7 +727,7 @@ public:
             ,eActMaxNum = 8             ///< maximum number of activity flags. this is defined by the mask
         };
 
-        quint32 flags;
+        quint32 flags = 0;
         /// index within the complete track
         qint32 idxTotal;
         /// offset into lineSimple
@@ -660,19 +753,18 @@ public:
         qreal elapsedSecondsMoving;
         /// the key of an attached waypoint
         key_t keyWpt;
-
+        /// track point extensions
         QHash<QString,QVariant> extensions;
     };
 
     struct trkseg_t
     {
         QVector<trkpt_t> pts;
-        QMap<QString, QVariant> extensions;
     };
 
     struct trk_t
     {
-        trk_t() : number(0)
+        trk_t()
         {
         }
         // -- all gpx tags - start
@@ -681,11 +773,10 @@ public:
         QString desc;
         QString src;
         QList<link_t> links;
-        quint64 number;
+        quint64 number = 0;
         QString type;
         QVector<trkseg_t> segs;
         // -- all gpx tags - stop
-        QMap<QString, QVariant> extensions;
 
         QString color;
     };
@@ -699,36 +790,53 @@ public:
         return trk;
     }
 
+    void registerNotification(INotifiable *obj);
+    void unregisterNotification(INotifiable *obj);
+
 private:
+    /// this is the GPX structure oriented data of the track
     trk_t trk;
 
+    /// the key of the track having the user focus.
     static key_t keyUserFocus;
+    /// background (border) color of all tracks
     static const QPen penBackground;
+    /// drawing and mouse interaction is dependent on the mode
+    mode_e mode = eModeNormal;
 
-    QPen penForeground;
-
-    mode_e mode;
-
-    qint32 cntTotalPoints;
-    qint32 cntVisiblePoints;
+    /**
+       \defgroup TrackStatistics Some statistical values over the complete track
+     */
+    /**@{*/
+    qint32 cntTotalPoints   = 0;
+    qint32 cntVisiblePoints = 0;
     QDateTime timeStart;
     QDateTime timeEnd;
-    qreal totalDistance;
-    qreal totalAscend;
-    qreal totalDescend;
-    qreal totalElapsedSeconds;
-    qreal totalElapsedSecondsMoving;
+    qreal totalDistance = 0;
+    qreal totalAscend   = 0;
+    qreal totalDescend  = 0;
+    qreal totalElapsedSeconds = 0;
+    qreal totalElapsedSecondsMoving = 0;
+    /**@}*/
 
+    /**
+        \defgroup DrawUtilies Objects used to draw the track
+     */
+    /**@{*/
+    /// the track line color by index
+    unsigned colorIdx = 4;
     /// the track line color
     QColor color;
-    /// the trakpoint bullet icon
+    /// the pen with the actual track color
+    QPen penForeground {Qt::blue, 3, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin};
+    /// the trackpoint bullet icon
     QPixmap bullet;
-    /// the track line color by index
-    unsigned colorIdx;
     /// the current track line as screen pixel coordinates
     QPolygonF lineSimple;
     /// visible and invisible points
     QPolygonF lineFull;
+    /**@}*/
+
 
     /**
         A list of plot objects that need to get informed on any change in data.
@@ -751,14 +859,13 @@ private:
      */
     QSet<IPlot*> registeredPlots;
 
-    const trkpt_t * mouseMoveFocus;
-    const trkpt_t * mouseClickFocus;
-    const trkpt_t * mouseRange1;
-    const trkpt_t * mouseRange2;
-
-    QPointer<CDetailsTrk> dlgDetails;
-    QPointer<CScrOptTrk>  scrOpt;
+    QSet<INotifiable*> notifyOnChange;
+    void notifyChange();
 
+    /**
+        \defgroup FocusRange Variables to handle mouse focus and range selection
+     */
+    /**@{*/
     enum rangestate_e
     {
         eRangeStateIdle
@@ -766,11 +873,41 @@ private:
         , eRangeState2nd
     };
 
-    rangestate_e rangeState;
+    /// state variable for range selection
+    rangestate_e rangeState = eRangeStateIdle;
 
+    /**
+        @brief Identify source of current range selection
+
+        Each range selection operation has to provide an owner string.
+        If mouseFocusOwner is not empty and different to the passed
+        owner string the operation must be rejected.
+
+     */
     QString mouseFocusOwner;
 
-    CActivityTrk activities;
+    /// the current track point selected by mouse movement
+    const trkpt_t * mouseMoveFocus = 0;
+    /// the last track point the user clicked on
+    const trkpt_t * mouseClickFocus = 0;
+    /// the first point of a range selection
+    const trkpt_t * mouseRange1 = 0;
+    /// the second point of a range selection
+    const trkpt_t * mouseRange2 = 0;
+    /**@}*/
+
+    /// the track's details dialog if any
+    QPointer<CDetailsTrk> dlgDetails;
+    /// the track's screen option if visible
+    QPointer<CScrOptTrk>  scrOpt;
+
+    /// all function concerning track activities have been moved to CActivityTrk
+    CActivityTrk activities = {this};
+
+    /// all functions and data concerning graphs
+    CPropertyTrk * propHandler = nullptr;
 };
 
+using fTrkPtGetVal = std::function<qreal(const CGisItemTrk::trkpt_t&)>;
+
 #endif //CGISITEMTRK_H
diff --git a/src/gis/trk/CKnownExtension.cpp b/src/gis/trk/CKnownExtension.cpp
new file mode 100644
index 0000000..bcf38c6
--- /dev/null
+++ b/src/gis/trk/CKnownExtension.cpp
@@ -0,0 +1,137 @@
+/**********************************************************************************************
+    Copyright (C) 2015 Christian Eichler code at christian-eichler.de
+
+    This program is free software: you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+**********************************************************************************************/
+
+#include "gis/trk/CKnownExtension.h"
+#include "units/IUnit.h"
+
+QHash<QString, CKnownExtension> CKnownExtension::knownExtensions;
+
+CKnownExtension::CKnownExtension(QString name,
+                                 qreal defLimitLow, qreal defLimitHigh,
+                                 qreal minimum, qreal maximum,
+                                 qreal factor, QString unit,
+                                 QString icon, bool known,
+                                 fTrkPtGetVal valueFunc
+                                 ) : name(name), defLimitLow(defLimitLow), defLimitHigh(defLimitHigh),
+    minimum(minimum), maximum(maximum), factor(factor), unit(unit),
+    icon(icon), known(known), valueFunc(valueFunc)
+{
+}
+
+static fTrkPtGetVal getExtensionValueFunc(const QString ext)
+{
+    return [ext](const CGisItemTrk::trkpt_t &p)
+           {
+               bool ok;
+               qreal val = p.extensions.value(ext).toReal(&ok);
+               return ok ? val : NOFLOAT;
+           };
+}
+
+void CKnownExtension::init(IUnit &units)
+{
+    const QString &speedunit   = units.speedunit;
+    const qreal   &speedfactor = units.speedfactor;
+
+    const QString &baseunit    = units.baseunit;
+    const qreal   &basefactor  = units.basefactor;
+
+    knownExtensions =
+    {
+        {"slope",
+         { QObject::tr("Slope (directed)"), -10., 10., -90., 90., 1., "°", "://icons/32x32/CSrcSlope.png", true,
+           [](const CGisItemTrk::trkpt_t &p) { return p.slope1; }}
+        },
+
+        {"speed",
+         { QObject::tr("Speed"), 1., 14., 0., 600., speedfactor, speedunit, "://icons/32x32/CSrcSpeed.png", true,
+           [](const CGisItemTrk::trkpt_t &p) { return p.speed; }}
+        },
+
+        {"ele",
+         { QObject::tr("Elevation"), 200., 800., 0., 100000., basefactor, baseunit, "://icons/32x32/CSrcElevation.png", true,
+           [](const CGisItemTrk::trkpt_t &p) { return (NOINT == p.ele) ? NOFLOAT : p.ele; }}
+        },
+
+        // support for the Garmin TrackPointExtension v1
+        //  https://www8.garmin.com/xmlschemas/TrackPointExtensionv1.xsd
+        {"gpxtpx:TrackPointExtension|gpxtpx:hr",
+         { QObject::tr("Heart Rate"), 100., 200., 0., 300., 1., "bpm", "://icons/32x32/CSrcHR.png", true,
+           getExtensionValueFunc("gpxtpx:TrackPointExtension|gpxtpx:hr")}
+        },
+
+        {"gpxtpx:TrackPointExtension|gpxtpx:cad",
+         { QObject::tr("Cadence"), 50., 110., 0., 500., 1., "rpm", "://icons/32x32/CSrcCAD.png", true,
+           getExtensionValueFunc("gpxtpx:TrackPointExtension|gpxtpx:cad")}
+        },
+
+        {"gpxtpx:TrackPointExtension|gpxtpx:atemp",
+         { QObject::tr("Air Temperature"), 10., 30., -100., 100., 1., "°C", "://icons/32x32/CSrcATemp.png", true,
+           getExtensionValueFunc("gpxtpx:TrackPointExtension|gpxtpx:atemp")}
+        },
+
+        {"gpxtpx:TrackPointExtension|gpxtpx:wtemp",
+         { QObject::tr("Water Temperature"), 10., 30., -100., 100., 1., "°C", "://icons/32x32/CSrcWTemp.png", true,
+           getExtensionValueFunc("gpxtpx:TrackPointExtension|gpxtpx:wtemp")}
+        },
+
+        {"gpxtpx:TrackPointExtension|gpxtpx:depth",
+         { QObject::tr("Depth"), 0., 200., 0., 12000., basefactor, baseunit, "://icons/32x32/CSrcDepth.png", true,
+           getExtensionValueFunc("gpxtpx:TrackPointExtension|gpxtpx:depth")}
+        },
+
+
+        {"tp1:TrackPointExtension|tp1:hr",
+         { QObject::tr("Heart Rate"), 100., 200., 0., 300., 1., "bpm", "://icons/32x32/CSrcHR.png", true,
+           getExtensionValueFunc("tp1:TrackPointExtension|tp1:hr")}
+        },
+
+        {"tp1:TrackPointExtension|tp1:cad",
+         { QObject::tr("Cadence"), 50., 110., 0., 500., 1., "rpm", "://icons/32x32/CSrcCAD.png", true,
+           getExtensionValueFunc("tp1:TrackPointExtension|tp1:cad")}
+        },
+
+        {"tp1:TrackPointExtension|tp1:atemp",
+         { QObject::tr("Air Temperature"), 10., 30., -100., 100., 1., "°C", "://icons/32x32/CSrcATemp.png", true,
+           getExtensionValueFunc("tp1:TrackPointExtension|tp1:atemp")}
+        },
+
+        {"tp1:TrackPointExtension|tp1:wtemp",
+         { QObject::tr("Water Temperature"), 10., 30., -100., 100., 1., "°C", "://icons/32x32/CSrcWTemp.png", true,
+           getExtensionValueFunc("tp1:TrackPointExtension|tp1:wtemp")}
+        },
+
+        {"tp1:TrackPointExtension|tp1:depth",
+         { QObject::tr("Depth"), 0., 200., 0., 12000., basefactor, baseunit, "://icons/32x32/CSrcDepth.png", true,
+           getExtensionValueFunc("tp1:TrackPointExtension|tp1:depth")}
+        }
+    };
+}
+
+const CKnownExtension CKnownExtension::get(const QString &name)
+{
+    CKnownExtension def("", 0., 100., -100000., 100000., 1., "", "://icons/32x32/CSrcUnknown.png", false,
+                        getExtensionValueFunc(name)
+                        );
+    return knownExtensions.value(name, def);
+}
+
+bool CKnownExtension::isKnown(const QString &name)
+{
+    return knownExtensions.contains(name);
+}
diff --git a/src/gis/trk/CKnownExtension.h b/src/gis/trk/CKnownExtension.h
new file mode 100644
index 0000000..9a3a41d
--- /dev/null
+++ b/src/gis/trk/CKnownExtension.h
@@ -0,0 +1,57 @@
+/**********************************************************************************************
+    Copyright (C) 2015 Christian Eichler code at christian-eichler.de
+
+    This program is free software: you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+**********************************************************************************************/
+
+#ifndef CKNOWNEXTENSION_H
+#define CKNOWNEXTENSION_H
+
+#include "gis/trk/CGisItemTrk.h"
+#include <functional>
+
+
+class CKnownExtension
+{
+public:
+    static void init(IUnit &units);
+
+    static const CKnownExtension get(const QString &name);
+    static bool isKnown(const QString &name);
+
+    QString name;             //< userfriendly name ("Speed" "Heart Rate")
+    qreal defLimitLow;        //< the default lower limit
+    qreal defLimitHigh;       //< the default high limit
+    qreal minimum;            //< hard (enforced) minimum, cannot go lower
+    qreal maximum;            //< hard (enforced) maximum, cannot go higher
+    qreal factor;             //< factor used to convert a value to match the users' units
+    QString unit;             //< the unit (to be displayed)
+    QString icon;             //< path to an icon
+    bool known;
+    fTrkPtGetVal valueFunc;    //< the function used to retrieve the value
+
+private:
+    CKnownExtension(QString name,
+                    qreal defLimitLow, qreal defLimitHigh,
+                    qreal minimum, qreal maximum,
+                    qreal factor, QString unit,
+                    QString icon, bool known,
+                    fTrkPtGetVal valueFunc
+                    );
+
+    static QHash<QString, CKnownExtension> knownExtensions;
+};
+
+#endif // CKNOWNEXTENSION_H
diff --git a/src/gis/trk/CPropertyTrk.cpp b/src/gis/trk/CPropertyTrk.cpp
new file mode 100644
index 0000000..63597a8
--- /dev/null
+++ b/src/gis/trk/CPropertyTrk.cpp
@@ -0,0 +1,119 @@
+/**********************************************************************************************
+    Copyright (C) 2014-2015 Oliver Eichler oliver.eichler at gmx.de
+
+    This program is free software: you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+**********************************************************************************************/
+
+#include "gis/trk/CGisItemTrk.h"
+#include "gis/trk/CKnownExtension.h"
+#include "gis/trk/CPropertyTrk.h"
+#include "units/IUnit.h"
+
+#include <QtWidgets>
+
+CPropertyTrk::CPropertyTrk(const CGisItemTrk& trk)
+    : trk(trk)
+{
+    setupData();
+}
+
+void CPropertyTrk::setupData()
+{
+    properties.clear();
+
+    property_t propNull
+    {
+        ""
+        , ""
+        , QIcon()
+        , CPlotData::eAxisLinear
+        , ""
+        , ""
+        , 1.0
+        , nullptr
+        , nullptr
+    };
+    properties << propNull;
+
+    property_t propProgress
+    {
+        "progress"
+        , QObject::tr("Progress")
+        , QIcon("://icons/32x32/Progress.png")
+        , CPlotData::eAxisTime
+        , QObject::tr("time")
+        , QObject::tr("distance [%1]").arg(IUnit::self().baseunit)
+        , IUnit::self().basefactor
+        , [](const CGisItemTrk::trkpt_t &p) {return p.time.toTime_t(); }
+        , [](const CGisItemTrk::trkpt_t &p) {return p.distance; }
+    };
+    properties << propProgress;
+
+    QStringList keys = trk.getExistingDataSources();
+    foreach(const QString &key, keys)
+    {
+        // skip elevation as it is covered by the profile plot
+        if(key == "ele")
+        {
+            continue;
+        }
+
+        const CKnownExtension &ext = CKnownExtension::get(key);
+        QString name = (ext.known ? ext.name : key);
+
+        property_t property
+        {
+            key
+            , name
+            , QIcon(ext.icon)
+            , CPlotData::eAxisLinear
+            , QObject::tr("distance [%1]")
+            , QString("%1 [%2]").arg(name).arg(ext.unit)
+            , ext.factor
+            , [](const CGisItemTrk::trkpt_t &p) {return p.distance; }
+            , ext.valueFunc
+        };
+
+        // lame hack
+        if(key == "speed")
+        {
+            property.min = 0;
+        }
+
+        properties << property;
+    }
+}
+
+void CPropertyTrk::fillComboBox(QComboBox * box) const
+{
+    box->clear();
+
+    foreach(const property_t &p, properties)
+    {
+        box->addItem(p.icon, p.name, p.key);
+    }
+}
+
+void CPropertyTrk::setupPlot(CPlot * plot, int idx) const
+{
+    if(idx >= properties.size())
+    {
+        return;
+    }
+    const property_t& p = properties[idx];
+
+    plot->setup(p.axisType, p.xLabel, p.yLabel, p.factor, p.getX, p.getY);
+    plot->setLimits(p.min, p.max);
+}
diff --git a/src/gis/trk/CPropertyTrk.h b/src/gis/trk/CPropertyTrk.h
new file mode 100644
index 0000000..3f83f10
--- /dev/null
+++ b/src/gis/trk/CPropertyTrk.h
@@ -0,0 +1,79 @@
+/**********************************************************************************************
+    Copyright (C) 2014-2015 Oliver Eichler oliver.eichler at gmx.de
+
+    This program is free software: you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+**********************************************************************************************/
+
+#ifndef CPROPERTYTRK_H
+#define CPROPERTYTRK_H
+
+#include "gis/trk/CGisItemTrk.h"
+#include "plot/CPlot.h"
+#include "plot/CPlotData.h"
+
+#include <QObject>
+
+class QComboBox;
+
+class CPropertyTrk
+{
+public:
+    virtual ~CPropertyTrk() = default;
+
+    struct property_t
+    {
+        property_t() = default;
+        property_t(const QString& key, const QString& name, const QIcon& icon, CPlotData::axistype_e axisType, const QString& xLabel, const QString& yLabel, qreal factor, fTrkPtGetVal getX, fTrkPtGetVal getY)
+            : key(key)
+            , name(name)
+            , icon(icon)
+            , axisType(axisType)
+            , xLabel(xLabel)
+            , yLabel(yLabel)
+            , factor(factor)
+            , getX(getX)
+            , getY(getY)
+        {
+        }
+
+        QString key;
+        QString name;
+        QIcon icon;
+        CPlotData::axistype_e axisType = CPlotData::eAxisLinear;
+        QString xLabel;
+        QString yLabel;
+        qreal min = NOFLOAT;
+        qreal max = NOFLOAT;
+        qreal factor = 1.0;
+        fTrkPtGetVal getX = nullptr;
+        fTrkPtGetVal getY = nullptr;
+    };
+
+    void fillComboBox(QComboBox * box) const;
+
+    void setupData();
+    void setupPlot(CPlot * plot, int idx) const;
+
+private:
+    friend class CGisItemTrk;
+    CPropertyTrk(const CGisItemTrk &trk);
+
+    const CGisItemTrk& trk;
+
+    QList<property_t> properties;
+};
+
+#endif //CPROPERTYTRK_H
+
diff --git a/src/gis/trk/CScrOptTrk.cpp b/src/gis/trk/CScrOptTrk.cpp
index f504f56..aafb636 100644
--- a/src/gis/trk/CScrOptTrk.cpp
+++ b/src/gis/trk/CScrOptTrk.cpp
@@ -146,5 +146,5 @@ void CScrOptTrk::draw(QPainter& p)
     }
     item->drawHighlight(p);
 
-    CDraw::bubble2(*this, anchor, p);
+    CDraw::bubble(p, geometry(), anchor.toPoint());
 }
diff --git a/src/gis/trk/ICutTrk.ui b/src/gis/trk/ICutTrk.ui
new file mode 100644
index 0000000..2388988
--- /dev/null
+++ b/src/gis/trk/ICutTrk.ui
@@ -0,0 +1,121 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>ICutTrk</class>
+ <widget class="QDialog" name="ICutTrk">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>400</width>
+    <height>164</height>
+   </rect>
+  </property>
+  <property name="windowTitle">
+   <string>Cut Track</string>
+  </property>
+  <layout class="QVBoxLayout" name="verticalLayout">
+   <item>
+    <widget class="QRadioButton" name="radioKeepSecond">
+     <property name="text">
+      <string>Delete first part of the track and keep second one</string>
+     </property>
+    </widget>
+   </item>
+   <item>
+    <widget class="QRadioButton" name="radioKeepBoth">
+     <property name="text">
+      <string>Keep both parts of the track</string>
+     </property>
+     <property name="checked">
+      <bool>true</bool>
+     </property>
+    </widget>
+   </item>
+   <item>
+    <widget class="QRadioButton" name="radioKeepFirst">
+     <property name="text">
+      <string>Keep first part of the track and delete second one</string>
+     </property>
+    </widget>
+   </item>
+   <item>
+    <spacer name="verticalSpacer">
+     <property name="orientation">
+      <enum>Qt::Vertical</enum>
+     </property>
+     <property name="sizeHint" stdset="0">
+      <size>
+       <width>20</width>
+       <height>40</height>
+      </size>
+     </property>
+    </spacer>
+   </item>
+   <item>
+    <widget class="QCheckBox" name="checkCreateClone">
+     <property name="enabled">
+      <bool>false</bool>
+     </property>
+     <property name="toolTip">
+      <string>Check this to store the result into a new track. 
+
+If you keep both parts of the track you have to create new ones. 
+
+If you want to keep just one half you can simply remove the points, or check this to create a new track.</string>
+     </property>
+     <property name="text">
+      <string>Create a new track</string>
+     </property>
+     <property name="checked">
+      <bool>true</bool>
+     </property>
+    </widget>
+   </item>
+   <item>
+    <widget class="QDialogButtonBox" name="buttonBox">
+     <property name="orientation">
+      <enum>Qt::Horizontal</enum>
+     </property>
+     <property name="standardButtons">
+      <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
+     </property>
+    </widget>
+   </item>
+  </layout>
+ </widget>
+ <resources/>
+ <connections>
+  <connection>
+   <sender>buttonBox</sender>
+   <signal>accepted()</signal>
+   <receiver>ICutTrk</receiver>
+   <slot>accept()</slot>
+   <hints>
+    <hint type="sourcelabel">
+     <x>248</x>
+     <y>254</y>
+    </hint>
+    <hint type="destinationlabel">
+     <x>157</x>
+     <y>274</y>
+    </hint>
+   </hints>
+  </connection>
+  <connection>
+   <sender>buttonBox</sender>
+   <signal>rejected()</signal>
+   <receiver>ICutTrk</receiver>
+   <slot>reject()</slot>
+   <hints>
+    <hint type="sourcelabel">
+     <x>316</x>
+     <y>260</y>
+    </hint>
+    <hint type="destinationlabel">
+     <x>286</x>
+     <y>274</y>
+    </hint>
+   </hints>
+  </connection>
+ </connections>
+</ui>
diff --git a/src/gis/trk/IDetailsTrk.ui b/src/gis/trk/IDetailsTrk.ui
index 9e30549..28d7df1 100644
--- a/src/gis/trk/IDetailsTrk.ui
+++ b/src/gis/trk/IDetailsTrk.ui
@@ -6,8 +6,8 @@
    <rect>
     <x>0</x>
     <y>0</y>
-    <width>803</width>
-    <height>592</height>
+    <width>992</width>
+    <height>404</height>
    </rect>
   </property>
   <property name="windowTitle">
@@ -35,7 +35,7 @@
       <enum>Qt::Vertical</enum>
      </property>
      <widget class="QWidget" name="layoutWidget">
-      <layout class="QVBoxLayout" name="verticalLayout">
+      <layout class="QVBoxLayout" name="layoutPlot">
        <property name="spacing">
         <number>0</number>
        </property>
@@ -118,57 +118,9 @@
          </item>
         </layout>
        </item>
-       <item>
-        <widget class="CPlotProfile" name="plotElevation" native="true">
-         <property name="sizePolicy">
-          <sizepolicy hsizetype="Preferred" vsizetype="MinimumExpanding">
-           <horstretch>0</horstretch>
-           <verstretch>0</verstretch>
-          </sizepolicy>
-         </property>
-         <property name="minimumSize">
-          <size>
-           <width>0</width>
-           <height>100</height>
-          </size>
-         </property>
-        </widget>
-       </item>
-       <item>
-        <widget class="CPlotSpeed" name="plotSpeed" native="true">
-         <property name="sizePolicy">
-          <sizepolicy hsizetype="Preferred" vsizetype="MinimumExpanding">
-           <horstretch>0</horstretch>
-           <verstretch>0</verstretch>
-          </sizepolicy>
-         </property>
-         <property name="minimumSize">
-          <size>
-           <width>0</width>
-           <height>100</height>
-          </size>
-         </property>
-        </widget>
-       </item>
-       <item>
-        <widget class="CPlotDistance" name="plotDistance" native="true">
-         <property name="sizePolicy">
-          <sizepolicy hsizetype="Preferred" vsizetype="MinimumExpanding">
-           <horstretch>0</horstretch>
-           <verstretch>0</verstretch>
-          </sizepolicy>
-         </property>
-         <property name="minimumSize">
-          <size>
-           <width>0</width>
-           <height>100</height>
-          </size>
-         </property>
-        </widget>
-       </item>
       </layout>
      </widget>
-     <widget class="QWidget" name="layoutWidget">
+     <widget class="QWidget" name="layoutWidget1">
       <layout class="QHBoxLayout" name="horizontalLayout_6">
        <property name="spacing">
         <number>3</number>
@@ -198,129 +150,308 @@
            <number>3</number>
           </property>
           <item>
-           <widget class="QGroupBox" name="groupBox">
-            <property name="title">
-             <string>Graph Control</string>
+           <layout class="QHBoxLayout" name="horizontalLayout_8">
+            <item>
+             <widget class="QToolButton" name="toolLock">
+              <property name="sizePolicy">
+               <sizepolicy hsizetype="Maximum" vsizetype="Fixed">
+                <horstretch>0</horstretch>
+                <verstretch>0</verstretch>
+               </sizepolicy>
+              </property>
+              <property name="toolTip">
+               <string>Toggle read only mode. You have to open the lock to edit the item.</string>
+              </property>
+              <property name="text">
+               <string>...</string>
+              </property>
+              <property name="icon">
+               <iconset resource="../../resources.qrc">
+                <normaloff>:/icons/32x32/UnLock.png</normaloff>
+                <normalon>:/icons/32x32/Lock.png</normalon>:/icons/32x32/UnLock.png</iconset>
+              </property>
+              <property name="iconSize">
+               <size>
+                <width>22</width>
+                <height>22</height>
+               </size>
+              </property>
+              <property name="checkable">
+               <bool>true</bool>
+              </property>
+              <property name="autoRaise">
+               <bool>true</bool>
+              </property>
+             </widget>
+            </item>
+            <item>
+             <widget class="QLabel" name="labelTainted">
+              <property name="sizePolicy">
+               <sizepolicy hsizetype="Maximum" vsizetype="Preferred">
+                <horstretch>0</horstretch>
+                <verstretch>0</verstretch>
+               </sizepolicy>
+              </property>
+              <property name="maximumSize">
+               <size>
+                <width>25</width>
+                <height>25</height>
+               </size>
+              </property>
+              <property name="toolTip">
+               <string><html><head/><body><p>The waypoint was imported to QMapShack and was changed. It does not show the original data anymore. Please see history for changes. </p></body></html></string>
+              </property>
+              <property name="text">
+               <string/>
+              </property>
+              <property name="pixmap">
+               <pixmap resource="../../resources.qrc">:/icons/32x32/Tainted.png</pixmap>
+              </property>
+              <property name="scaledContents">
+               <bool>true</bool>
+              </property>
+             </widget>
+            </item>
+            <item>
+             <widget class="QLabel" name="label_5">
+              <property name="text">
+               <string/>
+              </property>
+             </widget>
+            </item>
+           </layout>
+          </item>
+          <item>
+           <widget class="QLabel" name="labelInfo">
+            <property name="text">
+             <string>-</string>
             </property>
-            <layout class="QHBoxLayout" name="horizontalLayout">
-             <property name="spacing">
-              <number>3</number>
-             </property>
-             <property name="leftMargin">
-              <number>3</number>
-             </property>
-             <property name="topMargin">
-              <number>3</number>
-             </property>
-             <property name="rightMargin">
-              <number>3</number>
-             </property>
-             <property name="bottomMargin">
-              <number>3</number>
+            <property name="alignment">
+             <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
+            </property>
+            <property name="textInteractionFlags">
+             <set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse</set>
+            </property>
+           </widget>
+          </item>
+          <item>
+           <spacer name="verticalSpacer">
+            <property name="orientation">
+             <enum>Qt::Vertical</enum>
+            </property>
+            <property name="sizeHint" stdset="0">
+             <size>
+              <width>20</width>
+              <height>40</height>
+             </size>
+            </property>
+           </spacer>
+          </item>
+         </layout>
+        </widget>
+       </item>
+       <item>
+        <widget class="QTabWidget" name="tabWidget">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="MinimumExpanding" vsizetype="Expanding">
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+         <property name="currentIndex">
+          <number>0</number>
+         </property>
+         <widget class="QWidget" name="tab_3">
+          <attribute name="title">
+           <string>Info</string>
+          </attribute>
+          <layout class="QHBoxLayout" name="horizontalLayout_5">
+           <property name="spacing">
+            <number>3</number>
+           </property>
+           <property name="leftMargin">
+            <number>0</number>
+           </property>
+           <property name="topMargin">
+            <number>0</number>
+           </property>
+           <property name="rightMargin">
+            <number>0</number>
+           </property>
+           <property name="bottomMargin">
+            <number>0</number>
+           </property>
+           <item>
+            <widget class="CPlotTrack" name="plotTrack" native="true"/>
+           </item>
+           <item>
+            <widget class="QTextBrowser" name="textCmtDesc">
+             <property name="openLinks">
+              <bool>false</bool>
              </property>
+            </widget>
+           </item>
+          </layout>
+         </widget>
+         <widget class="QWidget" name="tabStyle">
+          <attribute name="title">
+           <string>Style</string>
+          </attribute>
+          <layout class="QHBoxLayout" name="tabStyleLayout">
+           <item>
+            <layout class="QVBoxLayout" name="widgetColorLayout">
              <item>
-              <widget class="QCheckBox" name="checkProfile">
-               <property name="text">
-                <string>Profile</string>
+              <widget class="CColorLegend" name="widgetColorLabel" native="true">
+               <property name="sizePolicy">
+                <sizepolicy hsizetype="Minimum" vsizetype="MinimumExpanding">
+                 <horstretch>0</horstretch>
+                 <verstretch>0</verstretch>
+                </sizepolicy>
                </property>
-              </widget>
-             </item>
-             <item>
-              <widget class="QCheckBox" name="checkSpeed">
-               <property name="text">
-                <string>Speed</string>
+               <property name="minimumSize">
+                <size>
+                 <width>60</width>
+                 <height>100</height>
+                </size>
                </property>
-              </widget>
-             </item>
-             <item>
-              <widget class="QCheckBox" name="checkProgress">
-               <property name="text">
-                <string>Progress</string>
+               <property name="maximumSize">
+                <size>
+                 <width>16777215</width>
+                 <height>300</height>
+                </size>
                </property>
               </widget>
              </item>
             </layout>
-           </widget>
-          </item>
-          <item>
-           <widget class="QGroupBox" name="groupBox_2">
-            <property name="title">
-             <string>Track</string>
-            </property>
-            <layout class="QVBoxLayout" name="verticalLayout_8">
-             <property name="spacing">
-              <number>3</number>
-             </property>
-             <property name="leftMargin">
-              <number>3</number>
-             </property>
-             <property name="topMargin">
-              <number>3</number>
-             </property>
-             <property name="rightMargin">
-              <number>3</number>
-             </property>
-             <property name="bottomMargin">
-              <number>3</number>
-             </property>
+           </item>
+           <item>
+            <layout class="QVBoxLayout" name="verticalLayout_2">
              <item>
-              <layout class="QHBoxLayout" name="horizontalLayout_4">
-               <property name="spacing">
-                <number>3</number>
-               </property>
-               <item>
-                <widget class="QToolButton" name="toolLock">
-                 <property name="toolTip">
-                  <string>Toggle read only mode. You have to open the lock to edit the item.</string>
+              <layout class="QGridLayout" name="gridLayout">
+               <item row="2" column="2">
+                <widget class="QPushButton" name="btnMaxFromData">
+                 <property name="sizePolicy">
+                  <sizepolicy hsizetype="Minimum" vsizetype="Preferred">
+                   <horstretch>0</horstretch>
+                   <verstretch>0</verstretch>
+                  </sizepolicy>
                  </property>
                  <property name="text">
-                  <string>...</string>
+                  <string>from Data</string>
                  </property>
-                 <property name="icon">
-                  <iconset resource="../../resources.qrc">
-                   <normaloff>:/icons/32x32/UnLock.png</normaloff>
-                   <normalon>:/icons/32x32/Lock.png</normalon>:/icons/32x32/UnLock.png</iconset>
+                </widget>
+               </item>
+               <item row="1" column="0">
+                <widget class="QLabel" name="label">
+                 <property name="sizePolicy">
+                  <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+                   <horstretch>0</horstretch>
+                   <verstretch>0</verstretch>
+                  </sizepolicy>
                  </property>
-                 <property name="iconSize">
-                  <size>
-                   <width>22</width>
-                   <height>22</height>
-                  </size>
+                 <property name="text">
+                  <string>Source</string>
                  </property>
-                 <property name="checkable">
-                  <bool>true</bool>
+                </widget>
+               </item>
+               <item row="1" column="1">
+                <widget class="QComboBox" name="comboColorSource">
+                 <property name="sizePolicy">
+                  <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
+                   <horstretch>0</horstretch>
+                   <verstretch>0</verstretch>
+                  </sizepolicy>
                  </property>
-                 <property name="autoRaise">
-                  <bool>true</bool>
+                </widget>
+               </item>
+               <item row="2" column="0">
+                <widget class="QLabel" name="label_2">
+                 <property name="sizePolicy">
+                  <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+                   <horstretch>0</horstretch>
+                   <verstretch>0</verstretch>
+                  </sizepolicy>
+                 </property>
+                 <property name="text">
+                  <string>Maximum</string>
                  </property>
                 </widget>
                </item>
-               <item>
-                <widget class="QLabel" name="labelTainted">
-                 <property name="maximumSize">
-                  <size>
-                   <width>25</width>
-                   <height>25</height>
-                  </size>
+               <item row="2" column="1">
+                <widget class="CDoubleSpinBox" name="spinLimitHigh">
+                 <property name="sizePolicy">
+                  <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
+                   <horstretch>0</horstretch>
+                   <verstretch>0</verstretch>
+                  </sizepolicy>
+                 </property>
+                 <property name="decimals">
+                  <number>1</number>
+                 </property>
+                 <property name="minimum">
+                  <double>-100.000000000000000</double>
                  </property>
-                 <property name="toolTip">
-                  <string><html><head/><body><p>The waypoint was imported to QMapShack and was changed. It does not show the original data anymore. Please see history for changes. </p></body></html></string>
+                </widget>
+               </item>
+               <item row="3" column="0">
+                <widget class="QLabel" name="label_3">
+                 <property name="sizePolicy">
+                  <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+                   <horstretch>0</horstretch>
+                   <verstretch>0</verstretch>
+                  </sizepolicy>
                  </property>
                  <property name="text">
-                  <string/>
+                  <string>Minimum</string>
                  </property>
-                 <property name="pixmap">
-                  <pixmap resource="../../resources.qrc">:/icons/32x32/Tainted.png</pixmap>
+                </widget>
+               </item>
+               <item row="3" column="1">
+                <widget class="CDoubleSpinBox" name="spinLimitLow">
+                 <property name="sizePolicy">
+                  <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
+                   <horstretch>0</horstretch>
+                   <verstretch>0</verstretch>
+                  </sizepolicy>
+                 </property>
+                 <property name="decimals">
+                  <number>1</number>
                  </property>
-                 <property name="scaledContents">
-                  <bool>true</bool>
+                 <property name="minimum">
+                  <double>-100.000000000000000</double>
                  </property>
                 </widget>
                </item>
-               <item>
+               <item row="3" column="2">
+                <widget class="QPushButton" name="btnMinFromData">
+                 <property name="sizePolicy">
+                  <sizepolicy hsizetype="Minimum" vsizetype="Preferred">
+                   <horstretch>0</horstretch>
+                   <verstretch>0</verstretch>
+                  </sizepolicy>
+                 </property>
+                 <property name="text">
+                  <string>from Data</string>
+                 </property>
+                </widget>
+               </item>
+               <item row="0" column="0">
+                <widget class="QLabel" name="label_4">
+                 <property name="sizePolicy">
+                  <sizepolicy hsizetype="Minimum" vsizetype="Minimum">
+                   <horstretch>0</horstretch>
+                   <verstretch>0</verstretch>
+                  </sizepolicy>
+                 </property>
+                 <property name="text">
+                  <string>Solid color</string>
+                 </property>
+                </widget>
+               </item>
+               <item row="0" column="1">
                 <widget class="QComboBox" name="comboColor">
                  <property name="sizePolicy">
-                  <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
+                  <sizepolicy hsizetype="Expanding" vsizetype="Minimum">
                    <horstretch>0</horstretch>
                    <verstretch>0</verstretch>
                   </sizepolicy>
@@ -330,20 +461,7 @@
               </layout>
              </item>
              <item>
-              <widget class="QLabel" name="labelInfo">
-               <property name="text">
-                <string>-</string>
-               </property>
-               <property name="alignment">
-                <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
-               </property>
-               <property name="textInteractionFlags">
-                <set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse</set>
-               </property>
-              </widget>
-             </item>
-             <item>
-              <spacer name="verticalSpacer">
+              <spacer name="verticalSpacer_2">
                <property name="orientation">
                 <enum>Qt::Vertical</enum>
                </property>
@@ -356,47 +474,86 @@
               </spacer>
              </item>
             </layout>
-           </widget>
-          </item>
-         </layout>
-        </widget>
-       </item>
-       <item>
-        <widget class="QTabWidget" name="tabWidget">
-         <property name="sizePolicy">
-          <sizepolicy hsizetype="MinimumExpanding" vsizetype="Expanding">
-           <horstretch>0</horstretch>
-           <verstretch>0</verstretch>
-          </sizepolicy>
-         </property>
-         <property name="currentIndex">
-          <number>0</number>
-         </property>
-         <widget class="QWidget" name="tab_3">
+           </item>
+           <item>
+            <spacer name="horizontalSpacer_4">
+             <property name="orientation">
+              <enum>Qt::Horizontal</enum>
+             </property>
+             <property name="sizeHint" stdset="0">
+              <size>
+               <width>40</width>
+               <height>20</height>
+              </size>
+             </property>
+            </spacer>
+           </item>
+          </layout>
+         </widget>
+         <widget class="QWidget" name="tab_5">
           <attribute name="title">
-           <string>Info</string>
+           <string>Graphs</string>
           </attribute>
-          <layout class="QHBoxLayout" name="horizontalLayout_5">
-           <property name="spacing">
-            <number>3</number>
-           </property>
-           <property name="leftMargin">
-            <number>0</number>
-           </property>
-           <property name="topMargin">
-            <number>0</number>
-           </property>
-           <property name="rightMargin">
-            <number>0</number>
-           </property>
-           <property name="bottomMargin">
-            <number>0</number>
-           </property>
-           <item>
-            <widget class="CPlotTrack" name="plotTrack" native="true"/>
+          <layout class="QGridLayout" name="gridLayout_2">
+           <item row="1" column="1">
+            <widget class="QComboBox" name="comboGraph2"/>
            </item>
-           <item>
-            <widget class="QTextBrowser" name="textCmtDesc"/>
+           <item row="2" column="1">
+            <widget class="QComboBox" name="comboGraph3"/>
+           </item>
+           <item row="3" column="1">
+            <spacer name="verticalSpacer_3">
+             <property name="orientation">
+              <enum>Qt::Vertical</enum>
+             </property>
+             <property name="sizeHint" stdset="0">
+              <size>
+               <width>20</width>
+               <height>40</height>
+              </size>
+             </property>
+            </spacer>
+           </item>
+           <item row="2" column="2">
+            <spacer name="horizontalSpacer_3">
+             <property name="orientation">
+              <enum>Qt::Horizontal</enum>
+             </property>
+             <property name="sizeHint" stdset="0">
+              <size>
+               <width>40</width>
+               <height>20</height>
+              </size>
+             </property>
+            </spacer>
+           </item>
+           <item row="0" column="1">
+            <widget class="QLabel" name="label_6">
+             <property name="text">
+              <string>Profile</string>
+             </property>
+            </widget>
+           </item>
+           <item row="2" column="0">
+            <widget class="QCheckBox" name="checkGraph3">
+             <property name="text">
+              <string>Graph 3</string>
+             </property>
+            </widget>
+           </item>
+           <item row="1" column="0">
+            <widget class="QCheckBox" name="checkGraph2">
+             <property name="text">
+              <string>Graph 2</string>
+             </property>
+            </widget>
+           </item>
+           <item row="0" column="0">
+            <widget class="QCheckBox" name="checkGraph1">
+             <property name="text">
+              <string>Graph 1</string>
+             </property>
+            </widget>
            </item>
           </layout>
          </widget>
@@ -650,7 +807,7 @@
   <customwidget>
    <class>CHistoryListWidget</class>
    <extends>QListWidget</extends>
-   <header>helpers/CHistoryListWidget.h</header>
+   <header>widgets/CHistoryListWidget.h</header>
   </customwidget>
   <customwidget>
    <class>CPlotTrack</class>
@@ -659,21 +816,14 @@
    <container>1</container>
   </customwidget>
   <customwidget>
-   <class>CPlotProfile</class>
-   <extends>QWidget</extends>
-   <header>plot/CPlotProfile.h</header>
-   <container>1</container>
-  </customwidget>
-  <customwidget>
-   <class>CPlotDistance</class>
-   <extends>QWidget</extends>
-   <header>plot/CPlotDistance.h</header>
-   <container>1</container>
+   <class>CDoubleSpinBox</class>
+   <extends>QDoubleSpinBox</extends>
+   <header>widgets/CDoubleSpinBox.h</header>
   </customwidget>
   <customwidget>
-   <class>CPlotSpeed</class>
+   <class>CColorLegend</class>
    <extends>QWidget</extends>
-   <header>plot/CPlotSpeed.h</header>
+   <header>widgets/CColorLegend.h</header>
    <container>1</container>
   </customwidget>
  </customwidgets>
diff --git a/src/gis/trk/IScrOptTrk.ui b/src/gis/trk/IScrOptTrk.ui
index 6a11db6..8bc2037 100644
--- a/src/gis/trk/IScrOptTrk.ui
+++ b/src/gis/trk/IScrOptTrk.ui
@@ -159,7 +159,12 @@
      <item>
       <widget class="QToolButton" name="toolCut">
        <property name="toolTip">
-        <string>Cut track at selected point into two tracks.</string>
+        <string>Cut track at selected point. You can use this to:
+
+* remove bad points at the start or end of the track
+* use the track parts to plan a new tour
+* cut a long track into stages
+</string>
        </property>
        <property name="text">
         <string>...</string>
diff --git a/src/plot/CPlotDistance.h b/src/gis/trk/filter/CFilterInvalid.cpp
similarity index 63%
copy from src/plot/CPlotDistance.h
copy to src/gis/trk/filter/CFilterInvalid.cpp
index 784c495..9e9ba69 100644
--- a/src/plot/CPlotDistance.h
+++ b/src/gis/trk/filter/CFilterInvalid.cpp
@@ -16,22 +16,27 @@
 
 **********************************************************************************************/
 
-#ifndef CPLOTDISTANCE_H
-#define CPLOTDISTANCE_H
+#include "gis/trk/filter/CFilterInvalid.h"
+#include "canvas/CCanvas.h"
+#include "gis/trk/CGisItemTrk.h"
 
-#include "plot/IPlot.h"
+CFilterInvalid::CFilterInvalid(CGisItemTrk &trk, QWidget *parent)
+    : QWidget(parent)
+    , trk(trk)
 
-class CPlotDistance : public IPlot
 {
-    Q_OBJECT
-public:
-    CPlotDistance(QWidget * parent);
-    virtual ~CPlotDistance();
+    setupUi(this);
 
-    void setTrack(CGisItemTrk * track);
-    void updateData();
-    void setMouseFocus(const CGisItemTrk::trkpt_t * ptMouseMove);
-};
+    connect(toolApply, SIGNAL(clicked()), this, SLOT(slotApply()));
+}
 
-#endif //CPLOTDISTANCE_H
+CFilterInvalid::~CFilterInvalid()
+{
+}
 
+void CFilterInvalid::slotApply()
+{
+    CCanvas::setOverrideCursor(Qt::WaitCursor, "CFilterInvalid");
+    trk.filterRemoveNullPoints();
+    CCanvas::restoreOverrideCursor("CFilterInvalid");
+}
diff --git a/src/plot/CPlotSpeed.h b/src/gis/trk/filter/CFilterInvalid.h
similarity index 70%
copy from src/plot/CPlotSpeed.h
copy to src/gis/trk/filter/CFilterInvalid.h
index 1ccae01..7cca586 100644
--- a/src/plot/CPlotSpeed.h
+++ b/src/gis/trk/filter/CFilterInvalid.h
@@ -16,22 +16,28 @@
 
 **********************************************************************************************/
 
-#ifndef CPLOTSPEED_H
-#define CPLOTSPEED_H
+#ifndef CFILTERINVALID_H
+#define CFILTERINVALID_H
 
-#include "plot/IPlot.h"
+#include "ui_IFilterInvalid.h"
+#include <QWidget>
+#include <functional>
 
-class CPlotSpeed : public IPlot
+class CGisItemTrk;
+
+class CFilterInvalid : public QWidget, private Ui::IFilterInvalid
 {
     Q_OBJECT
 public:
-    CPlotSpeed(QWidget * parent);
-    virtual ~CPlotSpeed();
+    CFilterInvalid(CGisItemTrk& trk, QWidget *parent);
+    virtual ~CFilterInvalid();
+
+private slots:
+    void slotApply();
 
-    void setTrack(CGisItemTrk * track);
-    void updateData();
-    void setMouseFocus(const CGisItemTrk::trkpt_t * ptMouseMove);
+private:
+    CGisItemTrk& trk;
 };
 
-#endif //CPLOTSPEED_H
+#endif // CFILTERINVALID_H
 
diff --git a/src/gis/trk/filter/IFilterInvalid.ui b/src/gis/trk/filter/IFilterInvalid.ui
new file mode 100644
index 0000000..65944fa
--- /dev/null
+++ b/src/gis/trk/filter/IFilterInvalid.ui
@@ -0,0 +1,108 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>IFilterInvalid</class>
+ <widget class="QWidget" name="IFilterInvalid">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>787</width>
+    <height>82</height>
+   </rect>
+  </property>
+  <property name="windowTitle">
+   <string>Form</string>
+  </property>
+  <layout class="QGridLayout" name="gridLayout">
+   <property name="leftMargin">
+    <number>3</number>
+   </property>
+   <property name="topMargin">
+    <number>0</number>
+   </property>
+   <property name="rightMargin">
+    <number>0</number>
+   </property>
+   <property name="bottomMargin">
+    <number>0</number>
+   </property>
+   <property name="spacing">
+    <number>3</number>
+   </property>
+   <item row="0" column="1">
+    <widget class="QLabel" name="labelTitle">
+     <property name="font">
+      <font>
+       <weight>75</weight>
+       <bold>true</bold>
+      </font>
+     </property>
+     <property name="text">
+      <string>Hide Invalid Points</string>
+     </property>
+     <property name="textFormat">
+      <enum>Qt::PlainText</enum>
+     </property>
+    </widget>
+   </item>
+   <item row="1" column="1">
+    <layout class="QHBoxLayout" name="horizontalLayout_2">
+     <property name="spacing">
+      <number>3</number>
+     </property>
+     <item>
+      <widget class="QLabel" name="labelDescription">
+       <property name="text">
+        <string>Hide points with invalid coordinates at the beginning of the track.</string>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <widget class="QToolButton" name="toolApply">
+       <property name="text">
+        <string>...</string>
+       </property>
+       <property name="icon">
+        <iconset resource="../../../resources.qrc">
+         <normaloff>:/icons/32x32/Apply.png</normaloff>:/icons/32x32/Apply.png</iconset>
+       </property>
+       <property name="iconSize">
+        <size>
+         <width>22</width>
+         <height>22</height>
+        </size>
+       </property>
+      </widget>
+     </item>
+    </layout>
+   </item>
+   <item row="2" column="0" colspan="2">
+    <widget class="Line" name="line">
+     <property name="orientation">
+      <enum>Qt::Horizontal</enum>
+     </property>
+    </widget>
+   </item>
+   <item row="0" column="0" rowspan="2">
+    <widget class="QLabel" name="labelIcon">
+     <property name="sizePolicy">
+      <sizepolicy hsizetype="Maximum" vsizetype="Preferred">
+       <horstretch>0</horstretch>
+       <verstretch>0</verstretch>
+      </sizepolicy>
+     </property>
+     <property name="text">
+      <string/>
+     </property>
+     <property name="pixmap">
+      <pixmap resource="../../../resources.qrc">:/icons/48x48/PointHide.png</pixmap>
+     </property>
+    </widget>
+   </item>
+  </layout>
+ </widget>
+ <resources>
+  <include location="../../../resources.qrc"/>
+ </resources>
+ <connections/>
+</ui>
diff --git a/src/gis/trk/filter/filter.cpp b/src/gis/trk/filter/filter.cpp
index 2d483ae..e960de6 100644
--- a/src/gis/trk/filter/filter.cpp
+++ b/src/gis/trk/filter/filter.cpp
@@ -26,6 +26,7 @@
 void CGisItemTrk::filterReducePoints(qreal dist)
 {
     QVector<pointDP> line;
+    bool nothingDone = true;
 
     foreach (const trkseg_t &seg, trk.segs)
     {
@@ -82,18 +83,62 @@ void CGisItemTrk::filterReducePoints(qreal dist)
             }
             else
             {
-                pt.flags |=  trkpt_t::eHidden;
+                if((pt.flags & trkpt_t::eHidden) == 0)
+                {
+                    nothingDone = false;
+                    pt.flags |=  trkpt_t::eHidden;
+                }
+
             }
 
             cnt++;
         }
     }
 
+    if(nothingDone)
+    {
+        return;
+    }
+
+    deriveSecondaryData();
     QString val, unit;
     IUnit::self().meter2distance(dist, val, unit);
+    changed(QObject::tr("Hide points by Douglas Peuker algorithm (%1%2)").arg(val).arg(unit), "://icons/48x48/PointHide.png");
+}
+
+void CGisItemTrk::filterRemoveNullPoints()
+{
+    bool nothingDone    = true;
+    bool done           = false;
+
+    for(int i = 0; i < trk.segs.size() && !done; i++)
+    {
+        trkseg_t& seg = trk.segs[i];
+
+        for(int n = 0; n < seg.pts.size() && !done; n++)
+        {
+            trkpt_t& pt = seg.pts[n];
+
+            if( (NOFLOAT == pt.lat || 0. == pt.lat)
+             && (NOFLOAT == pt.lon || 0. == pt.lon) )
+            {
+                pt.flags |= trkpt_t::eHidden;
+                nothingDone = false;
+            }
+            else
+            {
+                done = true;
+            }
+        }
+    }
+
+    if(nothingDone)
+    {
+        return;
+    }
 
     deriveSecondaryData();
-    changed(QObject::tr("Hide points by Douglas Peuker algorithm (%1%2)").arg(val).arg(unit), "://icons/48x48/PointHide.png");
+    changed(QObject::tr("Hide points with invalid coordinates at the beginning of the track"), "://icons/48x48/PointHide.png");
 }
 
 void CGisItemTrk::filterReset()
@@ -114,6 +159,8 @@ void CGisItemTrk::filterReset()
 
 void CGisItemTrk::filterDelete()
 {
+    bool nothingDone = true;
+
     for(int i = 0; i < trk.segs.size(); i++)
     {
         QVector<trkpt_t> pts;
@@ -125,6 +172,7 @@ void CGisItemTrk::filterDelete()
 
             if(pt.flags & trkpt_t::eHidden)
             {
+                nothingDone = false;
                 continue;
             }
 
@@ -133,6 +181,12 @@ void CGisItemTrk::filterDelete()
 
         seg.pts = pts;
     }
+
+    if(nothingDone)
+    {
+        return;
+    }
+
     deriveSecondaryData();
     changed(QObject::tr("Permanently removed all hidden track points"), "://icons/48x48/PointHide.png");
 }
diff --git a/src/gis/wpt/CDetailsGeoCache.cpp b/src/gis/wpt/CDetailsGeoCache.cpp
index 739aefb..4dcab14 100644
--- a/src/gis/wpt/CDetailsGeoCache.cpp
+++ b/src/gis/wpt/CDetailsGeoCache.cpp
@@ -30,7 +30,6 @@
 CDetailsGeoCache::CDetailsGeoCache(CGisItemWpt &wpt, QWidget *parent)
     : QDialog(parent)
     , wpt(wpt)
-    , cntSpoiler(0)
 {
     setupUi(this);
     setWindowTitle(wpt.getName());
diff --git a/src/gis/wpt/CDetailsGeoCache.h b/src/gis/wpt/CDetailsGeoCache.h
index b8ee847..8fca37c 100644
--- a/src/gis/wpt/CDetailsGeoCache.h
+++ b/src/gis/wpt/CDetailsGeoCache.h
@@ -43,7 +43,7 @@ private slots:
 private:
     CGisItemWpt& wpt;
     QNetworkAccessManager * networkManager;
-    int cntSpoiler;
+    int cntSpoiler = 0;
     QTimer * timerDownload;
 };
 
diff --git a/src/gis/wpt/CDetailsWpt.cpp b/src/gis/wpt/CDetailsWpt.cpp
index 616379d..4d63e85 100644
--- a/src/gis/wpt/CDetailsWpt.cpp
+++ b/src/gis/wpt/CDetailsWpt.cpp
@@ -22,9 +22,9 @@
 #include "helpers/CInputDialog.h"
 #include "helpers/CLinksDialog.h"
 #include "helpers/CPositionDialog.h"
-#include "helpers/CTextEditWidget.h"
 #include "helpers/CWptIconDialog.h"
 #include "units/IUnit.h"
+#include "widgets/CTextEditWidget.h"
 
 
 #include <QtWidgets>
@@ -33,27 +33,21 @@
 CDetailsWpt::CDetailsWpt(CGisItemWpt &wpt, QWidget *parent)
     : QDialog(parent)
     , wpt(wpt)
-    , originator(false)
 {
     setupUi(this);
-    toolAddImage->hide();
-    toolDelImage->hide();
     photoAlbum->hide();
 
     setupGui();
 
-    if(wpt.isOnDevice())
-    {
-        toolLock->setDisabled(true);
-    }
+    toolLock->setDisabled(wpt.isOnDevice());
 
-    connect(labelName, SIGNAL(linkActivated(QString)), this, SLOT(slotLinkActivated(QString)));
-    connect(labelPosition, SIGNAL(linkActivated(QString)), this, SLOT(slotLinkActivated(QString)));
+    connect(labelName,      SIGNAL(linkActivated(QString)), this, SLOT(slotLinkActivated(QString)));
+    connect(labelPosition,  SIGNAL(linkActivated(QString)), this, SLOT(slotLinkActivated(QString)));
     connect(labelElevation, SIGNAL(linkActivated(QString)), this, SLOT(slotLinkActivated(QString)));
     connect(labelProximity, SIGNAL(linkActivated(QString)), this, SLOT(slotLinkActivated(QString)));
-    connect(textCmtDesc, SIGNAL(anchorClicked(QUrl)), this, SLOT(slotLinkActivated(QUrl)));
-    connect(toolIcon, SIGNAL(clicked()), this, SLOT(slotChangeIcon()));
-    connect(toolLock, SIGNAL(toggled(bool)), this, SLOT(slotChangeReadOnlyMode(bool)));
+    connect(textCmtDesc,    SIGNAL(anchorClicked(QUrl)),    this, SLOT(slotLinkActivated(QUrl)));
+    connect(toolIcon,       SIGNAL(clicked()),              this, SLOT(slotChangeIcon()));
+    connect(toolLock,       SIGNAL(toggled(bool)),          this, SLOT(slotChangeReadOnlyMode(bool)));
 
     connect(listHistory, SIGNAL(sigChanged()), this, SLOT(setupGui()));
 
@@ -90,34 +84,25 @@ void CDetailsWpt::setupGui()
     labelName->setText(IGisItem::toLink(isReadOnly, "name", wpt.getName(), ""));
     labelPosition->setText(IGisItem::toLink(isReadOnly, "position", strPos, ""));
 
-    if(wpt.isTainted())
-    {
-        labelTainted->show();
-    }
-    else
-    {
-        labelTainted->hide();
-    }
+    labelTainted->setVisible(wpt.isTainted());
 
+    QString elevationStr = "--";
     if(wpt.getElevation() != NOINT)
     {
         IUnit::self().meter2elevation(wpt.getElevation(), val, unit);
-        labelElevation->setText(IGisItem::toLink(isReadOnly, "elevation", QString("%1 %2").arg(val).arg(unit), ""));
-    }
-    else
-    {
-        labelElevation->setText(IGisItem::toLink(isReadOnly, "elevation", "--", ""));
+        elevationStr = QString("%1 %2").arg(val).arg(unit);
     }
+    labelElevation->setText(IGisItem::toLink(isReadOnly, "elevation", elevationStr, ""));
+
 
+    QString proxStr = "--";
     if(wpt.getProximity() != NOFLOAT)
     {
         IUnit::self().meter2elevation(wpt.getProximity(), val, unit);
-        labelProximity->setText(IGisItem::toLink(isReadOnly, "proximity", QString("%1 %2").arg(val).arg(unit), ""));
-    }
-    else
-    {
-        labelProximity->setText(IGisItem::toLink(isReadOnly, "proximity", "--", ""));
+        proxStr = QString("%1 %2").arg(val).arg(unit);
     }
+    labelProximity->setText(IGisItem::toLink(isReadOnly, "proximity", proxStr, ""));
+
 
     if(wpt.getTime().isValid())
     {
@@ -135,17 +120,9 @@ void CDetailsWpt::setupGui()
 
     const QList<CGisItemWpt::image_t>& images = wpt.getImages();
     photoAlbum->reload(images);
-    toolAddImage->hide();
-    toolDelImage->hide();
 
-    if(!isReadOnly)
-    {
-        toolAddImage->show();
-        if(!images.isEmpty())
-        {
-            toolDelImage->show();
-        }
-    }
+    toolAddImage->setVisible(!isReadOnly);
+    toolDelImage->setVisible(!isReadOnly && !images.isEmpty());
 
     originator = false;
 }
@@ -232,16 +209,14 @@ void CDetailsWpt::slotLinkActivated(const QUrl& url)
 
 void CDetailsWpt::slotChangeIcon()
 {
-    if(wpt.isReadOnly())
+    if(!wpt.isReadOnly())
     {
-        return;
-    }
-
-    CWptIconDialog dlg(toolIcon);
-    if(dlg.exec() == QDialog::Accepted)
-    {
-        wpt.setIcon(toolIcon->objectName());
-        setupGui();
+        CWptIconDialog dlg(toolIcon);
+        if(dlg.exec() == QDialog::Accepted)
+        {
+            wpt.setIcon(toolIcon->objectName());
+            setupGui();
+        }
     }
 }
 
diff --git a/src/gis/wpt/CDetailsWpt.h b/src/gis/wpt/CDetailsWpt.h
index 316a2d3..7705c58 100644
--- a/src/gis/wpt/CDetailsWpt.h
+++ b/src/gis/wpt/CDetailsWpt.h
@@ -42,7 +42,7 @@ private slots:
 private:
     CGisItemWpt& wpt;
 
-    bool originator;
+    bool originator = false;
 };
 
 #endif //CDETAILSWPT_H
diff --git a/src/gis/wpt/CGisItemWpt.cpp b/src/gis/wpt/CGisItemWpt.cpp
index a8a7002..ac05a5a 100644
--- a/src/gis/wpt/CGisItemWpt.cpp
+++ b/src/gis/wpt/CGisItemWpt.cpp
@@ -41,18 +41,6 @@ IGisItem::key_t CGisItemWpt::keyUserFocus;
 /// used to add a new waypoint
 CGisItemWpt::CGisItemWpt(const QPointF& pos, const QString& name, const QString &icon, IGisProject *project)
     : IGisItem(project, eTypeWpt, NOIDX)
-    , proximity(NOFLOAT)
-    , posScreen(NOPOINTF)
-    , doBubble(false)
-    , doSpecialCursor(false)
-    , doBubbleMove(false)
-    , doBubbleSize(false)
-    , mouseIsOverBubble(false)
-    , rectBubbleMove(0,0,16,16)
-    , rectBubbleEdit(0,0,16,16)
-    , rectBubbleSize(0,0,16,16)
-    , offsetBubble(-320, -150)
-    , widthBubble(300)
 {
     wpt.name    = name;
     wpt.sym     = icon;
@@ -73,18 +61,6 @@ CGisItemWpt::CGisItemWpt(const QPointF& pos, const QString& name, const QString
 /// used to move a copy of waypoint
 CGisItemWpt::CGisItemWpt(const QPointF& pos, const CGisItemWpt& parentWpt, IGisProject *project)
     : IGisItem(project, eTypeWpt, NOIDX)
-    , proximity(NOFLOAT)
-    , posScreen(NOPOINTF)
-    , doBubble(false)
-    , doSpecialCursor(false)
-    , doBubbleMove(false)
-    , doBubbleSize(false)
-    , mouseIsOverBubble(false)
-    , rectBubbleMove(0,0,16,16)
-    , rectBubbleEdit(0,0,16,16)
-    , rectBubbleSize(0,0,16,16)
-    , offsetBubble(-320, -150)
-    , widthBubble(300)
 {
     *this = parentWpt;
     wpt.lon     = pos.x();
@@ -107,35 +83,19 @@ CGisItemWpt::CGisItemWpt(const QPointF& pos, const CGisItemWpt& parentWpt, IGisP
 /// used to create a copy of waypoint with new parent
 CGisItemWpt::CGisItemWpt(const CGisItemWpt &parentWpt, IGisProject *project, int idx, bool clone)
     : IGisItem(project, eTypeWpt, idx)
-    , proximity(NOFLOAT)
-    , posScreen(NOPOINTF)
-    , doBubble(false)
-    , doSpecialCursor(false)
-    , doBubbleMove(false)
-    , doBubbleSize(false)
-    , mouseIsOverBubble(false)
-    , rectBubbleMove(0,0,16,16)
-    , rectBubbleEdit(0,0,16,16)
-    , rectBubbleSize(0,0,16,16)
-    , offsetBubble(-320, -150)
-    , widthBubble(300)
 {
-    *this = parentWpt;
-    key.project = project->getKey();
-    key.device  = project->getDeviceKey();
+    history = parentWpt.history;
+    loadHistory(history.histIdxCurrent);
 
     if(clone)
     {
         wpt.name += QObject::tr("_Clone");
         key.clear();
         history.events.clear();
+        setupHistory();
     }
 
-    if(parentWpt.isOnDevice())
-    {
-        flags |= eFlagWriteAllowed;
-    }
-    else if(!parentWpt.isReadOnly())
+    if(parentWpt.isOnDevice() || !parentWpt.isReadOnly())
     {
         flags |= eFlagWriteAllowed;
     }
@@ -144,25 +104,12 @@ CGisItemWpt::CGisItemWpt(const CGisItemWpt &parentWpt, IGisProject *project, int
         flags &= ~eFlagWriteAllowed;
     }
 
-    setupHistory();
     updateDecoration(eMarkChanged, eMarkNone);
 }
 
 /// used to create waypoint from GPX file
 CGisItemWpt::CGisItemWpt(const QDomNode &xml, IGisProject *project)
     : IGisItem(project, eTypeWpt, project->childCount())
-    , proximity(NOFLOAT)
-    , posScreen(NOPOINTF)
-    , doBubble(false)
-    , doSpecialCursor(false)
-    , doBubbleMove(false)
-    , doBubbleSize(false)
-    , mouseIsOverBubble(false)
-    , rectBubbleMove(0,0,16,16)
-    , rectBubbleEdit(0,0,16,16)
-    , rectBubbleSize(0,0,16,16)
-    , offsetBubble(-320, -150)
-    , widthBubble(300)
 {
     readGpx(xml);
     boundingRect = QRectF(QPointF(wpt.lon,wpt.lat)*DEG_TO_RAD,QPointF(wpt.lon,wpt.lat)*DEG_TO_RAD);
@@ -174,18 +121,6 @@ CGisItemWpt::CGisItemWpt(const QDomNode &xml, IGisProject *project)
 
 CGisItemWpt::CGisItemWpt(const history_t& hist, IGisProject * project)
     : IGisItem(project, eTypeWpt, project->childCount())
-    , proximity(NOFLOAT)
-    , posScreen(NOPOINTF)
-    , doBubble(false)
-    , doSpecialCursor(false)
-    , doBubbleMove(false)
-    , doBubbleSize(false)
-    , mouseIsOverBubble(false)
-    , rectBubbleMove(0,0,16,16)
-    , rectBubbleEdit(0,0,16,16)
-    , rectBubbleSize(0,0,16,16)
-    , offsetBubble(-320, -150)
-    , widthBubble(300)
 {
     history = hist;
     loadHistory(hist.histIdxCurrent);
@@ -194,18 +129,6 @@ CGisItemWpt::CGisItemWpt(const history_t& hist, IGisProject * project)
 
 CGisItemWpt::CGisItemWpt(quint64 id, QSqlDatabase& db, IGisProject * project)
     : IGisItem(project, eTypeWpt, NOIDX)
-    , proximity(NOFLOAT)
-    , posScreen(NOPOINTF)
-    , doBubble(false)
-    , doSpecialCursor(false)
-    , doBubbleMove(false)
-    , doBubbleSize(false)
-    , mouseIsOverBubble(false)
-    , rectBubbleMove(0,0,16,16)
-    , rectBubbleEdit(0,0,16,16)
-    , rectBubbleSize(0,0,16,16)
-    , offsetBubble(-320, -150)
-    , widthBubble(300)
 {
     loadFromDb(id, db);
     boundingRect = QRectF(QPointF(wpt.lon,wpt.lat)*DEG_TO_RAD,QPointF(wpt.lon,wpt.lat)*DEG_TO_RAD);
@@ -213,18 +136,6 @@ CGisItemWpt::CGisItemWpt(quint64 id, QSqlDatabase& db, IGisProject * project)
 
 CGisItemWpt::CGisItemWpt(const CTwoNavProject::wpt_t &tnvWpt, IGisProject * project)
     : IGisItem(project, eTypeWpt, NOIDX)
-    , proximity(NOFLOAT)
-    , posScreen(NOPOINTF)
-    , doBubble(false)
-    , doSpecialCursor(false)
-    , doBubbleMove(false)
-    , doBubbleSize(false)
-    , mouseIsOverBubble(false)
-    , rectBubbleMove(0,0,16,16)
-    , rectBubbleEdit(0,0,16,16)
-    , rectBubbleSize(0,0,16,16)
-    , offsetBubble(-320, -150)
-    , widthBubble(300)
 {
     readTwoNav(tnvWpt);
     boundingRect = QRectF(QPointF(wpt.lon,wpt.lat)*DEG_TO_RAD,QPointF(wpt.lon,wpt.lat)*DEG_TO_RAD);
diff --git a/src/gis/wpt/CGisItemWpt.h b/src/gis/wpt/CGisItemWpt.h
index cd0a013..59ce15a 100644
--- a/src/gis/wpt/CGisItemWpt.h
+++ b/src/gis/wpt/CGisItemWpt.h
@@ -39,39 +39,33 @@ public:
 
     struct geocachelog_t
     {
-        geocachelog_t() : id(0)
-        {
-        }
-        quint32 id;
+        quint32 id = 0;
         QDateTime date;
         QString type;
         QString finderId;
         QString finder;
-        bool textIsHtml;
+        bool textIsHtml = false;
         QString text;
     };
 
     struct geocache_t
     {
-        geocache_t() : service(eOC), hasData(false), id(0), available(true), archived(false), difficulty(0), terrain(0), shortDescIsHtml(false), longDescIsHtml(false)
-        {
-        }
-        geocacheservice_e service;
-        bool hasData;
-        quint32 id;
-        bool available;
-        bool archived;
-        qreal difficulty;
-        qreal terrain;
+        geocacheservice_e service = eOC;
+        bool hasData = false;
+        quint32 id = 0;
+        bool available = true;
+        bool archived = false;
+        qreal difficulty = 0;
+        qreal terrain = 0;
         QString status;
         QString name;
         QString owner;
         QString ownerId;
         QString type;
         QString container;
-        bool shortDescIsHtml;
+        bool shortDescIsHtml = false;
         QString shortDesc;
-        bool longDescIsHtml;
+        bool longDescIsHtml = false;
         QString longDesc;
         QString hint;
         QString country;
@@ -83,7 +77,7 @@ public:
     struct image_t
     {
         QImage pixmap;
-        qreal direction;
+        qreal direction = 0;
         QString info;
         QString filePath;
         QString fileName;
@@ -165,7 +159,7 @@ public:
        @param stream  the data stream to write to.
        @return A reference to the stream
      */
-    QDataStream& operator>>(QDataStream& stream);
+    QDataStream& operator>>(QDataStream& stream) const;
 
     void setName(const QString& str);
     void setPosition(const QPointF& pos);
@@ -318,32 +312,32 @@ private:
 
     // --- start all waypoint data ----
     wpt_t wpt;
-    qreal proximity;
+    qreal proximity = NOFLOAT;
     geocache_t geocache;
     QList<image_t> images;
 
     QPointF focus;
-    QPointF posScreen;
+    QPointF posScreen = NOPOINTF;
 
-    // additonal data, common to all IGisItems, is found in IItem //
+    // additional data, common to all IGisItems, is found in IItem //
 
     // --- stop all waypoint data ----
 
     QPointer<CScrOptWpt> scrOpt;
 
-    bool doBubble;
-    bool doSpecialCursor;
-    bool doBubbleMove;
-    bool doBubbleSize;
-    bool mouseIsOverBubble;
+    bool doBubble = false;
+    bool doSpecialCursor = false;
+    bool doBubbleMove = false;
+    bool doBubbleSize = false;
+    bool mouseIsOverBubble = false;
     QRect rectBubble;
-    QRect rectBubbleMove;
-    QRect rectBubbleEdit;
-    QRect rectBubbleSize;
+    QRect rectBubbleMove {0,0,16,16};
+    QRect rectBubbleEdit {0,0,16,16};
+    QRect rectBubbleSize {0,0,16,16};
 
     QPoint offsetMouse;
-    QPoint offsetBubble;
-    quint32 widthBubble;
+    QPoint offsetBubble {-320, -150};
+    quint32 widthBubble = 300;
 };
 
 #endif //CGISITEMWPT_H
diff --git a/src/gis/wpt/CScrOptWpt.cpp b/src/gis/wpt/CScrOptWpt.cpp
index e770a4e..d64f558 100644
--- a/src/gis/wpt/CScrOptWpt.cpp
+++ b/src/gis/wpt/CScrOptWpt.cpp
@@ -18,6 +18,7 @@
 
 
 #include "CMainWindow.h"
+#include "canvas/CCanvas.h"
 #include "gis/CGisWidget.h"
 #include "gis/wpt/CGisItemWpt.h"
 #include "gis/wpt/CProjWpt.h"
@@ -30,7 +31,7 @@
 CScrOptWpt::CScrOptWpt(CGisItemWpt *wpt, const QPoint& point, IMouse *parent)
     : IScrOpt(parent)
 {
-    key         = wpt->getKey();
+    key = wpt->getKey();
 
     setupUi(this);
     setOrigin(point);
@@ -38,7 +39,6 @@ CScrOptWpt::CScrOptWpt(CGisItemWpt *wpt, const QPoint& point, IMouse *parent)
     label->setText(wpt->getInfo());
     adjustSize();
 
-
     toolProj->setDisabled(wpt->isGeocache() || wpt->isOnDevice());
     toolMove->setDisabled(wpt->isGeocache() || wpt->isOnDevice());
     photoAlbum->reload(wpt->getImages());
@@ -49,20 +49,19 @@ CScrOptWpt::CScrOptWpt(CGisItemWpt *wpt, const QPoint& point, IMouse *parent)
     show();
 
     connect(toolDelete, SIGNAL(clicked()), this, SLOT(hide()));
-    connect(toolEdit, SIGNAL(clicked()), this, SLOT(hide()));
-    connect(toolCopy, SIGNAL(clicked()), this, SLOT(hide()));
-    connect(toolMove, SIGNAL(clicked()), this, SLOT(hide()));
-    connect(toolProj, SIGNAL(clicked()), this, SLOT(hide()));
+    connect(toolEdit,   SIGNAL(clicked()), this, SLOT(hide()));
+    connect(toolCopy,   SIGNAL(clicked()), this, SLOT(hide()));
+    connect(toolMove,   SIGNAL(clicked()), this, SLOT(hide()));
+    connect(toolProj,   SIGNAL(clicked()), this, SLOT(hide()));
     connect(toolBubble, SIGNAL(clicked()), this, SLOT(hide()));
 
     connect(toolDelete, SIGNAL(clicked()), this, SLOT(slotDelete()));
-    connect(toolEdit, SIGNAL(clicked()), this, SLOT(slotEdit()));
-    connect(toolCopy, SIGNAL(clicked()), this, SLOT(slotCopy()));
-    connect(toolMove, SIGNAL(clicked()), this, SLOT(slotMove()));
-    connect(toolProj, SIGNAL(clicked()), this, SLOT(slotProj()));
+    connect(toolEdit,   SIGNAL(clicked()), this, SLOT(slotEdit()));
+    connect(toolCopy,   SIGNAL(clicked()), this, SLOT(slotCopy()));
+    connect(toolMove,   SIGNAL(clicked()), this, SLOT(slotMove()));
+    connect(toolProj,   SIGNAL(clicked()), this, SLOT(slotProj()));
     connect(toolBubble, SIGNAL(clicked()), this, SLOT(slotBubble()));
 
-
     adjustSize();
 }
 
@@ -116,5 +115,5 @@ void CScrOptWpt::draw(QPainter& p)
     }
     item->drawHighlight(p);
 
-    CDraw::bubble2(*this, anchor, p);
+    CDraw::bubble(p, geometry(), anchor.toPoint());
 }
diff --git a/src/gis/wpt/CSetupNewWpt.cpp b/src/gis/wpt/CSetupNewWpt.cpp
index 2b06e7c..089987e 100644
--- a/src/gis/wpt/CSetupNewWpt.cpp
+++ b/src/gis/wpt/CSetupNewWpt.cpp
@@ -45,8 +45,8 @@ CSetupNewWpt::CSetupNewWpt(QPointF &pt, QString &icon, QString &name, QWidget *p
     lineName->setText(name);
 
     connect(linePosition, SIGNAL(textEdited(QString)), this, SLOT(slotEditPosition(QString)));
-    connect(lineName, SIGNAL(textEdited(QString)), this, SLOT(slotEditName(QString)));
-    connect(toolIcon, SIGNAL(clicked()), this, SLOT(slotChangeIcon()));
+    connect(lineName,     SIGNAL(textEdited(QString)), this, SLOT(slotEditName(QString)));
+    connect(toolIcon,     SIGNAL(clicked()),           this, SLOT(slotChangeIcon()));
 
     checkInput();
 }
@@ -78,16 +78,7 @@ void CSetupNewWpt::reject()
 
 void CSetupNewWpt::slotEditPosition(const QString& str)
 {
-    if(IUnit::isValidCoordString(str))
-    {
-        labelWarning->hide();
-    }
-    else
-    {
-        labelWarning->show();
-    }
-
-
+    labelWarning->setVisible(!IUnit::isValidCoordString(str));
     checkInput();
 }
 
@@ -105,12 +96,6 @@ void CSetupNewWpt::slotChangeIcon()
 
 void CSetupNewWpt::checkInput()
 {
-    if(labelWarning->isHidden() && !lineName->text().isEmpty())
-    {
-        buttonBox->button(QDialogButtonBox::Ok)->setEnabled(true);
-    }
-    else
-    {
-        buttonBox->button(QDialogButtonBox::Ok)->setEnabled(false);
-    }
+    bool isEnabled = (labelWarning->isHidden() && !lineName->text().isEmpty());
+    buttonBox->button(QDialogButtonBox::Ok)->setEnabled(isEnabled);
 }
diff --git a/src/gis/wpt/IDetailsGeoCache.ui b/src/gis/wpt/IDetailsGeoCache.ui
index 5586c53..9f6ac53 100644
--- a/src/gis/wpt/IDetailsGeoCache.ui
+++ b/src/gis/wpt/IDetailsGeoCache.ui
@@ -350,13 +350,13 @@
   <customwidget>
    <class>CPhotoAlbum</class>
    <extends>QWidget</extends>
-   <header>helpers/CPhotoAlbum.h</header>
+   <header>widgets/CPhotoAlbum.h</header>
    <container>1</container>
   </customwidget>
   <customwidget>
    <class>CHistoryListWidget</class>
    <extends>QListWidget</extends>
-   <header>helpers/CHistoryListWidget.h</header>
+   <header>widgets/CHistoryListWidget.h</header>
   </customwidget>
  </customwidgets>
  <resources>
diff --git a/src/gis/wpt/IDetailsWpt.ui b/src/gis/wpt/IDetailsWpt.ui
index b40a18c..6ac2b16 100644
--- a/src/gis/wpt/IDetailsWpt.ui
+++ b/src/gis/wpt/IDetailsWpt.ui
@@ -378,12 +378,12 @@
   <customwidget>
    <class>CHistoryListWidget</class>
    <extends>QListWidget</extends>
-   <header>helpers/CHistoryListWidget.h</header>
+   <header>widgets/CHistoryListWidget.h</header>
   </customwidget>
   <customwidget>
    <class>CPhotoAlbum</class>
    <extends>QWidget</extends>
-   <header>helpers/CPhotoAlbum.h</header>
+   <header>widgets/CPhotoAlbum.h</header>
    <container>1</container>
   </customwidget>
  </customwidgets>
diff --git a/src/gis/wpt/IScrOptWpt.ui b/src/gis/wpt/IScrOptWpt.ui
index faaa94d..65d3cf5 100644
--- a/src/gis/wpt/IScrOptWpt.ui
+++ b/src/gis/wpt/IScrOptWpt.ui
@@ -199,7 +199,7 @@
   <customwidget>
    <class>CPhotoAlbum</class>
    <extends>QWidget</extends>
-   <header>helpers/CPhotoAlbum.h</header>
+   <header>widgets/CPhotoAlbum.h</header>
    <container>1</container>
   </customwidget>
  </customwidgets>
diff --git a/src/grid/CGrid.cpp b/src/grid/CGrid.cpp
index a8dc8f4..ea399a8 100644
--- a/src/grid/CGrid.cpp
+++ b/src/grid/CGrid.cpp
@@ -29,11 +29,6 @@
 CGrid::CGrid(CMapDraw *map)
     : QObject(map)
     , map(map)
-    , pjWGS84(0)
-    , pjGrid(0)
-    , projstr("+proj=longlat +datum=WGS84 +no_defs")
-    , color(Qt::magenta)
-
 {
     pjWGS84 = pj_init_plus("+proj=longlat +datum=WGS84 +no_defs");
     setProjAndColor(projstr, color);
diff --git a/src/grid/CGrid.h b/src/grid/CGrid.h
index 56b5d4a..066f59f 100644
--- a/src/grid/CGrid.h
+++ b/src/grid/CGrid.h
@@ -49,11 +49,11 @@ private:
 
     CMapDraw * map;
 
-    projPJ pjWGS84;
-    projPJ pjGrid;
+    projPJ pjWGS84 = 0;
+    projPJ pjGrid = 0;
 
-    QString projstr;
-    QColor color;
+    QString projstr = "+proj=longlat +datum=WGS84 +no_defs";
+    QColor color = Qt::magenta;
 };
 
 #endif //CGRID_H
diff --git a/src/helpers/CAppSetup.cpp b/src/helpers/CAppSetup.cpp
index 938d89c..637f0dd 100644
--- a/src/helpers/CAppSetup.cpp
+++ b/src/helpers/CAppSetup.cpp
@@ -133,8 +133,8 @@ void CAppSetup::prepareGdal()
 {
     QString gdal = qgetenv("GDAL_DATA");
     QString proj = qgetenv("PROJ_LIB");
-    qDebug() << "GDAL_DATA direcotry set to " + gdal;
-    qDebug() << "PROJ_LIB direcotry set to " + proj;
+    qDebug() << "GDAL_DATA directory set to " + gdal;
+    qDebug() << "PROJ_LIB directory set to " + proj;
     GDALAllRegister();
 }
 
diff --git a/src/helpers/CDraw.cpp b/src/helpers/CDraw.cpp
index 6b6bb89..d380b09 100644
--- a/src/helpers/CDraw.cpp
+++ b/src/helpers/CDraw.cpp
@@ -20,6 +20,7 @@
 #include "canvas/CCanvas.h"
 #include "helpers/CDraw.h"
 
+#include <QDebug>
 #include <QImage>
 #include <QPointF>
 #include <QtMath>
@@ -151,41 +152,48 @@ void CDraw::text(const QString &str, QPainter &p, const QRect &r, const QColor &
     p.drawText(r, Qt::AlignCenter, str);
 }
 
-
-void CDraw::bubble1(const QRect& rect, const QPointF &anchor, QPainter& p)
+QPoint CDraw::bubble(QPainter &p, const QRect &contentRect, const QPoint &pointerPos, int pointerBaseWidth, float pointerBasePos)
 {
-    // create bubble path
-    QPainterPath path1;
-    path1.addRoundedRect(rect,5,5);
+    QPainterPath bubblePath;
+    bubblePath.addRoundedRect(contentRect, 5, 5);
+
+    // draw the arrow
+    int pointerBaseCenterX = (pointerBasePos <= 1)
+                             ? contentRect.left() + (pointerBasePos * contentRect.width())
+                             : contentRect.left() + (int) pointerBasePos;
 
-    QPolygonF poly2;
-    poly2 << anchor << (rect.bottomLeft() + QPointF(10,-5)) << (rect.bottomLeft() + QPointF(30,-5)) << anchor;
-    QPainterPath path2;
-    path2.addPolygon(poly2);
+    int pointerHeight = 0;
+    if(pointerPos.y() < contentRect.top())
+    {
+        pointerHeight = contentRect.top() - pointerPos.y() + 1;
+    }
+    else if(pointerPos.y() > contentRect.bottom())
+    {
+        pointerHeight = contentRect.bottom() - pointerPos.y() - 1;
+    }
+    else
+    {
+        qDebug() << "cannot calculate pointerHeight/pointerBaseCenterX due to invalid parameters";
+    }
 
-    path1 = path1.united(path2);
+    if(0 != pointerHeight)
+    {
+        QPolygonF pointerPoly;
+        pointerPoly << pointerPos
+                    << QPointF(pointerBaseCenterX - pointerBaseWidth / 2, pointerPos.y() + pointerHeight)
+                    << QPointF(pointerBaseCenterX + pointerBaseWidth / 2, pointerPos.y() + pointerHeight)
+                    << pointerPos;
 
-    // draw bubble
-    p.setPen(CDraw::penBorderGray);
-    p.setBrush(CDraw::brushBackWhite);
-    p.drawPolygon(path1.toFillPolygon());
-}
+        QPainterPath pointerPath;
+        pointerPath.addPolygon(pointerPoly);
 
-void CDraw::bubble2(const QWidget& widget, const QPointF &anchor, QPainter& p)
-{
-    QRectF rect = widget.rect();
-    rect.moveTopLeft(QPoint(widget.x(), widget.y()));
-    QPainterPath path1;
-    path1.addRoundedRect(rect,5,5);
+        bubblePath = bubblePath.united(pointerPath);
+    }
 
-    QPolygonF poly2;
-    poly2 << anchor << QPointF(anchor.x() - 10, rect.top() + 1) << QPointF(anchor.x() + 10, rect.top() + 1) << anchor;
-    QPainterPath path2;
-    path2.addPolygon(poly2);
+    p.setPen  (CDraw::penBorderGray);
+    p.setBrush(CDraw::brushBackWhite);
 
-    path1 = path1.united(path2);
+    p.drawPolygon(bubblePath.toFillPolygon());
 
-    p.setPen(penBorderGray);
-    p.setBrush(brushBackWhite);
-    p.drawPolygon(path1.toFillPolygon());
+    return contentRect.topLeft();
 }
diff --git a/src/helpers/CDraw.h b/src/helpers/CDraw.h
index aaabb0c..9788e82 100644
--- a/src/helpers/CDraw.h
+++ b/src/helpers/CDraw.h
@@ -25,7 +25,6 @@
 #include <QRectF>
 
 #include "CMainWindow.h"
-
 inline void USE_ANTI_ALIASING(QPainter& p, bool useAntiAliasing)
 {
     p.setRenderHints(QPainter::TextAntialiasing|QPainter::Antialiasing|QPainter::SmoothPixmapTransform|QPainter::HighQualityAntialiasing, useAntiAliasing);
@@ -66,20 +65,20 @@ public:
     static void text(const QString& str, QPainter &p, const QRect  &r,      const QColor &color);
 
     /**
-       @brief Draw a cartoon bubble around a rectangular with the anchor at the bottom
-       @param rect      the rectangle to draw the bubble around
-       @param anchor    the anchor point
-       @param p         an active QPainter
-     */
-    static void bubble1(const QRect& rect, const QPointF &anchor, QPainter& p);
-    /**
-       @brief Draw a cartoon bubble around a widget with the anchor top of the widget
-
-       @param widget    the widget to draw the bubble around
-       @param anchor    the anchor point
-       @param p         an active QPainter
+       @brief Draw a cartoon bubble
+
+       `pointerBasePos` denotes the position of the pointer's base, where 0 is `at the very left of the content`, and 1 is `at the very right`.
+       Be careful with small values (near 0) or large values (near 1) for pointerBasePos, this might lead to incorrect drawing,
+       especially if pointerBaseWidth is large.
+       If is larger than 1, a value in pixels is assumed.
+
+       @param p                 An active QPainter
+       @param contentRect       The area the actual content will be in
+       @param pointerPos        The position of the pointer's head
+       @param pointerBaseWidth  The width of the pointer
+       @param pointerBasePos    The (relative) location of the pointer (in percent / pixels)
      */
-    static void bubble2(const QWidget &widget, const QPointF &anchor, QPainter& p);
+    static QPoint bubble(QPainter &p, const QRect &contentRect, const QPoint &pointerPos, int pointerBaseWidth = 20, float pointerBasePos = .5f);
 
 private:
     /**
diff --git a/src/helpers/CPhotoViewer.cpp b/src/helpers/CPhotoViewer.cpp
index 85b8a26..ab6d0e4 100644
--- a/src/helpers/CPhotoViewer.cpp
+++ b/src/helpers/CPhotoViewer.cpp
@@ -16,6 +16,7 @@
 
 **********************************************************************************************/
 
+#include "CMainWindow.h"
 #include "CPhotoViewer.h"
 
 #include <QtWidgets>
@@ -24,10 +25,6 @@ CPhotoViewer::CPhotoViewer(QList<CGisItemWpt::image_t> &images, int idx, QWidget
     : QDialog(parent)
     , images(images)
     , idx(idx)
-    , rectImage(0,0,100,100)
-    , rectClose(0,0,32,32)
-    , rectPrev(0,0,32,32)
-    , rectNext(0,0,32,32)
 {
     setStyleSheet("background-color:black;");
     setAttribute(Qt::WA_TranslucentBackground);
@@ -36,12 +33,20 @@ CPhotoViewer::CPhotoViewer(QList<CGisItemWpt::image_t> &images, int idx, QWidget
     setWindowFlags(flags | Qt::CustomizeWindowHint);
     showMaximized();
 
-    if(images.isEmpty())
+    // check if showMaximized() worked correctly by comparing our size with the MainWindow's size
+    // if showMaximized() failed we change our size (manually) to match the MainWindow's size
+    // this is hack, but does its job on px i3-wm
+    QMainWindow &main = CMainWindow::self();
+    if(width() < main.width() && height() < main.height())
     {
-        return;
+        qDebug() << "showMaximized() failed, using MainWindow.frameGeometry()";
+        setGeometry(main.frameGeometry());
     }
 
-    setImageAtIdx(idx);
+    if(!images.isEmpty())
+    {
+        setImageAtIdx(idx);
+    }
 }
 
 CPhotoViewer::~CPhotoViewer()
@@ -137,30 +142,62 @@ void CPhotoViewer::paintEvent(QPaintEvent * e)
     p.drawPixmap(rectClose, QPixmap("://icons/32x32/Close.png"));
 }
 
+void CPhotoViewer::tryIdxStep(int delta)
+{
+    int prevIdx = idx;
+
+    idx += delta;
+    idx = qMin(idx, images.size() - 1);
+    idx = qMax(idx, 0);
+
+    if(prevIdx != idx)
+    {
+        setImageAtIdx(idx);
+        update();
+    }
+}
+
 
 void CPhotoViewer::mousePressEvent(QMouseEvent * e)
 {
     QPoint pos  = e->pos();
+
     if(rectClose.contains(pos))
     {
         reject();
     }
     else if(rectNext.contains(pos))
     {
-        if(idx != (images.size() - 1))
-        {
-            setImageAtIdx(++idx);
-            update();
-        }
+        tryIdxStep(1);
     }
     else if(rectPrev.contains(pos))
     {
-        if(idx != 0)
-        {
-            setImageAtIdx(--idx);
-            update();
-        }
+        tryIdxStep(-1);
+    }
+    else if(!rectImage.contains(pos))
+    {
+        reject();
     }
 
     e->accept();
 }
+
+void CPhotoViewer::keyPressEvent(QKeyEvent *e)
+{
+    switch(e->key())
+    {
+    case Qt::Key_Left:
+        tryIdxStep(-1);
+        break;
+
+    case Qt::Key_Right:
+        tryIdxStep(1);
+        break;
+
+    case Qt::Key_Q:
+        reject();
+        break;
+    }
+
+    QDialog::keyPressEvent(e);
+}
diff --git a/src/helpers/CPhotoViewer.h b/src/helpers/CPhotoViewer.h
index abf70e6..c5b1b90 100644
--- a/src/helpers/CPhotoViewer.h
+++ b/src/helpers/CPhotoViewer.h
@@ -34,16 +34,19 @@ protected:
     void paintEvent(QPaintEvent * e);
     void resizeEvent(QResizeEvent * e);
     void mousePressEvent(QMouseEvent * e);
+    void keyPressEvent(QKeyEvent *e);
 
 private:
+    void tryIdxStep(int delta);
+
     void setImageAtIdx(int i);
 
     QList<CGisItemWpt::image_t> images;
     int idx;
-    QRect rectImage;
-    QRect rectClose;
-    QRect rectPrev;
-    QRect rectNext;
+    QRect rectImage {0,0,100,100};
+    QRect rectClose {0,0,32,32};
+    QRect rectPrev {0,0,32,32};
+    QRect rectNext {0,0,32,32};
 };
 
 #endif //CPHOTOVIEWER_H
diff --git a/src/helpers/CSelectCopyAction.cpp b/src/helpers/CSelectCopyAction.cpp
index a8025a1..ff382f1 100644
--- a/src/helpers/CSelectCopyAction.cpp
+++ b/src/helpers/CSelectCopyAction.cpp
@@ -25,7 +25,6 @@
 
 CSelectCopyAction::CSelectCopyAction(const IGisItem *src, const IGisItem *tar, QWidget *parent)
     : QDialog(parent)
-    , result(eResultNone)
 {
     setupUi(this);
 
diff --git a/src/helpers/CSelectCopyAction.h b/src/helpers/CSelectCopyAction.h
index a90a55c..367ccf0 100644
--- a/src/helpers/CSelectCopyAction.h
+++ b/src/helpers/CSelectCopyAction.h
@@ -51,7 +51,7 @@ private slots:
     void slotSelectResult();
 
 private:
-    result_e result;
+    result_e result = eResultNone;
 };
 
 #endif //CSELECTCOPYACTION_H
diff --git a/templates/header.h b/src/helpers/INotifiable.h
similarity index 79%
copy from templates/header.h
copy to src/helpers/INotifiable.h
index 4bfb02b..5654ebc 100644
--- a/templates/header.h
+++ b/src/helpers/INotifiable.h
@@ -1,5 +1,5 @@
 /**********************************************************************************************
-    Copyright (C) 2014-2015 Oliver Eichler oliver.eichler at gmx.de
+    Copyright (C) 2015 Christian Eichler code at christian-eichler.de
 
     This program is free software: you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
@@ -16,15 +16,15 @@
 
 **********************************************************************************************/
 
-#ifndef CLASSNAME_H
-#define CLASSNAME_H
+#ifndef INOTIFIABLE_H
+#define INOTIFIABLE_H
 
-class CLASSNAME
+class INotifiable
 {
-    public:
-        CLASSNAME();
-        virtual ~CLASSNAME();
+public:
+    virtual ~INotifiable() {};
+    virtual void notify() = 0;
 };
 
-#endif //CLASSNAME_H
+#endif // INOTIFIABLE_H
 
diff --git a/src/helpers/ISelectCopyAction.ui b/src/helpers/ISelectCopyAction.ui
index d57a0f7..57d43d2 100644
--- a/src/helpers/ISelectCopyAction.ui
+++ b/src/helpers/ISelectCopyAction.ui
@@ -117,6 +117,9 @@
      <property name="text">
       <string>The clone's name will be appended with '_Clone'</string>
      </property>
+     <property name="wordWrap">
+      <bool>true</bool>
+     </property>
     </widget>
    </item>
    <item row="10" column="0" colspan="2">
diff --git a/src/icons/32x32/CSrcATemp.png b/src/icons/32x32/CSrcATemp.png
new file mode 100644
index 0000000..d9a20f9
Binary files /dev/null and b/src/icons/32x32/CSrcATemp.png differ
diff --git a/src/icons/32x32/CSrcCAD.png b/src/icons/32x32/CSrcCAD.png
new file mode 100644
index 0000000..a1d1dfe
Binary files /dev/null and b/src/icons/32x32/CSrcCAD.png differ
diff --git a/src/icons/32x32/CSrcDepth.png b/src/icons/32x32/CSrcDepth.png
new file mode 100644
index 0000000..24b8a1f
Binary files /dev/null and b/src/icons/32x32/CSrcDepth.png differ
diff --git a/src/icons/32x32/CSrcElevation.png b/src/icons/32x32/CSrcElevation.png
new file mode 100644
index 0000000..580847d
Binary files /dev/null and b/src/icons/32x32/CSrcElevation.png differ
diff --git a/src/icons/32x32/CSrcHR.png b/src/icons/32x32/CSrcHR.png
new file mode 100644
index 0000000..5f51f8f
Binary files /dev/null and b/src/icons/32x32/CSrcHR.png differ
diff --git a/src/icons/32x32/CSrcSlope.png b/src/icons/32x32/CSrcSlope.png
new file mode 100644
index 0000000..8efedcc
Binary files /dev/null and b/src/icons/32x32/CSrcSlope.png differ
diff --git a/src/icons/32x32/CSrcSolid.png b/src/icons/32x32/CSrcSolid.png
new file mode 100644
index 0000000..2590145
Binary files /dev/null and b/src/icons/32x32/CSrcSolid.png differ
diff --git a/src/icons/32x32/CSrcSpeed.png b/src/icons/32x32/CSrcSpeed.png
new file mode 100644
index 0000000..ce1a9c8
Binary files /dev/null and b/src/icons/32x32/CSrcSpeed.png differ
diff --git a/src/icons/32x32/CSrcUnknown.png b/src/icons/32x32/CSrcUnknown.png
new file mode 100644
index 0000000..7713c31
Binary files /dev/null and b/src/icons/32x32/CSrcUnknown.png differ
diff --git a/src/icons/32x32/CSrcWTemp.png b/src/icons/32x32/CSrcWTemp.png
new file mode 100644
index 0000000..9296533
Binary files /dev/null and b/src/icons/32x32/CSrcWTemp.png differ
diff --git a/src/icons/32x32/Progress.png b/src/icons/32x32/Progress.png
new file mode 100644
index 0000000..f79623e
Binary files /dev/null and b/src/icons/32x32/Progress.png differ
diff --git a/src/icons/48x48/CSrcATemp.png b/src/icons/48x48/CSrcATemp.png
new file mode 100644
index 0000000..c8d090b
Binary files /dev/null and b/src/icons/48x48/CSrcATemp.png differ
diff --git a/src/icons/48x48/CSrcCAD.png b/src/icons/48x48/CSrcCAD.png
new file mode 100644
index 0000000..584530f
Binary files /dev/null and b/src/icons/48x48/CSrcCAD.png differ
diff --git a/src/icons/48x48/CSrcDepth.png b/src/icons/48x48/CSrcDepth.png
new file mode 100644
index 0000000..914d8c2
Binary files /dev/null and b/src/icons/48x48/CSrcDepth.png differ
diff --git a/src/icons/48x48/CSrcElevation.png b/src/icons/48x48/CSrcElevation.png
new file mode 100644
index 0000000..17d6f24
Binary files /dev/null and b/src/icons/48x48/CSrcElevation.png differ
diff --git a/src/icons/48x48/CSrcHR.png b/src/icons/48x48/CSrcHR.png
new file mode 100644
index 0000000..12e5ffc
Binary files /dev/null and b/src/icons/48x48/CSrcHR.png differ
diff --git a/src/icons/48x48/CSrcSlope.png b/src/icons/48x48/CSrcSlope.png
new file mode 100644
index 0000000..a19a38e
Binary files /dev/null and b/src/icons/48x48/CSrcSlope.png differ
diff --git a/src/icons/48x48/CSrcSolid.png b/src/icons/48x48/CSrcSolid.png
new file mode 100644
index 0000000..c0e0179
Binary files /dev/null and b/src/icons/48x48/CSrcSolid.png differ
diff --git a/src/icons/48x48/CSrcSpeed.png b/src/icons/48x48/CSrcSpeed.png
new file mode 100644
index 0000000..481976b
Binary files /dev/null and b/src/icons/48x48/CSrcSpeed.png differ
diff --git a/src/icons/48x48/CSrcUnknown.png b/src/icons/48x48/CSrcUnknown.png
new file mode 100644
index 0000000..58d47d0
Binary files /dev/null and b/src/icons/48x48/CSrcUnknown.png differ
diff --git a/src/icons/48x48/CSrcWTemp.png b/src/icons/48x48/CSrcWTemp.png
new file mode 100644
index 0000000..68daa1d
Binary files /dev/null and b/src/icons/48x48/CSrcWTemp.png differ
diff --git a/src/icons/48x48/Progress.png b/src/icons/48x48/Progress.png
new file mode 100644
index 0000000..e676703
Binary files /dev/null and b/src/icons/48x48/Progress.png differ
diff --git a/src/icons/CSrcATemp.svg b/src/icons/CSrcATemp.svg
new file mode 100644
index 0000000..3c9140e
--- /dev/null
+++ b/src/icons/CSrcATemp.svg
@@ -0,0 +1,116 @@
+<?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.91 r13725"
+   sodipodi:docname="CSrcATemp.svg">
+  <defs
+     id="defs4" />
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="31.678384"
+     inkscape:cx="14.675695"
+     inkscape:cy="53.881577"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="true"
+     inkscape:window-width="1916"
+     inkscape:window-height="1041"
+     inkscape:window-x="0"
+     inkscape:window-y="18"
+     inkscape:window-maximized="0">
+    <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 />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Ebene 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(0,-988.36218)">
+    <path
+       style="opacity:1;fill:#000080;fill-opacity:1;stroke:#000080;stroke-width:5.65799999;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="path4170"
+       sodipodi:type="arc"
+       sodipodi:cx="16.202591"
+       sodipodi:cy="1041.0125"
+       sodipodi:rx="9.2698154"
+       sodipodi:ry="7.55445"
+       sodipodi:start="5.8033419"
+       sodipodi:end="5.7456763"
+       sodipodi:open="true"
+       d="m 24.42554,1037.525 a 9.2698154,7.55445 0 0 1 -3.825532,10.1378 9.2698154,7.55445 0 0 1 -12.4935811,-2.9712 9.2698154,7.55445 0 0 1 3.4653201,-10.2234 9.2698154,7.55445 0 0 1 12.593492,2.6764" />
+    <rect
+       style="opacity:1;fill:#000080;fill-opacity:1;stroke:#000080;stroke-width:4.46860266;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="rect4172"
+       width="6.2991643"
+       height="49.531399"
+       x="13.287962"
+       y="991.8822"
+       ry="3.1495821" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000080;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="32.232143"
+       y="1040.9336"
+       id="text4188"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan4190"
+         x="32.232143"
+         y="1040.9336">°<tspan
+   style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:20px;font-family:Sans;-inkscape-font-specification:'Sans Bold'"
+   id="tspan4210">F</tspan></tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:20px;line-height:125%;font-family:Sans;-inkscape-font-specification:'Sans Bold';letter-spacing:0px;word-spacing:0px;fill:#000080;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="21.589287"
+       y="1005.6479"
+       id="text4188-1"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan4190-3"
+         x="21.589287"
+         y="1005.6479">°C</tspan></text>
+    <rect
+       style="opacity:1;fill:#000080;fill-opacity:0;stroke:#000000;stroke-width:0;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="rect4142"
+       width="64"
+       height="64"
+       x="0.0011160693"
+       y="988.3689"
+       ry="0" />
+  </g>
+</svg>
diff --git a/src/icons/CSrcCAD.svg b/src/icons/CSrcCAD.svg
new file mode 100644
index 0000000..886c5aa
--- /dev/null
+++ b/src/icons/CSrcCAD.svg
@@ -0,0 +1,142 @@
+<?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.91 r13725"
+   sodipodi:docname="CSrcCAD.svg">
+  <defs
+     id="defs4">
+    <marker
+       inkscape:stockid="Arrow1Send"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="Arrow1Send"
+       style="overflow:visible;"
+       inkscape:isstock="true">
+      <path
+         id="path4165"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         style="fill-rule:evenodd;stroke:#000080;stroke-width:1pt;stroke-opacity:1;fill:#000080;fill-opacity:1"
+         transform="scale(0.2) rotate(180) translate(6,0)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow1Mstart"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="Arrow1Mstart"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         id="path4156"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         style="fill-rule:evenodd;stroke:#000080;stroke-width:1pt;stroke-opacity:1;fill:#000080;fill-opacity:1"
+         transform="scale(0.4) translate(10,0)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow1Lstart"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="Arrow1Lstart"
+       style="overflow:visible"
+       inkscape:isstock="true">
+      <path
+         id="path4150"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         style="fill-rule:evenodd;stroke:#000080;stroke-width:1pt;stroke-opacity:1;fill:#000080;fill-opacity:1"
+         transform="scale(0.8) translate(12.5,0)" />
+    </marker>
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="89.6"
+     inkscape:cx="6.132199"
+     inkscape:cy="60.352023"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="true"
+     inkscape:window-width="1916"
+     inkscape:window-height="1041"
+     inkscape:window-x="0"
+     inkscape:window-y="18"
+     inkscape:window-maximized="0">
+    <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 />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Ebene 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(0,-988.36218)">
+    <path
+       style="opacity:1;fill:#000080;fill-opacity:1;stroke:#000080;stroke-width:4.9;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:3.9000001;stroke-dasharray:1.225,1.225;stroke-dashoffset:0;stroke-opacity:1"
+       id="path4170"
+       sodipodi:type="arc"
+       sodipodi:cx="33.068741"
+       sodipodi:cy="1027.1952"
+       sodipodi:rx="16.023449"
+       sodipodi:ry="16.014418"
+       sodipodi:start="5.8033419"
+       sodipodi:end="5.7456763"
+       sodipodi:open="true"
+       d="m 47.282617,1019.8023 a 16.023449,16.014418 0 0 1 -6.61267,21.4907 16.023449,16.014418 0 0 1 -21.595926,-6.2984 16.023449,16.014418 0 0 1 5.99002,-21.6724 16.023449,16.014418 0 0 1 21.76863,5.6736" />
+    <rect
+       style="opacity:1;fill:#000080;fill-opacity:1;stroke:#000080;stroke-width:3.38574004;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:3.9000001;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="rect4428"
+       width="3.8118463"
+       height="37.575176"
+       x="-705.48956"
+       y="720.68689"
+       ry="0.95123309"
+       transform="matrix(0.70710678,-0.70710678,0.70710678,0.70710678,0,0)" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000080;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow1Send)"
+       d="M 26.428571,1002.5408 C 48,1002.3622 58,1006.3622 58.125,1025.7997"
+       id="path4430"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cc" />
+    <rect
+       style="opacity:1;fill:#000080;fill-opacity:0;stroke:#000000;stroke-width:0;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="rect4142"
+       width="64"
+       height="64"
+       x="-0.0022321509"
+       y="988.36218"
+       ry="0" />
+  </g>
+</svg>
diff --git a/src/icons/CSrcDepth.svg b/src/icons/CSrcDepth.svg
new file mode 100644
index 0000000..4da563b
--- /dev/null
+++ b/src/icons/CSrcDepth.svg
@@ -0,0 +1,126 @@
+<?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.91 r13725"
+   sodipodi:docname="CSrcDepth.svg">
+  <defs
+     id="defs4">
+    <marker
+       inkscape:stockid="Arrow1Send"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="Arrow1Send"
+       style="overflow:visible;"
+       inkscape:isstock="true">
+      <path
+         id="path4163"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         style="fill-rule:evenodd;stroke:#000080;stroke-width:1pt;stroke-opacity:1;fill:#000080;fill-opacity:1"
+         transform="scale(0.2) rotate(180) translate(6,0)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow1Lend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="Arrow1Lend"
+       style="overflow:visible;"
+       inkscape:isstock="true">
+      <path
+         id="path4151"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         transform="scale(0.8) rotate(180) translate(12.5,0)" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow1Mend"
+       orient="auto"
+       refY="0.0"
+       refX="0.0"
+       id="Arrow1Mend"
+       style="overflow:visible;"
+       inkscape:isstock="true">
+      <path
+         id="path4157"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
+         transform="scale(0.4) rotate(180) translate(10,0)" />
+    </marker>
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="22.627417"
+     inkscape:cx="10.632976"
+     inkscape:cy="55.755262"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="true"
+     inkscape:window-width="1916"
+     inkscape:window-height="1041"
+     inkscape:window-x="0"
+     inkscape:window-y="18"
+     inkscape:window-maximized="0">
+    <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 />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Ebene 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(0,-988.36218)">
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000080;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 1.8750004,1013.6121 c 7.2206713,-11.6341 13.7257966,-8.2417 19.9999996,0 7.220672,11.6341 13.725796,8.2417 20,0 6.666667,-10.3442 13.333333,-9.1648 20,0"
+       id="path4143"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cccc" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000080;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Send);stroke-miterlimit:4;stroke-dasharray:none"
+       d="m 36,993.36218 0,48.00002"
+       id="path4142"
+       inkscape:connector-curvature="0" />
+    <rect
+       style="opacity:1;fill:#000080;fill-opacity:0;stroke:#000000;stroke-width:0;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="rect4142"
+       width="64"
+       height="64"
+       x="0.083184533"
+       y="988.37347"
+       ry="0" />
+  </g>
+</svg>
diff --git a/src/icons/CSrcElevation.svg b/src/icons/CSrcElevation.svg
new file mode 100644
index 0000000..8df59d4
--- /dev/null
+++ b/src/icons/CSrcElevation.svg
@@ -0,0 +1,77 @@
+<?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.91 r13725"
+   sodipodi:docname="Elevation.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.919596"
+     inkscape:cx="11.377001"
+     inkscape:cy="26.580381"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="true"
+     inkscape:window-width="1916"
+     inkscape:window-height="1041"
+     inkscape:window-x="0"
+     inkscape:window-y="18"
+     inkscape:window-maximized="0">
+    <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 />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Ebene 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(0,-988.36218)">
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000080;stroke-width:3.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 9.9999995,1028.5446 9.1651535,-0.021 0.282301,-14.3233 16.138483,0.083 0.01264,14.1449 17.97285,0.1386"
+       id="path4137"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cccccc" />
+    <rect
+       style="opacity:1;fill:#000000;fill-opacity:0;stroke:none;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="rect4135"
+       width="43.916"
+       height="43.916"
+       x="9.4701805"
+       y="993.42145" />
+  </g>
+</svg>
diff --git a/src/icons/CSrcHR.svg b/src/icons/CSrcHR.svg
new file mode 100644
index 0000000..44c164e
--- /dev/null
+++ b/src/icons/CSrcHR.svg
@@ -0,0 +1,81 @@
+<?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.91 r13725"
+   sodipodi:docname="Heart.svg">
+  <defs
+     id="defs4" />
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="11.2"
+     inkscape:cx="36.625196"
+     inkscape:cy="48.644182"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     inkscape:window-width="1916"
+     inkscape:window-height="1041"
+     inkscape:window-x="0"
+     inkscape:window-y="18"
+     inkscape:window-maximized="0">
+    <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 />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Ebene 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(0,-988.36218)">
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000080;stroke-width:3;stroke-linecap:round;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
+       d="M 30.126269,1007.564 C 26.794352,1001.3129 20.201775,994.33172 15,997.36218 7.8779654,1002.3556 8.4847712,1013.8774 13.45834,1019.5992 20,1027.3622 24.578587,1032.0634 30,1037.3622"
+       id="path4137"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cccc" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000080;stroke-width:3;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 30.075855,1007.5606 c 3.331917,-6.2511 9.924494,-13.23195 15.126268,-10.20149 7.122035,4.99309 6.515229,16.51489 1.54166,22.23669 -6.541659,7.763 -11.120246,12.4642 -16.541659,17.763"
+       id="path4137-7"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cccc" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 15.363356,1018.6266 2.904189,-0.063 1.136422,-3.1568 1.95717,8.3338 4.293148,-18.309 4.419418,26.7059 1.641498,-14.3316 5.366435,0.063 7.954952,-0.1263"
+       id="path4136"
+       inkscape:connector-curvature="0" />
+  </g>
+</svg>
diff --git a/src/icons/CSrcSlope.svg b/src/icons/CSrcSlope.svg
new file mode 100644
index 0000000..ab99dff
--- /dev/null
+++ b/src/icons/CSrcSlope.svg
@@ -0,0 +1,87 @@
+<?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.91 r13725"
+   sodipodi:docname="CSrcSlope.svg">
+  <defs
+     id="defs4" />
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="5.6568543"
+     inkscape:cx="22.645353"
+     inkscape:cy="11.709225"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="true"
+     inkscape:window-width="1916"
+     inkscape:window-height="1041"
+     inkscape:window-x="0"
+     inkscape:window-y="18"
+     inkscape:window-maximized="0">
+    <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 />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Ebene 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(0,-988.36218)">
+    <path
+       style="fill:#000080;fill-opacity:1;fill-rule:evenodd;stroke:#000080;stroke-width:0.00099755;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="M 60.259729,1045.6661 4.5580285,1045.6391 30.753358,997.83319 60.26486,1045.6668"
+       id="path4137"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cccc" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000080;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 2.6850002,1035.654 17.4682568,-30.3289 -7.942105,0.749"
+       id="path4143"
+       inkscape:connector-curvature="0" />
+    <rect
+       style="opacity:1;fill:none;fill-opacity:1;stroke:none;stroke-width:2.29999995;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="rect4137"
+       width="64"
+       height="64"
+       x="0"
+       y="988.36218" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000080;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 39.022822,1002.0527 19.581262,29.0096 2.813694,-7.4646"
+       id="path4143-5"
+       inkscape:connector-curvature="0" />
+  </g>
+</svg>
diff --git a/src/icons/CSrcSolid.svg b/src/icons/CSrcSolid.svg
new file mode 100644
index 0000000..32f760c
--- /dev/null
+++ b/src/icons/CSrcSolid.svg
@@ -0,0 +1,78 @@
+<?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.91 r13725"
+   sodipodi:docname="CSrcSolid.svg">
+  <defs
+     id="defs4" />
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="11.313709"
+     inkscape:cx="24.06662"
+     inkscape:cy="34.389893"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="true"
+     inkscape:window-width="1916"
+     inkscape:window-height="1041"
+     inkscape:window-x="0"
+     inkscape:window-y="18"
+     inkscape:window-maximized="0">
+    <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 />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Ebene 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(0,-988.36218)">
+    <rect
+       style="opacity:1;fill:none;fill-opacity:1;stroke:none;stroke-width:2.29999995;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="rect4137"
+       width="64"
+       height="64"
+       x="0"
+       y="988.36218" />
+    <rect
+       style="opacity:1;fill:#000080;fill-opacity:1;stroke:#000080;stroke-width:3.75250745;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="rect4138"
+       width="52.623569"
+       height="52.4468"
+       x="5.8207974"
+       y="994.09467" />
+  </g>
+</svg>
diff --git a/src/icons/CSrcSpeed.svg b/src/icons/CSrcSpeed.svg
new file mode 100644
index 0000000..c087413
--- /dev/null
+++ b/src/icons/CSrcSpeed.svg
@@ -0,0 +1,88 @@
+<?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.91 r13725"
+   sodipodi:docname="Speed.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.919596"
+     inkscape:cx="71.211898"
+     inkscape:cy="38.346978"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="true"
+     inkscape:window-width="1916"
+     inkscape:window-height="1041"
+     inkscape:window-x="0"
+     inkscape:window-y="18"
+     inkscape:window-maximized="0">
+    <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 />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Ebene 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(0,-988.36218)">
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 41.655129,995.41469 12.805682,17.95661 -13.005771,15.9211"
+       id="path4137"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="ccc" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000080;stroke-width:1.75;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 32.675412,997.35733 10.728551,15.97437 -10.896185,14.1638"
+       id="path4137-1"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="ccc" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000080;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 25.135467,999.60694 7.930481,13.75116 -8.054395,12.1921"
+       id="path4137-1-4"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="ccc" />
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000080;stroke-width:1.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 18.046495,1003.0023 6.221065,10.3823 -6.318269,9.2054"
+       id="path4137-1-4-8"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="ccc" />
+  </g>
+</svg>
diff --git a/src/icons/CSrcUnknown.svg b/src/icons/CSrcUnknown.svg
new file mode 100644
index 0000000..415701d
--- /dev/null
+++ b/src/icons/CSrcUnknown.svg
@@ -0,0 +1,82 @@
+<?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.91 r13725"
+   sodipodi:docname="CSrcUnknown.svg">
+  <defs
+     id="defs4" />
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="8"
+     inkscape:cx="11.244445"
+     inkscape:cy="29.162497"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="true"
+     inkscape:window-width="1916"
+     inkscape:window-height="1041"
+     inkscape:window-x="0"
+     inkscape:window-y="18"
+     inkscape:window-maximized="0">
+    <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 />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Ebene 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(0,-988.36218)">
+    <rect
+       style="opacity:1;fill:none;fill-opacity:1;stroke:none;stroke-width:5.49369431;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="rect4136"
+       width="58.513855"
+       height="58.50135"
+       x="2.7470193"
+       y="991.11139" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:80px;line-height:125%;font-family:'Asana Math';-inkscape-font-specification:'Asana Math';letter-spacing:0px;word-spacing:0px;fill:#000080;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;image-rendering:auto;"
+       x="15"
+       y="1046.3622"
+       id="text4137"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan4139"
+         x="15"
+         y="1046.3622">?</tspan></text>
+  </g>
+</svg>
diff --git a/src/icons/CSrcWTemp.svg b/src/icons/CSrcWTemp.svg
new file mode 100644
index 0000000..54a1088
--- /dev/null
+++ b/src/icons/CSrcWTemp.svg
@@ -0,0 +1,122 @@
+<?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.91 r13725"
+   sodipodi:docname="CSrcWTemp.svg">
+  <defs
+     id="defs4" />
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="5.6"
+     inkscape:cx="1.8237996"
+     inkscape:cy="59.665373"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="true"
+     inkscape:window-width="1916"
+     inkscape:window-height="1041"
+     inkscape:window-x="0"
+     inkscape:window-y="18"
+     inkscape:window-maximized="0">
+    <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 />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Ebene 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(0,-988.36218)">
+    <path
+       style="opacity:1;fill:#000080;fill-opacity:1;stroke:#000080;stroke-width:5.65799999;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="path4170"
+       sodipodi:type="arc"
+       sodipodi:cx="16.202591"
+       sodipodi:cy="1041.0125"
+       sodipodi:rx="9.2698154"
+       sodipodi:ry="7.55445"
+       sodipodi:start="5.8033419"
+       sodipodi:end="5.7456763"
+       sodipodi:open="true"
+       d="m 24.42554,1037.525 a 9.2698154,7.55445 0 0 1 -3.825532,10.1378 9.2698154,7.55445 0 0 1 -12.4935811,-2.9712 9.2698154,7.55445 0 0 1 3.4653201,-10.2234 9.2698154,7.55445 0 0 1 12.593492,2.6764" />
+    <rect
+       style="opacity:1;fill:#000080;fill-opacity:1;stroke:#000080;stroke-width:4.46860266;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="rect4172"
+       width="6.2991643"
+       height="49.531399"
+       x="13.287962"
+       y="991.8822"
+       ry="3.1495821" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:20px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000080;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="32.232143"
+       y="1040.9336"
+       id="text4188"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan4190"
+         x="32.232143"
+         y="1040.9336">°<tspan
+   style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:20px;font-family:Sans;-inkscape-font-specification:'Sans Bold'"
+   id="tspan4210">F</tspan></tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:20px;line-height:125%;font-family:Sans;-inkscape-font-specification:'Sans Bold';letter-spacing:0px;word-spacing:0px;fill:#000080;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="21.589287"
+       y="1005.6479"
+       id="text4188-1"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan4190-3"
+         x="21.589287"
+         y="1005.6479">°C</tspan></text>
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#000080;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 1.8750004,1013.6121 c 7.2206713,-11.6341 13.7257966,-8.2417 19.9999996,0 7.220672,11.6341 13.725796,8.2417 20,0 6.666667,-10.3442 13.333333,-9.1648 20,0"
+       id="path4143"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cccc" />
+    <rect
+       style="opacity:1;fill:#000080;fill-opacity:0;stroke:#000000;stroke-width:0;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       id="rect4142"
+       width="64"
+       height="64"
+       x="0"
+       y="988.36218"
+       ry="0" />
+  </g>
+</svg>
diff --git a/src/icons/Progress.svg b/src/icons/Progress.svg
new file mode 100644
index 0000000..9722c64
--- /dev/null
+++ b/src/icons/Progress.svg
@@ -0,0 +1,76 @@
+<?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="Progress.png">
+  <defs
+     id="defs4" />
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="11.2"
+     inkscape:cx="15.91091"
+     inkscape:cy="37.929896"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="true"
+     inkscape:window-width="1912"
+     inkscape:window-height="1002"
+     inkscape:window-x="0"
+     inkscape:window-y="0"
+     inkscape:window-maximized="0">
+    <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:#000080;stroke:#000080;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+       d="m 10.789937,1036.6357 5.552516,0 11.105031,-11.5471 5.552516,0 16.657547,-17.3205 0,28.8676 z"
+       id="path3754"
+       inkscape:connector-curvature="0" />
+    <rect
+       style="fill:none;stroke:none"
+       id="rect3756"
+       width="40"
+       height="40"
+       x="10.223742"
+       y="1002.202" />
+  </g>
+</svg>
diff --git a/src/icons/makeicons b/src/icons/makeicons
index 80b4f15..7c37ef4 100755
--- a/src/icons/makeicons
+++ b/src/icons/makeicons
@@ -1,5 +1,46 @@
 #!/bin/bash
-for i in Act*.svg; do inkscape -D -w 16 -h 16 $i --export-png=16x16/`echo $i | sed -e 's/svg$/png/'`; done
-for i in *.svg; do inkscape -D -w 32 -h 32 $i --export-png=32x32/`echo $i | sed -e 's/svg$/png/'`; done
-for i in *.svg; do inkscape -D -w 48 -h 48 $i --export-png=48x48/`echo $i | sed -e 's/svg$/png/'`; done
+
+function call_inkscape {
+    # $1: width = height
+    # $2: source file (*.svg)
+    # $3: target file (*.png)
+    echo -n "$1x$1 "
+    inkscape -D -w $1 -h $1 $2 --export-png=$1x$1/$3 >/dev/null 2>&1
+    if [ ! $? -eq 0 ]; then
+        echo -n "ERROR "
+    fi
+}
+
+function convert {
+    # $1: source file
+    echo -n "generating icons for $1... "
+    NAME=`echo $1 | sed -e 's/svg$/png/'`
+
+    if [[ $1 =~ Act.*\.svg ]]; then
+        call_inkscape 16 $1 $NAME
+    fi
+
+    call_inkscape 32 $1 $NAME
+    call_inkscape 48 $1 $NAME
+
+    echo ""
+}
+
+which inkscape >/dev/null 2>&1
+if [ ! $? -eq 0 ]; then
+    echo "this script requires inkscape, aborting..."
+fi
+
+if [ "$1" == "" ]; then
+    echo "generating ALL icons..."
+    for i in *.svg; do
+        convert "$i"
+    done
+else
+    if [ -f $1 ]; then
+        convert "$1"
+    else
+        echo "$1 does not exist or is no regular file, aborting..."
+    fi
+fi
 
diff --git a/src/locale/qmapshack_cs.ts b/src/locale/qmapshack_cs.ts
index f86d110..f7da89e 100644
--- a/src/locale/qmapshack_cs.ts
+++ b/src/locale/qmapshack_cs.ts
@@ -10,12 +10,12 @@
     <message>
         <location filename="../CAbout.cpp" line="38"/>
         <source>%1 (API V%2, expected V%3)</source>
-        <translation type="unfinished"></translation>
+        <translation>%1 (API verze %2, očekávána verze %3)</translation>
     </message>
     <message>
         <location filename="../CAbout.cpp" line="42"/>
         <source>%1 (API V%2)</source>
-        <translation type="unfinished"></translation>
+        <translation>%1 (API verze %2)</translation>
     </message>
 </context>
 <context>
@@ -25,7 +25,7 @@
         <translation type="obsolete">Pohled %1</translation>
     </message>
     <message>
-        <location filename="../canvas/CCanvas.cpp" line="66"/>
+        <location filename="../canvas/CCanvas.cpp" line="59"/>
         <source>View %1</source>
         <translation>Pohled %1</translation>
     </message>
@@ -40,7 +40,7 @@
     <message>
         <location filename="../helpers/CCommandProcessor.cpp" line="34"/>
         <source>Print debug output to logfile (temp. path).</source>
-        <translation type="unfinished"></translation>
+        <translation>Uložit výstup ladění do souboru se zápisem (cesta temp).</translation>
     </message>
     <message>
         <location filename="../helpers/CCommandProcessor.cpp" line="37"/>
@@ -92,34 +92,33 @@
 <context>
     <name>CDemPropSetup</name>
     <message>
-        <location filename="../dem/CDemPropSetup.cpp" line="183"/>
         <source><b>Grade %1</b></source>
-        <translation><b>Stupeň %1</b></translation>
+        <translation type="vanished"><b>Stupeň %1</b></translation>
     </message>
 </context>
 <context>
     <name>CDemVRT</name>
     <message>
-        <location filename="../dem/CDemVRT.cpp" line="45"/>
+        <location filename="../dem/CDemVRT.cpp" line="44"/>
         <location filename="../dem/CDemVRT.cpp" line="52"/>
-        <location filename="../dem/CDemVRT.cpp" line="61"/>
-        <location filename="../dem/CDemVRT.cpp" line="89"/>
+        <location filename="../dem/CDemVRT.cpp" line="62"/>
+        <location filename="../dem/CDemVRT.cpp" line="91"/>
         <source>Error...</source>
         <translation>Chyba...</translation>
     </message>
     <message>
-        <location filename="../dem/CDemVRT.cpp" line="45"/>
+        <location filename="../dem/CDemVRT.cpp" line="44"/>
         <source>Failed to load file: %1</source>
         <translation>Nepodařilo se nahrát soubor %1</translation>
     </message>
     <message>
         <location filename="../dem/CDemVRT.cpp" line="52"/>
-        <location filename="../dem/CDemVRT.cpp" line="61"/>
+        <location filename="../dem/CDemVRT.cpp" line="62"/>
         <source>DEM must have one band with 16bit or 32bit data.</source>
         <translation>DEM musí mít jedno pásmo s 16bitovými nebo 32bitovými daty.</translation>
     </message>
     <message>
-        <location filename="../dem/CDemVRT.cpp" line="89"/>
+        <location filename="../dem/CDemVRT.cpp" line="91"/>
         <source>No georeference information found.</source>
         <translation>Nenalezeny žádné údaje o vyjádření prostorových vztahů.</translation>
     </message>
@@ -127,23 +126,23 @@
 <context>
     <name>CDetailsGeoCache</name>
     <message>
-        <location filename="../gis/wpt/CDetailsGeoCache.cpp" line="62"/>
+        <location filename="../gis/wpt/CDetailsGeoCache.cpp" line="61"/>
         <source>none</source>
         <translation>žádné</translation>
     </message>
     <message>
-        <location filename="../gis/wpt/CDetailsGeoCache.cpp" line="62"/>
-        <location filename="../gis/wpt/CDetailsGeoCache.cpp" line="132"/>
+        <location filename="../gis/wpt/CDetailsGeoCache.cpp" line="61"/>
+        <location filename="../gis/wpt/CDetailsGeoCache.cpp" line="131"/>
         <source>???</source>
         <translation>?</translation>
     </message>
     <message>
-        <location filename="../gis/wpt/CDetailsGeoCache.cpp" line="159"/>
+        <location filename="../gis/wpt/CDetailsGeoCache.cpp" line="158"/>
         <source>Searching for images...</source>
         <translation>Hledají se obrázky...</translation>
     </message>
     <message>
-        <location filename="../gis/wpt/CDetailsGeoCache.cpp" line="264"/>
+        <location filename="../gis/wpt/CDetailsGeoCache.cpp" line="263"/>
         <source>No images found</source>
         <translation>Nebyly nalezeny žádné obrázky</translation>
     </message>
@@ -151,12 +150,12 @@
 <context>
     <name>CDetailsOvlArea</name>
     <message>
-        <location filename="../gis/ovl/CDetailsOvlArea.cpp" line="135"/>
+        <location filename="../gis/ovl/CDetailsOvlArea.cpp" line="134"/>
         <source>Edit name...</source>
         <translation>Upravit název...</translation>
     </message>
     <message>
-        <location filename="../gis/ovl/CDetailsOvlArea.cpp" line="135"/>
+        <location filename="../gis/ovl/CDetailsOvlArea.cpp" line="134"/>
         <source>Enter new area name.</source>
         <translation>Zadat název nové oblasti.</translation>
     </message>
@@ -184,13 +183,13 @@
 <context>
     <name>CDetailsPrj</name>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="249"/>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="689"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="247"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="687"/>
         <source>none</source>
         <translation>žádné</translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="322"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="320"/>
         <source>Build diary...</source>
         <translation>Sestavit deník...</translation>
     </message>
@@ -199,97 +198,97 @@
         <translation type="obsolete">Zrušit</translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="397"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="395"/>
         <source><h2>Waypoints</h2></source>
         <translation><h2>Cestovní body</h2></translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="404"/>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="430"/>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="534"/>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="624"/>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="654"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="402"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="428"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="532"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="622"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="652"/>
         <source>Info</source>
         <translation>Informace</translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="405"/>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="431"/>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="535"/>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="625"/>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="655"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="403"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="429"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="533"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="623"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="653"/>
         <source>Comment</source>
         <translation>Poznámka</translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="423"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="421"/>
         <source><h2>Tracks</h2></source>
         <translation><h2>Stopy</h2></translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="617"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="615"/>
         <source><h2>Areas</h2></source>
         <translation><h2>Oblasti</h2></translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="103"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="101"/>
         <source>You want to sort waypoints along a track, but you switched off track and waypoint correlation. Do you want to switch it on again?</source>
         <translation>Chcete třídit cestovní body podél cesty, ale vypnul jste svázání cestovních bodů a cest (dání do vzájemného vztahu). Chcete je opět zapnout?</translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="104"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="102"/>
         <source>Correlation...</source>
         <translation>Svázání...</translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="377"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="375"/>
         <source><b>Summary over all tracks in project</b><br/></source>
         <translation><b>Přehled všech stop v projektu</b><br/></translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="553"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="551"/>
         <source>distance: %1%2</source>
         <translation>Vzdálenost: %1%2</translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="555"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="553"/>
         <source>ascent: %1%2</source>
         <translation>Stoupání: %1%2</translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="557"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="555"/>
         <source>descend: %1%2</source>
         <translation>Klesání: %1%2</translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="647"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="645"/>
         <source><h2>Routes</h2></source>
         <translation><h2>Cesty</h2></translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="675"/>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="702"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="673"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="700"/>
         <source>Edit name...</source>
         <translation>Upravit název...</translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="675"/>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="702"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="673"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="700"/>
         <source>Enter new project name.</source>
         <translation>Zadejte název projektu.</translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="684"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="682"/>
         <source>Edit keywords...</source>
         <translation>Upravit klíčová slova...</translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="684"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="682"/>
         <source>Enter keywords.</source>
         <translation>Zadejte klíčová slova.</translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="818"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="816"/>
         <source>Print Diary</source>
         <translation>Tisk deníku</translation>
     </message>
@@ -297,12 +296,12 @@
 <context>
     <name>CDetailsRte</name>
     <message>
-        <location filename="../gis/rte/CDetailsRte.cpp" line="120"/>
+        <location filename="../gis/rte/CDetailsRte.cpp" line="119"/>
         <source>Edit name...</source>
         <translation>Upravit název...</translation>
     </message>
     <message>
-        <location filename="../gis/rte/CDetailsRte.cpp" line="120"/>
+        <location filename="../gis/rte/CDetailsRte.cpp" line="119"/>
         <source>Enter new route name.</source>
         <translation>Zadat nový název pro cestu.</translation>
     </message>
@@ -310,57 +309,78 @@
 <context>
     <name>CDetailsTrk</name>
     <message>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="87"/>
+        <source>distance [%1]</source>
+        <translation type="obsolete">Vzdálenost [%1]</translation>
+    </message>
+    <message>
+        <source>speed. [%1]</source>
+        <translation type="obsolete">Rychlost [%1]</translation>
+    </message>
+    <message>
+        <source>time</source>
+        <translation type="obsolete">Čas</translation>
+    </message>
+    <message>
+        <source>distance. [%1]</source>
+        <translation type="obsolete">Vzdálenost [%1]</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="409"/>
+        <source>Solid color</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="112"/>
         <source>Reduce visible track points</source>
         <translation>Omezit počet viditelných bodů stopy</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="100"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="128"/>
         <source>Change elevation of track points</source>
         <translation>Změnit informace o výškách bodů stopy</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="113"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="141"/>
         <source>Change timestamp of track points</source>
         <translation>Změnit časová razítka bodů stopy</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="126"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="154"/>
         <source>Cut track into pieces</source>
         <translation>Rozkrájet stopu na kusy</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="242"/>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="251"/>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="254"/>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="260"/>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="279"/>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="281"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="309"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="318"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="321"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="327"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="346"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="348"/>
         <source>%1 %2</source>
         <translation>%1 %2</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="457"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="603"/>
         <source>Edit name...</source>
         <translation>Upravit název...</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="457"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="603"/>
         <source>Enter new track name.</source>
         <translation>Zadat název nové stopy.</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="509"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="655"/>
         <source>Reset activities...</source>
         <translation>Nastavit činnosti znovu...</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="509"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="655"/>
         <source>This will remove all activities from the track. Proceed?</source>
         <translation>Tímto budou všechny činnosti odstraněny ze stopy. Pokračovat?</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="515"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="661"/>
         <source>None</source>
         <translation>Žádné</translation>
     </message>
@@ -400,12 +420,12 @@
         <translation type="obsolete"><p>--- žádný popis ---</p></translation>
     </message>
     <message>
-        <location filename="../gis/wpt/CDetailsWpt.cpp" line="157"/>
+        <location filename="../gis/wpt/CDetailsWpt.cpp" line="134"/>
         <source>Edit name...</source>
         <translation>Upravit název...</translation>
     </message>
     <message>
-        <location filename="../gis/wpt/CDetailsWpt.cpp" line="157"/>
+        <location filename="../gis/wpt/CDetailsWpt.cpp" line="134"/>
         <source>Enter new waypoint name.</source>
         <translation>Zadat nový cestovní bod.</translation>
     </message>
@@ -414,7 +434,7 @@
         <translation type="obsolete">Zadat novou výšku.</translation>
     </message>
     <message>
-        <location filename="../gis/wpt/CDetailsWpt.cpp" line="176"/>
+        <location filename="../gis/wpt/CDetailsWpt.cpp" line="153"/>
         <source>Enter new proximity range.</source>
         <translation>Zadejte nový poplach kvůli odstupu.</translation>
     </message>
@@ -430,69 +450,73 @@
 <context>
     <name>CGisListDB</name>
     <message>
-        <location filename="../gis/CGisListDB.cpp" line="76"/>
+        <location filename="../gis/CGisListDB.cpp" line="75"/>
         <source>Add Database</source>
         <translation>Přidat databázi</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListDB.cpp" line="79"/>
+        <location filename="../gis/CGisListDB.cpp" line="78"/>
         <source>Add Folder</source>
         <translation>Přidat složku</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListDB.cpp" line="80"/>
+        <location filename="../gis/CGisListDB.cpp" line="79"/>
         <source>Delete Folder</source>
         <translation>Smazat složku</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListDB.cpp" line="83"/>
-        <location filename="../gis/CGisListDB.cpp" line="93"/>
+        <location filename="../gis/CGisListDB.cpp" line="82"/>
+        <location filename="../gis/CGisListDB.cpp" line="92"/>
         <source>Delete Item</source>
         <translation>Smazat prvek</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListDB.cpp" line="87"/>
+        <location filename="../gis/CGisListDB.cpp" line="86"/>
         <source>Remove Database</source>
         <translation>Odstranit databázi</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListDB.cpp" line="90"/>
+        <location filename="../gis/CGisListDB.cpp" line="89"/>
         <source>Empty</source>
         <translation>Prázdný</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListDB.cpp" line="282"/>
+        <location filename="../gis/CGisListDB.cpp" line="281"/>
         <source>Remove database...</source>
         <translation>Odstranit databázi...</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListDB.cpp" line="282"/>
+        <location filename="../gis/CGisListDB.cpp" line="281"/>
+        <source>Do you really want to remove '%1' from the list?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <source>Do you realy want to remove '%1' from the list?</source>
-        <translation>Opravdu chcete '%1' odstranit ze seznamu?</translation>
+        <translation type="vanished">Opravdu chcete '%1' odstranit ze seznamu?</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListDB.cpp" line="323"/>
+        <location filename="../gis/CGisListDB.cpp" line="322"/>
         <source>Delete database folder...</source>
         <translation>Smazat složku s databází...</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListDB.cpp" line="323"/>
+        <location filename="../gis/CGisListDB.cpp" line="322"/>
         <source>Are you sure you want to delete "%1" from the database?</source>
         <translation>Opravdu chcete "%1" odstranit z databáze?</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListDB.cpp" line="349"/>
-        <location filename="../gis/CGisListDB.cpp" line="364"/>
+        <location filename="../gis/CGisListDB.cpp" line="348"/>
+        <location filename="../gis/CGisListDB.cpp" line="363"/>
         <source>Remove items...</source>
         <translation>Odstranit prvky...</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListDB.cpp" line="349"/>
+        <location filename="../gis/CGisListDB.cpp" line="348"/>
         <source>Are you sure you want to delete all items from Lost&Found? This will remove them permanently.</source>
         <translation>Opravdu chcete smazat všechny prvky ze ztracených a nalezených? Tím budou trvale odstraněny.</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListDB.cpp" line="364"/>
+        <location filename="../gis/CGisListDB.cpp" line="363"/>
         <source>Are you sure you want to delete all selected items from Lost&Found? This will remove them permanently.</source>
         <translation>Opravdu chcete smazat všechny vybrané prvky ze ztracených a nalezených? Tím budou trvale odstraněny.</translation>
     </message>
@@ -500,17 +524,17 @@
 <context>
     <name>CGisListWks</name>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="105"/>
+        <location filename="../gis/CGisListWks.cpp" line="102"/>
         <source>Save As...</source>
         <translation>Uložit jako...</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="104"/>
+        <location filename="../gis/CGisListWks.cpp" line="101"/>
         <source>Save</source>
         <translation>Uložit</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="100"/>
+        <location filename="../gis/CGisListWks.cpp" line="97"/>
         <source>Edit..</source>
         <translation>Upravit...</translation>
     </message>
@@ -519,62 +543,62 @@
         <translation type="obsolete">Aktualizovat projekt na zařízeních</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="109"/>
+        <location filename="../gis/CGisListWks.cpp" line="106"/>
         <source>Close</source>
         <translation>Zavřít</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="115"/>
+        <location filename="../gis/CGisListWks.cpp" line="112"/>
         <source>Update Project on Device</source>
         <translation>Aktualizovat projekt na zařízení</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="127"/>
+        <location filename="../gis/CGisListWks.cpp" line="124"/>
         <source>Edit...</source>
         <translation>Upravit...</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="128"/>
+        <location filename="../gis/CGisListWks.cpp" line="125"/>
         <source>Copy to...</source>
         <translation>Kopírovat do...</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="143"/>
+        <location filename="../gis/CGisListWks.cpp" line="140"/>
         <source>Show Bubble</source>
         <translation>Ukázat bublinu</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="145"/>
+        <location filename="../gis/CGisListWks.cpp" line="142"/>
         <source>Move Waypoint</source>
         <translation>Přesunout cestovní bod</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="146"/>
+        <location filename="../gis/CGisListWks.cpp" line="143"/>
         <source>Proj. Waypoint...</source>
         <translation>Promítnutí cestovního bodu...</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="154"/>
+        <location filename="../gis/CGisListWks.cpp" line="151"/>
         <source>Route Instructions</source>
         <translation>Pokyny pro cestu</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="156"/>
+        <location filename="../gis/CGisListWks.cpp" line="153"/>
         <source>Calculate Route</source>
         <translation>Spočítat cestu</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="157"/>
+        <location filename="../gis/CGisListWks.cpp" line="154"/>
         <source>Reset Route</source>
         <translation>Nastavit cestu znovu</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="158"/>
+        <location filename="../gis/CGisListWks.cpp" line="155"/>
         <source>Edit Route</source>
         <translation>Upravit cestu</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="174"/>
+        <location filename="../gis/CGisListWks.cpp" line="171"/>
         <source>Create Route</source>
         <translation>Vytvořit cestu</translation>
     </message>
@@ -585,64 +609,64 @@
     </message>
     <message>
         <location filename="../gis/CGisListWks.cpp" line="638"/>
-        <location filename="../gis/CGisListWks.cpp" line="1543"/>
-        <location filename="../gis/CGisListWks.cpp" line="1581"/>
+        <location filename="../gis/CGisListWks.cpp" line="1544"/>
+        <location filename="../gis/CGisListWks.cpp" line="1582"/>
         <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>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="1265"/>
+        <location filename="../gis/CGisListWks.cpp" line="1266"/>
         <source>Copy items...</source>
         <translation>Kopírovat prvky...</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="130"/>
+        <location filename="../gis/CGisListWks.cpp" line="127"/>
         <source>Track Profile</source>
         <translation>Profil stopy</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="101"/>
+        <location filename="../gis/CGisListWks.cpp" line="98"/>
         <source>Show on Map</source>
-        <translation type="unfinished"></translation>
+        <translation>Ukázat na mapě</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="102"/>
+        <location filename="../gis/CGisListWks.cpp" line="99"/>
         <source>Hide from Map</source>
-        <translation type="unfinished"></translation>
+        <translation>Skrýt v mapě</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="107"/>
+        <location filename="../gis/CGisListWks.cpp" line="104"/>
         <source>Send to Devices</source>
         <translation>Poslat do zařízení</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="132"/>
+        <location filename="../gis/CGisListWks.cpp" line="129"/>
         <source>Select Range</source>
         <translation>Vybrat rozsah</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="133"/>
+        <location filename="../gis/CGisListWks.cpp" line="130"/>
         <source>Edit Track Points</source>
         <translation>Upravit body stopy</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="134"/>
+        <location filename="../gis/CGisListWks.cpp" line="131"/>
         <source>Reverse Track</source>
         <translation>Obrátit stopu</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="135"/>
+        <location filename="../gis/CGisListWks.cpp" line="132"/>
         <source>Combine Tracks</source>
         <translation>Spojit stopy</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="167"/>
+        <location filename="../gis/CGisListWks.cpp" line="164"/>
         <source>Edit Area Points</source>
         <translation>Upravit body oblasti</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="116"/>
-        <location filename="../gis/CGisListWks.cpp" line="137"/>
+        <location filename="../gis/CGisListWks.cpp" line="113"/>
+        <location filename="../gis/CGisListWks.cpp" line="134"/>
         <source>Delete</source>
         <translation>Smazat</translation>
     </message>
@@ -657,12 +681,12 @@
         <translation>Nahrává se pracovní prostor. Počkejte, prosím.</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="1061"/>
+        <location filename="../gis/CGisListWks.cpp" line="1062"/>
         <source>Close all projects...</source>
         <translation>Zavřít všechny projekty...</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="1061"/>
+        <location filename="../gis/CGisListWks.cpp" line="1062"/>
         <source>This will remove all projects from the workspace.</source>
         <translation>Tímto budou všechny projekty odstraněny z pracovního prostoru.</translation>
     </message>
@@ -705,22 +729,22 @@
         <translation type="obsolete">[Mřížka: S %1m, V %2m] </translation>
     </message>
     <message>
-        <location filename="../grid/CGrid.cpp" line="65"/>
+        <location filename="../grid/CGrid.cpp" line="61"/>
         <source>%1 %2 </source>
         <translation>%1 %2 </translation>
     </message>
     <message>
-        <location filename="../grid/CGrid.cpp" line="69"/>
+        <location filename="../grid/CGrid.cpp" line="65"/>
         <source>%1%2%5 %3%4%5 </source>
         <translation>%1%2%5 %3%4%5 </translation>
     </message>
     <message>
-        <location filename="../grid/CGrid.cpp" line="76"/>
+        <location filename="../grid/CGrid.cpp" line="72"/>
         <source>%1m, %2m </source>
         <translation>%1m, %2m </translation>
     </message>
     <message>
-        <location filename="../grid/CGrid.cpp" line="80"/>
+        <location filename="../grid/CGrid.cpp" line="76"/>
         <source>N %1m, E %2m </source>
         <translation>N %1 m, E %2 m</translation>
     </message>
@@ -728,7 +752,7 @@
 <context>
     <name>CHistoryListWidget</name>
     <message>
-        <location filename="../helpers/CHistoryListWidget.cpp" line="34"/>
+        <location filename="../widgets/CHistoryListWidget.cpp" line="34"/>
         <source>Cut history</source>
         <translation>Vyjmout historii</translation>
     </message>
@@ -741,12 +765,12 @@
         <translation>Zavést databázi QLandkarte</translation>
     </message>
     <message>
-        <location filename="../tool/CImportDatabase.cpp" line="73"/>
+        <location filename="../tool/CImportDatabase.cpp" line="75"/>
         <source>Select source database...</source>
         <translation>Vybrat zdrojovou databázi...</translation>
     </message>
     <message>
-        <location filename="../tool/CImportDatabase.cpp" line="93"/>
+        <location filename="../tool/CImportDatabase.cpp" line="97"/>
         <source>Select target database...</source>
         <translation>Vybrat cílovou databázi...</translation>
     </message>
@@ -754,27 +778,27 @@
 <context>
     <name>CMainWindow</name>
     <message>
-        <location filename="../CMainWindow.cpp" line="589"/>
+        <location filename="../CMainWindow.cpp" line="591"/>
         <source>Ele: %1%2</source>
         <translation>Výška: %1%2</translation>
     </message>
     <message>
-        <location filename="../CMainWindow.cpp" line="605"/>
+        <location filename="../CMainWindow.cpp" line="607"/>
         <source>[Grid: %1]</source>
         <translation>[Mřížka: %1]</translation>
     </message>
     <message>
-        <location filename="../CMainWindow.cpp" line="726"/>
+        <location filename="../CMainWindow.cpp" line="732"/>
         <source>Load GIS Data...</source>
         <translation>Nahrát data GIS...</translation>
     </message>
     <message>
-        <location filename="../CMainWindow.cpp" line="760"/>
+        <location filename="../CMainWindow.cpp" line="766"/>
         <source>Select output file</source>
         <translation>Vybrat výstupní soubor</translation>
     </message>
     <message>
-        <location filename="../CMainWindow.cpp" line="786"/>
+        <location filename="../CMainWindow.cpp" line="792"/>
         <source>Select file to load</source>
         <translation>Vybrat soubor k nahrání</translation>
     </message>
@@ -1386,26 +1410,26 @@
         <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="2500"/>
-        <location filename="../map/CMapIMG.cpp" line="2508"/>
+        <location filename="../map/CMapIMG.cpp" line="2504"/>
         <location filename="../map/CMapIMG.cpp" line="2512"/>
-        <location filename="../map/CMapIMG.cpp" line="2517"/>
-        <location filename="../map/CMapIMG.cpp" line="2563"/>
-        <location filename="../map/CMapIMG.cpp" line="2571"/>
+        <location filename="../map/CMapIMG.cpp" line="2516"/>
+        <location filename="../map/CMapIMG.cpp" line="2521"/>
+        <location filename="../map/CMapIMG.cpp" line="2567"/>
         <location filename="../map/CMapIMG.cpp" line="2575"/>
-        <location filename="../map/CMapIMG.cpp" line="2580"/>
+        <location filename="../map/CMapIMG.cpp" line="2579"/>
+        <location filename="../map/CMapIMG.cpp" line="2584"/>
         <source>Point of Interest</source>
         <translation>Podivuhodnost</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="2707"/>
+        <location filename="../map/CMapIMG.cpp" line="2711"/>
         <source>Unknown</source>
         <translation>Neznámý</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="2753"/>
-        <location filename="../map/CMapIMG.cpp" line="2761"/>
-        <location filename="../map/CMapIMG.cpp" line="2768"/>
+        <location filename="../map/CMapIMG.cpp" line="2757"/>
+        <location filename="../map/CMapIMG.cpp" line="2765"/>
+        <location filename="../map/CMapIMG.cpp" line="2772"/>
         <source>Area</source>
         <translation>Oblast</translation>
     </message>
@@ -1517,19 +1541,19 @@
 <context>
     <name>CMapTMS</name>
     <message>
-        <location filename="../map/CMapTMS.cpp" line="71"/>
-        <location filename="../map/CMapTMS.cpp" line="81"/>
-        <location filename="../map/CMapTMS.cpp" line="140"/>
+        <location filename="../map/CMapTMS.cpp" line="67"/>
+        <location filename="../map/CMapTMS.cpp" line="77"/>
+        <location filename="../map/CMapTMS.cpp" line="136"/>
         <source>Error...</source>
         <translation>Chyba...</translation>
     </message>
     <message>
-        <location filename="../map/CMapTMS.cpp" line="71"/>
+        <location filename="../map/CMapTMS.cpp" line="67"/>
         <source>Failed to open %1</source>
         <translation>Nepodařilo se otevřít %1</translation>
     </message>
     <message>
-        <location filename="../map/CMapTMS.cpp" line="81"/>
+        <location filename="../map/CMapTMS.cpp" line="77"/>
         <source>Failed to read: %1
 line %2, column %3:
  %4</source>
@@ -1538,17 +1562,17 @@ line %2, column %3:
 %4</translation>
     </message>
     <message>
-        <location filename="../map/CMapTMS.cpp" line="119"/>
+        <location filename="../map/CMapTMS.cpp" line="115"/>
         <source>Layer %1</source>
         <translation>Vrstva %1</translation>
     </message>
     <message>
-        <location filename="../map/CMapTMS.cpp" line="134"/>
+        <location filename="../map/CMapTMS.cpp" line="130"/>
         <source>This map requires OpenSSL support. However due to legal restrictions in some countries OpenSSL is not packaged with QMapShack. You can have a look at the <a href='https://www.openssl.org/community/binaries.html'>OpenSSL Homepage</a> for binaries. You have to copy libeay32.dll and ssleay32.dll into the QMapShack program directory.</source>
-        <translation type="unfinished"></translation>
+        <translation>Tato mapa vyžaduje podporu pro OpenSSL. Nicméně kvůli právním omezením v některých zemích není OpenSSL k QMapShack přibaleno. Můžete se podívat na <a href='https://www.openssl.org/community/binaries.html'>stránky OpenSSL</a>, kde najdete spustitelné soubory. Musíte zkopírovat libeay32.dll a ssleay32.dll do adresáře s programem QMapShack.</translation>
     </message>
     <message>
-        <location filename="../map/CMapTMS.cpp" line="311"/>
+        <location filename="../map/CMapTMS.cpp" line="306"/>
         <source><b>%1</b>: %2 tiles pending<br/></source>
         <translation><b>%1</b>: %2 dlaždic čeká<br/></translation>
     </message>
@@ -1556,16 +1580,16 @@ line %2, column %3:
 <context>
     <name>CMapVRT</name>
     <message>
-        <location filename="../map/CMapVRT.cpp" line="47"/>
-        <location filename="../map/CMapVRT.cpp" line="61"/>
+        <location filename="../map/CMapVRT.cpp" line="45"/>
+        <location filename="../map/CMapVRT.cpp" line="60"/>
         <location filename="../map/CMapVRT.cpp" line="89"/>
-        <location filename="../map/CMapVRT.cpp" line="125"/>
+        <location filename="../map/CMapVRT.cpp" line="126"/>
         <source>Error...</source>
         <translation>Chyba...</translation>
     </message>
     <message>
-        <location filename="../map/CMapVRT.cpp" line="47"/>
-        <location filename="../map/CMapVRT.cpp" line="61"/>
+        <location filename="../map/CMapVRT.cpp" line="45"/>
+        <location filename="../map/CMapVRT.cpp" line="60"/>
         <source>Failed to load file: %1</source>
         <translation>Nepodařilo se nahrát soubor %1
 </translation>
@@ -1576,7 +1600,7 @@ line %2, column %3:
         <translation>Soubor musí mít 8 bitovou barevnou paletu nebo být v odstínech šedi.</translation>
     </message>
     <message>
-        <location filename="../map/CMapVRT.cpp" line="125"/>
+        <location filename="../map/CMapVRT.cpp" line="126"/>
         <source>No georeference information found.</source>
         <translation>Nenalezeny žádné údaje o vyjádření prostorových vztahů.</translation>
     </message>
@@ -1599,7 +1623,7 @@ line %2, column %3:
         <translation>Vybrat cílový soubor...</translation>
     </message>
     <message>
-        <location filename="../tool/CMapVrtBuilder.cpp" line="125"/>
+        <location filename="../tool/CMapVrtBuilder.cpp" line="114"/>
         <source>!!! done !!!
 </source>
         <translation>Hotovo!</translation>
@@ -1613,22 +1637,22 @@ line %2, column %3:
 <context>
     <name>CMapWMTS</name>
     <message>
-        <location filename="../map/CMapWMTS.cpp" line="46"/>
-        <location filename="../map/CMapWMTS.cpp" line="56"/>
-        <location filename="../map/CMapWMTS.cpp" line="66"/>
-        <location filename="../map/CMapWMTS.cpp" line="75"/>
-        <location filename="../map/CMapWMTS.cpp" line="160"/>
-        <location filename="../map/CMapWMTS.cpp" line="220"/>
+        <location filename="../map/CMapWMTS.cpp" line="43"/>
+        <location filename="../map/CMapWMTS.cpp" line="53"/>
+        <location filename="../map/CMapWMTS.cpp" line="63"/>
+        <location filename="../map/CMapWMTS.cpp" line="72"/>
+        <location filename="../map/CMapWMTS.cpp" line="157"/>
+        <location filename="../map/CMapWMTS.cpp" line="217"/>
         <source>Error...</source>
         <translation>Chyba...</translation>
     </message>
     <message>
-        <location filename="../map/CMapWMTS.cpp" line="46"/>
+        <location filename="../map/CMapWMTS.cpp" line="43"/>
         <source>Failed to open %1</source>
         <translation>Nepodařilo se otevřít %1</translation>
     </message>
     <message>
-        <location filename="../map/CMapWMTS.cpp" line="56"/>
+        <location filename="../map/CMapWMTS.cpp" line="53"/>
         <source>Failed to read: %1
 line %2, column %3:
  %4</source>
@@ -1637,24 +1661,28 @@ line %2, column %3:
 %4</translation>
     </message>
     <message>
-        <location filename="../map/CMapWMTS.cpp" line="66"/>
+        <location filename="../map/CMapWMTS.cpp" line="63"/>
         <source>Failed to read: %1
 Unknown structure.</source>
         <translation>Chyba při čtení: %1
 Neznámá stavba.</translation>
     </message>
     <message>
-        <location filename="../map/CMapWMTS.cpp" line="75"/>
+        <location filename="../map/CMapWMTS.cpp" line="72"/>
+        <source>Unexpected service. '* WMTS 1.0.0' is expected. '%1 %2' is read.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <source>Unexpexted service. '* WMTS 1.0.0' is expected. '%1 %2' is read.</source>
-        <translation>Neočekávaná služba. Očekáváno '* WMTS 1.0.0'. Přečteno '%1 %2'.</translation>
+        <translation type="vanished">Neočekávaná služba. Očekáváno '* WMTS 1.0.0'. Přečteno '%1 %2'.</translation>
     </message>
     <message>
-        <location filename="../map/CMapWMTS.cpp" line="154"/>
+        <location filename="../map/CMapWMTS.cpp" line="151"/>
         <source>This map requires OpenSSL support. However due to legal restrictions in some countries OpenSSL is not packaged with QMapShack. You can have a look at the <a href='https://www.openssl.org/community/binaries.html'>OpenSSL Homepage</a> for binaries. You have to copy libeay32.dll and ssleay32.dll into the QMapShack program directory.</source>
-        <translation type="unfinished"></translation>
+        <translation>Tato mapa vyžaduje podporu pro OpenSSL. Nicméně kvůli právním omezením v některých zemích není OpenSSL k QMapShack přibaleno. Můžete se podívat na <a href='https://www.openssl.org/community/binaries.html'>stránky OpenSSL</a>, kde najdete spustitelné soubory. Musíte zkopírovat libeay32.dll a ssleay32.dll do adresáře s programem QMapShack.</translation>
     </message>
     <message>
-        <location filename="../map/CMapWMTS.cpp" line="220"/>
+        <location filename="../map/CMapWMTS.cpp" line="217"/>
         <source>No georeference information found.</source>
         <translation>Nenalezeny žádné údaje o soustavě souřadnic.</translation>
     </message>
@@ -1663,7 +1691,7 @@ Neznámá stavba.</translation>
         <translation type="obsolete">--- Vše ---</translation>
     </message>
     <message>
-        <location filename="../map/CMapWMTS.cpp" line="416"/>
+        <location filename="../map/CMapWMTS.cpp" line="413"/>
         <source><b>%1</b>: %2 tiles pending<br/></source>
         <translation><b>%1</b>: %2 dlaždic čeká<br/></translation>
     </message>
@@ -1708,55 +1736,59 @@ Neznámá stavba.</translation>
     </message>
     <message>
         <location filename="../mouse/CMouseEditTrk.cpp" line="28"/>
-        <location filename="../mouse/CMouseEditTrk.cpp" line="36"/>
+        <location filename="../mouse/CMouseEditTrk.cpp" line="35"/>
         <source>Track</source>
         <translation>Stopa</translation>
     </message>
     <message>
-        <location filename="../mouse/CMouseEditTrk.cpp" line="39"/>
+        <location filename="../mouse/CMouseEditTrk.cpp" line="38"/>
         <source><b>Edit Track Points</b><br/>Select a function and a routing mode via the tool buttons. Next select a point of the line. Only points marked with a large square can be changed. The ones with a black dot are subpoints introduced by routing.<br/></source>
         <translation><b>Upravit body cesty</b><br/>Vyberte funkci a režim stanovení směru cesty přes nástrojová tlačítka. Dále vyberte bod na čáře. Lze měnit pouze body označené velkým čtverečkem. Černé body jsou podbody vytvořenými při stanovení směru cesty.<br/></translation>
     </message>
     <message>
-        <location filename="../mouse/CMouseEditTrk.cpp" line="81"/>
+        <location filename="../mouse/CMouseEditTrk.cpp" line="80"/>
         <source>Warning!</source>
         <translation>Varování!</translation>
     </message>
     <message>
-        <location filename="../mouse/CMouseEditTrk.cpp" line="81"/>
+        <location filename="../mouse/CMouseEditTrk.cpp" line="80"/>
+        <source>This will replace all data of the original by a simple line of coordinates. All other data will be lost permanently.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <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>
+        <translation type="vanished">Tímto budou všechny původní údaje nahrazeny jednoduchou čárou souřadnic. Všechna ostatní data budou trvale ztracena.</translation>
     </message>
 </context>
 <context>
     <name>CMouseNormal</name>
     <message>
-        <location filename="../mouse/CMouseNormal.cpp" line="41"/>
+        <location filename="../mouse/CMouseNormal.cpp" line="39"/>
         <source>Add Waypoint</source>
         <translation>Přidat cestovní bod</translation>
     </message>
     <message>
-        <location filename="../mouse/CMouseNormal.cpp" line="42"/>
+        <location filename="../mouse/CMouseNormal.cpp" line="40"/>
         <source>Add Track</source>
         <translation>Přidat stopu</translation>
     </message>
     <message>
-        <location filename="../mouse/CMouseNormal.cpp" line="43"/>
+        <location filename="../mouse/CMouseNormal.cpp" line="41"/>
         <source>Add Route</source>
         <translation>Přidat cestu</translation>
     </message>
     <message>
-        <location filename="../mouse/CMouseNormal.cpp" line="44"/>
+        <location filename="../mouse/CMouseNormal.cpp" line="42"/>
         <source>Add Area</source>
         <translation>Přidat oblast</translation>
     </message>
     <message>
-        <location filename="../mouse/CMouseNormal.cpp" line="47"/>
+        <location filename="../mouse/CMouseNormal.cpp" line="45"/>
         <source>Copy position</source>
         <translation>Kopírovat polohu</translation>
     </message>
     <message>
-        <location filename="../mouse/CMouseNormal.cpp" line="48"/>
+        <location filename="../mouse/CMouseNormal.cpp" line="46"/>
         <source>Copy position (Grid)</source>
         <translation>Kopírovat polohu (mřížka)</translation>
     </message>
@@ -1764,7 +1796,7 @@ Neznámá stavba.</translation>
 <context>
     <name>CMousePrint</name>
     <message>
-        <location filename="../mouse/CMousePrint.cpp" line="38"/>
+        <location filename="../mouse/CMousePrint.cpp" line="30"/>
         <source><b>Save(Print) Map</b><br/>Select a rectangular area on the map. Use the left mouse button and move the mouse. Abort with a right click. Adjust the selection by point-click-move on the corners. Save/print the selection by a left click on the disc/printer icon in the center of the selection.</source>
         <translation><b>Uložit mapu (vytisknout)</b><br/>Vyberte na mapě obdélníkovou oblast. použijte levé tlačítko myši a pohybujte myší. Zrušte výběr klepnutím pravým tlačítkem myši. Výběr lze upravit posunutím rohových bodů myší. Uložení/Vytištění následuje po klepnutí levým tlačítkem myši na odpovídající symbol uprostřed výběru.</translation>
     </message>
@@ -1772,7 +1804,7 @@ Neznámá stavba.</translation>
 <context>
     <name>CMouseRangeTrk</name>
     <message>
-        <location filename="../mouse/CMouseRangeTrk.cpp" line="44"/>
+        <location filename="../mouse/CMouseRangeTrk.cpp" line="42"/>
         <source><b>Select Range</b><br/>Select first track point. And then a second one.<br/></source>
         <translation><b>Vybrat rozsah</b><br/>Vyberte první bod stopy. A potom druhý.<br/></translation>
     </message>
@@ -1780,7 +1812,7 @@ Neznámá stavba.</translation>
 <context>
     <name>CPhotoAlbum</name>
     <message>
-        <location filename="../helpers/CPhotoAlbum.cpp" line="72"/>
+        <location filename="../widgets/CPhotoAlbum.cpp" line="73"/>
         <source>Select images...</source>
         <translation>Vybrat obrázky...</translation>
     </message>
@@ -1788,39 +1820,35 @@ Neznámá stavba.</translation>
 <context>
     <name>CPlotDistance</name>
     <message>
-        <location filename="../plot/CPlotDistance.cpp" line="58"/>
         <source>distance [%1]</source>
-        <translation>Vzdálenost [%1]</translation>
+        <translation type="vanished">Vzdálenost [%1]</translation>
     </message>
     <message>
-        <location filename="../plot/CPlotDistance.cpp" line="62"/>
         <source>time</source>
-        <translation>Čas</translation>
+        <translation type="vanished">Čas</translation>
     </message>
     <message>
         <source>time [h]</source>
         <translation type="obsolete">Čas [h]</translation>
     </message>
     <message>
-        <location filename="../plot/CPlotDistance.cpp" line="64"/>
         <source>distance. [%1]</source>
-        <translation>Vzdálenost [%1]</translation>
+        <translation type="vanished">Vzdálenost [%1]</translation>
     </message>
 </context>
 <context>
     <name>CPlotProfile</name>
     <message>
-        <location filename="../plot/CPlotProfile.cpp" line="65"/>
+        <location filename="../plot/CPlotProfile.cpp" line="63"/>
         <source>distance [%1]</source>
         <translation>Vzdálenost [%1]</translation>
     </message>
     <message>
-        <location filename="../plot/CPlotProfile.cpp" line="69"/>
         <source>time [h]</source>
-        <translation>Čas [h]</translation>
+        <translation type="vanished">Čas [h]</translation>
     </message>
     <message>
-        <location filename="../plot/CPlotProfile.cpp" line="71"/>
+        <location filename="../plot/CPlotProfile.cpp" line="64"/>
         <source>alt. [%1]</source>
         <translation>Výška [%1]</translation>
     </message>
@@ -1828,45 +1856,42 @@ Neznámá stavba.</translation>
 <context>
     <name>CPlotSpeed</name>
     <message>
-        <location filename="../plot/CPlotSpeed.cpp" line="57"/>
         <source>distance [%1]</source>
-        <translation>Vzdálenost [%1]</translation>
+        <translation type="vanished">Vzdálenost [%1]</translation>
     </message>
     <message>
-        <location filename="../plot/CPlotSpeed.cpp" line="61"/>
         <source>time [h]</source>
-        <translation>Čas [h]</translation>
+        <translation type="vanished">Čas [h]</translation>
     </message>
     <message>
-        <location filename="../plot/CPlotSpeed.cpp" line="63"/>
         <source>speed. [%1]</source>
-        <translation>Rychlost [%1]</translation>
+        <translation type="vanished">Rychlost [%1]</translation>
     </message>
 </context>
 <context>
     <name>CPrintDialog</name>
     <message>
-        <location filename="../print/CPrintDialog.cpp" line="68"/>
+        <location filename="../print/CPrintDialog.cpp" line="67"/>
         <source>Print Map...</source>
         <translation>Tisk mapy...</translation>
     </message>
     <message>
-        <location filename="../print/CPrintDialog.cpp" line="75"/>
+        <location filename="../print/CPrintDialog.cpp" line="74"/>
         <source>Save Map as Image...</source>
         <translation>Uložit mapu jako obrázek...</translation>
     </message>
     <message>
-        <location filename="../print/CPrintDialog.cpp" line="95"/>
+        <location filename="../print/CPrintDialog.cpp" line="94"/>
         <source>Printer Properties...</source>
         <translation>Vlastnosti tiskárny...</translation>
     </message>
     <message>
-        <location filename="../print/CPrintDialog.cpp" line="170"/>
+        <location filename="../print/CPrintDialog.cpp" line="169"/>
         <source>Pages: %1 x %2</source>
         <translation>Strany: %1 x %2</translation>
     </message>
     <message>
-        <location filename="../print/CPrintDialog.cpp" line="171"/>
+        <location filename="../print/CPrintDialog.cpp" line="170"/>
         <source>Zoom with mouse wheel on map below to change resolution:
 
 %1x%2 pixel
@@ -1879,12 +1904,12 @@ x: %3 m/px
 y: %4 m/px</translation>
     </message>
     <message>
-        <location filename="../print/CPrintDialog.cpp" line="217"/>
+        <location filename="../print/CPrintDialog.cpp" line="216"/>
         <source>Printing pages.</source>
         <translation>Probíhá tisk stran.</translation>
     </message>
     <message>
-        <location filename="../print/CPrintDialog.cpp" line="259"/>
+        <location filename="../print/CPrintDialog.cpp" line="260"/>
         <source>Save map...</source>
         <translation>Uložit mapu...</translation>
     </message>
@@ -1905,22 +1930,22 @@ y: %4 m/px</translation>
 <context>
     <name>CProjWizard</name>
     <message>
-        <location filename="../grid/CProjWizard.cpp" line="57"/>
+        <location filename="../grid/CProjWizard.cpp" line="62"/>
         <source>north</source>
         <translation>Sever</translation>
     </message>
     <message>
-        <location filename="../grid/CProjWizard.cpp" line="58"/>
+        <location filename="../grid/CProjWizard.cpp" line="63"/>
         <source>south</source>
         <translation>Jih</translation>
     </message>
     <message>
-        <location filename="../grid/CProjWizard.cpp" line="215"/>
+        <location filename="../grid/CProjWizard.cpp" line="221"/>
         <source>Error...</source>
         <translation>Chyba...</translation>
     </message>
     <message>
-        <location filename="../grid/CProjWizard.cpp" line="215"/>
+        <location filename="../grid/CProjWizard.cpp" line="221"/>
         <source>The value
 '%1'
 is not a valid coordinate system definition:
@@ -2088,7 +2113,7 @@ není platným vymezením soustavy souřadnic
         <translation>Odstranit stávající soubor %1</translation>
     </message>
     <message>
-        <location filename="../qlgt/CQmsDb.cpp" line="162"/>
+        <location filename="../qlgt/CQmsDb.cpp" line="163"/>
         <source>%1: drop item with QLGT DB ID %2</source>
         <translation>%1: Zahodit prvek s ID DB QLGT %2</translation>
     </message>
@@ -2220,224 +2245,224 @@ není platným vymezením soustavy souřadnic
 <context>
     <name>CRouterRoutino</name>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="89"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="78"/>
         <source>Foot</source>
         <translation>Chodec</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="90"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="79"/>
         <source>Horse</source>
         <translation>Jezdec</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="91"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="80"/>
         <source>Wheelchair</source>
         <translation>Invalidní vozík</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="92"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="81"/>
         <source>Bicycle</source>
         <translation>Jízdní kolo</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="93"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="82"/>
         <source>Moped</source>
         <translation>Moped</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="94"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="83"/>
         <source>Motorcycle</source>
         <translation>Motorka</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="95"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="84"/>
         <source>Motorcar</source>
         <translation>Automobil</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="96"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="85"/>
         <source>Goods</source>
         <translation>Nákladní automobil</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="63"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="59"/>
         <source>Shortest</source>
         <translation>Nejkratší</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="59"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="55"/>
         <source>Found Routino with a wrong version. Expected %1 found %2</source>
         <translation>Nalezeno Routino s nesprávnou verzí. Očekávána %1, nalezena %2</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="64"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="60"/>
         <source>Quickest</source>
         <translation>Nejrychlejší</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="98"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="87"/>
         <source>English</source>
         <translation>Anglický</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="99"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="88"/>
         <source>German</source>
         <translation>Německý</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="100"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="89"/>
         <source>French</source>
         <translation>Francouzský</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="101"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="90"/>
         <source>Hungarian</source>
         <translation>Maďarský</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="102"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="91"/>
         <source>Dutch</source>
         <translation>Holandský</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="103"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="92"/>
         <source>Russian</source>
         <translation>Ruský</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="104"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="93"/>
         <source>Polish</source>
         <translation>Polský</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="139"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="128"/>
         <source>A function was called without the database variable set.</source>
         <translation>Byla zavolána funkce, aniž by byla nastavena proměnná databáze.</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="142"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="131"/>
         <source>A function was called without the profile variable set.</source>
         <translation>Byla zavolána funkce, aniž by byla nastavena proměnná profilu.</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="145"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="134"/>
         <source>A function was called without the translation variable set.</source>
         <translation>Byla zavolána funkce, aniž by byla nastavena proměnná jazyka.</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="148"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="137"/>
         <source>The specified database to load did not exist.</source>
         <translation>Databáze zadaná k nahrání neexistuje.</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="151"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="140"/>
         <source>The specified database could not be loaded.</source>
         <translation>Zadanou databázi se nepodařilo nahrát.</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="154"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="143"/>
         <source>The specified profiles XML file did not exist.</source>
         <translation>Zadaný soubor s profilem XML neexistuje.</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="157"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="146"/>
         <source>The specified profiles XML file could not be loaded.</source>
         <translation>Zadaný soubor s profilem XML se nepodařilo nahrát.</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="160"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="149"/>
         <source>The specified translations XML file did not exist.</source>
         <translation>Zadaný soubor s jazykem XML neexistuje.</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="163"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="152"/>
         <source>The specified translations XML file could not be loaded.</source>
         <translation>Zadaný soubor s jazykem XML se nepodařilo nahrát.</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="166"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="155"/>
         <source>The requested profile name does not exist in the loaded XML file.</source>
         <translation>Požadovaný název profilu v nahraném souboru XML není.</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="169"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="158"/>
         <source>The requested translation language does not exist in the loaded XML file.</source>
         <translation>Požadovaný jazyk v nahraném souboru XML není.</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="172"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="161"/>
         <source>There is no highway near the coordinates to place a waypoint.</source>
         <translation>V blízkosti souřadnick umístění cestovního bodu není žádná silnice.</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="175"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="164"/>
         <source>The profile and database do not work together.</source>
         <translation>Profil a databáze dohromady nepracují.</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="178"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="167"/>
         <source>The profile being used has not been validated.</source>
         <translation>Používaný profil nebyl schválen.</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="181"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="170"/>
         <source>The user specified profile contained invalid data.</source>
         <translation>Uživatelem stanovený profil obsahoval neplatná data.</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="184"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="173"/>
         <source>The routing options specified are not consistent with each other.</source>
         <translation>Zadané volby pro stanovení cesty si vzájemně neodpovídají.</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="187"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="176"/>
         <source>There is a mismatch between the library and caller API version.</source>
         <translation>Knihovna a verze API si vzájemně neodpovídají.</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="190"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="179"/>
         <source>Route calculation was aborted by user.</source>
         <translation>Výpočet cesty byl přerušen uživatelem.</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="196"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="185"/>
         <source>A route could not be found to waypoint %1.</source>
         <translation>Nepodařilo se najít žádnou cestu k cestovnímu bodu %1.</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="199"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="188"/>
         <source>Unknown error: %1</source>
         <translation>Neznámá chyba: %1</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="211"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="200"/>
         <source>profile "%1"</source>
         <translation>Profil "%1"</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="212"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="201"/>
         <source>, mode "%1"</source>
         <translation>, režim "%1"</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="59"/>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="249"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="55"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="238"/>
         <source>Warning...</source>
         <translation>Varování...</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="249"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="238"/>
         <source>%1: Due to limitations in the Windows POSIX API Routino can't handle files larger than 4GB.</source>
         <translation>%1: Kvůli omezením Windows POSIX API Routino nedokáže zpracovat soubory větší než 4 GB.</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="353"/>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="440"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="342"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="429"/>
         <source>Calculate route with %1</source>
         <translation>Spočítat cestu s %1</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="361"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="350"/>
         <source><br/>Calculation time: %1s</source>
         <translation><br/>Doba výpočtu: %1 s</translation>
     </message>
@@ -2475,22 +2500,22 @@ není platným vymezením soustavy souřadnic
 <context>
     <name>CRoutinoDatabaseBuilder</name>
     <message>
-        <location filename="../tool/CRoutinoDatabaseBuilder.cpp" line="38"/>
+        <location filename="../tool/CRoutinoDatabaseBuilder.cpp" line="32"/>
         <source>Create Routino Database</source>
         <translation>Vytvořit databázi Routino</translation>
     </message>
     <message>
-        <location filename="../tool/CRoutinoDatabaseBuilder.cpp" line="62"/>
+        <location filename="../tool/CRoutinoDatabaseBuilder.cpp" line="56"/>
         <source>Select files...</source>
         <translation>Vybrat soubory...</translation>
     </message>
     <message>
-        <location filename="../tool/CRoutinoDatabaseBuilder.cpp" line="86"/>
+        <location filename="../tool/CRoutinoDatabaseBuilder.cpp" line="80"/>
         <source>Select target path...</source>
         <translation>Vybrat cílovou cestu...</translation>
     </message>
     <message>
-        <location filename="../tool/CRoutinoDatabaseBuilder.cpp" line="147"/>
+        <location filename="../tool/CRoutinoDatabaseBuilder.cpp" line="141"/>
         <source>!!! done !!!
 </source>
         <translation>Hotovo!</translation>
@@ -2568,7 +2593,7 @@ není platným vymezením soustavy souřadnic
 <context>
     <name>CTextEditWidget</name>
     <message>
-        <location filename="../helpers/CTextEditWidget.cpp" line="73"/>
+        <location filename="../widgets/CTextEditWidget.cpp" line="73"/>
         <source>&Color...</source>
         <translation>B&arva...</translation>
     </message>
@@ -2581,121 +2606,149 @@ není platným vymezením soustavy souřadnic
         <translation>O programu...</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="49"/>
+        <location filename="../IAbout.ui" line="55"/>
         <source><b>QMapShack</b>, Version</source>
         <translation><b>QMapShack</b>, verze</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="56"/>
-        <location filename="../IAbout.ui" line="100"/>
-        <location filename="../IAbout.ui" line="114"/>
-        <location filename="../IAbout.ui" line="128"/>
-        <location filename="../IAbout.ui" line="142"/>
+        <location filename="../IAbout.ui" line="62"/>
+        <location filename="../IAbout.ui" line="106"/>
+        <location filename="../IAbout.ui" line="120"/>
+        <location filename="../IAbout.ui" line="134"/>
+        <location filename="../IAbout.ui" line="148"/>
         <source>TextLabel</source>
         <translation>Textový štítek</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="93"/>
+        <location filename="../IAbout.ui" line="99"/>
         <source>Qt</source>
         <translation>Qt</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="107"/>
+        <location filename="../IAbout.ui" line="113"/>
         <source>GDAL</source>
         <translation>GDAL</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="121"/>
+        <location filename="../IAbout.ui" line="127"/>
         <source>Proj4</source>
         <translation>Proj4</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="135"/>
+        <location filename="../IAbout.ui" line="141"/>
         <source>Routino</source>
         <translation>Routino</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="160"/>
+        <location filename="../IAbout.ui" line="166"/>
         <source>Rainer Unseld </source>
         <translation>Rainer Unseld</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="167"/>
+        <location filename="../IAbout.ui" line="173"/>
         <source>French</source>
         <translation>Francouzština</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="174"/>
+        <location filename="../IAbout.ui" line="180"/>
         <source>Czech</source>
         <translation>Čeština</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="181"/>
+        <location filename="../IAbout.ui" line="187"/>
         <source>Pavel Fric</source>
         <translation>Pavel Fric</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="188"/>
+        <location filename="../IAbout.ui" line="194"/>
         <source>German</source>
         <translation>Němčina</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="195"/>
+        <location filename="../IAbout.ui" line="201"/>
+        <source><b>Translation:</b></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../IAbout.ui" line="229"/>
+        <source>Dutch</source>
+        <translation type="unfinished">Holandský</translation>
+    </message>
+    <message>
+        <location filename="../IAbout.ui" line="236"/>
+        <source>Harrie Klomp</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../IAbout.ui" line="295"/>
+        <source><b>Binaries:</b></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../IAbout.ui" line="311"/>
+        <source><b>Contributors:</b></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../IAbout.ui" line="318"/>
+        <source>Christian Eichler (qms at christian-eichler.de)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <source>Translation:</source>
-        <translation>Překlad:</translation>
+        <translation type="vanished">Překlad:</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="202"/>
+        <location filename="../IAbout.ui" line="208"/>
         <source>Josef Latt</source>
         <translation>Josef Latt</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="209"/>
+        <location filename="../IAbout.ui" line="215"/>
         <source>Spanish</source>
         <translation>Španělština</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="216"/>
+        <location filename="../IAbout.ui" line="222"/>
         <source>Jose Luis Domingo Lopez</source>
         <translation>Jose Luis Domingo Lopez</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="234"/>
+        <location filename="../IAbout.ui" line="254"/>
         <source>Ivo Kronenberg</source>
         <translation>Ivo Kronenberg</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="241"/>
+        <location filename="../IAbout.ui" line="261"/>
         <source>Helmut Schmidt</source>
         <translation>Helmut Schmidt</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="248"/>
+        <location filename="../IAbout.ui" line="268"/>
         <source>Win64</source>
         <translation>Win64</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="255"/>
+        <location filename="../IAbout.ui" line="275"/>
         <source>OS X</source>
         <translation>OS X</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="262"/>
+        <location filename="../IAbout.ui" line="282"/>
         <source>...and thanks to all Linux binary maintainers for doing a great job. Special thanks to Dan Horák and Bas Couwenberg for showing presence on the mailing list to discuss distribution related topics.</source>
         <translation>... a poděkování všem tvůrcům spustitelných souborů pro Linux za jejich dobrou práci. Zvláštní poděkování Danovi Horákovi a Basi Couwenbergovi za účast v diskuzi v poštovním seznamu.</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="275"/>
         <source>Binaries:</source>
-        <translation>Spustitelné soubory:</translation>
+        <translation type="vanished">Spustitelné soubory:</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="291"/>
+        <location filename="../IAbout.ui" line="332"/>
         <source>This software is licensed under GPL3 or any later version</source>
         <translation>Tento program je licencován pod GPL3 nebo kteroukoli pozdější verzí</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="298"/>
+        <location filename="../IAbout.ui" line="339"/>
         <source>© 2014 Oliver Eichler (oliver.eichler at gmx.de)</source>
         <translation>© 2014 Oliver Eichler (oliver.eichler at gmx.de)</translation>
     </message>
@@ -2758,22 +2811,22 @@ není platným vymezením soustavy souřadnic
     <message>
         <location filename="../units/ICoordFormatSetup.ui" line="14"/>
         <source>Coordinate Format...</source>
-        <translation type="unfinished"></translation>
+        <translation>Formát souřadnic...</translation>
     </message>
     <message>
-        <location filename="../units/ICoordFormatSetup.ui" line="22"/>
+        <location filename="../units/ICoordFormatSetup.ui" line="36"/>
         <source>N48° 53.660 E013° 31.113</source>
-        <translation type="unfinished"></translation>
+        <translation>N48° 53.660 E013° 31.113</translation>
     </message>
     <message>
         <location filename="../units/ICoordFormatSetup.ui" line="29"/>
         <source>N48.8943° E013.51855°</source>
-        <translation type="unfinished"></translation>
+        <translation>N48.8943° E013.51855°</translation>
     </message>
     <message>
-        <location filename="../units/ICoordFormatSetup.ui" line="36"/>
+        <location filename="../units/ICoordFormatSetup.ui" line="22"/>
         <source>N48° 53' 39.6" E13° 31' 6.78"</source>
-        <translation type="unfinished"></translation>
+        <translation>N48° 53' 39.6" E13° 31' 6.78"</translation>
     </message>
 </context>
 <context>
@@ -2791,11 +2844,56 @@ není platným vymezením soustavy souřadnic
     </message>
 </context>
 <context>
+    <name>ICutTrk</name>
+    <message>
+        <location filename="../gis/trk/ICutTrk.ui" line="14"/>
+        <source>Cut Track</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/ICutTrk.ui" line="20"/>
+        <source>Delete first part of the track and keep second one</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/ICutTrk.ui" line="27"/>
+        <source>Keep both parts of the track</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/ICutTrk.ui" line="37"/>
+        <source>Keep first part of the track and delete second one</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/ICutTrk.ui" line="60"/>
+        <source>Check this to store the result into a new track. 
+
+If you keep both parts of the track you have to create new ones. 
+
+If you want to keep just one half you can simply remove the points, or check this to create a new track.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/ICutTrk.ui" line="67"/>
+        <source>Create a new track</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Create a clone</source>
+        <translation type="obsolete">Vytvořit klon</translation>
+    </message>
+</context>
+<context>
     <name>IDemPathSetup</name>
     <message>
-        <location filename="../dem/IDemPathSetup.ui" line="14"/>
         <source>Setup DEM file pathss</source>
-        <translation>Stanovit cesty k souborům DEM</translation>
+        <translation type="vanished">Stanovit cesty k souborům DEM</translation>
+    </message>
+    <message>
+        <location filename="../dem/IDemPathSetup.ui" line="14"/>
+        <source>Setup DEM file paths</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../dem/IDemPathSetup.ui" line="31"/>
@@ -2853,17 +2951,29 @@ není platným vymezením soustavy souřadnic
         <translation>Sklon</translation>
     </message>
     <message>
-        <location filename="../dem/IDemPropSetup.ui" line="186"/>
-        <location filename="../dem/IDemPropSetup.ui" line="193"/>
-        <location filename="../dem/IDemPropSetup.ui" line="200"/>
-        <location filename="../dem/IDemPropSetup.ui" line="207"/>
         <location filename="../dem/IDemPropSetup.ui" line="226"/>
-        <location filename="../dem/IDemPropSetup.ui" line="245"/>
-        <location filename="../dem/IDemPropSetup.ui" line="264"/>
-        <location filename="../dem/IDemPropSetup.ui" line="271"/>
-        <location filename="../dem/IDemPropSetup.ui" line="278"/>
-        <location filename="../dem/IDemPropSetup.ui" line="297"/>
-        <location filename="../dem/IDemPropSetup.ui" line="304"/>
+        <location filename="../dem/IDemPropSetup.ui" line="326"/>
+        <location filename="../dem/IDemPropSetup.ui" line="410"/>
+        <location filename="../dem/IDemPropSetup.ui" line="494"/>
+        <location filename="../dem/IDemPropSetup.ui" line="578"/>
+        <source>°</source>
+        <translation type="unfinished">°</translation>
+    </message>
+    <message>
+        <location filename="../dem/IDemPropSetup.ui" line="229"/>
+        <location filename="../dem/IDemPropSetup.ui" line="329"/>
+        <location filename="../dem/IDemPropSetup.ui" line="413"/>
+        <location filename="../dem/IDemPropSetup.ui" line="497"/>
+        <location filename="../dem/IDemPropSetup.ui" line="581"/>
+        <source>> </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../dem/IDemPropSetup.ui" line="251"/>
+        <location filename="../dem/IDemPropSetup.ui" line="270"/>
+        <location filename="../dem/IDemPropSetup.ui" line="354"/>
+        <location filename="../dem/IDemPropSetup.ui" line="438"/>
+        <location filename="../dem/IDemPropSetup.ui" line="522"/>
         <source>TextLabel</source>
         <translation>Textový štítek</translation>
     </message>
@@ -3116,7 +3226,7 @@ není platným vymezením soustavy souřadnic
         <translation>...</translation>
     </message>
     <message>
-        <location filename="../gis/rte/IDetailsRte.ui" line="173"/>
+        <location filename="../gis/rte/IDetailsRte.ui" line="176"/>
         <source>Hist.</source>
         <translation>Hist.</translation>
     </message>
@@ -3138,118 +3248,165 @@ není platným vymezením soustavy souřadnic
 -</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="203"/>
         <source>Graph Control</source>
-        <translation>Ovládání grafu</translation>
+        <translation type="vanished">Ovládání grafu</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="224"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="533"/>
         <source>Profile</source>
         <translation>Profil</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="231"/>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="545"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="702"/>
         <source>Speed</source>
         <translation>Rychlost</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="238"/>
         <source>Progress</source>
-        <translation>Postup</translation>
+        <translation type="vanished">Postup</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="248"/>
         <source>Track</source>
-        <translation>Stopa</translation>
+        <translation type="vanished">Stopa</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="274"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="163"/>
         <source>Toggle read only mode. You have to open the lock to edit the item.</source>
         <translation>Přepnout režim pouze pro čtení. Musíte otevřít zámek, abyste mohl prvek upravovat.</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="277"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="166"/>
         <source>...</source>
         <translation>...</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="307"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="202"/>
         <source><html><head/><body><p>The waypoint was imported to QMapShack and was changed. It does not show the original data anymore. Please see history for changes. </p></body></html></source>
         <translation><html><head/><body><p>Cestovní bod byl zaveden do QMapShacku a byl změněn. Už neukazuje původní data. Prohlédněte si, prosím, historii kvůli změnám. </p></body></html></translation>
     </message>
     <message>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="298"/>
+        <source>Style</source>
+        <translation type="unfinished">Styl</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="340"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="434"/>
+        <source>from Data</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="353"/>
+        <source>Source</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="376"/>
+        <source>Maximum</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <location filename="../gis/trk/IDetailsTrk.ui" line="405"/>
+        <source>Minimum</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="447"/>
+        <source>Solid color</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="495"/>
+        <source>Graphs</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="540"/>
+        <source>Graph 3</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="547"/>
+        <source>Graph 2</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="554"/>
+        <source>Graph 1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="562"/>
         <source>Activity</source>
         <translation>Činnost</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="450"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="607"/>
         <source>To differentiate the track statistics select an activity from the list for the complete track. Or select a part of the track to assign an activity.</source>
         <translation>K rozlišení statistik stop zvolte v seznamu činnost pro celou stopu. Nebo vyberte část stopy a přiřaďte jí činnost.</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="477"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="634"/>
         <source>Points</source>
         <translation>Body</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="525"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="682"/>
         <source>Time</source>
         <translation>Čas</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="530"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="687"/>
         <source>Ele.</source>
         <translation>Výška</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="535"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="692"/>
         <source>Delta</source>
         <translation>Rozdíl</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="540"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="697"/>
         <source>Dist.</source>
         <translation>Vzdál.</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="550"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="707"/>
         <source>Slope</source>
         <translation>Sklon</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="555"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="712"/>
         <source>Ascend</source>
         <translation>Stoupání</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="560"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="717"/>
         <source>Descend</source>
         <translation>Klesání</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="565"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="722"/>
         <source>Position</source>
         <translation>Poloha</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="377"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="266"/>
         <source>Info</source>
         <translation>Informace</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="335"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="227"/>
         <source>-</source>
         <translation>-</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="574"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="731"/>
         <source>Filter</source>
         <translation>Filtr</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="611"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="768"/>
         <source>Hist.</source>
         <translation>Historie</translation>
     </message>
@@ -3418,6 +3575,29 @@ není platným vymezením soustavy souřadnic
     </message>
 </context>
 <context>
+    <name>IFilterInvalid</name>
+    <message>
+        <location filename="../gis/trk/filter/IFilterInvalid.ui" line="14"/>
+        <source>Form</source>
+        <translation type="unfinished">Formulář</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/filter/IFilterInvalid.ui" line="41"/>
+        <source>Hide Invalid Points</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/filter/IFilterInvalid.ui" line="56"/>
+        <source>Hide points with invalid coordinates at the beginning of the track.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/filter/IFilterInvalid.ui" line="63"/>
+        <source>...</source>
+        <translation type="unfinished">...</translation>
+    </message>
+</context>
+<context>
     <name>IFilterMedian</name>
     <message>
         <location filename="../gis/trk/filter/IFilterMedian.ui" line="14"/>
@@ -4080,12 +4260,12 @@ není platným vymezením soustavy souřadnic
     <message>
         <location filename="../IMainWindow.ui" line="652"/>
         <source>Setup Coord. Format</source>
-        <translation type="unfinished"></translation>
+        <translation>Nastavit formát souřadnic</translation>
     </message>
     <message>
         <location filename="../IMainWindow.ui" line="655"/>
         <source>Change the format coordinates are displayed</source>
-        <translation type="unfinished"></translation>
+        <translation>Změnit formát, v němž jsou souřadnice zobrazeny</translation>
     </message>
     <message>
         <source>Setup Database</source>
@@ -4281,62 +4461,62 @@ Nechce se mi číst dokumentaci!</translation>
         <translation type="obsolete">Tímto budou všechny původní údaje nahrazeny jednoduchou čárou souřadnic. Všechna ostatní data budou trvale ztracena.</translation>
     </message>
     <message>
-        <location filename="../mouse/line/IMouseEditLine.cpp" line="253"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="255"/>
         <source><b>New Line</b><br/>Move the mouse and use the left mouse button to drop points. When done use the right mouse button to stop.<br/></source>
-        <translation type="unfinished"></translation>
+        <translation><b>Nová čára</b><br/>Posuňte ukazovátko myši a použijte levé tlačítko myši k upuštění bodů. Až to bude uděláno, použijte pravé tlačítko myši k zastavení.<br/></translation>
     </message>
     <message>
-        <location filename="../mouse/line/IMouseEditLine.cpp" line="293"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="302"/>
         <source><b>Delete Point</b><br/>Move the mouse close to a point and press the left button to delete it.<br/></source>
-        <translation type="unfinished"></translation>
+        <translation><b>Smazat bod</b><br/>Přesuňte ukazovátko myši blízko k bodu a stiskněte levé tlačítko myši pro jeho smazání.<br/></translation>
     </message>
     <message>
-        <location filename="../mouse/line/IMouseEditLine.cpp" line="302"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="311"/>
         <source><b>Select Range of Points</b><br/>Left click on first point to start selection. Left click second point to complete selection and choose from options. Use the right mouse button to cancel.<br/></source>
-        <translation type="unfinished"></translation>
+        <translation><b>Upravit rozsah bodů</b><br/>Klepněte levým tlačítkem myši na první bod pro započetí výběru. Klepněte levým tlačítkem myši na druhý bod pro dokončení výběru a vyberte z voleb. Použijte pravé tlačítko myši pro zrušení.<br/></translation>
     </message>
     <message>
-        <location filename="../mouse/line/IMouseEditLine.cpp" line="311"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="320"/>
         <source><b>Move Point</b><br/>Move the mouse close to a point and press the left button to make it stick to the cursor. Move the mouse to move the point. Drop the point by a left click. Use the right mouse button to cancel.<br/></source>
-        <translation type="unfinished"></translation>
+        <translation><b>Přesunout bod</b><br/>Přesuňte ukazovátko myši blízko k bodu a stiskněte levé tlačítko myši pro jeho držení v blízkosti ukazovátka. Posuňte myší pro přesunutí bodu. Upustěte bod klepnutím levým tlačítkem myši. Použijte pravé tlačítko myši pro zrušení.<br/></translation>
     </message>
     <message>
-        <location filename="../mouse/line/IMouseEditLine.cpp" line="320"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="329"/>
         <source><b>Add Point</b><br/>Move the mouse close to a line segment and press the left button to add a point. The point will stick to the cursor and you can move it.  Drop the point by a left click. Use the right mouse button to cancel.<br/></source>
-        <translation type="unfinished"></translation>
+        <translation><b>Přidat bod</b><br/>Přesuňte ukazovátko myši blízko k čáře a stiskněte levé tlačítko myši pro přidání bodu. Bod přilne k ukazovátku a vy jím budete moci pohnout. Bod upustěte klepnutím levým tlačítkem myši. Použijte pravé tlačítko myši pro zrušení.<br/></translation>
     </message>
     <message>
-        <location filename="../mouse/line/IMouseEditLine.cpp" line="329"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="338"/>
         <source><b>No Routing</b><br/>All points will be connected with a straight line.<br/></source>
         <translation><b>Žádné stanovení cesty</b><br/>Všechny body budou spojeny přímou čarou.<br/></translation>
     </message>
     <message>
-        <location filename="../mouse/line/IMouseEditLine.cpp" line="334"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="343"/>
         <source><b>Auto Routing</b><br/>The current router setup is used to derive a route between points. <b>Note:</b> The selected router must be able to route on-the-fly. Offline routers usually can do, online routers can't.<br/></source>
         <translation><b>Automatické stanovení cesty</b><br/>Nynější nastavení směrování je používáno k vytváření cesty mezi body. <b>Poznámka:</b> Vybraný směrovač musí být schopen rychle směrovat (za běhu). Směrovače nepřipojené k internetu toto obvykle dokáží, směrovače připojené k internetu to běžně neumí.<br/></translation>
     </message>
     <message>
-        <location filename="../mouse/line/IMouseEditLine.cpp" line="339"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="348"/>
         <source><b>Vector Routing</b><br/>Connect points with a line from a loaded vector map if possible.<br/></source>
         <translation><b>Vektorové stanovení cesty</b><br/>Spojuje body čárou z nahrané vektorové mapy, je-li to možné.<br/></translation>
     </message>
     <message>
-        <location filename="../mouse/line/IMouseEditLine.cpp" line="498"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="517"/>
         <source><b>%1 Metrics</b></source>
         <translation><b>%1 metrika</b></translation>
     </message>
     <message>
-        <location filename="../mouse/line/IMouseEditLine.cpp" line="501"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="520"/>
         <source>Distance:</source>
         <translation>Vzdálenost:</translation>
     </message>
     <message>
-        <location filename="../mouse/line/IMouseEditLine.cpp" line="503"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="522"/>
         <source>Ascend:</source>
         <translation>Stoupání:</translation>
     </message>
     <message>
-        <location filename="../mouse/line/IMouseEditLine.cpp" line="505"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="524"/>
         <source>Descend:</source>
         <translation>Klesání:</translation>
     </message>
@@ -4344,13 +4524,13 @@ Nechce se mi číst dokumentaci!</translation>
 <context>
     <name>IPhotoAlbum</name>
     <message>
-        <location filename="../helpers/IPhotoAlbum.ui" line="20"/>
+        <location filename="../widgets/IPhotoAlbum.ui" line="20"/>
         <source>Form</source>
         <translation>Formulář</translation>
     </message>
     <message>
-        <location filename="../helpers/IPhotoAlbum.ui" line="50"/>
-        <location filename="../helpers/IPhotoAlbum.ui" line="77"/>
+        <location filename="../widgets/IPhotoAlbum.ui" line="50"/>
+        <location filename="../widgets/IPhotoAlbum.ui" line="77"/>
         <source>...</source>
         <translation>...</translation>
     </message>
@@ -4358,27 +4538,27 @@ Nechce se mi číst dokumentaci!</translation>
 <context>
     <name>IPlot</name>
     <message>
-        <location filename="../plot/IPlot.cpp" line="110"/>
+        <location filename="../plot/IPlot.cpp" line="91"/>
         <source>Reset Zoom</source>
         <translation>Nastavit znovu zvětšení</translation>
     </message>
     <message>
-        <location filename="../plot/IPlot.cpp" line="111"/>
+        <location filename="../plot/IPlot.cpp" line="92"/>
         <source>Stop Range</source>
         <translation>Ukončit výběr oblasti</translation>
     </message>
     <message>
-        <location filename="../plot/IPlot.cpp" line="112"/>
+        <location filename="../plot/IPlot.cpp" line="93"/>
         <source>Save...</source>
         <translation>Uložit...</translation>
     </message>
     <message>
-        <location filename="../plot/IPlot.cpp" line="630"/>
+        <location filename="../plot/IPlot.cpp" line="613"/>
         <source>No or bad data.</source>
         <translation>Žádné nebo špatné údaje.</translation>
     </message>
     <message>
-        <location filename="../plot/IPlot.cpp" line="1215"/>
+        <location filename="../plot/IPlot.cpp" line="1200"/>
         <source>Select output file</source>
         <translation>Vybrat výstupní soubor</translation>
     </message>
@@ -4971,8 +5151,12 @@ nebo
     </message>
     <message>
         <location filename="../mouse/line/IScrOptRangeLine.ui" line="34"/>
+        <source><html><head/><body><p>Calculate a route between the first and last selected point.</p></body></html></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <source>Caclculate a route between the first and last selected point.</source>
-        <translation>Vypočítat cestu mezi prvním a posledním vybraným bodem.</translation>
+        <translation type="vanished">Vypočítat cestu mezi prvním a posledním vybraným bodem.</translation>
     </message>
 </context>
 <context>
@@ -5028,18 +5212,18 @@ nebo
         <translation type="obsolete"><html><head/><body><p>Zobrazit podrobnosti a upravit</p></body></html></translation>
     </message>
     <message>
-        <location filename="../gis/rte/IScrOptRte.ui" line="28"/>
-        <location filename="../gis/rte/IScrOptRte.ui" line="42"/>
-        <location filename="../gis/rte/IScrOptRte.ui" line="56"/>
-        <location filename="../gis/rte/IScrOptRte.ui" line="74"/>
-        <location filename="../gis/rte/IScrOptRte.ui" line="91"/>
-        <location filename="../gis/rte/IScrOptRte.ui" line="105"/>
-        <location filename="../gis/rte/IScrOptRte.ui" line="119"/>
+        <location filename="../gis/rte/IScrOptRte.ui" line="43"/>
+        <location filename="../gis/rte/IScrOptRte.ui" line="57"/>
+        <location filename="../gis/rte/IScrOptRte.ui" line="71"/>
+        <location filename="../gis/rte/IScrOptRte.ui" line="89"/>
+        <location filename="../gis/rte/IScrOptRte.ui" line="106"/>
+        <location filename="../gis/rte/IScrOptRte.ui" line="120"/>
+        <location filename="../gis/rte/IScrOptRte.ui" line="134"/>
         <source>...</source>
         <translation>...</translation>
     </message>
     <message>
-        <location filename="../gis/rte/IScrOptRte.ui" line="39"/>
+        <location filename="../gis/rte/IScrOptRte.ui" line="54"/>
         <source>Copy route into another project.</source>
         <translation>Kopírovat cestu do dalšího projektu.</translation>
     </message>
@@ -5048,32 +5232,32 @@ nebo
         <translation type="obsolete"><html><head/><body><p>Smazat</p></body></html></translation>
     </message>
     <message>
-        <location filename="../gis/rte/IScrOptRte.ui" line="25"/>
+        <location filename="../gis/rte/IScrOptRte.ui" line="40"/>
         <source>View details and edit.</source>
         <translation>Zobrazit podrobnosti a upravit.</translation>
     </message>
     <message>
-        <location filename="../gis/rte/IScrOptRte.ui" line="53"/>
+        <location filename="../gis/rte/IScrOptRte.ui" line="68"/>
         <source>Delete route from project.</source>
         <translation>Smazat cestu z projektu.</translation>
     </message>
     <message>
-        <location filename="../gis/rte/IScrOptRte.ui" line="88"/>
+        <location filename="../gis/rte/IScrOptRte.ui" line="103"/>
         <source>Calculate route.</source>
         <translation>Spočítat cestu.</translation>
     </message>
     <message>
-        <location filename="../gis/rte/IScrOptRte.ui" line="102"/>
+        <location filename="../gis/rte/IScrOptRte.ui" line="117"/>
         <source>Reset route calculation.</source>
         <translation>Vynulovat spočítání cesty.</translation>
     </message>
     <message>
-        <location filename="../gis/rte/IScrOptRte.ui" line="116"/>
+        <location filename="../gis/rte/IScrOptRte.ui" line="131"/>
         <source>Move route points.</source>
         <translation>Přesunout body cesty.</translation>
     </message>
     <message>
-        <location filename="../gis/rte/IScrOptRte.ui" line="145"/>
+        <location filename="../gis/rte/IScrOptRte.ui" line="160"/>
         <source>TextLabel</source>
         <translation>Textový štítek</translation>
     </message>
@@ -5104,9 +5288,8 @@ nebo
         <translation>Ukázat promítnutý profil a podrobné údaje o bodech.</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IScrOptTrk.ui" line="162"/>
         <source>Cut track at selected point into two tracks.</source>
-        <translation>Vyjmout stopu na vybraném bodu do dvou stop.</translation>
+        <translation type="vanished">Vyjmout stopu na vybraném bodu do dvou stop.</translation>
     </message>
     <message>
         <location filename="../gis/trk/IScrOptTrk.ui" line="120"/>
@@ -5139,6 +5322,16 @@ nebo
         <translation>Spojit stopy.</translation>
     </message>
     <message>
+        <location filename="../gis/trk/IScrOptTrk.ui" line="162"/>
+        <source>Cut track at selected point. You can use this to:
+
+* remove bad points at the start or end of the track
+* use the track parts to plan a new tour
+* cut a long track into stages
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <source><html><head/><body><p>View details &amp; Edit</p></body></html></source>
         <translation type="obsolete"><html><head/><body><p>Zobrazit podrobnosti a upravit</p></body></html></translation>
     </message>
@@ -5151,7 +5344,7 @@ nebo
         <location filename="../gis/trk/IScrOptTrk.ui" line="123"/>
         <location filename="../gis/trk/IScrOptTrk.ui" line="137"/>
         <location filename="../gis/trk/IScrOptTrk.ui" line="151"/>
-        <location filename="../gis/trk/IScrOptTrk.ui" line="165"/>
+        <location filename="../gis/trk/IScrOptTrk.ui" line="170"/>
         <source>...</source>
         <translation>...</translation>
     </message>
@@ -5160,7 +5353,7 @@ nebo
         <translation type="obsolete"><html><head/><body><p>Smazat</p></body></html></translation>
     </message>
     <message>
-        <location filename="../gis/trk/IScrOptTrk.ui" line="191"/>
+        <location filename="../gis/trk/IScrOptTrk.ui" line="196"/>
         <source>TextLabel</source>
         <translation>Textový štítek</translation>
     </message>
@@ -5301,7 +5494,7 @@ nebo
         <translation>Název klonu bude rozšířen o '_Klon'</translation>
     </message>
     <message>
-        <location filename="../helpers/ISelectCopyAction.ui" line="132"/>
+        <location filename="../helpers/ISelectCopyAction.ui" line="135"/>
         <source>And for all other items, too.</source>
         <translation>A také pro všechny další prvky.</translation>
     </message>
@@ -5572,144 +5765,144 @@ nebo
         <translation type="obsolete">Formulář</translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="14"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="14"/>
         <source>Edit text...</source>
         <translation>Upravit text...</translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="25"/>
-        <location filename="../helpers/ITextEditWidget.ui" line="38"/>
-        <location filename="../helpers/ITextEditWidget.ui" line="51"/>
-        <location filename="../helpers/ITextEditWidget.ui" line="64"/>
-        <location filename="../helpers/ITextEditWidget.ui" line="77"/>
-        <location filename="../helpers/ITextEditWidget.ui" line="97"/>
-        <location filename="../helpers/ITextEditWidget.ui" line="110"/>
-        <location filename="../helpers/ITextEditWidget.ui" line="123"/>
-        <location filename="../helpers/ITextEditWidget.ui" line="136"/>
-        <location filename="../helpers/ITextEditWidget.ui" line="169"/>
-        <location filename="../helpers/ITextEditWidget.ui" line="182"/>
-        <location filename="../helpers/ITextEditWidget.ui" line="195"/>
-        <location filename="../helpers/ITextEditWidget.ui" line="208"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="25"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="38"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="51"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="64"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="77"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="97"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="110"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="123"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="136"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="169"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="182"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="195"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="208"/>
         <source>...</source>
         <translation>...</translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="256"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="256"/>
         <source>Undo</source>
         <translation>Zpět</translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="259"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="259"/>
         <source>Ctrl+Z</source>
         <translation>Ctrl+Z</translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="268"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="268"/>
         <source>Redo</source>
         <translation>Znovu</translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="271"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="271"/>
         <source>Ctrl+Shift+Z</source>
         <translation>Ctrl+Shift+Z</translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="280"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="280"/>
         <source>Cut</source>
         <translation>Vyjmout</translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="283"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="283"/>
         <source>Ctrl+X</source>
         <translation>Ctrl+X</translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="292"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="292"/>
         <source>Copy</source>
         <translation>Kopírovat</translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="295"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="295"/>
         <source>Ctrl+C</source>
         <translation>Ctrl+C</translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="304"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="304"/>
         <source>Paste</source>
         <translation>Vložit</translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="307"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="307"/>
         <source>Ctrl+V</source>
         <translation>Ctrl+V</translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="319"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="319"/>
         <source>Align Left</source>
         <translation>Zarovnat vlevo</translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="322"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="322"/>
         <source>Ctrl+L</source>
         <translation>Ctrl+L</translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="334"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="334"/>
         <source>Align Right</source>
         <translation>Zarovnat vpravo</translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="337"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="337"/>
         <source>Ctrl+R</source>
         <translation>Ctrl+R</translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="349"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="349"/>
         <source>Align Center</source>
         <translation>Zarovnat na střed</translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="352"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="352"/>
         <source>Ctrl+E</source>
         <translation>Ctrl+E</translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="364"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="364"/>
         <source>Align Block</source>
         <translation>Zarovnat do bloku</translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="367"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="367"/>
         <source>Ctrl+J</source>
         <translation>Ctrl+J</translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="379"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="379"/>
         <source>Underline</source>
         <translation>Podtržení</translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="382"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="382"/>
         <source>Ctrl+U</source>
         <translation>Ctrl+U</translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="394"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="394"/>
         <source>Bold</source>
         <translation>Tučné</translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="397"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="397"/>
         <source>Ctrl+B</source>
         <translation>Ctrl+B</translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="409"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="409"/>
         <source>Italic</source>
         <translation>Kurzíva</translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="412"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="412"/>
         <source>Ctrl+I</source>
         <translation>Ctrl+I</translation>
     </message>
@@ -5755,7 +5948,36 @@ nebo
 <context>
     <name>IToolShell</name>
     <message>
-        <location filename="../tool/IToolShell.cpp" line="127"/>
+        <location filename="../tool/IToolShell.cpp" line="44"/>
+        <source>Execution of external program `%1` failed: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tool/IToolShell.cpp" line="48"/>
+        <source>Process cannot be started.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tool/IToolShell.cpp" line="49"/>
+        <source>Make sure the required packages are installed, `%1` exists and is executable.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tool/IToolShell.cpp" line="53"/>
+        <source>External process crashed.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tool/IToolShell.cpp" line="57"/>
+        <source>An unknown error occurred.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tool/IToolShell.cpp" line="148"/>
         <source>!!! failed !!!
 </source>
         <translation>Nepodařilo se!</translation>
@@ -5769,17 +5991,22 @@ nebo
         <translation>Nastavit jednotky...</translation>
     </message>
     <message>
-        <location filename="../units/IUnitsSetup.ui" line="22"/>
+        <location filename="../units/IUnitsSetup.ui" line="38"/>
         <source>Metric</source>
         <translation>Metrické</translation>
     </message>
     <message>
-        <location filename="../units/IUnitsSetup.ui" line="29"/>
+        <location filename="../units/IUnitsSetup.ui" line="47"/>
+        <source><b>Note:</b> For some GUI elements changing the units will not take effect until you restart QMapShack.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../units/IUnitsSetup.ui" line="31"/>
         <source>Imperial</source>
         <translation>Anglické</translation>
     </message>
     <message>
-        <location filename="../units/IUnitsSetup.ui" line="36"/>
+        <location filename="../units/IUnitsSetup.ui" line="24"/>
         <source>Nautic</source>
         <translation>Nautické</translation>
     </message>
@@ -5835,6 +6062,11 @@ line %2, column %3:
         <translation>Není souborem GPX: </translation>
     </message>
     <message>
+        <location filename="../gis/gpx/CGpxProject.cpp" line="410"/>
+        <source>Saving GIS data failed...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <source>
 Filename: %1</source>
         <translation type="obsolete">
@@ -5865,7 +6097,7 @@ Areas: %1</source>
 Oblasti: %1</translation>
     </message>
     <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="112"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="97"/>
         <source>Save project?</source>
         <translation>Uložit projekt?</translation>
     </message>
@@ -5874,7 +6106,7 @@ Oblasti: %1</translation>
         <translation type="obsolete">Projekt "%1" byl změněn. Uložit jej před zavřením?</translation>
     </message>
     <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="252"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="237"/>
         <source>%1: Correlate tracks and waypoints.</source>
         <translation>%1: Svázat stopy a cestovní body.</translation>
     </message>
@@ -5887,87 +6119,91 @@ Oblasti: %1</translation>
         <translation type="obsolete">Trvalo to moc dlouho? Chcete svázání stop a cestovních bodů pro tento projekt (%1) přeskočit i v budoucnu?</translation>
     </message>
     <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="112"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="97"/>
         <source><h3>%1</h3>The project was changed. Save before closing it?</source>
         <translation><h3>%1</h3>Projekt byl změněn. Uložit jej před zavřením?</translation>
     </message>
     <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="262"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="247"/>
         <source><h3>%1</h3>Did that take too long for you? Do you want to skip correlation of tracks and waypoints for this project in the future?</source>
         <translation><h3>%1</h3>Trvalo to moc dlouho? Chcete svázání stop a cestovních bodů pro tento projekt přeskočit i v budoucnu?</translation>
     </message>
     <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="263"/>
         <source>Cancelled correlation...</source>
-        <translation>Svázání zrušeno...</translation>
+        <translation type="vanished">Svázání zrušeno...</translation>
     </message>
     <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="341"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="248"/>
+        <source>Canceled correlation...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/prj/IGisProject.cpp" line="326"/>
         <source><br/>
 Filename: %1</source>
         <translation><br/>
 Název souboru: %1</translation>
     </message>
     <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="346"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="331"/>
         <source>Waypoints: %1</source>
         <translation>Cestovní body: %1</translation>
     </message>
     <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="350"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="335"/>
         <source>Tracks: %1</source>
         <translation>Stopy: %1</translation>
     </message>
     <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="354"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="339"/>
         <source>Routes: %1</source>
         <translation>Cesty: %1</translation>
     </message>
     <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="358"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="343"/>
         <source>Areas: %1</source>
         <translation>Oblasti: %1</translation>
     </message>
     <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="438"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="423"/>
         <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>
     <message>
-        <location filename="../gis/CGisListDB.cpp" line="437"/>
+        <location filename="../gis/CGisListDB.cpp" line="436"/>
         <source>Are you sure you want to delete '%1' from folder '%2'?</source>
         <translation>Jste si jistý, že chcete smazat '%1' ze složky '%2'?</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListDB.cpp" line="438"/>
-        <location filename="../gis/prj/IGisProject.cpp" line="439"/>
+        <location filename="../gis/CGisListDB.cpp" line="437"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="424"/>
         <source>Delete...</source>
         <translation>Smazat...</translation>
     </message>
     <message>
         <location filename="../gis/gpx/CGpxProject.cpp" line="98"/>
         <location filename="../gis/qms/CQmsProject.cpp" line="48"/>
-        <location filename="../gis/qms/CQmsProject.cpp" line="145"/>
+        <location filename="../gis/qms/CQmsProject.cpp" line="144"/>
         <source>Failed to open...</source>
         <translation>Nepodařilo se otevřít...</translation>
     </message>
     <message>
         <location filename="../gis/gpx/CGpxProject.cpp" line="98"/>
         <location filename="../gis/qms/CQmsProject.cpp" line="48"/>
-        <location filename="../gis/qms/CQmsProject.cpp" line="145"/>
+        <location filename="../gis/qms/CQmsProject.cpp" line="144"/>
         <source>Failed to open %1</source>
         <translation>Nepodařilo se otevřít %1</translation>
     </message>
     <message>
-        <location filename="../gis/db/CDBProject.cpp" line="151"/>
-        <location filename="../gis/gpx/CGpxProject.cpp" line="223"/>
+        <location filename="../gis/db/CDBProject.cpp" line="158"/>
+        <location filename="../gis/gpx/CGpxProject.cpp" line="222"/>
         <location filename="../gis/qms/CQmsProject.cpp" line="95"/>
         <location filename="../gis/tnv/CTwoNavProject.cpp" line="159"/>
         <source>Save GIS data to...</source>
         <translation>Uložit data GIS do...</translation>
     </message>
     <message>
-        <location filename="../gis/db/CDBProject.cpp" line="255"/>
+        <location filename="../gis/db/CDBProject.cpp" line="262"/>
         <source>Save ...</source>
         <translation>Uložit...</translation>
     </message>
@@ -5976,32 +6212,31 @@ Název souboru: %1</translation>
         <translation type="obsolete">Zrušit ukládání</translation>
     </message>
     <message>
-        <location filename="../gis/gpx/CGpxProject.cpp" line="298"/>
+        <location filename="../gis/gpx/CGpxProject.cpp" line="286"/>
         <source>File exists ...</source>
         <translation>Soubor existuje...</translation>
     </message>
     <message>
-        <location filename="../gis/gpx/CGpxProject.cpp" line="299"/>
+        <location filename="../gis/gpx/CGpxProject.cpp" line="287"/>
         <source>The file exists and it has not been created by QMapShack. If you press 'yes' all data in this file will be lost. Even if this file contains GPX data and has been loaded by QMapShack, QMapShack might not be able to load and store all elements of this file.  Those elements will be lost. I recommend to use another file. <b>Do you really want to overwrite the file?</b></source>
         <translation>Soubor existuje a nebyl vytvořen programem QMapShack. Pokud stisknete Ano, budou všechna data v tomto souboru ztracena. I když by tento soubor obsahoval data GPX a byl nahrán programem QMapShack, QMapShack nemusí být schopen nahrát a uložit všechny prvky tohoto souboru.  Tyto prvky budou ztraceny. Doporučuje se použít jiný soubor. <b>Opravdu chcete soubor přepsat?</b></translation>
     </message>
     <message>
-        <location filename="../gis/gpx/CGpxProject.cpp" line="421"/>
         <source>Saveing GIS data failed...</source>
-        <translation>Nepodařilo se uložit data GIS...</translation>
+        <translation type="vanished">Nepodařilo se uložit data GIS...</translation>
     </message>
     <message>
-        <location filename="../gis/gpx/CGpxProject.cpp" line="407"/>
+        <location filename="../gis/gpx/CGpxProject.cpp" line="395"/>
         <source>Failed to create file '%1'</source>
         <translation>Nepodařilo se vytvořit soubor '%1'</translation>
     </message>
     <message>
-        <location filename="../gis/gpx/CGpxProject.cpp" line="416"/>
+        <location filename="../gis/gpx/CGpxProject.cpp" line="405"/>
         <source>Failed to write file '%1'</source>
         <translation>Nepodařilo se zapsat soubor '%1'</translation>
     </message>
     <message>
-        <location filename="../gis/IGisItem.cpp" line="327"/>
+        <location filename="../gis/IGisItem.cpp" line="345"/>
         <source>Initial version.</source>
         <translation>Počáteční verze.</translation>
     </message>
@@ -6010,159 +6245,174 @@ Název souboru: %1</translation>
         <translation type="obsolete">Tento prvek je pravděpodobně pouze pro čtení, protože nebyl vytvořen v programu QMapShack. Obvykle nemáte zájem měnit zavedená data. Ale pokud si myslíte, že je to tentokrát na místě, stiskněte OK.</translation>
     </message>
     <message>
-        <location filename="../gis/IGisItem.cpp" line="436"/>
+        <location filename="../gis/IGisItem.cpp" line="453"/>
+        <source><h3>%1</h3> This element is probably read-only because it was not created within QMapShack. Usually you should not want to change imported data. But if you think that is ok press 'Ok'.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/IGisItem.cpp" line="454"/>
         <source>Read Only Mode...</source>
         <translation>Režim pouze pro čtení...</translation>
     </message>
     <message>
-        <location filename="../gis/IGisItem.cpp" line="667"/>
+        <location filename="../gis/IGisItem.cpp" line="615"/>
         <source><h4>Comment:</h4></source>
         <translation><h4>Poznámka:</h4></translation>
     </message>
     <message>
-        <location filename="../gis/IGisItem.cpp" line="670"/>
+        <location filename="../gis/IGisItem.cpp" line="618"/>
         <source><p>--- no comment ---</p></source>
         <translation><p>--- žádná poznámka ---</p></translation>
     </message>
     <message>
-        <location filename="../gis/IGisItem.cpp" line="653"/>
-        <location filename="../gis/IGisItem.cpp" line="712"/>
+        <location filename="../gis/IGisItem.cpp" line="601"/>
+        <location filename="../gis/IGisItem.cpp" line="660"/>
         <source><h4>Description:</h4></source>
         <translation><h4>Popis:</h4></translation>
     </message>
     <message>
-        <location filename="../gis/IGisItem.cpp" line="41"/>
+        <location filename="../gis/IGisItem.cpp" line="42"/>
         <source>[no name]</source>
         <translation>[žádný název]</translation>
     </message>
     <message>
-        <location filename="../gis/IGisItem.cpp" line="435"/>
         <source><h3>%1</h3> This element is probably read-only because it was not created within QMapShack. Usually you should not want to change imported data. But if you think that is ok press'Ok'.</source>
-        <translation><h3>%1</h3> Tento prvek je pravděpodobně pouze pro čtení, protože nebyl vytvořen v programu QMapShack. Obvykle nemáte zájem měnit zavedená data. Ale pokud si myslíte, že je to tentokrát na místě, stiskněte OK.</translation>
+        <translation type="vanished"><h3>%1</h3> Tento prvek je pravděpodobně pouze pro čtení, protože nebyl vytvořen v programu QMapShack. Obvykle nemáte zájem měnit zavedená data. Ale pokud si myslíte, že je to tentokrát na místě, stiskněte OK.</translation>
     </message>
     <message>
-        <location filename="../gis/IGisItem.cpp" line="656"/>
-        <location filename="../gis/IGisItem.cpp" line="715"/>
+        <location filename="../gis/IGisItem.cpp" line="604"/>
+        <location filename="../gis/IGisItem.cpp" line="663"/>
         <source><p>--- no description ---</p></source>
         <translation><p>--- žádný popis ---</p></translation>
     </message>
     <message>
-        <location filename="../gis/IGisItem.cpp" line="681"/>
-        <location filename="../gis/IGisItem.cpp" line="726"/>
+        <location filename="../gis/IGisItem.cpp" line="629"/>
+        <location filename="../gis/IGisItem.cpp" line="674"/>
         <source><h4>Links:</h4></source>
         <translation><h4>Odkazy:</h4></translation>
     </message>
     <message>
-        <location filename="../gis/IGisItem.cpp" line="684"/>
-        <location filename="../gis/IGisItem.cpp" line="729"/>
+        <location filename="../gis/IGisItem.cpp" line="632"/>
+        <location filename="../gis/IGisItem.cpp" line="677"/>
         <source><p>--- no links ---</p></source>
         <translation><p>--- žádné odkazy ---</p></translation>
     </message>
     <message>
-        <location filename="../gis/rte/CGisItemRte.cpp" line="286"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="464"/>
+        <location filename="../gis/rte/CGisItemRte.cpp" line="262"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="371"/>
         <source>Length: %1 %2</source>
         <translation>Délka: %1 %2</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="471"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="378"/>
         <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="479"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="386"/>
         <source>Time: %1</source>
         <translation>Čas: %1</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="482"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="492"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="389"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="399"/>
         <source>, Speed: %1 %2</source>
         <translation>, Rychlost: %1 %2</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="489"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="396"/>
         <source>Moving: %1</source>
         <translation>Pohyb: %1</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="498"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="405"/>
         <source>Start: %1</source>
         <translation>Začátek: %1</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="503"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="410"/>
         <source>End: %1</source>
         <translation>Konec: %1</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="507"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="414"/>
         <source>Points: %1 (%2)</source>
         <translation>Body: %1 (%2)</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="625"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="523"/>
         <source>Ele.: %1 %2</source>
         <translation>Výška: %1 %2</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="628"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="526"/>
         <source> slope: %1%3 (%2%)</source>
         <translation> sklon: %1%3 (%2%)</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="707"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="559"/>
+        <source>... and %1 tags not displayed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="625"/>
         <source>Ascend: %1%2</source>
         <translation>Stoupání: %1%2</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="712"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="729"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="630"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="647"/>
         <source>, %1%2</source>
         <translation>, %1%2</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="717"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="635"/>
         <source>Ascend: -</source>
         <translation>Stoupání: -</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="724"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="642"/>
         <source> Descend: %1%2</source>
         <translation> Klesání: %1%2</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="734"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="652"/>
         <source>Descend: -</source>
         <translation>Klesání: -</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="740"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="658"/>
         <source>Dist.: %1%2</source>
         <translation>Vzdál.: %1%2</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="745"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="663"/>
         <source> Time: %1%2</source>
         <translation> Čas: %1%2</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1432"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1307"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1331"/>
+        <source>Permanently removed points %1..%2</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1513"/>
         <source>Hide points.</source>
         <translation>Skrýt body.</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1472"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1553"/>
         <source>Show points.</source>
         <translation>Ukázat body.</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1868"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="2088"/>
         <source>Changed activity to '%1' for complete track.</source>
         <translation>Činnost byla pro celou stopu změněna na '%1'.</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1942"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="2163"/>
         <source>Changed activity to '%1' for range(%2..%3).</source>
         <translation>Činnost byla změněna pro oblast (%2..%3) na '%1'.</translation>
     </message>
@@ -6171,37 +6421,37 @@ Název souboru: %1</translation>
         <translation type="obsolete"> sklon: %1°(%2%)</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="633"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="531"/>
         <source> speed: %1%2</source>
         <translation> rychlost: %1%2</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="653"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="571"/>
         <source>Ascend: %1%2 (%3%)</source>
         <translation>Stoupání: %1%2 (%3%)</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="657"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="575"/>
         <source>Ascend: - (-)</source>
         <translation>Stoupání: - (-)</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="667"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="585"/>
         <source> Descend: - (-) </source>
         <translation> Klesání: - (-) </translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="688"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="606"/>
         <source> Moving: - (-) </source>
         <translation> Pohyb: - (-) </translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="663"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="581"/>
         <source> Descend: %1%2 (%3%)</source>
         <translation> Klesání: %1%2 (%3%) </translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="357"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="249"/>
         <source>Changed trackpoints, sacrificed all previous data.</source>
         <translation>Změněny body stop. Obětována veškerá předchozí data.</translation>
     </message>
@@ -6210,129 +6460,128 @@ Název souboru: %1</translation>
         <translation type="obsolete"> sklon: %1° (%2%)</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="674"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="592"/>
         <source>Dist.: %1%2 (%3%)</source>
         <translation>Vzdálenost: %1%2 (%3%)</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="678"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="596"/>
         <source>Dist.: - (-)</source>
         <translation>Vzdálenost: - (-)</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="684"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="602"/>
         <source> Moving: %1%2 (%3%)</source>
         <translation> Pohyb: %1%2 (%3%) </translation>
     </message>
     <message>
-        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="95"/>
+        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="96"/>
         <source>thin</source>
         <translation>Tenký</translation>
     </message>
     <message>
-        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="96"/>
+        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="97"/>
         <source>normal</source>
         <translation>Obvyklý</translation>
     </message>
     <message>
-        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="97"/>
+        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="98"/>
         <source>wide</source>
         <translation>Široký</translation>
     </message>
     <message>
-        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="98"/>
+        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="99"/>
         <source>strong</source>
         <translation>Silný</translation>
     </message>
     <message>
-        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="142"/>
-        <location filename="../gis/rte/CGisItemRte.cpp" line="67"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="193"/>
-        <location filename="../gis/wpt/CGisItemWpt.cpp" line="130"/>
+        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="138"/>
+        <location filename="../gis/rte/CGisItemRte.cpp" line="63"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="124"/>
+        <location filename="../gis/wpt/CGisItemWpt.cpp" line="92"/>
         <source>_Clone</source>
         <translation>_Klon</translation>
     </message>
     <message>
-        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="446"/>
+        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="431"/>
         <source>Area: %1%2</source>
         <translation>Oblast: %1%2</translation>
     </message>
     <message>
-        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="508"/>
+        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="493"/>
         <source>Changed area shape.</source>
         <translation>Změněn tvar oblasti.</translation>
     </message>
     <message>
-        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="516"/>
-        <location filename="../gis/rte/CGisItemRte.cpp" line="245"/>
+        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="501"/>
+        <location filename="../gis/rte/CGisItemRte.cpp" line="221"/>
         <source>Changed name.</source>
         <translation>Změněn název.</translation>
     </message>
     <message>
-        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="522"/>
+        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="507"/>
         <source>Changed border width.</source>
         <translation>Změněna šířka okraje.</translation>
     </message>
     <message>
-        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="528"/>
+        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="513"/>
         <source>Changed fill pattern.</source>
         <translation>Změněn vzor výplně.</translation>
     </message>
     <message>
-        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="534"/>
+        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="519"/>
         <source>Changed opacity.</source>
         <translation>Změněna neprůhlednost.</translation>
     </message>
     <message>
-        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="540"/>
+        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="525"/>
         <source>Changed comment.</source>
         <translation>Změněna poznámka.</translation>
     </message>
     <message>
-        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="546"/>
+        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="531"/>
         <source>Changed description.</source>
         <translation>Změněn popis.</translation>
     </message>
     <message>
-        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="552"/>
-        <location filename="../gis/rte/CGisItemRte.cpp" line="263"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1839"/>
-        <location filename="../gis/wpt/CGisItemWpt.cpp" line="456"/>
+        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="537"/>
+        <location filename="../gis/rte/CGisItemRte.cpp" line="239"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="2059"/>
+        <location filename="../gis/wpt/CGisItemWpt.cpp" line="366"/>
         <source>Changed links</source>
         <translation>Změněné odkazy</translation>
     </message>
     <message>
-        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="564"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1851"/>
+        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="549"/>
         <source>Changed color</source>
         <translation>Změněná barva</translation>
     </message>
     <message>
-        <location filename="../gis/wpt/CGisItemWpt.cpp" line="317"/>
+        <location filename="../gis/wpt/CGisItemWpt.cpp" line="227"/>
         <source>Elevation: %1 %2</source>
         <translation>Výška: %1 %2</translation>
     </message>
     <message>
-        <location filename="../gis/wpt/CGisItemWpt.cpp" line="328"/>
+        <location filename="../gis/wpt/CGisItemWpt.cpp" line="238"/>
         <source>Proximity: %1 %2</source>
         <translation>Blízkost: %1 %2</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1821"/>
-        <location filename="../gis/wpt/CGisItemWpt.cpp" line="402"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="2041"/>
+        <location filename="../gis/wpt/CGisItemWpt.cpp" line="312"/>
         <source>Changed name</source>
         <translation>Změněný název</translation>
     </message>
     <message>
         <location filename="../gis/rte/CCreateRouteFromWpt.cpp" line="65"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1225"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1240"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1259"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1318"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1497"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1245"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1264"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1340"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1399"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1578"/>
         <location filename="../mouse/CMouseEditArea.cpp" line="100"/>
         <location filename="../mouse/CMouseEditRte.cpp" line="111"/>
-        <location filename="../mouse/CMouseEditTrk.cpp" line="117"/>
+        <location filename="../mouse/CMouseEditTrk.cpp" line="116"/>
         <source>Edit name...</source>
         <translation>Upravit název...</translation>
     </message>
@@ -6341,62 +6590,62 @@ Název souboru: %1</translation>
         <translation type="obsolete">Zadat nový název pro cestovní bod.</translation>
     </message>
     <message>
-        <location filename="../gis/wpt/CGisItemWpt.cpp" line="412"/>
+        <location filename="../gis/wpt/CGisItemWpt.cpp" line="322"/>
         <source>Changed position</source>
         <translation>Změněná poloha</translation>
     </message>
     <message>
-        <location filename="../gis/wpt/CGisItemWpt.cpp" line="418"/>
+        <location filename="../gis/wpt/CGisItemWpt.cpp" line="328"/>
         <source>Changed elevation</source>
         <translation>Změněná výška</translation>
     </message>
     <message>
-        <location filename="../gis/wpt/CGisItemWpt.cpp" line="424"/>
+        <location filename="../gis/wpt/CGisItemWpt.cpp" line="334"/>
         <source>Changed proximity</source>
         <translation>Změněná blízkost</translation>
     </message>
     <message>
-        <location filename="../gis/wpt/CGisItemWpt.cpp" line="438"/>
+        <location filename="../gis/wpt/CGisItemWpt.cpp" line="348"/>
         <source>Changed icon</source>
         <translation>Změněná ikona</translation>
     </message>
     <message>
-        <location filename="../gis/wpt/CGisItemWpt.cpp" line="462"/>
+        <location filename="../gis/wpt/CGisItemWpt.cpp" line="372"/>
         <source>Changed images</source>
         <translation>Změněné obrázky</translation>
     </message>
     <message>
-        <location filename="../gis/wpt/CGisItemWpt.cpp" line="468"/>
+        <location filename="../gis/wpt/CGisItemWpt.cpp" line="378"/>
         <source>Add image</source>
         <translation>Přidat obrázek</translation>
     </message>
     <message>
-        <location filename="../gis/rte/CGisItemRte.cpp" line="251"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1827"/>
-        <location filename="../gis/wpt/CGisItemWpt.cpp" line="444"/>
+        <location filename="../gis/rte/CGisItemRte.cpp" line="227"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="2047"/>
+        <location filename="../gis/wpt/CGisItemWpt.cpp" line="354"/>
         <source>Changed comment</source>
         <translation>Změněná poznámka</translation>
     </message>
     <message>
-        <location filename="../gis/rte/CGisItemRte.cpp" line="257"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1833"/>
-        <location filename="../gis/wpt/CGisItemWpt.cpp" line="450"/>
+        <location filename="../gis/rte/CGisItemRte.cpp" line="233"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="2053"/>
+        <location filename="../gis/wpt/CGisItemWpt.cpp" line="360"/>
         <source>Changed description</source>
         <translation>Změněný popis</translation>
     </message>
     <message>
-        <location filename="../gis/rte/CGisItemRte.cpp" line="290"/>
+        <location filename="../gis/rte/CGisItemRte.cpp" line="266"/>
         <source>Length: -</source>
         <translation>Délka: -</translation>
     </message>
     <message>
-        <location filename="../gis/rte/CGisItemRte.cpp" line="297"/>
-        <location filename="../gis/rte/CGisItemRte.cpp" line="481"/>
+        <location filename="../gis/rte/CGisItemRte.cpp" line="273"/>
+        <location filename="../gis/rte/CGisItemRte.cpp" line="456"/>
         <source>Time: %1 %2</source>
         <translation>Čas: %1 %2</translation>
     </message>
     <message>
-        <location filename="../gis/rte/CGisItemRte.cpp" line="483"/>
+        <location filename="../gis/rte/CGisItemRte.cpp" line="458"/>
         <source>Distance: %1 %2</source>
         <translation>Vzdálenost: %1 %2</translation>
     </message>
@@ -6405,17 +6654,17 @@ Název souboru: %1</translation>
         <translation type="obsolete">Výsledný čas: %2 dnů %1</translation>
     </message>
     <message>
-        <location filename="../gis/rte/CGisItemRte.cpp" line="301"/>
+        <location filename="../gis/rte/CGisItemRte.cpp" line="277"/>
         <source>Time: -</source>
         <translation>Výsledný čas: -</translation>
     </message>
     <message>
-        <location filename="../gis/rte/CGisItemRte.cpp" line="307"/>
+        <location filename="../gis/rte/CGisItemRte.cpp" line="283"/>
         <source>Last time routed:<br/>%1</source>
         <translation>Poslední spočítání cesty:<br/>%1</translation>
     </message>
     <message>
-        <location filename="../gis/rte/CGisItemRte.cpp" line="309"/>
+        <location filename="../gis/rte/CGisItemRte.cpp" line="285"/>
         <source>with %1</source>
         <translation>s %1</translation>
     </message>
@@ -6424,48 +6673,48 @@ Název souboru: %1</translation>
         <translation type="obsolete">Výpočet trval %1 s.</translation>
     </message>
     <message>
-        <location filename="../gis/rte/CGisItemRte.cpp" line="612"/>
+        <location filename="../gis/rte/CGisItemRte.cpp" line="572"/>
         <source>Changed route points.</source>
         <translation>Změněné body cesty.</translation>
     </message>
     <message>
-        <location filename="../gis/gpx/serialization.cpp" line="691"/>
+        <location filename="../gis/gpx/serialization.cpp" line="582"/>
         <source>Archived</source>
         <translation>Archivováno</translation>
     </message>
     <message>
-        <location filename="../gis/gpx/serialization.cpp" line="695"/>
+        <location filename="../gis/gpx/serialization.cpp" line="586"/>
         <source>Available</source>
         <translation>Dostupné</translation>
     </message>
     <message>
-        <location filename="../gis/gpx/serialization.cpp" line="699"/>
+        <location filename="../gis/gpx/serialization.cpp" line="590"/>
         <source>Not Available</source>
         <translation>Nedostupné</translation>
     </message>
     <message>
-        <location filename="../map/garmin/CGarminTyp.cpp" line="465"/>
-        <location filename="../map/garmin/CGarminTyp.cpp" line="846"/>
+        <location filename="../map/garmin/CGarminTyp.cpp" line="457"/>
+        <location filename="../map/garmin/CGarminTyp.cpp" line="838"/>
         <source>Warning...</source>
         <translation>Varování...</translation>
     </message>
     <message>
-        <location filename="../map/garmin/CGarminTyp.cpp" line="465"/>
+        <location filename="../map/garmin/CGarminTyp.cpp" line="457"/>
         <source>This is a typ file with unknown polygon encoding. Please report!</source>
         <translation>Toto je souborový typ s neznámým druhem mnohoúhelníku. Nahlašte to, prosím!</translation>
     </message>
     <message>
-        <location filename="../map/garmin/CGarminTyp.cpp" line="846"/>
+        <location filename="../map/garmin/CGarminTyp.cpp" line="838"/>
         <source>This is a typ file with unknown polyline encoding. Please report!</source>
         <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="1225"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1240"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1259"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1318"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1497"/>
-        <location filename="../mouse/CMouseEditTrk.cpp" line="117"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1245"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1264"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1340"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1399"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1578"/>
+        <location filename="../mouse/CMouseEditTrk.cpp" line="116"/>
         <source>Enter new track name.</source>
         <translation>Zadat název nové stopy.</translation>
     </message>
@@ -6492,7 +6741,7 @@ Název souboru: %1</translation>
         <translation>Ztraceno a nalezeno (%1)</translation>
     </message>
     <message>
-        <location filename="../qlgt/converter.cpp" line="195"/>
+        <location filename="../qlgt/converter.cpp" line="198"/>
         <source>Copy flag information from QLandkarte GT track</source>
         <translation>Kopírovat informační příznak ze stopy QLandkarte GT</translation>
     </message>
@@ -6521,109 +6770,114 @@ Název souboru: %1</translation>
         <translation>Počet bodů stopy neodpovídá počtu stínových bodů stopy.</translation>
     </message>
     <message>
-        <location filename="../gis/trk/filter/filter.cpp" line="96"/>
+        <location filename="../gis/trk/filter/filter.cpp" line="106"/>
         <source>Hide points by Douglas Peuker algorithm (%1%2)</source>
         <translation>Skrýt body pomocí algoritmu Douglas Peuker (%1%2)</translation>
     </message>
     <message>
-        <location filename="../gis/trk/filter/filter.cpp" line="112"/>
+        <location filename="../gis/trk/filter/filter.cpp" line="141"/>
+        <source>Hide points with invalid coordinates at the beginning of the track</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/filter/filter.cpp" line="157"/>
         <source>Reset all hidden track points to visible</source>
         <translation>Nastavit znovu všechny skryté body stopy na viditelné</translation>
     </message>
     <message>
-        <location filename="../gis/trk/filter/filter.cpp" line="137"/>
+        <location filename="../gis/trk/filter/filter.cpp" line="191"/>
         <source>Permanently removed all hidden track points</source>
         <translation>Všechny skryté body stopy odstraněny trvale</translation>
     </message>
     <message>
-        <location filename="../gis/trk/filter/filter.cpp" line="187"/>
+        <location filename="../gis/trk/filter/filter.cpp" line="241"/>
         <source>Smoothed profile with a Median filter of size %1</source>
         <translation>Profil vyhlazen středovým filtrem o velikosti %1</translation>
     </message>
     <message>
-        <location filename="../gis/trk/filter/filter.cpp" line="223"/>
+        <location filename="../gis/trk/filter/filter.cpp" line="277"/>
         <source>Replaced elevation data with data from DEM files.</source>
         <translation>Výšková data nahrazena daty ze souborů s digitálním výškovým modelem.</translation>
     </message>
     <message>
-        <location filename="../gis/trk/filter/filter.cpp" line="246"/>
+        <location filename="../gis/trk/filter/filter.cpp" line="300"/>
         <source>Offset elevation data by %1%2.</source>
         <translation>Výšková data posunuta o %1%2.</translation>
     </message>
     <message>
-        <location filename="../gis/trk/filter/filter.cpp" line="265"/>
+        <location filename="../gis/trk/filter/filter.cpp" line="319"/>
         <source>Changed start of track to %1.</source>
         <translation>Začátek stopy změněn na %1.</translation>
     </message>
     <message>
-        <location filename="../gis/trk/filter/filter.cpp" line="284"/>
+        <location filename="../gis/trk/filter/filter.cpp" line="338"/>
         <source>Remove timestamps.</source>
         <translation>Odstranit časová razítka.</translation>
     </message>
     <message>
-        <location filename="../gis/trk/filter/filter.cpp" line="307"/>
+        <location filename="../gis/trk/filter/filter.cpp" line="361"/>
         <source>Set artificial timestamps with delta of %1 sec.</source>
         <translation>Uměle utvořená časová razítka nastavena s odstupem %1 s.</translation>
     </message>
     <message>
-        <location filename="../gis/trk/filter/filter.cpp" line="340"/>
+        <location filename="../gis/trk/filter/filter.cpp" line="394"/>
         <source>Changed speed to %1%2.</source>
         <translation>Rychlost změněna na %1%2.</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="1097"/>
+        <location filename="../gis/CGisListWks.cpp" line="1098"/>
         <source>Delete project...</source>
         <translation>Smazat projekt...</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="1097"/>
+        <location filename="../gis/CGisListWks.cpp" line="1098"/>
         <source>Do you really want to delete %1?</source>
         <translation>Opravdu chcete smazat %1?</translation>
     </message>
     <message>
         <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="431"/>
-        <location filename="../gis/tnv/serialization.cpp" line="460"/>
-        <location filename="../gis/tnv/serialization.cpp" line="471"/>
-        <location filename="../gis/tnv/serialization.cpp" line="504"/>
-        <location filename="../gis/tnv/serialization.cpp" line="644"/>
-        <location filename="../gis/tnv/serialization.cpp" line="672"/>
-        <location filename="../gis/tnv/serialization.cpp" line="683"/>
-        <location filename="../gis/tnv/serialization.cpp" line="701"/>
-        <location filename="../gis/tnv/serialization.cpp" line="729"/>
-        <location filename="../gis/tnv/serialization.cpp" line="803"/>
+        <location filename="../gis/tnv/serialization.cpp" line="211"/>
+        <location filename="../gis/tnv/serialization.cpp" line="347"/>
+        <location filename="../gis/tnv/serialization.cpp" line="376"/>
+        <location filename="../gis/tnv/serialization.cpp" line="387"/>
+        <location filename="../gis/tnv/serialization.cpp" line="420"/>
+        <location filename="../gis/tnv/serialization.cpp" line="560"/>
+        <location filename="../gis/tnv/serialization.cpp" line="588"/>
+        <location filename="../gis/tnv/serialization.cpp" line="599"/>
+        <location filename="../gis/tnv/serialization.cpp" line="617"/>
+        <location filename="../gis/tnv/serialization.cpp" line="645"/>
+        <location filename="../gis/tnv/serialization.cpp" line="719"/>
         <source>Error...</source>
         <translation>Chyba...</translation>
     </message>
     <message>
         <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="431"/>
-        <location filename="../gis/tnv/serialization.cpp" line="644"/>
+        <location filename="../gis/tnv/serialization.cpp" line="211"/>
+        <location filename="../gis/tnv/serialization.cpp" line="347"/>
+        <location filename="../gis/tnv/serialization.cpp" line="560"/>
         <source>Failed to open %1.</source>
         <translation>Nepodařilo se otevřít %1.</translation>
     </message>
     <message>
-        <location filename="../gis/tnv/serialization.cpp" line="460"/>
-        <location filename="../gis/tnv/serialization.cpp" line="471"/>
-        <location filename="../gis/tnv/serialization.cpp" line="672"/>
-        <location filename="../gis/tnv/serialization.cpp" line="683"/>
+        <location filename="../gis/tnv/serialization.cpp" line="376"/>
+        <location filename="../gis/tnv/serialization.cpp" line="387"/>
+        <location filename="../gis/tnv/serialization.cpp" line="588"/>
+        <location filename="../gis/tnv/serialization.cpp" line="599"/>
         <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="504"/>
-        <location filename="../gis/tnv/serialization.cpp" line="701"/>
-        <location filename="../gis/tnv/serialization.cpp" line="729"/>
-        <location filename="../gis/tnv/serialization.cpp" line="803"/>
+        <location filename="../gis/tnv/serialization.cpp" line="420"/>
+        <location filename="../gis/tnv/serialization.cpp" line="617"/>
+        <location filename="../gis/tnv/serialization.cpp" line="645"/>
+        <location filename="../gis/tnv/serialization.cpp" line="719"/>
         <source>Failed to read data.</source>
         <translation>Nepodařilo se přečíst data.</translation>
     </message>
     <message>
-        <location filename="../device/CDeviceGarmin.cpp" line="207"/>
+        <location filename="../device/CDeviceGarmin.cpp" line="204"/>
         <source>Picture%1</source>
         <translation>Obrázek %1</translation>
     </message>
@@ -6682,51 +6936,116 @@ Název souboru: %1</translation>
     </message>
     <message>
         <location filename="../gis/trk/CActivityTrk.cpp" line="77"/>
-        <location filename="../gis/trk/CActivityTrk.cpp" line="101"/>
         <source>Aeronautik</source>
         <translation>Vzduchoplavba</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CActivityTrk.cpp" line="213"/>
-        <location filename="../gis/trk/CActivityTrk.cpp" line="257"/>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="101"/>
+        <source>Aeronautics</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="210"/>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="254"/>
         <source>Distance:</source>
         <translation>Vzdálenost:</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CActivityTrk.cpp" line="215"/>
-        <location filename="../gis/trk/CActivityTrk.cpp" line="279"/>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="212"/>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="276"/>
         <source>Ascend:</source>
         <translation>Stoupání:</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CActivityTrk.cpp" line="217"/>
-        <location filename="../gis/trk/CActivityTrk.cpp" line="301"/>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="214"/>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="298"/>
         <source>Descend:</source>
         <translation>Klesání:</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CActivityTrk.cpp" line="219"/>
-        <location filename="../gis/trk/CActivityTrk.cpp" line="323"/>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="216"/>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="320"/>
         <source>Speed Moving:</source>
         <translation>Rychlost při pohybu:</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CActivityTrk.cpp" line="221"/>
-        <location filename="../gis/trk/CActivityTrk.cpp" line="345"/>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="218"/>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="342"/>
         <source>Speed Total:</source>
         <translation>Celková rychlost:</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CActivityTrk.cpp" line="223"/>
-        <location filename="../gis/trk/CActivityTrk.cpp" line="367"/>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="220"/>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="364"/>
         <source>Time Moving:</source>
         <translation>Čas při pohybu:</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CActivityTrk.cpp" line="225"/>
-        <location filename="../gis/trk/CActivityTrk.cpp" line="389"/>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="222"/>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="386"/>
         <source>Time Total:</source>
         <translation>Celkový čas:</translation>
     </message>
+    <message>
+        <location filename="../gis/trk/CPropertyTrk.cpp" line="53"/>
+        <source>Progress</source>
+        <translation type="unfinished">Postup</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CPropertyTrk.cpp" line="56"/>
+        <source>time</source>
+        <translation type="unfinished">Čas</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CPropertyTrk.cpp" line="57"/>
+        <location filename="../gis/trk/CPropertyTrk.cpp" line="82"/>
+        <source>distance [%1]</source>
+        <translation type="unfinished">Vzdálenost [%1]</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CKnownExtension.cpp" line="57"/>
+        <source>Slope (directed)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CKnownExtension.cpp" line="62"/>
+        <source>Speed</source>
+        <translation type="unfinished">Rychlost</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CKnownExtension.cpp" line="67"/>
+        <source>Elevation</source>
+        <translation type="unfinished">Výška</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CKnownExtension.cpp" line="74"/>
+        <location filename="../gis/trk/CKnownExtension.cpp" line="100"/>
+        <source>Heart Rate</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CKnownExtension.cpp" line="79"/>
+        <location filename="../gis/trk/CKnownExtension.cpp" line="105"/>
+        <source>Cadence</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CKnownExtension.cpp" line="84"/>
+        <location filename="../gis/trk/CKnownExtension.cpp" line="110"/>
+        <source>Air Temperature</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CKnownExtension.cpp" line="89"/>
+        <location filename="../gis/trk/CKnownExtension.cpp" line="115"/>
+        <source>Water Temperature</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CKnownExtension.cpp" line="94"/>
+        <location filename="../gis/trk/CKnownExtension.cpp" line="120"/>
+        <source>Depth</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 </TS>
diff --git a/src/locale/qmapshack_de.ts b/src/locale/qmapshack_de.ts
index 66a3414..7f625d0 100644
--- a/src/locale/qmapshack_de.ts
+++ b/src/locale/qmapshack_de.ts
@@ -1,11 +1,11 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!DOCTYPE TS>
-<TS version="2.0" language="de_DE">
+<TS version="2.1" language="de_DE">
 <context>
     <name>CAbout</name>
     <message>
         <source>API Version %1 (expected %2)</source>
-        <translation>API Version %1 (erwartet wird %2)</translation>
+        <translation type="vanished">API Version %1 (erwartet wird %2)</translation>
     </message>
     <message>
         <location filename="../CAbout.cpp" line="38"/>
@@ -25,7 +25,7 @@
         <translation type="obsolete">Ansicht %1</translation>
     </message>
     <message>
-        <location filename="../canvas/CCanvas.cpp" line="66"/>
+        <location filename="../canvas/CCanvas.cpp" line="59"/>
         <source>View %1</source>
         <translation>Ansicht %1</translation>
     </message>
@@ -55,7 +55,7 @@
     <message>
         <source>File with qmapshark configuration.</source>
         <translatorcomment>??? qmapshack statt qmapshark im Ursprungstext, IMO</translatorcomment>
-        <translation>Datei mit QMapShak Einstellungen.</translation>
+        <translation type="vanished">Datei mit QMapShak Einstellungen.</translation>
     </message>
     <message>
         <location filename="../helpers/CCommandProcessor.cpp" line="40"/>
@@ -97,29 +97,28 @@
 <context>
     <name>CDemPropSetup</name>
     <message>
-        <location filename="../dem/CDemPropSetup.cpp" line="183"/>
         <source><b>Grade %1</b></source>
-        <translation><b>Stufe %1</b></translation>
+        <translation type="vanished"><b>Stufe %1</b></translation>
     </message>
 </context>
 <context>
     <name>CDemVRT</name>
     <message>
-        <location filename="../dem/CDemVRT.cpp" line="45"/>
+        <location filename="../dem/CDemVRT.cpp" line="44"/>
         <location filename="../dem/CDemVRT.cpp" line="52"/>
-        <location filename="../dem/CDemVRT.cpp" line="61"/>
-        <location filename="../dem/CDemVRT.cpp" line="89"/>
+        <location filename="../dem/CDemVRT.cpp" line="62"/>
+        <location filename="../dem/CDemVRT.cpp" line="91"/>
         <source>Error...</source>
         <translation>Fehler...</translation>
     </message>
     <message>
-        <location filename="../dem/CDemVRT.cpp" line="45"/>
+        <location filename="../dem/CDemVRT.cpp" line="44"/>
         <source>Failed to load file: %1</source>
         <translation>Die Datei konnte nicht geladen werden: %1</translation>
     </message>
     <message>
         <location filename="../dem/CDemVRT.cpp" line="52"/>
-        <location filename="../dem/CDemVRT.cpp" line="61"/>
+        <location filename="../dem/CDemVRT.cpp" line="62"/>
         <source>DEM must have one band with 16bit or 32bit data.</source>
         <translation>DEM muss aus einem Satz mit 16 bit oder 32 bit Daten bestehen.</translation>
     </message>
@@ -128,7 +127,7 @@
         <translation type="obsolete">Das DEM muss aus einem Satz mit 16 bit oder 32 bit Daten bestehen.</translation>
     </message>
     <message>
-        <location filename="../dem/CDemVRT.cpp" line="89"/>
+        <location filename="../dem/CDemVRT.cpp" line="91"/>
         <source>No georeference information found.</source>
         <translation>Keine Georeferenzierung gefunden.</translation>
     </message>
@@ -136,23 +135,23 @@
 <context>
     <name>CDetailsGeoCache</name>
     <message>
-        <location filename="../gis/wpt/CDetailsGeoCache.cpp" line="62"/>
+        <location filename="../gis/wpt/CDetailsGeoCache.cpp" line="61"/>
         <source>none</source>
         <translation>keiner</translation>
     </message>
     <message>
-        <location filename="../gis/wpt/CDetailsGeoCache.cpp" line="62"/>
-        <location filename="../gis/wpt/CDetailsGeoCache.cpp" line="132"/>
+        <location filename="../gis/wpt/CDetailsGeoCache.cpp" line="61"/>
+        <location filename="../gis/wpt/CDetailsGeoCache.cpp" line="131"/>
         <source>???</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../gis/wpt/CDetailsGeoCache.cpp" line="159"/>
+        <location filename="../gis/wpt/CDetailsGeoCache.cpp" line="158"/>
         <source>Searching for images...</source>
         <translation>Suche nach Bildern...</translation>
     </message>
     <message>
-        <location filename="../gis/wpt/CDetailsGeoCache.cpp" line="264"/>
+        <location filename="../gis/wpt/CDetailsGeoCache.cpp" line="263"/>
         <source>No images found</source>
         <translation>Keine Bilder gefunden</translation>
     </message>
@@ -160,12 +159,12 @@
 <context>
     <name>CDetailsOvlArea</name>
     <message>
-        <location filename="../gis/ovl/CDetailsOvlArea.cpp" line="135"/>
+        <location filename="../gis/ovl/CDetailsOvlArea.cpp" line="134"/>
         <source>Edit name...</source>
         <translation>Name bearbeiten...</translation>
     </message>
     <message>
-        <location filename="../gis/ovl/CDetailsOvlArea.cpp" line="135"/>
+        <location filename="../gis/ovl/CDetailsOvlArea.cpp" line="134"/>
         <source>Enter new area name.</source>
         <translation>Geben Sie einen neuen Namen für das Gebiet ein.</translation>
     </message>
@@ -193,13 +192,13 @@
 <context>
     <name>CDetailsPrj</name>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="249"/>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="689"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="247"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="687"/>
         <source>none</source>
         <translation>keine</translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="322"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="320"/>
         <source>Build diary...</source>
         <translation>Tagebuch erstellen...</translation>
     </message>
@@ -208,107 +207,107 @@
         <translation type="obsolete">Abbrechen</translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="377"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="375"/>
         <source><b>Summary over all tracks in project</b><br/></source>
         <translation><b>Auswertung aller Tracks im Projekt</b><br/></translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="397"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="395"/>
         <source><h2>Waypoints</h2></source>
         <translation><h2>Wegpunkte</h2></translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="404"/>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="430"/>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="534"/>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="624"/>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="654"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="402"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="428"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="532"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="622"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="652"/>
         <source>Info</source>
         <translation>Information</translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="405"/>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="431"/>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="535"/>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="625"/>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="655"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="403"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="429"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="533"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="623"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="653"/>
         <source>Comment</source>
         <translation>Kommentar</translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="423"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="421"/>
         <source><h2>Tracks</h2></source>
         <translation><h2>Tracks</h2></translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="617"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="615"/>
         <source><h2>Areas</h2></source>
         <translation><h2>Gebiete</h2></translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="103"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="101"/>
         <source>You want to sort waypoints along a track, but you switched off track and waypoint correlation. Do you want to switch it on again?</source>
         <translation>Sie wollen Wegpunkte entlang eines Tracks sortieren, aber Sie haben die Verknüpfung von Wegpunkten und Tracks ausgeschaltet. Wollen Sie sie wieder anschalten?</translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="104"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="102"/>
         <source>Correlation...</source>
         <translation>Verknüpfungen...</translation>
     </message>
     <message>
         <source>Total Distance:</source>
-        <translation>Summe Entfernung:</translation>
+        <translation type="vanished">Summe Entfernung:</translation>
     </message>
     <message>
         <source>Total Ascend:</source>
-        <translation>Summe Anstieg:</translation>
+        <translation type="vanished">Summe Anstieg:</translation>
     </message>
     <message>
         <source>Total Descend:</source>
-        <translation>Summe Abstieg:</translation>
+        <translation type="vanished">Summe Abstieg:</translation>
     </message>
     <message>
         <source>Total Time:</source>
-        <translation>Summe Zeit:</translation>
+        <translation type="vanished">Summe Zeit:</translation>
     </message>
     <message>
         <source>Total Time Moving:</source>
-        <translation>Summe Zeit in Bewegung:</translation>
+        <translation type="vanished">Summe Zeit in Bewegung:</translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="553"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="551"/>
         <source>distance: %1%2</source>
         <translation>Entfernung: %1 %2</translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="555"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="553"/>
         <source>ascent: %1%2</source>
         <translation>Anstieg: %1 %2</translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="557"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="555"/>
         <source>descend: %1%2</source>
         <translation>Abstieg: %1 %2</translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="647"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="645"/>
         <source><h2>Routes</h2></source>
         <translation><h2>Routen</h2></translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="675"/>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="702"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="673"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="700"/>
         <source>Edit name...</source>
         <translation>Name bearbeiten...</translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="675"/>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="702"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="673"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="700"/>
         <source>Enter new project name.</source>
         <translation>Geben Sie einen neuen Namen für das Projekt ein.</translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="818"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="816"/>
         <source>Print Diary</source>
         <translation>Tagebuch drucken</translation>
     </message>
@@ -317,12 +316,12 @@
         <translation type="obsolete">Name eingeben.</translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="684"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="682"/>
         <source>Edit keywords...</source>
         <translation>Stichwörter bearbeiten...</translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="684"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="682"/>
         <source>Enter keywords.</source>
         <translation>Stichwörter eingeben.</translation>
     </message>
@@ -330,12 +329,12 @@
 <context>
     <name>CDetailsRte</name>
     <message>
-        <location filename="../gis/rte/CDetailsRte.cpp" line="120"/>
+        <location filename="../gis/rte/CDetailsRte.cpp" line="119"/>
         <source>Edit name...</source>
         <translation>Name bearbeiten...</translation>
     </message>
     <message>
-        <location filename="../gis/rte/CDetailsRte.cpp" line="120"/>
+        <location filename="../gis/rte/CDetailsRte.cpp" line="119"/>
         <source>Enter new route name.</source>
         <translation>Geben Sie einen neuen Namen für die Route ein.</translation>
     </message>
@@ -343,57 +342,62 @@
 <context>
     <name>CDetailsTrk</name>
     <message>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="87"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="409"/>
+        <source>Solid color</source>
+        <translation>Feste Farbe</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="112"/>
         <source>Reduce visible track points</source>
         <translation>Sichtbare Trackpunkte reduzieren</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="100"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="128"/>
         <source>Change elevation of track points</source>
         <translation>Höhe von Trackpunkten ändern</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="113"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="141"/>
         <source>Change timestamp of track points</source>
         <translation>Zeitstempel von Trackpunkten ändern</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="126"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="154"/>
         <source>Cut track into pieces</source>
         <translation>Track in Stücke teilen</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="242"/>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="251"/>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="254"/>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="260"/>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="279"/>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="281"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="309"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="318"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="321"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="327"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="346"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="348"/>
         <source>%1 %2</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="457"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="603"/>
         <source>Edit name...</source>
         <translation>Name bearbeiten...</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="457"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="603"/>
         <source>Enter new track name.</source>
         <translation>Geben Sie einen neuen Namen für den Track ein.</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="509"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="655"/>
         <source>Reset activities...</source>
         <translation>Aktivitäten zurücksetzen...</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="509"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="655"/>
         <source>This will remove all activities from the track. Proceed?</source>
         <translation>Dies wird alle Aktivitäten vom Track entfernen. Fortfahren?</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="515"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="661"/>
         <source>None</source>
         <translation>Keine</translation>
     </message>
@@ -441,12 +445,12 @@
         <translation type="obsolete"><p>--- keine Beschreibung ---</p></translation>
     </message>
     <message>
-        <location filename="../gis/wpt/CDetailsWpt.cpp" line="157"/>
+        <location filename="../gis/wpt/CDetailsWpt.cpp" line="134"/>
         <source>Edit name...</source>
         <translation>Name bearbeiten...</translation>
     </message>
     <message>
-        <location filename="../gis/wpt/CDetailsWpt.cpp" line="157"/>
+        <location filename="../gis/wpt/CDetailsWpt.cpp" line="134"/>
         <source>Enter new waypoint name.</source>
         <translation>Geben Sie einen neuen Namen für den Wegpunkt ein.</translation>
     </message>
@@ -455,7 +459,7 @@
         <translation type="obsolete">Geben Sie eine neue Höhe ein.</translation>
     </message>
     <message>
-        <location filename="../gis/wpt/CDetailsWpt.cpp" line="176"/>
+        <location filename="../gis/wpt/CDetailsWpt.cpp" line="153"/>
         <source>Enter new proximity range.</source>
         <translation>Geben Sie einen neuen Abstandsalarm ein.</translation>
     </message>
@@ -479,12 +483,12 @@
         <translation type="obsolete">Datenbank</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListDB.cpp" line="79"/>
+        <location filename="../gis/CGisListDB.cpp" line="78"/>
         <source>Add Folder</source>
         <translation>Ordner hinzufügen</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListDB.cpp" line="80"/>
+        <location filename="../gis/CGisListDB.cpp" line="79"/>
         <source>Delete Folder</source>
         <translation>Ordner löschen</translation>
     </message>
@@ -493,59 +497,63 @@
         <translation type="obsolete">Löschen</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListDB.cpp" line="76"/>
+        <location filename="../gis/CGisListDB.cpp" line="75"/>
         <source>Add Database</source>
         <translation>Datenbank hinzufügen</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListDB.cpp" line="83"/>
-        <location filename="../gis/CGisListDB.cpp" line="93"/>
+        <location filename="../gis/CGisListDB.cpp" line="82"/>
+        <location filename="../gis/CGisListDB.cpp" line="92"/>
         <source>Delete Item</source>
         <translation>Element löschen</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListDB.cpp" line="87"/>
+        <location filename="../gis/CGisListDB.cpp" line="86"/>
         <source>Remove Database</source>
         <translation>Datenbank entfernen</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListDB.cpp" line="90"/>
+        <location filename="../gis/CGisListDB.cpp" line="89"/>
         <source>Empty</source>
         <translation>Leer</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListDB.cpp" line="282"/>
+        <location filename="../gis/CGisListDB.cpp" line="281"/>
         <source>Remove database...</source>
         <translation>Datenbank entfernen...</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListDB.cpp" line="282"/>
-        <source>Do you realy want to remove '%1' from the list?</source>
+        <location filename="../gis/CGisListDB.cpp" line="281"/>
+        <source>Do you really want to remove '%1' from the list?</source>
         <translation>Wollen Sie '%1' wirklich aus der Liste entfernen?</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListDB.cpp" line="323"/>
+        <source>Do you realy want to remove '%1' from the list?</source>
+        <translation type="vanished">Wollen Sie '%1' wirklich aus der Liste entfernen?</translation>
+    </message>
+    <message>
+        <location filename="../gis/CGisListDB.cpp" line="322"/>
         <source>Delete database folder...</source>
         <translation>Datenbankordner löschen...</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListDB.cpp" line="323"/>
+        <location filename="../gis/CGisListDB.cpp" line="322"/>
         <source>Are you sure you want to delete "%1" from the database?</source>
         <translation>Sind Sie sicher, dass Sie "%1" aus der Datenbank löschen wollen? </translation>
     </message>
     <message>
-        <location filename="../gis/CGisListDB.cpp" line="349"/>
-        <location filename="../gis/CGisListDB.cpp" line="364"/>
+        <location filename="../gis/CGisListDB.cpp" line="348"/>
+        <location filename="../gis/CGisListDB.cpp" line="363"/>
         <source>Remove items...</source>
         <translation>Element entfernen...</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListDB.cpp" line="349"/>
+        <location filename="../gis/CGisListDB.cpp" line="348"/>
         <source>Are you sure you want to delete all items from Lost&Found? This will remove them permanently.</source>
         <translation>Sind Sie sicher, dass Sie alle Elemente in Verloren & Gefunden löschen wollen? Sie werden dauerhaft entfernt.</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListDB.cpp" line="364"/>
+        <location filename="../gis/CGisListDB.cpp" line="363"/>
         <source>Are you sure you want to delete all selected items from Lost&Found? This will remove them permanently.</source>
         <translation>Sind Sie sicher, dass Sie alle ausgewählten Elemente in Verloren & Gefunden löschen wollen? Sie werden dauerhaft entfernt.</translation>
     </message>
@@ -553,17 +561,17 @@
 <context>
     <name>CGisListWks</name>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="104"/>
+        <location filename="../gis/CGisListWks.cpp" line="101"/>
         <source>Save</source>
         <translation>Speichern</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="105"/>
+        <location filename="../gis/CGisListWks.cpp" line="102"/>
         <source>Save As...</source>
         <translation>Speichern unter...</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="100"/>
+        <location filename="../gis/CGisListWks.cpp" line="97"/>
         <source>Edit..</source>
         <translation>Bearbeiten..</translation>
     </message>
@@ -572,57 +580,57 @@
         <translation type="obsolete">Aktualisiere das Projekt auf allen Geräten </translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="109"/>
+        <location filename="../gis/CGisListWks.cpp" line="106"/>
         <source>Close</source>
         <translation>Schließen</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="115"/>
+        <location filename="../gis/CGisListWks.cpp" line="112"/>
         <source>Update Project on Device</source>
         <translation>Aktualisiere das Projekt auf dem Gerät</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="127"/>
+        <location filename="../gis/CGisListWks.cpp" line="124"/>
         <source>Edit...</source>
         <translation>Bearbeiten...</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="128"/>
+        <location filename="../gis/CGisListWks.cpp" line="125"/>
         <source>Copy to...</source>
         <translation>Kopieren nach...</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="143"/>
+        <location filename="../gis/CGisListWks.cpp" line="140"/>
         <source>Show Bubble</source>
         <translation>Infoblase anzeigen</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="145"/>
+        <location filename="../gis/CGisListWks.cpp" line="142"/>
         <source>Move Waypoint</source>
         <translation>Wegpunkt verschieben</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="154"/>
+        <location filename="../gis/CGisListWks.cpp" line="151"/>
         <source>Route Instructions</source>
         <translation>Navigationsanweisungen</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="156"/>
+        <location filename="../gis/CGisListWks.cpp" line="153"/>
         <source>Calculate Route</source>
         <translation>Route berechnen</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="157"/>
+        <location filename="../gis/CGisListWks.cpp" line="154"/>
         <source>Reset Route</source>
         <translation>Route zurücksetzen</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="158"/>
+        <location filename="../gis/CGisListWks.cpp" line="155"/>
         <source>Edit Route</source>
         <translation>Route bearbeiten</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="174"/>
+        <location filename="../gis/CGisListWks.cpp" line="171"/>
         <source>Create Route</source>
         <translation>Route erstellen</translation>
     </message>
@@ -633,13 +641,13 @@
     </message>
     <message>
         <location filename="../gis/CGisListWks.cpp" line="638"/>
-        <location filename="../gis/CGisListWks.cpp" line="1543"/>
-        <location filename="../gis/CGisListWks.cpp" line="1581"/>
+        <location filename="../gis/CGisListWks.cpp" line="1544"/>
+        <location filename="../gis/CGisListWks.cpp" line="1582"/>
         <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>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="1265"/>
+        <location filename="../gis/CGisListWks.cpp" line="1266"/>
         <source>Copy items...</source>
         <translation>Elemente kopieren...</translation>
     </message>
@@ -648,17 +656,17 @@
         <translation type="obsolete">Wegpunkt verschieben...</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="146"/>
+        <location filename="../gis/CGisListWks.cpp" line="143"/>
         <source>Proj. Waypoint...</source>
         <translation>Wegpunkt Projektion...</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="130"/>
+        <location filename="../gis/CGisListWks.cpp" line="127"/>
         <source>Track Profile</source>
         <translation>Trackprofil</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="107"/>
+        <location filename="../gis/CGisListWks.cpp" line="104"/>
         <source>Send to Devices</source>
         <translation>Ans Gerät senden</translation>
     </message>
@@ -667,43 +675,43 @@
         <translation type="obsolete">Sperren/Entsperren</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="132"/>
+        <location filename="../gis/CGisListWks.cpp" line="129"/>
         <source>Select Range</source>
         <translation>Bereich wählen</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="133"/>
+        <location filename="../gis/CGisListWks.cpp" line="130"/>
         <source>Edit Track Points</source>
         <translation>Trackpunkte bearbeiten</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="134"/>
+        <location filename="../gis/CGisListWks.cpp" line="131"/>
         <source>Reverse Track</source>
         <translation>Track umkehren</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="135"/>
+        <location filename="../gis/CGisListWks.cpp" line="132"/>
         <source>Combine Tracks</source>
         <translation>Tracks verbinden</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="167"/>
+        <location filename="../gis/CGisListWks.cpp" line="164"/>
         <source>Edit Area Points</source>
         <translation>Gebietspunkte bearbeiten</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="116"/>
-        <location filename="../gis/CGisListWks.cpp" line="137"/>
+        <location filename="../gis/CGisListWks.cpp" line="113"/>
+        <location filename="../gis/CGisListWks.cpp" line="134"/>
         <source>Delete</source>
         <translation>Löschen</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="101"/>
+        <location filename="../gis/CGisListWks.cpp" line="98"/>
         <source>Show on Map</source>
         <translation>Auf der Karte anzeigen.</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="102"/>
+        <location filename="../gis/CGisListWks.cpp" line="99"/>
         <source>Hide from Map</source>
         <translation>Auf der Karte ausblenden.</translation>
     </message>
@@ -718,12 +726,12 @@
         <translation>Arbeitsplatz laden. Bitte warten.</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="1061"/>
+        <location filename="../gis/CGisListWks.cpp" line="1062"/>
         <source>Close all projects...</source>
         <translation>Alle Projekte schließen...</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="1061"/>
+        <location filename="../gis/CGisListWks.cpp" line="1062"/>
         <source>This will remove all projects from the workspace.</source>
         <translation>Dies wird alle Projekte aus dem Arbeitsplatz entfernen.</translation>
     </message>
@@ -774,22 +782,22 @@
         <translation type="obsolete">[Gitter: N %1m, E %2m]</translation>
     </message>
     <message>
-        <location filename="../grid/CGrid.cpp" line="65"/>
+        <location filename="../grid/CGrid.cpp" line="61"/>
         <source>%1 %2 </source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../grid/CGrid.cpp" line="69"/>
+        <location filename="../grid/CGrid.cpp" line="65"/>
         <source>%1%2%5 %3%4%5 </source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../grid/CGrid.cpp" line="76"/>
+        <location filename="../grid/CGrid.cpp" line="72"/>
         <source>%1m, %2m </source>
         <translation>%1 m, %2 m</translation>
     </message>
     <message>
-        <location filename="../grid/CGrid.cpp" line="80"/>
+        <location filename="../grid/CGrid.cpp" line="76"/>
         <source>N %1m, E %2m </source>
         <translation>N %1 m, E %2 m</translation>
     </message>
@@ -797,7 +805,7 @@
 <context>
     <name>CHistoryListWidget</name>
     <message>
-        <location filename="../helpers/CHistoryListWidget.cpp" line="34"/>
+        <location filename="../widgets/CHistoryListWidget.cpp" line="34"/>
         <source>Cut history</source>
         <translation>Historie kürzen</translation>
     </message>
@@ -810,12 +818,12 @@
         <translation>QLandkarte Datenbank importieren</translation>
     </message>
     <message>
-        <location filename="../tool/CImportDatabase.cpp" line="73"/>
+        <location filename="../tool/CImportDatabase.cpp" line="75"/>
         <source>Select source database...</source>
         <translation>Quelldatenbank wählen...</translation>
     </message>
     <message>
-        <location filename="../tool/CImportDatabase.cpp" line="93"/>
+        <location filename="../tool/CImportDatabase.cpp" line="97"/>
         <source>Select target database...</source>
         <translation>Zieldatenbank wählen...</translation>
     </message>
@@ -831,27 +839,27 @@
 <context>
     <name>CMainWindow</name>
     <message>
-        <location filename="../CMainWindow.cpp" line="589"/>
+        <location filename="../CMainWindow.cpp" line="591"/>
         <source>Ele: %1%2</source>
         <translation>Höhe: %1%2</translation>
     </message>
     <message>
-        <location filename="../CMainWindow.cpp" line="605"/>
+        <location filename="../CMainWindow.cpp" line="607"/>
         <source>[Grid: %1]</source>
         <translation>[Gitter: %1]</translation>
     </message>
     <message>
-        <location filename="../CMainWindow.cpp" line="726"/>
+        <location filename="../CMainWindow.cpp" line="732"/>
         <source>Load GIS Data...</source>
         <translation>GIS Daten laden...</translation>
     </message>
     <message>
-        <location filename="../CMainWindow.cpp" line="760"/>
+        <location filename="../CMainWindow.cpp" line="766"/>
         <source>Select output file</source>
         <translation>Ausgabedatei auswählen</translation>
     </message>
     <message>
-        <location filename="../CMainWindow.cpp" line="786"/>
+        <location filename="../CMainWindow.cpp" line="792"/>
         <source>Select file to load</source>
         <translation>Zu ladende Datei auswählen</translation>
     </message>
@@ -1464,26 +1472,26 @@
         <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="2500"/>
-        <location filename="../map/CMapIMG.cpp" line="2508"/>
+        <location filename="../map/CMapIMG.cpp" line="2504"/>
         <location filename="../map/CMapIMG.cpp" line="2512"/>
-        <location filename="../map/CMapIMG.cpp" line="2517"/>
-        <location filename="../map/CMapIMG.cpp" line="2563"/>
-        <location filename="../map/CMapIMG.cpp" line="2571"/>
+        <location filename="../map/CMapIMG.cpp" line="2516"/>
+        <location filename="../map/CMapIMG.cpp" line="2521"/>
+        <location filename="../map/CMapIMG.cpp" line="2567"/>
         <location filename="../map/CMapIMG.cpp" line="2575"/>
-        <location filename="../map/CMapIMG.cpp" line="2580"/>
+        <location filename="../map/CMapIMG.cpp" line="2579"/>
+        <location filename="../map/CMapIMG.cpp" line="2584"/>
         <source>Point of Interest</source>
         <translation>Ort von Interesse</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="2707"/>
+        <location filename="../map/CMapIMG.cpp" line="2711"/>
         <source>Unknown</source>
         <translation>Unbekannt</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="2753"/>
-        <location filename="../map/CMapIMG.cpp" line="2761"/>
-        <location filename="../map/CMapIMG.cpp" line="2768"/>
+        <location filename="../map/CMapIMG.cpp" line="2757"/>
+        <location filename="../map/CMapIMG.cpp" line="2765"/>
+        <location filename="../map/CMapIMG.cpp" line="2772"/>
         <source>Area</source>
         <translation>Gebiet</translation>
     </message>
@@ -1595,19 +1603,19 @@
 <context>
     <name>CMapTMS</name>
     <message>
-        <location filename="../map/CMapTMS.cpp" line="71"/>
-        <location filename="../map/CMapTMS.cpp" line="81"/>
-        <location filename="../map/CMapTMS.cpp" line="140"/>
+        <location filename="../map/CMapTMS.cpp" line="67"/>
+        <location filename="../map/CMapTMS.cpp" line="77"/>
+        <location filename="../map/CMapTMS.cpp" line="136"/>
         <source>Error...</source>
         <translation>Fehler...</translation>
     </message>
     <message>
-        <location filename="../map/CMapTMS.cpp" line="71"/>
+        <location filename="../map/CMapTMS.cpp" line="67"/>
         <source>Failed to open %1</source>
         <translation>Öffnen fehlgeschlagen: %1</translation>
     </message>
     <message>
-        <location filename="../map/CMapTMS.cpp" line="81"/>
+        <location filename="../map/CMapTMS.cpp" line="77"/>
         <source>Failed to read: %1
 line %2, column %3:
  %4</source>
@@ -1616,25 +1624,25 @@ Zeile %2, Spalte %3:
 %4</translation>
     </message>
     <message>
-        <location filename="../map/CMapTMS.cpp" line="119"/>
+        <location filename="../map/CMapTMS.cpp" line="115"/>
         <source>Layer %1</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../map/CMapTMS.cpp" line="134"/>
+        <location filename="../map/CMapTMS.cpp" line="130"/>
         <source>This map requires OpenSSL support. However due to legal restrictions in some countries OpenSSL is not packaged with QMapShack. You can have a look at the <a href='https://www.openssl.org/community/binaries.html'>OpenSSL Homepage</a> for binaries. You have to copy libeay32.dll and ssleay32.dll into the QMapShack program directory.</source>
         <translation>Diese Karte benötigt OpenSSL. Aufgrund rechtlicher Beschränkungen in einigen Ländern, ist OpenSSL nicht Bestandteil von QMapShack. Sie können sich auf der <a href='https://www.openssl.org/community/binaries.html'>OpenSSL Homepage</a> nach Binäries umsehen. Sie müssen die Dateien libeay32.dll and ssleay32.dll in das QMapShack Programmverzeichnis kopieren.</translation>
     </message>
     <message>
         <source>This map requires OpenSSL support. However due to legal restrictions in some countries OpenSSL is not packaged with QMapShack. You can have a look at the <a href='https://www.openssl.org/community/binaries.html'>OpenSSL Homepage</a> for binaries.</source>
-        <translation>Diese Karte benötigt OpenSSL. Aufgrund rechtlicher Beschränkungen in einigen Ländern, ist OpenSSL nicht Bestandteil von QMapShack. Sie können sich auf der <a href='https://www.openssl.org/community/binaries.html'>OpenSSL Homepage</a> nach Binäries umsehen.</translation>
+        <translation type="vanished">Diese Karte benötigt OpenSSL. Aufgrund rechtlicher Beschränkungen in einigen Ländern, ist OpenSSL nicht Bestandteil von QMapShack. Sie können sich auf der <a href='https://www.openssl.org/community/binaries.html'>OpenSSL Homepage</a> nach Binäries umsehen.</translation>
     </message>
     <message>
         <source>--- All ---</source>
         <translation type="obsolete">--- Alle ---</translation>
     </message>
     <message>
-        <location filename="../map/CMapTMS.cpp" line="311"/>
+        <location filename="../map/CMapTMS.cpp" line="306"/>
         <source><b>%1</b>: %2 tiles pending<br/></source>
         <translation><b>%1</b>: %2 unerledigte Kacheln<br/></translation>
     </message>
@@ -1642,16 +1650,16 @@ Zeile %2, Spalte %3:
 <context>
     <name>CMapVRT</name>
     <message>
-        <location filename="../map/CMapVRT.cpp" line="47"/>
-        <location filename="../map/CMapVRT.cpp" line="61"/>
+        <location filename="../map/CMapVRT.cpp" line="45"/>
+        <location filename="../map/CMapVRT.cpp" line="60"/>
         <location filename="../map/CMapVRT.cpp" line="89"/>
-        <location filename="../map/CMapVRT.cpp" line="125"/>
+        <location filename="../map/CMapVRT.cpp" line="126"/>
         <source>Error...</source>
         <translation>Fehler...</translation>
     </message>
     <message>
-        <location filename="../map/CMapVRT.cpp" line="47"/>
-        <location filename="../map/CMapVRT.cpp" line="61"/>
+        <location filename="../map/CMapVRT.cpp" line="45"/>
+        <location filename="../map/CMapVRT.cpp" line="60"/>
         <source>Failed to load file: %1</source>
         <translation>Die Datei konnte nicht geladen werden: %1</translation>
     </message>
@@ -1661,7 +1669,7 @@ Zeile %2, Spalte %3:
         <translation>Die Datei muss eine 8 bit Palette haben, oder Graustufen.</translation>
     </message>
     <message>
-        <location filename="../map/CMapVRT.cpp" line="125"/>
+        <location filename="../map/CMapVRT.cpp" line="126"/>
         <source>No georeference information found.</source>
         <translation>Keine Georeferenzierung gefunden.</translation>
     </message>
@@ -1684,7 +1692,7 @@ Zeile %2, Spalte %3:
         <translation>Zieldatei auswählen...</translation>
     </message>
     <message>
-        <location filename="../tool/CMapVrtBuilder.cpp" line="125"/>
+        <location filename="../tool/CMapVrtBuilder.cpp" line="114"/>
         <source>!!! done !!!
 </source>
         <translation>!!! erledigt !!!</translation>
@@ -1698,22 +1706,22 @@ Zeile %2, Spalte %3:
 <context>
     <name>CMapWMTS</name>
     <message>
-        <location filename="../map/CMapWMTS.cpp" line="46"/>
-        <location filename="../map/CMapWMTS.cpp" line="56"/>
-        <location filename="../map/CMapWMTS.cpp" line="66"/>
-        <location filename="../map/CMapWMTS.cpp" line="75"/>
-        <location filename="../map/CMapWMTS.cpp" line="160"/>
-        <location filename="../map/CMapWMTS.cpp" line="220"/>
+        <location filename="../map/CMapWMTS.cpp" line="43"/>
+        <location filename="../map/CMapWMTS.cpp" line="53"/>
+        <location filename="../map/CMapWMTS.cpp" line="63"/>
+        <location filename="../map/CMapWMTS.cpp" line="72"/>
+        <location filename="../map/CMapWMTS.cpp" line="157"/>
+        <location filename="../map/CMapWMTS.cpp" line="217"/>
         <source>Error...</source>
         <translation>Fehler...</translation>
     </message>
     <message>
-        <location filename="../map/CMapWMTS.cpp" line="46"/>
+        <location filename="../map/CMapWMTS.cpp" line="43"/>
         <source>Failed to open %1</source>
         <translation>Öffnen fehlgeschlagen: %1</translation>
     </message>
     <message>
-        <location filename="../map/CMapWMTS.cpp" line="56"/>
+        <location filename="../map/CMapWMTS.cpp" line="53"/>
         <source>Failed to read: %1
 line %2, column %3:
  %4</source>
@@ -1722,32 +1730,36 @@ Zeile %2, Spalte %3:
 %4</translation>
     </message>
     <message>
-        <location filename="../map/CMapWMTS.cpp" line="66"/>
+        <location filename="../map/CMapWMTS.cpp" line="63"/>
         <source>Failed to read: %1
 Unknown structure.</source>
         <translation>Lesen fehlgeschlagen: %1
 Unbekannte Struktur.</translation>
     </message>
     <message>
-        <location filename="../map/CMapWMTS.cpp" line="75"/>
-        <source>Unexpexted service. '* WMTS 1.0.0' is expected. '%1 %2' is read.</source>
+        <location filename="../map/CMapWMTS.cpp" line="72"/>
+        <source>Unexpected service. '* WMTS 1.0.0' is expected. '%1 %2' is read.</source>
         <translation>Unerwarteter Dienst. '* WMTS 1.0.0' wird erwartet. '%1 %2' wurde gelesen.</translation>
     </message>
     <message>
-        <location filename="../map/CMapWMTS.cpp" line="154"/>
+        <source>Unexpexted service. '* WMTS 1.0.0' is expected. '%1 %2' is read.</source>
+        <translation type="vanished">Unerwarteter Dienst. '* WMTS 1.0.0' wird erwartet. '%1 %2' wurde gelesen.</translation>
+    </message>
+    <message>
+        <location filename="../map/CMapWMTS.cpp" line="151"/>
         <source>This map requires OpenSSL support. However due to legal restrictions in some countries OpenSSL is not packaged with QMapShack. You can have a look at the <a href='https://www.openssl.org/community/binaries.html'>OpenSSL Homepage</a> for binaries. You have to copy libeay32.dll and ssleay32.dll into the QMapShack program directory.</source>
         <translation>Diese Karte benötigt OpenSSL. Aufgrund rechtlicher Beschränkungen in einigen Ländern, ist OpenSSL nicht Bestandteil von QMapShack. Sie können sich auf der <a href='https://www.openssl.org/community/binaries.html'>OpenSSL Homepage</a> nach Binäries umsehen. Sie müssen die Dateien libeay32.dll and ssleay32.dll in das QMapShack Programmverzeichnis kopieren.</translation>
     </message>
     <message>
         <source>This map requires OpenSSL support. However due to legal restrictions in some countries OpenSSL is not packaged with QMapShack. You can have a look at the <a href='https://www.openssl.org/community/binaries.html'>OpenSSL Homepage</a> for binaries.</source>
-        <translation>Diese Karte benötigt OpenSSL. Aufgrund rechtlicher Beschränkungen in einigen Ländern, ist OpenSSL nicht Bestandteil von QMapShack. Sie können sich auf der <a href='https://www.openssl.org/community/binaries.html'>OpenSSL Homepage</a> nach Binäries umsehen.</translation>
+        <translation type="vanished">Diese Karte benötigt OpenSSL. Aufgrund rechtlicher Beschränkungen in einigen Ländern, ist OpenSSL nicht Bestandteil von QMapShack. Sie können sich auf der <a href='https://www.openssl.org/community/binaries.html'>OpenSSL Homepage</a> nach Binäries umsehen.</translation>
     </message>
     <message>
         <source>--- All ---</source>
         <translation type="obsolete">--- Alle ---</translation>
     </message>
     <message>
-        <location filename="../map/CMapWMTS.cpp" line="416"/>
+        <location filename="../map/CMapWMTS.cpp" line="413"/>
         <source><b>%1</b>: %2 tiles pending<br/></source>
         <translation><b>%1</b>: %2 unerledigte Kacheln</translation>
     </message>
@@ -1760,7 +1772,7 @@ Unbekannte Struktur.</translation>
         <translation type="obsolete">Unerwarterter Dienst. 'OGC WMTS 1.0.0' Wird erwartet. '%1 %2' wird gelesen.</translation>
     </message>
     <message>
-        <location filename="../map/CMapWMTS.cpp" line="220"/>
+        <location filename="../map/CMapWMTS.cpp" line="217"/>
         <source>No georeference information found.</source>
         <translation>Keine Georeferenzierung gefunden.</translation>
     </message>
@@ -1828,55 +1840,59 @@ Unbekannte Struktur.</translation>
     </message>
     <message>
         <location filename="../mouse/CMouseEditTrk.cpp" line="28"/>
-        <location filename="../mouse/CMouseEditTrk.cpp" line="36"/>
+        <location filename="../mouse/CMouseEditTrk.cpp" line="35"/>
         <source>Track</source>
         <translation>Track</translation>
     </message>
     <message>
-        <location filename="../mouse/CMouseEditTrk.cpp" line="39"/>
+        <location filename="../mouse/CMouseEditTrk.cpp" line="38"/>
         <source><b>Edit Track Points</b><br/>Select a function and a routing mode via the tool buttons. Next select a point of the line. Only points marked with a large square can be changed. The ones with a black dot are subpoints introduced by routing.<br/></source>
         <translation><b>Trackpunkte bearbeiten</b><br/>Wählen Sie mittels der Werkzeug-Buttons eine Funkion und einen Routing-Modus. Als nächstes wählen Sie einen Punkt auf der Linie. Es können nur Punkte geändert werden, die mit einem großen Quadrat markiert sind. Schwarze Punkte sind durchs Routing erzeugte Unterpunkte.<br/></translation>
     </message>
     <message>
-        <location filename="../mouse/CMouseEditTrk.cpp" line="81"/>
+        <location filename="../mouse/CMouseEditTrk.cpp" line="80"/>
         <source>Warning!</source>
         <translation>Warnung!</translation>
     </message>
     <message>
-        <location filename="../mouse/CMouseEditTrk.cpp" line="81"/>
-        <source>This will replace all data of the orignal by a simple line of coordinates. All other data will be lost permanently.</source>
+        <location filename="../mouse/CMouseEditTrk.cpp" line="80"/>
+        <source>This will replace all data of the original 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>
+    <message>
+        <source>This will replace all data of the orignal by a simple line of coordinates. All other data will be lost permanently.</source>
+        <translation type="vanished">Alle ursprünglichen Daten werden durch eine einfache Koordinatenlinie ersetzt. Alle anderen Daten sind dauerhaft verloren.</translation>
+    </message>
 </context>
 <context>
     <name>CMouseNormal</name>
     <message>
-        <location filename="../mouse/CMouseNormal.cpp" line="41"/>
+        <location filename="../mouse/CMouseNormal.cpp" line="39"/>
         <source>Add Waypoint</source>
         <translation>Wegpunkt hinzufügen</translation>
     </message>
     <message>
-        <location filename="../mouse/CMouseNormal.cpp" line="42"/>
+        <location filename="../mouse/CMouseNormal.cpp" line="40"/>
         <source>Add Track</source>
         <translation>Track hinzufügen</translation>
     </message>
     <message>
-        <location filename="../mouse/CMouseNormal.cpp" line="43"/>
+        <location filename="../mouse/CMouseNormal.cpp" line="41"/>
         <source>Add Route</source>
         <translation>Route hinzufügen</translation>
     </message>
     <message>
-        <location filename="../mouse/CMouseNormal.cpp" line="44"/>
+        <location filename="../mouse/CMouseNormal.cpp" line="42"/>
         <source>Add Area</source>
         <translation>Gebiet hinzufügen</translation>
     </message>
     <message>
-        <location filename="../mouse/CMouseNormal.cpp" line="47"/>
+        <location filename="../mouse/CMouseNormal.cpp" line="45"/>
         <source>Copy position</source>
         <translation>Position kopieren</translation>
     </message>
     <message>
-        <location filename="../mouse/CMouseNormal.cpp" line="48"/>
+        <location filename="../mouse/CMouseNormal.cpp" line="46"/>
         <source>Copy position (Grid)</source>
         <translation>Position kopieren (Gitter)</translation>
     </message>
@@ -1884,7 +1900,7 @@ Unbekannte Struktur.</translation>
 <context>
     <name>CMousePrint</name>
     <message>
-        <location filename="../mouse/CMousePrint.cpp" line="38"/>
+        <location filename="../mouse/CMousePrint.cpp" line="30"/>
         <source><b>Save(Print) Map</b><br/>Select a rectangular area on the map. Use the left mouse button and move the mouse. Abort with a right click. Adjust the selection by point-click-move on the corners. Save/print the selection by a left click on the disc/printer icon in the center of the selection.</source>
         <translation><b>Karte speichern (drucken)</b><br/>Wählen Sie mit der linken Maustaste einen rechteckigen Bereich auf der Karte aus. Die Auswahl kann durch Verschieben der Eckpunkte mit der Maus angepasst werden. Abbruch mit Rechtsklick. Speichern/Drucken erfolgt durch Linksklick auf das entsprechende Symbol in der Mitte der Auswahl.</translation>
     </message>
@@ -1892,7 +1908,7 @@ Unbekannte Struktur.</translation>
 <context>
     <name>CMouseRangeTrk</name>
     <message>
-        <location filename="../mouse/CMouseRangeTrk.cpp" line="44"/>
+        <location filename="../mouse/CMouseRangeTrk.cpp" line="42"/>
         <source><b>Select Range</b><br/>Select first track point. And then a second one.<br/></source>
         <translation><b>Bereich wählen</b><br/>Wählen Sie einen ersten Punkt. Dann einen zweiten.<br/></translation>
     </message>
@@ -1900,7 +1916,7 @@ Unbekannte Struktur.</translation>
 <context>
     <name>CPhotoAlbum</name>
     <message>
-        <location filename="../helpers/CPhotoAlbum.cpp" line="72"/>
+        <location filename="../widgets/CPhotoAlbum.cpp" line="73"/>
         <source>Select images...</source>
         <translation>Bilder wählen...</translation>
     </message>
@@ -1908,39 +1924,35 @@ Unbekannte Struktur.</translation>
 <context>
     <name>CPlotDistance</name>
     <message>
-        <location filename="../plot/CPlotDistance.cpp" line="58"/>
         <source>distance [%1]</source>
-        <translation>Entf. [%1]</translation>
+        <translation type="vanished">Entf. [%1]</translation>
     </message>
     <message>
-        <location filename="../plot/CPlotDistance.cpp" line="62"/>
         <source>time</source>
-        <translation>Uhrzeit</translation>
+        <translation type="vanished">Uhrzeit</translation>
     </message>
     <message>
         <source>time [h]</source>
         <translation type="obsolete">Uhrzeit</translation>
     </message>
     <message>
-        <location filename="../plot/CPlotDistance.cpp" line="64"/>
         <source>distance. [%1]</source>
-        <translation>Entf. [%1]</translation>
+        <translation type="vanished">Entf. [%1]</translation>
     </message>
 </context>
 <context>
     <name>CPlotProfile</name>
     <message>
-        <location filename="../plot/CPlotProfile.cpp" line="65"/>
+        <location filename="../plot/CPlotProfile.cpp" line="63"/>
         <source>distance [%1]</source>
         <translation>Entfernung [%1]</translation>
     </message>
     <message>
-        <location filename="../plot/CPlotProfile.cpp" line="69"/>
         <source>time [h]</source>
-        <translation>Zeit [h]</translation>
+        <translation type="vanished">Zeit [h]</translation>
     </message>
     <message>
-        <location filename="../plot/CPlotProfile.cpp" line="71"/>
+        <location filename="../plot/CPlotProfile.cpp" line="64"/>
         <source>alt. [%1]</source>
         <translation>Höhe [%1]</translation>
     </message>
@@ -1948,45 +1960,42 @@ Unbekannte Struktur.</translation>
 <context>
     <name>CPlotSpeed</name>
     <message>
-        <location filename="../plot/CPlotSpeed.cpp" line="57"/>
         <source>distance [%1]</source>
-        <translation>Entfernung [%1]</translation>
+        <translation type="vanished">Entfernung [%1]</translation>
     </message>
     <message>
-        <location filename="../plot/CPlotSpeed.cpp" line="61"/>
         <source>time [h]</source>
-        <translation>Zeit [h]</translation>
+        <translation type="vanished">Zeit [h]</translation>
     </message>
     <message>
-        <location filename="../plot/CPlotSpeed.cpp" line="63"/>
         <source>speed. [%1]</source>
-        <translation>Geschw. [%1]</translation>
+        <translation type="vanished">Geschw. [%1]</translation>
     </message>
 </context>
 <context>
     <name>CPrintDialog</name>
     <message>
-        <location filename="../print/CPrintDialog.cpp" line="68"/>
+        <location filename="../print/CPrintDialog.cpp" line="67"/>
         <source>Print Map...</source>
         <translation>Karte drucken...</translation>
     </message>
     <message>
-        <location filename="../print/CPrintDialog.cpp" line="75"/>
+        <location filename="../print/CPrintDialog.cpp" line="74"/>
         <source>Save Map as Image...</source>
         <translation>Karte als Bild speichern...</translation>
     </message>
     <message>
-        <location filename="../print/CPrintDialog.cpp" line="95"/>
+        <location filename="../print/CPrintDialog.cpp" line="94"/>
         <source>Printer Properties...</source>
         <translation>Drucker Eigenschaften...</translation>
     </message>
     <message>
-        <location filename="../print/CPrintDialog.cpp" line="170"/>
+        <location filename="../print/CPrintDialog.cpp" line="169"/>
         <source>Pages: %1 x %2</source>
         <translation>Seiten: %1 x %2</translation>
     </message>
     <message>
-        <location filename="../print/CPrintDialog.cpp" line="171"/>
+        <location filename="../print/CPrintDialog.cpp" line="170"/>
         <source>Zoom with mouse wheel on map below to change resolution:
 
 %1x%2 pixel
@@ -1999,12 +2008,12 @@ x: %3 m/px
 y: %4 m/px</translation>
     </message>
     <message>
-        <location filename="../print/CPrintDialog.cpp" line="217"/>
+        <location filename="../print/CPrintDialog.cpp" line="216"/>
         <source>Printing pages.</source>
         <translation>Drucke Seiten.</translation>
     </message>
     <message>
-        <location filename="../print/CPrintDialog.cpp" line="259"/>
+        <location filename="../print/CPrintDialog.cpp" line="260"/>
         <source>Save map...</source>
         <translation>Karte speichern...</translation>
     </message>
@@ -2025,22 +2034,22 @@ y: %4 m/px</translation>
 <context>
     <name>CProjWizard</name>
     <message>
-        <location filename="../grid/CProjWizard.cpp" line="57"/>
+        <location filename="../grid/CProjWizard.cpp" line="62"/>
         <source>north</source>
         <translation>Norden</translation>
     </message>
     <message>
-        <location filename="../grid/CProjWizard.cpp" line="58"/>
+        <location filename="../grid/CProjWizard.cpp" line="63"/>
         <source>south</source>
         <translation>Süden</translation>
     </message>
     <message>
-        <location filename="../grid/CProjWizard.cpp" line="215"/>
+        <location filename="../grid/CProjWizard.cpp" line="221"/>
         <source>Error...</source>
         <translation>Fehler...</translation>
     </message>
     <message>
-        <location filename="../grid/CProjWizard.cpp" line="215"/>
+        <location filename="../grid/CProjWizard.cpp" line="221"/>
         <source>The value
 '%1'
 is not a valid coordinate system definition:
@@ -2212,7 +2221,7 @@ ist keine gültige Koordinatensystemdefinition:
         <translation>Entferne vorhandene Datei %1</translation>
     </message>
     <message>
-        <location filename="../qlgt/CQmsDb.cpp" line="162"/>
+        <location filename="../qlgt/CQmsDb.cpp" line="163"/>
         <source>%1: drop item with QLGT DB ID %2</source>
         <translation>%1: verwerfe das Element mit der QLGT DB ID %2</translation>
     </message>
@@ -2348,224 +2357,224 @@ ist keine gültige Koordinatensystemdefinition:
 <context>
     <name>CRouterRoutino</name>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="89"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="78"/>
         <source>Foot</source>
         <translation>Fußgänger</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="90"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="79"/>
         <source>Horse</source>
         <translation>Reiter</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="91"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="80"/>
         <source>Wheelchair</source>
         <translation>Rollstuhl</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="92"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="81"/>
         <source>Bicycle</source>
         <translation>Fahrrad</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="93"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="82"/>
         <source>Moped</source>
         <translation>Moped</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="94"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="83"/>
         <source>Motorcycle</source>
         <translation>Motorrad</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="95"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="84"/>
         <source>Motorcar</source>
         <translation>Auto</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="96"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="85"/>
         <source>Goods</source>
         <translation>LKW</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="63"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="59"/>
         <source>Shortest</source>
         <translation>Kürzeste</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="59"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="55"/>
         <source>Found Routino with a wrong version. Expected %1 found %2</source>
         <translation>Falsche Routino Version gefunden. Erwartet wird %1, gefunden wurde %2</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="64"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="60"/>
         <source>Quickest</source>
         <translation>Schnellste</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="98"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="87"/>
         <source>English</source>
         <translation>Englisch</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="99"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="88"/>
         <source>German</source>
         <translation>Deutsch</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="100"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="89"/>
         <source>French</source>
         <translation>Französisch</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="101"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="90"/>
         <source>Hungarian</source>
         <translation>Ungarisch</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="102"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="91"/>
         <source>Dutch</source>
         <translation>Niederländisch</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="103"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="92"/>
         <source>Russian</source>
         <translation>Russisch</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="104"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="93"/>
         <source>Polish</source>
         <translation>Polnisch</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="139"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="128"/>
         <source>A function was called without the database variable set.</source>
         <translation>Eine Funktion wurde ohne gesetzte Datenbank aufgerufen.</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="142"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="131"/>
         <source>A function was called without the profile variable set.</source>
         <translation>Eine Funktion wurde ohne gesetztes Profil aufgerufen.</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="145"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="134"/>
         <source>A function was called without the translation variable set.</source>
         <translation>Eine Funktion wurde ohne gesetzte Sprache aufgerufen.</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="148"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="137"/>
         <source>The specified database to load did not exist.</source>
         <translation>Die zu ladende vorgegebene Datenbank existiert nicht.</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="151"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="140"/>
         <source>The specified database could not be loaded.</source>
         <translation>Die vorgegebene Datenbank konnte nicht geladen werden.</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="154"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="143"/>
         <source>The specified profiles XML file did not exist.</source>
         <translation>Die vorgegebene XML Profildatei existiert nicht.</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="157"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="146"/>
         <source>The specified profiles XML file could not be loaded.</source>
         <translation>Die vorgegebene XML Profildatei konnte nicht geladen werden.</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="160"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="149"/>
         <source>The specified translations XML file did not exist.</source>
         <translation>Die vorgegebene XML Sprachdatei existiert nicht.</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="163"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="152"/>
         <source>The specified translations XML file could not be loaded.</source>
         <translation>Die vorgegebene XML Profildatei konnte nicht geladen werden.</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="166"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="155"/>
         <source>The requested profile name does not exist in the loaded XML file.</source>
         <translation>Den geforderten Profilnamen gibt es in der geladenen XML Datei nicht.</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="169"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="158"/>
         <source>The requested translation language does not exist in the loaded XML file.</source>
         <translation>Die geforderte Sprache gibt es in der geladenen XML Datei nicht.</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="172"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="161"/>
         <source>There is no highway near the coordinates to place a waypoint.</source>
         <translation>Es gibt keine Straße in der Nähe des zu plazierenden Wegpunktes.</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="175"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="164"/>
         <source>The profile and database do not work together.</source>
         <translation>Profil und Datenbank funktionieren nicht zusammen.</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="178"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="167"/>
         <source>The profile being used has not been validated.</source>
         <translation>Das zu benutzende Profil wurde nicht validiert.</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="181"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="170"/>
         <source>The user specified profile contained invalid data.</source>
         <translation>Das vorgegebene Profil enthält ungültige Daten.</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="184"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="173"/>
         <source>The routing options specified are not consistent with each other.</source>
         <translation>Die vorgebenen Routingoptionen passen nicht zusammen.</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="187"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="176"/>
         <source>There is a mismatch between the library and caller API version.</source>
         <translation>Die Library und die API Version passen nicht zusammen.</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="190"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="179"/>
         <source>Route calculation was aborted by user.</source>
         <translation>Die Routenberechnung wurde vom Benutzer abgebrochen.</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="196"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="185"/>
         <source>A route could not be found to waypoint %1.</source>
         <translation>Es konnte keine Route zum Wegpunkt %1 gefunden werden.</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="199"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="188"/>
         <source>Unknown error: %1</source>
         <translation>Unbekannter Fehler: %1</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="211"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="200"/>
         <source>profile "%1"</source>
         <translation>Profil "%1"</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="212"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="201"/>
         <source>, mode "%1"</source>
         <translation>, Modus "%1"</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="59"/>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="249"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="55"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="238"/>
         <source>Warning...</source>
         <translation>Warnung...</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="249"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="238"/>
         <source>%1: Due to limitations in the Windows POSIX API Routino can't handle files larger than 4GB.</source>
         <translation>%1: Aufgrund der Einschränkungen der Windows POSIX API können Dateien, die größer als 4GB sind, nicht bearbeitet werden.</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="353"/>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="440"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="342"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="429"/>
         <source>Calculate route with %1</source>
         <translation>Berechne Route mit %1</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="361"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="350"/>
         <source><br/>Calculation time: %1s</source>
         <translation><br/>Berechnungszeit: %1 s</translation>
     </message>
@@ -2603,17 +2612,17 @@ ist keine gültige Koordinatensystemdefinition:
 <context>
     <name>CRoutinoDatabaseBuilder</name>
     <message>
-        <location filename="../tool/CRoutinoDatabaseBuilder.cpp" line="38"/>
+        <location filename="../tool/CRoutinoDatabaseBuilder.cpp" line="32"/>
         <source>Create Routino Database</source>
         <translation>Routino Datenbank erstellen</translation>
     </message>
     <message>
-        <location filename="../tool/CRoutinoDatabaseBuilder.cpp" line="62"/>
+        <location filename="../tool/CRoutinoDatabaseBuilder.cpp" line="56"/>
         <source>Select files...</source>
         <translation>Dateien auswählen...</translation>
     </message>
     <message>
-        <location filename="../tool/CRoutinoDatabaseBuilder.cpp" line="86"/>
+        <location filename="../tool/CRoutinoDatabaseBuilder.cpp" line="80"/>
         <source>Select target path...</source>
         <translation>Zielpfad auswählen...</translation>
     </message>
@@ -2623,7 +2632,7 @@ ist keine gültige Koordinatensystemdefinition:
         <translation type="obsolete">!!! fehlgeschlagen !!!</translation>
     </message>
     <message>
-        <location filename="../tool/CRoutinoDatabaseBuilder.cpp" line="147"/>
+        <location filename="../tool/CRoutinoDatabaseBuilder.cpp" line="141"/>
         <source>!!! done !!!
 </source>
         <translation>!!! erledigt !!!</translation>
@@ -2696,7 +2705,7 @@ ist keine gültige Koordinatensystemdefinition:
 <context>
     <name>CTextEditWidget</name>
     <message>
-        <location filename="../helpers/CTextEditWidget.cpp" line="73"/>
+        <location filename="../widgets/CTextEditWidget.cpp" line="73"/>
         <source>&Color...</source>
         <translation>&Farbe...</translation>
     </message>
@@ -2709,121 +2718,149 @@ ist keine gültige Koordinatensystemdefinition:
         <translation>Über....</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="49"/>
+        <location filename="../IAbout.ui" line="55"/>
         <source><b>QMapShack</b>, Version</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="56"/>
-        <location filename="../IAbout.ui" line="100"/>
-        <location filename="../IAbout.ui" line="114"/>
-        <location filename="../IAbout.ui" line="128"/>
-        <location filename="../IAbout.ui" line="142"/>
+        <location filename="../IAbout.ui" line="62"/>
+        <location filename="../IAbout.ui" line="106"/>
+        <location filename="../IAbout.ui" line="120"/>
+        <location filename="../IAbout.ui" line="134"/>
+        <location filename="../IAbout.ui" line="148"/>
         <source>TextLabel</source>
         <translation>Bezeichnung</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="93"/>
+        <location filename="../IAbout.ui" line="99"/>
         <source>Qt</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="107"/>
+        <location filename="../IAbout.ui" line="113"/>
         <source>GDAL</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="121"/>
+        <location filename="../IAbout.ui" line="127"/>
         <source>Proj4</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="135"/>
+        <location filename="../IAbout.ui" line="141"/>
         <source>Routino</source>
         <translation>Routino</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="160"/>
+        <location filename="../IAbout.ui" line="166"/>
         <source>Rainer Unseld </source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="167"/>
+        <location filename="../IAbout.ui" line="173"/>
         <source>French</source>
         <translation>Französisch</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="174"/>
+        <location filename="../IAbout.ui" line="180"/>
         <source>Czech</source>
         <translation>Tschechisch</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="181"/>
+        <location filename="../IAbout.ui" line="187"/>
         <source>Pavel Fric</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="188"/>
+        <location filename="../IAbout.ui" line="194"/>
         <source>German</source>
         <translation>Deutsch</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="195"/>
+        <location filename="../IAbout.ui" line="201"/>
+        <source><b>Translation:</b></source>
+        <translation><b>Übersetzung:</b></translation>
+    </message>
+    <message>
+        <location filename="../IAbout.ui" line="229"/>
+        <source>Dutch</source>
+        <translation type="unfinished">Niederländisch</translation>
+    </message>
+    <message>
+        <location filename="../IAbout.ui" line="236"/>
+        <source>Harrie Klomp</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../IAbout.ui" line="295"/>
+        <source><b>Binaries:</b></source>
+        <translation><b>Ausführbare Dateien:</b></translation>
+    </message>
+    <message>
+        <location filename="../IAbout.ui" line="311"/>
+        <source><b>Contributors:</b></source>
+        <translation><b>Mitwirkende:</b></translation>
+    </message>
+    <message>
+        <location filename="../IAbout.ui" line="318"/>
+        <source>Christian Eichler (qms at christian-eichler.de)</source>
+        <translation></translation>
+    </message>
+    <message>
         <source>Translation:</source>
-        <translation>Übersetzung:</translation>
+        <translation type="vanished">Übersetzung:</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="202"/>
+        <location filename="../IAbout.ui" line="208"/>
         <source>Josef Latt</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="209"/>
+        <location filename="../IAbout.ui" line="215"/>
         <source>Spanish</source>
         <translation>Spanisch</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="216"/>
+        <location filename="../IAbout.ui" line="222"/>
         <source>Jose Luis Domingo Lopez</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="234"/>
+        <location filename="../IAbout.ui" line="254"/>
         <source>Ivo Kronenberg</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="241"/>
+        <location filename="../IAbout.ui" line="261"/>
         <source>Helmut Schmidt</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="248"/>
+        <location filename="../IAbout.ui" line="268"/>
         <source>Win64</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="255"/>
+        <location filename="../IAbout.ui" line="275"/>
         <source>OS X</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="262"/>
+        <location filename="../IAbout.ui" line="282"/>
         <source>...and thanks to all Linux binary maintainers for doing a great job. Special thanks to Dan Horák and Bas Couwenberg for showing presence on the mailing list to discuss distribution related topics.</source>
         <translation>... und Danke an alle Ersteller von ausführbaren Linux-Dateien für die gute Arbeit. Ganz besonderen Dank an Dan Horák und Bas Couwenberg für ihre Teilnahme an der Diskussion in der Mailingliste distributionsbezogene Punkte betreffend.</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="275"/>
         <source>Binaries:</source>
-        <translation>Ausführbare Dateien:</translation>
+        <translation type="vanished">Ausführbare Dateien:</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="291"/>
+        <location filename="../IAbout.ui" line="332"/>
         <source>This software is licensed under GPL3 or any later version</source>
         <translation>Diese Software steht unter der GPL3 Lizenz (oder spätere Versionen)</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="298"/>
+        <location filename="../IAbout.ui" line="339"/>
         <source>© 2014 Oliver Eichler (oliver.eichler at gmx.de)</source>
         <translation></translation>
     </message>
@@ -2889,7 +2926,7 @@ ist keine gültige Koordinatensystemdefinition:
         <translation>Koordinatenformat...</translation>
     </message>
     <message>
-        <location filename="../units/ICoordFormatSetup.ui" line="22"/>
+        <location filename="../units/ICoordFormatSetup.ui" line="36"/>
         <source>N48° 53.660 E013° 31.113</source>
         <translation></translation>
     </message>
@@ -2899,7 +2936,7 @@ ist keine gültige Koordinatensystemdefinition:
         <translation></translation>
     </message>
     <message>
-        <location filename="../units/ICoordFormatSetup.ui" line="36"/>
+        <location filename="../units/ICoordFormatSetup.ui" line="22"/>
         <source>N48° 53' 39.6" E13° 31' 6.78"</source>
         <translation></translation>
     </message>
@@ -2919,10 +2956,59 @@ ist keine gültige Koordinatensystemdefinition:
     </message>
 </context>
 <context>
+    <name>ICutTrk</name>
+    <message>
+        <location filename="../gis/trk/ICutTrk.ui" line="14"/>
+        <source>Cut Track</source>
+        <translation>Track teilen</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/ICutTrk.ui" line="20"/>
+        <source>Delete first part of the track and keep second one</source>
+        <translation>Löscht den ersten Teil des Tracks und behält den zweiten</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/ICutTrk.ui" line="27"/>
+        <source>Keep both parts of the track</source>
+        <translation>Behält beide Teile des Tracks</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/ICutTrk.ui" line="37"/>
+        <source>Keep first part of the track and delete second one</source>
+        <translation>Behält den ersten Teil des Tracks und löscht den zweiten</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/ICutTrk.ui" line="60"/>
+        <source>Check this to store the result into a new track. 
+
+If you keep both parts of the track you have to create new ones. 
+
+If you want to keep just one half you can simply remove the points, or check this to create a new track.</source>
+        <translation>Wählen Sie das aus, wenn das Ergebnis ein neuer Track sein soll.
+
+Wenn Sie beide Teile des Tracks behalten wollen, müssen neue Tracks erstellt werden.
+
+Wenn Sie nur die eine Hälfte behalten wollen, dann können auch nur die Punkte gelöscht werden, oder wenn Sie das hier auswählen, ein neuer Track erstellt werden.</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/ICutTrk.ui" line="67"/>
+        <source>Create a new track</source>
+        <translation>Neuen Track erstellen</translation>
+    </message>
+    <message>
+        <source>Create a clone</source>
+        <translation type="vanished">Ein Abbild erstellen</translation>
+    </message>
+</context>
+<context>
     <name>IDemPathSetup</name>
     <message>
-        <location filename="../dem/IDemPathSetup.ui" line="14"/>
         <source>Setup DEM file pathss</source>
+        <translation type="vanished">Pfad für DEM Dateien setzen</translation>
+    </message>
+    <message>
+        <location filename="../dem/IDemPathSetup.ui" line="14"/>
+        <source>Setup DEM file paths</source>
         <translation>Pfad für DEM Dateien setzen</translation>
     </message>
     <message>
@@ -2981,17 +3067,29 @@ ist keine gültige Koordinatensystemdefinition:
         <translation>Hangneigung </translation>
     </message>
     <message>
-        <location filename="../dem/IDemPropSetup.ui" line="186"/>
-        <location filename="../dem/IDemPropSetup.ui" line="193"/>
-        <location filename="../dem/IDemPropSetup.ui" line="200"/>
-        <location filename="../dem/IDemPropSetup.ui" line="207"/>
         <location filename="../dem/IDemPropSetup.ui" line="226"/>
-        <location filename="../dem/IDemPropSetup.ui" line="245"/>
-        <location filename="../dem/IDemPropSetup.ui" line="264"/>
-        <location filename="../dem/IDemPropSetup.ui" line="271"/>
-        <location filename="../dem/IDemPropSetup.ui" line="278"/>
-        <location filename="../dem/IDemPropSetup.ui" line="297"/>
-        <location filename="../dem/IDemPropSetup.ui" line="304"/>
+        <location filename="../dem/IDemPropSetup.ui" line="326"/>
+        <location filename="../dem/IDemPropSetup.ui" line="410"/>
+        <location filename="../dem/IDemPropSetup.ui" line="494"/>
+        <location filename="../dem/IDemPropSetup.ui" line="578"/>
+        <source>°</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../dem/IDemPropSetup.ui" line="229"/>
+        <location filename="../dem/IDemPropSetup.ui" line="329"/>
+        <location filename="../dem/IDemPropSetup.ui" line="413"/>
+        <location filename="../dem/IDemPropSetup.ui" line="497"/>
+        <location filename="../dem/IDemPropSetup.ui" line="581"/>
+        <source>> </source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../dem/IDemPropSetup.ui" line="251"/>
+        <location filename="../dem/IDemPropSetup.ui" line="270"/>
+        <location filename="../dem/IDemPropSetup.ui" line="354"/>
+        <location filename="../dem/IDemPropSetup.ui" line="438"/>
+        <location filename="../dem/IDemPropSetup.ui" line="522"/>
         <source>TextLabel</source>
         <translation>Bezeichnung</translation>
     </message>
@@ -3264,7 +3362,7 @@ ist keine gültige Koordinatensystemdefinition:
         <translation type="obsolete">Position</translation>
     </message>
     <message>
-        <location filename="../gis/rte/IDetailsRte.ui" line="173"/>
+        <location filename="../gis/rte/IDetailsRte.ui" line="176"/>
         <source>Hist.</source>
         <translation>Historie</translation>
     </message>
@@ -3285,118 +3383,165 @@ ist keine gültige Koordinatensystemdefinition:
         <translation></translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="203"/>
         <source>Graph Control</source>
-        <translation>Grafikeinstellungen</translation>
+        <translation type="vanished">Grafikeinstellungen</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="224"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="533"/>
         <source>Profile</source>
         <translation>Profil</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="231"/>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="545"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="702"/>
         <source>Speed</source>
         <translation>Geschw.</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="238"/>
         <source>Progress</source>
-        <translation>Verlauf</translation>
+        <translation type="vanished">Verlauf</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="248"/>
         <source>Track</source>
-        <translation>Track</translation>
+        <translation type="vanished">Track</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="274"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="163"/>
         <source>Toggle read only mode. You have to open the lock to edit the item.</source>
         <translation>Den Schreibschutz ändern. Das Schloss muss offen sein um das Element zu bearbeiten.</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="277"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="166"/>
         <source>...</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="307"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="202"/>
         <source><html><head/><body><p>The waypoint was imported to QMapShack and was changed. It does not show the original data anymore. Please see history for changes. </p></body></html></source>
         <translation><html><head/><body><p>Der Wegpunkt wurde in QMapShack importiert und geändert. Die ursprünglichen Daten werden nicht mehr angezeigt. Näheres siehe Änderungshistorie.</p></body></html></translation>
     </message>
     <message>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="298"/>
+        <source>Style</source>
+        <translation>Stil</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="340"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="434"/>
+        <source>from Data</source>
+        <translation>aus Daten</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="353"/>
+        <source>Source</source>
+        <translation>Quelle</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="376"/>
+        <source>Maximum</source>
+        <translation></translation>
+    </message>
+    <message>
         <location filename="../gis/trk/IDetailsTrk.ui" line="405"/>
+        <source>Minimum</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="447"/>
+        <source>Solid color</source>
+        <translation>Feste Farbe</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="495"/>
+        <source>Graphs</source>
+        <translation>Grafiken</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="540"/>
+        <source>Graph 3</source>
+        <translation>Grafik 3</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="547"/>
+        <source>Graph 2</source>
+        <translation>Grafik 2</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="554"/>
+        <source>Graph 1</source>
+        <translation>Grafik 1</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="562"/>
         <source>Activity</source>
         <translation>Aktivität</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="450"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="607"/>
         <source>To differentiate the track statistics select an activity from the list for the complete track. Or select a part of the track to assign an activity.</source>
         <translation>Um Trackstatistiken zu differenzieren, wählen Sie für den gesamten Track eine Aktivität aus der Liste. Oder wählen Sie einen Teil des Track aus und weisen diesem eine Aktivität zu.</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="477"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="634"/>
         <source>Points</source>
         <translation>Punkte</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="525"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="682"/>
         <source>Time</source>
         <translation>Zeit</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="530"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="687"/>
         <source>Ele.</source>
         <translation>Höhe</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="535"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="692"/>
         <source>Delta</source>
         <translation>Delta</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="540"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="697"/>
         <source>Dist.</source>
         <translation>Entf.</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="550"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="707"/>
         <source>Slope</source>
         <translation>Neigung</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="555"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="712"/>
         <source>Ascend</source>
         <translation>Anstieg</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="560"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="717"/>
         <source>Descend</source>
         <translation>Abstieg</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="565"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="722"/>
         <source>Position</source>
         <translation>Position</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="377"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="266"/>
         <source>Info</source>
         <translation>Info</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="335"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="227"/>
         <source>-</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="574"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="731"/>
         <source>Filter</source>
         <translation>Filter</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="611"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="768"/>
         <source>Hist.</source>
         <translation>Historie</translation>
     </message>
@@ -3577,6 +3722,29 @@ ist keine gültige Koordinatensystemdefinition:
     </message>
 </context>
 <context>
+    <name>IFilterInvalid</name>
+    <message>
+        <location filename="../gis/trk/filter/IFilterInvalid.ui" line="14"/>
+        <source>Form</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/filter/IFilterInvalid.ui" line="41"/>
+        <source>Hide Invalid Points</source>
+        <translation>Ungültige Punkte ausblenden</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/filter/IFilterInvalid.ui" line="56"/>
+        <source>Hide points with invalid coordinates at the beginning of the track.</source>
+        <translation>Blendet Punkte mit ungültigen Koordinaten am Anfang vom Track aus.</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/filter/IFilterInvalid.ui" line="63"/>
+        <source>...</source>
+        <translation></translation>
+    </message>
+</context>
+<context>
     <name>IFilterMedian</name>
     <message>
         <location filename="../gis/trk/filter/IFilterMedian.ui" line="14"/>
@@ -4444,62 +4612,62 @@ Keine Lust die Anleitung zu lesen!</translation>
         <translation type="obsolete">Alle ursprünglichen Daten werden durch eine einfache Koordinatenlinie ersetzt. Alle anderen Daten sind dauerhaft verloren.</translation>
     </message>
     <message>
-        <location filename="../mouse/line/IMouseEditLine.cpp" line="253"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="255"/>
         <source><b>New Line</b><br/>Move the mouse and use the left mouse button to drop points. When done use the right mouse button to stop.<br/></source>
         <translation><b>Neue Linie</b><br/>Erstellen Sie Punkte durch Verschieben des Mauscursors und Drücken der linken Maustaste. Mit der rechten Maustaste beenden Sie den Vorgang.<br/></translation>
     </message>
     <message>
-        <location filename="../mouse/line/IMouseEditLine.cpp" line="293"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="302"/>
         <source><b>Delete Point</b><br/>Move the mouse close to a point and press the left button to delete it.<br/></source>
         <translation><b>Punkt löschen</b><br/>Bewegen Sie den Mauscursor nahe an einen Punkt und drücken Sie die linke Maustaste um ihn zu löschen. <br/></translation>
     </message>
     <message>
-        <location filename="../mouse/line/IMouseEditLine.cpp" line="302"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="311"/>
         <source><b>Select Range of Points</b><br/>Left click on first point to start selection. Left click second point to complete selection and choose from options. Use the right mouse button to cancel.<br/></source>
         <translation><b>Punktebereich auswählen</b><br/>Mit der linken Maustaste wählen Sie den ersten Punkt aus. Mit einem erneuten Drücken der linken Maustaste wählen Sie den zweiten Punkt aus und dann wählen Sie eine der Optionen. Zum Abbrechen nutzen Sie die rechte Maustaste.<br/></translation>
     </message>
     <message>
-        <location filename="../mouse/line/IMouseEditLine.cpp" line="311"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="320"/>
         <source><b>Move Point</b><br/>Move the mouse close to a point and press the left button to make it stick to the cursor. Move the mouse to move the point. Drop the point by a left click. Use the right mouse button to cancel.<br/></source>
         <translation><b>Punkt verschieben</b><br/>Bewegen Sie den Mauscursor nahe an einen Punkt und drücken die linke Maustaste, um ihn mit dem Cursor zu fangen. Verschieben Sie den Punkt mit der Maus. Setzen Sie den Punkt mit einem Linksklick. Zum Abbrechen nutzen Sie die rechte Maustaste.<br/></translation>
     </message>
     <message>
-        <location filename="../mouse/line/IMouseEditLine.cpp" line="320"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="329"/>
         <source><b>Add Point</b><br/>Move the mouse close to a line segment and press the left button to add a point. The point will stick to the cursor and you can move it.  Drop the point by a left click. Use the right mouse button to cancel.<br/></source>
         <translation><b>Punkt hinzufügen</b><br/>Bewegen Sie den Mauscursor nahe an ein Liniensegment und drücken die linke Maustaste, um einen Punkt hinzuzufügen. Der Punkt wird durch den Cursor gefangen und kann verschoben werden. Setzen Sie den Punkt mit einem Linksklick. Zum Abbrechen nutzen Sie die rechte Maustaste.<br/></translation>
     </message>
     <message>
-        <location filename="../mouse/line/IMouseEditLine.cpp" line="329"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="338"/>
         <source><b>No Routing</b><br/>All points will be connected with a straight line.<br/></source>
         <translation><b>Kein Routing</b><br/>Alle Punkte werden mittles einer geraden Linie verbunden.<br/></translation>
     </message>
     <message>
-        <location filename="../mouse/line/IMouseEditLine.cpp" line="334"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="343"/>
         <source><b>Auto Routing</b><br/>The current router setup is used to derive a route between points. <b>Note:</b> The selected router must be able to route on-the-fly. Offline routers usually can do, online routers can't.<br/></source>
         <translation><b>Auto Routing</b><br/>Die aktuellen Router Einstellungen erstellen eine Route zwischen Punkten. <b>Hinweis:</b> Der gewählte Router muss schnell routen können. Offline Router können dies gewöhnlich, Online Router nicht.<br/></translation>
     </message>
     <message>
-        <location filename="../mouse/line/IMouseEditLine.cpp" line="339"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="348"/>
         <source><b>Vector Routing</b><br/>Connect points with a line from a loaded vector map if possible.<br/></source>
         <translation><b>Vektor Routing</b><br/>Verbindet Punkte mit einer Linie einer geladenen Vektorkarte, soweit möglich.<br/></translation>
     </message>
     <message>
-        <location filename="../mouse/line/IMouseEditLine.cpp" line="498"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="517"/>
         <source><b>%1 Metrics</b></source>
         <translation><b>%1maße</b></translation>
     </message>
     <message>
-        <location filename="../mouse/line/IMouseEditLine.cpp" line="501"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="520"/>
         <source>Distance:</source>
         <translation>Entfernung:</translation>
     </message>
     <message>
-        <location filename="../mouse/line/IMouseEditLine.cpp" line="503"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="522"/>
         <source>Ascend:</source>
         <translation>Anstieg:</translation>
     </message>
     <message>
-        <location filename="../mouse/line/IMouseEditLine.cpp" line="505"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="524"/>
         <source>Descend:</source>
         <translation>Abstieg:</translation>
     </message>
@@ -4511,13 +4679,13 @@ Keine Lust die Anleitung zu lesen!</translation>
 <context>
     <name>IPhotoAlbum</name>
     <message>
-        <location filename="../helpers/IPhotoAlbum.ui" line="20"/>
+        <location filename="../widgets/IPhotoAlbum.ui" line="20"/>
         <source>Form</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../helpers/IPhotoAlbum.ui" line="50"/>
-        <location filename="../helpers/IPhotoAlbum.ui" line="77"/>
+        <location filename="../widgets/IPhotoAlbum.ui" line="50"/>
+        <location filename="../widgets/IPhotoAlbum.ui" line="77"/>
         <source>...</source>
         <translation></translation>
     </message>
@@ -4525,27 +4693,27 @@ Keine Lust die Anleitung zu lesen!</translation>
 <context>
     <name>IPlot</name>
     <message>
-        <location filename="../plot/IPlot.cpp" line="110"/>
+        <location filename="../plot/IPlot.cpp" line="91"/>
         <source>Reset Zoom</source>
         <translation>Zoom zurücksetzen</translation>
     </message>
     <message>
-        <location filename="../plot/IPlot.cpp" line="111"/>
+        <location filename="../plot/IPlot.cpp" line="92"/>
         <source>Stop Range</source>
         <translation>Bereichsauswahl beenden</translation>
     </message>
     <message>
-        <location filename="../plot/IPlot.cpp" line="112"/>
+        <location filename="../plot/IPlot.cpp" line="93"/>
         <source>Save...</source>
         <translation>Speichern ...</translation>
     </message>
     <message>
-        <location filename="../plot/IPlot.cpp" line="630"/>
+        <location filename="../plot/IPlot.cpp" line="613"/>
         <source>No or bad data.</source>
         <translation>Keine oder schlechte Daten.</translation>
     </message>
     <message>
-        <location filename="../plot/IPlot.cpp" line="1215"/>
+        <location filename="../plot/IPlot.cpp" line="1200"/>
         <source>Select output file</source>
         <translation>Ausgabedatei auswählen</translation>
     </message>
@@ -5131,8 +5299,12 @@ sein</translation>
     </message>
     <message>
         <location filename="../mouse/line/IScrOptRangeLine.ui" line="34"/>
+        <source><html><head/><body><p>Calculate a route between the first and last selected point.</p></body></html></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <source>Caclculate a route between the first and last selected point.</source>
-        <translation>Eine Route zwischen dem ersten und dem letzten Punkt berechnen.</translation>
+        <translation type="vanished">Eine Route zwischen dem ersten und dem letzten Punkt berechnen.</translation>
     </message>
 </context>
 <context>
@@ -5200,33 +5372,33 @@ sein</translation>
         <translation type="obsolete"><html><head/><body><p>Details anzeigen & Bearbeiten</p></body></html></translation>
     </message>
     <message>
-        <location filename="../gis/rte/IScrOptRte.ui" line="25"/>
+        <location filename="../gis/rte/IScrOptRte.ui" line="40"/>
         <source>View details and edit.</source>
         <translation>Details anzeigen und bearbeiten.</translation>
     </message>
     <message>
-        <location filename="../gis/rte/IScrOptRte.ui" line="28"/>
-        <location filename="../gis/rte/IScrOptRte.ui" line="42"/>
-        <location filename="../gis/rte/IScrOptRte.ui" line="56"/>
-        <location filename="../gis/rte/IScrOptRte.ui" line="74"/>
-        <location filename="../gis/rte/IScrOptRte.ui" line="91"/>
-        <location filename="../gis/rte/IScrOptRte.ui" line="105"/>
-        <location filename="../gis/rte/IScrOptRte.ui" line="119"/>
+        <location filename="../gis/rte/IScrOptRte.ui" line="43"/>
+        <location filename="../gis/rte/IScrOptRte.ui" line="57"/>
+        <location filename="../gis/rte/IScrOptRte.ui" line="71"/>
+        <location filename="../gis/rte/IScrOptRte.ui" line="89"/>
+        <location filename="../gis/rte/IScrOptRte.ui" line="106"/>
+        <location filename="../gis/rte/IScrOptRte.ui" line="120"/>
+        <location filename="../gis/rte/IScrOptRte.ui" line="134"/>
         <source>...</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../gis/rte/IScrOptRte.ui" line="39"/>
+        <location filename="../gis/rte/IScrOptRte.ui" line="54"/>
         <source>Copy route into another project.</source>
         <translation>Kopiert die Route in ein anderes Projekt.</translation>
     </message>
     <message>
-        <location filename="../gis/rte/IScrOptRte.ui" line="53"/>
+        <location filename="../gis/rte/IScrOptRte.ui" line="68"/>
         <source>Delete route from project.</source>
         <translation>Route aus einem Projekt entfernen.</translation>
     </message>
     <message>
-        <location filename="../gis/rte/IScrOptRte.ui" line="102"/>
+        <location filename="../gis/rte/IScrOptRte.ui" line="117"/>
         <source>Reset route calculation.</source>
         <translation>Routenberechnung zurücksetzen.</translation>
     </message>
@@ -5235,7 +5407,7 @@ sein</translation>
         <translation type="obsolete"><html><head/><body><p>Löschen</p></body></html></translation>
     </message>
     <message>
-        <location filename="../gis/rte/IScrOptRte.ui" line="88"/>
+        <location filename="../gis/rte/IScrOptRte.ui" line="103"/>
         <source>Calculate route.</source>
         <translation>Route berechnen.</translation>
     </message>
@@ -5245,7 +5417,7 @@ sein</translation>
         <translation type="obsolete">Routenberechnung zurücksetzen.</translation>
     </message>
     <message>
-        <location filename="../gis/rte/IScrOptRte.ui" line="116"/>
+        <location filename="../gis/rte/IScrOptRte.ui" line="131"/>
         <source>Move route points.</source>
         <translation>Routenpunkte verschieben.</translation>
     </message>
@@ -5254,7 +5426,7 @@ sein</translation>
         <translation type="obsolete">Den Schreibschutz ändern. Das Schloss muss offen sein um das Element zu bearbeiten.</translation>
     </message>
     <message>
-        <location filename="../gis/rte/IScrOptRte.ui" line="145"/>
+        <location filename="../gis/rte/IScrOptRte.ui" line="160"/>
         <source>TextLabel</source>
         <translation>Bezeichnung</translation>
     </message>
@@ -5285,9 +5457,8 @@ sein</translation>
         <translation>Zeigt das Profil und detaillierte Informationen der Punkte.</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IScrOptTrk.ui" line="162"/>
         <source>Cut track at selected point into two tracks.</source>
-        <translation>Teilt den Track am selektierten Punkt in zwei Teile.</translation>
+        <translation type="vanished">Teilt den Track am selektierten Punkt in zwei Teile.</translation>
     </message>
     <message>
         <location filename="../gis/trk/IScrOptTrk.ui" line="120"/>
@@ -5324,6 +5495,20 @@ sein</translation>
         <translation>Tracks verbinden.</translation>
     </message>
     <message>
+        <location filename="../gis/trk/IScrOptTrk.ui" line="162"/>
+        <source>Cut track at selected point. You can use this to:
+
+* remove bad points at the start or end of the track
+* use the track parts to plan a new tour
+* cut a long track into stages
+</source>
+        <translation>Zerteilt den Track am ausgewählten Punkt. Damit kann man:
+
+* schlechte Punkte am Anfang oder Ende eines Tracks entfernen
+* die Teile zum Planen neuer Touren verwenden
+* einen langen Track in Etappen zerteilen</translation>
+    </message>
+    <message>
         <source><html><head/><body><p>View details &amp; Edit</p></body></html></source>
         <translation type="obsolete"><html><head/><body><p>Details anzeigen &amp; Bearbeiten</p></body></html></translation>
     </message>
@@ -5340,7 +5525,7 @@ sein</translation>
         <location filename="../gis/trk/IScrOptTrk.ui" line="123"/>
         <location filename="../gis/trk/IScrOptTrk.ui" line="137"/>
         <location filename="../gis/trk/IScrOptTrk.ui" line="151"/>
-        <location filename="../gis/trk/IScrOptTrk.ui" line="165"/>
+        <location filename="../gis/trk/IScrOptTrk.ui" line="170"/>
         <source>...</source>
         <translation></translation>
     </message>
@@ -5361,7 +5546,7 @@ sein</translation>
         <translation type="obsolete"><html><head/><body><p>Bearbeiten der Position von Trackpunkten.</p></body></html></translation>
     </message>
     <message>
-        <location filename="../gis/trk/IScrOptTrk.ui" line="191"/>
+        <location filename="../gis/trk/IScrOptTrk.ui" line="196"/>
         <source>TextLabel</source>
         <translation>Bezeichnung</translation>
     </message>
@@ -5506,7 +5691,7 @@ sein</translation>
         <translation>Der Name das Abbildes wird mit '_Klon' erweitert</translation>
     </message>
     <message>
-        <location filename="../helpers/ISelectCopyAction.ui" line="132"/>
+        <location filename="../helpers/ISelectCopyAction.ui" line="135"/>
         <source>And for all other items, too.</source>
         <translation>Auch für alle anderen Elemente anwenden.</translation>
     </message>
@@ -5766,144 +5951,144 @@ sein</translation>
 <context>
     <name>ITextEditWidget</name>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="14"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="14"/>
         <source>Edit text...</source>
         <translation>Text bearbeiten...</translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="25"/>
-        <location filename="../helpers/ITextEditWidget.ui" line="38"/>
-        <location filename="../helpers/ITextEditWidget.ui" line="51"/>
-        <location filename="../helpers/ITextEditWidget.ui" line="64"/>
-        <location filename="../helpers/ITextEditWidget.ui" line="77"/>
-        <location filename="../helpers/ITextEditWidget.ui" line="97"/>
-        <location filename="../helpers/ITextEditWidget.ui" line="110"/>
-        <location filename="../helpers/ITextEditWidget.ui" line="123"/>
-        <location filename="../helpers/ITextEditWidget.ui" line="136"/>
-        <location filename="../helpers/ITextEditWidget.ui" line="169"/>
-        <location filename="../helpers/ITextEditWidget.ui" line="182"/>
-        <location filename="../helpers/ITextEditWidget.ui" line="195"/>
-        <location filename="../helpers/ITextEditWidget.ui" line="208"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="25"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="38"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="51"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="64"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="77"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="97"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="110"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="123"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="136"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="169"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="182"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="195"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="208"/>
         <source>...</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="256"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="256"/>
         <source>Undo</source>
         <translation>Rückgängig</translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="259"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="259"/>
         <source>Ctrl+Z</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="268"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="268"/>
         <source>Redo</source>
         <translation>Wiederherstellen</translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="271"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="271"/>
         <source>Ctrl+Shift+Z</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="280"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="280"/>
         <source>Cut</source>
         <translation>Ausschneiden</translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="283"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="283"/>
         <source>Ctrl+X</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="292"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="292"/>
         <source>Copy</source>
         <translation>Kopieren</translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="295"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="295"/>
         <source>Ctrl+C</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="304"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="304"/>
         <source>Paste</source>
         <translation>Einfügen</translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="307"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="307"/>
         <source>Ctrl+V</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="319"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="319"/>
         <source>Align Left</source>
         <translation>Linksbündig</translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="322"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="322"/>
         <source>Ctrl+L</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="334"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="334"/>
         <source>Align Right</source>
         <translation>Rechtsbündig</translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="337"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="337"/>
         <source>Ctrl+R</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="349"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="349"/>
         <source>Align Center</source>
         <translation>Zentriert</translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="352"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="352"/>
         <source>Ctrl+E</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="364"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="364"/>
         <source>Align Block</source>
         <translation>Blocksatz</translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="367"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="367"/>
         <source>Ctrl+J</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="379"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="379"/>
         <source>Underline</source>
         <translation>Unterstreichen</translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="382"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="382"/>
         <source>Ctrl+U</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="394"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="394"/>
         <source>Bold</source>
         <translation>Fett</translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="397"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="397"/>
         <source>Ctrl+B</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="409"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="409"/>
         <source>Italic</source>
         <translation>Kursiv</translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="412"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="412"/>
         <source>Ctrl+I</source>
         <translation></translation>
     </message>
@@ -5949,7 +6134,36 @@ sein</translation>
 <context>
     <name>IToolShell</name>
     <message>
-        <location filename="../tool/IToolShell.cpp" line="127"/>
+        <location filename="../tool/IToolShell.cpp" line="44"/>
+        <source>Execution of external program `%1` failed: </source>
+        <translation>Ausführen des externen Programms `%1` ist fehlgeschlagen: </translation>
+    </message>
+    <message>
+        <location filename="../tool/IToolShell.cpp" line="48"/>
+        <source>Process cannot be started.
+</source>
+        <translation>Der Prozess konnte nicht gestartet werden.</translation>
+    </message>
+    <message>
+        <location filename="../tool/IToolShell.cpp" line="49"/>
+        <source>Make sure the required packages are installed, `%1` exists and is executable.
+</source>
+        <translation>Stellen Sie sicher, dass die erforderlichen Pakete installiert sind, `%1` existiert und ist ausführbar.</translation>
+    </message>
+    <message>
+        <location filename="../tool/IToolShell.cpp" line="53"/>
+        <source>External process crashed.
+</source>
+        <translation>Der externe Prozess ist abgestürzt.</translation>
+    </message>
+    <message>
+        <location filename="../tool/IToolShell.cpp" line="57"/>
+        <source>An unknown error occurred.
+</source>
+        <translation>Ein unbekannter Fehler ist aufgetreten.</translation>
+    </message>
+    <message>
+        <location filename="../tool/IToolShell.cpp" line="148"/>
         <source>!!! failed !!!
 </source>
         <translation>!!! fehlgeschlagen !!!</translation>
@@ -5963,17 +6177,22 @@ sein</translation>
         <translation>Einheiten einrichten...</translation>
     </message>
     <message>
-        <location filename="../units/IUnitsSetup.ui" line="22"/>
+        <location filename="../units/IUnitsSetup.ui" line="38"/>
         <source>Metric</source>
         <translation>metrisch</translation>
     </message>
     <message>
-        <location filename="../units/IUnitsSetup.ui" line="29"/>
+        <location filename="../units/IUnitsSetup.ui" line="47"/>
+        <source><b>Note:</b> For some GUI elements changing the units will not take effect until you restart QMapShack.</source>
+        <translation><b>Anmerkung:</b> Das Ändern der Einheiten wird bei einigen GUI-Elementen erst nach einem Neustart von QMapShack wirksam.</translation>
+    </message>
+    <message>
+        <location filename="../units/IUnitsSetup.ui" line="31"/>
         <source>Imperial</source>
         <translation>imperial</translation>
     </message>
     <message>
-        <location filename="../units/IUnitsSetup.ui" line="36"/>
+        <location filename="../units/IUnitsSetup.ui" line="24"/>
         <source>Nautic</source>
         <translation>nautisch</translation>
     </message>
@@ -6029,6 +6248,11 @@ Zeile %2, Spalte %3:
         <translation>Keine GPX Datei:</translation>
     </message>
     <message>
+        <location filename="../gis/gpx/CGpxProject.cpp" line="410"/>
+        <source>Saving GIS data failed...</source>
+        <translation>Das Speichern der GIS Daten ist fehlgeschlagen...</translation>
+    </message>
+    <message>
         <source>
 Filename: %1</source>
         <translation type="obsolete">Dateiname: %1</translation>
@@ -6054,7 +6278,7 @@ Areas: %1</source>
         <translation type="obsolete">Fläche: %1</translation>
     </message>
     <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="112"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="97"/>
         <source>Save project?</source>
         <translation>Projekt speichern?</translation>
     </message>
@@ -6063,7 +6287,7 @@ Areas: %1</source>
         <translation type="obsolete">Das Projekt "%1" wurde geändert. Speichern bevor es geschlossen wird?</translation>
     </message>
     <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="252"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="237"/>
         <source>%1: Correlate tracks and waypoints.</source>
         <translation>%1: Tracks und Wegpunkte verknüpfen.</translation>
     </message>
@@ -6077,90 +6301,94 @@ Areas: %1</source>
     </message>
     <message>
         <source><h3>%1</h3>The project was changed. Save befor closing it?</source>
-        <translation><h3>%1</h3>Das Projekt wurde geändert. Speichern bevor es geschlossen wird?</translation>
+        <translation type="vanished"><h3>%1</h3>Das Projekt wurde geändert. Speichern bevor es geschlossen wird?</translation>
     </message>
     <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="112"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="97"/>
         <source><h3>%1</h3>The project was changed. Save before closing it?</source>
         <translation><h3>%1</h3>Das Projekt wurde geändert. Speichern, bevor es geschlossen wird?</translation>
     </message>
     <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="262"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="247"/>
         <source><h3>%1</h3>Did that take too long for you? Do you want to skip correlation of tracks and waypoints for this project in the future?</source>
         <translation><h3>%1</h3>Hat das zu lange gedauert? Wollen Sie die Verknüpfung von Tracks und Wegpunkten auch in Zukunft für dieses Projekt überspringen?</translation>
     </message>
     <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="263"/>
         <source>Cancelled correlation...</source>
+        <translation type="vanished">Verknüpfung abgebrochen...</translation>
+    </message>
+    <message>
+        <location filename="../gis/prj/IGisProject.cpp" line="248"/>
+        <source>Canceled correlation...</source>
         <translation>Verknüpfung abgebrochen...</translation>
     </message>
     <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="341"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="326"/>
         <source><br/>
 Filename: %1</source>
         <translation><br/>
 Dateiname: %1</translation>
     </message>
     <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="346"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="331"/>
         <source>Waypoints: %1</source>
         <translation>Wegpunkte: %1</translation>
     </message>
     <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="350"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="335"/>
         <source>Tracks: %1</source>
         <translation>Tracks: %1</translation>
     </message>
     <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="354"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="339"/>
         <source>Routes: %1</source>
         <translation>Routen: %1</translation>
     </message>
     <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="358"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="343"/>
         <source>Areas: %1</source>
         <translation>Gebiete: %1</translation>
     </message>
     <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="438"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="423"/>
         <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>
     <message>
-        <location filename="../gis/CGisListDB.cpp" line="437"/>
+        <location filename="../gis/CGisListDB.cpp" line="436"/>
         <source>Are you sure you want to delete '%1' from folder '%2'?</source>
         <translation>Sind Sie sicher, dass Sie '%1' aus dem Ordner '%2' löschen wollen? </translation>
     </message>
     <message>
-        <location filename="../gis/CGisListDB.cpp" line="438"/>
-        <location filename="../gis/prj/IGisProject.cpp" line="439"/>
+        <location filename="../gis/CGisListDB.cpp" line="437"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="424"/>
         <source>Delete...</source>
         <translation>Löschen...</translation>
     </message>
     <message>
         <location filename="../gis/gpx/CGpxProject.cpp" line="98"/>
         <location filename="../gis/qms/CQmsProject.cpp" line="48"/>
-        <location filename="../gis/qms/CQmsProject.cpp" line="145"/>
+        <location filename="../gis/qms/CQmsProject.cpp" line="144"/>
         <source>Failed to open...</source>
         <translation>Öffnen fehlgeschlagen...</translation>
     </message>
     <message>
         <location filename="../gis/gpx/CGpxProject.cpp" line="98"/>
         <location filename="../gis/qms/CQmsProject.cpp" line="48"/>
-        <location filename="../gis/qms/CQmsProject.cpp" line="145"/>
+        <location filename="../gis/qms/CQmsProject.cpp" line="144"/>
         <source>Failed to open %1</source>
         <translation>Öffnen fehlgeschlagen: %1</translation>
     </message>
     <message>
-        <location filename="../gis/db/CDBProject.cpp" line="151"/>
-        <location filename="../gis/gpx/CGpxProject.cpp" line="223"/>
+        <location filename="../gis/db/CDBProject.cpp" line="158"/>
+        <location filename="../gis/gpx/CGpxProject.cpp" line="222"/>
         <location filename="../gis/qms/CQmsProject.cpp" line="95"/>
         <location filename="../gis/tnv/CTwoNavProject.cpp" line="159"/>
         <source>Save GIS data to...</source>
         <translation>GIS Daten speichern in...</translation>
     </message>
     <message>
-        <location filename="../gis/db/CDBProject.cpp" line="255"/>
+        <location filename="../gis/db/CDBProject.cpp" line="262"/>
         <source>Save ...</source>
         <translation>Speichern ...</translation>
     </message>
@@ -6169,130 +6397,140 @@ Dateiname: %1</translation>
         <translation type="obsolete">Speichern abbrechen</translation>
     </message>
     <message>
-        <location filename="../gis/gpx/CGpxProject.cpp" line="298"/>
+        <location filename="../gis/gpx/CGpxProject.cpp" line="286"/>
         <source>File exists ...</source>
         <translation>Datei existiert...</translation>
     </message>
     <message>
-        <location filename="../gis/gpx/CGpxProject.cpp" line="299"/>
+        <location filename="../gis/gpx/CGpxProject.cpp" line="287"/>
         <source>The file exists and it has not been created by QMapShack. If you press 'yes' all data in this file will be lost. Even if this file contains GPX data and has been loaded by QMapShack, QMapShack might not be able to load and store all elements of this file.  Those elements will be lost. I recommend to use another file. <b>Do you really want to overwrite the file?</b></source>
         <translation>Diese Datei wurde nicht mit QMapShack erstellt. Wenn Sie 'Ja' drücken werden alle Daten dieser Datei gelöscht. Selbst wenn diese Datei GPX Daten enthält und mit QMapShack geladen wurde, können nicht alle Elemente dieser Datei durch QMapShack geladen und gespeichert werden. Diese Elemente sind verloren. Ich empfehle die Nutzung einer anderen Datei. <b>Wollen Sie die Datei wirklich überschreiben?</b></translation>
     </message>
     <message>
-        <location filename="../gis/gpx/CGpxProject.cpp" line="407"/>
+        <location filename="../gis/gpx/CGpxProject.cpp" line="395"/>
         <source>Failed to create file '%1'</source>
         <translation>Datei %1' konnte nicht erstellt werden</translation>
     </message>
     <message>
-        <location filename="../gis/gpx/CGpxProject.cpp" line="421"/>
         <source>Saveing GIS data failed...</source>
-        <translation>Speichern der GIS Daten fehlgeschlagen...</translation>
+        <translation type="vanished">Speichern der GIS Daten fehlgeschlagen...</translation>
     </message>
     <message>
-        <location filename="../gis/gpx/CGpxProject.cpp" line="416"/>
+        <location filename="../gis/gpx/CGpxProject.cpp" line="405"/>
         <source>Failed to write file '%1'</source>
         <translation>Datei %1' konnte nicht gespeichert werden</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="357"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="249"/>
         <source>Changed trackpoints, sacrificed all previous data.</source>
         <translation>Wegpunkte geändert, alle vorherigen Daten sind verloren.</translation>
     </message>
     <message>
-        <location filename="../gis/rte/CGisItemRte.cpp" line="286"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="464"/>
+        <location filename="../gis/rte/CGisItemRte.cpp" line="262"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="371"/>
         <source>Length: %1 %2</source>
         <translation>Länge: %1 %2</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="471"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="378"/>
         <source>, %1%2 %3, %4%5 %6</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="479"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="386"/>
         <source>Time: %1</source>
         <translation>Gesamtzeit: %1</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="482"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="492"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="389"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="399"/>
         <source>, Speed: %1 %2</source>
         <translation>, Geschw.: %1 %2</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="489"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="396"/>
         <source>Moving: %1</source>
         <translation>Zeit in Bew.: %1</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="498"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="405"/>
         <source>Start: %1</source>
         <translation>Beginn: %1</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="503"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="410"/>
         <source>End: %1</source>
         <translation>Ende: %1</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="507"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="414"/>
         <source>Points: %1 (%2)</source>
         <translation>Punkte: %1 von %2</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="625"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="523"/>
         <source>Ele.: %1 %2</source>
         <translation>Höhe: %1 %2</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="628"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="526"/>
         <source> slope: %1%3 (%2%)</source>
         <translation>, Steigung: %1%3 (%2%)</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="707"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="559"/>
+        <source>... and %1 tags not displayed</source>
+        <translation>... und %1 Tags werden nicht angezeigt</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="625"/>
         <source>Ascend: %1%2</source>
         <translation>Anstieg: %1 %2</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="712"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="729"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="630"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="647"/>
         <source>, %1%2</source>
         <translation>, %1 %2</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="717"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="635"/>
         <source>Ascend: -</source>
         <translation>Anstieg: -</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="724"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="642"/>
         <source> Descend: %1%2</source>
         <translation> Abstieg: %1 %2</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="734"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="652"/>
         <source>Descend: -</source>
         <translation>Abstieg: -</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="740"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="658"/>
         <source>Dist.: %1%2</source>
         <translation>Entf.: %1 %2</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="745"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="663"/>
         <source> Time: %1%2</source>
         <translation> Zeit: %1 %2</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1868"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1307"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1331"/>
+        <source>Permanently removed points %1..%2</source>
+        <translation>Punkte %1..%2 dauerhaft entfernt</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="2088"/>
         <source>Changed activity to '%1' for complete track.</source>
         <translation>Die Aktivität wurde für den gesamten Track auf '%1' geändert.</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1942"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="2163"/>
         <source>Changed activity to '%1' for range(%2..%3).</source>
         <translation>Die Aktivität wurde für den Bereich (%2..%3) auf '%1' geändert.</translation>
     </message>
@@ -6301,12 +6539,12 @@ Dateiname: %1</translation>
         <translation type="obsolete"> Neigung: %1° (%2%)</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1432"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1513"/>
         <source>Hide points.</source>
         <translation>Punkte ausblenden.</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1472"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1553"/>
         <source>Show points.</source>
         <translation>Punkte einblenden.</translation>
     </message>
@@ -6315,143 +6553,142 @@ Dateiname: %1</translation>
         <translation type="obsolete">Neigung: %1°(%2%)</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="633"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="531"/>
         <source> speed: %1%2</source>
         <translation>, Geschw.: %1 %2</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="653"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="571"/>
         <source>Ascend: %1%2 (%3%)</source>
         <translation>Anstieg: %1 %2 (%3%)</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="657"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="575"/>
         <source>Ascend: - (-)</source>
         <translation>Anstieg: - (-)</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="663"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="581"/>
         <source> Descend: %1%2 (%3%)</source>
         <translation>, Abstieg: %1 %2 (%3%)</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="667"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="585"/>
         <source> Descend: - (-) </source>
         <translation>, Abstieg: - (-) </translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="674"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="592"/>
         <source>Dist.: %1%2 (%3%)</source>
         <translation>Entf.: %1 %2 (%3%)</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="678"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="596"/>
         <source>Dist.: - (-)</source>
         <translation>Entf.: - (-)</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="684"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="602"/>
         <source> Moving: %1%2 (%3%)</source>
         <translation>, Zeit in Bew.: %1 %2 (%3%)</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="688"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="606"/>
         <source> Moving: - (-) </source>
         <translation>, Zeit in Bew.: - (-) </translation>
     </message>
     <message>
-        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="95"/>
+        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="96"/>
         <source>thin</source>
         <translation>dünn</translation>
     </message>
     <message>
-        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="96"/>
+        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="97"/>
         <source>normal</source>
         <translation>normal</translation>
     </message>
     <message>
-        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="97"/>
+        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="98"/>
         <source>wide</source>
         <translation>weit</translation>
     </message>
     <message>
-        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="98"/>
+        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="99"/>
         <source>strong</source>
         <translation>stark</translation>
     </message>
     <message>
-        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="142"/>
-        <location filename="../gis/rte/CGisItemRte.cpp" line="67"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="193"/>
-        <location filename="../gis/wpt/CGisItemWpt.cpp" line="130"/>
+        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="138"/>
+        <location filename="../gis/rte/CGisItemRte.cpp" line="63"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="124"/>
+        <location filename="../gis/wpt/CGisItemWpt.cpp" line="92"/>
         <source>_Clone</source>
         <translation>_Klon</translation>
     </message>
     <message>
-        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="446"/>
+        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="431"/>
         <source>Area: %1%2</source>
         <translation>Gebiet: %1 %2</translation>
     </message>
     <message>
-        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="508"/>
+        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="493"/>
         <source>Changed area shape.</source>
         <translation>Gebietsform geändert.</translation>
     </message>
     <message>
-        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="516"/>
-        <location filename="../gis/rte/CGisItemRte.cpp" line="245"/>
+        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="501"/>
+        <location filename="../gis/rte/CGisItemRte.cpp" line="221"/>
         <source>Changed name.</source>
         <translation>Name geändert.</translation>
     </message>
     <message>
-        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="522"/>
+        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="507"/>
         <source>Changed border width.</source>
         <translation>Umrandungsbreite geändert.</translation>
     </message>
     <message>
-        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="528"/>
+        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="513"/>
         <source>Changed fill pattern.</source>
         <translation>Füllung geändert.</translation>
     </message>
     <message>
-        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="534"/>
+        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="519"/>
         <source>Changed opacity.</source>
         <translation>Durchsichtigkeit geändert.</translation>
     </message>
     <message>
-        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="540"/>
+        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="525"/>
         <source>Changed comment.</source>
         <translation>Kommentar geändert.</translation>
     </message>
     <message>
-        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="546"/>
+        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="531"/>
         <source>Changed description.</source>
         <translation>Beschreibung geändert.</translation>
     </message>
     <message>
-        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="552"/>
-        <location filename="../gis/rte/CGisItemRte.cpp" line="263"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1839"/>
-        <location filename="../gis/wpt/CGisItemWpt.cpp" line="456"/>
+        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="537"/>
+        <location filename="../gis/rte/CGisItemRte.cpp" line="239"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="2059"/>
+        <location filename="../gis/wpt/CGisItemWpt.cpp" line="366"/>
         <source>Changed links</source>
         <translation>Geänderte Verknüpfungen</translation>
     </message>
     <message>
-        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="564"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1851"/>
+        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="549"/>
         <source>Changed color</source>
         <translation>Farbe geändert</translation>
     </message>
     <message>
         <location filename="../gis/rte/CCreateRouteFromWpt.cpp" line="65"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1225"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1240"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1259"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1318"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1497"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1245"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1264"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1340"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1399"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1578"/>
         <location filename="../mouse/CMouseEditArea.cpp" line="100"/>
         <location filename="../mouse/CMouseEditRte.cpp" line="111"/>
-        <location filename="../mouse/CMouseEditTrk.cpp" line="117"/>
+        <location filename="../mouse/CMouseEditTrk.cpp" line="116"/>
         <source>Edit name...</source>
         <translation>Name bearbeiten...</translation>
     </message>
@@ -6460,73 +6697,73 @@ Dateiname: %1</translation>
         <translation type="obsolete">Geben Sie einen neuen Namen für den Wegpunkt ein.</translation>
     </message>
     <message>
-        <location filename="../gis/wpt/CGisItemWpt.cpp" line="317"/>
+        <location filename="../gis/wpt/CGisItemWpt.cpp" line="227"/>
         <source>Elevation: %1 %2</source>
         <translation>Höhe: %1 %2</translation>
     </message>
     <message>
-        <location filename="../gis/wpt/CGisItemWpt.cpp" line="328"/>
+        <location filename="../gis/wpt/CGisItemWpt.cpp" line="238"/>
         <source>Proximity: %1 %2</source>
         <translation>Abstand: %1 %2</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1821"/>
-        <location filename="../gis/wpt/CGisItemWpt.cpp" line="402"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="2041"/>
+        <location filename="../gis/wpt/CGisItemWpt.cpp" line="312"/>
         <source>Changed name</source>
         <translation>Name geändert</translation>
     </message>
     <message>
-        <location filename="../gis/wpt/CGisItemWpt.cpp" line="412"/>
+        <location filename="../gis/wpt/CGisItemWpt.cpp" line="322"/>
         <source>Changed position</source>
         <translation>Position geändert</translation>
     </message>
     <message>
-        <location filename="../gis/wpt/CGisItemWpt.cpp" line="418"/>
+        <location filename="../gis/wpt/CGisItemWpt.cpp" line="328"/>
         <source>Changed elevation</source>
         <translation>Höhe geändert</translation>
     </message>
     <message>
-        <location filename="../gis/wpt/CGisItemWpt.cpp" line="424"/>
+        <location filename="../gis/wpt/CGisItemWpt.cpp" line="334"/>
         <source>Changed proximity</source>
         <translation>Abstandsalarm geändert</translation>
     </message>
     <message>
-        <location filename="../gis/wpt/CGisItemWpt.cpp" line="438"/>
+        <location filename="../gis/wpt/CGisItemWpt.cpp" line="348"/>
         <source>Changed icon</source>
         <translation>Symbol geändert</translation>
     </message>
     <message>
-        <location filename="../gis/wpt/CGisItemWpt.cpp" line="462"/>
+        <location filename="../gis/wpt/CGisItemWpt.cpp" line="372"/>
         <source>Changed images</source>
         <translation>Bilder geändert</translation>
     </message>
     <message>
-        <location filename="../gis/wpt/CGisItemWpt.cpp" line="468"/>
+        <location filename="../gis/wpt/CGisItemWpt.cpp" line="378"/>
         <source>Add image</source>
         <translation>Bild hinzufügen</translation>
     </message>
     <message>
-        <location filename="../gis/rte/CGisItemRte.cpp" line="251"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1827"/>
-        <location filename="../gis/wpt/CGisItemWpt.cpp" line="444"/>
+        <location filename="../gis/rte/CGisItemRte.cpp" line="227"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="2047"/>
+        <location filename="../gis/wpt/CGisItemWpt.cpp" line="354"/>
         <source>Changed comment</source>
         <translation>Kommentar geändert</translation>
     </message>
     <message>
-        <location filename="../gis/rte/CGisItemRte.cpp" line="257"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1833"/>
-        <location filename="../gis/wpt/CGisItemWpt.cpp" line="450"/>
+        <location filename="../gis/rte/CGisItemRte.cpp" line="233"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="2053"/>
+        <location filename="../gis/wpt/CGisItemWpt.cpp" line="360"/>
         <source>Changed description</source>
         <translation>Beschreibung geändert</translation>
     </message>
     <message>
-        <location filename="../gis/rte/CGisItemRte.cpp" line="290"/>
+        <location filename="../gis/rte/CGisItemRte.cpp" line="266"/>
         <source>Length: -</source>
         <translation>Länge: -</translation>
     </message>
     <message>
-        <location filename="../gis/rte/CGisItemRte.cpp" line="297"/>
-        <location filename="../gis/rte/CGisItemRte.cpp" line="481"/>
+        <location filename="../gis/rte/CGisItemRte.cpp" line="273"/>
+        <location filename="../gis/rte/CGisItemRte.cpp" line="456"/>
         <source>Time: %1 %2</source>
         <translation>Gesamtzeit: %1 %2</translation>
     </message>
@@ -6535,17 +6772,17 @@ Dateiname: %1</translation>
         <translation type="obsolete">Gesamtzeit: %2 days %1</translation>
     </message>
     <message>
-        <location filename="../gis/rte/CGisItemRte.cpp" line="301"/>
+        <location filename="../gis/rte/CGisItemRte.cpp" line="277"/>
         <source>Time: -</source>
         <translation>Gesamtzeit: -</translation>
     </message>
     <message>
-        <location filename="../gis/rte/CGisItemRte.cpp" line="307"/>
+        <location filename="../gis/rte/CGisItemRte.cpp" line="283"/>
         <source>Last time routed:<br/>%1</source>
         <translation>Letzte Routenberechnung: <br/>%1</translation>
     </message>
     <message>
-        <location filename="../gis/rte/CGisItemRte.cpp" line="309"/>
+        <location filename="../gis/rte/CGisItemRte.cpp" line="285"/>
         <source>with %1</source>
         <translation>mit %1</translation>
     </message>
@@ -6554,7 +6791,7 @@ Dateiname: %1</translation>
         <translation type="obsolete">Gesamtzeit: %1 </translation>
     </message>
     <message>
-        <location filename="../gis/rte/CGisItemRte.cpp" line="483"/>
+        <location filename="../gis/rte/CGisItemRte.cpp" line="458"/>
         <source>Distance: %1 %2</source>
         <translation>Entfernung: %1 %2</translation>
     </message>
@@ -6572,43 +6809,43 @@ Turn: %1 Bearing: %2</source>
         <translation type="obsolete">Die Berechnung dauerte %1 Sek.</translation>
     </message>
     <message>
-        <location filename="../gis/rte/CGisItemRte.cpp" line="612"/>
+        <location filename="../gis/rte/CGisItemRte.cpp" line="572"/>
         <source>Changed route points.</source>
         <translation>Geänderte Routenpukte.</translation>
     </message>
     <message>
-        <location filename="../gis/gpx/serialization.cpp" line="691"/>
+        <location filename="../gis/gpx/serialization.cpp" line="582"/>
         <source>Archived</source>
         <translation>Archiviert</translation>
     </message>
     <message>
-        <location filename="../gis/gpx/serialization.cpp" line="695"/>
+        <location filename="../gis/gpx/serialization.cpp" line="586"/>
         <source>Available</source>
         <translation>Verfügbar</translation>
     </message>
     <message>
-        <location filename="../gis/gpx/serialization.cpp" line="699"/>
+        <location filename="../gis/gpx/serialization.cpp" line="590"/>
         <source>Not Available</source>
         <translation>Nicht verfügbar</translation>
     </message>
     <message>
-        <location filename="../map/garmin/CGarminTyp.cpp" line="465"/>
-        <location filename="../map/garmin/CGarminTyp.cpp" line="846"/>
+        <location filename="../map/garmin/CGarminTyp.cpp" line="457"/>
+        <location filename="../map/garmin/CGarminTyp.cpp" line="838"/>
         <source>Warning...</source>
         <translation>Warnung...</translation>
     </message>
     <message>
-        <location filename="../map/garmin/CGarminTyp.cpp" line="465"/>
+        <location filename="../map/garmin/CGarminTyp.cpp" line="457"/>
         <source>This is a typ file with unknown polygon encoding. Please report!</source>
         <translation>Dieser Dateityp hat eine unbekannte Polygon Kodierung. Bitte mitteilen!</translation>
     </message>
     <message>
-        <location filename="../map/garmin/CGarminTyp.cpp" line="846"/>
+        <location filename="../map/garmin/CGarminTyp.cpp" line="838"/>
         <source>This is a typ file with unknown polyline encoding. Please report!</source>
         <translation>Dieser Dateityp hat eine unbekannte Polyline Kodierung. Bitte mitteilen!</translation>
     </message>
     <message>
-        <location filename="../gis/IGisItem.cpp" line="327"/>
+        <location filename="../gis/IGisItem.cpp" line="345"/>
         <source>Initial version.</source>
         <translation>Erstversion.</translation>
     </message>
@@ -6617,61 +6854,65 @@ Turn: %1 Bearing: %2</source>
         <translation type="obsolete">Diese Element ist vermutlich schreibgeschützt, da nicht mit QMapShack erstellt. Normalerweise sollten importierte Daten nicht geändert werden. Wenn doch, drücken Sie 'OK'.</translation>
     </message>
     <message>
-        <location filename="../gis/IGisItem.cpp" line="436"/>
+        <location filename="../gis/IGisItem.cpp" line="453"/>
+        <source><h3>%1</h3> This element is probably read-only because it was not created within QMapShack. Usually you should not want to change imported data. But if you think that is ok press 'Ok'.</source>
+        <translation><h3>%1</h3> Diese Element ist vermutlich schreibgeschützt, da nicht mit QMapShack erstellt. Normalerweise sollten importierte Daten nicht geändert werden. Wenn doch, drücken Sie 'OK'.</translation>
+    </message>
+    <message>
+        <location filename="../gis/IGisItem.cpp" line="454"/>
         <source>Read Only Mode...</source>
         <translation>Schreibgeschützt...</translation>
     </message>
     <message>
-        <location filename="../gis/IGisItem.cpp" line="667"/>
+        <location filename="../gis/IGisItem.cpp" line="615"/>
         <source><h4>Comment:</h4></source>
         <translation><h4>Kommentar:</h4></translation>
     </message>
     <message>
-        <location filename="../gis/IGisItem.cpp" line="670"/>
+        <location filename="../gis/IGisItem.cpp" line="618"/>
         <source><p>--- no comment ---</p></source>
         <translation><p>--- kein ---</p></translation>
     </message>
     <message>
-        <location filename="../gis/IGisItem.cpp" line="653"/>
-        <location filename="../gis/IGisItem.cpp" line="712"/>
+        <location filename="../gis/IGisItem.cpp" line="601"/>
+        <location filename="../gis/IGisItem.cpp" line="660"/>
         <source><h4>Description:</h4></source>
         <translation><h4>Beschreibung:</h4></translation>
     </message>
     <message>
-        <location filename="../gis/IGisItem.cpp" line="41"/>
+        <location filename="../gis/IGisItem.cpp" line="42"/>
         <source>[no name]</source>
         <translation>[kein Name]</translation>
     </message>
     <message>
-        <location filename="../gis/IGisItem.cpp" line="435"/>
         <source><h3>%1</h3> This element is probably read-only because it was not created within QMapShack. Usually you should not want to change imported data. But if you think that is ok press'Ok'.</source>
-        <translation><h3>%1</h3> Dieses Element ist vermutlich schreibgeschützt, da nicht mit QMapShack erstellt. Normalerweise sollten importierte Daten nicht geändert werden. Wenn doch, drücken Sie 'OK'.</translation>
+        <translation type="vanished"><h3>%1</h3> Dieses Element ist vermutlich schreibgeschützt, da nicht mit QMapShack erstellt. Normalerweise sollten importierte Daten nicht geändert werden. Wenn doch, drücken Sie 'OK'.</translation>
     </message>
     <message>
-        <location filename="../gis/IGisItem.cpp" line="656"/>
-        <location filename="../gis/IGisItem.cpp" line="715"/>
+        <location filename="../gis/IGisItem.cpp" line="604"/>
+        <location filename="../gis/IGisItem.cpp" line="663"/>
         <source><p>--- no description ---</p></source>
         <translation><p>--- keine ---</p></translation>
     </message>
     <message>
-        <location filename="../gis/IGisItem.cpp" line="681"/>
-        <location filename="../gis/IGisItem.cpp" line="726"/>
+        <location filename="../gis/IGisItem.cpp" line="629"/>
+        <location filename="../gis/IGisItem.cpp" line="674"/>
         <source><h4>Links:</h4></source>
         <translation><h4>Verknüpfungen:</h4></translation>
     </message>
     <message>
-        <location filename="../gis/IGisItem.cpp" line="684"/>
-        <location filename="../gis/IGisItem.cpp" line="729"/>
+        <location filename="../gis/IGisItem.cpp" line="632"/>
+        <location filename="../gis/IGisItem.cpp" line="677"/>
         <source><p>--- no links ---</p></source>
         <translation><p>--- keine ---</p></translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1225"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1240"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1259"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1318"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1497"/>
-        <location filename="../mouse/CMouseEditTrk.cpp" line="117"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1245"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1264"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1340"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1399"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1578"/>
+        <location filename="../mouse/CMouseEditTrk.cpp" line="116"/>
         <source>Enter new track name.</source>
         <translation>Geben Sie einen neuen Namen für den Track ein.</translation>
     </message>
@@ -6702,7 +6943,7 @@ Turn: %1 Bearing: %2</source>
         <translation>Verloren & Gefunden (%1)</translation>
     </message>
     <message>
-        <location filename="../qlgt/converter.cpp" line="195"/>
+        <location filename="../qlgt/converter.cpp" line="198"/>
         <source>Copy flag information from QLandkarte GT track</source>
         <translation>Kopiert das Informationsflag aus dem QLandkarte GT Track</translation>
     </message>
@@ -6731,62 +6972,67 @@ Turn: %1 Bearing: %2</source>
         <translation>Anzahl der Trackpunkte entspricht nicht der Anzahl der ausgeblendeten Trackpunkte.</translation>
     </message>
     <message>
-        <location filename="../gis/trk/filter/filter.cpp" line="96"/>
+        <location filename="../gis/trk/filter/filter.cpp" line="106"/>
         <source>Hide points by Douglas Peuker algorithm (%1%2)</source>
         <translation>Punkte ausblenden mit dem Douglas-Peuker Algorithmus (%1 %2)</translation>
     </message>
     <message>
-        <location filename="../gis/trk/filter/filter.cpp" line="112"/>
+        <location filename="../gis/trk/filter/filter.cpp" line="141"/>
+        <source>Hide points with invalid coordinates at the beginning of the track</source>
+        <translation>Punkte mit ungültigen Koordinaten wurden ausgeblendet.</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/filter/filter.cpp" line="157"/>
         <source>Reset all hidden track points to visible</source>
         <translation>Alle verborgenen Trackpunkte zurücksetzen</translation>
     </message>
     <message>
-        <location filename="../gis/trk/filter/filter.cpp" line="137"/>
+        <location filename="../gis/trk/filter/filter.cpp" line="191"/>
         <source>Permanently removed all hidden track points</source>
         <translation>Alle verborgenen Trackpunkte wurden dauerhaft entfernt</translation>
     </message>
     <message>
-        <location filename="../gis/trk/filter/filter.cpp" line="187"/>
+        <location filename="../gis/trk/filter/filter.cpp" line="241"/>
         <source>Smoothed profile with a Median filter of size %1</source>
         <translation>Mit einem Median-Filter der Größe %1 geglättetes Profil</translation>
     </message>
     <message>
-        <location filename="../gis/trk/filter/filter.cpp" line="223"/>
+        <location filename="../gis/trk/filter/filter.cpp" line="277"/>
         <source>Replaced elevation data with data from DEM files.</source>
         <translation>Höhendaten durch Daten von DEM Dateien ersetzt.</translation>
     </message>
     <message>
-        <location filename="../gis/trk/filter/filter.cpp" line="246"/>
+        <location filename="../gis/trk/filter/filter.cpp" line="300"/>
         <source>Offset elevation data by %1%2.</source>
         <translation>Versatz der Höhendaten um %1 %2.</translation>
     </message>
     <message>
-        <location filename="../gis/trk/filter/filter.cpp" line="265"/>
+        <location filename="../gis/trk/filter/filter.cpp" line="319"/>
         <source>Changed start of track to %1.</source>
         <translation>Trackanfang auf %1 verschoben.</translation>
     </message>
     <message>
-        <location filename="../gis/trk/filter/filter.cpp" line="284"/>
+        <location filename="../gis/trk/filter/filter.cpp" line="338"/>
         <source>Remove timestamps.</source>
         <translation>Zeitstempel entfernt.</translation>
     </message>
     <message>
-        <location filename="../gis/trk/filter/filter.cpp" line="307"/>
+        <location filename="../gis/trk/filter/filter.cpp" line="361"/>
         <source>Set artificial timestamps with delta of %1 sec.</source>
         <translation>Künstliche Zeitstempel mit einem Abstand von %1 Sek. gesetzt.</translation>
     </message>
     <message>
-        <location filename="../gis/trk/filter/filter.cpp" line="340"/>
+        <location filename="../gis/trk/filter/filter.cpp" line="394"/>
         <source>Changed speed to %1%2.</source>
         <translation>Geschwindigkeit auf %1 %2 geändert.</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="1097"/>
+        <location filename="../gis/CGisListWks.cpp" line="1098"/>
         <source>Delete project...</source>
         <translation>Projekt löschen...</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="1097"/>
+        <location filename="../gis/CGisListWks.cpp" line="1098"/>
         <source>Do you really want to delete %1?</source>
         <translation>Sind Sie sicher, dass sie %1? löschen wollen?</translation>
     </message>
@@ -6797,47 +7043,47 @@ Turn: %1 Bearing: %2</source>
     <message>
         <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="431"/>
-        <location filename="../gis/tnv/serialization.cpp" line="460"/>
-        <location filename="../gis/tnv/serialization.cpp" line="471"/>
-        <location filename="../gis/tnv/serialization.cpp" line="504"/>
-        <location filename="../gis/tnv/serialization.cpp" line="644"/>
-        <location filename="../gis/tnv/serialization.cpp" line="672"/>
-        <location filename="../gis/tnv/serialization.cpp" line="683"/>
-        <location filename="../gis/tnv/serialization.cpp" line="701"/>
-        <location filename="../gis/tnv/serialization.cpp" line="729"/>
-        <location filename="../gis/tnv/serialization.cpp" line="803"/>
+        <location filename="../gis/tnv/serialization.cpp" line="211"/>
+        <location filename="../gis/tnv/serialization.cpp" line="347"/>
+        <location filename="../gis/tnv/serialization.cpp" line="376"/>
+        <location filename="../gis/tnv/serialization.cpp" line="387"/>
+        <location filename="../gis/tnv/serialization.cpp" line="420"/>
+        <location filename="../gis/tnv/serialization.cpp" line="560"/>
+        <location filename="../gis/tnv/serialization.cpp" line="588"/>
+        <location filename="../gis/tnv/serialization.cpp" line="599"/>
+        <location filename="../gis/tnv/serialization.cpp" line="617"/>
+        <location filename="../gis/tnv/serialization.cpp" line="645"/>
+        <location filename="../gis/tnv/serialization.cpp" line="719"/>
         <source>Error...</source>
         <translation>Fehler...</translation>
     </message>
     <message>
         <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="431"/>
-        <location filename="../gis/tnv/serialization.cpp" line="644"/>
+        <location filename="../gis/tnv/serialization.cpp" line="211"/>
+        <location filename="../gis/tnv/serialization.cpp" line="347"/>
+        <location filename="../gis/tnv/serialization.cpp" line="560"/>
         <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="460"/>
-        <location filename="../gis/tnv/serialization.cpp" line="471"/>
-        <location filename="../gis/tnv/serialization.cpp" line="672"/>
-        <location filename="../gis/tnv/serialization.cpp" line="683"/>
+        <location filename="../gis/tnv/serialization.cpp" line="376"/>
+        <location filename="../gis/tnv/serialization.cpp" line="387"/>
+        <location filename="../gis/tnv/serialization.cpp" line="588"/>
+        <location filename="../gis/tnv/serialization.cpp" line="599"/>
         <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="504"/>
-        <location filename="../gis/tnv/serialization.cpp" line="701"/>
-        <location filename="../gis/tnv/serialization.cpp" line="729"/>
-        <location filename="../gis/tnv/serialization.cpp" line="803"/>
+        <location filename="../gis/tnv/serialization.cpp" line="420"/>
+        <location filename="../gis/tnv/serialization.cpp" line="617"/>
+        <location filename="../gis/tnv/serialization.cpp" line="645"/>
+        <location filename="../gis/tnv/serialization.cpp" line="719"/>
         <source>Failed to read data.</source>
         <translation>Lesen der Daten fehlgeschlagen.</translation>
     </message>
     <message>
-        <location filename="../device/CDeviceGarmin.cpp" line="207"/>
+        <location filename="../device/CDeviceGarmin.cpp" line="204"/>
         <source>Picture%1</source>
         <translation>Bild %1</translation>
     </message>
@@ -6896,51 +7142,116 @@ Turn: %1 Bearing: %2</source>
     </message>
     <message>
         <location filename="../gis/trk/CActivityTrk.cpp" line="77"/>
-        <location filename="../gis/trk/CActivityTrk.cpp" line="101"/>
         <source>Aeronautik</source>
         <translation>Luftfahrt</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CActivityTrk.cpp" line="213"/>
-        <location filename="../gis/trk/CActivityTrk.cpp" line="257"/>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="101"/>
+        <source>Aeronautics</source>
+        <translation>Aeronautik</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="210"/>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="254"/>
         <source>Distance:</source>
         <translation>Entfernung:</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CActivityTrk.cpp" line="215"/>
-        <location filename="../gis/trk/CActivityTrk.cpp" line="279"/>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="212"/>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="276"/>
         <source>Ascend:</source>
         <translation>Anstieg:</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CActivityTrk.cpp" line="217"/>
-        <location filename="../gis/trk/CActivityTrk.cpp" line="301"/>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="214"/>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="298"/>
         <source>Descend:</source>
         <translation>Abstieg:</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CActivityTrk.cpp" line="219"/>
-        <location filename="../gis/trk/CActivityTrk.cpp" line="323"/>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="216"/>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="320"/>
         <source>Speed Moving:</source>
         <translation>Geschwindigkeit in Bewegung:</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CActivityTrk.cpp" line="221"/>
-        <location filename="../gis/trk/CActivityTrk.cpp" line="345"/>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="218"/>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="342"/>
         <source>Speed Total:</source>
         <translation>Geschwindigkeit insgesamt:</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CActivityTrk.cpp" line="223"/>
-        <location filename="../gis/trk/CActivityTrk.cpp" line="367"/>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="220"/>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="364"/>
         <source>Time Moving:</source>
         <translation>Zeit in Bewegung:</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CActivityTrk.cpp" line="225"/>
-        <location filename="../gis/trk/CActivityTrk.cpp" line="389"/>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="222"/>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="386"/>
         <source>Time Total:</source>
         <translation>Zeit insgesamt:</translation>
     </message>
+    <message>
+        <location filename="../gis/trk/CPropertyTrk.cpp" line="53"/>
+        <source>Progress</source>
+        <translation>Verlauf</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CPropertyTrk.cpp" line="56"/>
+        <source>time</source>
+        <translation>Uhrzeit</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CPropertyTrk.cpp" line="57"/>
+        <location filename="../gis/trk/CPropertyTrk.cpp" line="82"/>
+        <source>distance [%1]</source>
+        <translation>Entfernung [%1]</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CKnownExtension.cpp" line="57"/>
+        <source>Slope (directed)</source>
+        <translation>Neigung (mit Vorzeichen)</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CKnownExtension.cpp" line="62"/>
+        <source>Speed</source>
+        <translation>Geschwindigkeit</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CKnownExtension.cpp" line="67"/>
+        <source>Elevation</source>
+        <translation>Höhe</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CKnownExtension.cpp" line="74"/>
+        <location filename="../gis/trk/CKnownExtension.cpp" line="100"/>
+        <source>Heart Rate</source>
+        <translation>Pulsrate</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CKnownExtension.cpp" line="79"/>
+        <location filename="../gis/trk/CKnownExtension.cpp" line="105"/>
+        <source>Cadence</source>
+        <translation>Trittfrequenz</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CKnownExtension.cpp" line="84"/>
+        <location filename="../gis/trk/CKnownExtension.cpp" line="110"/>
+        <source>Air Temperature</source>
+        <translation>Lufttemperatur</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CKnownExtension.cpp" line="89"/>
+        <location filename="../gis/trk/CKnownExtension.cpp" line="115"/>
+        <source>Water Temperature</source>
+        <translation>Wassertemperatur</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CKnownExtension.cpp" line="94"/>
+        <location filename="../gis/trk/CKnownExtension.cpp" line="120"/>
+        <source>Depth</source>
+        <translation>Tiefe</translation>
+    </message>
 </context>
 </TS>
diff --git a/src/locale/qmapshack_es.ts b/src/locale/qmapshack_es.ts
index 69ea85e..ea968bb 100644
--- a/src/locale/qmapshack_es.ts
+++ b/src/locale/qmapshack_es.ts
@@ -21,7 +21,7 @@
         <translation type="obsolete">Espacio de Trabajo %1</translation>
     </message>
     <message>
-        <location filename="../canvas/CCanvas.cpp" line="66"/>
+        <location filename="../canvas/CCanvas.cpp" line="59"/>
         <source>View %1</source>
         <translation>Vista %1</translation>
     </message>
@@ -88,34 +88,33 @@
 <context>
     <name>CDemPropSetup</name>
     <message>
-        <location filename="../dem/CDemPropSetup.cpp" line="183"/>
         <source><b>Grade %1</b></source>
-        <translation>Nivel %1</translation>
+        <translation type="vanished">Nivel %1</translation>
     </message>
 </context>
 <context>
     <name>CDemVRT</name>
     <message>
-        <location filename="../dem/CDemVRT.cpp" line="45"/>
+        <location filename="../dem/CDemVRT.cpp" line="44"/>
         <location filename="../dem/CDemVRT.cpp" line="52"/>
-        <location filename="../dem/CDemVRT.cpp" line="61"/>
-        <location filename="../dem/CDemVRT.cpp" line="89"/>
+        <location filename="../dem/CDemVRT.cpp" line="62"/>
+        <location filename="../dem/CDemVRT.cpp" line="91"/>
         <source>Error...</source>
         <translation>Error...</translation>
     </message>
     <message>
-        <location filename="../dem/CDemVRT.cpp" line="45"/>
+        <location filename="../dem/CDemVRT.cpp" line="44"/>
         <source>Failed to load file: %1</source>
         <translation>Fallo al cargar el archivo: %1</translation>
     </message>
     <message>
         <location filename="../dem/CDemVRT.cpp" line="52"/>
-        <location filename="../dem/CDemVRT.cpp" line="61"/>
+        <location filename="../dem/CDemVRT.cpp" line="62"/>
         <source>DEM must have one band with 16bit or 32bit data.</source>
         <translation>El DEM debe tener una sola banda con datos de 16 o 32 bits.</translation>
     </message>
     <message>
-        <location filename="../dem/CDemVRT.cpp" line="89"/>
+        <location filename="../dem/CDemVRT.cpp" line="91"/>
         <source>No georeference information found.</source>
         <translation>No se encontró información de georreferenciación.</translation>
     </message>
@@ -123,23 +122,23 @@
 <context>
     <name>CDetailsGeoCache</name>
     <message>
-        <location filename="../gis/wpt/CDetailsGeoCache.cpp" line="62"/>
+        <location filename="../gis/wpt/CDetailsGeoCache.cpp" line="61"/>
         <source>none</source>
         <translation>ninguno</translation>
     </message>
     <message>
-        <location filename="../gis/wpt/CDetailsGeoCache.cpp" line="62"/>
-        <location filename="../gis/wpt/CDetailsGeoCache.cpp" line="132"/>
+        <location filename="../gis/wpt/CDetailsGeoCache.cpp" line="61"/>
+        <location filename="../gis/wpt/CDetailsGeoCache.cpp" line="131"/>
         <source>???</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../gis/wpt/CDetailsGeoCache.cpp" line="159"/>
+        <location filename="../gis/wpt/CDetailsGeoCache.cpp" line="158"/>
         <source>Searching for images...</source>
         <translation>Buscando imagenes...</translation>
     </message>
     <message>
-        <location filename="../gis/wpt/CDetailsGeoCache.cpp" line="264"/>
+        <location filename="../gis/wpt/CDetailsGeoCache.cpp" line="263"/>
         <source>No images found</source>
         <translation>No se encontraron imagenes</translation>
     </message>
@@ -147,12 +146,12 @@
 <context>
     <name>CDetailsOvlArea</name>
     <message>
-        <location filename="../gis/ovl/CDetailsOvlArea.cpp" line="135"/>
+        <location filename="../gis/ovl/CDetailsOvlArea.cpp" line="134"/>
         <source>Edit name...</source>
         <translation>Editar nombre...</translation>
     </message>
     <message>
-        <location filename="../gis/ovl/CDetailsOvlArea.cpp" line="135"/>
+        <location filename="../gis/ovl/CDetailsOvlArea.cpp" line="134"/>
         <source>Enter new area name.</source>
         <translation type="unfinished">Introduzca el nombre del nuevo área.</translation>
     </message>
@@ -180,13 +179,13 @@
 <context>
     <name>CDetailsPrj</name>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="249"/>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="689"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="247"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="687"/>
         <source>none</source>
         <translation>ninguna</translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="322"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="320"/>
         <source>Build diary...</source>
         <translation>Creando diario...</translation>
     </message>
@@ -195,97 +194,97 @@
         <translation type="obsolete">Cancelar</translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="397"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="395"/>
         <source><h2>Waypoints</h2></source>
         <translation>Waypoints</translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="404"/>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="430"/>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="534"/>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="624"/>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="654"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="402"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="428"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="532"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="622"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="652"/>
         <source>Info</source>
         <translation>Información</translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="405"/>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="431"/>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="535"/>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="625"/>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="655"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="403"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="429"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="533"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="623"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="653"/>
         <source>Comment</source>
         <translation>Comentario</translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="423"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="421"/>
         <source><h2>Tracks</h2></source>
         <translation>Tracks</translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="617"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="615"/>
         <source><h2>Areas</h2></source>
         <translation>Áreas</translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="103"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="101"/>
         <source>You want to sort waypoints along a track, but you switched off track and waypoint correlation. Do you want to switch it on again?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="104"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="102"/>
         <source>Correlation...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="377"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="375"/>
         <source><b>Summary over all tracks in project</b><br/></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="553"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="551"/>
         <source>distance: %1%2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="555"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="553"/>
         <source>ascent: %1%2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="557"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="555"/>
         <source>descend: %1%2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="647"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="645"/>
         <source><h2>Routes</h2></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="675"/>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="702"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="673"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="700"/>
         <source>Edit name...</source>
         <translation>Editar nombre...</translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="675"/>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="702"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="673"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="700"/>
         <source>Enter new project name.</source>
         <translation>Introducir nuevo nombre de proyecto.</translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="684"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="682"/>
         <source>Edit keywords...</source>
         <translation>Editar etiquetas...</translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="684"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="682"/>
         <source>Enter keywords.</source>
         <translation>Introducir etiquetas.</translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="818"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="816"/>
         <source>Print Diary</source>
         <translation>Imprimir Diario</translation>
     </message>
@@ -293,12 +292,12 @@
 <context>
     <name>CDetailsRte</name>
     <message>
-        <location filename="../gis/rte/CDetailsRte.cpp" line="120"/>
+        <location filename="../gis/rte/CDetailsRte.cpp" line="119"/>
         <source>Edit name...</source>
         <translation type="unfinished">Editar nombre...</translation>
     </message>
     <message>
-        <location filename="../gis/rte/CDetailsRte.cpp" line="120"/>
+        <location filename="../gis/rte/CDetailsRte.cpp" line="119"/>
         <source>Enter new route name.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -306,57 +305,78 @@
 <context>
     <name>CDetailsTrk</name>
     <message>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="87"/>
+        <source>distance [%1]</source>
+        <translation type="obsolete">distancia [%1]</translation>
+    </message>
+    <message>
+        <source>speed. [%1]</source>
+        <translation type="obsolete">velocidad. [%1]</translation>
+    </message>
+    <message>
+        <source>time</source>
+        <translation type="obsolete">tiempo</translation>
+    </message>
+    <message>
+        <source>distance. [%1]</source>
+        <translation type="obsolete">distancia. [%1]</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="409"/>
+        <source>Solid color</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="112"/>
         <source>Reduce visible track points</source>
         <translation>Reducir puntos visibles del track</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="100"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="128"/>
         <source>Change elevation of track points</source>
         <translation>Cambiar elevación de puntos del track</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="113"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="141"/>
         <source>Change timestamp of track points</source>
         <translation>Cambiar fecha/hora de puntos del track</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="126"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="154"/>
         <source>Cut track into pieces</source>
         <translation>Dividir track en partes</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="242"/>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="251"/>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="254"/>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="260"/>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="279"/>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="281"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="309"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="318"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="321"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="327"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="346"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="348"/>
         <source>%1 %2</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="457"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="603"/>
         <source>Edit name...</source>
         <translation type="unfinished">Editar nombre...</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="457"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="603"/>
         <source>Enter new track name.</source>
         <translation type="unfinished">Introduzca el nombre del nuevo track.</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="509"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="655"/>
         <source>Reset activities...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="509"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="655"/>
         <source>This will remove all activities from the track. Proceed?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="515"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="661"/>
         <source>None</source>
         <translation type="unfinished"></translation>
     </message>
@@ -396,17 +416,17 @@
         <translation type="obsolete"><p>---sin descripción---</p></translation>
     </message>
     <message>
-        <location filename="../gis/wpt/CDetailsWpt.cpp" line="157"/>
+        <location filename="../gis/wpt/CDetailsWpt.cpp" line="134"/>
         <source>Edit name...</source>
         <translation>Editar nombre...</translation>
     </message>
     <message>
-        <location filename="../gis/wpt/CDetailsWpt.cpp" line="157"/>
+        <location filename="../gis/wpt/CDetailsWpt.cpp" line="134"/>
         <source>Enter new waypoint name.</source>
         <translation>Introducir el nombre del nuevo waypoint.</translation>
     </message>
     <message>
-        <location filename="../gis/wpt/CDetailsWpt.cpp" line="176"/>
+        <location filename="../gis/wpt/CDetailsWpt.cpp" line="153"/>
         <source>Enter new proximity range.</source>
         <translation>Introduzca el nuevo valor de proximidad.</translation>
     </message>
@@ -422,69 +442,73 @@
 <context>
     <name>CGisListDB</name>
     <message>
-        <location filename="../gis/CGisListDB.cpp" line="76"/>
+        <location filename="../gis/CGisListDB.cpp" line="75"/>
         <source>Add Database</source>
         <translation>Añadir Base de Datos</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListDB.cpp" line="79"/>
+        <location filename="../gis/CGisListDB.cpp" line="78"/>
         <source>Add Folder</source>
         <translation>Añadir carpeta</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListDB.cpp" line="80"/>
+        <location filename="../gis/CGisListDB.cpp" line="79"/>
         <source>Delete Folder</source>
         <translation>Eliminar Carpeta</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListDB.cpp" line="83"/>
-        <location filename="../gis/CGisListDB.cpp" line="93"/>
+        <location filename="../gis/CGisListDB.cpp" line="82"/>
+        <location filename="../gis/CGisListDB.cpp" line="92"/>
         <source>Delete Item</source>
         <translation>Eliminar Elemento</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListDB.cpp" line="87"/>
+        <location filename="../gis/CGisListDB.cpp" line="86"/>
         <source>Remove Database</source>
         <translation>Quitar Base de Datos</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListDB.cpp" line="90"/>
+        <location filename="../gis/CGisListDB.cpp" line="89"/>
         <source>Empty</source>
         <translation>Vacío</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListDB.cpp" line="282"/>
+        <location filename="../gis/CGisListDB.cpp" line="281"/>
         <source>Remove database...</source>
         <translation>Quitar Base de Datos...</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListDB.cpp" line="282"/>
+        <location filename="../gis/CGisListDB.cpp" line="281"/>
+        <source>Do you really want to remove '%1' from the list?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <source>Do you realy want to remove '%1' from the list?</source>
-        <translation>¿Desea realmente quitar '%1' de la lista?</translation>
+        <translation type="vanished">¿Desea realmente quitar '%1' de la lista?</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListDB.cpp" line="323"/>
+        <location filename="../gis/CGisListDB.cpp" line="322"/>
         <source>Delete database folder...</source>
         <translation>Eliminar Carpeta de la Base de Datos...</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListDB.cpp" line="323"/>
+        <location filename="../gis/CGisListDB.cpp" line="322"/>
         <source>Are you sure you want to delete "%1" from the database?</source>
         <translation>¿Desea realmente eliminar '%1' de la Base de Datos?</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListDB.cpp" line="349"/>
-        <location filename="../gis/CGisListDB.cpp" line="364"/>
+        <location filename="../gis/CGisListDB.cpp" line="348"/>
+        <location filename="../gis/CGisListDB.cpp" line="363"/>
         <source>Remove items...</source>
         <translation>Eliminar elementos...</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListDB.cpp" line="349"/>
+        <location filename="../gis/CGisListDB.cpp" line="348"/>
         <source>Are you sure you want to delete all items from Lost&Found? This will remove them permanently.</source>
         <translation>¿Desea realmente eliminar todos los elementos de 'Objetos Perdidos'? Se eliminarán definitivamente.</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListDB.cpp" line="364"/>
+        <location filename="../gis/CGisListDB.cpp" line="363"/>
         <source>Are you sure you want to delete all selected items from Lost&Found? This will remove them permanently.</source>
         <translation>¿Desea realmente eliminar todos los elementos.seleccionados de 'Objetos Perdidos'? Se eliminarán definitivamente.</translation>
     </message>
@@ -492,17 +516,17 @@
 <context>
     <name>CGisListWks</name>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="104"/>
+        <location filename="../gis/CGisListWks.cpp" line="101"/>
         <source>Save</source>
         <translation>Guardar</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="105"/>
+        <location filename="../gis/CGisListWks.cpp" line="102"/>
         <source>Save As...</source>
         <translation>Guardar Como...</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="100"/>
+        <location filename="../gis/CGisListWks.cpp" line="97"/>
         <source>Edit..</source>
         <translation>Editar..</translation>
     </message>
@@ -511,62 +535,62 @@
         <translation type="obsolete">Actualizar Proyecto en Dispositivos</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="109"/>
+        <location filename="../gis/CGisListWks.cpp" line="106"/>
         <source>Close</source>
         <translation>Cerrar</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="115"/>
+        <location filename="../gis/CGisListWks.cpp" line="112"/>
         <source>Update Project on Device</source>
         <translation>Actualizar Proyecto en Dsipositivo</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="127"/>
+        <location filename="../gis/CGisListWks.cpp" line="124"/>
         <source>Edit...</source>
         <translation>Editar...</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="128"/>
+        <location filename="../gis/CGisListWks.cpp" line="125"/>
         <source>Copy to...</source>
         <translation>Copiar a...</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="143"/>
+        <location filename="../gis/CGisListWks.cpp" line="140"/>
         <source>Show Bubble</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="145"/>
+        <location filename="../gis/CGisListWks.cpp" line="142"/>
         <source>Move Waypoint</source>
         <translation>Mover Waypoint</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="146"/>
+        <location filename="../gis/CGisListWks.cpp" line="143"/>
         <source>Proj. Waypoint...</source>
         <translation>Proyectar Waypoint...</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="154"/>
+        <location filename="../gis/CGisListWks.cpp" line="151"/>
         <source>Route Instructions</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="156"/>
+        <location filename="../gis/CGisListWks.cpp" line="153"/>
         <source>Calculate Route</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="157"/>
+        <location filename="../gis/CGisListWks.cpp" line="154"/>
         <source>Reset Route</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="158"/>
+        <location filename="../gis/CGisListWks.cpp" line="155"/>
         <source>Edit Route</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="174"/>
+        <location filename="../gis/CGisListWks.cpp" line="171"/>
         <source>Create Route</source>
         <translation type="unfinished"></translation>
     </message>
@@ -577,64 +601,64 @@
     </message>
     <message>
         <location filename="../gis/CGisListWks.cpp" line="638"/>
-        <location filename="../gis/CGisListWks.cpp" line="1543"/>
-        <location filename="../gis/CGisListWks.cpp" line="1581"/>
+        <location filename="../gis/CGisListWks.cpp" line="1544"/>
+        <location filename="../gis/CGisListWks.cpp" line="1582"/>
         <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>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="1265"/>
+        <location filename="../gis/CGisListWks.cpp" line="1266"/>
         <source>Copy items...</source>
         <translation type="unfinished">Copia elementos....</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="130"/>
+        <location filename="../gis/CGisListWks.cpp" line="127"/>
         <source>Track Profile</source>
         <translation>Perfil del Track</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="101"/>
+        <location filename="../gis/CGisListWks.cpp" line="98"/>
         <source>Show on Map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="102"/>
+        <location filename="../gis/CGisListWks.cpp" line="99"/>
         <source>Hide from Map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="107"/>
+        <location filename="../gis/CGisListWks.cpp" line="104"/>
         <source>Send to Devices</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="132"/>
+        <location filename="../gis/CGisListWks.cpp" line="129"/>
         <source>Select Range</source>
         <translation>Seleccionar Rango</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="133"/>
+        <location filename="../gis/CGisListWks.cpp" line="130"/>
         <source>Edit Track Points</source>
         <translation>Editar Puntos del Track</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="134"/>
+        <location filename="../gis/CGisListWks.cpp" line="131"/>
         <source>Reverse Track</source>
         <translation>Invertir Track</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="135"/>
+        <location filename="../gis/CGisListWks.cpp" line="132"/>
         <source>Combine Tracks</source>
         <translation>Combinar Tracks</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="167"/>
+        <location filename="../gis/CGisListWks.cpp" line="164"/>
         <source>Edit Area Points</source>
         <translation>Editar Puntos del Área</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="116"/>
-        <location filename="../gis/CGisListWks.cpp" line="137"/>
+        <location filename="../gis/CGisListWks.cpp" line="113"/>
+        <location filename="../gis/CGisListWks.cpp" line="134"/>
         <source>Delete</source>
         <translation>Borrar</translation>
     </message>
@@ -649,12 +673,12 @@
         <translation>Cargando espacio de trabajo. Por favor espere.</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="1061"/>
+        <location filename="../gis/CGisListWks.cpp" line="1062"/>
         <source>Close all projects...</source>
         <translation>Cerrar todos los proyectos...</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="1061"/>
+        <location filename="../gis/CGisListWks.cpp" line="1062"/>
         <source>This will remove all projects from the workspace.</source>
         <translation>Esto quitará.todos los proyectos.del espacio de trabajo.</translation>
     </message>
@@ -697,22 +721,22 @@
         <translation type="obsolete">[Malla: N %1m, E %2m] </translation>
     </message>
     <message>
-        <location filename="../grid/CGrid.cpp" line="65"/>
+        <location filename="../grid/CGrid.cpp" line="61"/>
         <source>%1 %2 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../grid/CGrid.cpp" line="69"/>
+        <location filename="../grid/CGrid.cpp" line="65"/>
         <source>%1%2%5 %3%4%5 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../grid/CGrid.cpp" line="76"/>
+        <location filename="../grid/CGrid.cpp" line="72"/>
         <source>%1m, %2m </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../grid/CGrid.cpp" line="80"/>
+        <location filename="../grid/CGrid.cpp" line="76"/>
         <source>N %1m, E %2m </source>
         <translation type="unfinished"></translation>
     </message>
@@ -720,7 +744,7 @@
 <context>
     <name>CHistoryListWidget</name>
     <message>
-        <location filename="../helpers/CHistoryListWidget.cpp" line="34"/>
+        <location filename="../widgets/CHistoryListWidget.cpp" line="34"/>
         <source>Cut history</source>
         <translation>Cortar historial</translation>
     </message>
@@ -733,12 +757,12 @@
         <translation>Importar Base de Datos de Qlandkarte</translation>
     </message>
     <message>
-        <location filename="../tool/CImportDatabase.cpp" line="73"/>
+        <location filename="../tool/CImportDatabase.cpp" line="75"/>
         <source>Select source database...</source>
         <translation>Seleccionar origen de base de datos...</translation>
     </message>
     <message>
-        <location filename="../tool/CImportDatabase.cpp" line="93"/>
+        <location filename="../tool/CImportDatabase.cpp" line="97"/>
         <source>Select target database...</source>
         <translation>Seleecionar destino de base de datos...</translation>
     </message>
@@ -746,27 +770,27 @@
 <context>
     <name>CMainWindow</name>
     <message>
-        <location filename="../CMainWindow.cpp" line="589"/>
+        <location filename="../CMainWindow.cpp" line="591"/>
         <source>Ele: %1%2</source>
         <translation>Alt: %1%2</translation>
     </message>
     <message>
-        <location filename="../CMainWindow.cpp" line="605"/>
+        <location filename="../CMainWindow.cpp" line="607"/>
         <source>[Grid: %1]</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../CMainWindow.cpp" line="726"/>
+        <location filename="../CMainWindow.cpp" line="732"/>
         <source>Load GIS Data...</source>
         <translation>Cargar Datos GIS...</translation>
     </message>
     <message>
-        <location filename="../CMainWindow.cpp" line="760"/>
+        <location filename="../CMainWindow.cpp" line="766"/>
         <source>Select output file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../CMainWindow.cpp" line="786"/>
+        <location filename="../CMainWindow.cpp" line="792"/>
         <source>Select file to load</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1378,26 +1402,26 @@
         <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="2500"/>
-        <location filename="../map/CMapIMG.cpp" line="2508"/>
+        <location filename="../map/CMapIMG.cpp" line="2504"/>
         <location filename="../map/CMapIMG.cpp" line="2512"/>
-        <location filename="../map/CMapIMG.cpp" line="2517"/>
-        <location filename="../map/CMapIMG.cpp" line="2563"/>
-        <location filename="../map/CMapIMG.cpp" line="2571"/>
+        <location filename="../map/CMapIMG.cpp" line="2516"/>
+        <location filename="../map/CMapIMG.cpp" line="2521"/>
+        <location filename="../map/CMapIMG.cpp" line="2567"/>
         <location filename="../map/CMapIMG.cpp" line="2575"/>
-        <location filename="../map/CMapIMG.cpp" line="2580"/>
+        <location filename="../map/CMapIMG.cpp" line="2579"/>
+        <location filename="../map/CMapIMG.cpp" line="2584"/>
         <source>Point of Interest</source>
         <translation>Punto de Interés</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="2707"/>
+        <location filename="../map/CMapIMG.cpp" line="2711"/>
         <source>Unknown</source>
         <translation>Desconocido</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="2753"/>
-        <location filename="../map/CMapIMG.cpp" line="2761"/>
-        <location filename="../map/CMapIMG.cpp" line="2768"/>
+        <location filename="../map/CMapIMG.cpp" line="2757"/>
+        <location filename="../map/CMapIMG.cpp" line="2765"/>
+        <location filename="../map/CMapIMG.cpp" line="2772"/>
         <source>Area</source>
         <translation>Área</translation>
     </message>
@@ -1509,19 +1533,19 @@
 <context>
     <name>CMapTMS</name>
     <message>
-        <location filename="../map/CMapTMS.cpp" line="71"/>
-        <location filename="../map/CMapTMS.cpp" line="81"/>
-        <location filename="../map/CMapTMS.cpp" line="140"/>
+        <location filename="../map/CMapTMS.cpp" line="67"/>
+        <location filename="../map/CMapTMS.cpp" line="77"/>
+        <location filename="../map/CMapTMS.cpp" line="136"/>
         <source>Error...</source>
         <translation>Error...</translation>
     </message>
     <message>
-        <location filename="../map/CMapTMS.cpp" line="71"/>
+        <location filename="../map/CMapTMS.cpp" line="67"/>
         <source>Failed to open %1</source>
         <translation>Fallo al abrir %1</translation>
     </message>
     <message>
-        <location filename="../map/CMapTMS.cpp" line="81"/>
+        <location filename="../map/CMapTMS.cpp" line="77"/>
         <source>Failed to read: %1
 line %2, column %3:
  %4</source>
@@ -1530,17 +1554,17 @@ línea %2, columna %3.
  %4</translation>
     </message>
     <message>
-        <location filename="../map/CMapTMS.cpp" line="119"/>
+        <location filename="../map/CMapTMS.cpp" line="115"/>
         <source>Layer %1</source>
         <translation>Capa %1</translation>
     </message>
     <message>
-        <location filename="../map/CMapTMS.cpp" line="134"/>
+        <location filename="../map/CMapTMS.cpp" line="130"/>
         <source>This map requires OpenSSL support. However due to legal restrictions in some countries OpenSSL is not packaged with QMapShack. You can have a look at the <a href='https://www.openssl.org/community/binaries.html'>OpenSSL Homepage</a> for binaries. You have to copy libeay32.dll and ssleay32.dll into the QMapShack program directory.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../map/CMapTMS.cpp" line="311"/>
+        <location filename="../map/CMapTMS.cpp" line="306"/>
         <source><b>%1</b>: %2 tiles pending<br/></source>
         <translation><b>%1</b>: %2 teselas pendientes<br/></translation>
     </message>
@@ -1548,16 +1572,16 @@ línea %2, columna %3.
 <context>
     <name>CMapVRT</name>
     <message>
-        <location filename="../map/CMapVRT.cpp" line="47"/>
-        <location filename="../map/CMapVRT.cpp" line="61"/>
+        <location filename="../map/CMapVRT.cpp" line="45"/>
+        <location filename="../map/CMapVRT.cpp" line="60"/>
         <location filename="../map/CMapVRT.cpp" line="89"/>
-        <location filename="../map/CMapVRT.cpp" line="125"/>
+        <location filename="../map/CMapVRT.cpp" line="126"/>
         <source>Error...</source>
         <translation>Error...</translation>
     </message>
     <message>
-        <location filename="../map/CMapVRT.cpp" line="47"/>
-        <location filename="../map/CMapVRT.cpp" line="61"/>
+        <location filename="../map/CMapVRT.cpp" line="45"/>
+        <location filename="../map/CMapVRT.cpp" line="60"/>
         <source>Failed to load file: %1</source>
         <translation>Fallo al leer el archivo: %1</translation>
     </message>
@@ -1567,7 +1591,7 @@ línea %2, columna %3.
         <translation>El archivo debe ser con paleta de 8 bits o escala de grises indexada.</translation>
     </message>
     <message>
-        <location filename="../map/CMapVRT.cpp" line="125"/>
+        <location filename="../map/CMapVRT.cpp" line="126"/>
         <source>No georeference information found.</source>
         <translation>No se encontró información de georreferenciación.</translation>
     </message>
@@ -1590,7 +1614,7 @@ línea %2, columna %3.
         <translation>Seleccionar fichero de destino...</translation>
     </message>
     <message>
-        <location filename="../tool/CMapVrtBuilder.cpp" line="125"/>
+        <location filename="../tool/CMapVrtBuilder.cpp" line="114"/>
         <source>!!! done !!!
 </source>
         <translation type="unfinished"></translation>
@@ -1604,22 +1628,22 @@ línea %2, columna %3.
 <context>
     <name>CMapWMTS</name>
     <message>
-        <location filename="../map/CMapWMTS.cpp" line="46"/>
-        <location filename="../map/CMapWMTS.cpp" line="56"/>
-        <location filename="../map/CMapWMTS.cpp" line="66"/>
-        <location filename="../map/CMapWMTS.cpp" line="75"/>
-        <location filename="../map/CMapWMTS.cpp" line="160"/>
-        <location filename="../map/CMapWMTS.cpp" line="220"/>
+        <location filename="../map/CMapWMTS.cpp" line="43"/>
+        <location filename="../map/CMapWMTS.cpp" line="53"/>
+        <location filename="../map/CMapWMTS.cpp" line="63"/>
+        <location filename="../map/CMapWMTS.cpp" line="72"/>
+        <location filename="../map/CMapWMTS.cpp" line="157"/>
+        <location filename="../map/CMapWMTS.cpp" line="217"/>
         <source>Error...</source>
         <translation>Error...</translation>
     </message>
     <message>
-        <location filename="../map/CMapWMTS.cpp" line="46"/>
+        <location filename="../map/CMapWMTS.cpp" line="43"/>
         <source>Failed to open %1</source>
         <translation>Fallo al abrir %1</translation>
     </message>
     <message>
-        <location filename="../map/CMapWMTS.cpp" line="56"/>
+        <location filename="../map/CMapWMTS.cpp" line="53"/>
         <source>Failed to read: %1
 line %2, column %3:
  %4</source>
@@ -1628,29 +1652,33 @@ línea %2, columna %3.
  %4</translation>
     </message>
     <message>
-        <location filename="../map/CMapWMTS.cpp" line="66"/>
+        <location filename="../map/CMapWMTS.cpp" line="63"/>
         <source>Failed to read: %1
 Unknown structure.</source>
         <translation>Fallo al leer: %1
 Estructura desconocida.</translation>
     </message>
     <message>
-        <location filename="../map/CMapWMTS.cpp" line="75"/>
+        <location filename="../map/CMapWMTS.cpp" line="72"/>
+        <source>Unexpected service. '* WMTS 1.0.0' is expected. '%1 %2' is read.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <source>Unexpexted service. '* WMTS 1.0.0' is expected. '%1 %2' is read.</source>
-        <translation>Servicio no esperado. se esperaba'* WMTS 1.0.0'. Se leyó '%1 %2'.</translation>
+        <translation type="vanished">Servicio no esperado. se esperaba'* WMTS 1.0.0'. Se leyó '%1 %2'.</translation>
     </message>
     <message>
-        <location filename="../map/CMapWMTS.cpp" line="154"/>
+        <location filename="../map/CMapWMTS.cpp" line="151"/>
         <source>This map requires OpenSSL support. However due to legal restrictions in some countries OpenSSL is not packaged with QMapShack. You can have a look at the <a href='https://www.openssl.org/community/binaries.html'>OpenSSL Homepage</a> for binaries. You have to copy libeay32.dll and ssleay32.dll into the QMapShack program directory.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../map/CMapWMTS.cpp" line="220"/>
+        <location filename="../map/CMapWMTS.cpp" line="217"/>
         <source>No georeference information found.</source>
         <translation>No se encontró información de georreferenciación.</translation>
     </message>
     <message>
-        <location filename="../map/CMapWMTS.cpp" line="416"/>
+        <location filename="../map/CMapWMTS.cpp" line="413"/>
         <source><b>%1</b>: %2 tiles pending<br/></source>
         <translation><b>%1</b>: %2 teselas pendientes<br/></translation>
     </message>
@@ -1695,55 +1723,59 @@ Estructura desconocida.</translation>
     </message>
     <message>
         <location filename="../mouse/CMouseEditTrk.cpp" line="28"/>
-        <location filename="../mouse/CMouseEditTrk.cpp" line="36"/>
+        <location filename="../mouse/CMouseEditTrk.cpp" line="35"/>
         <source>Track</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mouse/CMouseEditTrk.cpp" line="39"/>
+        <location filename="../mouse/CMouseEditTrk.cpp" line="38"/>
         <source><b>Edit Track Points</b><br/>Select a function and a routing mode via the tool buttons. Next select a point of the line. Only points marked with a large square can be changed. The ones with a black dot are subpoints introduced by routing.<br/></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mouse/CMouseEditTrk.cpp" line="81"/>
+        <location filename="../mouse/CMouseEditTrk.cpp" line="80"/>
         <source>Warning!</source>
         <translation type="unfinished">¡Cuidado!</translation>
     </message>
     <message>
-        <location filename="../mouse/CMouseEditTrk.cpp" line="81"/>
+        <location filename="../mouse/CMouseEditTrk.cpp" line="80"/>
+        <source>This will replace all data of the original by a simple line of coordinates. All other data will be lost permanently.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <source>This will replace all data of the orignal by a simple line of coordinates. All other data will be lost permanently.</source>
-        <translation type="unfinished">Esto sustituirá todos los datos del original con una simple línea de coordenadas. Todos los demás datos se perderán definitivamente.</translation>
+        <translation type="obsolete">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>
 </context>
 <context>
     <name>CMouseNormal</name>
     <message>
-        <location filename="../mouse/CMouseNormal.cpp" line="41"/>
+        <location filename="../mouse/CMouseNormal.cpp" line="39"/>
         <source>Add Waypoint</source>
         <translation>Añadir Waypoint</translation>
     </message>
     <message>
-        <location filename="../mouse/CMouseNormal.cpp" line="42"/>
+        <location filename="../mouse/CMouseNormal.cpp" line="40"/>
         <source>Add Track</source>
         <translation>Añadir Track</translation>
     </message>
     <message>
-        <location filename="../mouse/CMouseNormal.cpp" line="43"/>
+        <location filename="../mouse/CMouseNormal.cpp" line="41"/>
         <source>Add Route</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mouse/CMouseNormal.cpp" line="44"/>
+        <location filename="../mouse/CMouseNormal.cpp" line="42"/>
         <source>Add Area</source>
         <translation>Añadir Área</translation>
     </message>
     <message>
-        <location filename="../mouse/CMouseNormal.cpp" line="47"/>
+        <location filename="../mouse/CMouseNormal.cpp" line="45"/>
         <source>Copy position</source>
         <translation>Copiar posición</translation>
     </message>
     <message>
-        <location filename="../mouse/CMouseNormal.cpp" line="48"/>
+        <location filename="../mouse/CMouseNormal.cpp" line="46"/>
         <source>Copy position (Grid)</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1751,7 +1783,7 @@ Estructura desconocida.</translation>
 <context>
     <name>CMousePrint</name>
     <message>
-        <location filename="../mouse/CMousePrint.cpp" line="38"/>
+        <location filename="../mouse/CMousePrint.cpp" line="30"/>
         <source><b>Save(Print) Map</b><br/>Select a rectangular area on the map. Use the left mouse button and move the mouse. Abort with a right click. Adjust the selection by point-click-move on the corners. Save/print the selection by a left click on the disc/printer icon in the center of the selection.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1759,7 +1791,7 @@ Estructura desconocida.</translation>
 <context>
     <name>CMouseRangeTrk</name>
     <message>
-        <location filename="../mouse/CMouseRangeTrk.cpp" line="44"/>
+        <location filename="../mouse/CMouseRangeTrk.cpp" line="42"/>
         <source><b>Select Range</b><br/>Select first track point. And then a second one.<br/></source>
         <translation><b>Seleccione Rango</b><br/>En el track, seleccione el primer punto, y otro más a continuación.<br/></translation>
     </message>
@@ -1767,7 +1799,7 @@ Estructura desconocida.</translation>
 <context>
     <name>CPhotoAlbum</name>
     <message>
-        <location filename="../helpers/CPhotoAlbum.cpp" line="72"/>
+        <location filename="../widgets/CPhotoAlbum.cpp" line="73"/>
         <source>Select images...</source>
         <translation>Seleccionar imagenes...</translation>
     </message>
@@ -1775,39 +1807,35 @@ Estructura desconocida.</translation>
 <context>
     <name>CPlotDistance</name>
     <message>
-        <location filename="../plot/CPlotDistance.cpp" line="58"/>
         <source>distance [%1]</source>
-        <translation>distancia [%1]</translation>
+        <translation type="vanished">distancia [%1]</translation>
     </message>
     <message>
-        <location filename="../plot/CPlotDistance.cpp" line="62"/>
         <source>time</source>
-        <translation>tiempo</translation>
+        <translation type="vanished">tiempo</translation>
     </message>
     <message>
         <source>time [h]</source>
         <translation type="obsolete">tiempo [h]</translation>
     </message>
     <message>
-        <location filename="../plot/CPlotDistance.cpp" line="64"/>
         <source>distance. [%1]</source>
-        <translation>distancia. [%1]</translation>
+        <translation type="vanished">distancia. [%1]</translation>
     </message>
 </context>
 <context>
     <name>CPlotProfile</name>
     <message>
-        <location filename="../plot/CPlotProfile.cpp" line="65"/>
+        <location filename="../plot/CPlotProfile.cpp" line="63"/>
         <source>distance [%1]</source>
         <translation>distancia [%1]</translation>
     </message>
     <message>
-        <location filename="../plot/CPlotProfile.cpp" line="69"/>
         <source>time [h]</source>
-        <translation>tiempo [h]</translation>
+        <translation type="vanished">tiempo [h]</translation>
     </message>
     <message>
-        <location filename="../plot/CPlotProfile.cpp" line="71"/>
+        <location filename="../plot/CPlotProfile.cpp" line="64"/>
         <source>alt. [%1]</source>
         <translation>alt. [%1]</translation>
     </message>
@@ -1815,45 +1843,42 @@ Estructura desconocida.</translation>
 <context>
     <name>CPlotSpeed</name>
     <message>
-        <location filename="../plot/CPlotSpeed.cpp" line="57"/>
         <source>distance [%1]</source>
-        <translation>distancia [%1]</translation>
+        <translation type="vanished">distancia [%1]</translation>
     </message>
     <message>
-        <location filename="../plot/CPlotSpeed.cpp" line="61"/>
         <source>time [h]</source>
-        <translation>tiempo [h]</translation>
+        <translation type="vanished">tiempo [h]</translation>
     </message>
     <message>
-        <location filename="../plot/CPlotSpeed.cpp" line="63"/>
         <source>speed. [%1]</source>
-        <translation>velocidad. [%1]</translation>
+        <translation type="vanished">velocidad. [%1]</translation>
     </message>
 </context>
 <context>
     <name>CPrintDialog</name>
     <message>
-        <location filename="../print/CPrintDialog.cpp" line="68"/>
+        <location filename="../print/CPrintDialog.cpp" line="67"/>
         <source>Print Map...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../print/CPrintDialog.cpp" line="75"/>
+        <location filename="../print/CPrintDialog.cpp" line="74"/>
         <source>Save Map as Image...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../print/CPrintDialog.cpp" line="95"/>
+        <location filename="../print/CPrintDialog.cpp" line="94"/>
         <source>Printer Properties...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../print/CPrintDialog.cpp" line="170"/>
+        <location filename="../print/CPrintDialog.cpp" line="169"/>
         <source>Pages: %1 x %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../print/CPrintDialog.cpp" line="171"/>
+        <location filename="../print/CPrintDialog.cpp" line="170"/>
         <source>Zoom with mouse wheel on map below to change resolution:
 
 %1x%2 pixel
@@ -1862,12 +1887,12 @@ y: %4 m/px</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../print/CPrintDialog.cpp" line="217"/>
+        <location filename="../print/CPrintDialog.cpp" line="216"/>
         <source>Printing pages.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../print/CPrintDialog.cpp" line="259"/>
+        <location filename="../print/CPrintDialog.cpp" line="260"/>
         <source>Save map...</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1888,22 +1913,22 @@ y: %4 m/px</source>
 <context>
     <name>CProjWizard</name>
     <message>
-        <location filename="../grid/CProjWizard.cpp" line="57"/>
+        <location filename="../grid/CProjWizard.cpp" line="62"/>
         <source>north</source>
         <translation>norte</translation>
     </message>
     <message>
-        <location filename="../grid/CProjWizard.cpp" line="58"/>
+        <location filename="../grid/CProjWizard.cpp" line="63"/>
         <source>south</source>
         <translation>sur</translation>
     </message>
     <message>
-        <location filename="../grid/CProjWizard.cpp" line="215"/>
+        <location filename="../grid/CProjWizard.cpp" line="221"/>
         <source>Error...</source>
         <translation>Error...</translation>
     </message>
     <message>
-        <location filename="../grid/CProjWizard.cpp" line="215"/>
+        <location filename="../grid/CProjWizard.cpp" line="221"/>
         <source>The value
 '%1'
 is not a valid coordinate system definition:
@@ -2071,7 +2096,7 @@ no es una definición de sistema de coordenadas válido:
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../qlgt/CQmsDb.cpp" line="162"/>
+        <location filename="../qlgt/CQmsDb.cpp" line="163"/>
         <source>%1: drop item with QLGT DB ID %2</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2203,224 +2228,224 @@ no es una definición de sistema de coordenadas válido:
 <context>
     <name>CRouterRoutino</name>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="89"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="78"/>
         <source>Foot</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="90"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="79"/>
         <source>Horse</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="91"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="80"/>
         <source>Wheelchair</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="92"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="81"/>
         <source>Bicycle</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="93"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="82"/>
         <source>Moped</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="94"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="83"/>
         <source>Motorcycle</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="95"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="84"/>
         <source>Motorcar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="96"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="85"/>
         <source>Goods</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="63"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="59"/>
         <source>Shortest</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="59"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="55"/>
         <source>Found Routino with a wrong version. Expected %1 found %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="64"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="60"/>
         <source>Quickest</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="98"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="87"/>
         <source>English</source>
         <translation type="unfinished">Inglés</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="99"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="88"/>
         <source>German</source>
         <translation type="unfinished">Alemán</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="100"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="89"/>
         <source>French</source>
         <translation type="unfinished">Francés</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="101"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="90"/>
         <source>Hungarian</source>
         <translation type="unfinished">Húngaro</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="102"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="91"/>
         <source>Dutch</source>
         <translation type="unfinished">Holandés</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="103"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="92"/>
         <source>Russian</source>
         <translation type="unfinished">Ruso</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="104"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="93"/>
         <source>Polish</source>
         <translation type="unfinished">Polaco</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="139"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="128"/>
         <source>A function was called without the database variable set.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="142"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="131"/>
         <source>A function was called without the profile variable set.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="145"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="134"/>
         <source>A function was called without the translation variable set.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="148"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="137"/>
         <source>The specified database to load did not exist.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="151"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="140"/>
         <source>The specified database could not be loaded.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="154"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="143"/>
         <source>The specified profiles XML file did not exist.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="157"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="146"/>
         <source>The specified profiles XML file could not be loaded.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="160"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="149"/>
         <source>The specified translations XML file did not exist.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="163"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="152"/>
         <source>The specified translations XML file could not be loaded.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="166"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="155"/>
         <source>The requested profile name does not exist in the loaded XML file.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="169"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="158"/>
         <source>The requested translation language does not exist in the loaded XML file.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="172"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="161"/>
         <source>There is no highway near the coordinates to place a waypoint.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="175"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="164"/>
         <source>The profile and database do not work together.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="178"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="167"/>
         <source>The profile being used has not been validated.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="181"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="170"/>
         <source>The user specified profile contained invalid data.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="184"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="173"/>
         <source>The routing options specified are not consistent with each other.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="187"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="176"/>
         <source>There is a mismatch between the library and caller API version.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="190"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="179"/>
         <source>Route calculation was aborted by user.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="196"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="185"/>
         <source>A route could not be found to waypoint %1.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="199"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="188"/>
         <source>Unknown error: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="211"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="200"/>
         <source>profile "%1"</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="212"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="201"/>
         <source>, mode "%1"</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="59"/>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="249"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="55"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="238"/>
         <source>Warning...</source>
         <translation type="unfinished">Aviso...</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="249"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="238"/>
         <source>%1: Due to limitations in the Windows POSIX API Routino can't handle files larger than 4GB.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="353"/>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="440"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="342"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="429"/>
         <source>Calculate route with %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="361"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="350"/>
         <source><br/>Calculation time: %1s</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2458,22 +2483,22 @@ no es una definición de sistema de coordenadas válido:
 <context>
     <name>CRoutinoDatabaseBuilder</name>
     <message>
-        <location filename="../tool/CRoutinoDatabaseBuilder.cpp" line="38"/>
+        <location filename="../tool/CRoutinoDatabaseBuilder.cpp" line="32"/>
         <source>Create Routino Database</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tool/CRoutinoDatabaseBuilder.cpp" line="62"/>
+        <location filename="../tool/CRoutinoDatabaseBuilder.cpp" line="56"/>
         <source>Select files...</source>
         <translation type="unfinished">Seleccionar ficheros de origen...</translation>
     </message>
     <message>
-        <location filename="../tool/CRoutinoDatabaseBuilder.cpp" line="86"/>
+        <location filename="../tool/CRoutinoDatabaseBuilder.cpp" line="80"/>
         <source>Select target path...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tool/CRoutinoDatabaseBuilder.cpp" line="147"/>
+        <location filename="../tool/CRoutinoDatabaseBuilder.cpp" line="141"/>
         <source>!!! done !!!
 </source>
         <translation type="unfinished"></translation>
@@ -2551,7 +2576,7 @@ no es una definición de sistema de coordenadas válido:
 <context>
     <name>CTextEditWidget</name>
     <message>
-        <location filename="../helpers/CTextEditWidget.cpp" line="73"/>
+        <location filename="../widgets/CTextEditWidget.cpp" line="73"/>
         <source>&Color...</source>
         <translation>&Color...</translation>
     </message>
@@ -2564,121 +2589,141 @@ no es una definición de sistema de coordenadas válido:
         <translation>Acerca de...</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="49"/>
+        <location filename="../IAbout.ui" line="55"/>
         <source><b>QMapShack</b>, Version</source>
         <translation><b>QMapShack</b>, Versión</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="56"/>
-        <location filename="../IAbout.ui" line="100"/>
-        <location filename="../IAbout.ui" line="114"/>
-        <location filename="../IAbout.ui" line="128"/>
-        <location filename="../IAbout.ui" line="142"/>
+        <location filename="../IAbout.ui" line="62"/>
+        <location filename="../IAbout.ui" line="106"/>
+        <location filename="../IAbout.ui" line="120"/>
+        <location filename="../IAbout.ui" line="134"/>
+        <location filename="../IAbout.ui" line="148"/>
         <source>TextLabel</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="93"/>
+        <location filename="../IAbout.ui" line="99"/>
         <source>Qt</source>
         <translation>Qt</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="107"/>
+        <location filename="../IAbout.ui" line="113"/>
         <source>GDAL</source>
         <translation>GDAL</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="121"/>
+        <location filename="../IAbout.ui" line="127"/>
         <source>Proj4</source>
         <translation>Proj4</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="135"/>
+        <location filename="../IAbout.ui" line="141"/>
         <source>Routino</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="160"/>
+        <location filename="../IAbout.ui" line="166"/>
         <source>Rainer Unseld </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="167"/>
+        <location filename="../IAbout.ui" line="173"/>
         <source>French</source>
         <translation type="unfinished">Francés</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="174"/>
+        <location filename="../IAbout.ui" line="180"/>
         <source>Czech</source>
         <translation type="unfinished">Checo</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="181"/>
+        <location filename="../IAbout.ui" line="187"/>
         <source>Pavel Fric</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="188"/>
+        <location filename="../IAbout.ui" line="194"/>
         <source>German</source>
         <translation type="unfinished">Alemán</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="195"/>
-        <source>Translation:</source>
+        <location filename="../IAbout.ui" line="201"/>
+        <source><b>Translation:</b></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../IAbout.ui" line="229"/>
+        <source>Dutch</source>
+        <translation type="unfinished">Holandés</translation>
+    </message>
+    <message>
+        <location filename="../IAbout.ui" line="236"/>
+        <source>Harrie Klomp</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="202"/>
+        <location filename="../IAbout.ui" line="295"/>
+        <source><b>Binaries:</b></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../IAbout.ui" line="311"/>
+        <source><b>Contributors:</b></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../IAbout.ui" line="208"/>
         <source>Josef Latt</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="209"/>
+        <location filename="../IAbout.ui" line="215"/>
         <source>Spanish</source>
         <translation type="unfinished">Español</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="216"/>
+        <location filename="../IAbout.ui" line="222"/>
         <source>Jose Luis Domingo Lopez</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="234"/>
+        <location filename="../IAbout.ui" line="254"/>
         <source>Ivo Kronenberg</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="241"/>
+        <location filename="../IAbout.ui" line="261"/>
         <source>Helmut Schmidt</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="248"/>
+        <location filename="../IAbout.ui" line="268"/>
         <source>Win64</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="255"/>
+        <location filename="../IAbout.ui" line="275"/>
         <source>OS X</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="262"/>
+        <location filename="../IAbout.ui" line="282"/>
         <source>...and thanks to all Linux binary maintainers for doing a great job. Special thanks to Dan Horák and Bas Couwenberg for showing presence on the mailing list to discuss distribution related topics.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="275"/>
-        <source>Binaries:</source>
+        <location filename="../IAbout.ui" line="318"/>
+        <source>Christian Eichler (qms at christian-eichler.de)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="291"/>
+        <location filename="../IAbout.ui" line="332"/>
         <source>This software is licensed under GPL3 or any later version</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="298"/>
+        <location filename="../IAbout.ui" line="339"/>
         <source>© 2014 Oliver Eichler (oliver.eichler at gmx.de)</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2744,7 +2789,7 @@ no es una definición de sistema de coordenadas válido:
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../units/ICoordFormatSetup.ui" line="22"/>
+        <location filename="../units/ICoordFormatSetup.ui" line="36"/>
         <source>N48° 53.660 E013° 31.113</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2754,7 +2799,7 @@ no es una definición de sistema de coordenadas válido:
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../units/ICoordFormatSetup.ui" line="36"/>
+        <location filename="../units/ICoordFormatSetup.ui" line="22"/>
         <source>N48° 53' 39.6" E13° 31' 6.78"</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2774,11 +2819,56 @@ no es una definición de sistema de coordenadas válido:
     </message>
 </context>
 <context>
+    <name>ICutTrk</name>
+    <message>
+        <location filename="../gis/trk/ICutTrk.ui" line="14"/>
+        <source>Cut Track</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/ICutTrk.ui" line="20"/>
+        <source>Delete first part of the track and keep second one</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/ICutTrk.ui" line="27"/>
+        <source>Keep both parts of the track</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/ICutTrk.ui" line="37"/>
+        <source>Keep first part of the track and delete second one</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/ICutTrk.ui" line="60"/>
+        <source>Check this to store the result into a new track. 
+
+If you keep both parts of the track you have to create new ones. 
+
+If you want to keep just one half you can simply remove the points, or check this to create a new track.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/ICutTrk.ui" line="67"/>
+        <source>Create a new track</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Create a clone</source>
+        <translation type="obsolete">Crear un duplicado</translation>
+    </message>
+</context>
+<context>
     <name>IDemPathSetup</name>
     <message>
-        <location filename="../dem/IDemPathSetup.ui" line="14"/>
         <source>Setup DEM file pathss</source>
-        <translation>Configurar las rutas a los archivos DEM</translation>
+        <translation type="vanished">Configurar las rutas a los archivos DEM</translation>
+    </message>
+    <message>
+        <location filename="../dem/IDemPathSetup.ui" line="14"/>
+        <source>Setup DEM file paths</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../dem/IDemPathSetup.ui" line="31"/>
@@ -2836,17 +2926,29 @@ no es una definición de sistema de coordenadas válido:
         <translation>Pendiente</translation>
     </message>
     <message>
-        <location filename="../dem/IDemPropSetup.ui" line="186"/>
-        <location filename="../dem/IDemPropSetup.ui" line="193"/>
-        <location filename="../dem/IDemPropSetup.ui" line="200"/>
-        <location filename="../dem/IDemPropSetup.ui" line="207"/>
         <location filename="../dem/IDemPropSetup.ui" line="226"/>
-        <location filename="../dem/IDemPropSetup.ui" line="245"/>
-        <location filename="../dem/IDemPropSetup.ui" line="264"/>
-        <location filename="../dem/IDemPropSetup.ui" line="271"/>
-        <location filename="../dem/IDemPropSetup.ui" line="278"/>
-        <location filename="../dem/IDemPropSetup.ui" line="297"/>
-        <location filename="../dem/IDemPropSetup.ui" line="304"/>
+        <location filename="../dem/IDemPropSetup.ui" line="326"/>
+        <location filename="../dem/IDemPropSetup.ui" line="410"/>
+        <location filename="../dem/IDemPropSetup.ui" line="494"/>
+        <location filename="../dem/IDemPropSetup.ui" line="578"/>
+        <source>°</source>
+        <translation type="unfinished">º</translation>
+    </message>
+    <message>
+        <location filename="../dem/IDemPropSetup.ui" line="229"/>
+        <location filename="../dem/IDemPropSetup.ui" line="329"/>
+        <location filename="../dem/IDemPropSetup.ui" line="413"/>
+        <location filename="../dem/IDemPropSetup.ui" line="497"/>
+        <location filename="../dem/IDemPropSetup.ui" line="581"/>
+        <source>> </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../dem/IDemPropSetup.ui" line="251"/>
+        <location filename="../dem/IDemPropSetup.ui" line="270"/>
+        <location filename="../dem/IDemPropSetup.ui" line="354"/>
+        <location filename="../dem/IDemPropSetup.ui" line="438"/>
+        <location filename="../dem/IDemPropSetup.ui" line="522"/>
         <source>TextLabel</source>
         <translation type="unfinished"></translation>
     </message>
@@ -3099,7 +3201,7 @@ no es una definición de sistema de coordenadas válido:
         <translation type="unfinished">...</translation>
     </message>
     <message>
-        <location filename="../gis/rte/IDetailsRte.ui" line="173"/>
+        <location filename="../gis/rte/IDetailsRte.ui" line="176"/>
         <source>Hist.</source>
         <translation type="unfinished">Historial</translation>
     </message>
@@ -3121,118 +3223,157 @@ no es una definición de sistema de coordenadas válido:
 -</translation>
     </message>
     <message>
-        <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="224"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="533"/>
         <source>Profile</source>
         <translation>Perfil</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="231"/>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="545"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="702"/>
         <source>Speed</source>
         <translation>Velocidad</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="238"/>
         <source>Progress</source>
-        <translation>Progreso</translation>
+        <translation type="vanished">Progreso</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="248"/>
-        <source>Track</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="274"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="163"/>
         <source>Toggle read only mode. You have to open the lock to edit the item.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="277"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="166"/>
         <source>...</source>
         <translation>...</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="307"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="202"/>
         <source><html><head/><body><p>The waypoint was imported to QMapShack and was changed. It does not show the original data anymore. Please see history for changes. </p></body></html></source>
         <translation type="unfinished"><html><head/><body><p>El waypoint se importó en QMapShack y ha sido modificado, por lo que ya no muestra los datos originales. Por favor consulte  los cambios en el histórico. </p></body></html></translation>
     </message>
     <message>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="298"/>
+        <source>Style</source>
+        <translation type="unfinished">Estilo</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="340"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="434"/>
+        <source>from Data</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="353"/>
+        <source>Source</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="376"/>
+        <source>Maximum</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <location filename="../gis/trk/IDetailsTrk.ui" line="405"/>
+        <source>Minimum</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="447"/>
+        <source>Solid color</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="495"/>
+        <source>Graphs</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="540"/>
+        <source>Graph 3</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="547"/>
+        <source>Graph 2</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="554"/>
+        <source>Graph 1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="562"/>
         <source>Activity</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="450"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="607"/>
         <source>To differentiate the track statistics select an activity from the list for the complete track. Or select a part of the track to assign an activity.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="477"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="634"/>
         <source>Points</source>
         <translation>Puntos</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="525"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="682"/>
         <source>Time</source>
         <translation>Tiempo</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="530"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="687"/>
         <source>Ele.</source>
         <translation>Altitud</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="535"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="692"/>
         <source>Delta</source>
         <translation>Delta</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="540"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="697"/>
         <source>Dist.</source>
         <translation>Distancia</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="550"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="707"/>
         <source>Slope</source>
         <translation>Pendiente</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="555"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="712"/>
         <source>Ascend</source>
         <translation>Ascenso</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="560"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="717"/>
         <source>Descend</source>
         <translation>Descenso</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="565"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="722"/>
         <source>Position</source>
         <translation>Posición</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="377"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="266"/>
         <source>Info</source>
         <translation>Información</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="335"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="227"/>
         <source>-</source>
         <translation>-</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="574"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="731"/>
         <source>Filter</source>
         <translation>Filtro</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="611"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="768"/>
         <source>Hist.</source>
         <translation>Historial</translation>
     </message>
@@ -3401,6 +3542,29 @@ no es una definición de sistema de coordenadas válido:
     </message>
 </context>
 <context>
+    <name>IFilterInvalid</name>
+    <message>
+        <location filename="../gis/trk/filter/IFilterInvalid.ui" line="14"/>
+        <source>Form</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/filter/IFilterInvalid.ui" line="41"/>
+        <source>Hide Invalid Points</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/filter/IFilterInvalid.ui" line="56"/>
+        <source>Hide points with invalid coordinates at the beginning of the track.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/filter/IFilterInvalid.ui" line="63"/>
+        <source>...</source>
+        <translation type="unfinished">...</translation>
+    </message>
+</context>
+<context>
     <name>IFilterMedian</name>
     <message>
         <location filename="../gis/trk/filter/IFilterMedian.ui" line="14"/>
@@ -4254,62 +4418,62 @@ I don't want to read the documentation!</source>
         <translation type="obsolete">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>
     <message>
-        <location filename="../mouse/line/IMouseEditLine.cpp" line="253"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="255"/>
         <source><b>New Line</b><br/>Move the mouse and use the left mouse button to drop points. When done use the right mouse button to stop.<br/></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mouse/line/IMouseEditLine.cpp" line="293"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="302"/>
         <source><b>Delete Point</b><br/>Move the mouse close to a point and press the left button to delete it.<br/></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mouse/line/IMouseEditLine.cpp" line="302"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="311"/>
         <source><b>Select Range of Points</b><br/>Left click on first point to start selection. Left click second point to complete selection and choose from options. Use the right mouse button to cancel.<br/></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mouse/line/IMouseEditLine.cpp" line="311"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="320"/>
         <source><b>Move Point</b><br/>Move the mouse close to a point and press the left button to make it stick to the cursor. Move the mouse to move the point. Drop the point by a left click. Use the right mouse button to cancel.<br/></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mouse/line/IMouseEditLine.cpp" line="320"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="329"/>
         <source><b>Add Point</b><br/>Move the mouse close to a line segment and press the left button to add a point. The point will stick to the cursor and you can move it.  Drop the point by a left click. Use the right mouse button to cancel.<br/></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mouse/line/IMouseEditLine.cpp" line="329"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="338"/>
         <source><b>No Routing</b><br/>All points will be connected with a straight line.<br/></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mouse/line/IMouseEditLine.cpp" line="334"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="343"/>
         <source><b>Auto Routing</b><br/>The current router setup is used to derive a route between points. <b>Note:</b> The selected router must be able to route on-the-fly. Offline routers usually can do, online routers can't.<br/></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mouse/line/IMouseEditLine.cpp" line="339"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="348"/>
         <source><b>Vector Routing</b><br/>Connect points with a line from a loaded vector map if possible.<br/></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mouse/line/IMouseEditLine.cpp" line="498"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="517"/>
         <source><b>%1 Metrics</b></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mouse/line/IMouseEditLine.cpp" line="501"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="520"/>
         <source>Distance:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mouse/line/IMouseEditLine.cpp" line="503"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="522"/>
         <source>Ascend:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mouse/line/IMouseEditLine.cpp" line="505"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="524"/>
         <source>Descend:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4317,13 +4481,13 @@ I don't want to read the documentation!</source>
 <context>
     <name>IPhotoAlbum</name>
     <message>
-        <location filename="../helpers/IPhotoAlbum.ui" line="20"/>
+        <location filename="../widgets/IPhotoAlbum.ui" line="20"/>
         <source>Form</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../helpers/IPhotoAlbum.ui" line="50"/>
-        <location filename="../helpers/IPhotoAlbum.ui" line="77"/>
+        <location filename="../widgets/IPhotoAlbum.ui" line="50"/>
+        <location filename="../widgets/IPhotoAlbum.ui" line="77"/>
         <source>...</source>
         <translation>...</translation>
     </message>
@@ -4331,27 +4495,27 @@ I don't want to read the documentation!</source>
 <context>
     <name>IPlot</name>
     <message>
-        <location filename="../plot/IPlot.cpp" line="110"/>
+        <location filename="../plot/IPlot.cpp" line="91"/>
         <source>Reset Zoom</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../plot/IPlot.cpp" line="111"/>
+        <location filename="../plot/IPlot.cpp" line="92"/>
         <source>Stop Range</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../plot/IPlot.cpp" line="112"/>
+        <location filename="../plot/IPlot.cpp" line="93"/>
         <source>Save...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../plot/IPlot.cpp" line="630"/>
+        <location filename="../plot/IPlot.cpp" line="613"/>
         <source>No or bad data.</source>
         <translation>Datos incorrectos o inexistentes.</translation>
     </message>
     <message>
-        <location filename="../plot/IPlot.cpp" line="1215"/>
+        <location filename="../plot/IPlot.cpp" line="1200"/>
         <source>Select output file</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4904,7 +5068,7 @@ o
     </message>
     <message>
         <location filename="../mouse/line/IScrOptRangeLine.ui" line="34"/>
-        <source>Caclculate a route between the first and last selected point.</source>
+        <source><html><head/><body><p>Calculate a route between the first and last selected point.</p></body></html></source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -4961,18 +5125,18 @@ o
         <translation type="obsolete"><html><head/><body><p>Ver detalles &amp; Editar</p></body></html></translation>
     </message>
     <message>
-        <location filename="../gis/rte/IScrOptRte.ui" line="28"/>
-        <location filename="../gis/rte/IScrOptRte.ui" line="42"/>
-        <location filename="../gis/rte/IScrOptRte.ui" line="56"/>
-        <location filename="../gis/rte/IScrOptRte.ui" line="74"/>
-        <location filename="../gis/rte/IScrOptRte.ui" line="91"/>
-        <location filename="../gis/rte/IScrOptRte.ui" line="105"/>
-        <location filename="../gis/rte/IScrOptRte.ui" line="119"/>
+        <location filename="../gis/rte/IScrOptRte.ui" line="43"/>
+        <location filename="../gis/rte/IScrOptRte.ui" line="57"/>
+        <location filename="../gis/rte/IScrOptRte.ui" line="71"/>
+        <location filename="../gis/rte/IScrOptRte.ui" line="89"/>
+        <location filename="../gis/rte/IScrOptRte.ui" line="106"/>
+        <location filename="../gis/rte/IScrOptRte.ui" line="120"/>
+        <location filename="../gis/rte/IScrOptRte.ui" line="134"/>
         <source>...</source>
         <translation>...</translation>
     </message>
     <message>
-        <location filename="../gis/rte/IScrOptRte.ui" line="39"/>
+        <location filename="../gis/rte/IScrOptRte.ui" line="54"/>
         <source>Copy route into another project.</source>
         <translation>Copiar ruta en otro proyecto.</translation>
     </message>
@@ -4981,32 +5145,32 @@ o
         <translation type="obsolete"><html><head/><body><p>Borrar</p></body></html></translation>
     </message>
     <message>
-        <location filename="../gis/rte/IScrOptRte.ui" line="25"/>
+        <location filename="../gis/rte/IScrOptRte.ui" line="40"/>
         <source>View details and edit.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/IScrOptRte.ui" line="53"/>
+        <location filename="../gis/rte/IScrOptRte.ui" line="68"/>
         <source>Delete route from project.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/IScrOptRte.ui" line="88"/>
+        <location filename="../gis/rte/IScrOptRte.ui" line="103"/>
         <source>Calculate route.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/IScrOptRte.ui" line="102"/>
+        <location filename="../gis/rte/IScrOptRte.ui" line="117"/>
         <source>Reset route calculation.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/IScrOptRte.ui" line="116"/>
+        <location filename="../gis/rte/IScrOptRte.ui" line="131"/>
         <source>Move route points.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/IScrOptRte.ui" line="145"/>
+        <location filename="../gis/rte/IScrOptRte.ui" line="160"/>
         <source>TextLabel</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5032,9 +5196,8 @@ o
         <translation>Mostrar el perfil en pantalla e información detallada de los puntos.</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IScrOptTrk.ui" line="162"/>
         <source>Cut track at selected point into two tracks.</source>
-        <translation>Partir el track en dos en el punto seleccionado.</translation>
+        <translation type="vanished">Partir el track en dos en el punto seleccionado.</translation>
     </message>
     <message>
         <location filename="../gis/trk/IScrOptTrk.ui" line="120"/>
@@ -5055,7 +5218,7 @@ o
         <location filename="../gis/trk/IScrOptTrk.ui" line="123"/>
         <location filename="../gis/trk/IScrOptTrk.ui" line="137"/>
         <location filename="../gis/trk/IScrOptTrk.ui" line="151"/>
-        <location filename="../gis/trk/IScrOptTrk.ui" line="165"/>
+        <location filename="../gis/trk/IScrOptTrk.ui" line="170"/>
         <source>...</source>
         <translation>...</translation>
     </message>
@@ -5085,7 +5248,17 @@ o
         <translation>Combinar tracks.</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IScrOptTrk.ui" line="191"/>
+        <location filename="../gis/trk/IScrOptTrk.ui" line="162"/>
+        <source>Cut track at selected point. You can use this to:
+
+* remove bad points at the start or end of the track
+* use the track parts to plan a new tour
+* cut a long track into stages
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/IScrOptTrk.ui" line="196"/>
         <source>TextLabel</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5226,7 +5399,7 @@ o
         <translation>Se añadirá el sufijo '_Clone' al nombre del duplicado</translation>
     </message>
     <message>
-        <location filename="../helpers/ISelectCopyAction.ui" line="132"/>
+        <location filename="../helpers/ISelectCopyAction.ui" line="135"/>
         <source>And for all other items, too.</source>
         <translation>Hacer igual para todos los elementos.</translation>
     </message>
@@ -5489,144 +5662,144 @@ o
 <context>
     <name>ITextEditWidget</name>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="14"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="14"/>
         <source>Edit text...</source>
         <translation>Editar texto...</translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="25"/>
-        <location filename="../helpers/ITextEditWidget.ui" line="38"/>
-        <location filename="../helpers/ITextEditWidget.ui" line="51"/>
-        <location filename="../helpers/ITextEditWidget.ui" line="64"/>
-        <location filename="../helpers/ITextEditWidget.ui" line="77"/>
-        <location filename="../helpers/ITextEditWidget.ui" line="97"/>
-        <location filename="../helpers/ITextEditWidget.ui" line="110"/>
-        <location filename="../helpers/ITextEditWidget.ui" line="123"/>
-        <location filename="../helpers/ITextEditWidget.ui" line="136"/>
-        <location filename="../helpers/ITextEditWidget.ui" line="169"/>
-        <location filename="../helpers/ITextEditWidget.ui" line="182"/>
-        <location filename="../helpers/ITextEditWidget.ui" line="195"/>
-        <location filename="../helpers/ITextEditWidget.ui" line="208"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="25"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="38"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="51"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="64"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="77"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="97"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="110"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="123"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="136"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="169"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="182"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="195"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="208"/>
         <source>...</source>
         <translation>...</translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="256"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="256"/>
         <source>Undo</source>
         <translation>Deshacer</translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="259"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="259"/>
         <source>Ctrl+Z</source>
         <translation>Ctrl+Z</translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="268"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="268"/>
         <source>Redo</source>
         <translation>Rehacer</translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="271"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="271"/>
         <source>Ctrl+Shift+Z</source>
         <translation>Ctrl+Shift+Z</translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="280"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="280"/>
         <source>Cut</source>
         <translation>Cortar</translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="283"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="283"/>
         <source>Ctrl+X</source>
         <translation>Ctrl+X</translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="292"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="292"/>
         <source>Copy</source>
         <translation>Copiar</translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="295"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="295"/>
         <source>Ctrl+C</source>
         <translation>Ctrl+C</translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="304"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="304"/>
         <source>Paste</source>
         <translation>Pegar</translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="307"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="307"/>
         <source>Ctrl+V</source>
         <translation>Ctrl+V</translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="319"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="319"/>
         <source>Align Left</source>
         <translation>Alinear a la Izquierda</translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="322"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="322"/>
         <source>Ctrl+L</source>
         <translation>Ctrl+L</translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="334"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="334"/>
         <source>Align Right</source>
         <translation>Alinear a la Derecha</translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="337"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="337"/>
         <source>Ctrl+R</source>
         <translation>Ctrl+R</translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="349"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="349"/>
         <source>Align Center</source>
         <translation>Alinear al Centro</translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="352"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="352"/>
         <source>Ctrl+E</source>
         <translation>Ctrl+E</translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="364"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="364"/>
         <source>Align Block</source>
         <translation>Alinear Bloque</translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="367"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="367"/>
         <source>Ctrl+J</source>
         <translation>Ctrl+J</translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="379"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="379"/>
         <source>Underline</source>
         <translation>Subrayar</translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="382"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="382"/>
         <source>Ctrl+U</source>
         <translation>Ctrl+U</translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="394"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="394"/>
         <source>Bold</source>
         <translation>Negrita</translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="397"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="397"/>
         <source>Ctrl+B</source>
         <translation>Ctrl+B</translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="409"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="409"/>
         <source>Italic</source>
         <translation>Cursiva</translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="412"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="412"/>
         <source>Ctrl+I</source>
         <translation>Ctrl+I</translation>
     </message>
@@ -5672,7 +5845,36 @@ o
 <context>
     <name>IToolShell</name>
     <message>
-        <location filename="../tool/IToolShell.cpp" line="127"/>
+        <location filename="../tool/IToolShell.cpp" line="44"/>
+        <source>Execution of external program `%1` failed: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tool/IToolShell.cpp" line="48"/>
+        <source>Process cannot be started.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tool/IToolShell.cpp" line="49"/>
+        <source>Make sure the required packages are installed, `%1` exists and is executable.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tool/IToolShell.cpp" line="53"/>
+        <source>External process crashed.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tool/IToolShell.cpp" line="57"/>
+        <source>An unknown error occurred.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tool/IToolShell.cpp" line="148"/>
         <source>!!! failed !!!
 </source>
         <translation type="unfinished">!!! fallo !!!</translation>
@@ -5686,17 +5888,22 @@ o
         <translation>Configurar unidades...</translation>
     </message>
     <message>
-        <location filename="../units/IUnitsSetup.ui" line="22"/>
+        <location filename="../units/IUnitsSetup.ui" line="38"/>
         <source>Metric</source>
         <translation>Métrico</translation>
     </message>
     <message>
-        <location filename="../units/IUnitsSetup.ui" line="29"/>
+        <location filename="../units/IUnitsSetup.ui" line="47"/>
+        <source><b>Note:</b> For some GUI elements changing the units will not take effect until you restart QMapShack.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../units/IUnitsSetup.ui" line="31"/>
         <source>Imperial</source>
         <translation>Imperial</translation>
     </message>
     <message>
-        <location filename="../units/IUnitsSetup.ui" line="36"/>
+        <location filename="../units/IUnitsSetup.ui" line="24"/>
         <source>Nautic</source>
         <translation>Naútico</translation>
     </message>
@@ -5752,6 +5959,11 @@ línea %2, columna %3.
         <translation>No es un archivo GPX: </translation>
     </message>
     <message>
+        <location filename="../gis/gpx/CGpxProject.cpp" line="410"/>
+        <source>Saving GIS data failed...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <source>
 Filename: %1</source>
         <translation type="obsolete">
@@ -5782,96 +5994,96 @@ Areas: %1</source>
 Áreas: %1</translation>
     </message>
     <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="112"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="97"/>
         <source>Save project?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="252"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="237"/>
         <source>%1: Correlate tracks and waypoints.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="112"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="97"/>
         <source><h3>%1</h3>The project was changed. Save before closing it?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="262"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="247"/>
         <source><h3>%1</h3>Did that take too long for you? Do you want to skip correlation of tracks and waypoints for this project in the future?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="263"/>
-        <source>Cancelled correlation...</source>
+        <location filename="../gis/prj/IGisProject.cpp" line="248"/>
+        <source>Canceled correlation...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="341"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="326"/>
         <source><br/>
 Filename: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="346"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="331"/>
         <source>Waypoints: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="350"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="335"/>
         <source>Tracks: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="354"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="339"/>
         <source>Routes: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="358"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="343"/>
         <source>Areas: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="438"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="423"/>
         <source>Are you sure you want to delete '%1' from project '%2'?</source>
         <translation>¿Desea realmente eleiminar '%1' del proyecto '%2'?</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListDB.cpp" line="437"/>
+        <location filename="../gis/CGisListDB.cpp" line="436"/>
         <source>Are you sure you want to delete '%1' from folder '%2'?</source>
         <translation>¿Desea realmente eleiminar '%1' de la carpeta '%2'?</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListDB.cpp" line="438"/>
-        <location filename="../gis/prj/IGisProject.cpp" line="439"/>
+        <location filename="../gis/CGisListDB.cpp" line="437"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="424"/>
         <source>Delete...</source>
         <translation>Borrar...</translation>
     </message>
     <message>
         <location filename="../gis/gpx/CGpxProject.cpp" line="98"/>
         <location filename="../gis/qms/CQmsProject.cpp" line="48"/>
-        <location filename="../gis/qms/CQmsProject.cpp" line="145"/>
+        <location filename="../gis/qms/CQmsProject.cpp" line="144"/>
         <source>Failed to open...</source>
         <translation>Fallo al abrir...</translation>
     </message>
     <message>
         <location filename="../gis/gpx/CGpxProject.cpp" line="98"/>
         <location filename="../gis/qms/CQmsProject.cpp" line="48"/>
-        <location filename="../gis/qms/CQmsProject.cpp" line="145"/>
+        <location filename="../gis/qms/CQmsProject.cpp" line="144"/>
         <source>Failed to open %1</source>
         <translation>Fallo al abrir %1</translation>
     </message>
     <message>
-        <location filename="../gis/db/CDBProject.cpp" line="151"/>
-        <location filename="../gis/gpx/CGpxProject.cpp" line="223"/>
+        <location filename="../gis/db/CDBProject.cpp" line="158"/>
+        <location filename="../gis/gpx/CGpxProject.cpp" line="222"/>
         <location filename="../gis/qms/CQmsProject.cpp" line="95"/>
         <location filename="../gis/tnv/CTwoNavProject.cpp" line="159"/>
         <source>Save GIS data to...</source>
         <translation>Guardar los datos GIS en...</translation>
     </message>
     <message>
-        <location filename="../gis/db/CDBProject.cpp" line="255"/>
+        <location filename="../gis/db/CDBProject.cpp" line="262"/>
         <source>Save ...</source>
         <translation>Guardar...</translation>
     </message>
@@ -5880,297 +6092,306 @@ Filename: %1</source>
         <translation type="obsolete">Cancelar guardar</translation>
     </message>
     <message>
-        <location filename="../gis/gpx/CGpxProject.cpp" line="298"/>
+        <location filename="../gis/gpx/CGpxProject.cpp" line="286"/>
         <source>File exists ...</source>
         <translation>El archivo ya existe ...</translation>
     </message>
     <message>
-        <location filename="../gis/gpx/CGpxProject.cpp" line="299"/>
+        <location filename="../gis/gpx/CGpxProject.cpp" line="287"/>
         <source>The file exists and it has not been created by QMapShack. If you press 'yes' all data in this file will be lost. Even if this file contains GPX data and has been loaded by QMapShack, QMapShack might not be able to load and store all elements of this file.  Those elements will be lost. I recommend to use another file. <b>Do you really want to overwrite the file?</b></source>
         <translation>El archivo ya existe y no lo ha creado QMapShack. Si pulsa 'sí' todos los datos de este archivo se perderán. Incluso si el archivo contiene datos GPX y QMapShack lo ha leído, QMapShack podría no ser capaz de leer y almacenar todos los elementos en el archivo, y aquellos que no haya leído se perderán. Se le recomienda usar otro archivo distinto. <b>¿Quiere realmente sobrescribir el archivo</b></translation>
     </message>
     <message>
-        <location filename="../gis/gpx/CGpxProject.cpp" line="407"/>
+        <location filename="../gis/gpx/CGpxProject.cpp" line="395"/>
         <source>Failed to create file '%1'</source>
         <translation>Fallo al crear el archivo '%1'</translation>
     </message>
     <message>
-        <location filename="../gis/gpx/CGpxProject.cpp" line="421"/>
         <source>Saveing GIS data failed...</source>
-        <translation>Fallo al guardar los datos GIS...</translation>
+        <translation type="vanished">Fallo al guardar los datos GIS...</translation>
     </message>
     <message>
-        <location filename="../gis/gpx/CGpxProject.cpp" line="416"/>
+        <location filename="../gis/gpx/CGpxProject.cpp" line="405"/>
         <source>Failed to write file '%1'</source>
         <translation>Fallo al escribir en el archivo '%1'</translation>
     </message>
     <message>
-        <location filename="../gis/rte/CGisItemRte.cpp" line="286"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="464"/>
+        <location filename="../gis/rte/CGisItemRte.cpp" line="262"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="371"/>
         <source>Length: %1 %2</source>
         <translation>Longitud: %1 %2</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="471"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="378"/>
         <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="479"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="386"/>
         <source>Time: %1</source>
         <translation>Tiempo: %1</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="482"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="492"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="389"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="399"/>
         <source>, Speed: %1 %2</source>
         <translation>, Velocidad: %1 %2</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="489"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="396"/>
         <source>Moving: %1</source>
         <translation>En movimiento: %1</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="498"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="405"/>
         <source>Start: %1</source>
         <translation>Comienzo: %1</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="503"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="410"/>
         <source>End: %1</source>
         <translation>Final: %1</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="507"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="414"/>
         <source>Points: %1 (%2)</source>
         <translation>Puntos: %1 (%2)</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="625"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="523"/>
         <source>Ele.: %1 %2</source>
         <translation>Altitud: %1 %2</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="628"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="526"/>
         <source> slope: %1%3 (%2%)</source>
         <translation> pendiente: %1%3 (%2%)</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="633"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="531"/>
         <source> speed: %1%2</source>
         <translation> velocidad: %1%2</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="653"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="559"/>
+        <source>... and %1 tags not displayed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="571"/>
         <source>Ascend: %1%2 (%3%)</source>
         <translation>Ascenso: %1%2 (%3%)</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="657"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="575"/>
         <source>Ascend: - (-)</source>
         <translation>Ascenso: - (-)</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="667"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="585"/>
         <source> Descend: - (-) </source>
         <translation> Descenso: - (-) </translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="688"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="606"/>
         <source> Moving: - (-) </source>
         <translation> En movimiento: - (-) </translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="707"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="625"/>
         <source>Ascend: %1%2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="712"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="729"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="630"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="647"/>
         <source>, %1%2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="717"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="635"/>
         <source>Ascend: -</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="724"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="642"/>
         <source> Descend: %1%2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="734"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="652"/>
         <source>Descend: -</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="740"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="658"/>
         <source>Dist.: %1%2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="745"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="663"/>
         <source> Time: %1%2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1432"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1307"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1331"/>
+        <source>Permanently removed points %1..%2</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1513"/>
         <source>Hide points.</source>
         <translation>Ocultar puntos.</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1472"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1553"/>
         <source>Show points.</source>
         <translation>Mostrar puntos.</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1868"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="2088"/>
         <source>Changed activity to '%1' for complete track.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1942"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="2163"/>
         <source>Changed activity to '%1' for range(%2..%3).</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="663"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="581"/>
         <source> Descend: %1%2 (%3%)</source>
         <translation> Descenso: %1%2 (%3%)</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="357"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="249"/>
         <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="674"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="592"/>
         <source>Dist.: %1%2 (%3%)</source>
         <translation>Distancia: %1%2 (%3%)</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="678"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="596"/>
         <source>Dist.: - (-)</source>
         <translation>Dist.: - (-)</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="684"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="602"/>
         <source> Moving: %1%2 (%3%)</source>
         <translation> En movimiento: %1%2 (%3%)</translation>
     </message>
     <message>
-        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="95"/>
+        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="96"/>
         <source>thin</source>
         <translation>fino</translation>
     </message>
     <message>
-        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="96"/>
+        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="97"/>
         <source>normal</source>
         <translation>normal</translation>
     </message>
     <message>
-        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="97"/>
+        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="98"/>
         <source>wide</source>
         <translation>ancho</translation>
     </message>
     <message>
-        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="98"/>
+        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="99"/>
         <source>strong</source>
         <translation>intenso</translation>
     </message>
     <message>
-        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="142"/>
-        <location filename="../gis/rte/CGisItemRte.cpp" line="67"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="193"/>
-        <location filename="../gis/wpt/CGisItemWpt.cpp" line="130"/>
+        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="138"/>
+        <location filename="../gis/rte/CGisItemRte.cpp" line="63"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="124"/>
+        <location filename="../gis/wpt/CGisItemWpt.cpp" line="92"/>
         <source>_Clone</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="446"/>
+        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="431"/>
         <source>Area: %1%2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="508"/>
+        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="493"/>
         <source>Changed area shape.</source>
         <translation>Se cambió la forma del área.</translation>
     </message>
     <message>
-        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="516"/>
-        <location filename="../gis/rte/CGisItemRte.cpp" line="245"/>
+        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="501"/>
+        <location filename="../gis/rte/CGisItemRte.cpp" line="221"/>
         <source>Changed name.</source>
         <translation>Se cambió el nombre.</translation>
     </message>
     <message>
-        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="522"/>
+        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="507"/>
         <source>Changed border width.</source>
         <translation>Se cambió la anchura del borde.</translation>
     </message>
     <message>
-        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="528"/>
+        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="513"/>
         <source>Changed fill pattern.</source>
         <translation>Se cambió el patró de relleno.</translation>
     </message>
     <message>
-        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="534"/>
+        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="519"/>
         <source>Changed opacity.</source>
         <translation>Se cambió la opacidad.</translation>
     </message>
     <message>
-        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="540"/>
+        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="525"/>
         <source>Changed comment.</source>
         <translation>Se cambió el comentario.</translation>
     </message>
     <message>
-        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="546"/>
+        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="531"/>
         <source>Changed description.</source>
         <translation>Se cambió la descripción.</translation>
     </message>
     <message>
-        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="552"/>
-        <location filename="../gis/rte/CGisItemRte.cpp" line="263"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1839"/>
-        <location filename="../gis/wpt/CGisItemWpt.cpp" line="456"/>
+        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="537"/>
+        <location filename="../gis/rte/CGisItemRte.cpp" line="239"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="2059"/>
+        <location filename="../gis/wpt/CGisItemWpt.cpp" line="366"/>
         <source>Changed links</source>
         <translation>Se cambió el enlace</translation>
     </message>
     <message>
-        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="564"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1851"/>
+        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="549"/>
         <source>Changed color</source>
         <translation>Se cambió el color</translation>
     </message>
     <message>
-        <location filename="../gis/wpt/CGisItemWpt.cpp" line="317"/>
+        <location filename="../gis/wpt/CGisItemWpt.cpp" line="227"/>
         <source>Elevation: %1 %2</source>
         <translation>Altitud: %1 %2</translation>
     </message>
     <message>
-        <location filename="../gis/wpt/CGisItemWpt.cpp" line="328"/>
+        <location filename="../gis/wpt/CGisItemWpt.cpp" line="238"/>
         <source>Proximity: %1 %2</source>
         <translation>Proximidad: %1 %2</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1821"/>
-        <location filename="../gis/wpt/CGisItemWpt.cpp" line="402"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="2041"/>
+        <location filename="../gis/wpt/CGisItemWpt.cpp" line="312"/>
         <source>Changed name</source>
         <translation>Se cambió el nombre</translation>
     </message>
     <message>
         <location filename="../gis/rte/CCreateRouteFromWpt.cpp" line="65"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1225"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1240"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1259"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1318"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1497"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1245"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1264"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1340"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1399"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1578"/>
         <location filename="../mouse/CMouseEditArea.cpp" line="100"/>
         <location filename="../mouse/CMouseEditRte.cpp" line="111"/>
-        <location filename="../mouse/CMouseEditTrk.cpp" line="117"/>
+        <location filename="../mouse/CMouseEditTrk.cpp" line="116"/>
         <source>Edit name...</source>
         <translation>Editar nombre...</translation>
     </message>
@@ -6179,118 +6400,118 @@ Filename: %1</source>
         <translation type="obsolete">Introduzca el nuevo nombre del waypoint.</translation>
     </message>
     <message>
-        <location filename="../gis/wpt/CGisItemWpt.cpp" line="412"/>
+        <location filename="../gis/wpt/CGisItemWpt.cpp" line="322"/>
         <source>Changed position</source>
         <translation>Se cambió la posición</translation>
     </message>
     <message>
-        <location filename="../gis/wpt/CGisItemWpt.cpp" line="418"/>
+        <location filename="../gis/wpt/CGisItemWpt.cpp" line="328"/>
         <source>Changed elevation</source>
         <translation>Se cambió la altitud</translation>
     </message>
     <message>
-        <location filename="../gis/wpt/CGisItemWpt.cpp" line="424"/>
+        <location filename="../gis/wpt/CGisItemWpt.cpp" line="334"/>
         <source>Changed proximity</source>
         <translation>Se cambió la proximidad</translation>
     </message>
     <message>
-        <location filename="../gis/wpt/CGisItemWpt.cpp" line="438"/>
+        <location filename="../gis/wpt/CGisItemWpt.cpp" line="348"/>
         <source>Changed icon</source>
         <translation>Se cambió el icono</translation>
     </message>
     <message>
-        <location filename="../gis/wpt/CGisItemWpt.cpp" line="462"/>
+        <location filename="../gis/wpt/CGisItemWpt.cpp" line="372"/>
         <source>Changed images</source>
         <translation>Se cambió la imagen</translation>
     </message>
     <message>
-        <location filename="../gis/wpt/CGisItemWpt.cpp" line="468"/>
+        <location filename="../gis/wpt/CGisItemWpt.cpp" line="378"/>
         <source>Add image</source>
         <translation>Añadir Imagen</translation>
     </message>
     <message>
-        <location filename="../gis/rte/CGisItemRte.cpp" line="251"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1827"/>
-        <location filename="../gis/wpt/CGisItemWpt.cpp" line="444"/>
+        <location filename="../gis/rte/CGisItemRte.cpp" line="227"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="2047"/>
+        <location filename="../gis/wpt/CGisItemWpt.cpp" line="354"/>
         <source>Changed comment</source>
         <translation>Se cambió el comentario</translation>
     </message>
     <message>
-        <location filename="../gis/rte/CGisItemRte.cpp" line="257"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1833"/>
-        <location filename="../gis/wpt/CGisItemWpt.cpp" line="450"/>
+        <location filename="../gis/rte/CGisItemRte.cpp" line="233"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="2053"/>
+        <location filename="../gis/wpt/CGisItemWpt.cpp" line="360"/>
         <source>Changed description</source>
         <translation>Se cambió la descripción</translation>
     </message>
     <message>
-        <location filename="../gis/rte/CGisItemRte.cpp" line="290"/>
+        <location filename="../gis/rte/CGisItemRte.cpp" line="266"/>
         <source>Length: -</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/CGisItemRte.cpp" line="297"/>
-        <location filename="../gis/rte/CGisItemRte.cpp" line="481"/>
+        <location filename="../gis/rte/CGisItemRte.cpp" line="273"/>
+        <location filename="../gis/rte/CGisItemRte.cpp" line="456"/>
         <source>Time: %1 %2</source>
         <translation type="unfinished">Tiempo: %1 %2</translation>
     </message>
     <message>
-        <location filename="../gis/rte/CGisItemRte.cpp" line="483"/>
+        <location filename="../gis/rte/CGisItemRte.cpp" line="458"/>
         <source>Distance: %1 %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/CGisItemRte.cpp" line="301"/>
+        <location filename="../gis/rte/CGisItemRte.cpp" line="277"/>
         <source>Time: -</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/CGisItemRte.cpp" line="307"/>
+        <location filename="../gis/rte/CGisItemRte.cpp" line="283"/>
         <source>Last time routed:<br/>%1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/CGisItemRte.cpp" line="309"/>
+        <location filename="../gis/rte/CGisItemRte.cpp" line="285"/>
         <source>with %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/CGisItemRte.cpp" line="612"/>
+        <location filename="../gis/rte/CGisItemRte.cpp" line="572"/>
         <source>Changed route points.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/gpx/serialization.cpp" line="691"/>
+        <location filename="../gis/gpx/serialization.cpp" line="582"/>
         <source>Archived</source>
         <translation>Archivado</translation>
     </message>
     <message>
-        <location filename="../gis/gpx/serialization.cpp" line="695"/>
+        <location filename="../gis/gpx/serialization.cpp" line="586"/>
         <source>Available</source>
         <translation>Disponible</translation>
     </message>
     <message>
-        <location filename="../gis/gpx/serialization.cpp" line="699"/>
+        <location filename="../gis/gpx/serialization.cpp" line="590"/>
         <source>Not Available</source>
         <translation>No Disponible</translation>
     </message>
     <message>
-        <location filename="../map/garmin/CGarminTyp.cpp" line="465"/>
-        <location filename="../map/garmin/CGarminTyp.cpp" line="846"/>
+        <location filename="../map/garmin/CGarminTyp.cpp" line="457"/>
+        <location filename="../map/garmin/CGarminTyp.cpp" line="838"/>
         <source>Warning...</source>
         <translation>Aviso...</translation>
     </message>
     <message>
-        <location filename="../map/garmin/CGarminTyp.cpp" line="465"/>
+        <location filename="../map/garmin/CGarminTyp.cpp" line="457"/>
         <source>This is a typ file with unknown polygon encoding. Please report!</source>
         <translation>Este es un fichero TYP con una codificación de polígonos desconocida. ¡Por favor repórtelo!</translation>
     </message>
     <message>
-        <location filename="../map/garmin/CGarminTyp.cpp" line="846"/>
+        <location filename="../map/garmin/CGarminTyp.cpp" line="838"/>
         <source>This is a typ file with unknown polyline encoding. Please report!</source>
         <translation>Este es un fichero TYP con una codificación de polilíneas desconocida. ¡Por favor repórtelo!</translation>
     </message>
     <message>
-        <location filename="../gis/IGisItem.cpp" line="327"/>
+        <location filename="../gis/IGisItem.cpp" line="345"/>
         <source>Initial version.</source>
         <translation>Versión inicial</translation>
     </message>
@@ -6299,61 +6520,61 @@ Filename: %1</source>
         <translation type="obsolete">Este elemento probablemente sea de sólo lectura por no haber sido creado por QMapShack. Habitualmente no deseará cambiar los datos importados. De lo contrario, es correcto pulsar 'OK'.</translation>
     </message>
     <message>
-        <location filename="../gis/IGisItem.cpp" line="436"/>
+        <location filename="../gis/IGisItem.cpp" line="453"/>
+        <source><h3>%1</h3> This element is probably read-only because it was not created within QMapShack. Usually you should not want to change imported data. But if you think that is ok press 'Ok'.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/IGisItem.cpp" line="454"/>
         <source>Read Only Mode...</source>
         <translation>Modo Sólo Lectura...</translation>
     </message>
     <message>
-        <location filename="../gis/IGisItem.cpp" line="667"/>
+        <location filename="../gis/IGisItem.cpp" line="615"/>
         <source><h4>Comment:</h4></source>
         <translation><h4>Comentario:</h4></translation>
     </message>
     <message>
-        <location filename="../gis/IGisItem.cpp" line="670"/>
+        <location filename="../gis/IGisItem.cpp" line="618"/>
         <source><p>--- no comment ---</p></source>
         <translation><p>---sin comentario---</p></translation>
     </message>
     <message>
-        <location filename="../gis/IGisItem.cpp" line="653"/>
-        <location filename="../gis/IGisItem.cpp" line="712"/>
+        <location filename="../gis/IGisItem.cpp" line="601"/>
+        <location filename="../gis/IGisItem.cpp" line="660"/>
         <source><h4>Description:</h4></source>
         <translation><h4>Descripción:</h4></translation>
     </message>
     <message>
-        <location filename="../gis/IGisItem.cpp" line="41"/>
+        <location filename="../gis/IGisItem.cpp" line="42"/>
         <source>[no name]</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/IGisItem.cpp" line="435"/>
-        <source><h3>%1</h3> This element is probably read-only because it was not created within QMapShack. Usually you should not want to change imported data. But if you think that is ok press'Ok'.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../gis/IGisItem.cpp" line="656"/>
-        <location filename="../gis/IGisItem.cpp" line="715"/>
+        <location filename="../gis/IGisItem.cpp" line="604"/>
+        <location filename="../gis/IGisItem.cpp" line="663"/>
         <source><p>--- no description ---</p></source>
         <translation><p>---sin descripción---</p></translation>
     </message>
     <message>
-        <location filename="../gis/IGisItem.cpp" line="681"/>
-        <location filename="../gis/IGisItem.cpp" line="726"/>
+        <location filename="../gis/IGisItem.cpp" line="629"/>
+        <location filename="../gis/IGisItem.cpp" line="674"/>
         <source><h4>Links:</h4></source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../gis/IGisItem.cpp" line="684"/>
-        <location filename="../gis/IGisItem.cpp" line="729"/>
+        <location filename="../gis/IGisItem.cpp" line="632"/>
+        <location filename="../gis/IGisItem.cpp" line="677"/>
         <source><p>--- no links ---</p></source>
         <translation><p>--- sin links ---</p></translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1225"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1240"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1259"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1318"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1497"/>
-        <location filename="../mouse/CMouseEditTrk.cpp" line="117"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1245"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1264"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1340"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1399"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1578"/>
+        <location filename="../mouse/CMouseEditTrk.cpp" line="116"/>
         <source>Enter new track name.</source>
         <translation>Introduzca el nombre del nuevo track.</translation>
     </message>
@@ -6380,7 +6601,7 @@ Filename: %1</source>
         <translation>Objetos Perdidos (%1)</translation>
     </message>
     <message>
-        <location filename="../qlgt/converter.cpp" line="195"/>
+        <location filename="../qlgt/converter.cpp" line="198"/>
         <source>Copy flag information from QLandkarte GT track</source>
         <translation type="unfinished"></translation>
     </message>
@@ -6409,109 +6630,114 @@ Filename: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/trk/filter/filter.cpp" line="96"/>
+        <location filename="../gis/trk/filter/filter.cpp" line="106"/>
         <source>Hide points by Douglas Peuker algorithm (%1%2)</source>
         <translation>Ocultar puntos con algoritmo Douglas Peuker (%1%2)</translation>
     </message>
     <message>
-        <location filename="../gis/trk/filter/filter.cpp" line="112"/>
+        <location filename="../gis/trk/filter/filter.cpp" line="141"/>
+        <source>Hide points with invalid coordinates at the beginning of the track</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/filter/filter.cpp" line="157"/>
         <source>Reset all hidden track points to visible</source>
         <translation>Restaurados todos los puntos a visible</translation>
     </message>
     <message>
-        <location filename="../gis/trk/filter/filter.cpp" line="137"/>
+        <location filename="../gis/trk/filter/filter.cpp" line="191"/>
         <source>Permanently removed all hidden track points</source>
         <translation>Elminados definitivamente todos los puntos ocultos del track</translation>
     </message>
     <message>
-        <location filename="../gis/trk/filter/filter.cpp" line="187"/>
+        <location filename="../gis/trk/filter/filter.cpp" line="241"/>
         <source>Smoothed profile with a Median filter of size %1</source>
         <translation>Pefil suavizado con Mediana de %1 puntos</translation>
     </message>
     <message>
-        <location filename="../gis/trk/filter/filter.cpp" line="223"/>
+        <location filename="../gis/trk/filter/filter.cpp" line="277"/>
         <source>Replaced elevation data with data from DEM files.</source>
         <translation>Datos de elevación sustituidos por valores de fichero DEM.</translation>
     </message>
     <message>
-        <location filename="../gis/trk/filter/filter.cpp" line="246"/>
+        <location filename="../gis/trk/filter/filter.cpp" line="300"/>
         <source>Offset elevation data by %1%2.</source>
         <translation>Elevación desplazada %1%2.</translation>
     </message>
     <message>
-        <location filename="../gis/trk/filter/filter.cpp" line="265"/>
+        <location filename="../gis/trk/filter/filter.cpp" line="319"/>
         <source>Changed start of track to %1.</source>
         <translation>Cambiado el inicio de track a %1.</translation>
     </message>
     <message>
-        <location filename="../gis/trk/filter/filter.cpp" line="284"/>
+        <location filename="../gis/trk/filter/filter.cpp" line="338"/>
         <source>Remove timestamps.</source>
         <translation>Eliminadas las marcas de tiempo.</translation>
     </message>
     <message>
-        <location filename="../gis/trk/filter/filter.cpp" line="307"/>
+        <location filename="../gis/trk/filter/filter.cpp" line="361"/>
         <source>Set artificial timestamps with delta of %1 sec.</source>
         <translation>Marcas de tiempo ficticias con incremento de %1 sec.</translation>
     </message>
     <message>
-        <location filename="../gis/trk/filter/filter.cpp" line="340"/>
+        <location filename="../gis/trk/filter/filter.cpp" line="394"/>
         <source>Changed speed to %1%2.</source>
         <translation>Velocidad modificada a %1%2.</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="1097"/>
+        <location filename="../gis/CGisListWks.cpp" line="1098"/>
         <source>Delete project...</source>
         <translation>Eliminar Proyecto...</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="1097"/>
+        <location filename="../gis/CGisListWks.cpp" line="1098"/>
         <source>Do you really want to delete %1?</source>
         <translation>¿Desea realmente eliminar %1?</translation>
     </message>
     <message>
         <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="431"/>
-        <location filename="../gis/tnv/serialization.cpp" line="460"/>
-        <location filename="../gis/tnv/serialization.cpp" line="471"/>
-        <location filename="../gis/tnv/serialization.cpp" line="504"/>
-        <location filename="../gis/tnv/serialization.cpp" line="644"/>
-        <location filename="../gis/tnv/serialization.cpp" line="672"/>
-        <location filename="../gis/tnv/serialization.cpp" line="683"/>
-        <location filename="../gis/tnv/serialization.cpp" line="701"/>
-        <location filename="../gis/tnv/serialization.cpp" line="729"/>
-        <location filename="../gis/tnv/serialization.cpp" line="803"/>
+        <location filename="../gis/tnv/serialization.cpp" line="211"/>
+        <location filename="../gis/tnv/serialization.cpp" line="347"/>
+        <location filename="../gis/tnv/serialization.cpp" line="376"/>
+        <location filename="../gis/tnv/serialization.cpp" line="387"/>
+        <location filename="../gis/tnv/serialization.cpp" line="420"/>
+        <location filename="../gis/tnv/serialization.cpp" line="560"/>
+        <location filename="../gis/tnv/serialization.cpp" line="588"/>
+        <location filename="../gis/tnv/serialization.cpp" line="599"/>
+        <location filename="../gis/tnv/serialization.cpp" line="617"/>
+        <location filename="../gis/tnv/serialization.cpp" line="645"/>
+        <location filename="../gis/tnv/serialization.cpp" line="719"/>
         <source>Error...</source>
         <translation>Error...</translation>
     </message>
     <message>
         <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="431"/>
-        <location filename="../gis/tnv/serialization.cpp" line="644"/>
+        <location filename="../gis/tnv/serialization.cpp" line="211"/>
+        <location filename="../gis/tnv/serialization.cpp" line="347"/>
+        <location filename="../gis/tnv/serialization.cpp" line="560"/>
         <source>Failed to open %1.</source>
         <translation>Fallo al abrir %1.</translation>
     </message>
     <message>
-        <location filename="../gis/tnv/serialization.cpp" line="460"/>
-        <location filename="../gis/tnv/serialization.cpp" line="471"/>
-        <location filename="../gis/tnv/serialization.cpp" line="672"/>
-        <location filename="../gis/tnv/serialization.cpp" line="683"/>
+        <location filename="../gis/tnv/serialization.cpp" line="376"/>
+        <location filename="../gis/tnv/serialization.cpp" line="387"/>
+        <location filename="../gis/tnv/serialization.cpp" line="588"/>
+        <location filename="../gis/tnv/serialization.cpp" line="599"/>
         <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="504"/>
-        <location filename="../gis/tnv/serialization.cpp" line="701"/>
-        <location filename="../gis/tnv/serialization.cpp" line="729"/>
-        <location filename="../gis/tnv/serialization.cpp" line="803"/>
+        <location filename="../gis/tnv/serialization.cpp" line="420"/>
+        <location filename="../gis/tnv/serialization.cpp" line="617"/>
+        <location filename="../gis/tnv/serialization.cpp" line="645"/>
+        <location filename="../gis/tnv/serialization.cpp" line="719"/>
         <source>Failed to read data.</source>
         <translation>Fallo al leer los datos.</translation>
     </message>
     <message>
-        <location filename="../device/CDeviceGarmin.cpp" line="207"/>
+        <location filename="../device/CDeviceGarmin.cpp" line="204"/>
         <source>Picture%1</source>
         <translation type="unfinished"></translation>
     </message>
@@ -6570,51 +6796,116 @@ Filename: %1</source>
     </message>
     <message>
         <location filename="../gis/trk/CActivityTrk.cpp" line="77"/>
-        <location filename="../gis/trk/CActivityTrk.cpp" line="101"/>
         <source>Aeronautik</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/trk/CActivityTrk.cpp" line="213"/>
-        <location filename="../gis/trk/CActivityTrk.cpp" line="257"/>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="101"/>
+        <source>Aeronautics</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="210"/>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="254"/>
         <source>Distance:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/trk/CActivityTrk.cpp" line="215"/>
-        <location filename="../gis/trk/CActivityTrk.cpp" line="279"/>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="212"/>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="276"/>
         <source>Ascend:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/trk/CActivityTrk.cpp" line="217"/>
-        <location filename="../gis/trk/CActivityTrk.cpp" line="301"/>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="214"/>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="298"/>
         <source>Descend:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/trk/CActivityTrk.cpp" line="219"/>
-        <location filename="../gis/trk/CActivityTrk.cpp" line="323"/>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="216"/>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="320"/>
         <source>Speed Moving:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/trk/CActivityTrk.cpp" line="221"/>
-        <location filename="../gis/trk/CActivityTrk.cpp" line="345"/>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="218"/>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="342"/>
         <source>Speed Total:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/trk/CActivityTrk.cpp" line="223"/>
-        <location filename="../gis/trk/CActivityTrk.cpp" line="367"/>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="220"/>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="364"/>
         <source>Time Moving:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/trk/CActivityTrk.cpp" line="225"/>
-        <location filename="../gis/trk/CActivityTrk.cpp" line="389"/>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="222"/>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="386"/>
         <source>Time Total:</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../gis/trk/CPropertyTrk.cpp" line="53"/>
+        <source>Progress</source>
+        <translation type="unfinished">Progreso</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CPropertyTrk.cpp" line="56"/>
+        <source>time</source>
+        <translation type="unfinished">tiempo</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CPropertyTrk.cpp" line="57"/>
+        <location filename="../gis/trk/CPropertyTrk.cpp" line="82"/>
+        <source>distance [%1]</source>
+        <translation type="unfinished">distancia [%1]</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CKnownExtension.cpp" line="57"/>
+        <source>Slope (directed)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CKnownExtension.cpp" line="62"/>
+        <source>Speed</source>
+        <translation type="unfinished">Velocidad</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CKnownExtension.cpp" line="67"/>
+        <source>Elevation</source>
+        <translation type="unfinished">Altitud</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CKnownExtension.cpp" line="74"/>
+        <location filename="../gis/trk/CKnownExtension.cpp" line="100"/>
+        <source>Heart Rate</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CKnownExtension.cpp" line="79"/>
+        <location filename="../gis/trk/CKnownExtension.cpp" line="105"/>
+        <source>Cadence</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CKnownExtension.cpp" line="84"/>
+        <location filename="../gis/trk/CKnownExtension.cpp" line="110"/>
+        <source>Air Temperature</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CKnownExtension.cpp" line="89"/>
+        <location filename="../gis/trk/CKnownExtension.cpp" line="115"/>
+        <source>Water Temperature</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CKnownExtension.cpp" line="94"/>
+        <location filename="../gis/trk/CKnownExtension.cpp" line="120"/>
+        <source>Depth</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 </TS>
diff --git a/src/locale/qmapshack_fr.ts b/src/locale/qmapshack_fr.ts
index 968ea1a..73c314c 100644
--- a/src/locale/qmapshack_fr.ts
+++ b/src/locale/qmapshack_fr.ts
@@ -17,7 +17,7 @@
 <context>
     <name>CCanvas</name>
     <message>
-        <location filename="../canvas/CCanvas.cpp" line="66"/>
+        <location filename="../canvas/CCanvas.cpp" line="59"/>
         <source>View %1</source>
         <translation>Vue %1</translation>
     </message>
@@ -84,34 +84,33 @@
 <context>
     <name>CDemPropSetup</name>
     <message>
-        <location filename="../dem/CDemPropSetup.cpp" line="183"/>
         <source><b>Grade %1</b></source>
-        <translation><b>Niveau %1</b></translation>
+        <translation type="vanished"><b>Niveau %1</b></translation>
     </message>
 </context>
 <context>
     <name>CDemVRT</name>
     <message>
-        <location filename="../dem/CDemVRT.cpp" line="45"/>
+        <location filename="../dem/CDemVRT.cpp" line="44"/>
         <location filename="../dem/CDemVRT.cpp" line="52"/>
-        <location filename="../dem/CDemVRT.cpp" line="61"/>
-        <location filename="../dem/CDemVRT.cpp" line="89"/>
+        <location filename="../dem/CDemVRT.cpp" line="62"/>
+        <location filename="../dem/CDemVRT.cpp" line="91"/>
         <source>Error...</source>
         <translation>Erreur...</translation>
     </message>
     <message>
-        <location filename="../dem/CDemVRT.cpp" line="45"/>
+        <location filename="../dem/CDemVRT.cpp" line="44"/>
         <source>Failed to load file: %1</source>
         <translation></translation>
     </message>
     <message>
         <location filename="../dem/CDemVRT.cpp" line="52"/>
-        <location filename="../dem/CDemVRT.cpp" line="61"/>
+        <location filename="../dem/CDemVRT.cpp" line="62"/>
         <source>DEM must have one band with 16bit or 32bit data.</source>
         <translation>Le DEM doit contenir un seule bande avec des données en 16 ou 32 bits.</translation>
     </message>
     <message>
-        <location filename="../dem/CDemVRT.cpp" line="89"/>
+        <location filename="../dem/CDemVRT.cpp" line="91"/>
         <source>No georeference information found.</source>
         <translation>Aucune information de géoréférencement trouvé</translation>
     </message>
@@ -119,24 +118,24 @@
 <context>
     <name>CDetailsGeoCache</name>
     <message>
-        <location filename="../gis/wpt/CDetailsGeoCache.cpp" line="62"/>
+        <location filename="../gis/wpt/CDetailsGeoCache.cpp" line="61"/>
         <source>none</source>
         <translatorcomment>...indice?</translatorcomment>
         <translation>aucun</translation>
     </message>
     <message>
-        <location filename="../gis/wpt/CDetailsGeoCache.cpp" line="62"/>
-        <location filename="../gis/wpt/CDetailsGeoCache.cpp" line="132"/>
+        <location filename="../gis/wpt/CDetailsGeoCache.cpp" line="61"/>
+        <location filename="../gis/wpt/CDetailsGeoCache.cpp" line="131"/>
         <source>???</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../gis/wpt/CDetailsGeoCache.cpp" line="159"/>
+        <location filename="../gis/wpt/CDetailsGeoCache.cpp" line="158"/>
         <source>Searching for images...</source>
         <translation>Recherche d'images...</translation>
     </message>
     <message>
-        <location filename="../gis/wpt/CDetailsGeoCache.cpp" line="264"/>
+        <location filename="../gis/wpt/CDetailsGeoCache.cpp" line="263"/>
         <source>No images found</source>
         <translation>Aucune image trouvée</translation>
     </message>
@@ -144,12 +143,12 @@
 <context>
     <name>CDetailsOvlArea</name>
     <message>
-        <location filename="../gis/ovl/CDetailsOvlArea.cpp" line="135"/>
+        <location filename="../gis/ovl/CDetailsOvlArea.cpp" line="134"/>
         <source>Edit name...</source>
         <translation>Éditer le nom...</translation>
     </message>
     <message>
-        <location filename="../gis/ovl/CDetailsOvlArea.cpp" line="135"/>
+        <location filename="../gis/ovl/CDetailsOvlArea.cpp" line="134"/>
         <source>Enter new area name.</source>
         <translation type="unfinished">Entrez le nom de la nouvelle surface.</translation>
     </message>
@@ -161,13 +160,13 @@
 <context>
     <name>CDetailsPrj</name>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="249"/>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="689"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="247"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="687"/>
         <source>none</source>
         <translation>aucun</translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="322"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="320"/>
         <source>Build diary...</source>
         <translation>Créer le journal...</translation>
     </message>
@@ -176,97 +175,97 @@
         <translation type="obsolete">Annuler</translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="397"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="395"/>
         <source><h2>Waypoints</h2></source>
         <translation><h2>Waypoints</h2></translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="404"/>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="430"/>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="534"/>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="624"/>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="654"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="402"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="428"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="532"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="622"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="652"/>
         <source>Info</source>
         <translation>Information</translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="405"/>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="431"/>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="535"/>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="625"/>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="655"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="403"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="429"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="533"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="623"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="653"/>
         <source>Comment</source>
         <translation>Commentaire</translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="423"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="421"/>
         <source><h2>Tracks</h2></source>
         <translation><h2>Traces</h2></translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="617"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="615"/>
         <source><h2>Areas</h2></source>
         <translation><h2>Surfaces</h2></translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="103"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="101"/>
         <source>You want to sort waypoints along a track, but you switched off track and waypoint correlation. Do you want to switch it on again?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="104"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="102"/>
         <source>Correlation...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="377"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="375"/>
         <source><b>Summary over all tracks in project</b><br/></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="553"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="551"/>
         <source>distance: %1%2</source>
         <translation>distance : %1%2</translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="555"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="553"/>
         <source>ascent: %1%2</source>
         <translation>montée : %1%2</translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="557"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="555"/>
         <source>descend: %1%2</source>
         <translation>descente : %1%2</translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="647"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="645"/>
         <source><h2>Routes</h2></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="675"/>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="702"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="673"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="700"/>
         <source>Edit name...</source>
         <translation>Éditer le nom...</translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="675"/>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="702"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="673"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="700"/>
         <source>Enter new project name.</source>
         <translation type="unfinished">Entrez le nom du nouveau projet.</translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="684"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="682"/>
         <source>Edit keywords...</source>
         <translation>Éditer les mots-clés...</translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="684"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="682"/>
         <source>Enter keywords.</source>
         <translation>Saisir les mots-clés.</translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="818"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="816"/>
         <source>Print Diary</source>
         <translation>Imprimer le journal</translation>
     </message>
@@ -274,12 +273,12 @@
 <context>
     <name>CDetailsRte</name>
     <message>
-        <location filename="../gis/rte/CDetailsRte.cpp" line="120"/>
+        <location filename="../gis/rte/CDetailsRte.cpp" line="119"/>
         <source>Edit name...</source>
         <translation type="unfinished">Éditer le nom...</translation>
     </message>
     <message>
-        <location filename="../gis/rte/CDetailsRte.cpp" line="120"/>
+        <location filename="../gis/rte/CDetailsRte.cpp" line="119"/>
         <source>Enter new route name.</source>
         <translation type="unfinished">Entrez le nom de la nouvelle route.</translation>
     </message>
@@ -287,57 +286,70 @@
 <context>
     <name>CDetailsTrk</name>
     <message>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="87"/>
+        <source>speed. [%1]</source>
+        <translation type="obsolete">vitesse [%1]</translation>
+    </message>
+    <message>
+        <source>time</source>
+        <translation type="obsolete">durée</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="409"/>
+        <source>Solid color</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="112"/>
         <source>Reduce visible track points</source>
         <translation>Réduire les points visibles de la trace</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="100"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="128"/>
         <source>Change elevation of track points</source>
         <translation>Modifier l'altitude des points de la trace</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="113"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="141"/>
         <source>Change timestamp of track points</source>
         <translation>Modifier l'horodatage des points de la trace</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="126"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="154"/>
         <source>Cut track into pieces</source>
         <translation>Découper la trace</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="242"/>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="251"/>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="254"/>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="260"/>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="279"/>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="281"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="309"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="318"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="321"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="327"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="346"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="348"/>
         <source>%1 %2</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="457"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="603"/>
         <source>Edit name...</source>
         <translation>Éditer le nom...</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="457"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="603"/>
         <source>Enter new track name.</source>
         <translation type="unfinished">Entrez le nom de la nouvelle trace.</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="509"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="655"/>
         <source>Reset activities...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="509"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="655"/>
         <source>This will remove all activities from the track. Proceed?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="515"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="661"/>
         <source>None</source>
         <translation type="unfinished"></translation>
     </message>
@@ -345,17 +357,17 @@
 <context>
     <name>CDetailsWpt</name>
     <message>
-        <location filename="../gis/wpt/CDetailsWpt.cpp" line="157"/>
+        <location filename="../gis/wpt/CDetailsWpt.cpp" line="134"/>
         <source>Edit name...</source>
         <translation>Éditer le nom...</translation>
     </message>
     <message>
-        <location filename="../gis/wpt/CDetailsWpt.cpp" line="157"/>
+        <location filename="../gis/wpt/CDetailsWpt.cpp" line="134"/>
         <source>Enter new waypoint name.</source>
         <translation type="unfinished">Entrez le nom du nouveau waypoint.</translation>
     </message>
     <message>
-        <location filename="../gis/wpt/CDetailsWpt.cpp" line="176"/>
+        <location filename="../gis/wpt/CDetailsWpt.cpp" line="153"/>
         <source>Enter new proximity range.</source>
         <translation type="unfinished">Entrez le rayon de l'alarme de proximité.</translation>
     </message>
@@ -371,69 +383,73 @@
 <context>
     <name>CGisListDB</name>
     <message>
-        <location filename="../gis/CGisListDB.cpp" line="76"/>
+        <location filename="../gis/CGisListDB.cpp" line="75"/>
         <source>Add Database</source>
         <translation>Ajouter une base de données</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListDB.cpp" line="79"/>
+        <location filename="../gis/CGisListDB.cpp" line="78"/>
         <source>Add Folder</source>
         <translation>Ajouter un dossier</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListDB.cpp" line="80"/>
+        <location filename="../gis/CGisListDB.cpp" line="79"/>
         <source>Delete Folder</source>
         <translation>Supprimer le dossier</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListDB.cpp" line="83"/>
-        <location filename="../gis/CGisListDB.cpp" line="93"/>
+        <location filename="../gis/CGisListDB.cpp" line="82"/>
+        <location filename="../gis/CGisListDB.cpp" line="92"/>
         <source>Delete Item</source>
         <translation>Supprimer un élément</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListDB.cpp" line="87"/>
+        <location filename="../gis/CGisListDB.cpp" line="86"/>
         <source>Remove Database</source>
         <translation>Enlever la base de données</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListDB.cpp" line="90"/>
+        <location filename="../gis/CGisListDB.cpp" line="89"/>
         <source>Empty</source>
         <translation>Vider</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListDB.cpp" line="282"/>
+        <location filename="../gis/CGisListDB.cpp" line="281"/>
         <source>Remove database...</source>
         <translation>Enlever la base de données</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListDB.cpp" line="282"/>
+        <location filename="../gis/CGisListDB.cpp" line="281"/>
+        <source>Do you really want to remove '%1' from the list?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <source>Do you realy want to remove '%1' from the list?</source>
-        <translation>Êtes-vous sûr de vouloir enlever '%1' de la liste ?</translation>
+        <translation type="vanished">Êtes-vous sûr de vouloir enlever '%1' de la liste ?</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListDB.cpp" line="323"/>
+        <location filename="../gis/CGisListDB.cpp" line="322"/>
         <source>Delete database folder...</source>
         <translation>Supprimer la base de données...</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListDB.cpp" line="323"/>
+        <location filename="../gis/CGisListDB.cpp" line="322"/>
         <source>Are you sure you want to delete "%1" from the database?</source>
         <translation>Êtes-vous sûr de vouloir enlever '%1' de la liste ?</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListDB.cpp" line="349"/>
-        <location filename="../gis/CGisListDB.cpp" line="364"/>
+        <location filename="../gis/CGisListDB.cpp" line="348"/>
+        <location filename="../gis/CGisListDB.cpp" line="363"/>
         <source>Remove items...</source>
         <translation>Supprimer les éléments...</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListDB.cpp" line="349"/>
+        <location filename="../gis/CGisListDB.cpp" line="348"/>
         <source>Are you sure you want to delete all items from Lost&Found? This will remove them permanently.</source>
         <translation>Êtes-vous sûr de vouloir supprimer tous les éléments dans Perdu & Trouvé ? Les éléments seront supprimés définitivement.</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListDB.cpp" line="364"/>
+        <location filename="../gis/CGisListDB.cpp" line="363"/>
         <source>Are you sure you want to delete all selected items from Lost&Found? This will remove them permanently.</source>
         <translation>Êtes-vous sûr de vouloir supprimer les éléments sélectionnés dans Perdu & Trouvé ? Les éléments seront supprimés définitivement.</translation>
     </message>
@@ -441,27 +457,27 @@
 <context>
     <name>CGisListWks</name>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="100"/>
+        <location filename="../gis/CGisListWks.cpp" line="97"/>
         <source>Edit..</source>
         <translation>Éditer..</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="101"/>
+        <location filename="../gis/CGisListWks.cpp" line="98"/>
         <source>Show on Map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="102"/>
+        <location filename="../gis/CGisListWks.cpp" line="99"/>
         <source>Hide from Map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="105"/>
+        <location filename="../gis/CGisListWks.cpp" line="102"/>
         <source>Save As...</source>
         <translation>Enregistrer sous...</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="104"/>
+        <location filename="../gis/CGisListWks.cpp" line="101"/>
         <source>Save</source>
         <translation>Enregistrer</translation>
     </message>
@@ -470,103 +486,103 @@
         <translation type="obsolete">Mettre à jour le projet sur tous les appareils</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="107"/>
+        <location filename="../gis/CGisListWks.cpp" line="104"/>
         <source>Send to Devices</source>
         <translation>Envoyer vers les appareils</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="109"/>
+        <location filename="../gis/CGisListWks.cpp" line="106"/>
         <source>Close</source>
         <translation>Fermer</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="115"/>
+        <location filename="../gis/CGisListWks.cpp" line="112"/>
         <source>Update Project on Device</source>
         <translation>Mettre à jour le projet sur l'appareil</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="116"/>
-        <location filename="../gis/CGisListWks.cpp" line="137"/>
+        <location filename="../gis/CGisListWks.cpp" line="113"/>
+        <location filename="../gis/CGisListWks.cpp" line="134"/>
         <source>Delete</source>
         <translation>Supprimer</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="127"/>
+        <location filename="../gis/CGisListWks.cpp" line="124"/>
         <source>Edit...</source>
         <translation>Éditer...</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="128"/>
+        <location filename="../gis/CGisListWks.cpp" line="125"/>
         <source>Copy to...</source>
         <translation>Copier vers...</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="130"/>
+        <location filename="../gis/CGisListWks.cpp" line="127"/>
         <source>Track Profile</source>
         <translation>Profile de la trace</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="132"/>
+        <location filename="../gis/CGisListWks.cpp" line="129"/>
         <source>Select Range</source>
         <translation>Sélectionner des points</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="133"/>
+        <location filename="../gis/CGisListWks.cpp" line="130"/>
         <source>Edit Track Points</source>
         <translation>Éditer les points de la trace</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="134"/>
+        <location filename="../gis/CGisListWks.cpp" line="131"/>
         <source>Reverse Track</source>
         <translation>Inverser la trace</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="135"/>
+        <location filename="../gis/CGisListWks.cpp" line="132"/>
         <source>Combine Tracks</source>
         <translation>Joindre des traces</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="143"/>
+        <location filename="../gis/CGisListWks.cpp" line="140"/>
         <source>Show Bubble</source>
         <translation>Afficher la bulle</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="145"/>
+        <location filename="../gis/CGisListWks.cpp" line="142"/>
         <source>Move Waypoint</source>
         <translation>Déplacer le waypoint</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="146"/>
+        <location filename="../gis/CGisListWks.cpp" line="143"/>
         <source>Proj. Waypoint...</source>
         <translation>Projection du waypoint...</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="154"/>
+        <location filename="../gis/CGisListWks.cpp" line="151"/>
         <source>Route Instructions</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="156"/>
+        <location filename="../gis/CGisListWks.cpp" line="153"/>
         <source>Calculate Route</source>
         <translation>Calculer l'itinéraire</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="157"/>
+        <location filename="../gis/CGisListWks.cpp" line="154"/>
         <source>Reset Route</source>
         <translation>Réinitialiser la route</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="158"/>
+        <location filename="../gis/CGisListWks.cpp" line="155"/>
         <source>Edit Route</source>
         <translation>Éditer la route</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="167"/>
+        <location filename="../gis/CGisListWks.cpp" line="164"/>
         <source>Edit Area Points</source>
         <translation>Éditer les points de la surface</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="174"/>
+        <location filename="../gis/CGisListWks.cpp" line="171"/>
         <source>Create Route</source>
         <translation type="unfinished"></translation>
     </message>
@@ -586,24 +602,24 @@
         <translation>Chargement de l'espace de travail. Patientez.</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="1061"/>
+        <location filename="../gis/CGisListWks.cpp" line="1062"/>
         <source>Close all projects...</source>
         <translation>Fermer tous les projets...</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="1061"/>
+        <location filename="../gis/CGisListWks.cpp" line="1062"/>
         <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="1265"/>
+        <location filename="../gis/CGisListWks.cpp" line="1266"/>
         <source>Copy items...</source>
         <translation type="unfinished">Copier les éléments...</translation>
     </message>
     <message>
         <location filename="../gis/CGisListWks.cpp" line="638"/>
-        <location filename="../gis/CGisListWks.cpp" line="1543"/>
-        <location filename="../gis/CGisListWks.cpp" line="1581"/>
+        <location filename="../gis/CGisListWks.cpp" line="1544"/>
+        <location filename="../gis/CGisListWks.cpp" line="1582"/>
         <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>
@@ -642,22 +658,22 @@
         <translation type="obsolete">[Grille : N %1m, E %2m]</translation>
     </message>
     <message>
-        <location filename="../grid/CGrid.cpp" line="65"/>
+        <location filename="../grid/CGrid.cpp" line="61"/>
         <source>%1 %2 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../grid/CGrid.cpp" line="69"/>
+        <location filename="../grid/CGrid.cpp" line="65"/>
         <source>%1%2%5 %3%4%5 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../grid/CGrid.cpp" line="76"/>
+        <location filename="../grid/CGrid.cpp" line="72"/>
         <source>%1m, %2m </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../grid/CGrid.cpp" line="80"/>
+        <location filename="../grid/CGrid.cpp" line="76"/>
         <source>N %1m, E %2m </source>
         <translation type="unfinished"></translation>
     </message>
@@ -665,7 +681,7 @@
 <context>
     <name>CHistoryListWidget</name>
     <message>
-        <location filename="../helpers/CHistoryListWidget.cpp" line="34"/>
+        <location filename="../widgets/CHistoryListWidget.cpp" line="34"/>
         <source>Cut history</source>
         <translation>Tronquer l'historique</translation>
     </message>
@@ -678,12 +694,12 @@
         <translation>Importer une base de données QLandkarte</translation>
     </message>
     <message>
-        <location filename="../tool/CImportDatabase.cpp" line="73"/>
+        <location filename="../tool/CImportDatabase.cpp" line="75"/>
         <source>Select source database...</source>
         <translation>Choisissez la base de données à importer...</translation>
     </message>
     <message>
-        <location filename="../tool/CImportDatabase.cpp" line="93"/>
+        <location filename="../tool/CImportDatabase.cpp" line="97"/>
         <source>Select target database...</source>
         <translation>Choisissez la base de données cible...</translation>
     </message>
@@ -691,27 +707,27 @@
 <context>
     <name>CMainWindow</name>
     <message>
-        <location filename="../CMainWindow.cpp" line="589"/>
+        <location filename="../CMainWindow.cpp" line="591"/>
         <source>Ele: %1%2</source>
         <translation>Altitude: %1%2</translation>
     </message>
     <message>
-        <location filename="../CMainWindow.cpp" line="605"/>
+        <location filename="../CMainWindow.cpp" line="607"/>
         <source>[Grid: %1]</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../CMainWindow.cpp" line="726"/>
+        <location filename="../CMainWindow.cpp" line="732"/>
         <source>Load GIS Data...</source>
         <translation>Charger des données SIG...</translation>
     </message>
     <message>
-        <location filename="../CMainWindow.cpp" line="760"/>
+        <location filename="../CMainWindow.cpp" line="766"/>
         <source>Select output file</source>
         <translation>Sélectionner le fichier de sortie</translation>
     </message>
     <message>
-        <location filename="../CMainWindow.cpp" line="786"/>
+        <location filename="../CMainWindow.cpp" line="792"/>
         <source>Select file to load</source>
         <translation>Sélectionner le fichier à charger</translation>
     </message>
@@ -1323,26 +1339,26 @@
         <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="2500"/>
-        <location filename="../map/CMapIMG.cpp" line="2508"/>
+        <location filename="../map/CMapIMG.cpp" line="2504"/>
         <location filename="../map/CMapIMG.cpp" line="2512"/>
-        <location filename="../map/CMapIMG.cpp" line="2517"/>
-        <location filename="../map/CMapIMG.cpp" line="2563"/>
-        <location filename="../map/CMapIMG.cpp" line="2571"/>
+        <location filename="../map/CMapIMG.cpp" line="2516"/>
+        <location filename="../map/CMapIMG.cpp" line="2521"/>
+        <location filename="../map/CMapIMG.cpp" line="2567"/>
         <location filename="../map/CMapIMG.cpp" line="2575"/>
-        <location filename="../map/CMapIMG.cpp" line="2580"/>
+        <location filename="../map/CMapIMG.cpp" line="2579"/>
+        <location filename="../map/CMapIMG.cpp" line="2584"/>
         <source>Point of Interest</source>
         <translation>Point d'intérêt</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="2707"/>
+        <location filename="../map/CMapIMG.cpp" line="2711"/>
         <source>Unknown</source>
         <translation>Inconnu</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="2753"/>
-        <location filename="../map/CMapIMG.cpp" line="2761"/>
-        <location filename="../map/CMapIMG.cpp" line="2768"/>
+        <location filename="../map/CMapIMG.cpp" line="2757"/>
+        <location filename="../map/CMapIMG.cpp" line="2765"/>
+        <location filename="../map/CMapIMG.cpp" line="2772"/>
         <source>Area</source>
         <translation>Surface</translation>
     </message>
@@ -1454,19 +1470,19 @@
 <context>
     <name>CMapTMS</name>
     <message>
-        <location filename="../map/CMapTMS.cpp" line="71"/>
-        <location filename="../map/CMapTMS.cpp" line="81"/>
-        <location filename="../map/CMapTMS.cpp" line="140"/>
+        <location filename="../map/CMapTMS.cpp" line="67"/>
+        <location filename="../map/CMapTMS.cpp" line="77"/>
+        <location filename="../map/CMapTMS.cpp" line="136"/>
         <source>Error...</source>
         <translation>Erreur...</translation>
     </message>
     <message>
-        <location filename="../map/CMapTMS.cpp" line="71"/>
+        <location filename="../map/CMapTMS.cpp" line="67"/>
         <source>Failed to open %1</source>
         <translation>Impossible d'ouvrir : </translation>
     </message>
     <message>
-        <location filename="../map/CMapTMS.cpp" line="81"/>
+        <location filename="../map/CMapTMS.cpp" line="77"/>
         <source>Failed to read: %1
 line %2, column %3:
  %4</source>
@@ -1475,17 +1491,17 @@ ligne %2, colonne %3:
 %4</translation>
     </message>
     <message>
-        <location filename="../map/CMapTMS.cpp" line="119"/>
+        <location filename="../map/CMapTMS.cpp" line="115"/>
         <source>Layer %1</source>
         <translation>Calque %1</translation>
     </message>
     <message>
-        <location filename="../map/CMapTMS.cpp" line="134"/>
+        <location filename="../map/CMapTMS.cpp" line="130"/>
         <source>This map requires OpenSSL support. However due to legal restrictions in some countries OpenSSL is not packaged with QMapShack. You can have a look at the <a href='https://www.openssl.org/community/binaries.html'>OpenSSL Homepage</a> for binaries. You have to copy libeay32.dll and ssleay32.dll into the QMapShack program directory.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../map/CMapTMS.cpp" line="311"/>
+        <location filename="../map/CMapTMS.cpp" line="306"/>
         <source><b>%1</b>: %2 tiles pending<br/></source>
         <translation><b>%1</b>: %2 tuiles à charger<br/></translation>
     </message>
@@ -1493,16 +1509,16 @@ ligne %2, colonne %3:
 <context>
     <name>CMapVRT</name>
     <message>
-        <location filename="../map/CMapVRT.cpp" line="47"/>
-        <location filename="../map/CMapVRT.cpp" line="61"/>
+        <location filename="../map/CMapVRT.cpp" line="45"/>
+        <location filename="../map/CMapVRT.cpp" line="60"/>
         <location filename="../map/CMapVRT.cpp" line="89"/>
-        <location filename="../map/CMapVRT.cpp" line="125"/>
+        <location filename="../map/CMapVRT.cpp" line="126"/>
         <source>Error...</source>
         <translation>Erreur...</translation>
     </message>
     <message>
-        <location filename="../map/CMapVRT.cpp" line="47"/>
-        <location filename="../map/CMapVRT.cpp" line="61"/>
+        <location filename="../map/CMapVRT.cpp" line="45"/>
+        <location filename="../map/CMapVRT.cpp" line="60"/>
         <source>Failed to load file: %1</source>
         <translation>Impossible de charger le fichier: %1</translation>
     </message>
@@ -1512,7 +1528,7 @@ ligne %2, colonne %3:
         <translation>Le fichier doit avoir une palette à 8 bits ou être en niveaux de gris.</translation>
     </message>
     <message>
-        <location filename="../map/CMapVRT.cpp" line="125"/>
+        <location filename="../map/CMapVRT.cpp" line="126"/>
         <source>No georeference information found.</source>
         <translation>Aucune information de géoréférencement trouvé</translation>
     </message>
@@ -1535,7 +1551,7 @@ ligne %2, colonne %3:
         <translation>Sélectionnez le fichier à créer...</translation>
     </message>
     <message>
-        <location filename="../tool/CMapVrtBuilder.cpp" line="125"/>
+        <location filename="../tool/CMapVrtBuilder.cpp" line="114"/>
         <source>!!! done !!!
 </source>
         <translation type="unfinished"></translation>
@@ -1549,22 +1565,22 @@ ligne %2, colonne %3:
 <context>
     <name>CMapWMTS</name>
     <message>
-        <location filename="../map/CMapWMTS.cpp" line="46"/>
-        <location filename="../map/CMapWMTS.cpp" line="56"/>
-        <location filename="../map/CMapWMTS.cpp" line="66"/>
-        <location filename="../map/CMapWMTS.cpp" line="75"/>
-        <location filename="../map/CMapWMTS.cpp" line="160"/>
-        <location filename="../map/CMapWMTS.cpp" line="220"/>
+        <location filename="../map/CMapWMTS.cpp" line="43"/>
+        <location filename="../map/CMapWMTS.cpp" line="53"/>
+        <location filename="../map/CMapWMTS.cpp" line="63"/>
+        <location filename="../map/CMapWMTS.cpp" line="72"/>
+        <location filename="../map/CMapWMTS.cpp" line="157"/>
+        <location filename="../map/CMapWMTS.cpp" line="217"/>
         <source>Error...</source>
         <translation>Erreur...</translation>
     </message>
     <message>
-        <location filename="../map/CMapWMTS.cpp" line="46"/>
+        <location filename="../map/CMapWMTS.cpp" line="43"/>
         <source>Failed to open %1</source>
         <translation>Impossible d'ouvrir %1</translation>
     </message>
     <message>
-        <location filename="../map/CMapWMTS.cpp" line="56"/>
+        <location filename="../map/CMapWMTS.cpp" line="53"/>
         <source>Failed to read: %1
 line %2, column %3:
  %4</source>
@@ -1573,29 +1589,33 @@ ligne %2, colonne %3:
 %4</translation>
     </message>
     <message>
-        <location filename="../map/CMapWMTS.cpp" line="66"/>
+        <location filename="../map/CMapWMTS.cpp" line="63"/>
         <source>Failed to read: %1
 Unknown structure.</source>
         <translation>Impossible de lire: %1
 Structure inconnue.</translation>
     </message>
     <message>
-        <location filename="../map/CMapWMTS.cpp" line="75"/>
+        <location filename="../map/CMapWMTS.cpp" line="72"/>
+        <source>Unexpected service. '* WMTS 1.0.0' is expected. '%1 %2' is read.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <source>Unexpexted service. '* WMTS 1.0.0' is expected. '%1 %2' is read.</source>
-        <translation>Service inconnu. 'Attendu : * WMTS 1.0.0', lu :  '%1 %2.</translation>
+        <translation type="vanished">Service inconnu. 'Attendu : * WMTS 1.0.0', lu :  '%1 %2.</translation>
     </message>
     <message>
-        <location filename="../map/CMapWMTS.cpp" line="154"/>
+        <location filename="../map/CMapWMTS.cpp" line="151"/>
         <source>This map requires OpenSSL support. However due to legal restrictions in some countries OpenSSL is not packaged with QMapShack. You can have a look at the <a href='https://www.openssl.org/community/binaries.html'>OpenSSL Homepage</a> for binaries. You have to copy libeay32.dll and ssleay32.dll into the QMapShack program directory.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../map/CMapWMTS.cpp" line="220"/>
+        <location filename="../map/CMapWMTS.cpp" line="217"/>
         <source>No georeference information found.</source>
         <translation>Aucune information de géoréférencement trouvé</translation>
     </message>
     <message>
-        <location filename="../map/CMapWMTS.cpp" line="416"/>
+        <location filename="../map/CMapWMTS.cpp" line="413"/>
         <source><b>%1</b>: %2 tiles pending<br/></source>
         <translation><b>%1</b>: %2 tuiles à charger<br/></translation>
     </message>
@@ -1640,55 +1660,59 @@ Structure inconnue.</translation>
     </message>
     <message>
         <location filename="../mouse/CMouseEditTrk.cpp" line="28"/>
-        <location filename="../mouse/CMouseEditTrk.cpp" line="36"/>
+        <location filename="../mouse/CMouseEditTrk.cpp" line="35"/>
         <source>Track</source>
         <translation type="unfinished">Trace</translation>
     </message>
     <message>
-        <location filename="../mouse/CMouseEditTrk.cpp" line="39"/>
+        <location filename="../mouse/CMouseEditTrk.cpp" line="38"/>
         <source><b>Edit Track Points</b><br/>Select a function and a routing mode via the tool buttons. Next select a point of the line. Only points marked with a large square can be changed. The ones with a black dot are subpoints introduced by routing.<br/></source>
         <translation><b>Éditer les points de la trace</b><br/>Choisissez une fonction et un mode de calcul d'itinéraire à l'aide des boutons d'outils. Ensuite, sélectionnez un point de la ligne. Seul les points marqués d'un carré large peuvent être modifiés. Les points noirs sont des sous-points introduits par le calcul d'itinéraire.<br/></translation>
     </message>
     <message>
-        <location filename="../mouse/CMouseEditTrk.cpp" line="81"/>
+        <location filename="../mouse/CMouseEditTrk.cpp" line="80"/>
         <source>Warning!</source>
         <translation>Avertissement !</translation>
     </message>
     <message>
-        <location filename="../mouse/CMouseEditTrk.cpp" line="81"/>
+        <location filename="../mouse/CMouseEditTrk.cpp" line="80"/>
+        <source>This will replace all data of the original by a simple line of coordinates. All other data will be lost permanently.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <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>
+        <translation type="vanished">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>
 </context>
 <context>
     <name>CMouseNormal</name>
     <message>
-        <location filename="../mouse/CMouseNormal.cpp" line="41"/>
+        <location filename="../mouse/CMouseNormal.cpp" line="39"/>
         <source>Add Waypoint</source>
         <translation>Ajouter un waypoint</translation>
     </message>
     <message>
-        <location filename="../mouse/CMouseNormal.cpp" line="42"/>
+        <location filename="../mouse/CMouseNormal.cpp" line="40"/>
         <source>Add Track</source>
         <translation>Ajouter une trace</translation>
     </message>
     <message>
-        <location filename="../mouse/CMouseNormal.cpp" line="43"/>
+        <location filename="../mouse/CMouseNormal.cpp" line="41"/>
         <source>Add Route</source>
         <translation>Ajouter une route</translation>
     </message>
     <message>
-        <location filename="../mouse/CMouseNormal.cpp" line="44"/>
+        <location filename="../mouse/CMouseNormal.cpp" line="42"/>
         <source>Add Area</source>
         <translation>Ajouter une surface</translation>
     </message>
     <message>
-        <location filename="../mouse/CMouseNormal.cpp" line="47"/>
+        <location filename="../mouse/CMouseNormal.cpp" line="45"/>
         <source>Copy position</source>
         <translation>Copier la position</translation>
     </message>
     <message>
-        <location filename="../mouse/CMouseNormal.cpp" line="48"/>
+        <location filename="../mouse/CMouseNormal.cpp" line="46"/>
         <source>Copy position (Grid)</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1696,7 +1720,7 @@ Structure inconnue.</translation>
 <context>
     <name>CMousePrint</name>
     <message>
-        <location filename="../mouse/CMousePrint.cpp" line="38"/>
+        <location filename="../mouse/CMousePrint.cpp" line="30"/>
         <source><b>Save(Print) Map</b><br/>Select a rectangular area on the map. Use the left mouse button and move the mouse. Abort with a right click. Adjust the selection by point-click-move on the corners. Save/print the selection by a left click on the disc/printer icon in the center of the selection.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1704,7 +1728,7 @@ Structure inconnue.</translation>
 <context>
     <name>CMouseRangeTrk</name>
     <message>
-        <location filename="../mouse/CMouseRangeTrk.cpp" line="44"/>
+        <location filename="../mouse/CMouseRangeTrk.cpp" line="42"/>
         <source><b>Select Range</b><br/>Select first track point. And then a second one.<br/></source>
         <translation><b>Sélectionner une séquence de points</b><br/>Sélectionner le premier point, puis un deuxième.</translation>
     </message>
@@ -1712,7 +1736,7 @@ Structure inconnue.</translation>
 <context>
     <name>CPhotoAlbum</name>
     <message>
-        <location filename="../helpers/CPhotoAlbum.cpp" line="72"/>
+        <location filename="../widgets/CPhotoAlbum.cpp" line="73"/>
         <source>Select images...</source>
         <translation>Sélectionner les images...</translation>
     </message>
@@ -1720,35 +1744,23 @@ Structure inconnue.</translation>
 <context>
     <name>CPlotDistance</name>
     <message>
-        <location filename="../plot/CPlotDistance.cpp" line="58"/>
-        <source>distance [%1]</source>
-        <translation></translation>
-    </message>
-    <message>
-        <location filename="../plot/CPlotDistance.cpp" line="62"/>
         <source>time</source>
-        <translation>durée</translation>
-    </message>
-    <message>
-        <location filename="../plot/CPlotDistance.cpp" line="64"/>
-        <source>distance. [%1]</source>
-        <translation></translation>
+        <translation type="vanished">durée</translation>
     </message>
 </context>
 <context>
     <name>CPlotProfile</name>
     <message>
-        <location filename="../plot/CPlotProfile.cpp" line="65"/>
+        <location filename="../plot/CPlotProfile.cpp" line="63"/>
         <source>distance [%1]</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../plot/CPlotProfile.cpp" line="69"/>
         <source>time [h]</source>
-        <translation>durée [h]</translation>
+        <translation type="vanished">durée [h]</translation>
     </message>
     <message>
-        <location filename="../plot/CPlotProfile.cpp" line="71"/>
+        <location filename="../plot/CPlotProfile.cpp" line="64"/>
         <source>alt. [%1]</source>
         <translation>Alt. [%1]</translation>
     </message>
@@ -1756,45 +1768,38 @@ Structure inconnue.</translation>
 <context>
     <name>CPlotSpeed</name>
     <message>
-        <location filename="../plot/CPlotSpeed.cpp" line="57"/>
-        <source>distance [%1]</source>
-        <translation></translation>
-    </message>
-    <message>
-        <location filename="../plot/CPlotSpeed.cpp" line="61"/>
         <source>time [h]</source>
-        <translation>durée [h]</translation>
+        <translation type="vanished">durée [h]</translation>
     </message>
     <message>
-        <location filename="../plot/CPlotSpeed.cpp" line="63"/>
         <source>speed. [%1]</source>
-        <translation>vitesse [%1]</translation>
+        <translation type="vanished">vitesse [%1]</translation>
     </message>
 </context>
 <context>
     <name>CPrintDialog</name>
     <message>
-        <location filename="../print/CPrintDialog.cpp" line="68"/>
+        <location filename="../print/CPrintDialog.cpp" line="67"/>
         <source>Print Map...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../print/CPrintDialog.cpp" line="75"/>
+        <location filename="../print/CPrintDialog.cpp" line="74"/>
         <source>Save Map as Image...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../print/CPrintDialog.cpp" line="95"/>
+        <location filename="../print/CPrintDialog.cpp" line="94"/>
         <source>Printer Properties...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../print/CPrintDialog.cpp" line="170"/>
+        <location filename="../print/CPrintDialog.cpp" line="169"/>
         <source>Pages: %1 x %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../print/CPrintDialog.cpp" line="171"/>
+        <location filename="../print/CPrintDialog.cpp" line="170"/>
         <source>Zoom with mouse wheel on map below to change resolution:
 
 %1x%2 pixel
@@ -1803,12 +1808,12 @@ y: %4 m/px</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../print/CPrintDialog.cpp" line="217"/>
+        <location filename="../print/CPrintDialog.cpp" line="216"/>
         <source>Printing pages.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../print/CPrintDialog.cpp" line="259"/>
+        <location filename="../print/CPrintDialog.cpp" line="260"/>
         <source>Save map...</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1829,22 +1834,22 @@ y: %4 m/px</source>
 <context>
     <name>CProjWizard</name>
     <message>
-        <location filename="../grid/CProjWizard.cpp" line="57"/>
+        <location filename="../grid/CProjWizard.cpp" line="62"/>
         <source>north</source>
         <translation>nord</translation>
     </message>
     <message>
-        <location filename="../grid/CProjWizard.cpp" line="58"/>
+        <location filename="../grid/CProjWizard.cpp" line="63"/>
         <source>south</source>
         <translation>sud</translation>
     </message>
     <message>
-        <location filename="../grid/CProjWizard.cpp" line="215"/>
+        <location filename="../grid/CProjWizard.cpp" line="221"/>
         <source>Error...</source>
         <translation>Erreur...</translation>
     </message>
     <message>
-        <location filename="../grid/CProjWizard.cpp" line="215"/>
+        <location filename="../grid/CProjWizard.cpp" line="221"/>
         <source>The value
 '%1'
 is not a valid coordinate system definition:
@@ -2012,7 +2017,7 @@ n'est pas une définition de système de coordonnées:
         <translation>Supprimer le fichier existant %1 ?</translation>
     </message>
     <message>
-        <location filename="../qlgt/CQmsDb.cpp" line="162"/>
+        <location filename="../qlgt/CQmsDb.cpp" line="163"/>
         <source>%1: drop item with QLGT DB ID %2</source>
         <translation>%1: poubellise l'élément avec l'identifiant QLGT DB %2</translation>
     </message>
@@ -2144,224 +2149,224 @@ n'est pas une définition de système de coordonnées:
 <context>
     <name>CRouterRoutino</name>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="89"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="78"/>
         <source>Foot</source>
         <translation>à pied</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="90"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="79"/>
         <source>Horse</source>
         <translation>à cheval</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="91"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="80"/>
         <source>Wheelchair</source>
         <translation>en fauteuil roulant</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="92"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="81"/>
         <source>Bicycle</source>
         <translation>Vélo</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="93"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="82"/>
         <source>Moped</source>
         <translation>Cyclomoteur</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="94"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="83"/>
         <source>Motorcycle</source>
         <translation>Moto</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="95"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="84"/>
         <source>Motorcar</source>
         <translation>Voiture</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="96"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="85"/>
         <source>Goods</source>
         <translation>Camion</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="63"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="59"/>
         <source>Shortest</source>
         <translation>le plus court</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="59"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="55"/>
         <source>Found Routino with a wrong version. Expected %1 found %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="64"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="60"/>
         <source>Quickest</source>
         <translation>le plus rapide</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="98"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="87"/>
         <source>English</source>
         <translation type="unfinished">Anglais</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="99"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="88"/>
         <source>German</source>
         <translation type="unfinished">Deutsch</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="100"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="89"/>
         <source>French</source>
         <translation type="unfinished">Français</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="101"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="90"/>
         <source>Hungarian</source>
         <translation type="unfinished">Hongrois</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="102"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="91"/>
         <source>Dutch</source>
         <translation type="unfinished">Néerlandais</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="103"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="92"/>
         <source>Russian</source>
         <translation type="unfinished">Russe</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="104"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="93"/>
         <source>Polish</source>
         <translation type="unfinished">Polonais</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="139"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="128"/>
         <source>A function was called without the database variable set.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="142"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="131"/>
         <source>A function was called without the profile variable set.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="145"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="134"/>
         <source>A function was called without the translation variable set.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="148"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="137"/>
         <source>The specified database to load did not exist.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="151"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="140"/>
         <source>The specified database could not be loaded.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="154"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="143"/>
         <source>The specified profiles XML file did not exist.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="157"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="146"/>
         <source>The specified profiles XML file could not be loaded.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="160"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="149"/>
         <source>The specified translations XML file did not exist.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="163"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="152"/>
         <source>The specified translations XML file could not be loaded.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="166"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="155"/>
         <source>The requested profile name does not exist in the loaded XML file.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="169"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="158"/>
         <source>The requested translation language does not exist in the loaded XML file.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="172"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="161"/>
         <source>There is no highway near the coordinates to place a waypoint.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="175"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="164"/>
         <source>The profile and database do not work together.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="178"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="167"/>
         <source>The profile being used has not been validated.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="181"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="170"/>
         <source>The user specified profile contained invalid data.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="184"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="173"/>
         <source>The routing options specified are not consistent with each other.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="187"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="176"/>
         <source>There is a mismatch between the library and caller API version.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="190"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="179"/>
         <source>Route calculation was aborted by user.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="196"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="185"/>
         <source>A route could not be found to waypoint %1.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="199"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="188"/>
         <source>Unknown error: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="211"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="200"/>
         <source>profile "%1"</source>
         <translation>profile "%1"</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="212"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="201"/>
         <source>, mode "%1"</source>
         <translation>, mode "%1"</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="59"/>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="249"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="55"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="238"/>
         <source>Warning...</source>
         <translation type="unfinished">Avertissement...</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="249"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="238"/>
         <source>%1: Due to limitations in the Windows POSIX API Routino can't handle files larger than 4GB.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="353"/>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="440"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="342"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="429"/>
         <source>Calculate route with %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="361"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="350"/>
         <source><br/>Calculation time: %1s</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2399,22 +2404,22 @@ n'est pas une définition de système de coordonnées:
 <context>
     <name>CRoutinoDatabaseBuilder</name>
     <message>
-        <location filename="../tool/CRoutinoDatabaseBuilder.cpp" line="38"/>
+        <location filename="../tool/CRoutinoDatabaseBuilder.cpp" line="32"/>
         <source>Create Routino Database</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tool/CRoutinoDatabaseBuilder.cpp" line="62"/>
+        <location filename="../tool/CRoutinoDatabaseBuilder.cpp" line="56"/>
         <source>Select files...</source>
         <translation type="unfinished">Sélectionnez les fichiers...</translation>
     </message>
     <message>
-        <location filename="../tool/CRoutinoDatabaseBuilder.cpp" line="86"/>
+        <location filename="../tool/CRoutinoDatabaseBuilder.cpp" line="80"/>
         <source>Select target path...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../tool/CRoutinoDatabaseBuilder.cpp" line="147"/>
+        <location filename="../tool/CRoutinoDatabaseBuilder.cpp" line="141"/>
         <source>!!! done !!!
 </source>
         <translation type="unfinished"></translation>
@@ -2477,7 +2482,7 @@ n'est pas une définition de système de coordonnées:
 <context>
     <name>CTextEditWidget</name>
     <message>
-        <location filename="../helpers/CTextEditWidget.cpp" line="73"/>
+        <location filename="../widgets/CTextEditWidget.cpp" line="73"/>
         <source>&Color...</source>
         <translation>&Couleur...</translation>
     </message>
@@ -2490,121 +2495,141 @@ n'est pas une définition de système de coordonnées:
         <translation>À propos...</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="49"/>
+        <location filename="../IAbout.ui" line="55"/>
         <source><b>QMapShack</b>, Version</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="56"/>
-        <location filename="../IAbout.ui" line="100"/>
-        <location filename="../IAbout.ui" line="114"/>
-        <location filename="../IAbout.ui" line="128"/>
-        <location filename="../IAbout.ui" line="142"/>
+        <location filename="../IAbout.ui" line="62"/>
+        <location filename="../IAbout.ui" line="106"/>
+        <location filename="../IAbout.ui" line="120"/>
+        <location filename="../IAbout.ui" line="134"/>
+        <location filename="../IAbout.ui" line="148"/>
         <source>TextLabel</source>
         <translation>Libellé</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="93"/>
+        <location filename="../IAbout.ui" line="99"/>
         <source>Qt</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="107"/>
+        <location filename="../IAbout.ui" line="113"/>
         <source>GDAL</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="121"/>
+        <location filename="../IAbout.ui" line="127"/>
         <source>Proj4</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="135"/>
+        <location filename="../IAbout.ui" line="141"/>
         <source>Routino</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="160"/>
+        <location filename="../IAbout.ui" line="166"/>
         <source>Rainer Unseld </source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="167"/>
+        <location filename="../IAbout.ui" line="173"/>
         <source>French</source>
         <translation>Français</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="174"/>
+        <location filename="../IAbout.ui" line="180"/>
         <source>Czech</source>
         <translation>Tchèque</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="181"/>
+        <location filename="../IAbout.ui" line="187"/>
         <source>Pavel Fric</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="188"/>
+        <location filename="../IAbout.ui" line="194"/>
         <source>German</source>
         <translation>Deutsch</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="195"/>
-        <source>Translation:</source>
-        <translation></translation>
+        <location filename="../IAbout.ui" line="201"/>
+        <source><b>Translation:</b></source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="202"/>
+        <location filename="../IAbout.ui" line="229"/>
+        <source>Dutch</source>
+        <translation type="unfinished">Néerlandais</translation>
+    </message>
+    <message>
+        <location filename="../IAbout.ui" line="236"/>
+        <source>Harrie Klomp</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../IAbout.ui" line="295"/>
+        <source><b>Binaries:</b></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../IAbout.ui" line="311"/>
+        <source><b>Contributors:</b></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../IAbout.ui" line="208"/>
         <source>Josef Latt</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="209"/>
+        <location filename="../IAbout.ui" line="215"/>
         <source>Spanish</source>
         <translation>Espagnol</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="216"/>
+        <location filename="../IAbout.ui" line="222"/>
         <source>Jose Luis Domingo Lopez</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="234"/>
+        <location filename="../IAbout.ui" line="254"/>
         <source>Ivo Kronenberg</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="241"/>
+        <location filename="../IAbout.ui" line="261"/>
         <source>Helmut Schmidt</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="248"/>
+        <location filename="../IAbout.ui" line="268"/>
         <source>Win64</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="255"/>
+        <location filename="../IAbout.ui" line="275"/>
         <source>OS X</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="262"/>
+        <location filename="../IAbout.ui" line="282"/>
         <source>...and thanks to all Linux binary maintainers for doing a great job. Special thanks to Dan Horák and Bas Couwenberg for showing presence on the mailing list to discuss distribution related topics.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="275"/>
-        <source>Binaries:</source>
+        <location filename="../IAbout.ui" line="318"/>
+        <source>Christian Eichler (qms at christian-eichler.de)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="291"/>
+        <location filename="../IAbout.ui" line="332"/>
         <source>This software is licensed under GPL3 or any later version</source>
         <translation>Ce logiciel est distribué sous les termes de la licence GPL3 ou toute version utérieure</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="298"/>
+        <location filename="../IAbout.ui" line="339"/>
         <source>© 2014 Oliver Eichler (oliver.eichler at gmx.de)</source>
         <translation></translation>
     </message>
@@ -2666,7 +2691,7 @@ n'est pas une définition de système de coordonnées:
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../units/ICoordFormatSetup.ui" line="22"/>
+        <location filename="../units/ICoordFormatSetup.ui" line="36"/>
         <source>N48° 53.660 E013° 31.113</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2676,7 +2701,7 @@ n'est pas une définition de système de coordonnées:
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../units/ICoordFormatSetup.ui" line="36"/>
+        <location filename="../units/ICoordFormatSetup.ui" line="22"/>
         <source>N48° 53' 39.6" E13° 31' 6.78"</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2696,11 +2721,56 @@ n'est pas une définition de système de coordonnées:
     </message>
 </context>
 <context>
+    <name>ICutTrk</name>
+    <message>
+        <location filename="../gis/trk/ICutTrk.ui" line="14"/>
+        <source>Cut Track</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/ICutTrk.ui" line="20"/>
+        <source>Delete first part of the track and keep second one</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/ICutTrk.ui" line="27"/>
+        <source>Keep both parts of the track</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/ICutTrk.ui" line="37"/>
+        <source>Keep first part of the track and delete second one</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/ICutTrk.ui" line="60"/>
+        <source>Check this to store the result into a new track. 
+
+If you keep both parts of the track you have to create new ones. 
+
+If you want to keep just one half you can simply remove the points, or check this to create a new track.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/ICutTrk.ui" line="67"/>
+        <source>Create a new track</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Create a clone</source>
+        <translation type="obsolete">Dupliquer l'élément</translation>
+    </message>
+</context>
+<context>
     <name>IDemPathSetup</name>
     <message>
-        <location filename="../dem/IDemPathSetup.ui" line="14"/>
         <source>Setup DEM file pathss</source>
-        <translation>Configurer les répertoires DEM</translation>
+        <translation type="vanished">Configurer les répertoires DEM</translation>
+    </message>
+    <message>
+        <location filename="../dem/IDemPathSetup.ui" line="14"/>
+        <source>Setup DEM file paths</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../dem/IDemPathSetup.ui" line="31"/>
@@ -2758,17 +2828,29 @@ n'est pas une définition de système de coordonnées:
         <translation>Pente </translation>
     </message>
     <message>
-        <location filename="../dem/IDemPropSetup.ui" line="186"/>
-        <location filename="../dem/IDemPropSetup.ui" line="193"/>
-        <location filename="../dem/IDemPropSetup.ui" line="200"/>
-        <location filename="../dem/IDemPropSetup.ui" line="207"/>
         <location filename="../dem/IDemPropSetup.ui" line="226"/>
-        <location filename="../dem/IDemPropSetup.ui" line="245"/>
-        <location filename="../dem/IDemPropSetup.ui" line="264"/>
-        <location filename="../dem/IDemPropSetup.ui" line="271"/>
-        <location filename="../dem/IDemPropSetup.ui" line="278"/>
-        <location filename="../dem/IDemPropSetup.ui" line="297"/>
-        <location filename="../dem/IDemPropSetup.ui" line="304"/>
+        <location filename="../dem/IDemPropSetup.ui" line="326"/>
+        <location filename="../dem/IDemPropSetup.ui" line="410"/>
+        <location filename="../dem/IDemPropSetup.ui" line="494"/>
+        <location filename="../dem/IDemPropSetup.ui" line="578"/>
+        <source>°</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../dem/IDemPropSetup.ui" line="229"/>
+        <location filename="../dem/IDemPropSetup.ui" line="329"/>
+        <location filename="../dem/IDemPropSetup.ui" line="413"/>
+        <location filename="../dem/IDemPropSetup.ui" line="497"/>
+        <location filename="../dem/IDemPropSetup.ui" line="581"/>
+        <source>> </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../dem/IDemPropSetup.ui" line="251"/>
+        <location filename="../dem/IDemPropSetup.ui" line="270"/>
+        <location filename="../dem/IDemPropSetup.ui" line="354"/>
+        <location filename="../dem/IDemPropSetup.ui" line="438"/>
+        <location filename="../dem/IDemPropSetup.ui" line="522"/>
         <source>TextLabel</source>
         <translation>Libellé</translation>
     </message>
@@ -3021,7 +3103,7 @@ n'est pas une définition de système de coordonnées:
         <translation type="unfinished">...</translation>
     </message>
     <message>
-        <location filename="../gis/rte/IDetailsRte.ui" line="173"/>
+        <location filename="../gis/rte/IDetailsRte.ui" line="176"/>
         <source>Hist.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -3042,118 +3124,165 @@ n'est pas une définition de système de coordonnées:
         <translation></translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="377"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="266"/>
         <source>Info</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="277"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="166"/>
         <source>...</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="203"/>
         <source>Graph Control</source>
-        <translation>Contrôle du graphe</translation>
+        <translation type="vanished">Contrôle du graphe</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="224"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="533"/>
         <source>Profile</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="231"/>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="545"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="702"/>
         <source>Speed</source>
         <translation>Vitesse</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="238"/>
         <source>Progress</source>
-        <translation>Progrès</translation>
+        <translation type="vanished">Progrès</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="248"/>
         <source>Track</source>
-        <translation>Trace</translation>
+        <translation type="vanished">Trace</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="274"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="163"/>
         <source>Toggle read only mode. You have to open the lock to edit the item.</source>
         <translation>Inverser le mode lecture seule. Ouvrez le cadenas pour pouvoir éditer l'objet.</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="307"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="202"/>
         <source><html><head/><body><p>The waypoint was imported to QMapShack and was changed. It does not show the original data anymore. Please see history for changes. </p></body></html></source>
         <translation><html><head/><body><p>Le waypoint a été importé dans QMapShack et a été modifié. Il ne représente plus les données originales. Veuillez consulter l'historique pour voir les modifications. </p></body></html></translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="335"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="227"/>
         <source>-</source>
         <translation></translation>
     </message>
     <message>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="298"/>
+        <source>Style</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="340"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="434"/>
+        <source>from Data</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="353"/>
+        <source>Source</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="376"/>
+        <source>Maximum</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <location filename="../gis/trk/IDetailsTrk.ui" line="405"/>
+        <source>Minimum</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="447"/>
+        <source>Solid color</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="495"/>
+        <source>Graphs</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="540"/>
+        <source>Graph 3</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="547"/>
+        <source>Graph 2</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="554"/>
+        <source>Graph 1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="562"/>
         <source>Activity</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="450"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="607"/>
         <source>To differentiate the track statistics select an activity from the list for the complete track. Or select a part of the track to assign an activity.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="477"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="634"/>
         <source>Points</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="525"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="682"/>
         <source>Time</source>
         <translation>Durée</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="530"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="687"/>
         <source>Ele.</source>
         <translation>Alt.</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="535"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="692"/>
         <source>Delta</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="540"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="697"/>
         <source>Dist.</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="550"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="707"/>
         <source>Slope</source>
         <translation>Pente</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="555"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="712"/>
         <source>Ascend</source>
         <translation>Montée</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="560"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="717"/>
         <source>Descend</source>
         <translation>Descente</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="565"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="722"/>
         <source>Position</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="574"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="731"/>
         <source>Filter</source>
         <translation>Filtre</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="611"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="768"/>
         <source>Hist.</source>
         <translation></translation>
     </message>
@@ -3322,6 +3451,29 @@ n'est pas une définition de système de coordonnées:
     </message>
 </context>
 <context>
+    <name>IFilterInvalid</name>
+    <message>
+        <location filename="../gis/trk/filter/IFilterInvalid.ui" line="14"/>
+        <source>Form</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/filter/IFilterInvalid.ui" line="41"/>
+        <source>Hide Invalid Points</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/filter/IFilterInvalid.ui" line="56"/>
+        <source>Hide points with invalid coordinates at the beginning of the track.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/filter/IFilterInvalid.ui" line="63"/>
+        <source>...</source>
+        <translation type="unfinished">...</translation>
+    </message>
+</context>
+<context>
     <name>IFilterMedian</name>
     <message>
         <location filename="../gis/trk/filter/IFilterMedian.ui" line="14"/>
@@ -4165,62 +4317,62 @@ Je n'ai pas envie de lire la documentation !</translation>
         <translation type="obsolete">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>
     <message>
-        <location filename="../mouse/line/IMouseEditLine.cpp" line="253"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="255"/>
         <source><b>New Line</b><br/>Move the mouse and use the left mouse button to drop points. When done use the right mouse button to stop.<br/></source>
         <translation><b>Nouvelle ligne</b><br/>Déplacez la souris et utilisez le bouton gauche pour ajouter des points. Cliquez droit pour terminer.<br/></translation>
     </message>
     <message>
-        <location filename="../mouse/line/IMouseEditLine.cpp" line="293"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="302"/>
         <source><b>Delete Point</b><br/>Move the mouse close to a point and press the left button to delete it.<br/></source>
         <translation><b>Supprimer un point</b><br/>Approchez le pointeur du point et cliquez gauche pour le supprimer.<br/></translation>
     </message>
     <message>
-        <location filename="../mouse/line/IMouseEditLine.cpp" line="302"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="311"/>
         <source><b>Select Range of Points</b><br/>Left click on first point to start selection. Left click second point to complete selection and choose from options. Use the right mouse button to cancel.<br/></source>
         <translation><b>Sélectionner une série de points</b><br/> Pour commencer la sélection, cliquez gauche sur le premier point. Cliquez gauche sur le sur le deuxième point pour terminer la sélection et choisissez une option. Utilisez le bouton droit pour annuler.<br/></translation>
     </message>
     <message>
-        <location filename="../mouse/line/IMouseEditLine.cpp" line="311"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="320"/>
         <source><b>Move Point</b><br/>Move the mouse close to a point and press the left button to make it stick to the cursor. Move the mouse to move the point. Drop the point by a left click. Use the right mouse button to cancel.<br/></source>
         <translation><b>Déplacer un point</b><br/>Approchez le pointeur près d'un point et cliquez gauche pour le coller au pointeur. Déplacez le point avec la souris. Déposez le point avec un clic gauche. Utilisez le bouton droit pour annuler.<br/></translation>
     </message>
     <message>
-        <location filename="../mouse/line/IMouseEditLine.cpp" line="320"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="329"/>
         <source><b>Add Point</b><br/>Move the mouse close to a line segment and press the left button to add a point. The point will stick to the cursor and you can move it.  Drop the point by a left click. Use the right mouse button to cancel.<br/></source>
         <translation><b>Ajouter un point</b><br/>Placez le pointeur de la souris près d'un segment de ligne et cliquez gauche pour ajouter un point. Le nouveau point va coller au pointeur et vous pouvez le déplacer. Déposez le point par un clic gauche. Utilisez le clic droit pour annuler.<br/></translation>
     </message>
     <message>
-        <location filename="../mouse/line/IMouseEditLine.cpp" line="329"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="338"/>
         <source><b>No Routing</b><br/>All points will be connected with a straight line.<br/></source>
         <translation><b>Aucun calcul d'itinéraire</b><br/>Les points seront connectés par une ligne droite.<br/></translation>
     </message>
     <message>
-        <location filename="../mouse/line/IMouseEditLine.cpp" line="334"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="343"/>
         <source><b>Auto Routing</b><br/>The current router setup is used to derive a route between points. <b>Note:</b> The selected router must be able to route on-the-fly. Offline routers usually can do, online routers can't.<br/></source>
         <translation><b>Calcul d'itinéraire automatique</b><br/>Les paramètres de calcul d'itinéraire actuels serviront pour calculer un tracé entre les points. <b>Remarque :</b>Le routeur sélectionné doit être capable de faire le calcul à la volée. Généralement, les routeurs hors ligne en sont capables, les routeurs en ligne ne le sont pas.<br/></translation>
     </message>
     <message>
-        <location filename="../mouse/line/IMouseEditLine.cpp" line="339"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="348"/>
         <source><b>Vector Routing</b><br/>Connect points with a line from a loaded vector map if possible.<br/></source>
         <translation><b>Calcul d'itinéraire vecteur</b><br/>Connecter les points avec une ligne basée sur une carte vecteur active, si possible.<br/></translation>
     </message>
     <message>
-        <location filename="../mouse/line/IMouseEditLine.cpp" line="498"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="517"/>
         <source><b>%1 Metrics</b></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mouse/line/IMouseEditLine.cpp" line="501"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="520"/>
         <source>Distance:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mouse/line/IMouseEditLine.cpp" line="503"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="522"/>
         <source>Ascend:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mouse/line/IMouseEditLine.cpp" line="505"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="524"/>
         <source>Descend:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4228,13 +4380,13 @@ Je n'ai pas envie de lire la documentation !</translation>
 <context>
     <name>IPhotoAlbum</name>
     <message>
-        <location filename="../helpers/IPhotoAlbum.ui" line="20"/>
+        <location filename="../widgets/IPhotoAlbum.ui" line="20"/>
         <source>Form</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../helpers/IPhotoAlbum.ui" line="50"/>
-        <location filename="../helpers/IPhotoAlbum.ui" line="77"/>
+        <location filename="../widgets/IPhotoAlbum.ui" line="50"/>
+        <location filename="../widgets/IPhotoAlbum.ui" line="77"/>
         <source>...</source>
         <translation></translation>
     </message>
@@ -4242,28 +4394,28 @@ Je n'ai pas envie de lire la documentation !</translation>
 <context>
     <name>IPlot</name>
     <message>
-        <location filename="../plot/IPlot.cpp" line="110"/>
+        <location filename="../plot/IPlot.cpp" line="91"/>
         <source>Reset Zoom</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../plot/IPlot.cpp" line="111"/>
+        <location filename="../plot/IPlot.cpp" line="92"/>
         <source>Stop Range</source>
         <translatorcomment>tbc: range</translatorcomment>
         <translation>Terminer la série</translation>
     </message>
     <message>
-        <location filename="../plot/IPlot.cpp" line="112"/>
+        <location filename="../plot/IPlot.cpp" line="93"/>
         <source>Save...</source>
         <translation>Enregistrer...</translation>
     </message>
     <message>
-        <location filename="../plot/IPlot.cpp" line="630"/>
+        <location filename="../plot/IPlot.cpp" line="613"/>
         <source>No or bad data.</source>
         <translation>Aucune donnée ou données invalides.</translation>
     </message>
     <message>
-        <location filename="../plot/IPlot.cpp" line="1215"/>
+        <location filename="../plot/IPlot.cpp" line="1200"/>
         <source>Select output file</source>
         <translation>Sélectionner le fichier de sortie</translation>
     </message>
@@ -4835,8 +4987,12 @@ or
     </message>
     <message>
         <location filename="../mouse/line/IScrOptRangeLine.ui" line="34"/>
+        <source><html><head/><body><p>Calculate a route between the first and last selected point.</p></body></html></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <source>Caclculate a route between the first and last selected point.</source>
-        <translation>Calcluler un itinéraire entre le premier et le dernier point sélectionné.</translation>
+        <translation type="vanished">Calcluler un itinéraire entre le premier et le dernier point sélectionné.</translation>
     </message>
 </context>
 <context>
@@ -4892,18 +5048,18 @@ or
         <translation type="obsolete"><html><head/><body><p>Afficher et éditer les détails</p></body></html></translation>
     </message>
     <message>
-        <location filename="../gis/rte/IScrOptRte.ui" line="28"/>
-        <location filename="../gis/rte/IScrOptRte.ui" line="42"/>
-        <location filename="../gis/rte/IScrOptRte.ui" line="56"/>
-        <location filename="../gis/rte/IScrOptRte.ui" line="74"/>
-        <location filename="../gis/rte/IScrOptRte.ui" line="91"/>
-        <location filename="../gis/rte/IScrOptRte.ui" line="105"/>
-        <location filename="../gis/rte/IScrOptRte.ui" line="119"/>
+        <location filename="../gis/rte/IScrOptRte.ui" line="43"/>
+        <location filename="../gis/rte/IScrOptRte.ui" line="57"/>
+        <location filename="../gis/rte/IScrOptRte.ui" line="71"/>
+        <location filename="../gis/rte/IScrOptRte.ui" line="89"/>
+        <location filename="../gis/rte/IScrOptRte.ui" line="106"/>
+        <location filename="../gis/rte/IScrOptRte.ui" line="120"/>
+        <location filename="../gis/rte/IScrOptRte.ui" line="134"/>
         <source>...</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../gis/rte/IScrOptRte.ui" line="39"/>
+        <location filename="../gis/rte/IScrOptRte.ui" line="54"/>
         <source>Copy route into another project.</source>
         <translation>Copier la route dans un autre projet.</translation>
     </message>
@@ -4912,22 +5068,22 @@ or
         <translation type="obsolete"><html><head/><body><p>Supprimer</p></body></html></translation>
     </message>
     <message>
-        <location filename="../gis/rte/IScrOptRte.ui" line="25"/>
+        <location filename="../gis/rte/IScrOptRte.ui" line="40"/>
         <source>View details and edit.</source>
         <translation>Voir les détails et éditer.</translation>
     </message>
     <message>
-        <location filename="../gis/rte/IScrOptRte.ui" line="53"/>
+        <location filename="../gis/rte/IScrOptRte.ui" line="68"/>
         <source>Delete route from project.</source>
         <translation>Supprimer la route du projet.</translation>
     </message>
     <message>
-        <location filename="../gis/rte/IScrOptRte.ui" line="88"/>
+        <location filename="../gis/rte/IScrOptRte.ui" line="103"/>
         <source>Calculate route.</source>
         <translation>Calculer la route.</translation>
     </message>
     <message>
-        <location filename="../gis/rte/IScrOptRte.ui" line="102"/>
+        <location filename="../gis/rte/IScrOptRte.ui" line="117"/>
         <source>Reset route calculation.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4936,12 +5092,12 @@ or
         <translation type="obsolete">Réinitialiser la route.</translation>
     </message>
     <message>
-        <location filename="../gis/rte/IScrOptRte.ui" line="116"/>
+        <location filename="../gis/rte/IScrOptRte.ui" line="131"/>
         <source>Move route points.</source>
         <translation>Déplacer les points de la route.</translation>
     </message>
     <message>
-        <location filename="../gis/rte/IScrOptRte.ui" line="145"/>
+        <location filename="../gis/rte/IScrOptRte.ui" line="160"/>
         <source>TextLabel</source>
         <translation>Libellé</translation>
     </message>
@@ -4966,7 +5122,7 @@ or
         <location filename="../gis/trk/IScrOptTrk.ui" line="123"/>
         <location filename="../gis/trk/IScrOptTrk.ui" line="137"/>
         <location filename="../gis/trk/IScrOptTrk.ui" line="151"/>
-        <location filename="../gis/trk/IScrOptTrk.ui" line="165"/>
+        <location filename="../gis/trk/IScrOptTrk.ui" line="170"/>
         <source>...</source>
         <translation></translation>
     </message>
@@ -5016,11 +5172,20 @@ or
     </message>
     <message>
         <location filename="../gis/trk/IScrOptTrk.ui" line="162"/>
+        <source>Cut track at selected point. You can use this to:
+
+* remove bad points at the start or end of the track
+* use the track parts to plan a new tour
+* cut a long track into stages
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <source>Cut track at selected point into two tracks.</source>
-        <translation>Couper la trace en deux au point sélectionné</translation>
+        <translation type="vanished">Couper la trace en deux au point sélectionné</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IScrOptTrk.ui" line="191"/>
+        <location filename="../gis/trk/IScrOptTrk.ui" line="196"/>
         <source>TextLabel</source>
         <translation>Libellé</translation>
     </message>
@@ -5162,7 +5327,7 @@ or
         <translation>Le nom de la copie aura le suffixe '_Clone'</translation>
     </message>
     <message>
-        <location filename="../helpers/ISelectCopyAction.ui" line="132"/>
+        <location filename="../helpers/ISelectCopyAction.ui" line="135"/>
         <source>And for all other items, too.</source>
         <translation>et pour tous les autres éléments</translation>
     </message>
@@ -5391,144 +5556,144 @@ or
 <context>
     <name>ITextEditWidget</name>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="14"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="14"/>
         <source>Edit text...</source>
         <translation>Éditer le texte...</translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="25"/>
-        <location filename="../helpers/ITextEditWidget.ui" line="38"/>
-        <location filename="../helpers/ITextEditWidget.ui" line="51"/>
-        <location filename="../helpers/ITextEditWidget.ui" line="64"/>
-        <location filename="../helpers/ITextEditWidget.ui" line="77"/>
-        <location filename="../helpers/ITextEditWidget.ui" line="97"/>
-        <location filename="../helpers/ITextEditWidget.ui" line="110"/>
-        <location filename="../helpers/ITextEditWidget.ui" line="123"/>
-        <location filename="../helpers/ITextEditWidget.ui" line="136"/>
-        <location filename="../helpers/ITextEditWidget.ui" line="169"/>
-        <location filename="../helpers/ITextEditWidget.ui" line="182"/>
-        <location filename="../helpers/ITextEditWidget.ui" line="195"/>
-        <location filename="../helpers/ITextEditWidget.ui" line="208"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="25"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="38"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="51"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="64"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="77"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="97"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="110"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="123"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="136"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="169"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="182"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="195"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="208"/>
         <source>...</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="256"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="256"/>
         <source>Undo</source>
         <translation>Annuler</translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="259"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="259"/>
         <source>Ctrl+Z</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="268"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="268"/>
         <source>Redo</source>
         <translation>Répéter</translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="271"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="271"/>
         <source>Ctrl+Shift+Z</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="280"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="280"/>
         <source>Cut</source>
         <translation>Couper</translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="283"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="283"/>
         <source>Ctrl+X</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="292"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="292"/>
         <source>Copy</source>
         <translation>Copier</translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="295"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="295"/>
         <source>Ctrl+C</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="304"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="304"/>
         <source>Paste</source>
         <translation>Coller</translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="307"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="307"/>
         <source>Ctrl+V</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="319"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="319"/>
         <source>Align Left</source>
         <translation>Aligné à gauche</translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="322"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="322"/>
         <source>Ctrl+L</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="334"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="334"/>
         <source>Align Right</source>
         <translation>Aligné à droite</translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="337"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="337"/>
         <source>Ctrl+R</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="349"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="349"/>
         <source>Align Center</source>
         <translation>Centré</translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="352"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="352"/>
         <source>Ctrl+E</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="364"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="364"/>
         <source>Align Block</source>
         <translation>Justifié</translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="367"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="367"/>
         <source>Ctrl+J</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="379"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="379"/>
         <source>Underline</source>
         <translation>Soulignage</translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="382"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="382"/>
         <source>Ctrl+U</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="394"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="394"/>
         <source>Bold</source>
         <translation>Gras</translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="397"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="397"/>
         <source>Ctrl+B</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="409"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="409"/>
         <source>Italic</source>
         <translation>Italique</translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="412"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="412"/>
         <source>Ctrl+I</source>
         <translation></translation>
     </message>
@@ -5574,7 +5739,36 @@ or
 <context>
     <name>IToolShell</name>
     <message>
-        <location filename="../tool/IToolShell.cpp" line="127"/>
+        <location filename="../tool/IToolShell.cpp" line="44"/>
+        <source>Execution of external program `%1` failed: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tool/IToolShell.cpp" line="48"/>
+        <source>Process cannot be started.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tool/IToolShell.cpp" line="49"/>
+        <source>Make sure the required packages are installed, `%1` exists and is executable.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tool/IToolShell.cpp" line="53"/>
+        <source>External process crashed.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tool/IToolShell.cpp" line="57"/>
+        <source>An unknown error occurred.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tool/IToolShell.cpp" line="148"/>
         <source>!!! failed !!!
 </source>
         <translation type="unfinished">!!! échec !!!</translation>
@@ -5588,17 +5782,22 @@ or
         <translation>Configurer les unités</translation>
     </message>
     <message>
-        <location filename="../units/IUnitsSetup.ui" line="22"/>
+        <location filename="../units/IUnitsSetup.ui" line="38"/>
         <source>Metric</source>
         <translation>Métrique</translation>
     </message>
     <message>
-        <location filename="../units/IUnitsSetup.ui" line="29"/>
+        <location filename="../units/IUnitsSetup.ui" line="47"/>
+        <source><b>Note:</b> For some GUI elements changing the units will not take effect until you restart QMapShack.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../units/IUnitsSetup.ui" line="31"/>
         <source>Imperial</source>
         <translation>Impérial</translation>
     </message>
     <message>
-        <location filename="../units/IUnitsSetup.ui" line="36"/>
+        <location filename="../units/IUnitsSetup.ui" line="24"/>
         <source>Nautic</source>
         <translation>Nautique</translation>
     </message>
@@ -5614,7 +5813,7 @@ or
 <context>
     <name>QObject</name>
     <message>
-        <location filename="../device/CDeviceGarmin.cpp" line="207"/>
+        <location filename="../device/CDeviceGarmin.cpp" line="204"/>
         <source>Picture%1</source>
         <translation>Image%1</translation>
     </message>
@@ -5635,23 +5834,23 @@ or
         <translation>Valeurs de la position hors de la plage autorisée.</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListDB.cpp" line="437"/>
+        <location filename="../gis/CGisListDB.cpp" line="436"/>
         <source>Are you sure you want to delete '%1' from folder '%2'?</source>
         <translation>Êtes-vous sûr de vouloir supprimer %1 du dossier %2?</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListDB.cpp" line="438"/>
-        <location filename="../gis/prj/IGisProject.cpp" line="439"/>
+        <location filename="../gis/CGisListDB.cpp" line="437"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="424"/>
         <source>Delete...</source>
         <translation>Supprimer...</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="1097"/>
+        <location filename="../gis/CGisListWks.cpp" line="1098"/>
         <source>Delete project...</source>
         <translation>Supprimer le projet</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="1097"/>
+        <location filename="../gis/CGisListWks.cpp" line="1098"/>
         <source>Do you really want to delete %1?</source>
         <translation>Êtes-vous sûr de vouloir supprimer %1?</translation>
     </message>
@@ -5673,15 +5872,15 @@ or
         <translation>Perdu & Trouvé</translation>
     </message>
     <message>
-        <location filename="../gis/db/CDBProject.cpp" line="151"/>
-        <location filename="../gis/gpx/CGpxProject.cpp" line="223"/>
+        <location filename="../gis/db/CDBProject.cpp" line="158"/>
+        <location filename="../gis/gpx/CGpxProject.cpp" line="222"/>
         <location filename="../gis/qms/CQmsProject.cpp" line="95"/>
         <location filename="../gis/tnv/CTwoNavProject.cpp" line="159"/>
         <source>Save GIS data to...</source>
         <translation>Enregistrer les données SIG dans...</translation>
     </message>
     <message>
-        <location filename="../gis/db/CDBProject.cpp" line="255"/>
+        <location filename="../gis/db/CDBProject.cpp" line="262"/>
         <source>Save ...</source>
         <translation>Enregistrer...</translation>
     </message>
@@ -5692,14 +5891,14 @@ or
     <message>
         <location filename="../gis/gpx/CGpxProject.cpp" line="98"/>
         <location filename="../gis/qms/CQmsProject.cpp" line="48"/>
-        <location filename="../gis/qms/CQmsProject.cpp" line="145"/>
+        <location filename="../gis/qms/CQmsProject.cpp" line="144"/>
         <source>Failed to open...</source>
         <translation>Impossible d'ouvrir...</translation>
     </message>
     <message>
         <location filename="../gis/gpx/CGpxProject.cpp" line="98"/>
         <location filename="../gis/qms/CQmsProject.cpp" line="48"/>
-        <location filename="../gis/qms/CQmsProject.cpp" line="145"/>
+        <location filename="../gis/qms/CQmsProject.cpp" line="144"/>
         <source>Failed to open %1</source>
         <translation>Impossible d'ouvrir %1</translation>
     </message>
@@ -5724,47 +5923,51 @@ ligne %2, colonne %3:
         <translation>N'est pas un fichier GPX:</translation>
     </message>
     <message>
-        <location filename="../gis/gpx/CGpxProject.cpp" line="298"/>
+        <location filename="../gis/gpx/CGpxProject.cpp" line="286"/>
         <source>File exists ...</source>
         <translation>Le fichier existe...</translation>
     </message>
     <message>
-        <location filename="../gis/gpx/CGpxProject.cpp" line="299"/>
+        <location filename="../gis/gpx/CGpxProject.cpp" line="287"/>
         <source>The file exists and it has not been created by QMapShack. If you press 'yes' all data in this file will be lost. Even if this file contains GPX data and has been loaded by QMapShack, QMapShack might not be able to load and store all elements of this file.  Those elements will be lost. I recommend to use another file. <b>Do you really want to overwrite the file?</b></source>
         <translation>Le fichier existe et n'a pas été créé par QMapShack. Si vous cliquez sur 'oui' tous les données de ce fichier seront perdues. Même si ce fichier contient des données GPX et sera ouvert par QMapShack certains éléments de ce fichier ne pourront pas être lus ou enregistrés. Ces élements seront perdus. Il est conseillé d'utiliser un autre fichier.<b>Voulez-vous vraiment écraser ce fichier ?</b> </translation>
     </message>
     <message>
-        <location filename="../gis/gpx/CGpxProject.cpp" line="407"/>
+        <location filename="../gis/gpx/CGpxProject.cpp" line="395"/>
         <source>Failed to create file '%1'</source>
         <translation>Impossible de créer le fichier: '%1'</translation>
     </message>
     <message>
-        <location filename="../gis/gpx/CGpxProject.cpp" line="416"/>
+        <location filename="../gis/gpx/CGpxProject.cpp" line="405"/>
         <source>Failed to write file '%1'</source>
         <translation>Impossible d'écrire le fichier: '%1'</translation>
     </message>
     <message>
-        <location filename="../gis/gpx/CGpxProject.cpp" line="421"/>
+        <location filename="../gis/gpx/CGpxProject.cpp" line="410"/>
+        <source>Saving GIS data failed...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <source>Saveing GIS data failed...</source>
-        <translation>Impossible d'enregistrer les données SIG...</translation>
+        <translation type="vanished">Impossible d'enregistrer les données SIG...</translation>
     </message>
     <message>
-        <location filename="../gis/gpx/serialization.cpp" line="691"/>
+        <location filename="../gis/gpx/serialization.cpp" line="582"/>
         <source>Archived</source>
         <translation>Archivé</translation>
     </message>
     <message>
-        <location filename="../gis/gpx/serialization.cpp" line="695"/>
+        <location filename="../gis/gpx/serialization.cpp" line="586"/>
         <source>Available</source>
         <translation>Disponible</translation>
     </message>
     <message>
-        <location filename="../gis/gpx/serialization.cpp" line="699"/>
+        <location filename="../gis/gpx/serialization.cpp" line="590"/>
         <source>Not Available</source>
         <translation>Non disponible</translation>
     </message>
     <message>
-        <location filename="../gis/IGisItem.cpp" line="327"/>
+        <location filename="../gis/IGisItem.cpp" line="345"/>
         <source>Initial version.</source>
         <translation>Version initiale</translation>
     </message>
@@ -5773,139 +5976,138 @@ ligne %2, colonne %3:
         <translation type="obsolete">Cet élément est probablement en lecture seule parce qu'il n'a pas été créé avec QMapShack. Normelement, vous ne devriez pas modifier des données importées. Mais si vous êtes sûr de ce que vous faites, cliquez sur 'OK'</translation>
     </message>
     <message>
-        <location filename="../gis/IGisItem.cpp" line="436"/>
+        <location filename="../gis/IGisItem.cpp" line="453"/>
+        <source><h3>%1</h3> This element is probably read-only because it was not created within QMapShack. Usually you should not want to change imported data. But if you think that is ok press 'Ok'.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/IGisItem.cpp" line="454"/>
         <source>Read Only Mode...</source>
         <translation>Mode lecture seule</translation>
     </message>
     <message>
-        <location filename="../gis/IGisItem.cpp" line="667"/>
+        <location filename="../gis/IGisItem.cpp" line="615"/>
         <source><h4>Comment:</h4></source>
         <translation><h4>Commentaire:</h4></translation>
     </message>
     <message>
-        <location filename="../gis/IGisItem.cpp" line="670"/>
+        <location filename="../gis/IGisItem.cpp" line="618"/>
         <source><p>--- no comment ---</p></source>
         <translation><p>--- pas de commentaire ---</p></translation>
     </message>
     <message>
-        <location filename="../gis/IGisItem.cpp" line="653"/>
-        <location filename="../gis/IGisItem.cpp" line="712"/>
+        <location filename="../gis/IGisItem.cpp" line="601"/>
+        <location filename="../gis/IGisItem.cpp" line="660"/>
         <source><h4>Description:</h4></source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../gis/IGisItem.cpp" line="41"/>
+        <location filename="../gis/IGisItem.cpp" line="42"/>
         <source>[no name]</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/IGisItem.cpp" line="435"/>
-        <source><h3>%1</h3> This element is probably read-only because it was not created within QMapShack. Usually you should not want to change imported data. But if you think that is ok press'Ok'.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../gis/IGisItem.cpp" line="656"/>
-        <location filename="../gis/IGisItem.cpp" line="715"/>
+        <location filename="../gis/IGisItem.cpp" line="604"/>
+        <location filename="../gis/IGisItem.cpp" line="663"/>
         <source><p>--- no description ---</p></source>
         <translation><p>--- pas de description ---</p></translation>
     </message>
     <message>
-        <location filename="../gis/IGisItem.cpp" line="681"/>
-        <location filename="../gis/IGisItem.cpp" line="726"/>
+        <location filename="../gis/IGisItem.cpp" line="629"/>
+        <location filename="../gis/IGisItem.cpp" line="674"/>
         <source><h4>Links:</h4></source>
         <translation><h4>Liens:</h4></translation>
     </message>
     <message>
-        <location filename="../gis/IGisItem.cpp" line="684"/>
-        <location filename="../gis/IGisItem.cpp" line="729"/>
+        <location filename="../gis/IGisItem.cpp" line="632"/>
+        <location filename="../gis/IGisItem.cpp" line="677"/>
         <source><p>--- no links ---</p></source>
         <translation><p>--- pas de liens ---</p></translation>
     </message>
     <message>
-        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="95"/>
+        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="96"/>
         <source>thin</source>
         <translation>fine</translation>
     </message>
     <message>
-        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="96"/>
+        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="97"/>
         <source>normal</source>
         <translation>normal</translation>
     </message>
     <message>
-        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="97"/>
+        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="98"/>
         <source>wide</source>
         <translation>large</translation>
     </message>
     <message>
-        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="98"/>
+        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="99"/>
         <source>strong</source>
         <translation>épaisse</translation>
     </message>
     <message>
-        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="142"/>
-        <location filename="../gis/rte/CGisItemRte.cpp" line="67"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="193"/>
-        <location filename="../gis/wpt/CGisItemWpt.cpp" line="130"/>
+        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="138"/>
+        <location filename="../gis/rte/CGisItemRte.cpp" line="63"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="124"/>
+        <location filename="../gis/wpt/CGisItemWpt.cpp" line="92"/>
         <source>_Clone</source>
         <translation>_Clone</translation>
     </message>
     <message>
-        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="446"/>
+        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="431"/>
         <source>Area: %1%2</source>
         <translation>Surface: %1%2</translation>
     </message>
     <message>
-        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="508"/>
+        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="493"/>
         <source>Changed area shape.</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="516"/>
-        <location filename="../gis/rte/CGisItemRte.cpp" line="245"/>
+        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="501"/>
+        <location filename="../gis/rte/CGisItemRte.cpp" line="221"/>
         <source>Changed name.</source>
         <translation>Nom modifié...</translation>
     </message>
     <message>
-        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="522"/>
+        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="507"/>
         <source>Changed border width.</source>
         <translation>Largeur de la bordure modifiée...</translation>
     </message>
     <message>
-        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="528"/>
+        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="513"/>
         <source>Changed fill pattern.</source>
         <translation>Remplissage modifié...</translation>
     </message>
     <message>
-        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="534"/>
+        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="519"/>
         <source>Changed opacity.</source>
         <translation>Opacité modifiée...</translation>
     </message>
     <message>
-        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="540"/>
+        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="525"/>
         <source>Changed comment.</source>
         <translation>Commentaire modifié...</translation>
     </message>
     <message>
-        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="546"/>
+        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="531"/>
         <source>Changed description.</source>
         <translation>Description modifiée...</translation>
     </message>
     <message>
-        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="552"/>
-        <location filename="../gis/rte/CGisItemRte.cpp" line="263"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1839"/>
-        <location filename="../gis/wpt/CGisItemWpt.cpp" line="456"/>
+        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="537"/>
+        <location filename="../gis/rte/CGisItemRte.cpp" line="239"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="2059"/>
+        <location filename="../gis/wpt/CGisItemWpt.cpp" line="366"/>
         <source>Changed links</source>
         <translation>Liens modifiés...</translation>
     </message>
     <message>
-        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="564"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1851"/>
+        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="549"/>
         <source>Changed color</source>
         <translation>Couleur modifiée...</translation>
     </message>
     <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="112"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="97"/>
         <source>Save project?</source>
         <translation>Enregistrer le projet ?</translation>
     </message>
@@ -5914,7 +6116,7 @@ ligne %2, colonne %3:
         <translation type="obsolete">Le projet "%1" a été modifié. Enregistrer avant de le fermer ?</translation>
     </message>
     <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="252"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="237"/>
         <source>%1: Correlate tracks and waypoints.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5923,79 +6125,79 @@ ligne %2, colonne %3:
         <translation type="obsolete">Annuler</translation>
     </message>
     <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="112"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="97"/>
         <source><h3>%1</h3>The project was changed. Save before closing it?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="262"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="247"/>
         <source><h3>%1</h3>Did that take too long for you? Do you want to skip correlation of tracks and waypoints for this project in the future?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="263"/>
-        <source>Cancelled correlation...</source>
+        <location filename="../gis/prj/IGisProject.cpp" line="248"/>
+        <source>Canceled correlation...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="341"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="326"/>
         <source><br/>
 Filename: %1</source>
         <translation><br/>
 Nom de fichier: %1</translation>
     </message>
     <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="346"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="331"/>
         <source>Waypoints: %1</source>
         <translation>Waypoints: %1</translation>
     </message>
     <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="350"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="335"/>
         <source>Tracks: %1</source>
         <translation>Traces: %1</translation>
     </message>
     <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="354"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="339"/>
         <source>Routes: %1</source>
         <translation>Routes: %1</translation>
     </message>
     <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="358"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="343"/>
         <source>Areas: %1</source>
         <translation>Surfaces: %1</translation>
     </message>
     <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="438"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="423"/>
         <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="251"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1827"/>
-        <location filename="../gis/wpt/CGisItemWpt.cpp" line="444"/>
+        <location filename="../gis/rte/CGisItemRte.cpp" line="227"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="2047"/>
+        <location filename="../gis/wpt/CGisItemWpt.cpp" line="354"/>
         <source>Changed comment</source>
         <translation>Commentaire modifié</translation>
     </message>
     <message>
-        <location filename="../gis/rte/CGisItemRte.cpp" line="257"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1833"/>
-        <location filename="../gis/wpt/CGisItemWpt.cpp" line="450"/>
+        <location filename="../gis/rte/CGisItemRte.cpp" line="233"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="2053"/>
+        <location filename="../gis/wpt/CGisItemWpt.cpp" line="360"/>
         <source>Changed description</source>
         <translation>Description modifiée</translation>
     </message>
     <message>
-        <location filename="../gis/rte/CGisItemRte.cpp" line="290"/>
+        <location filename="../gis/rte/CGisItemRte.cpp" line="266"/>
         <source>Length: -</source>
         <translation>Longueur: -</translation>
     </message>
     <message>
-        <location filename="../gis/rte/CGisItemRte.cpp" line="297"/>
-        <location filename="../gis/rte/CGisItemRte.cpp" line="481"/>
+        <location filename="../gis/rte/CGisItemRte.cpp" line="273"/>
+        <location filename="../gis/rte/CGisItemRte.cpp" line="456"/>
         <source>Time: %1 %2</source>
         <translation type="unfinished">Durée: %1 %2</translation>
     </message>
     <message>
-        <location filename="../gis/rte/CGisItemRte.cpp" line="483"/>
+        <location filename="../gis/rte/CGisItemRte.cpp" line="458"/>
         <source>Distance: %1 %2</source>
         <translation type="unfinished"></translation>
     </message>
@@ -6004,303 +6206,319 @@ Nom de fichier: %1</translation>
         <translation type="obsolete">Durée : %2 jours %1</translation>
     </message>
     <message>
-        <location filename="../gis/rte/CGisItemRte.cpp" line="301"/>
+        <location filename="../gis/rte/CGisItemRte.cpp" line="277"/>
         <source>Time: -</source>
         <translatorcomment>tbc: heure/temps/durée</translatorcomment>
         <translation>Heure : -</translation>
     </message>
     <message>
-        <location filename="../gis/rte/CGisItemRte.cpp" line="307"/>
+        <location filename="../gis/rte/CGisItemRte.cpp" line="283"/>
         <source>Last time routed:<br/>%1</source>
         <translatorcomment>tbc</translatorcomment>
         <translation>Date du dernier calcul d'itinéraire : <br/>%1</translation>
     </message>
     <message>
-        <location filename="../gis/rte/CGisItemRte.cpp" line="309"/>
+        <location filename="../gis/rte/CGisItemRte.cpp" line="285"/>
         <source>with %1</source>
         <translation>avec %1</translation>
     </message>
     <message>
-        <location filename="../gis/rte/CGisItemRte.cpp" line="612"/>
+        <location filename="../gis/rte/CGisItemRte.cpp" line="572"/>
         <source>Changed route points.</source>
         <translation>Points de route modifiés.</translation>
     </message>
     <message>
         <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="431"/>
-        <location filename="../gis/tnv/serialization.cpp" line="460"/>
-        <location filename="../gis/tnv/serialization.cpp" line="471"/>
-        <location filename="../gis/tnv/serialization.cpp" line="504"/>
-        <location filename="../gis/tnv/serialization.cpp" line="644"/>
-        <location filename="../gis/tnv/serialization.cpp" line="672"/>
-        <location filename="../gis/tnv/serialization.cpp" line="683"/>
-        <location filename="../gis/tnv/serialization.cpp" line="701"/>
-        <location filename="../gis/tnv/serialization.cpp" line="729"/>
-        <location filename="../gis/tnv/serialization.cpp" line="803"/>
+        <location filename="../gis/tnv/serialization.cpp" line="211"/>
+        <location filename="../gis/tnv/serialization.cpp" line="347"/>
+        <location filename="../gis/tnv/serialization.cpp" line="376"/>
+        <location filename="../gis/tnv/serialization.cpp" line="387"/>
+        <location filename="../gis/tnv/serialization.cpp" line="420"/>
+        <location filename="../gis/tnv/serialization.cpp" line="560"/>
+        <location filename="../gis/tnv/serialization.cpp" line="588"/>
+        <location filename="../gis/tnv/serialization.cpp" line="599"/>
+        <location filename="../gis/tnv/serialization.cpp" line="617"/>
+        <location filename="../gis/tnv/serialization.cpp" line="645"/>
+        <location filename="../gis/tnv/serialization.cpp" line="719"/>
         <source>Error...</source>
         <translation>Erreur...</translation>
     </message>
     <message>
         <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="431"/>
-        <location filename="../gis/tnv/serialization.cpp" line="644"/>
+        <location filename="../gis/tnv/serialization.cpp" line="211"/>
+        <location filename="../gis/tnv/serialization.cpp" line="347"/>
+        <location filename="../gis/tnv/serialization.cpp" line="560"/>
         <source>Failed to open %1.</source>
         <translation>Impossible d'ouvrir %1</translation>
     </message>
     <message>
-        <location filename="../gis/tnv/serialization.cpp" line="460"/>
-        <location filename="../gis/tnv/serialization.cpp" line="471"/>
-        <location filename="../gis/tnv/serialization.cpp" line="672"/>
-        <location filename="../gis/tnv/serialization.cpp" line="683"/>
+        <location filename="../gis/tnv/serialization.cpp" line="376"/>
+        <location filename="../gis/tnv/serialization.cpp" line="387"/>
+        <location filename="../gis/tnv/serialization.cpp" line="588"/>
+        <location filename="../gis/tnv/serialization.cpp" line="599"/>
         <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="504"/>
-        <location filename="../gis/tnv/serialization.cpp" line="701"/>
-        <location filename="../gis/tnv/serialization.cpp" line="729"/>
-        <location filename="../gis/tnv/serialization.cpp" line="803"/>
+        <location filename="../gis/tnv/serialization.cpp" line="420"/>
+        <location filename="../gis/tnv/serialization.cpp" line="617"/>
+        <location filename="../gis/tnv/serialization.cpp" line="645"/>
+        <location filename="../gis/tnv/serialization.cpp" line="719"/>
         <source>Failed to read data.</source>
         <translation>Impossible de lire les données.</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="357"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="249"/>
         <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/rte/CGisItemRte.cpp" line="286"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="464"/>
+        <location filename="../gis/rte/CGisItemRte.cpp" line="262"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="371"/>
         <source>Length: %1 %2</source>
         <translation>Longueur: %1 %2</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="471"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="378"/>
         <source>, %1%2 %3, %4%5 %6</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="479"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="386"/>
         <source>Time: %1</source>
         <translation>Durée: %1</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="482"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="492"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="389"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="399"/>
         <source>, Speed: %1 %2</source>
         <translation>, vitesse %1 %2</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="489"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="396"/>
         <source>Moving: %1</source>
         <translation>Déplacement: %1</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="498"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="405"/>
         <source>Start: %1</source>
         <translation>Début: %1</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="503"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="410"/>
         <source>End: %1</source>
         <translation>Fin: %1</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="507"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="414"/>
         <source>Points: %1 (%2)</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="625"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="523"/>
         <source>Ele.: %1 %2</source>
         <translation>Altitude: %1 %2</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="628"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="526"/>
         <source> slope: %1%3 (%2%)</source>
         <translation> Pente: %1%3(%2%)</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="633"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="531"/>
         <source> speed: %1%2</source>
         <translation> Vitesse: %1 %2</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="653"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="559"/>
+        <source>... and %1 tags not displayed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="571"/>
         <source>Ascend: %1%2 (%3%)</source>
         <translation>Montée: %1%2 (%3%)</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="657"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="575"/>
         <source>Ascend: - (-)</source>
         <translation>Montées: - (-)</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="663"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="581"/>
         <source> Descend: %1%2 (%3%)</source>
         <translation>  Descente: %1%2 (%3%)</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="667"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="585"/>
         <source> Descend: - (-) </source>
         <translation>Descente: - (-)</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="674"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="592"/>
         <source>Dist.: %1%2 (%3%)</source>
         <translation>Dist.: %1%2 (%3%)</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="678"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="596"/>
         <source>Dist.: - (-)</source>
         <translation>Dist.: - (-)</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="684"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="602"/>
         <source> Moving: %1%2 (%3%)</source>
         <translation>  En mouvement: %1%2 (%3%)</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="688"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="606"/>
         <source> Moving: - (-) </source>
         <translation>En mouvement: - (-)</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="707"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="625"/>
         <source>Ascend: %1%2</source>
         <translation>Montée : %1%2</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="712"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="729"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="630"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="647"/>
         <source>, %1%2</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="717"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="635"/>
         <source>Ascend: -</source>
         <translation>Montée : -</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="724"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="642"/>
         <source> Descend: %1%2</source>
         <translation>Descente : %1%2</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="734"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="652"/>
         <source>Descend: -</source>
         <translation>Descente : -</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="740"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="658"/>
         <source>Dist.: %1%2</source>
         <translation>Dist.: %1%2</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="745"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="663"/>
         <source> Time: %1%2</source>
         <translation> Temps : %1%2</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1868"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1307"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1331"/>
+        <source>Permanently removed points %1..%2</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="2088"/>
         <source>Changed activity to '%1' for complete track.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1942"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="2163"/>
         <source>Changed activity to '%1' for range(%2..%3).</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../gis/rte/CCreateRouteFromWpt.cpp" line="65"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1225"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1240"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1259"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1318"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1497"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1245"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1264"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1340"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1399"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1578"/>
         <location filename="../mouse/CMouseEditArea.cpp" line="100"/>
         <location filename="../mouse/CMouseEditRte.cpp" line="111"/>
-        <location filename="../mouse/CMouseEditTrk.cpp" line="117"/>
+        <location filename="../mouse/CMouseEditTrk.cpp" line="116"/>
         <source>Edit name...</source>
         <translation>Éditer le nom...</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1225"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1240"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1259"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1318"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1497"/>
-        <location filename="../mouse/CMouseEditTrk.cpp" line="117"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1245"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1264"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1340"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1399"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1578"/>
+        <location filename="../mouse/CMouseEditTrk.cpp" line="116"/>
         <source>Enter new track name.</source>
         <translation type="unfinished">Entrez le nom de la nouvelle trace.</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1432"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1513"/>
         <source>Hide points.</source>
         <translation>Cacher des points.</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1472"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1553"/>
         <source>Show points.</source>
         <translation>Afficher les points.</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1821"/>
-        <location filename="../gis/wpt/CGisItemWpt.cpp" line="402"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="2041"/>
+        <location filename="../gis/wpt/CGisItemWpt.cpp" line="312"/>
         <source>Changed name</source>
         <translation>Nom modifié</translation>
     </message>
     <message>
-        <location filename="../gis/trk/filter/filter.cpp" line="96"/>
+        <location filename="../gis/trk/filter/filter.cpp" line="106"/>
         <source>Hide points by Douglas Peuker algorithm (%1%2)</source>
         <translation>Cacher des points avec l'algorithme Douglas Peuker (%1%2)</translation>
     </message>
     <message>
-        <location filename="../gis/trk/filter/filter.cpp" line="112"/>
+        <location filename="../gis/trk/filter/filter.cpp" line="141"/>
+        <source>Hide points with invalid coordinates at the beginning of the track</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/filter/filter.cpp" line="157"/>
         <source>Reset all hidden track points to visible</source>
         <translation>Restaurer les points cachés</translation>
     </message>
     <message>
-        <location filename="../gis/trk/filter/filter.cpp" line="137"/>
+        <location filename="../gis/trk/filter/filter.cpp" line="191"/>
         <source>Permanently removed all hidden track points</source>
         <translation>Supprimer définitivement tous les points cachés</translation>
     </message>
     <message>
-        <location filename="../gis/trk/filter/filter.cpp" line="187"/>
+        <location filename="../gis/trk/filter/filter.cpp" line="241"/>
         <source>Smoothed profile with a Median filter of size %1</source>
         <translation>Profile lissé avec un filtre médian de dimension %1</translation>
     </message>
     <message>
-        <location filename="../gis/trk/filter/filter.cpp" line="223"/>
+        <location filename="../gis/trk/filter/filter.cpp" line="277"/>
         <source>Replaced elevation data with data from DEM files.</source>
         <translation>Les altitudes ont été remplacées  par les données DEM</translation>
     </message>
     <message>
-        <location filename="../gis/trk/filter/filter.cpp" line="246"/>
+        <location filename="../gis/trk/filter/filter.cpp" line="300"/>
         <source>Offset elevation data by %1%2.</source>
         <translation>Décaler les altitudes de %1%2.</translation>
     </message>
     <message>
-        <location filename="../gis/trk/filter/filter.cpp" line="265"/>
+        <location filename="../gis/trk/filter/filter.cpp" line="319"/>
         <source>Changed start of track to %1.</source>
         <translation>Début de la trace modifié à %1.</translation>
     </message>
     <message>
-        <location filename="../gis/trk/filter/filter.cpp" line="284"/>
+        <location filename="../gis/trk/filter/filter.cpp" line="338"/>
         <source>Remove timestamps.</source>
         <translation>Horodatage Supprimé.</translation>
     </message>
     <message>
-        <location filename="../gis/trk/filter/filter.cpp" line="307"/>
+        <location filename="../gis/trk/filter/filter.cpp" line="361"/>
         <source>Set artificial timestamps with delta of %1 sec.</source>
         <translation>Horodatage artificiel ajouté avec un décalage de %1 sec.</translation>
     </message>
     <message>
-        <location filename="../gis/trk/filter/filter.cpp" line="340"/>
+        <location filename="../gis/trk/filter/filter.cpp" line="394"/>
         <source>Changed speed to %1%2.</source>
         <translation>Vitesse modifiée à %1%2.</translation>
     </message>
@@ -6309,58 +6527,58 @@ Nom de fichier: %1</translation>
         <translation type="obsolete">Saisir le nouveau nom du waypoint.</translation>
     </message>
     <message>
-        <location filename="../gis/wpt/CGisItemWpt.cpp" line="317"/>
+        <location filename="../gis/wpt/CGisItemWpt.cpp" line="227"/>
         <source>Elevation: %1 %2</source>
         <translation>Altitude: %1 %2</translation>
     </message>
     <message>
-        <location filename="../gis/wpt/CGisItemWpt.cpp" line="328"/>
+        <location filename="../gis/wpt/CGisItemWpt.cpp" line="238"/>
         <source>Proximity: %1 %2</source>
         <translation>Proximité: %1 %2</translation>
     </message>
     <message>
-        <location filename="../gis/wpt/CGisItemWpt.cpp" line="412"/>
+        <location filename="../gis/wpt/CGisItemWpt.cpp" line="322"/>
         <source>Changed position</source>
         <translation>Position modifiée</translation>
     </message>
     <message>
-        <location filename="../gis/wpt/CGisItemWpt.cpp" line="418"/>
+        <location filename="../gis/wpt/CGisItemWpt.cpp" line="328"/>
         <source>Changed elevation</source>
         <translation>Altitude modifiée</translation>
     </message>
     <message>
-        <location filename="../gis/wpt/CGisItemWpt.cpp" line="424"/>
+        <location filename="../gis/wpt/CGisItemWpt.cpp" line="334"/>
         <source>Changed proximity</source>
         <translation>Rayon de proximité modifié</translation>
     </message>
     <message>
-        <location filename="../gis/wpt/CGisItemWpt.cpp" line="438"/>
+        <location filename="../gis/wpt/CGisItemWpt.cpp" line="348"/>
         <source>Changed icon</source>
         <translation>Icône modifié</translation>
     </message>
     <message>
-        <location filename="../gis/wpt/CGisItemWpt.cpp" line="462"/>
+        <location filename="../gis/wpt/CGisItemWpt.cpp" line="372"/>
         <source>Changed images</source>
         <translation>Images modifiées</translation>
     </message>
     <message>
-        <location filename="../gis/wpt/CGisItemWpt.cpp" line="468"/>
+        <location filename="../gis/wpt/CGisItemWpt.cpp" line="378"/>
         <source>Add image</source>
         <translation>Ajouter une image</translation>
     </message>
     <message>
-        <location filename="../map/garmin/CGarminTyp.cpp" line="465"/>
-        <location filename="../map/garmin/CGarminTyp.cpp" line="846"/>
+        <location filename="../map/garmin/CGarminTyp.cpp" line="457"/>
+        <location filename="../map/garmin/CGarminTyp.cpp" line="838"/>
         <source>Warning...</source>
         <translation>Avertissement...</translation>
     </message>
     <message>
-        <location filename="../map/garmin/CGarminTyp.cpp" line="465"/>
+        <location filename="../map/garmin/CGarminTyp.cpp" line="457"/>
         <source>This is a typ file with unknown polygon encoding. Please report!</source>
         <translation>Ceci est un fichier type avec un encodage de polygone inconnu. Veuillez signaler ce problème.</translation>
     </message>
     <message>
-        <location filename="../map/garmin/CGarminTyp.cpp" line="846"/>
+        <location filename="../map/garmin/CGarminTyp.cpp" line="838"/>
         <source>This is a typ file with unknown polyline encoding. Please report!</source>
         <translation>Ceci est un fichier type avec un encodage de polyligne inconnu. Veuillez signaler ce problème.</translation>
     </message>
@@ -6370,7 +6588,7 @@ Nom de fichier: %1</translation>
         <translation type="unfinished">Entrez le nom de la nouvelle surface.</translation>
     </message>
     <message>
-        <location filename="../qlgt/converter.cpp" line="195"/>
+        <location filename="../qlgt/converter.cpp" line="198"/>
         <source>Copy flag information from QLandkarte GT track</source>
         <translation>Copier la balise d'information de la trace QLandkarte GT</translation>
     </message>
@@ -6453,51 +6671,116 @@ Nom de fichier: %1</translation>
     </message>
     <message>
         <location filename="../gis/trk/CActivityTrk.cpp" line="77"/>
-        <location filename="../gis/trk/CActivityTrk.cpp" line="101"/>
         <source>Aeronautik</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/trk/CActivityTrk.cpp" line="213"/>
-        <location filename="../gis/trk/CActivityTrk.cpp" line="257"/>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="101"/>
+        <source>Aeronautics</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="210"/>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="254"/>
         <source>Distance:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/trk/CActivityTrk.cpp" line="215"/>
-        <location filename="../gis/trk/CActivityTrk.cpp" line="279"/>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="212"/>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="276"/>
         <source>Ascend:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/trk/CActivityTrk.cpp" line="217"/>
-        <location filename="../gis/trk/CActivityTrk.cpp" line="301"/>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="214"/>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="298"/>
         <source>Descend:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/trk/CActivityTrk.cpp" line="219"/>
-        <location filename="../gis/trk/CActivityTrk.cpp" line="323"/>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="216"/>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="320"/>
         <source>Speed Moving:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/trk/CActivityTrk.cpp" line="221"/>
-        <location filename="../gis/trk/CActivityTrk.cpp" line="345"/>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="218"/>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="342"/>
         <source>Speed Total:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/trk/CActivityTrk.cpp" line="223"/>
-        <location filename="../gis/trk/CActivityTrk.cpp" line="367"/>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="220"/>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="364"/>
         <source>Time Moving:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/trk/CActivityTrk.cpp" line="225"/>
-        <location filename="../gis/trk/CActivityTrk.cpp" line="389"/>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="222"/>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="386"/>
         <source>Time Total:</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../gis/trk/CPropertyTrk.cpp" line="53"/>
+        <source>Progress</source>
+        <translation type="unfinished">Progrès</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CPropertyTrk.cpp" line="56"/>
+        <source>time</source>
+        <translation type="unfinished">durée</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CPropertyTrk.cpp" line="57"/>
+        <location filename="../gis/trk/CPropertyTrk.cpp" line="82"/>
+        <source>distance [%1]</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CKnownExtension.cpp" line="57"/>
+        <source>Slope (directed)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CKnownExtension.cpp" line="62"/>
+        <source>Speed</source>
+        <translation type="unfinished">Vitesse</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CKnownExtension.cpp" line="67"/>
+        <source>Elevation</source>
+        <translation type="unfinished">Altitude</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CKnownExtension.cpp" line="74"/>
+        <location filename="../gis/trk/CKnownExtension.cpp" line="100"/>
+        <source>Heart Rate</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CKnownExtension.cpp" line="79"/>
+        <location filename="../gis/trk/CKnownExtension.cpp" line="105"/>
+        <source>Cadence</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CKnownExtension.cpp" line="84"/>
+        <location filename="../gis/trk/CKnownExtension.cpp" line="110"/>
+        <source>Air Temperature</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CKnownExtension.cpp" line="89"/>
+        <location filename="../gis/trk/CKnownExtension.cpp" line="115"/>
+        <source>Water Temperature</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CKnownExtension.cpp" line="94"/>
+        <location filename="../gis/trk/CKnownExtension.cpp" line="120"/>
+        <source>Depth</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 </TS>
diff --git a/src/locale/qmapshack_nl.ts b/src/locale/qmapshack_nl.ts
index d9feba0..8863e18 100644
--- a/src/locale/qmapshack_nl.ts
+++ b/src/locale/qmapshack_nl.ts
@@ -17,9 +17,9 @@
 <context>
     <name>CCanvas</name>
     <message>
-        <location filename="../canvas/CCanvas.cpp" line="66"/>
+        <location filename="../canvas/CCanvas.cpp" line="59"/>
         <source>View %1</source>
-        <translation>Toon %1</translation>
+        <translation>Venster %1</translation>
     </message>
 </context>
 <context>
@@ -73,69 +73,68 @@
     <message>
         <location filename="../dem/CDemPathSetup.cpp" line="41"/>
         <source>Add or remove paths containing DEM data. There can be multiple files in a path but no sub-path is parsed. Supported formats are: %1</source>
-        <translation type="unfinished"></translation>
+        <translation>Maak of verwijder mappen naar DEM gegevens.-Er kunnen meerdere bestanden in een map zijn maar geen submappen Ondersteunende formaten zijn: %1</translation>
     </message>
     <message>
         <location filename="../dem/CDemPathSetup.cpp" line="56"/>
         <source>Select DEM file path...</source>
-        <translation type="unfinished"></translation>
+        <translation>Selecteer map met DEM bestanden...</translation>
     </message>
 </context>
 <context>
     <name>CDemPropSetup</name>
     <message>
-        <location filename="../dem/CDemPropSetup.cpp" line="183"/>
         <source><b>Grade %1</b></source>
-        <translation type="unfinished"><b>Graad %1</b></translation>
+        <translation type="vanished"><b>Graad %1</b></translation>
     </message>
 </context>
 <context>
     <name>CDemVRT</name>
     <message>
-        <location filename="../dem/CDemVRT.cpp" line="45"/>
+        <location filename="../dem/CDemVRT.cpp" line="44"/>
         <location filename="../dem/CDemVRT.cpp" line="52"/>
-        <location filename="../dem/CDemVRT.cpp" line="61"/>
-        <location filename="../dem/CDemVRT.cpp" line="89"/>
+        <location filename="../dem/CDemVRT.cpp" line="62"/>
+        <location filename="../dem/CDemVRT.cpp" line="91"/>
         <source>Error...</source>
         <translation>Fout...</translation>
     </message>
     <message>
-        <location filename="../dem/CDemVRT.cpp" line="45"/>
+        <location filename="../dem/CDemVRT.cpp" line="44"/>
         <source>Failed to load file: %1</source>
-        <translation type="unfinished"></translation>
+        <translation>Kan bestand %1 niet laden</translation>
     </message>
     <message>
         <location filename="../dem/CDemVRT.cpp" line="52"/>
-        <location filename="../dem/CDemVRT.cpp" line="61"/>
+        <location filename="../dem/CDemVRT.cpp" line="62"/>
         <source>DEM must have one band with 16bit or 32bit data.</source>
-        <translation type="unfinished"></translation>
+        <translation>DEM moet 16 bit of 32 bit gegevens bevatten.</translation>
     </message>
     <message>
-        <location filename="../dem/CDemVRT.cpp" line="89"/>
+        <location filename="../dem/CDemVRT.cpp" line="91"/>
         <source>No georeference information found.</source>
-        <translation type="unfinished"></translation>
+        <translation>Geen geografische gegevens gevonden.</translation>
     </message>
 </context>
 <context>
     <name>CDetailsGeoCache</name>
     <message>
-        <location filename="../gis/wpt/CDetailsGeoCache.cpp" line="62"/>
+        <location filename="../gis/wpt/CDetailsGeoCache.cpp" line="61"/>
         <source>none</source>
         <translation>geen</translation>
     </message>
     <message>
-        <location filename="../gis/wpt/CDetailsGeoCache.cpp" line="62"/>
-        <location filename="../gis/wpt/CDetailsGeoCache.cpp" line="132"/>
+        <location filename="../gis/wpt/CDetailsGeoCache.cpp" line="61"/>
+        <location filename="../gis/wpt/CDetailsGeoCache.cpp" line="131"/>
         <source>???</source>
         <translation>???</translation>
     </message>
     <message>
-        <location filename="../gis/wpt/CDetailsGeoCache.cpp" line="159"/>
+        <location filename="../gis/wpt/CDetailsGeoCache.cpp" line="158"/>
         <source>Searching for images...</source>
         <translation>Zoeken naar afbeeldingen...</translation>
     </message>
     <message>
-        <location filename="../gis/wpt/CDetailsGeoCache.cpp" line="264"/>
+        <location filename="../gis/wpt/CDetailsGeoCache.cpp" line="263"/>
         <source>No images found</source>
         <translation>Geen afbeeldingen gevonden</translation>
     </message>
@@ -143,192 +142,213 @@
 <context>
     <name>CDetailsOvlArea</name>
     <message>
-        <location filename="../gis/ovl/CDetailsOvlArea.cpp" line="135"/>
+        <location filename="../gis/ovl/CDetailsOvlArea.cpp" line="134"/>
         <source>Edit name...</source>
         <translation>Bewerk naam...</translation>
     </message>
     <message>
-        <location filename="../gis/ovl/CDetailsOvlArea.cpp" line="135"/>
+        <location filename="../gis/ovl/CDetailsOvlArea.cpp" line="134"/>
         <source>Enter new area name.</source>
-        <translation type="unfinished"></translation>
+        <translation>Geef gebied een nieuwe naam.</translation>
     </message>
 </context>
 <context>
     <name>CDetailsPrj</name>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="103"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="101"/>
         <source>You want to sort waypoints along a track, but you switched off track and waypoint correlation. Do you want to switch it on again?</source>
-        <translation type="unfinished"></translation>
+        <translation>Om wayponts van een track te sorteren dient de correlatie van track en waypoints ingeschakeld zijn.. Moet dit weer ingeschakeld worden?</translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="104"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="102"/>
         <source>Correlation...</source>
-        <translation type="unfinished"></translation>
+        <translation>Correlatie...</translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="249"/>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="689"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="247"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="687"/>
         <source>none</source>
         <translation>geen</translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="322"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="320"/>
         <source>Build diary...</source>
-        <translation type="unfinished"></translation>
+        <translation>Dagboek maken...</translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="377"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="375"/>
         <source><b>Summary over all tracks in project</b><br/></source>
         <translation><b>Overzicht van alle tracks in project</b><br/></translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="397"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="395"/>
         <source><h2>Waypoints</h2></source>
         <translation><h2>Waypoints</h2></translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="404"/>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="430"/>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="534"/>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="624"/>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="654"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="402"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="428"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="532"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="622"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="652"/>
         <source>Info</source>
         <translation>Info</translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="405"/>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="431"/>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="535"/>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="625"/>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="655"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="403"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="429"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="533"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="623"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="653"/>
         <source>Comment</source>
         <translation>Notitie</translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="423"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="421"/>
         <source><h2>Tracks</h2></source>
         <translation><h2>Tracks</h2></translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="553"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="551"/>
         <source>distance: %1%2</source>
         <translation>afstand:-%1%2</translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="555"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="553"/>
         <source>ascent: %1%2</source>
-        <translation type="unfinished"></translation>
+        <translation>Stijging: %1%2</translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="557"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="555"/>
         <source>descend: %1%2</source>
-        <translation type="unfinished"></translation>
+        <translation>daling: %1%2</translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="617"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="615"/>
         <source><h2>Areas</h2></source>
-        <translation type="unfinished"></translation>
+        <translation><h2>Gebieden</h2></translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="647"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="645"/>
         <source><h2>Routes</h2></source>
         <translation><h2>Routes</h2></translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="675"/>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="702"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="673"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="700"/>
         <source>Edit name...</source>
         <translation>Bewerk naam...</translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="675"/>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="702"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="673"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="700"/>
         <source>Enter new project name.</source>
         <translation>Geef  project een nieuwe naam.</translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="684"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="682"/>
         <source>Edit keywords...</source>
         <translation>Bewerkt sleutelwoorden...</translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="684"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="682"/>
         <source>Enter keywords.</source>
         <translation>Geef sleutelwoorden.</translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="818"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="816"/>
         <source>Print Diary</source>
-        <translation type="unfinished"></translation>
+        <translation>Dagboek afdrukken</translation>
     </message>
 </context>
 <context>
     <name>CDetailsRte</name>
     <message>
-        <location filename="../gis/rte/CDetailsRte.cpp" line="120"/>
+        <location filename="../gis/rte/CDetailsRte.cpp" line="119"/>
         <source>Edit name...</source>
         <translation>Bewerk naam...</translation>
     </message>
     <message>
-        <location filename="../gis/rte/CDetailsRte.cpp" line="120"/>
+        <location filename="../gis/rte/CDetailsRte.cpp" line="119"/>
         <source>Enter new route name.</source>
-        <translation type="unfinished"></translation>
+        <translation>Geef  proute een nieuwe naam.</translation>
     </message>
 </context>
 <context>
     <name>CDetailsTrk</name>
     <message>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="87"/>
+        <source>distance [%1]</source>
+        <translation type="obsolete">afstand [%1]</translation>
+    </message>
+    <message>
+        <source>speed. [%1]</source>
+        <translation type="obsolete">snelheid. [%1]</translation>
+    </message>
+    <message>
+        <source>time</source>
+        <translation type="obsolete">tijd</translation>
+    </message>
+    <message>
+        <source>distance. [%1]</source>
+        <translation type="obsolete">afstand. [%1]</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="409"/>
+        <source>Solid color</source>
+        <translation>Vaste kleur</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="112"/>
         <source>Reduce visible track points</source>
-        <translation type="unfinished"></translation>
+        <translation>Reduceer zichtbare trackpunten</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="100"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="128"/>
         <source>Change elevation of track points</source>
-        <translation type="unfinished"></translation>
+        <translation>Verander hoogte van trackpunten</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="113"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="141"/>
         <source>Change timestamp of track points</source>
-        <translation type="unfinished"></translation>
+        <translation>Verander tijdstempels van trackpunten</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="126"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="154"/>
         <source>Cut track into pieces</source>
-        <translation type="unfinished"></translation>
+        <translation>Knip track in delen</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="242"/>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="251"/>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="254"/>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="260"/>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="279"/>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="281"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="309"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="318"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="321"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="327"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="346"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="348"/>
         <source>%1 %2</source>
         <translation>%1 %2</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="457"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="603"/>
         <source>Edit name...</source>
         <translation>Bewerk naam...</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="457"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="603"/>
         <source>Enter new track name.</source>
-        <translation type="unfinished"></translation>
+        <translation>Geef track nieuwe naam.</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="509"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="655"/>
         <source>Reset activities...</source>
-        <translation type="unfinished"></translation>
+        <translation>Herstel activiteiten...</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="509"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="655"/>
         <source>This will remove all activities from the track. Proceed?</source>
-        <translation type="unfinished"></translation>
+        <translation>Dit zal alle activiteiten uit de track verwijderen. Doorgaan?</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="515"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="661"/>
         <source>None</source>
         <translation>Geen</translation>
     </message>
@@ -336,19 +356,19 @@
 <context>
     <name>CDetailsWpt</name>
     <message>
-        <location filename="../gis/wpt/CDetailsWpt.cpp" line="157"/>
+        <location filename="../gis/wpt/CDetailsWpt.cpp" line="134"/>
         <source>Edit name...</source>
         <translation>Bewerk naam...</translation>
     </message>
     <message>
-        <location filename="../gis/wpt/CDetailsWpt.cpp" line="157"/>
+        <location filename="../gis/wpt/CDetailsWpt.cpp" line="134"/>
         <source>Enter new waypoint name.</source>
-        <translation type="unfinished"></translation>
+        <translation>Geef  waypoint nieuwe naam.</translation>
     </message>
     <message>
-        <location filename="../gis/wpt/CDetailsWpt.cpp" line="176"/>
+        <location filename="../gis/wpt/CDetailsWpt.cpp" line="153"/>
         <source>Enter new proximity range.</source>
-        <translation type="unfinished"></translation>
+        <translation>Geef nieuwe afstand in voor nabijheid.</translation>
     </message>
 </context>
 <context>
@@ -362,69 +382,69 @@
 <context>
     <name>CGisListDB</name>
     <message>
-        <location filename="../gis/CGisListDB.cpp" line="76"/>
+        <location filename="../gis/CGisListDB.cpp" line="75"/>
         <source>Add Database</source>
-        <translation type="unfinished"></translation>
+        <translation>Database toevoegen</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListDB.cpp" line="79"/>
+        <location filename="../gis/CGisListDB.cpp" line="78"/>
         <source>Add Folder</source>
-        <translation type="unfinished"></translation>
+        <translation>Map toevoegen</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListDB.cpp" line="80"/>
+        <location filename="../gis/CGisListDB.cpp" line="79"/>
         <source>Delete Folder</source>
-        <translation type="unfinished"></translation>
+        <translation>Map verwijderen</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListDB.cpp" line="83"/>
-        <location filename="../gis/CGisListDB.cpp" line="93"/>
+        <location filename="../gis/CGisListDB.cpp" line="82"/>
+        <location filename="../gis/CGisListDB.cpp" line="92"/>
         <source>Delete Item</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/CGisListDB.cpp" line="87"/>
+        <location filename="../gis/CGisListDB.cpp" line="86"/>
         <source>Remove Database</source>
-        <translation type="unfinished"></translation>
+        <translation>Database verwijderen</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListDB.cpp" line="90"/>
+        <location filename="../gis/CGisListDB.cpp" line="89"/>
         <source>Empty</source>
-        <translation type="unfinished"></translation>
+        <translation>Leeg</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListDB.cpp" line="282"/>
+        <location filename="../gis/CGisListDB.cpp" line="281"/>
         <source>Remove database...</source>
-        <translation type="unfinished"></translation>
+        <translation>Database verwijderen...</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListDB.cpp" line="282"/>
-        <source>Do you realy want to remove '%1' from the list?</source>
+        <location filename="../gis/CGisListDB.cpp" line="281"/>
+        <source>Do you really want to remove '%1' from the list?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/CGisListDB.cpp" line="323"/>
+        <location filename="../gis/CGisListDB.cpp" line="322"/>
         <source>Delete database folder...</source>
-        <translation type="unfinished"></translation>
+        <translation>Verwijder database map...</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListDB.cpp" line="323"/>
+        <location filename="../gis/CGisListDB.cpp" line="322"/>
         <source>Are you sure you want to delete "%1" from the database?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/CGisListDB.cpp" line="349"/>
-        <location filename="../gis/CGisListDB.cpp" line="364"/>
+        <location filename="../gis/CGisListDB.cpp" line="348"/>
+        <location filename="../gis/CGisListDB.cpp" line="363"/>
         <source>Remove items...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/CGisListDB.cpp" line="349"/>
+        <location filename="../gis/CGisListDB.cpp" line="348"/>
         <source>Are you sure you want to delete all items from Lost&Found? This will remove them permanently.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/CGisListDB.cpp" line="364"/>
+        <location filename="../gis/CGisListDB.cpp" line="363"/>
         <source>Are you sure you want to delete all selected items from Lost&Found? This will remove them permanently.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -432,128 +452,128 @@
 <context>
     <name>CGisListWks</name>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="100"/>
+        <location filename="../gis/CGisListWks.cpp" line="97"/>
         <source>Edit..</source>
         <translation>Bewerken..</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="101"/>
+        <location filename="../gis/CGisListWks.cpp" line="98"/>
         <source>Show on Map</source>
         <translation>Toon op kaart</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="102"/>
+        <location filename="../gis/CGisListWks.cpp" line="99"/>
         <source>Hide from Map</source>
         <translation>Toon niet op kaart</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="104"/>
+        <location filename="../gis/CGisListWks.cpp" line="101"/>
         <source>Save</source>
         <translation>Opslaan</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="105"/>
+        <location filename="../gis/CGisListWks.cpp" line="102"/>
         <source>Save As...</source>
         <translation>Opslaan als...</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="107"/>
+        <location filename="../gis/CGisListWks.cpp" line="104"/>
         <source>Send to Devices</source>
         <translation>Verzend naar GPS</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="109"/>
+        <location filename="../gis/CGisListWks.cpp" line="106"/>
         <source>Close</source>
         <translation>Sluiten</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="115"/>
+        <location filename="../gis/CGisListWks.cpp" line="112"/>
         <source>Update Project on Device</source>
-        <translation type="unfinished"></translation>
+        <translation>Update project op GPS</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="116"/>
-        <location filename="../gis/CGisListWks.cpp" line="137"/>
+        <location filename="../gis/CGisListWks.cpp" line="113"/>
+        <location filename="../gis/CGisListWks.cpp" line="134"/>
         <source>Delete</source>
         <translation>Verwijder</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="127"/>
+        <location filename="../gis/CGisListWks.cpp" line="124"/>
         <source>Edit...</source>
         <translation>Bewerken...</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="128"/>
+        <location filename="../gis/CGisListWks.cpp" line="125"/>
         <source>Copy to...</source>
         <translation>Kopieer naar...</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="130"/>
+        <location filename="../gis/CGisListWks.cpp" line="127"/>
         <source>Track Profile</source>
-        <translation type="unfinished"></translation>
+        <translation>Track profiel</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="132"/>
+        <location filename="../gis/CGisListWks.cpp" line="129"/>
         <source>Select Range</source>
-        <translation type="unfinished"></translation>
+        <translation>Selecteer afstand</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="133"/>
+        <location filename="../gis/CGisListWks.cpp" line="130"/>
         <source>Edit Track Points</source>
-        <translation type="unfinished"></translation>
+        <translation>Trackpunten bewerken</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="134"/>
+        <location filename="../gis/CGisListWks.cpp" line="131"/>
         <source>Reverse Track</source>
-        <translation type="unfinished"></translation>
+        <translation>Track omdraaien</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="135"/>
+        <location filename="../gis/CGisListWks.cpp" line="132"/>
         <source>Combine Tracks</source>
-        <translation type="unfinished"></translation>
+        <translation>Combineer tracks</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="143"/>
+        <location filename="../gis/CGisListWks.cpp" line="140"/>
         <source>Show Bubble</source>
         <translation>Toon ballon</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="145"/>
+        <location filename="../gis/CGisListWks.cpp" line="142"/>
         <source>Move Waypoint</source>
         <translation>Verplaats waypoint</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="146"/>
+        <location filename="../gis/CGisListWks.cpp" line="143"/>
         <source>Proj. Waypoint...</source>
-        <translation type="unfinished"></translation>
+        <translation>Projecteer waypoint...</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="154"/>
+        <location filename="../gis/CGisListWks.cpp" line="151"/>
         <source>Route Instructions</source>
         <translation>Route instructies</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="156"/>
+        <location filename="../gis/CGisListWks.cpp" line="153"/>
         <source>Calculate Route</source>
         <translation>Route berekenen</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="157"/>
+        <location filename="../gis/CGisListWks.cpp" line="154"/>
         <source>Reset Route</source>
-        <translation>Rouet omkeren</translation>
+        <translation>Route omkeren</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="158"/>
+        <location filename="../gis/CGisListWks.cpp" line="155"/>
         <source>Edit Route</source>
         <translation>Bewerk route</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="167"/>
+        <location filename="../gis/CGisListWks.cpp" line="164"/>
         <source>Edit Area Points</source>
-        <translation type="unfinished"></translation>
+        <translation>Bewerk gebied punten</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="174"/>
+        <location filename="../gis/CGisListWks.cpp" line="171"/>
         <source>Create Route</source>
         <translation>Maak route</translation>
     </message>
@@ -564,33 +584,33 @@
     </message>
     <message>
         <location filename="../gis/CGisListWks.cpp" line="638"/>
-        <location filename="../gis/CGisListWks.cpp" line="1543"/>
-        <location filename="../gis/CGisListWks.cpp" line="1581"/>
+        <location filename="../gis/CGisListWks.cpp" line="1544"/>
+        <location filename="../gis/CGisListWks.cpp" line="1582"/>
         <source><b>Update devices</b><p>Update %1<br/>Please wait...</p></source>
-        <translation type="unfinished"></translation>
+        <translation><b>Updaten GPS</b><p>Updaten %1<br/>Moment geduld...</p></translation>
     </message>
     <message>
         <location filename="../gis/CGisListWks.cpp" line="740"/>
         <source>Saving workspace. Please wait.</source>
-        <translation type="unfinished"></translation>
+        <translation>Werkruimte opslaan. Moment geduld.</translation>
     </message>
     <message>
         <location filename="../gis/CGisListWks.cpp" line="787"/>
         <source>Loading workspace. Please wait.</source>
-        <translation type="unfinished"></translation>
+        <translation>Laden werkruimte. Moment geduld.</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="1061"/>
+        <location filename="../gis/CGisListWks.cpp" line="1062"/>
         <source>Close all projects...</source>
         <translation>Sluit alle projecten...</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="1061"/>
+        <location filename="../gis/CGisListWks.cpp" line="1062"/>
         <source>This will remove all projects from the workspace.</source>
-        <translation type="unfinished"></translation>
+        <translation>Dit zal alle projecten uit de werkruimte verwijderen.</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="1265"/>
+        <location filename="../gis/CGisListWks.cpp" line="1266"/>
         <source>Copy items...</source>
         <translation type="unfinished"></translation>
     </message>
@@ -600,43 +620,43 @@
     <message>
         <location filename="../gis/CGisWidget.cpp" line="114"/>
         <source>Load project...</source>
-        <translation type="unfinished"></translation>
+        <translation>Project laden...</translation>
     </message>
     <message>
         <location filename="../gis/CGisWidget.cpp" line="114"/>
         <source>The project "%1" is already in the workspace.</source>
-        <translation type="unfinished"></translation>
+        <translation>Het project "%1" is al geopend.</translation>
     </message>
     <message>
         <location filename="../gis/CGisWidget.cpp" line="461"/>
         <source>Cut Track...</source>
-        <translation type="unfinished"></translation>
+        <translation>Track knippen...</translation>
     </message>
     <message>
         <location filename="../gis/CGisWidget.cpp" line="461"/>
         <source>Do you want to delete the original track?</source>
-        <translation type="unfinished"></translation>
+        <translation>Moet de orginele track verwijderd worden?</translation>
     </message>
 </context>
 <context>
     <name>CGrid</name>
     <message>
-        <location filename="../grid/CGrid.cpp" line="65"/>
+        <location filename="../grid/CGrid.cpp" line="61"/>
         <source>%1 %2 </source>
         <translation>%1 %2 </translation>
     </message>
     <message>
-        <location filename="../grid/CGrid.cpp" line="69"/>
+        <location filename="../grid/CGrid.cpp" line="65"/>
         <source>%1%2%5 %3%4%5 </source>
         <translation>%1%2%5 %3%4%5 </translation>
     </message>
     <message>
-        <location filename="../grid/CGrid.cpp" line="76"/>
+        <location filename="../grid/CGrid.cpp" line="72"/>
         <source>%1m, %2m </source>
         <translation>%1m, %2m </translation>
     </message>
     <message>
-        <location filename="../grid/CGrid.cpp" line="80"/>
+        <location filename="../grid/CGrid.cpp" line="76"/>
         <source>N %1m, E %2m </source>
         <translation>N %1m, O %2m </translation>
     </message>
@@ -644,9 +664,9 @@
 <context>
     <name>CHistoryListWidget</name>
     <message>
-        <location filename="../helpers/CHistoryListWidget.cpp" line="34"/>
+        <location filename="../widgets/CHistoryListWidget.cpp" line="34"/>
         <source>Cut history</source>
-        <translation type="unfinished"></translation>
+        <translation>Historie wissen</translation>
     </message>
 </context>
 <context>
@@ -657,42 +677,42 @@
         <translation>QLandkarte database importeren</translation>
     </message>
     <message>
-        <location filename="../tool/CImportDatabase.cpp" line="73"/>
+        <location filename="../tool/CImportDatabase.cpp" line="75"/>
         <source>Select source database...</source>
-        <translation type="unfinished"></translation>
+        <translation>Bron database selecteren...</translation>
     </message>
     <message>
-        <location filename="../tool/CImportDatabase.cpp" line="93"/>
+        <location filename="../tool/CImportDatabase.cpp" line="97"/>
         <source>Select target database...</source>
-        <translation type="unfinished"></translation>
+        <translation>Doel database selecteren...</translation>
     </message>
 </context>
 <context>
     <name>CMainWindow</name>
     <message>
-        <location filename="../CMainWindow.cpp" line="589"/>
+        <location filename="../CMainWindow.cpp" line="591"/>
         <source>Ele: %1%2</source>
-        <translation type="unfinished"></translation>
+        <translation>Hoogte: %1%2</translation>
     </message>
     <message>
-        <location filename="../CMainWindow.cpp" line="605"/>
+        <location filename="../CMainWindow.cpp" line="607"/>
         <source>[Grid: %1]</source>
-        <translation type="unfinished"></translation>
+        <translation>[Raster: %1]</translation>
     </message>
     <message>
-        <location filename="../CMainWindow.cpp" line="726"/>
+        <location filename="../CMainWindow.cpp" line="732"/>
         <source>Load GIS Data...</source>
-        <translation type="unfinished"></translation>
+        <translation>GIS gegevens laden...</translation>
     </message>
     <message>
-        <location filename="../CMainWindow.cpp" line="760"/>
+        <location filename="../CMainWindow.cpp" line="766"/>
         <source>Select output file</source>
-        <translation type="unfinished"></translation>
+        <translation>Selecteer bestand</translation>
     </message>
     <message>
-        <location filename="../CMainWindow.cpp" line="786"/>
+        <location filename="../CMainWindow.cpp" line="792"/>
         <source>Select file to load</source>
-        <translation type="unfinished"></translation>
+        <translation>Selecteer bestand</translation>
     </message>
 </context>
 <context>
@@ -700,12 +720,12 @@
     <message>
         <location filename="../map/CMapIMG.cpp" line="154"/>
         <source>Failed ...</source>
-        <translation type="unfinished"></translation>
+        <translation>Mislukt...</translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="169"/>
         <source>Unspecified</source>
-        <translation type="unfinished"></translation>
+        <translation>Ongespecificeerd</translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="170"/>
@@ -750,27 +770,27 @@
     <message>
         <location filename="../map/CMapIMG.cpp" line="178"/>
         <source>Basque</source>
-        <translation type="unfinished"></translation>
+        <translation>Baskisch</translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="179"/>
         <source>Catalan</source>
-        <translation type="unfinished"></translation>
+        <translation>Catalaans</translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="180"/>
         <source>Galician</source>
-        <translation type="unfinished"></translation>
+        <translation>Galicisch</translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="181"/>
         <source>Welsh</source>
-        <translation type="unfinished"></translation>
+        <translation>Wels</translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="182"/>
         <source>Gaelic</source>
-        <translation type="unfinished"></translation>
+        <translation>Gaelisch</translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="183"/>
@@ -780,32 +800,32 @@
     <message>
         <location filename="../map/CMapIMG.cpp" line="184"/>
         <source>Norwegian</source>
-        <translation type="unfinished"></translation>
+        <translation>Noors</translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="185"/>
         <source>Portuguese</source>
-        <translation type="unfinished"></translation>
+        <translation>Portugees</translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="186"/>
         <source>Slovak</source>
-        <translation type="unfinished"></translation>
+        <translation>Slowaaks</translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="187"/>
         <source>Czech</source>
-        <translation type="unfinished"></translation>
+        <translation>Tsjechisch</translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="188"/>
         <source>Croatian</source>
-        <translation type="unfinished"></translation>
+        <translation>Kroatisch</translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="189"/>
         <source>Hungarian</source>
-        <translation type="unfinished"></translation>
+        <translation>Hongaars</translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="190"/>
@@ -825,132 +845,132 @@
     <message>
         <location filename="../map/CMapIMG.cpp" line="193"/>
         <source>Slovenian</source>
-        <translation type="unfinished"></translation>
+        <translation>Sloveens</translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="194"/>
         <source>Russian</source>
-        <translation type="unfinished"></translation>
+        <translation>Russisch</translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="195"/>
         <source>Estonian</source>
-        <translation type="unfinished"></translation>
+        <translation>Ests</translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="196"/>
         <source>Latvian</source>
-        <translation type="unfinished"></translation>
+        <translation>Lets</translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="197"/>
         <source>Romanian</source>
-        <translation type="unfinished"></translation>
+        <translation>Roemeens</translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="198"/>
         <source>Albanian</source>
-        <translation type="unfinished"></translation>
+        <translation>Albanisch</translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="199"/>
         <source>Bosnian</source>
-        <translation type="unfinished"></translation>
+        <translation>Bosnisch</translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="200"/>
         <source>Lithuanian</source>
-        <translation type="unfinished"></translation>
+        <translation>Litouws</translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="201"/>
         <source>Serbian</source>
-        <translation type="unfinished"></translation>
+        <translation>Servisch</translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="202"/>
         <source>Macedonian</source>
-        <translation type="unfinished"></translation>
+        <translation>Macedonisch</translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="203"/>
         <source>Bulgarian</source>
-        <translation type="unfinished"></translation>
+        <translation>Bulgaars</translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="260"/>
         <source>Major highway</source>
-        <translation type="unfinished"></translation>
+        <translation>Belangrijke snelweg</translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="261"/>
         <source>Principal highway</source>
-        <translation type="unfinished"></translation>
+        <translation>Gewone snelweg</translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="262"/>
         <source>Other highway</source>
-        <translation type="unfinished"></translation>
+        <translation>Andere snelweg</translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="263"/>
         <source>Arterial road</source>
-        <translation type="unfinished"></translation>
+        <translation>Uitvalsweg</translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="264"/>
         <source>Collector road</source>
-        <translation type="unfinished"></translation>
+        <translation>Verzamelweg</translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="265"/>
         <source>Residential street</source>
-        <translation type="unfinished"></translation>
+        <translation>Woonstraat</translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="266"/>
         <source>Alley/Private road</source>
-        <translation type="unfinished"></translation>
+        <translation>Laan/privéweg</translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="267"/>
         <source>Highway ramp, low speed</source>
-        <translation type="unfinished"></translation>
+        <translation>Snelweg oprit, langzame snelheid</translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="268"/>
         <source>Highway ramp, high speed</source>
-        <translation type="unfinished"></translation>
+        <translation>Snelweg oprit, hoge snelheid</translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="269"/>
         <source>Unpaved road</source>
-        <translation type="unfinished"></translation>
+        <translation>Onverharde weg</translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="270"/>
         <source>Major highway connector</source>
-        <translation type="unfinished"></translation>
+        <translation>Belangrijke snelwegknooppunt</translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="271"/>
         <source>Roundabout</source>
-        <translation type="unfinished"></translation>
+        <translation>Rotonde</translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="272"/>
         <source>Railroad</source>
-        <translation type="unfinished"></translation>
+        <translation>Spoorlijn</translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="273"/>
         <source>Shoreline</source>
-        <translation type="unfinished"></translation>
+        <translation>Kustlijn</translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="274"/>
         <source>Trail</source>
-        <translation type="unfinished"></translation>
+        <translation>Pad</translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="275"/>
@@ -966,7 +986,7 @@
         <location filename="../map/CMapIMG.cpp" line="277"/>
         <location filename="../map/CMapIMG.cpp" line="278"/>
         <source>Ferry</source>
-        <translation type="unfinished"></translation>
+        <translation>Veerdienst</translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="279"/>
@@ -976,7 +996,7 @@
     <message>
         <location filename="../map/CMapIMG.cpp" line="280"/>
         <source>County/parish border</source>
-        <translation type="unfinished"></translation>
+        <translation>Provincie/gemeentegrens</translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="281"/>
@@ -1021,13 +1041,13 @@
     <message>
         <location filename="../map/CMapIMG.cpp" line="289"/>
         <source>Intermittent stream</source>
-        <translation type="unfinished"></translation>
+        <translation>Intermitterende beek</translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="290"/>
         <location filename="../map/CMapIMG.cpp" line="372"/>
         <source>Airport runway</source>
-        <translation type="unfinished"></translation>
+        <translation>Landingsbaan</translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="291"/>
@@ -1037,37 +1057,37 @@
     <message>
         <location filename="../map/CMapIMG.cpp" line="292"/>
         <source>Powerline</source>
-        <translation type="unfinished"></translation>
+        <translation>Hoogspanningsleiding</translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="293"/>
         <source>Marine boundary</source>
-        <translation type="unfinished"></translation>
+        <translation>Zeegrens</translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="294"/>
         <source>Hazard boundary</source>
-        <translation type="unfinished"></translation>
+        <translation>Gevaarlijke grens</translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="359"/>
         <source>Large urban area (&gt;200K)</source>
-        <translation type="unfinished"></translation>
+        <translation>Groot bevolkt gebied (&gt;200K)</translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="360"/>
         <source>Small urban area (&lt;200K)</source>
-        <translation type="unfinished"></translation>
+        <translation>Klein bevolt gebied (&lt;200K)</translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="361"/>
         <source>Rural housing area</source>
-        <translation type="unfinished"></translation>
+        <translation>Landelijk woongebied</translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="362"/>
         <source>Military base</source>
-        <translation type="unfinished"></translation>
+        <translation>Militaire basis</translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="363"/>
@@ -1087,17 +1107,17 @@
     <message>
         <location filename="../map/CMapIMG.cpp" line="366"/>
         <source>Shopping center</source>
-        <translation type="unfinished"></translation>
+        <translation>Winkelcentrum</translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="367"/>
         <source>Marina</source>
-        <translation type="unfinished"></translation>
+        <translation>Jachthaven</translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="368"/>
         <source>University/College</source>
-        <translation type="unfinished"></translation>
+        <translation>Universiteit/College</translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="369"/>
@@ -1107,7 +1127,7 @@
     <message>
         <location filename="../map/CMapIMG.cpp" line="370"/>
         <source>Industrial complex</source>
-        <translation type="unfinished"></translation>
+        <translation>Industrie</translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="371"/>
@@ -1117,17 +1137,17 @@
     <message>
         <location filename="../map/CMapIMG.cpp" line="373"/>
         <source>Man-made area</source>
-        <translation type="unfinished"></translation>
+        <translation>Gemaakt gebied</translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="374"/>
         <source>Sports complex</source>
-        <translation type="unfinished"></translation>
+        <translation>Sprtcomplex</translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="375"/>
         <source>Golf course</source>
-        <translation type="unfinished"></translation>
+        <translation>Golfbaan</translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="376"/>
@@ -1151,7 +1171,7 @@
         <location filename="../map/CMapIMG.cpp" line="382"/>
         <location filename="../map/CMapIMG.cpp" line="383"/>
         <source>State park</source>
-        <translation type="unfinished"></translation>
+        <translation>Staatspark</translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="384"/>
@@ -1168,7 +1188,7 @@
         <location filename="../map/CMapIMG.cpp" line="388"/>
         <location filename="../map/CMapIMG.cpp" line="398"/>
         <source>Blue (unknown)</source>
-        <translation type="unfinished"></translation>
+        <translation>Blauw (onbekend</translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="387"/>
@@ -1198,57 +1218,57 @@
         <location filename="../map/CMapIMG.cpp" line="395"/>
         <location filename="../map/CMapIMG.cpp" line="396"/>
         <source>Major lake</source>
-        <translation type="unfinished"></translation>
+        <translation>Belangrijk meer</translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="399"/>
         <source>Major River</source>
-        <translation type="unfinished"></translation>
+        <translation>Belangrijke rivier</translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="400"/>
         <source>Large River</source>
-        <translation type="unfinished"></translation>
+        <translation>Groot rivier</translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="401"/>
         <source>Medium River</source>
-        <translation type="unfinished"></translation>
+        <translation>Middelmatig rivier</translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="402"/>
         <source>Small River</source>
-        <translation type="unfinished"></translation>
+        <translation>Klein rivier</translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="405"/>
         <source>Intermittent water</source>
-        <translation type="unfinished"></translation>
+        <translation>Intermitterende water</translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="406"/>
         <source>Wetland/Swamp</source>
-        <translation type="unfinished"></translation>
+        <translation>Moeras</translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="407"/>
         <source>Glacier</source>
-        <translation type="unfinished"></translation>
+        <translation>Gletsjer</translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="408"/>
         <source>Orchard/Plantation</source>
-        <translation type="unfinished"></translation>
+        <translation>Boomgaard/Plantage</translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="409"/>
         <source>Scrub</source>
-        <translation type="unfinished"></translation>
+        <translation>Struikgewas</translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="410"/>
         <source>Tundra</source>
-        <translation type="unfinished"></translation>
+        <translation>Toendra</translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="411"/>
@@ -1263,33 +1283,33 @@
     <message>
         <location filename="../map/CMapIMG.cpp" line="448"/>
         <source>Failed to read: </source>
-        <translation type="unfinished"></translation>
+        <translation>Lezen mislukt:</translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="491"/>
         <source>Failed to open: </source>
-        <translation type="unfinished"></translation>
+        <translation>Openen mislukt:</translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="515"/>
         <location filename="../map/CMapIMG.cpp" line="519"/>
         <source>Bad file format: </source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Verkeerd bestandsformaat:</translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="608"/>
         <source>Failed to read file structure: </source>
-        <translation type="unfinished"></translation>
+        <translation>Lezen bestandsstructuur mislukt:</translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="643"/>
         <source>Loading %1</source>
-        <translation type="unfinished"></translation>
+        <translation>Laden %1</translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="649"/>
         <source>User abort: </source>
-        <translation type="unfinished"></translation>
+        <translation>Afgebroken door gebruiker: </translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="652"/>
@@ -1302,26 +1322,26 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="2500"/>
-        <location filename="../map/CMapIMG.cpp" line="2508"/>
+        <location filename="../map/CMapIMG.cpp" line="2504"/>
         <location filename="../map/CMapIMG.cpp" line="2512"/>
-        <location filename="../map/CMapIMG.cpp" line="2517"/>
-        <location filename="../map/CMapIMG.cpp" line="2563"/>
-        <location filename="../map/CMapIMG.cpp" line="2571"/>
+        <location filename="../map/CMapIMG.cpp" line="2516"/>
+        <location filename="../map/CMapIMG.cpp" line="2521"/>
+        <location filename="../map/CMapIMG.cpp" line="2567"/>
         <location filename="../map/CMapIMG.cpp" line="2575"/>
-        <location filename="../map/CMapIMG.cpp" line="2580"/>
+        <location filename="../map/CMapIMG.cpp" line="2579"/>
+        <location filename="../map/CMapIMG.cpp" line="2584"/>
         <source>Point of Interest</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="2707"/>
+        <location filename="../map/CMapIMG.cpp" line="2711"/>
         <source>Unknown</source>
         <translation>Onbekend</translation>
     </message>
     <message>
-        <location filename="../map/CMapIMG.cpp" line="2753"/>
-        <location filename="../map/CMapIMG.cpp" line="2761"/>
-        <location filename="../map/CMapIMG.cpp" line="2768"/>
+        <location filename="../map/CMapIMG.cpp" line="2757"/>
+        <location filename="../map/CMapIMG.cpp" line="2765"/>
+        <location filename="../map/CMapIMG.cpp" line="2772"/>
         <source>Area</source>
         <translation>Gebied</translation>
     </message>
@@ -1341,7 +1361,7 @@
     <message>
         <location filename="../map/CMapList.cpp" line="174"/>
         <source>Where do you want to store maps?</source>
-        <translation type="unfinished"></translation>
+        <translation>Waar moeten de kaarten opgeslagen worden?</translation>
     </message>
 </context>
 <context>
@@ -1349,17 +1369,17 @@
     <message>
         <location filename="../map/CMapMAP.cpp" line="46"/>
         <source>Failed ...</source>
-        <translation type="unfinished"></translation>
+        <translation></translation>
     </message>
     <message>
         <location filename="../map/CMapMAP.cpp" line="63"/>
         <source>Failed to open: </source>
-        <translation type="unfinished"></translation>
+        <translation>Openen mislukt:</translation>
     </message>
     <message>
         <location filename="../map/CMapMAP.cpp" line="73"/>
         <source>Bad file format: </source>
-        <translation type="unfinished"></translation>
+        <translation>Verkeerd bestandsformaat:</translation>
     </message>
 </context>
 <context>
@@ -1367,7 +1387,7 @@
     <message>
         <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 type="unfinished"></translation>
+        <translation>Maak of verwijder mappen naar kaarten.-Er kunnen meerdere kaarten in een map zijn maar geen submappen Ondersteunende formaten zijn: %1</translation>
     </message>
     <message>
         <location filename="../map/CMapPathSetup.cpp" line="62"/>
@@ -1397,17 +1417,17 @@
     <message>
         <location filename="../map/CMapRMAP.cpp" line="48"/>
         <source>This is not a TwoNav RMAP file.</source>
-        <translation type="unfinished"></translation>
+        <translation>Dit is geen TwoNav RMAP bestand.</translation>
     </message>
     <message>
         <location filename="../map/CMapRMAP.cpp" line="57"/>
         <source>Unknown sub-format.</source>
-        <translation type="unfinished"></translation>
+        <translation>Onbekend sub formaat.</translation>
     </message>
     <message>
         <location filename="../map/CMapRMAP.cpp" line="127"/>
         <source>Unknown version.</source>
-        <translation type="unfinished"></translation>
+        <translation>Onbekende versie.</translation>
     </message>
     <message>
         <location filename="../map/CMapRMAP.cpp" line="144"/>
@@ -1415,47 +1435,49 @@
         <location filename="../map/CMapRMAP.cpp" line="187"/>
         <location filename="../map/CMapRMAP.cpp" line="209"/>
         <source>Failed to read reference point.</source>
-        <translation type="unfinished"></translation>
+        <translation>Kan geen referentiepunten lezen.</translation>
     </message>
     <message>
         <location filename="../map/CMapRMAP.cpp" line="237"/>
         <source>Unknown projection and datum (%1%2).</source>
-        <translation type="unfinished"></translation>
+        <translation>Onbekende projectie en datum (%1%2).</translation>
     </message>
 </context>
 <context>
     <name>CMapTMS</name>
     <message>
-        <location filename="../map/CMapTMS.cpp" line="71"/>
-        <location filename="../map/CMapTMS.cpp" line="81"/>
-        <location filename="../map/CMapTMS.cpp" line="140"/>
+        <location filename="../map/CMapTMS.cpp" line="67"/>
+        <location filename="../map/CMapTMS.cpp" line="77"/>
+        <location filename="../map/CMapTMS.cpp" line="136"/>
         <source>Error...</source>
         <translation>Fout...</translation>
     </message>
     <message>
-        <location filename="../map/CMapTMS.cpp" line="71"/>
+        <location filename="../map/CMapTMS.cpp" line="67"/>
         <source>Failed to open %1</source>
-        <translation type="unfinished"></translation>
+        <translation>Openen mislukt-%1</translation>
     </message>
     <message>
-        <location filename="../map/CMapTMS.cpp" line="81"/>
+        <location filename="../map/CMapTMS.cpp" line="77"/>
         <source>Failed to read: %1
 line %2, column %3:
  %4</source>
-        <translation type="unfinished"></translation>
+        <translation>Lezen mislukt: %1
+lijn %2, kolom %3:
+ %4</translation>
     </message>
     <message>
-        <location filename="../map/CMapTMS.cpp" line="119"/>
+        <location filename="../map/CMapTMS.cpp" line="115"/>
         <source>Layer %1</source>
-        <translation type="unfinished"></translation>
+        <translation>Laag-%1</translation>
     </message>
     <message>
-        <location filename="../map/CMapTMS.cpp" line="134"/>
+        <location filename="../map/CMapTMS.cpp" line="130"/>
         <source>This map requires OpenSSL support. However due to legal restrictions in some countries OpenSSL is not packaged with QMapShack. You can have a look at the <a href='https://www.openssl.org/community/binaries.html'>OpenSSL Homepage</a> for binaries. You have to copy libeay32.dll and ssleay32.dll into the QMapShack program directory.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../map/CMapTMS.cpp" line="311"/>
+        <location filename="../map/CMapTMS.cpp" line="306"/>
         <source><b>%1</b>: %2 tiles pending<br/></source>
         <translation type="unfinished"></translation>
     </message>
@@ -1463,28 +1485,28 @@ line %2, column %3:
 <context>
     <name>CMapVRT</name>
     <message>
-        <location filename="../map/CMapVRT.cpp" line="47"/>
-        <location filename="../map/CMapVRT.cpp" line="61"/>
+        <location filename="../map/CMapVRT.cpp" line="45"/>
+        <location filename="../map/CMapVRT.cpp" line="60"/>
         <location filename="../map/CMapVRT.cpp" line="89"/>
-        <location filename="../map/CMapVRT.cpp" line="125"/>
+        <location filename="../map/CMapVRT.cpp" line="126"/>
         <source>Error...</source>
         <translation>Fout...</translation>
     </message>
     <message>
-        <location filename="../map/CMapVRT.cpp" line="47"/>
-        <location filename="../map/CMapVRT.cpp" line="61"/>
+        <location filename="../map/CMapVRT.cpp" line="45"/>
+        <location filename="../map/CMapVRT.cpp" line="60"/>
         <source>Failed to load file: %1</source>
-        <translation type="unfinished"></translation>
+        <translation>Bestand laden mislukt: %1</translation>
     </message>
     <message>
         <location filename="../map/CMapVRT.cpp" line="89"/>
         <source>File must be 8 bit palette or gray indexed.</source>
-        <translation type="unfinished"></translation>
+        <translation>Bestand moet 8 bit kleur of grijs geindexeerd zijn.</translation>
     </message>
     <message>
-        <location filename="../map/CMapVRT.cpp" line="125"/>
+        <location filename="../map/CMapVRT.cpp" line="126"/>
         <source>No georeference information found.</source>
-        <translation type="unfinished"></translation>
+        <translation>Geen geografische gegevens gevonden.</translation>
     </message>
 </context>
 <context>
@@ -1497,15 +1519,15 @@ line %2, column %3:
     <message>
         <location filename="../tool/CMapVrtBuilder.cpp" line="46"/>
         <source>Select files...</source>
-        <translation type="unfinished"></translation>
+        <translation>Selecteer bestanden...</translation>
     </message>
     <message>
         <location filename="../tool/CMapVrtBuilder.cpp" line="70"/>
         <source>Select target file...</source>
-        <translation type="unfinished"></translation>
+        <translation>Selecteer doel bestand...</translation>
     </message>
     <message>
-        <location filename="../tool/CMapVrtBuilder.cpp" line="125"/>
+        <location filename="../tool/CMapVrtBuilder.cpp" line="114"/>
         <source>!!! done !!!
 </source>
         <translation>!!! klaar !!!
@@ -1515,50 +1537,53 @@ line %2, column %3:
 <context>
     <name>CMapWMTS</name>
     <message>
-        <location filename="../map/CMapWMTS.cpp" line="46"/>
-        <location filename="../map/CMapWMTS.cpp" line="56"/>
-        <location filename="../map/CMapWMTS.cpp" line="66"/>
-        <location filename="../map/CMapWMTS.cpp" line="75"/>
-        <location filename="../map/CMapWMTS.cpp" line="160"/>
-        <location filename="../map/CMapWMTS.cpp" line="220"/>
+        <location filename="../map/CMapWMTS.cpp" line="43"/>
+        <location filename="../map/CMapWMTS.cpp" line="53"/>
+        <location filename="../map/CMapWMTS.cpp" line="63"/>
+        <location filename="../map/CMapWMTS.cpp" line="72"/>
+        <location filename="../map/CMapWMTS.cpp" line="157"/>
+        <location filename="../map/CMapWMTS.cpp" line="217"/>
         <source>Error...</source>
         <translation>Fout...</translation>
     </message>
     <message>
-        <location filename="../map/CMapWMTS.cpp" line="46"/>
+        <location filename="../map/CMapWMTS.cpp" line="43"/>
         <source>Failed to open %1</source>
-        <translation type="unfinished"></translation>
+        <translation>Openen mislukt-%1</translation>
     </message>
     <message>
-        <location filename="../map/CMapWMTS.cpp" line="56"/>
+        <location filename="../map/CMapWMTS.cpp" line="53"/>
         <source>Failed to read: %1
 line %2, column %3:
  %4</source>
-        <translation type="unfinished"></translation>
+        <translation>Lezen mislukt: %1
+lijn %2, kolom %3:
+ %4</translation>
     </message>
     <message>
-        <location filename="../map/CMapWMTS.cpp" line="66"/>
+        <location filename="../map/CMapWMTS.cpp" line="63"/>
         <source>Failed to read: %1
 Unknown structure.</source>
-        <translation type="unfinished"></translation>
+        <translation>Lezen mislukt: %1
+Onbekende structuur.</translation>
     </message>
     <message>
-        <location filename="../map/CMapWMTS.cpp" line="75"/>
-        <source>Unexpexted service. '* WMTS 1.0.0' is expected. '%1 %2' is read.</source>
+        <location filename="../map/CMapWMTS.cpp" line="72"/>
+        <source>Unexpected service. '* WMTS 1.0.0' is expected. '%1 %2' is read.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../map/CMapWMTS.cpp" line="154"/>
+        <location filename="../map/CMapWMTS.cpp" line="151"/>
         <source>This map requires OpenSSL support. However due to legal restrictions in some countries OpenSSL is not packaged with QMapShack. You can have a look at the <a href='https://www.openssl.org/community/binaries.html'>OpenSSL Homepage</a> for binaries. You have to copy libeay32.dll and ssleay32.dll into the QMapShack program directory.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../map/CMapWMTS.cpp" line="220"/>
+        <location filename="../map/CMapWMTS.cpp" line="217"/>
         <source>No georeference information found.</source>
-        <translation type="unfinished"></translation>
+        <translation>Geen geografische gegevens gevonden.</translation>
     </message>
     <message>
-        <location filename="../map/CMapWMTS.cpp" line="416"/>
+        <location filename="../map/CMapWMTS.cpp" line="413"/>
         <source><b>%1</b>: %2 tiles pending<br/></source>
         <translation type="unfinished"></translation>
     </message>
@@ -1569,12 +1594,12 @@ Unknown structure.</source>
         <location filename="../mouse/CMouseEditArea.cpp" line="28"/>
         <location filename="../mouse/CMouseEditArea.cpp" line="35"/>
         <source>Area</source>
-        <translation type="unfinished"></translation>
+        <translation>Gebied</translation>
     </message>
     <message>
         <location filename="../mouse/CMouseEditArea.cpp" line="37"/>
         <source><b>Edit Area</b><br/>Select a function and a routing mode via the tool buttons. Next select a point of the line. Only points marked with a large square can be changed. The ones with a black dot are subpoints introduced by routing.<br/></source>
-        <translation type="unfinished"></translation>
+        <translation><b>Bewerk gebied</b><br/>Selecteer een functie en een routeoptie via de gereedschapknoppen. Selecteer dan een punt op de lijn. Alleen zwarte vierkante punten kunnen gewijzigd worden. De ronde zwarte subpunten niet.<br/></translation>
     </message>
 </context>
 <context>
@@ -1588,78 +1613,78 @@ Unknown structure.</source>
     <message>
         <location filename="../mouse/CMouseEditRte.cpp" line="39"/>
         <source><b>Edit Route Points</b><br/>Select a function and a routing mode via the tool buttons. Next select a point of the line. Only points marked with a large square can be changed. The ones with a black dot are subpoints introduced by routing.<br/></source>
-        <translation type="unfinished"></translation>
+        <translation><b>Bewerk route punten</b><br/>Selecteer een functie en een routeoptie via de gereedschapknoppen. Selecteer dan een punt op de lijn. Alleen zwarte vierkante punten kunnen gewijzigd worden. De ronde zwarte subpunten niet.<br/></translation>
     </message>
 </context>
 <context>
     <name>CMouseEditTrk</name>
     <message>
         <location filename="../mouse/CMouseEditTrk.cpp" line="28"/>
-        <location filename="../mouse/CMouseEditTrk.cpp" line="36"/>
+        <location filename="../mouse/CMouseEditTrk.cpp" line="35"/>
         <source>Track</source>
         <translation>Track</translation>
     </message>
     <message>
-        <location filename="../mouse/CMouseEditTrk.cpp" line="39"/>
+        <location filename="../mouse/CMouseEditTrk.cpp" line="38"/>
         <source><b>Edit Track Points</b><br/>Select a function and a routing mode via the tool buttons. Next select a point of the line. Only points marked with a large square can be changed. The ones with a black dot are subpoints introduced by routing.<br/></source>
-        <translation type="unfinished"></translation>
+        <translation><b>Bewerk track punten</b><br/>Selecteer een functie en een routeoptie via de gereedschapknoppen. Selecteer dan een punt op de lijn. Alleen zwarte vierkante punten kunnen gewijzigd worden. De ronde zwarte subpunten niet.<br/></translation>
     </message>
     <message>
-        <location filename="../mouse/CMouseEditTrk.cpp" line="81"/>
+        <location filename="../mouse/CMouseEditTrk.cpp" line="80"/>
         <source>Warning!</source>
-        <translation type="unfinished"></translation>
+        <translation>Waarschuwing!</translation>
     </message>
     <message>
-        <location filename="../mouse/CMouseEditTrk.cpp" line="81"/>
-        <source>This will replace all data of the orignal by a simple line of coordinates. All other data will be lost permanently.</source>
+        <location filename="../mouse/CMouseEditTrk.cpp" line="80"/>
+        <source>This will replace all data of the original by a simple line of coordinates. All other data will be lost permanently.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>CMouseNormal</name>
     <message>
-        <location filename="../mouse/CMouseNormal.cpp" line="41"/>
+        <location filename="../mouse/CMouseNormal.cpp" line="39"/>
         <source>Add Waypoint</source>
-        <translation type="unfinished"></translation>
+        <translation>Maak waypoint</translation>
     </message>
     <message>
-        <location filename="../mouse/CMouseNormal.cpp" line="42"/>
+        <location filename="../mouse/CMouseNormal.cpp" line="40"/>
         <source>Add Track</source>
-        <translation type="unfinished"></translation>
+        <translation>Maak track</translation>
     </message>
     <message>
-        <location filename="../mouse/CMouseNormal.cpp" line="43"/>
+        <location filename="../mouse/CMouseNormal.cpp" line="41"/>
         <source>Add Route</source>
-        <translation type="unfinished"></translation>
+        <translation>Maak route</translation>
     </message>
     <message>
-        <location filename="../mouse/CMouseNormal.cpp" line="44"/>
+        <location filename="../mouse/CMouseNormal.cpp" line="42"/>
         <source>Add Area</source>
-        <translation type="unfinished"></translation>
+        <translation>Maak gebied</translation>
     </message>
     <message>
-        <location filename="../mouse/CMouseNormal.cpp" line="47"/>
+        <location filename="../mouse/CMouseNormal.cpp" line="45"/>
         <source>Copy position</source>
-        <translation type="unfinished"></translation>
+        <translation>Kopieer positie</translation>
     </message>
     <message>
-        <location filename="../mouse/CMouseNormal.cpp" line="48"/>
+        <location filename="../mouse/CMouseNormal.cpp" line="46"/>
         <source>Copy position (Grid)</source>
-        <translation type="unfinished"></translation>
+        <translation>Kopieer positie (Raster)</translation>
     </message>
 </context>
 <context>
     <name>CMousePrint</name>
     <message>
-        <location filename="../mouse/CMousePrint.cpp" line="38"/>
+        <location filename="../mouse/CMousePrint.cpp" line="30"/>
         <source><b>Save(Print) Map</b><br/>Select a rectangular area on the map. Use the left mouse button and move the mouse. Abort with a right click. Adjust the selection by point-click-move on the corners. Save/print the selection by a left click on the disc/printer icon in the center of the selection.</source>
-        <translation type="unfinished"></translation>
+        <translation><b>Opslaan of afdrukken kaart</b><br>Selecteer een rechthoekig deel van de kaart. Gebruik de linkertoets van de muis en beweeg deze. Annuleer door een rechter klik. Stel in door een hoek met linker muisknop te bewegen. Opslaan of afdrukken kan door op het icoon te klikken in het midden van de geselecteerde kaart.</translation>
     </message>
 </context>
 <context>
     <name>CMouseRangeTrk</name>
     <message>
-        <location filename="../mouse/CMouseRangeTrk.cpp" line="44"/>
+        <location filename="../mouse/CMouseRangeTrk.cpp" line="42"/>
         <source><b>Select Range</b><br/>Select first track point. And then a second one.<br/></source>
         <translation type="unfinished"></translation>
     </message>
@@ -1667,7 +1692,7 @@ Unknown structure.</source>
 <context>
     <name>CPhotoAlbum</name>
     <message>
-        <location filename="../helpers/CPhotoAlbum.cpp" line="72"/>
+        <location filename="../widgets/CPhotoAlbum.cpp" line="73"/>
         <source>Select images...</source>
         <translation>Selecteer afbeeldingen...</translation>
     </message>
@@ -1675,35 +1700,31 @@ Unknown structure.</source>
 <context>
     <name>CPlotDistance</name>
     <message>
-        <location filename="../plot/CPlotDistance.cpp" line="58"/>
         <source>distance [%1]</source>
-        <translation>afstand [%1]</translation>
+        <translation type="vanished">afstand [%1]</translation>
     </message>
     <message>
-        <location filename="../plot/CPlotDistance.cpp" line="62"/>
         <source>time</source>
-        <translation>tijd</translation>
+        <translation type="vanished">tijd</translation>
     </message>
     <message>
-        <location filename="../plot/CPlotDistance.cpp" line="64"/>
         <source>distance. [%1]</source>
-        <translation>afstand. [%1]</translation>
+        <translation type="vanished">afstand. [%1]</translation>
     </message>
 </context>
 <context>
     <name>CPlotProfile</name>
     <message>
-        <location filename="../plot/CPlotProfile.cpp" line="65"/>
+        <location filename="../plot/CPlotProfile.cpp" line="63"/>
         <source>distance [%1]</source>
         <translation>afstand [%1]</translation>
     </message>
     <message>
-        <location filename="../plot/CPlotProfile.cpp" line="69"/>
         <source>time [h]</source>
-        <translation>tijd [u]</translation>
+        <translation type="vanished">tijd [u]</translation>
     </message>
     <message>
-        <location filename="../plot/CPlotProfile.cpp" line="71"/>
+        <location filename="../plot/CPlotProfile.cpp" line="64"/>
         <source>alt. [%1]</source>
         <translation>hoogte [%1]</translation>
     </message>
@@ -1711,45 +1732,42 @@ Unknown structure.</source>
 <context>
     <name>CPlotSpeed</name>
     <message>
-        <location filename="../plot/CPlotSpeed.cpp" line="57"/>
         <source>distance [%1]</source>
-        <translation>afstand [%1]</translation>
+        <translation type="vanished">afstand [%1]</translation>
     </message>
     <message>
-        <location filename="../plot/CPlotSpeed.cpp" line="61"/>
         <source>time [h]</source>
-        <translation>tijd [u]</translation>
+        <translation type="vanished">tijd [u]</translation>
     </message>
     <message>
-        <location filename="../plot/CPlotSpeed.cpp" line="63"/>
         <source>speed. [%1]</source>
-        <translation>snelheid. [%1]</translation>
+        <translation type="vanished">snelheid. [%1]</translation>
     </message>
 </context>
 <context>
     <name>CPrintDialog</name>
     <message>
-        <location filename="../print/CPrintDialog.cpp" line="68"/>
+        <location filename="../print/CPrintDialog.cpp" line="67"/>
         <source>Print Map...</source>
         <translation>Kaart afdrukken...</translation>
     </message>
     <message>
-        <location filename="../print/CPrintDialog.cpp" line="75"/>
+        <location filename="../print/CPrintDialog.cpp" line="74"/>
         <source>Save Map as Image...</source>
-        <translation>Druk kaar af als afbeelding...</translation>
+        <translation>Sla kaart op  als afbeelding...</translation>
     </message>
     <message>
-        <location filename="../print/CPrintDialog.cpp" line="95"/>
+        <location filename="../print/CPrintDialog.cpp" line="94"/>
         <source>Printer Properties...</source>
         <translation>Printer instellingen...</translation>
     </message>
     <message>
-        <location filename="../print/CPrintDialog.cpp" line="170"/>
+        <location filename="../print/CPrintDialog.cpp" line="169"/>
         <source>Pages: %1 x %2</source>
         <translation>Pagina's: %1 x %2</translation>
     </message>
     <message>
-        <location filename="../print/CPrintDialog.cpp" line="171"/>
+        <location filename="../print/CPrintDialog.cpp" line="170"/>
         <source>Zoom with mouse wheel on map below to change resolution:
 
 %1x%2 pixel
@@ -1762,12 +1780,12 @@ x: %3 m/px
 y: %4 m/px</translation>
     </message>
     <message>
-        <location filename="../print/CPrintDialog.cpp" line="217"/>
+        <location filename="../print/CPrintDialog.cpp" line="216"/>
         <source>Printing pages.</source>
         <translation>Pagina's afdrukken.</translation>
     </message>
     <message>
-        <location filename="../print/CPrintDialog.cpp" line="259"/>
+        <location filename="../print/CPrintDialog.cpp" line="260"/>
         <source>Save map...</source>
         <translation>Kaart opslaan...</translation>
     </message>
@@ -1788,22 +1806,22 @@ y: %4 m/px</translation>
 <context>
     <name>CProjWizard</name>
     <message>
-        <location filename="../grid/CProjWizard.cpp" line="57"/>
+        <location filename="../grid/CProjWizard.cpp" line="62"/>
         <source>north</source>
         <translation>noord</translation>
     </message>
     <message>
-        <location filename="../grid/CProjWizard.cpp" line="58"/>
+        <location filename="../grid/CProjWizard.cpp" line="63"/>
         <source>south</source>
         <translation>zuid</translation>
     </message>
     <message>
-        <location filename="../grid/CProjWizard.cpp" line="215"/>
+        <location filename="../grid/CProjWizard.cpp" line="221"/>
         <source>Error...</source>
         <translation>Fout...</translation>
     </message>
     <message>
-        <location filename="../grid/CProjWizard.cpp" line="215"/>
+        <location filename="../grid/CProjWizard.cpp" line="221"/>
         <source>The value
 '%1'
 is not a valid coordinate system definition:
@@ -1832,37 +1850,37 @@ is geen geldig coordinaat definitie:
     <message>
         <location filename="../qlgt/CQlgtDb.cpp" line="308"/>
         <source>Migrating database from version 4 to 5.</source>
-        <translation type="unfinished"></translation>
+        <translation>Migreren database van versie 4 naar 5.</translation>
     </message>
     <message>
         <location filename="../qlgt/CQlgtDb.cpp" line="362"/>
         <source>Migrating database from version 5 to 6.</source>
-        <translation type="unfinished"></translation>
+        <translation>Migreren database van versie 5 naar 6.</translation>
     </message>
     <message>
         <location filename="../qlgt/CQlgtDb.cpp" line="420"/>
         <source>Migrating database from version 6 to 7.</source>
-        <translation type="unfinished"></translation>
+        <translation>Migreren database van versie 6 naar 7.</translation>
     </message>
     <message>
         <location filename="../qlgt/CQlgtDb.cpp" line="486"/>
         <source>Migrating database from version 7 to 8.</source>
-        <translation type="unfinished"></translation>
+        <translation>Migreren database van versie 7 naar 8.</translation>
     </message>
     <message>
         <location filename="../qlgt/CQlgtDb.cpp" line="515"/>
         <source>Migrating database from version 8 to 9.</source>
-        <translation type="unfinished"></translation>
+        <translation>Migreren database van versie 8 naar 9.</translation>
     </message>
     <message>
         <location filename="../qlgt/CQlgtDb.cpp" line="538"/>
         <source>Open database: %1</source>
-        <translation type="unfinished"></translation>
+        <translation>Open database: %1</translation>
     </message>
     <message>
         <location filename="../qlgt/CQlgtDb.cpp" line="547"/>
         <source>Folders:          %1</source>
-        <translation type="unfinished"></translation>
+        <translation>Mappen:          %1</translation>
     </message>
     <message>
         <location filename="../qlgt/CQlgtDb.cpp" line="556"/>
@@ -1907,12 +1925,12 @@ is geen geldig coordinaat definitie:
     <message>
         <location filename="../qlgt/CQlgtDb.cpp" line="605"/>
         <source>------ Abort ------</source>
-        <translation type="unfinished"></translation>
+        <translation>------ Geannuleerd ------</translation>
     </message>
     <message>
         <location filename="../qlgt/CQlgtDb.cpp" line="633"/>
         <source>------ Done ------</source>
-        <translation type="unfinished"></translation>
+        <translation>------ Klaar ------</translation>
     </message>
     <message>
         <location filename="../qlgt/CQlgtDb.cpp" line="641"/>
@@ -1932,7 +1950,7 @@ is geen geldig coordinaat definitie:
     <message>
         <location filename="../qlgt/CQlgtDb.cpp" line="685"/>
         <source>Imported %1 tracks, %2 waypoints, %3 routes, %4 areas</source>
-        <translation type="unfinished"></translation>
+        <translation>Geimporteerd %1 tracks, %2 waypoints, %3 routes, %4 gebieden</translation>
     </message>
     <message>
         <location filename="../qlgt/CQlgtDb.cpp" line="686"/>
@@ -1963,7 +1981,7 @@ is geen geldig coordinaat definitie:
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../qlgt/CQmsDb.cpp" line="162"/>
+        <location filename="../qlgt/CQmsDb.cpp" line="163"/>
         <source>%1: drop item with QLGT DB ID %2</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2063,7 +2081,7 @@ is geen geldig coordinaat definitie:
     <message>
         <location filename="../gis/rte/router/CRouterMapQuest.cpp" line="147"/>
         <source>no unpaved</source>
-        <translation>niet onverhard</translation>
+        <translation>onverhard</translation>
     </message>
     <message>
         <location filename="../gis/rte/router/CRouterMapQuest.cpp" line="158"/>
@@ -2095,224 +2113,224 @@ is geen geldig coordinaat definitie:
 <context>
     <name>CRouterRoutino</name>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="59"/>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="249"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="55"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="238"/>
         <source>Warning...</source>
         <translation>Waarschuwing...</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="59"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="55"/>
         <source>Found Routino with a wrong version. Expected %1 found %2</source>
         <translation>Routini gevonden met verkeerde versie. Verwachtte %1 gevonden %2</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="63"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="59"/>
         <source>Shortest</source>
         <translation>Kortst</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="64"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="60"/>
         <source>Quickest</source>
         <translation>Snelst</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="89"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="78"/>
         <source>Foot</source>
-        <translation>Wandelend</translation>
+        <translation>Wandelen</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="90"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="79"/>
         <source>Horse</source>
         <translation>Paard</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="91"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="80"/>
         <source>Wheelchair</source>
         <translation>Rolstoel</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="92"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="81"/>
         <source>Bicycle</source>
         <translation>Fiets</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="93"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="82"/>
         <source>Moped</source>
         <translation>Brommer</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="94"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="83"/>
         <source>Motorcycle</source>
         <translation>Motorfiets</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="95"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="84"/>
         <source>Motorcar</source>
         <translation>Auto</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="96"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="85"/>
         <source>Goods</source>
         <translation>Goederen</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="98"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="87"/>
         <source>English</source>
         <translation>Engels</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="99"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="88"/>
         <source>German</source>
         <translation>Duits</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="100"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="89"/>
         <source>French</source>
         <translation>Frans</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="101"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="90"/>
         <source>Hungarian</source>
         <translation>Hongaars</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="102"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="91"/>
         <source>Dutch</source>
         <translation>Nederlands</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="103"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="92"/>
         <source>Russian</source>
         <translation>Russisch</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="104"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="93"/>
         <source>Polish</source>
         <translation>Pools</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="139"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="128"/>
         <source>A function was called without the database variable set.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="142"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="131"/>
         <source>A function was called without the profile variable set.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="145"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="134"/>
         <source>A function was called without the translation variable set.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="148"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="137"/>
         <source>The specified database to load did not exist.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="151"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="140"/>
         <source>The specified database could not be loaded.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="154"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="143"/>
         <source>The specified profiles XML file did not exist.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="157"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="146"/>
         <source>The specified profiles XML file could not be loaded.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="160"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="149"/>
         <source>The specified translations XML file did not exist.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="163"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="152"/>
         <source>The specified translations XML file could not be loaded.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="166"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="155"/>
         <source>The requested profile name does not exist in the loaded XML file.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="169"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="158"/>
         <source>The requested translation language does not exist in the loaded XML file.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="172"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="161"/>
         <source>There is no highway near the coordinates to place a waypoint.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="175"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="164"/>
         <source>The profile and database do not work together.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="178"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="167"/>
         <source>The profile being used has not been validated.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="181"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="170"/>
         <source>The user specified profile contained invalid data.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="184"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="173"/>
         <source>The routing options specified are not consistent with each other.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="187"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="176"/>
         <source>There is a mismatch between the library and caller API version.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="190"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="179"/>
         <source>Route calculation was aborted by user.</source>
-        <translation type="unfinished"></translation>
+        <translation>Berekening route was geanuleerd door gebruiker.</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="196"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="185"/>
         <source>A route could not be found to waypoint %1.</source>
-        <translation type="unfinished"></translation>
+        <translation>Er kon geen route gevonden worden naar waypoint %1.</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="199"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="188"/>
         <source>Unknown error: %1</source>
         <translation>Onbekende fout: %1</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="211"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="200"/>
         <source>profile "%1"</source>
-        <translation type="unfinished"></translation>
+        <translation>Profiel "%1"</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="212"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="201"/>
         <source>, mode "%1"</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="249"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="238"/>
         <source>%1: Due to limitations in the Windows POSIX API Routino can't handle files larger than 4GB.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="353"/>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="440"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="342"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="429"/>
         <source>Calculate route with %1</source>
         <translation>Bereken route met %1</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="361"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="350"/>
         <source><br/>Calculation time: %1s</source>
         <translation><br/>Berekenen tijd: %1s</translation>
     </message>
@@ -2346,22 +2364,22 @@ is geen geldig coordinaat definitie:
 <context>
     <name>CRoutinoDatabaseBuilder</name>
     <message>
-        <location filename="../tool/CRoutinoDatabaseBuilder.cpp" line="38"/>
+        <location filename="../tool/CRoutinoDatabaseBuilder.cpp" line="32"/>
         <source>Create Routino Database</source>
-        <translation type="unfinished"></translation>
+        <translation>Maak Routino database</translation>
     </message>
     <message>
-        <location filename="../tool/CRoutinoDatabaseBuilder.cpp" line="62"/>
+        <location filename="../tool/CRoutinoDatabaseBuilder.cpp" line="56"/>
         <source>Select files...</source>
-        <translation type="unfinished"></translation>
+        <translation>Selecteer bestanden...</translation>
     </message>
     <message>
-        <location filename="../tool/CRoutinoDatabaseBuilder.cpp" line="86"/>
+        <location filename="../tool/CRoutinoDatabaseBuilder.cpp" line="80"/>
         <source>Select target path...</source>
-        <translation type="unfinished"></translation>
+        <translation>Selecteer doel map...</translation>
     </message>
     <message>
-        <location filename="../tool/CRoutinoDatabaseBuilder.cpp" line="147"/>
+        <location filename="../tool/CRoutinoDatabaseBuilder.cpp" line="141"/>
         <source>!!! done !!!
 </source>
         <translation>!!! klaar !!!
@@ -2409,18 +2427,18 @@ is geen geldig coordinaat definitie:
     <message>
         <location filename="../gis/db/CSetupWorkspace.cpp" line="51"/>
         <source>Setup database...</source>
-        <translation type="unfinished"></translation>
+        <translation>Instelling database...</translation>
     </message>
     <message>
         <location filename="../gis/db/CSetupWorkspace.cpp" line="51"/>
         <source>Changes will become active after an application's restart.</source>
-        <translation type="unfinished"></translation>
+        <translation>Veranderingen zullen na herstart toegepast worden.</translation>
     </message>
 </context>
 <context>
     <name>CTextEditWidget</name>
     <message>
-        <location filename="../helpers/CTextEditWidget.cpp" line="73"/>
+        <location filename="../widgets/CTextEditWidget.cpp" line="73"/>
         <source>&Color...</source>
         <translation>&Kleur...</translation>
     </message>
@@ -2433,121 +2451,149 @@ is geen geldig coordinaat definitie:
         <translation>Over...</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="49"/>
+        <location filename="../IAbout.ui" line="55"/>
         <source><b>QMapShack</b>, Version</source>
         <translation><b>QMapShack<b>, Versie</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="56"/>
-        <location filename="../IAbout.ui" line="100"/>
-        <location filename="../IAbout.ui" line="114"/>
-        <location filename="../IAbout.ui" line="128"/>
-        <location filename="../IAbout.ui" line="142"/>
+        <location filename="../IAbout.ui" line="62"/>
+        <location filename="../IAbout.ui" line="106"/>
+        <location filename="../IAbout.ui" line="120"/>
+        <location filename="../IAbout.ui" line="134"/>
+        <location filename="../IAbout.ui" line="148"/>
         <source>TextLabel</source>
         <translation>TextLabel</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="93"/>
+        <location filename="../IAbout.ui" line="99"/>
         <source>Qt</source>
         <translation>Qt</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="107"/>
+        <location filename="../IAbout.ui" line="113"/>
         <source>GDAL</source>
         <translation>GDAL</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="121"/>
+        <location filename="../IAbout.ui" line="127"/>
         <source>Proj4</source>
         <translation>Proj4</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="135"/>
+        <location filename="../IAbout.ui" line="141"/>
         <source>Routino</source>
         <translation>Routino</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="160"/>
+        <location filename="../IAbout.ui" line="166"/>
         <source>Rainer Unseld </source>
         <translation>Rainer Unseld</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="167"/>
+        <location filename="../IAbout.ui" line="173"/>
         <source>French</source>
         <translation>Frans</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="174"/>
+        <location filename="../IAbout.ui" line="180"/>
         <source>Czech</source>
         <translation>Tsjechisch</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="181"/>
+        <location filename="../IAbout.ui" line="187"/>
         <source>Pavel Fric</source>
         <translation>Pavel Fric</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="188"/>
+        <location filename="../IAbout.ui" line="194"/>
         <source>German</source>
         <translation>Duits</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="195"/>
-        <source>Translation:</source>
-        <translation>Vertaling:</translation>
+        <location filename="../IAbout.ui" line="201"/>
+        <source><b>Translation:</b></source>
+        <translation><b>Vertaling:</b></translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="202"/>
-        <source>Josef Latt</source>
+        <location filename="../IAbout.ui" line="229"/>
+        <source>Dutch</source>
+        <translation type="unfinished">Nederlands</translation>
+    </message>
+    <message>
+        <location filename="../IAbout.ui" line="236"/>
+        <source>Harrie Klomp</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../IAbout.ui" line="295"/>
+        <source><b>Binaries:</b></source>
+        <translation><b>Binaries::</b></translation>
+    </message>
+    <message>
+        <location filename="../IAbout.ui" line="311"/>
+        <source><b>Contributors:</b></source>
+        <translation><b>Medewerkerss:</b></translation>
+    </message>
+    <message>
+        <location filename="../IAbout.ui" line="318"/>
+        <source>Christian Eichler (qms at christian-eichler.de)</source>
+        <translation>Christian Eichler (qms at christian-eichler.de)</translation>
+    </message>
+    <message>
+        <source>Translation:</source>
+        <translation type="vanished">Vertaling:</translation>
+    </message>
+    <message>
+        <location filename="../IAbout.ui" line="208"/>
+        <source>Josef Latt</source>
         <translation>Josef Latt</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="209"/>
+        <location filename="../IAbout.ui" line="215"/>
         <source>Spanish</source>
         <translation>Spaans</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="216"/>
+        <location filename="../IAbout.ui" line="222"/>
         <source>Jose Luis Domingo Lopez</source>
         <translation>Jose Luis Domingo Lopez</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="234"/>
+        <location filename="../IAbout.ui" line="254"/>
         <source>Ivo Kronenberg</source>
         <translation>Ivo Kronenberg</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="241"/>
+        <location filename="../IAbout.ui" line="261"/>
         <source>Helmut Schmidt</source>
         <translation>Helmut Schmidt</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="248"/>
+        <location filename="../IAbout.ui" line="268"/>
         <source>Win64</source>
         <translation>Win64</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="255"/>
+        <location filename="../IAbout.ui" line="275"/>
         <source>OS X</source>
         <translation>OS X</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="262"/>
+        <location filename="../IAbout.ui" line="282"/>
         <source>...and thanks to all Linux binary maintainers for doing a great job. Special thanks to Dan Horák and Bas Couwenberg for showing presence on the mailing list to discuss distribution related topics.</source>
-        <translation type="unfinished"></translation>
+        <translation>..en een dank naar alle Linux binarie beheerders voor het geleverde werk. Speciale dank aan  Dan Horák en Bas Couwenberg voor het tonen van hun aanwezigheid op de mailinglijst om de distributie-gerelateerde onderwerpen te bespreken.</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="275"/>
         <source>Binaries:</source>
-        <translation type="unfinished"></translation>
+        <translation type="vanished">Binaries:</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="291"/>
+        <location filename="../IAbout.ui" line="332"/>
         <source>This software is licensed under GPL3 or any later version</source>
-        <translation type="unfinished"></translation>
+        <translation>Deze software is gelicenseerd onder GPL3 of latere versies</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="298"/>
+        <location filename="../IAbout.ui" line="339"/>
         <source>© 2014 Oliver Eichler (oliver.eichler at gmx.de)</source>
         <translation>© 2014 Oliver Eichler (oliver.eichler at gmx.de)</translation>
     </message>
@@ -2557,12 +2603,12 @@ is geen geldig coordinaat definitie:
     <message>
         <location filename="../canvas/ICanvasSetup.ui" line="14"/>
         <source>Setup Map View...</source>
-        <translation type="unfinished"></translation>
+        <translation>Kaartinstellingen...</translation>
     </message>
     <message>
         <location filename="../canvas/ICanvasSetup.ui" line="22"/>
         <source>Projection & Datum</source>
-        <translation type="unfinished"></translation>
+        <translation>Projectie & Datum</translation>
     </message>
     <message>
         <location filename="../canvas/ICanvasSetup.ui" line="32"/>
@@ -2572,17 +2618,17 @@ is geen geldig coordinaat definitie:
     <message>
         <location filename="../canvas/ICanvasSetup.ui" line="53"/>
         <source>Scales</source>
-        <translation type="unfinished"></translation>
+        <translation>Schalen</translation>
     </message>
     <message>
         <location filename="../canvas/ICanvasSetup.ui" line="59"/>
         <source>Logarithmic</source>
-        <translation type="unfinished"></translation>
+        <translation>Logarithmisch</translation>
     </message>
     <message>
         <location filename="../canvas/ICanvasSetup.ui" line="66"/>
         <source>Square (optimized for TMS and WTMS tiles)</source>
-        <translation type="unfinished"></translation>
+        <translation>Vierkant (optimaal voor TMS en WTMS delen)</translation>
     </message>
 </context>
 <context>
@@ -2609,7 +2655,7 @@ is geen geldig coordinaat definitie:
         <translation>Coördinaat formaat...</translation>
     </message>
     <message>
-        <location filename="../units/ICoordFormatSetup.ui" line="22"/>
+        <location filename="../units/ICoordFormatSetup.ui" line="36"/>
         <source>N48° 53.660 E013° 31.113</source>
         <translation>N48° 53.660 O013° 31.113</translation>
     </message>
@@ -2619,7 +2665,7 @@ is geen geldig coordinaat definitie:
         <translation>N48.8943° O013.51855°</translation>
     </message>
     <message>
-        <location filename="../units/ICoordFormatSetup.ui" line="36"/>
+        <location filename="../units/ICoordFormatSetup.ui" line="22"/>
         <source>N48° 53' 39.6" E13° 31' 6.78"</source>
         <translation>N48° 53' 39.6" O13° 31' 6.78"</translation>
     </message>
@@ -2639,11 +2685,48 @@ is geen geldig coordinaat definitie:
     </message>
 </context>
 <context>
+    <name>ICutTrk</name>
+    <message>
+        <location filename="../gis/trk/ICutTrk.ui" line="14"/>
+        <source>Cut Track</source>
+        <translation>Track knippen</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/ICutTrk.ui" line="20"/>
+        <source>Delete first part of the track and keep second one</source>
+        <translation>Verwijder eerste deel van track en bewaar tweede deel</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/ICutTrk.ui" line="27"/>
+        <source>Keep both parts of the track</source>
+        <translation>Bewaar beide delen van track</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/ICutTrk.ui" line="37"/>
+        <source>Keep first part of the track and delete second one</source>
+        <translation>Bewaar eerste deel van track en verwijder tweede deel</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/ICutTrk.ui" line="60"/>
+        <source>Check this to store the result into a new track. 
+
+If you keep both parts of the track you have to create new ones. 
+
+If you want to keep just one half you can simply remove the points, or check this to create a new track.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/ICutTrk.ui" line="67"/>
+        <source>Create a new track</source>
+        <translation>Maak een nieuwe track</translation>
+    </message>
+</context>
+<context>
     <name>IDemPathSetup</name>
     <message>
         <location filename="../dem/IDemPathSetup.ui" line="14"/>
-        <source>Setup DEM file pathss</source>
-        <translation type="unfinished"></translation>
+        <source>Setup DEM file paths</source>
+        <translation>Map met DEM bestanden instellen</translation>
     </message>
     <message>
         <location filename="../dem/IDemPathSetup.ui" line="31"/>
@@ -2667,7 +2750,7 @@ is geen geldig coordinaat definitie:
     <message>
         <location filename="../dem/IDemPropSetup.ui" line="35"/>
         <source><html><head/><body><p>Change opacity of map</p></body></html></source>
-        <translation type="unfinished"></translation>
+        <translation><html><head/><body><p>Verander transparantie van kaart</p></body></html></translation>
     </message>
     <message>
         <location filename="../dem/IDemPropSetup.ui" line="50"/>
@@ -2698,20 +2781,32 @@ is geen geldig coordinaat definitie:
     <message>
         <location filename="../dem/IDemPropSetup.ui" line="144"/>
         <source>Slope </source>
-        <translation type="unfinished"></translation>
+        <translation>Helling </translation>
     </message>
     <message>
-        <location filename="../dem/IDemPropSetup.ui" line="186"/>
-        <location filename="../dem/IDemPropSetup.ui" line="193"/>
-        <location filename="../dem/IDemPropSetup.ui" line="200"/>
-        <location filename="../dem/IDemPropSetup.ui" line="207"/>
         <location filename="../dem/IDemPropSetup.ui" line="226"/>
-        <location filename="../dem/IDemPropSetup.ui" line="245"/>
-        <location filename="../dem/IDemPropSetup.ui" line="264"/>
-        <location filename="../dem/IDemPropSetup.ui" line="271"/>
-        <location filename="../dem/IDemPropSetup.ui" line="278"/>
-        <location filename="../dem/IDemPropSetup.ui" line="297"/>
-        <location filename="../dem/IDemPropSetup.ui" line="304"/>
+        <location filename="../dem/IDemPropSetup.ui" line="326"/>
+        <location filename="../dem/IDemPropSetup.ui" line="410"/>
+        <location filename="../dem/IDemPropSetup.ui" line="494"/>
+        <location filename="../dem/IDemPropSetup.ui" line="578"/>
+        <source>°</source>
+        <translation>°</translation>
+    </message>
+    <message>
+        <location filename="../dem/IDemPropSetup.ui" line="229"/>
+        <location filename="../dem/IDemPropSetup.ui" line="329"/>
+        <location filename="../dem/IDemPropSetup.ui" line="413"/>
+        <location filename="../dem/IDemPropSetup.ui" line="497"/>
+        <location filename="../dem/IDemPropSetup.ui" line="581"/>
+        <source>> </source>
+        <translation>> </translation>
+    </message>
+    <message>
+        <location filename="../dem/IDemPropSetup.ui" line="251"/>
+        <location filename="../dem/IDemPropSetup.ui" line="270"/>
+        <location filename="../dem/IDemPropSetup.ui" line="354"/>
+        <location filename="../dem/IDemPropSetup.ui" line="438"/>
+        <location filename="../dem/IDemPropSetup.ui" line="522"/>
         <source>TextLabel</source>
         <translation>Benaming</translation>
     </message>
@@ -2736,7 +2831,7 @@ is geen geldig coordinaat definitie:
     <message>
         <location filename="../dem/IDemList.ui" line="156"/>
         <source>Activate</source>
-        <translation type="unfinished"></translation>
+        <translation>Activeer</translation>
     </message>
 </context>
 <context>
@@ -2744,7 +2839,7 @@ is geen geldig coordinaat definitie:
     <message>
         <location filename="../gis/wpt/IDetailsGeoCache.ui" line="20"/>
         <source>Dialog</source>
-        <translation>Dialog</translation>
+        <translation>Dialoog</translation>
     </message>
     <message>
         <location filename="../gis/wpt/IDetailsGeoCache.ui" line="40"/>
@@ -2809,7 +2904,7 @@ is geen geldig coordinaat definitie:
     <message>
         <location filename="../gis/ovl/IDetailsOvlArea.ui" line="14"/>
         <source>Dialog</source>
-        <translation>Dialog</translation>
+        <translation>Dialoog</translation>
     </message>
     <message>
         <location filename="../gis/ovl/IDetailsOvlArea.ui" line="44"/>
@@ -2819,12 +2914,12 @@ is geen geldig coordinaat definitie:
     <message>
         <location filename="../gis/ovl/IDetailsOvlArea.ui" line="69"/>
         <source><html><head/><body><p>The waypoint was imported to QMapShack and was changed. It does not show the original data anymore. Please see history for changes. </p></body></html></source>
-        <translation type="unfinished"></translation>
+        <translation><html><head/><body><p>Het waypoint was geimporteerd naar QMapShack en is aangepast. Het bevat geen orginele gegevens meer. Bekijk historie voor veranderingen. </p></body></html></translation>
     </message>
     <message>
         <location filename="../gis/ovl/IDetailsOvlArea.ui" line="85"/>
         <source>Toggle read only mode. You have to open the lock to edit the item.</source>
-        <translation type="unfinished"></translation>
+        <translation>Schrijfbeveiliging ingeschakeld. Klik op het slot om te kunnen bewerken.</translation>
     </message>
     <message>
         <location filename="../gis/ovl/IDetailsOvlArea.ui" line="88"/>
@@ -2839,7 +2934,7 @@ is geen geldig coordinaat definitie:
     <message>
         <location filename="../gis/ovl/IDetailsOvlArea.ui" line="139"/>
         <source>Border width</source>
-        <translation type="unfinished"></translation>
+        <translation>Lijndikte</translation>
     </message>
     <message>
         <location filename="../gis/ovl/IDetailsOvlArea.ui" line="153"/>
@@ -2920,7 +3015,7 @@ is geen geldig coordinaat definitie:
     <message>
         <location filename="../gis/prj/IDetailsPrj.ui" line="115"/>
         <source>Print diary</source>
-        <translation type="unfinished"></translation>
+        <translation>Dagboek afdrukken</translation>
     </message>
     <message>
         <location filename="../gis/prj/IDetailsPrj.ui" line="135"/>
@@ -2943,12 +3038,12 @@ is geen geldig coordinaat definitie:
     <message>
         <location filename="../gis/rte/IDetailsRte.ui" line="97"/>
         <source><html><head/><body><p>The waypoint was imported to QMapShack and was changed. It does not show the original data anymore. Please see history for changes. </p></body></html></source>
-        <translation type="unfinished"></translation>
+        <translation><html><head/><body><p>Het waypoint was geimporteerd naar QMapShack en is aangepast. Het bevat geen orginele gegevens meer. Bekijk historie voor veranderingen. </p></body></html></translation>
     </message>
     <message>
         <location filename="../gis/rte/IDetailsRte.ui" line="113"/>
         <source>Toggle read only mode. You have to open the lock to edit the item.</source>
-        <translation type="unfinished"></translation>
+        <translation>Schrijfbeveiliging ingeschakeld. Klik op het slot om te kunnen bewerken.</translation>
     </message>
     <message>
         <location filename="../gis/rte/IDetailsRte.ui" line="116"/>
@@ -2956,7 +3051,7 @@ is geen geldig coordinaat definitie:
         <translation>...</translation>
     </message>
     <message>
-        <location filename="../gis/rte/IDetailsRte.ui" line="173"/>
+        <location filename="../gis/rte/IDetailsRte.ui" line="176"/>
         <source>Hist.</source>
         <translation>Hist.</translation>
     </message>
@@ -2978,118 +3073,161 @@ is geen geldig coordinaat definitie:
 -</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="203"/>
         <source>Graph Control</source>
-        <translation>Grafieken</translation>
+        <translation type="vanished">Grafieken</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="224"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="533"/>
         <source>Profile</source>
-        <translation type="unfinished"></translation>
+        <translation>Profiel</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="231"/>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="545"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="702"/>
         <source>Speed</source>
         <translation>Snelheid</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="238"/>
-        <source>Progress</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="248"/>
         <source>Track</source>
-        <translation>Track</translation>
+        <translation type="vanished">Track</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="274"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="163"/>
         <source>Toggle read only mode. You have to open the lock to edit the item.</source>
-        <translation type="unfinished"></translation>
+        <translation>Schrijfbeveiliging ingeschakeld. Klik op het slot om te kunnen bewerken.</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="277"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="166"/>
         <source>...</source>
         <translation>...</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="307"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="202"/>
         <source><html><head/><body><p>The waypoint was imported to QMapShack and was changed. It does not show the original data anymore. Please see history for changes. </p></body></html></source>
-        <translation type="unfinished"></translation>
+        <translation><html><head/><body><p>Het waypoint was geimporteerd naar QMapShack en is aangepast. Het bevat geen orginele gegevens meer. Bekijk historie voor veranderingen. </p></body></html></translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="335"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="227"/>
         <source>-</source>
         <translation>-</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="377"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="266"/>
         <source>Info</source>
         <translation>Info</translation>
     </message>
     <message>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="298"/>
+        <source>Style</source>
+        <translation>Stijl</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="340"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="434"/>
+        <source>from Data</source>
+        <translation>uit gegevens</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="353"/>
+        <source>Source</source>
+        <translation>Bron</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="376"/>
+        <source>Maximum</source>
+        <translation>Maximum</translation>
+    </message>
+    <message>
         <location filename="../gis/trk/IDetailsTrk.ui" line="405"/>
+        <source>Minimum</source>
+        <translation>Minimum</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="447"/>
+        <source>Solid color</source>
+        <translation>Vaste kleur</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="495"/>
+        <source>Graphs</source>
+        <translation>Grafieken</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="540"/>
+        <source>Graph 3</source>
+        <translation>Grafiek 3</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="547"/>
+        <source>Graph 2</source>
+        <translation>Grafiek 2</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="554"/>
+        <source>Graph 1</source>
+        <translation>Grafiek 1</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="562"/>
         <source>Activity</source>
-        <translation type="unfinished"></translation>
+        <translation>Activiteit</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="450"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="607"/>
         <source>To differentiate the track statistics select an activity from the list for the complete track. Or select a part of the track to assign an activity.</source>
-        <translation type="unfinished"></translation>
+        <translation>Om de track statistieken te onderscheiden selecteer een activiteit uit de lijst voor de volledige track. Of selecteer een deel van de track om een activieteit toe te kennen.</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="477"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="634"/>
         <source>Points</source>
         <translation>Punten</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="525"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="682"/>
         <source>Time</source>
         <translation>Tijd</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="530"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="687"/>
         <source>Ele.</source>
-        <translation type="unfinished"></translation>
+        <translation>Hoogte.</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="535"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="692"/>
         <source>Delta</source>
-        <translation type="unfinished"></translation>
+        <translation>Delta</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="540"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="697"/>
         <source>Dist.</source>
-        <translation type="unfinished"></translation>
+        <translation>Afstand.</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="550"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="707"/>
         <source>Slope</source>
-        <translation type="unfinished"></translation>
+        <translation>Helling</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="555"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="712"/>
         <source>Ascend</source>
-        <translation type="unfinished"></translation>
+        <translation>Stijging</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="560"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="717"/>
         <source>Descend</source>
-        <translation type="unfinished"></translation>
+        <translation>Daling</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="565"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="722"/>
         <source>Position</source>
         <translation>Positie</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="574"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="731"/>
         <source>Filter</source>
         <translation>Filter</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="611"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="768"/>
         <source>Hist.</source>
         <translation>Hist.</translation>
     </message>
@@ -3099,7 +3237,7 @@ is geen geldig coordinaat definitie:
     <message>
         <location filename="../gis/wpt/IDetailsWpt.ui" line="14"/>
         <source>Dialog</source>
-        <translation type="unfinished"></translation>
+        <translation>Dialoog</translation>
     </message>
     <message>
         <location filename="../gis/wpt/IDetailsWpt.ui" line="43"/>
@@ -3123,22 +3261,22 @@ is geen geldig coordinaat definitie:
     <message>
         <location filename="../gis/wpt/IDetailsWpt.ui" line="97"/>
         <source>Ele.</source>
-        <translation type="unfinished"></translation>
+        <translation>Hoogte.</translation>
     </message>
     <message>
         <location filename="../gis/wpt/IDetailsWpt.ui" line="123"/>
         <source>Proximity:</source>
-        <translation type="unfinished"></translation>
+        <translation>Nabijheid:</translation>
     </message>
     <message>
         <location filename="../gis/wpt/IDetailsWpt.ui" line="205"/>
         <source><html><head/><body><p>The waypoint was imported to QMapShack and was changed. It does not show the original data anymore. Please see history for changes. </p></body></html></source>
-        <translation type="unfinished"></translation>
+        <translation><html><head/><body><p>Het waypoint was geimporteerd naar QMapShack en is aangepast. Het bevat geen orginele gegevens meer. Bekijk historie voor veranderingen. </p></body></html></translation>
     </message>
     <message>
         <location filename="../gis/wpt/IDetailsWpt.ui" line="221"/>
         <source>Toggle read only mode. You have to open the lock to edit the item.</source>
-        <translation type="unfinished"></translation>
+        <translation>Schrijfbeveiliging ingeschakeld. Klik op het slot om te kunnen bewerken.</translation>
     </message>
     <message>
         <location filename="../gis/wpt/IDetailsWpt.ui" line="224"/>
@@ -3156,12 +3294,12 @@ is geen geldig coordinaat definitie:
     <message>
         <location filename="../gis/wpt/IDetailsWpt.ui" line="276"/>
         <source>Add images.</source>
-        <translation type="unfinished"></translation>
+        <translation>Afbeelding toevoegen.</translation>
     </message>
     <message>
         <location filename="../gis/wpt/IDetailsWpt.ui" line="296"/>
         <source>Delete selected image.</source>
-        <translation type="unfinished"></translation>
+        <translation>Verwijder geselecteerde afbeelding.</translation>
     </message>
     <message>
         <location filename="../gis/wpt/IDetailsWpt.ui" line="350"/>
@@ -3174,12 +3312,12 @@ is geen geldig coordinaat definitie:
     <message>
         <location filename="../helpers/IElevationDialog.ui" line="14"/>
         <source>Edit elevation...</source>
-        <translation type="unfinished"></translation>
+        <translation>Bewerk hoogte...</translation>
     </message>
     <message>
         <location filename="../helpers/IElevationDialog.ui" line="22"/>
         <source>Elevation</source>
-        <translation type="unfinished"></translation>
+        <translation>Hoogte</translation>
     </message>
     <message>
         <location filename="../helpers/IElevationDialog.ui" line="32"/>
@@ -3189,7 +3327,7 @@ is geen geldig coordinaat definitie:
     <message>
         <location filename="../helpers/IElevationDialog.ui" line="39"/>
         <source>Get elevation from active digital elevation model.</source>
-        <translation type="unfinished"></translation>
+        <translation>Neem hoogte gegevens over van DEM (digital elevation model).</translation>
     </message>
     <message>
         <location filename="../helpers/IElevationDialog.ui" line="42"/>
@@ -3207,12 +3345,12 @@ is geen geldig coordinaat definitie:
     <message>
         <location filename="../gis/trk/filter/IFilterDelete.ui" line="51"/>
         <source><b>Remove Track Points</b></source>
-        <translation type="unfinished"></translation>
+        <translation><b>Verwijder trackpunten</b></translation>
     </message>
     <message>
         <location filename="../gis/trk/filter/IFilterDelete.ui" line="63"/>
         <source>Remove all hidden track points permanently.</source>
-        <translation type="unfinished"></translation>
+        <translation>Verwijder permanent alle verborgen trackpunten.</translation>
     </message>
     <message>
         <location filename="../gis/trk/filter/IFilterDelete.ui" line="70"/>
@@ -3230,12 +3368,12 @@ is geen geldig coordinaat definitie:
     <message>
         <location filename="../gis/trk/filter/IFilterDouglasPeuker.ui" line="45"/>
         <source><b>Hide Points (Douglas Peuker)</b></source>
-        <translation type="unfinished"></translation>
+        <translation><b>Verberg punten (Douglas Peuker)</b></translation>
     </message>
     <message>
         <location filename="../gis/trk/filter/IFilterDouglasPeuker.ui" line="57"/>
         <source>Hide track points if the distance to a line between neighboring points is less than</source>
-        <translation type="unfinished"></translation>
+        <translation>Verberg trackpunten wanneer de afstand tussen naaste punten minder is dan</translation>
     </message>
     <message>
         <location filename="../gis/trk/filter/IFilterDouglasPeuker.ui" line="70"/>
@@ -3245,7 +3383,7 @@ is geen geldig coordinaat definitie:
     <message>
         <location filename="../gis/trk/filter/IFilterDouglasPeuker.ui" line="93"/>
         <source>Apply filter now.</source>
-        <translation type="unfinished"></translation>
+        <translation>Nu filter toepassen.</translation>
     </message>
     <message>
         <location filename="../gis/trk/filter/IFilterDouglasPeuker.ui" line="96"/>
@@ -3254,6 +3392,29 @@ is geen geldig coordinaat definitie:
     </message>
 </context>
 <context>
+    <name>IFilterInvalid</name>
+    <message>
+        <location filename="../gis/trk/filter/IFilterInvalid.ui" line="14"/>
+        <source>Form</source>
+        <translation>Formulier</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/filter/IFilterInvalid.ui" line="41"/>
+        <source>Hide Invalid Points</source>
+        <translation>Verberg ongeldige punten</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/filter/IFilterInvalid.ui" line="56"/>
+        <source>Hide points with invalid coordinates at the beginning of the track.</source>
+        <translation>Verberg punten met ongeldige coördinaten naar het begin van de track.</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/filter/IFilterInvalid.ui" line="63"/>
+        <source>...</source>
+        <translation>...</translation>
+    </message>
+</context>
+<context>
     <name>IFilterMedian</name>
     <message>
         <location filename="../gis/trk/filter/IFilterMedian.ui" line="14"/>
@@ -3263,12 +3424,12 @@ is geen geldig coordinaat definitie:
     <message>
         <location filename="../gis/trk/filter/IFilterMedian.ui" line="51"/>
         <source><b>Smooth Profile (Median Method)</b></source>
-        <translation type="unfinished"></translation>
+        <translation><b>Vloeiend profiel (Mediaans methode)</b></translation>
     </message>
     <message>
         <location filename="../gis/trk/filter/IFilterMedian.ui" line="63"/>
         <source>Smooth deviation of the track points elevation with a Median filter of size </source>
-        <translation type="unfinished"></translation>
+        <translation>Vloeiend hoogteverschil van trackpunten-maken met een Mediaans filter van </translation>
     </message>
     <message>
         <location filename="../gis/trk/filter/IFilterMedian.ui" line="76"/>
@@ -3291,17 +3452,17 @@ is geen geldig coordinaat definitie:
     <message>
         <location filename="../gis/trk/filter/IFilterNewDate.ui" line="35"/>
         <source><b>Change Time</b></source>
-        <translation type="unfinished"></translation>
+        <translation><b>Verander tijd</b></translation>
     </message>
     <message>
         <location filename="../gis/trk/filter/IFilterNewDate.ui" line="44"/>
         <source>Change start of track to </source>
-        <translation type="unfinished"></translation>
+        <translation>Verander start van track naar </translation>
     </message>
     <message>
         <location filename="../gis/trk/filter/IFilterNewDate.ui" line="51"/>
         <source>dd.MM.yy HH:mm:ss</source>
-        <translation type="unfinished"></translation>
+        <translation>dd.MM.yy UU:mm:ss</translation>
     </message>
     <message>
         <location filename="../gis/trk/filter/IFilterNewDate.ui" line="61"/>
@@ -3324,12 +3485,12 @@ is geen geldig coordinaat definitie:
     <message>
         <location filename="../gis/trk/filter/IFilterObscureDate.ui" line="45"/>
         <source><b>Obscure Timestamps</b></source>
-        <translation type="unfinished"></translation>
+        <translation><b>Onduidelijke tijdstempels</b></translation>
     </message>
     <message>
         <location filename="../gis/trk/filter/IFilterObscureDate.ui" line="54"/>
         <source>Increase timestamp by</source>
-        <translation type="unfinished"></translation>
+        <translation>Verhoog tijdstempels met</translation>
     </message>
     <message>
         <location filename="../gis/trk/filter/IFilterObscureDate.ui" line="61"/>
@@ -3339,7 +3500,7 @@ is geen geldig coordinaat definitie:
     <message>
         <location filename="../gis/trk/filter/IFilterObscureDate.ui" line="68"/>
         <source>with each track point. 0 sec. will remove timestamps.</source>
-        <translation type="unfinished"></translation>
+        <translation>voor elk trackpunt. 0 sec. zal tijdstempels verwijderen.</translation>
     </message>
     <message>
         <location filename="../gis/trk/filter/IFilterObscureDate.ui" line="88"/>
@@ -3385,12 +3546,12 @@ is geen geldig coordinaat definitie:
     <message>
         <location filename="../gis/trk/filter/IFilterReplaceElevation.ui" line="51"/>
         <source><b>Replace Elevation Data</b></source>
-        <translation type="unfinished"></translation>
+        <translation><b>Vervang hoogtegegevens</b></translation>
     </message>
     <message>
         <location filename="../gis/trk/filter/IFilterReplaceElevation.ui" line="63"/>
         <source>Replace elevation of track points with the values from loaded DEM files.</source>
-        <translation type="unfinished"></translation>
+        <translation>Vervang hoogte van trackpunten met gegevens van geladen DEM bestand.</translation>
     </message>
     <message>
         <location filename="../gis/trk/filter/IFilterReplaceElevation.ui" line="70"/>
@@ -3408,12 +3569,12 @@ is geen geldig coordinaat definitie:
     <message>
         <location filename="../gis/trk/filter/IFilterReset.ui" line="35"/>
         <source><b>Reset Hidden Track Points</b></source>
-        <translation type="unfinished"></translation>
+        <translation><b>Herstel verborgen trackpunten</b></translation>
     </message>
     <message>
         <location filename="../gis/trk/filter/IFilterReset.ui" line="47"/>
         <source>Make all trackpoints visible again.</source>
-        <translation type="unfinished"></translation>
+        <translation>Maak alle trackpunten weer zichtbaar.</translation>
     </message>
     <message>
         <location filename="../gis/trk/filter/IFilterReset.ui" line="54"/>
@@ -3436,7 +3597,7 @@ is geen geldig coordinaat definitie:
     <message>
         <location filename="../gis/trk/filter/IFilterSpeed.ui" line="44"/>
         <source>Set speed to </source>
-        <translation type="unfinished"></translation>
+        <translation>Zet snelheid op </translation>
     </message>
     <message>
         <location filename="../gis/trk/filter/IFilterSpeed.ui" line="51"/>
@@ -3473,17 +3634,17 @@ is geen geldig coordinaat definitie:
     <message>
         <location filename="../grid/IGridSetup.ui" line="14"/>
         <source>Setup Grid...</source>
-        <translation type="unfinished"></translation>
+        <translation>Raster instelling...</translation>
     </message>
     <message>
         <location filename="../grid/IGridSetup.ui" line="22"/>
         <source>Projection</source>
-        <translation type="unfinished"></translation>
+        <translation>Projectie</translation>
     </message>
     <message>
         <location filename="../grid/IGridSetup.ui" line="37"/>
         <source>restore default</source>
-        <translation type="unfinished"></translation>
+        <translation>standaardinstellingen herstellen</translation>
     </message>
     <message>
         <location filename="../grid/IGridSetup.ui" line="40"/>
@@ -3496,22 +3657,22 @@ is geen geldig coordinaat definitie:
     <message>
         <location filename="../grid/IGridSetup.ui" line="63"/>
         <source>Get projection from current map.</source>
-        <translation type="unfinished"></translation>
+        <translation>Neem projectie van huidige kaart.</translation>
     </message>
     <message>
         <location filename="../grid/IGridSetup.ui" line="89"/>
         <source>projection wizzard</source>
-        <translation type="unfinished"></translation>
+        <translation>projectie wizzard</translation>
     </message>
     <message>
         <location filename="../grid/IGridSetup.ui" line="130"/>
         <source>Grid color</source>
-        <translation type="unfinished"></translation>
+        <translation>Rasterkleur</translation>
     </message>
     <message>
         <location filename="../grid/IGridSetup.ui" line="143"/>
         <source>setup grid color</source>
-        <translation type="unfinished"></translation>
+        <translation>Instelling rasterkleur</translation>
     </message>
 </context>
 <context>
@@ -3530,7 +3691,7 @@ is geen geldig coordinaat definitie:
     <message>
         <location filename="../tool/IImportDatabase.ui" line="45"/>
         <source>Source Database:</source>
-        <translation type="unfinished"></translation>
+        <translation>Bron database:</translation>
     </message>
     <message>
         <location filename="../tool/IImportDatabase.ui" line="52"/>
@@ -3541,7 +3702,7 @@ is geen geldig coordinaat definitie:
     <message>
         <location filename="../tool/IImportDatabase.ui" line="86"/>
         <source>Target Database:</source>
-        <translation type="unfinished"></translation>
+        <translation>Doel database:</translation>
     </message>
     <message>
         <location filename="../tool/IImportDatabase.ui" line="102"/>
@@ -3606,12 +3767,12 @@ is geen geldig coordinaat definitie:
     <message>
         <location filename="../IMainWindow.ui" line="80"/>
         <source>View</source>
-        <translation type="unfinished"></translation>
+        <translation>Instellingen</translation>
     </message>
     <message>
         <location filename="../IMainWindow.ui" line="102"/>
         <source>Window</source>
-        <translation type="unfinished"></translation>
+        <translation>Venster</translation>
     </message>
     <message>
         <location filename="../IMainWindow.ui" line="107"/>
@@ -3626,7 +3787,7 @@ is geen geldig coordinaat definitie:
     <message>
         <location filename="../IMainWindow.ui" line="124"/>
         <source>Tool</source>
-        <translation type="unfinished"></translation>
+        <translation>Extra</translation>
     </message>
     <message>
         <location filename="../IMainWindow.ui" line="149"/>
@@ -3636,12 +3797,12 @@ is geen geldig coordinaat definitie:
     <message>
         <location filename="../IMainWindow.ui" line="192"/>
         <source>Dig. Elev. Model (DEM)</source>
-        <translation type="unfinished"></translation>
+        <translation>Dig. Elev. Model (DEM)</translation>
     </message>
     <message>
         <location filename="../IMainWindow.ui" line="231"/>
         <source>Data</source>
-        <translation type="unfinished"></translation>
+        <translation>Gegevens</translation>
     </message>
     <message>
         <location filename="../IMainWindow.ui" line="249"/>
@@ -3652,7 +3813,7 @@ is geen geldig coordinaat definitie:
         <location filename="../IMainWindow.ui" line="283"/>
         <location filename="../IMainWindow.ui" line="286"/>
         <source>Add Map View</source>
-        <translation type="unfinished"></translation>
+        <translation>Nieuw venster</translation>
     </message>
     <message>
         <location filename="../IMainWindow.ui" line="289"/>
@@ -3667,12 +3828,12 @@ is geen geldig coordinaat definitie:
     <message>
         <location filename="../IMainWindow.ui" line="310"/>
         <source>Setup Map Font</source>
-        <translation type="unfinished"></translation>
+        <translation>Lettertype kaart instellen</translation>
     </message>
     <message>
         <location filename="../IMainWindow.ui" line="322"/>
         <source>Show Grid</source>
-        <translation type="unfinished"></translation>
+        <translation>Toon raster</translation>
     </message>
     <message>
         <location filename="../IMainWindow.ui" line="325"/>
@@ -3682,7 +3843,7 @@ is geen geldig coordinaat definitie:
     <message>
         <location filename="../IMainWindow.ui" line="334"/>
         <source>Setup Grid</source>
-        <translation type="unfinished"></translation>
+        <translation>Raster instellen</translation>
     </message>
     <message>
         <location filename="../IMainWindow.ui" line="337"/>
@@ -3692,13 +3853,13 @@ is geen geldig coordinaat definitie:
     <message>
         <location filename="../IMainWindow.ui" line="349"/>
         <source>Flip Mouse Wheel</source>
-        <translation type="unfinished"></translation>
+        <translation>Draai muiswiel om</translation>
     </message>
     <message>
         <location filename="../IMainWindow.ui" line="358"/>
         <location filename="../IMainWindow.ui" line="361"/>
         <source>Setup Map Paths</source>
-        <translation type="unfinished"></translation>
+        <translation>Map met kaarten instellen</translation>
     </message>
     <message>
         <location filename="../IMainWindow.ui" line="373"/>
@@ -3708,7 +3869,7 @@ is geen geldig coordinaat definitie:
     <message>
         <location filename="../IMainWindow.ui" line="385"/>
         <source>Night / Day</source>
-        <translation type="unfinished"></translation>
+        <translation>Dag/Nacht</translation>
     </message>
     <message>
         <location filename="../IMainWindow.ui" line="397"/>
@@ -3723,7 +3884,7 @@ is geen geldig coordinaat definitie:
     <message>
         <location filename="../IMainWindow.ui" line="409"/>
         <source>Setup DEM Paths</source>
-        <translation type="unfinished"></translation>
+        <translation>Map DEM instellen</translation>
     </message>
     <message>
         <location filename="../IMainWindow.ui" line="418"/>
@@ -3739,17 +3900,17 @@ is geen geldig coordinaat definitie:
         <location filename="../IMainWindow.ui" line="436"/>
         <location filename="../IMainWindow.ui" line="439"/>
         <source>Setup Map View</source>
-        <translation type="unfinished"></translation>
+        <translation>Kaartinstellingen</translation>
     </message>
     <message>
         <location filename="../IMainWindow.ui" line="448"/>
         <source>Load GIS Data</source>
-        <translation type="unfinished"></translation>
+        <translation>GIS gegevens laden</translation>
     </message>
     <message>
         <location filename="../IMainWindow.ui" line="451"/>
         <source>Load projects from file</source>
-        <translation type="unfinished"></translation>
+        <translation>Project laden uit bestand</translation>
     </message>
     <message>
         <location filename="../IMainWindow.ui" line="454"/>
@@ -3759,12 +3920,12 @@ is geen geldig coordinaat definitie:
     <message>
         <location filename="../IMainWindow.ui" line="463"/>
         <source>Save All GIS Data</source>
-        <translation type="unfinished"></translation>
+        <translation>GIS gegevens opslaan</translation>
     </message>
     <message>
         <location filename="../IMainWindow.ui" line="466"/>
         <source>Save all projects in the workspace</source>
-        <translation type="unfinished"></translation>
+        <translation>Sla alle projecten op in werkruimte</translation>
     </message>
     <message>
         <location filename="../IMainWindow.ui" line="469"/>
@@ -3774,22 +3935,22 @@ is geen geldig coordinaat definitie:
     <message>
         <location filename="../IMainWindow.ui" line="478"/>
         <source>Setup Time Zone</source>
-        <translation type="unfinished"></translation>
+        <translation>Tijdzone instellen</translation>
     </message>
     <message>
         <location filename="../IMainWindow.ui" line="487"/>
         <source>Add empty project</source>
-        <translation type="unfinished"></translation>
+        <translation>Nieuw leeg project</translation>
     </message>
     <message>
         <location filename="../IMainWindow.ui" line="499"/>
         <source>Search Google</source>
-        <translation type="unfinished"></translation>
+        <translation>Zoeken Google</translation>
     </message>
     <message>
         <location filename="../IMainWindow.ui" line="508"/>
         <source>Close all projects</source>
-        <translation type="unfinished"></translation>
+        <translation>Sluit alle projecten</translation>
     </message>
     <message>
         <location filename="../IMainWindow.ui" line="511"/>
@@ -3799,27 +3960,27 @@ is geen geldig coordinaat definitie:
     <message>
         <location filename="../IMainWindow.ui" line="520"/>
         <source>Setup Units</source>
-        <translation type="unfinished"></translation>
+        <translation>Eenheden instellen</translation>
     </message>
     <message>
         <location filename="../IMainWindow.ui" line="529"/>
         <source>Setup Workspace</source>
-        <translation type="unfinished"></translation>
+        <translation>Werkruimte instellen</translation>
     </message>
     <message>
         <location filename="../IMainWindow.ui" line="532"/>
         <source>Setup save on exit.</source>
-        <translation type="unfinished"></translation>
+        <translation>Oplaan bij afsluiten instellen.</translation>
     </message>
     <message>
         <location filename="../IMainWindow.ui" line="541"/>
         <source>Import Database from QLandkarte</source>
-        <translation type="unfinished"></translation>
+        <translation>Database van QLandkarte importeren</translation>
     </message>
     <message>
         <location filename="../IMainWindow.ui" line="544"/>
         <source>Import QLandkarte GT database</source>
-        <translation type="unfinished"></translation>
+        <translation>QLandkarte database importeren</translation>
     </message>
     <message>
         <location filename="../IMainWindow.ui" line="553"/>
@@ -3834,7 +3995,7 @@ is geen geldig coordinaat definitie:
     <message>
         <location filename="../IMainWindow.ui" line="565"/>
         <source>Store Map View</source>
-        <translation type="unfinished"></translation>
+        <translation>Kaart opslaan</translation>
     </message>
     <message>
         <location filename="../IMainWindow.ui" line="568"/>
@@ -3844,7 +4005,7 @@ is geen geldig coordinaat definitie:
     <message>
         <location filename="../IMainWindow.ui" line="577"/>
         <source>Load Map View</source>
-        <translation type="unfinished"></translation>
+        <translation>Kaart laden</translation>
     </message>
     <message>
         <location filename="../IMainWindow.ui" line="580"/>
@@ -3874,7 +4035,7 @@ is geen geldig coordinaat definitie:
     <message>
         <location filename="../IMainWindow.ui" line="616"/>
         <source>Clone Map View</source>
-        <translation type="unfinished"></translation>
+        <translation>Kloon venster</translation>
     </message>
     <message>
         <location filename="../IMainWindow.ui" line="619"/>
@@ -3884,17 +4045,17 @@ is geen geldig coordinaat definitie:
     <message>
         <location filename="../IMainWindow.ui" line="628"/>
         <source>Create Routino Database</source>
-        <translation type="unfinished"></translation>
+        <translation>Maak Routino database</translation>
     </message>
     <message>
         <location filename="../IMainWindow.ui" line="637"/>
         <source>Save(Print) Map Screenshot</source>
-        <translation type="unfinished"></translation>
+        <translation>Kaartdeel opslaan/afdrukken</translation>
     </message>
     <message>
         <location filename="../IMainWindow.ui" line="640"/>
         <source>Print a selected area of the map</source>
-        <translation type="unfinished"></translation>
+        <translation>Geselecteerde deel van kaart afdrukken</translation>
     </message>
     <message>
         <location filename="../IMainWindow.ui" line="643"/>
@@ -3904,12 +4065,12 @@ is geen geldig coordinaat definitie:
     <message>
         <location filename="../IMainWindow.ui" line="652"/>
         <source>Setup Coord. Format</source>
-        <translation type="unfinished"></translation>
+        <translation>Coördinaat formaat instellen</translation>
     </message>
     <message>
         <location filename="../IMainWindow.ui" line="655"/>
         <source>Change the format coordinates are displayed</source>
-        <translation type="unfinished"></translation>
+        <translation>Getoonde coördinaat formaat aanpassen</translation>
     </message>
 </context>
 <context>
@@ -3922,7 +4083,7 @@ is geen geldig coordinaat definitie:
     <message>
         <location filename="../map/IMapList.ui" line="103"/>
         <source>To add maps use File->Setup Map Paths. </source>
-        <translation type="unfinished"></translation>
+        <translation>Om kaarten toe te voegen ->Map met kaarten instellen.</translation>
     </message>
     <message>
         <location filename="../map/IMapList.ui" line="116"/>
@@ -3933,12 +4094,13 @@ is geen geldig coordinaat definitie:
         <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>
+        <translation>Help! Ik wil kaarten!
+Ik wil de documentatie niet lezen!</translation>
     </message>
     <message>
         <location filename="../map/IMapList.ui" line="149"/>
         <source>Activate</source>
-        <translation type="unfinished"></translation>
+        <translation>Activeer</translation>
     </message>
 </context>
 <context>
@@ -3946,12 +4108,12 @@ I don't want to read the documentation!</source>
     <message>
         <location filename="../map/IMapPathSetup.ui" line="14"/>
         <source>Setup map paths</source>
-        <translation type="unfinished"></translation>
+        <translation>Map met kaarten instellen</translation>
     </message>
     <message>
         <location filename="../map/IMapPathSetup.ui" line="20"/>
         <source>Root path of tile cache for online maps:</source>
-        <translation type="unfinished"></translation>
+        <translation>Hoofdmap voor oplslaan van online kaarten:</translation>
     </message>
     <message>
         <location filename="../map/IMapPathSetup.ui" line="29"/>
@@ -3970,7 +4132,8 @@ I don't want to read the documentation!</source>
         <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>
+        <translation>Help! Ik wil kaarten!
+Ik wil de documentatie niet lezen!</translation>
     </message>
 </context>
 <context>
@@ -3983,7 +4146,7 @@ I don't want to read the documentation!</source>
     <message>
         <location filename="../map/IMapPropSetup.ui" line="35"/>
         <source><html><head/><body><p>Change opacity of map</p></body></html></source>
-        <translation type="unfinished"></translation>
+        <translation><html><head/><body><p>Verander transparantie van kaart</p></body></html></translation>
     </message>
     <message>
         <location filename="../map/IMapPropSetup.ui" line="50"/>
@@ -4009,12 +4172,12 @@ I don't want to read the documentation!</source>
     <message>
         <location filename="../map/IMapPropSetup.ui" line="137"/>
         <source>Areas</source>
-        <translation type="unfinished"></translation>
+        <translation>Gebieden</translation>
     </message>
     <message>
         <location filename="../map/IMapPropSetup.ui" line="144"/>
         <source>Lines</source>
-        <translation type="unfinished"></translation>
+        <translation>Lijnen</translation>
     </message>
     <message>
         <location filename="../map/IMapPropSetup.ui" line="151"/>
@@ -4024,12 +4187,12 @@ I don't want to read the documentation!</source>
     <message>
         <location filename="../map/IMapPropSetup.ui" line="196"/>
         <source>Cache Size (MB)</source>
-        <translation type="unfinished"></translation>
+        <translation>Ceheugen grootte</translation>
     </message>
     <message>
         <location filename="../map/IMapPropSetup.ui" line="216"/>
         <source>Expiration (Days)</source>
-        <translation type="unfinished"></translation>
+        <translation>Vervaltijd (dagen)</translation>
     </message>
     <message>
         <location filename="../map/IMapPropSetup.ui" line="233"/>
@@ -4039,7 +4202,7 @@ I don't want to read the documentation!</source>
     <message>
         <location filename="../map/IMapPropSetup.ui" line="240"/>
         <source>Cache Path</source>
-        <translation type="unfinished"></translation>
+        <translation>Cachemap</translation>
     </message>
 </context>
 <context>
@@ -4058,12 +4221,12 @@ I don't want to read the documentation!</source>
     <message>
         <location filename="../tool/IMapVrtBuilder.ui" line="39"/>
         <source>Select source files:</source>
-        <translation type="unfinished"></translation>
+        <translation>Selecteer bronbestand:</translation>
     </message>
     <message>
         <location filename="../tool/IMapVrtBuilder.ui" line="79"/>
         <source>Target Filename:</source>
-        <translation type="unfinished"></translation>
+        <translation>Doel bestandsnaam:</translation>
     </message>
     <message>
         <location filename="../tool/IMapVrtBuilder.ui" line="86"/>
@@ -4079,76 +4242,76 @@ I don't want to read the documentation!</source>
 <context>
     <name>IMouseEditLine</name>
     <message>
-        <location filename="../mouse/line/IMouseEditLine.cpp" line="253"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="255"/>
         <source><b>New Line</b><br/>Move the mouse and use the left mouse button to drop points. When done use the right mouse button to stop.<br/></source>
-        <translation type="unfinished"></translation>
+        <translation><b>Nieuwe lijn</b><br/>Verplaats de muis en gebruik linker muisknop om een punt te plaatsen. Gebruik rechter muisknop om te stoppen.<br/></translation>
     </message>
     <message>
-        <location filename="../mouse/line/IMouseEditLine.cpp" line="293"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="302"/>
         <source><b>Delete Point</b><br/>Move the mouse close to a point and press the left button to delete it.<br/></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mouse/line/IMouseEditLine.cpp" line="302"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="311"/>
         <source><b>Select Range of Points</b><br/>Left click on first point to start selection. Left click second point to complete selection and choose from options. Use the right mouse button to cancel.<br/></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mouse/line/IMouseEditLine.cpp" line="311"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="320"/>
         <source><b>Move Point</b><br/>Move the mouse close to a point and press the left button to make it stick to the cursor. Move the mouse to move the point. Drop the point by a left click. Use the right mouse button to cancel.<br/></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mouse/line/IMouseEditLine.cpp" line="320"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="329"/>
         <source><b>Add Point</b><br/>Move the mouse close to a line segment and press the left button to add a point. The point will stick to the cursor and you can move it.  Drop the point by a left click. Use the right mouse button to cancel.<br/></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mouse/line/IMouseEditLine.cpp" line="329"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="338"/>
         <source><b>No Routing</b><br/>All points will be connected with a straight line.<br/></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mouse/line/IMouseEditLine.cpp" line="334"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="343"/>
         <source><b>Auto Routing</b><br/>The current router setup is used to derive a route between points. <b>Note:</b> The selected router must be able to route on-the-fly. Offline routers usually can do, online routers can't.<br/></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mouse/line/IMouseEditLine.cpp" line="339"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="348"/>
         <source><b>Vector Routing</b><br/>Connect points with a line from a loaded vector map if possible.<br/></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mouse/line/IMouseEditLine.cpp" line="498"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="517"/>
         <source><b>%1 Metrics</b></source>
-        <translation type="unfinished"></translation>
+        <translation><b>%1 gegevens</b></translation>
     </message>
     <message>
-        <location filename="../mouse/line/IMouseEditLine.cpp" line="501"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="520"/>
         <source>Distance:</source>
         <translation>Afstand:</translation>
     </message>
     <message>
-        <location filename="../mouse/line/IMouseEditLine.cpp" line="503"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="522"/>
         <source>Ascend:</source>
-        <translation type="unfinished"></translation>
+        <translation>Stijging:</translation>
     </message>
     <message>
-        <location filename="../mouse/line/IMouseEditLine.cpp" line="505"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="524"/>
         <source>Descend:</source>
-        <translation type="unfinished"></translation>
+        <translation>Daling:</translation>
     </message>
 </context>
 <context>
     <name>IPhotoAlbum</name>
     <message>
-        <location filename="../helpers/IPhotoAlbum.ui" line="20"/>
+        <location filename="../widgets/IPhotoAlbum.ui" line="20"/>
         <source>Form</source>
         <translation>Formulier</translation>
     </message>
     <message>
-        <location filename="../helpers/IPhotoAlbum.ui" line="50"/>
-        <location filename="../helpers/IPhotoAlbum.ui" line="77"/>
+        <location filename="../widgets/IPhotoAlbum.ui" line="50"/>
+        <location filename="../widgets/IPhotoAlbum.ui" line="77"/>
         <source>...</source>
         <translation>...</translation>
     </message>
@@ -4156,29 +4319,29 @@ I don't want to read the documentation!</source>
 <context>
     <name>IPlot</name>
     <message>
-        <location filename="../plot/IPlot.cpp" line="110"/>
+        <location filename="../plot/IPlot.cpp" line="91"/>
         <source>Reset Zoom</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../plot/IPlot.cpp" line="111"/>
+        <location filename="../plot/IPlot.cpp" line="92"/>
         <source>Stop Range</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../plot/IPlot.cpp" line="112"/>
+        <location filename="../plot/IPlot.cpp" line="93"/>
         <source>Save...</source>
         <translation>Opslaan...</translation>
     </message>
     <message>
-        <location filename="../plot/IPlot.cpp" line="630"/>
+        <location filename="../plot/IPlot.cpp" line="613"/>
         <source>No or bad data.</source>
-        <translation type="unfinished"></translation>
+        <translation>Geen of ontbrekende gegevens.</translation>
     </message>
     <message>
-        <location filename="../plot/IPlot.cpp" line="1215"/>
+        <location filename="../plot/IPlot.cpp" line="1200"/>
         <source>Select output file</source>
-        <translation type="unfinished"></translation>
+        <translation>Selecteer bestand</translation>
     </message>
 </context>
 <context>
@@ -4186,12 +4349,12 @@ I don't want to read the documentation!</source>
     <message>
         <location filename="../helpers/IPositionDialog.ui" line="14"/>
         <source>Position ...</source>
-        <translation type="unfinished"></translation>
+        <translation>Positie...</translation>
     </message>
     <message>
         <location filename="../helpers/IPositionDialog.ui" line="20"/>
         <source>Enter new position</source>
-        <translation type="unfinished"></translation>
+        <translation>Geef nieuwe positie op</translation>
     </message>
     <message>
         <location filename="../helpers/IPositionDialog.ui" line="30"/>
@@ -4249,12 +4412,12 @@ of
     <message>
         <location filename="../grid/IProjWizard.ui" line="14"/>
         <source>Proj4 Wizzard</source>
-        <translation type="unfinished"></translation>
+        <translation>Proj4 instelling</translation>
     </message>
     <message>
         <location filename="../grid/IProjWizard.ui" line="29"/>
         <source>Mercator</source>
-        <translation type="unfinished"></translation>
+        <translation>Mercator</translation>
     </message>
     <message>
         <location filename="../grid/IProjWizard.ui" line="38"/>
@@ -4264,42 +4427,42 @@ of
     <message>
         <location filename="../grid/IProjWizard.ui" line="45"/>
         <source>zone</source>
-        <translation type="unfinished"></translation>
+        <translation>zone</translation>
     </message>
     <message>
         <location filename="../grid/IProjWizard.ui" line="82"/>
         <source>user defined</source>
-        <translation type="unfinished"></translation>
+        <translation>gebruikersinstelling</translation>
     </message>
     <message>
         <location filename="../grid/IProjWizard.ui" line="94"/>
         <source>Datum</source>
-        <translation type="unfinished"></translation>
+        <translation>Datum</translation>
     </message>
     <message>
         <location filename="../grid/IProjWizard.ui" line="104"/>
         <source>World Mercator (OSM)</source>
-        <translation type="unfinished"></translation>
+        <translation>Wereld Mercator (OSM)</translation>
     </message>
     <message>
         <location filename="../grid/IProjWizard.ui" line="124"/>
         <source>Result:</source>
-        <translation type="unfinished"></translation>
+        <translation>Resultaat:</translation>
     </message>
     <message>
         <location filename="../grid/IProjWizard.ui" line="138"/>
         <source>UPS North (North Pole)</source>
-        <translation type="unfinished"></translation>
+        <translation>UPS noord (Noordpool)</translation>
     </message>
     <message>
         <location filename="../grid/IProjWizard.ui" line="145"/>
         <source>UPS South (South Pole)</source>
-        <translation type="unfinished"></translation>
+        <translation>UPS zuid (Zuidpool)</translation>
     </message>
     <message>
         <location filename="../grid/IProjWizard.ui" line="152"/>
         <source>Projection</source>
-        <translation type="unfinished"></translation>
+        <translation>Projectie</translation>
     </message>
 </context>
 <context>
@@ -4365,7 +4528,7 @@ of
     <message>
         <location filename="../gis/rte/router/IRouterMapQuest.ui" line="53"/>
         <source>Profile</source>
-        <translation type="unfinished"></translation>
+        <translation>Profiel</translation>
     </message>
     <message>
         <location filename="../gis/rte/router/IRouterMapQuest.ui" line="60"/>
@@ -4403,17 +4566,17 @@ of
     <message>
         <location filename="../gis/rte/router/IRouterRoutino.ui" line="31"/>
         <source>Profile</source>
-        <translation type="unfinished"></translation>
+        <translation>Profiel</translation>
     </message>
     <message>
         <location filename="../gis/rte/router/IRouterRoutino.ui" line="38"/>
         <source>Mode</source>
-        <translation type="unfinished"></translation>
+        <translation>Modus</translation>
     </message>
     <message>
         <location filename="../gis/rte/router/IRouterRoutino.ui" line="45"/>
         <source>Database</source>
-        <translation type="unfinished"></translation>
+        <translation>Database</translation>
     </message>
     <message>
         <location filename="../gis/rte/router/IRouterRoutino.ui" line="52"/>
@@ -4441,7 +4604,7 @@ of
     <message>
         <location filename="../gis/rte/router/IRouterRoutinoPathSetup.ui" line="14"/>
         <source>Setup Routino database...</source>
-        <translation type="unfinished"></translation>
+        <translation>Routino database instellen...</translation>
     </message>
     <message>
         <location filename="../gis/rte/router/IRouterRoutinoPathSetup.ui" line="27"/>
@@ -4479,7 +4642,7 @@ of
     <message>
         <location filename="../tool/IRoutinoDatabaseBuilder.ui" line="39"/>
         <source>Select source files:</source>
-        <translation type="unfinished"></translation>
+        <translation>Selecteer bronbestand:</translation>
     </message>
     <message>
         <location filename="../tool/IRoutinoDatabaseBuilder.ui" line="54"/>
@@ -4489,7 +4652,7 @@ of
     <message>
         <location filename="../tool/IRoutinoDatabaseBuilder.ui" line="86"/>
         <source>Target Path:</source>
-        <translation type="unfinished"></translation>
+        <translation>Doelmap:</translation>
     </message>
     <message>
         <location filename="../tool/IRoutinoDatabaseBuilder.ui" line="93"/>
@@ -4512,22 +4675,22 @@ of
     <message>
         <location filename="../mouse/line/IScrOptEditLine.ui" line="53"/>
         <source>Save to orignal</source>
-        <translation type="unfinished"></translation>
+        <translation>Opslaan als origineel</translation>
     </message>
     <message>
         <location filename="../mouse/line/IScrOptEditLine.ui" line="60"/>
         <source>Save as new</source>
-        <translation type="unfinished"></translation>
+        <translation>Opslaan als nieuw</translation>
     </message>
     <message>
         <location filename="../mouse/line/IScrOptEditLine.ui" line="67"/>
         <source>Abort</source>
-        <translation type="unfinished"></translation>
+        <translation>Annuleren</translation>
     </message>
     <message>
         <location filename="../mouse/line/IScrOptEditLine.ui" line="102"/>
         <source>Move points. (Ctrl+M)</source>
-        <translation type="unfinished"></translation>
+        <translation>Verplaats punten. (Ctrl+M)</translation>
     </message>
     <message>
         <location filename="../mouse/line/IScrOptEditLine.ui" line="105"/>
@@ -4547,7 +4710,7 @@ of
     <message>
         <location filename="../mouse/line/IScrOptEditLine.ui" line="128"/>
         <source>Add new points. (Ctrl++)</source>
-        <translation type="unfinished"></translation>
+        <translation>Maak nieuwe punten. (Ctrl++)</translation>
     </message>
     <message>
         <location filename="../mouse/line/IScrOptEditLine.ui" line="138"/>
@@ -4557,7 +4720,7 @@ of
     <message>
         <location filename="../mouse/line/IScrOptEditLine.ui" line="151"/>
         <source>Select a range of points. (Ctrl+R)</source>
-        <translation type="unfinished"></translation>
+        <translation>Selecteer een reeks punten. (Ctrl+R)</translation>
     </message>
     <message>
         <location filename="../mouse/line/IScrOptEditLine.ui" line="161"/>
@@ -4567,7 +4730,7 @@ of
     <message>
         <location filename="../mouse/line/IScrOptEditLine.ui" line="174"/>
         <source>Delete a point. (Ctrl+D)</source>
-        <translation type="unfinished"></translation>
+        <translation>Verwijder een punt. (Ctrl+D)</translation>
     </message>
     <message>
         <location filename="../mouse/line/IScrOptEditLine.ui" line="184"/>
@@ -4582,7 +4745,7 @@ of
     <message>
         <location filename="../mouse/line/IScrOptEditLine.ui" line="231"/>
         <source>0</source>
-        <translation type="unfinished"></translation>
+        <translation>O</translation>
     </message>
     <message>
         <location filename="../mouse/line/IScrOptEditLine.ui" line="238"/>
@@ -4597,7 +4760,7 @@ of
     <message>
         <location filename="../mouse/line/IScrOptEditLine.ui" line="254"/>
         <source>A</source>
-        <translation type="unfinished"></translation>
+        <translation>A</translation>
     </message>
     <message>
         <location filename="../mouse/line/IScrOptEditLine.ui" line="261"/>
@@ -4612,7 +4775,7 @@ of
     <message>
         <location filename="../mouse/line/IScrOptEditLine.ui" line="277"/>
         <source>V</source>
-        <translation type="unfinished"></translation>
+        <translation>V</translation>
     </message>
     <message>
         <location filename="../mouse/line/IScrOptEditLine.ui" line="284"/>
@@ -4640,7 +4803,7 @@ of
     <message>
         <location filename="../gis/ovl/IScrOptOvlArea.ui" line="40"/>
         <source>View details and edit.</source>
-        <translation type="unfinished"></translation>
+        <translation>Bekijk details en bewerk.</translation>
     </message>
     <message>
         <location filename="../gis/ovl/IScrOptOvlArea.ui" line="43"/>
@@ -4653,17 +4816,17 @@ of
     <message>
         <location filename="../gis/ovl/IScrOptOvlArea.ui" line="54"/>
         <source>Copy area into another project.</source>
-        <translation type="unfinished"></translation>
+        <translation>Kopieer gebied in ander project.</translation>
     </message>
     <message>
         <location filename="../gis/ovl/IScrOptOvlArea.ui" line="68"/>
         <source>Delete area from project.</source>
-        <translation type="unfinished"></translation>
+        <translation>Verwijder gebied uit project.</translation>
     </message>
     <message>
         <location filename="../gis/ovl/IScrOptOvlArea.ui" line="89"/>
         <source>Edit shape of the area.</source>
-        <translation type="unfinished"></translation>
+        <translation>Verander vorm van het gebied.</translation>
     </message>
     <message>
         <location filename="../gis/ovl/IScrOptOvlArea.ui" line="121"/>
@@ -4681,7 +4844,7 @@ of
     <message>
         <location filename="../mouse/line/IScrOptRangeLine.ui" line="20"/>
         <source>Delete all points between the first and last one.</source>
-        <translation type="unfinished"></translation>
+        <translation>Verwijder alle punten tussen eerste en laatste punt.</translation>
     </message>
     <message>
         <location filename="../mouse/line/IScrOptRangeLine.ui" line="23"/>
@@ -4691,9 +4854,13 @@ of
     </message>
     <message>
         <location filename="../mouse/line/IScrOptRangeLine.ui" line="34"/>
-        <source>Caclculate a route between the first and last selected point.</source>
+        <source><html><head/><body><p>Calculate a route between the first and last selected point.</p></body></html></source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Caclculate a route between the first and last selected point.</source>
+        <translation type="vanished">Bereken een route tussen eerste en laatste gecelecteerde punt.</translation>
+    </message>
 </context>
 <context>
     <name>IScrOptRangeTrk</name>
@@ -4705,7 +4872,7 @@ of
     <message>
         <location filename="../mouse/IScrOptRangeTrk.ui" line="40"/>
         <source>Hide all points.</source>
-        <translation type="unfinished"></translation>
+        <translation>Verberg alle punten.</translation>
     </message>
     <message>
         <location filename="../mouse/IScrOptRangeTrk.ui" line="43"/>
@@ -4718,22 +4885,22 @@ of
     <message>
         <location filename="../mouse/IScrOptRangeTrk.ui" line="54"/>
         <source>Show all points.</source>
-        <translation type="unfinished"></translation>
+        <translation>Toon alle punten.</translation>
     </message>
     <message>
         <location filename="../mouse/IScrOptRangeTrk.ui" line="68"/>
         <source>Select an activity for the selected range.</source>
-        <translation type="unfinished"></translation>
+        <translation>Selecteer een activiteit voor geselecteerde lengte.</translation>
     </message>
     <message>
         <location filename="../mouse/IScrOptRangeTrk.ui" line="82"/>
         <source>Copy track points as new track.</source>
-        <translation type="unfinished"></translation>
+        <translation>Kopieer trackpunten naar een nieuwe track.</translation>
     </message>
     <message>
         <location filename="../mouse/IScrOptRangeTrk.ui" line="117"/>
         <source>TextLabel</source>
-        <translation type="unfinished"></translation>
+        <translation>Benaming</translation>
     </message>
 </context>
 <context>
@@ -4744,48 +4911,48 @@ of
         <translation>Formulier</translation>
     </message>
     <message>
-        <location filename="../gis/rte/IScrOptRte.ui" line="25"/>
+        <location filename="../gis/rte/IScrOptRte.ui" line="40"/>
         <source>View details and edit.</source>
-        <translation type="unfinished"></translation>
+        <translation>Bekijk details en bewerk.</translation>
     </message>
     <message>
-        <location filename="../gis/rte/IScrOptRte.ui" line="28"/>
-        <location filename="../gis/rte/IScrOptRte.ui" line="42"/>
-        <location filename="../gis/rte/IScrOptRte.ui" line="56"/>
-        <location filename="../gis/rte/IScrOptRte.ui" line="74"/>
-        <location filename="../gis/rte/IScrOptRte.ui" line="91"/>
-        <location filename="../gis/rte/IScrOptRte.ui" line="105"/>
-        <location filename="../gis/rte/IScrOptRte.ui" line="119"/>
+        <location filename="../gis/rte/IScrOptRte.ui" line="43"/>
+        <location filename="../gis/rte/IScrOptRte.ui" line="57"/>
+        <location filename="../gis/rte/IScrOptRte.ui" line="71"/>
+        <location filename="../gis/rte/IScrOptRte.ui" line="89"/>
+        <location filename="../gis/rte/IScrOptRte.ui" line="106"/>
+        <location filename="../gis/rte/IScrOptRte.ui" line="120"/>
+        <location filename="../gis/rte/IScrOptRte.ui" line="134"/>
         <source>...</source>
         <translation>...</translation>
     </message>
     <message>
-        <location filename="../gis/rte/IScrOptRte.ui" line="39"/>
+        <location filename="../gis/rte/IScrOptRte.ui" line="54"/>
         <source>Copy route into another project.</source>
-        <translation type="unfinished"></translation>
+        <translation>Kopieer route in een ander project.</translation>
     </message>
     <message>
-        <location filename="../gis/rte/IScrOptRte.ui" line="53"/>
+        <location filename="../gis/rte/IScrOptRte.ui" line="68"/>
         <source>Delete route from project.</source>
-        <translation type="unfinished"></translation>
+        <translation>Verwijder route uit project.</translation>
     </message>
     <message>
-        <location filename="../gis/rte/IScrOptRte.ui" line="88"/>
+        <location filename="../gis/rte/IScrOptRte.ui" line="103"/>
         <source>Calculate route.</source>
-        <translation type="unfinished"></translation>
+        <translation>Bereken route.</translation>
     </message>
     <message>
-        <location filename="../gis/rte/IScrOptRte.ui" line="102"/>
+        <location filename="../gis/rte/IScrOptRte.ui" line="117"/>
         <source>Reset route calculation.</source>
-        <translation type="unfinished"></translation>
+        <translation>Herstel route berekening.</translation>
     </message>
     <message>
-        <location filename="../gis/rte/IScrOptRte.ui" line="116"/>
+        <location filename="../gis/rte/IScrOptRte.ui" line="131"/>
         <source>Move route points.</source>
-        <translation type="unfinished"></translation>
+        <translation>Verplaats route punten.</translation>
     </message>
     <message>
-        <location filename="../gis/rte/IScrOptRte.ui" line="145"/>
+        <location filename="../gis/rte/IScrOptRte.ui" line="160"/>
         <source>TextLabel</source>
         <translation>Benaming</translation>
     </message>
@@ -4800,7 +4967,7 @@ of
     <message>
         <location filename="../gis/trk/IScrOptTrk.ui" line="40"/>
         <source>View details and edit properties of track.</source>
-        <translation type="unfinished"></translation>
+        <translation>Bekijk details en bewerk eigenschappen van de track.</translation>
     </message>
     <message>
         <location filename="../gis/trk/IScrOptTrk.ui" line="43"/>
@@ -4811,52 +4978,66 @@ of
         <location filename="../gis/trk/IScrOptTrk.ui" line="123"/>
         <location filename="../gis/trk/IScrOptTrk.ui" line="137"/>
         <location filename="../gis/trk/IScrOptTrk.ui" line="151"/>
-        <location filename="../gis/trk/IScrOptTrk.ui" line="165"/>
+        <location filename="../gis/trk/IScrOptTrk.ui" line="170"/>
         <source>...</source>
         <translation>...</translation>
     </message>
     <message>
         <location filename="../gis/trk/IScrOptTrk.ui" line="54"/>
         <source>Copy track into another project.</source>
-        <translation type="unfinished"></translation>
+        <translation>Kopieer track in een ander project.</translation>
     </message>
     <message>
         <location filename="../gis/trk/IScrOptTrk.ui" line="68"/>
         <source>Delete track from project.</source>
-        <translation type="unfinished"></translation>
+        <translation>Verwijder track uit project.</translation>
     </message>
     <message>
         <location filename="../gis/trk/IScrOptTrk.ui" line="89"/>
         <source>Show on-screen profile and detailed information about points.</source>
-        <translation type="unfinished"></translation>
+        <translation>Toon op scherm het profiel en gedetaileerde informatie van de punten.</translation>
     </message>
     <message>
         <location filename="../gis/trk/IScrOptTrk.ui" line="106"/>
         <source>Select a range of points.</source>
-        <translation type="unfinished"></translation>
+        <translation>Selecteer een reeks punten.</translation>
     </message>
     <message>
         <location filename="../gis/trk/IScrOptTrk.ui" line="120"/>
         <source>Edit position of track points.</source>
-        <translation type="unfinished"></translation>
+        <translation>Bewerk positie van trackpunten.</translation>
     </message>
     <message>
         <location filename="../gis/trk/IScrOptTrk.ui" line="134"/>
         <source>Reverse track.</source>
-        <translation type="unfinished"></translation>
+        <translation>Draai trackrichting.</translation>
     </message>
     <message>
         <location filename="../gis/trk/IScrOptTrk.ui" line="148"/>
         <source>Combine tracks.</source>
-        <translation type="unfinished"></translation>
+        <translation>Combineer tracks.</translation>
     </message>
     <message>
         <location filename="../gis/trk/IScrOptTrk.ui" line="162"/>
+        <source>Cut track at selected point. You can use this to:
+
+* remove bad points at the start or end of the track
+* use the track parts to plan a new tour
+* cut a long track into stages
+</source>
+        <translation>Knip track op geselecteerde punt. Dit kan ook gebruikt worden om:
+
+* ongeldige punten aan start of eind van track te verwijderen
+* trackdelen te gebruiken voor nieuwe track
+* een lange track in etappes te verdelen
+</translation>
+    </message>
+    <message>
         <source>Cut track at selected point into two tracks.</source>
-        <translation type="unfinished"></translation>
+        <translation type="vanished">Knip track op geselecteerde punt in 2 tracks.</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IScrOptTrk.ui" line="191"/>
+        <location filename="../gis/trk/IScrOptTrk.ui" line="196"/>
         <source>TextLabel</source>
         <translation>Benaming</translation>
     </message>
@@ -4871,7 +5052,7 @@ of
     <message>
         <location filename="../gis/wpt/IScrOptWpt.ui" line="49"/>
         <source>View details and edit.</source>
-        <translation type="unfinished"></translation>
+        <translation>Bekijk details en bewerk.</translation>
     </message>
     <message>
         <location filename="../gis/wpt/IScrOptWpt.ui" line="52"/>
@@ -4886,27 +5067,27 @@ of
     <message>
         <location filename="../gis/wpt/IScrOptWpt.ui" line="63"/>
         <source>Copy waypoint into another project.</source>
-        <translation type="unfinished"></translation>
+        <translation>Kopieer waypoint in een ander project.</translation>
     </message>
     <message>
         <location filename="../gis/wpt/IScrOptWpt.ui" line="77"/>
         <source>Delete waypoint from project.</source>
-        <translation type="unfinished"></translation>
+        <translation>Verwijder waypoint uit project.</translation>
     </message>
     <message>
         <location filename="../gis/wpt/IScrOptWpt.ui" line="98"/>
         <source>Show content as static bubble.</source>
-        <translation type="unfinished"></translation>
+        <translation>Toon gegevens in een statische ballon.</translation>
     </message>
     <message>
         <location filename="../gis/wpt/IScrOptWpt.ui" line="115"/>
         <source>Move waypoint to a new location.</source>
-        <translation type="unfinished"></translation>
+        <translation>Verplaats waypoint naar een nieuwe locatie.</translation>
     </message>
     <message>
         <location filename="../gis/wpt/IScrOptWpt.ui" line="129"/>
         <source>Clone waypoint and move clone a given distance and angle.</source>
-        <translation type="unfinished"></translation>
+        <translation>Kloon waypoint en verplaats deze naar aangegeven afstand en hoek.</translation>
     </message>
     <message>
         <location filename="../gis/wpt/IScrOptWpt.ui" line="176"/>
@@ -4927,12 +5108,12 @@ of
     <message>
         <location filename="../gis/trk/ISelectActivity.ui" line="14"/>
         <source>Activities...</source>
-        <translation type="unfinished"></translation>
+        <translation>Activiteiten...</translation>
     </message>
     <message>
         <location filename="../gis/trk/ISelectActivity.ui" line="20"/>
         <source>Select one:</source>
-        <translation type="unfinished"></translation>
+        <translation>Selecteer:</translation>
     </message>
 </context>
 <context>
@@ -4963,7 +5144,7 @@ of
     <message>
         <location filename="../helpers/ISelectCopyAction.ui" line="97"/>
         <source>Create a clone</source>
-        <translation type="unfinished"></translation>
+        <translation>Maak een kloon</translation>
     </message>
     <message>
         <location filename="../helpers/ISelectCopyAction.ui" line="104"/>
@@ -4978,10 +5159,10 @@ of
     <message>
         <location filename="../helpers/ISelectCopyAction.ui" line="118"/>
         <source>The clone's name will be appended with '_Clone'</source>
-        <translation type="unfinished"></translation>
+        <translation>De naam van de kloon zal aangeduid worden als '_Kloon'</translation>
     </message>
     <message>
-        <location filename="../helpers/ISelectCopyAction.ui" line="132"/>
+        <location filename="../helpers/ISelectCopyAction.ui" line="135"/>
         <source>And for all other items, too.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4996,7 +5177,7 @@ of
     <message>
         <location filename="../gis/db/ISelectDBFolder.ui" line="26"/>
         <source>Name</source>
-        <translation type="unfinished"></translation>
+        <translation>Naam</translation>
     </message>
 </context>
 <context>
@@ -5083,7 +5264,7 @@ of
     <message>
         <location filename="../gis/db/ISetupDatabase.ui" line="14"/>
         <source>Add database...</source>
-        <translation type="unfinished"></translation>
+        <translation>Database toevoegen...</translation>
     </message>
     <message>
         <location filename="../gis/db/ISetupDatabase.ui" line="25"/>
@@ -5103,7 +5284,7 @@ of
     <message>
         <location filename="../gis/db/ISetupDatabase.ui" line="46"/>
         <source>Add new database.</source>
-        <translation type="unfinished"></translation>
+        <translation>Maak nieuwe database.</translation>
     </message>
     <message>
         <location filename="../gis/db/ISetupDatabase.ui" line="49"/>
@@ -5114,7 +5295,7 @@ of
     <message>
         <location filename="../gis/db/ISetupDatabase.ui" line="60"/>
         <source>Open existing database.</source>
-        <translation type="unfinished"></translation>
+        <translation>Open bestaande database.</translation>
     </message>
 </context>
 <context>
@@ -5122,27 +5303,27 @@ of
     <message>
         <location filename="../gis/db/ISetupFolder.ui" line="14"/>
         <source>Database Folder...</source>
-        <translation type="unfinished"></translation>
+        <translation>Databasemap...</translation>
     </message>
     <message>
         <location filename="../gis/db/ISetupFolder.ui" line="20"/>
         <source>Folder name</source>
-        <translation type="unfinished"></translation>
+        <translation>Mapnaam</translation>
     </message>
     <message>
         <location filename="../gis/db/ISetupFolder.ui" line="30"/>
         <source>Group</source>
-        <translation type="unfinished"></translation>
+        <translation>Groep</translation>
     </message>
     <message>
         <location filename="../gis/db/ISetupFolder.ui" line="41"/>
         <source>Project</source>
-        <translation type="unfinished"></translation>
+        <translation>Project</translation>
     </message>
     <message>
         <location filename="../gis/db/ISetupFolder.ui" line="55"/>
         <source>Other</source>
-        <translation type="unfinished"></translation>
+        <translation>Anders</translation>
     </message>
 </context>
 <context>
@@ -5189,12 +5370,12 @@ of
     <message>
         <location filename="../gis/db/ISetupWorkspace.ui" line="14"/>
         <source>Setup workspace...</source>
-        <translation type="unfinished"></translation>
+        <translation>Instelling werkruimte...</translation>
     </message>
     <message>
         <location filename="../gis/db/ISetupWorkspace.ui" line="35"/>
         <source>save workspace on exit, and every</source>
-        <translation type="unfinished"></translation>
+        <translation>sla werkruimte op bij afsluiten en elke</translation>
     </message>
     <message>
         <location filename="../gis/db/ISetupWorkspace.ui" line="45"/>
@@ -5205,144 +5386,144 @@ of
 <context>
     <name>ITextEditWidget</name>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="14"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="14"/>
         <source>Edit text...</source>
         <translation>Bewerk tekst...</translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="25"/>
-        <location filename="../helpers/ITextEditWidget.ui" line="38"/>
-        <location filename="../helpers/ITextEditWidget.ui" line="51"/>
-        <location filename="../helpers/ITextEditWidget.ui" line="64"/>
-        <location filename="../helpers/ITextEditWidget.ui" line="77"/>
-        <location filename="../helpers/ITextEditWidget.ui" line="97"/>
-        <location filename="../helpers/ITextEditWidget.ui" line="110"/>
-        <location filename="../helpers/ITextEditWidget.ui" line="123"/>
-        <location filename="../helpers/ITextEditWidget.ui" line="136"/>
-        <location filename="../helpers/ITextEditWidget.ui" line="169"/>
-        <location filename="../helpers/ITextEditWidget.ui" line="182"/>
-        <location filename="../helpers/ITextEditWidget.ui" line="195"/>
-        <location filename="../helpers/ITextEditWidget.ui" line="208"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="25"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="38"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="51"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="64"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="77"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="97"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="110"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="123"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="136"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="169"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="182"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="195"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="208"/>
         <source>...</source>
         <translation>...</translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="256"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="256"/>
         <source>Undo</source>
-        <translation type="unfinished"></translation>
+        <translation>Ongedaan maken</translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="259"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="259"/>
         <source>Ctrl+Z</source>
         <translation>Ctrl+Z</translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="268"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="268"/>
         <source>Redo</source>
-        <translation type="unfinished"></translation>
+        <translation>Opnieuw</translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="271"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="271"/>
         <source>Ctrl+Shift+Z</source>
         <translation>Ctrl+Shift+Z</translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="280"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="280"/>
         <source>Cut</source>
         <translation>Knippen</translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="283"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="283"/>
         <source>Ctrl+X</source>
         <translation>Ctrl+X</translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="292"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="292"/>
         <source>Copy</source>
         <translation>Kopiëren</translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="295"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="295"/>
         <source>Ctrl+C</source>
         <translation>Ctrl+C</translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="304"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="304"/>
         <source>Paste</source>
         <translation>Plakken</translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="307"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="307"/>
         <source>Ctrl+V</source>
         <translation>Ctrl+V</translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="319"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="319"/>
         <source>Align Left</source>
         <translation>Links uitlijnen</translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="322"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="322"/>
         <source>Ctrl+L</source>
         <translation>Ctrl+L</translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="334"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="334"/>
         <source>Align Right</source>
         <translation>Rechts uitlijnen</translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="337"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="337"/>
         <source>Ctrl+R</source>
         <translation>Ctrl+R</translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="349"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="349"/>
         <source>Align Center</source>
         <translation>Gecentreerd</translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="352"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="352"/>
         <source>Ctrl+E</source>
         <translation>Ctrl+E</translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="364"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="364"/>
         <source>Align Block</source>
         <translation>Uitgevuld</translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="367"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="367"/>
         <source>Ctrl+J</source>
         <translation>Ctrl+J</translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="379"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="379"/>
         <source>Underline</source>
         <translation>Onderstrepen</translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="382"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="382"/>
         <source>Ctrl+U</source>
         <translation>Ctrl+U</translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="394"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="394"/>
         <source>Bold</source>
         <translation>Vet</translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="397"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="397"/>
         <source>Ctrl+B</source>
         <translation>Ctrl+B</translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="409"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="409"/>
         <source>Italic</source>
         <translation>Cursief</translation>
     </message>
     <message>
-        <location filename="../helpers/ITextEditWidget.ui" line="412"/>
+        <location filename="../widgets/ITextEditWidget.ui" line="412"/>
         <source>Ctrl+I</source>
         <translation>Ctrl+I</translation>
     </message>
@@ -5352,7 +5533,7 @@ of
     <message>
         <location filename="../units/ITimeZoneSetup.ui" line="14"/>
         <source>Setup Time Zone ...</source>
-        <translation type="unfinished"></translation>
+        <translation>Tijdzone instellen...</translation>
     </message>
     <message>
         <location filename="../units/ITimeZoneSetup.ui" line="22"/>
@@ -5372,49 +5553,84 @@ of
     <message>
         <location filename="../units/ITimeZoneSetup.ui" line="75"/>
         <source>Print date/time in </source>
-        <translation type="unfinished"></translation>
+        <translation>Toon datum/tijd als</translation>
     </message>
     <message>
         <location filename="../units/ITimeZoneSetup.ui" line="82"/>
         <source>long format, or</source>
-        <translation type="unfinished"></translation>
+        <translation>lang formaat, of</translation>
     </message>
     <message>
         <location filename="../units/ITimeZoneSetup.ui" line="92"/>
         <source>short format</source>
-        <translation type="unfinished"></translation>
+        <translation>kort formaat</translation>
     </message>
 </context>
 <context>
     <name>IToolShell</name>
     <message>
-        <location filename="../tool/IToolShell.cpp" line="127"/>
-        <source>!!! failed !!!
+        <location filename="../tool/IToolShell.cpp" line="44"/>
+        <source>Execution of external program `%1` failed: </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tool/IToolShell.cpp" line="48"/>
+        <source>Process cannot be started.
 </source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../tool/IToolShell.cpp" line="49"/>
+        <source>Make sure the required packages are installed, `%1` exists and is executable.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tool/IToolShell.cpp" line="53"/>
+        <source>External process crashed.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tool/IToolShell.cpp" line="57"/>
+        <source>An unknown error occurred.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../tool/IToolShell.cpp" line="148"/>
+        <source>!!! failed !!!
+</source>
+        <translation>!!! Mislukt !!!
+</translation>
+    </message>
 </context>
 <context>
     <name>IUnitsSetup</name>
     <message>
         <location filename="../units/IUnitsSetup.ui" line="14"/>
         <source>Setup units...</source>
-        <translation type="unfinished"></translation>
+        <translation>Eenheden instellen...</translation>
     </message>
     <message>
-        <location filename="../units/IUnitsSetup.ui" line="22"/>
+        <location filename="../units/IUnitsSetup.ui" line="38"/>
         <source>Metric</source>
-        <translation type="unfinished"></translation>
+        <translation>Metrisch</translation>
     </message>
     <message>
-        <location filename="../units/IUnitsSetup.ui" line="29"/>
+        <location filename="../units/IUnitsSetup.ui" line="47"/>
+        <source><b>Note:</b> For some GUI elements changing the units will not take effect until you restart QMapShack.</source>
+        <translation><b>Notitie:</b>Na het wijzigingen  van de eenheden is het nodig om QMapShack opnieuw op te starten.</translation>
+    </message>
+    <message>
+        <location filename="../units/IUnitsSetup.ui" line="31"/>
         <source>Imperial</source>
-        <translation type="unfinished"></translation>
+        <translation>Imperial</translation>
     </message>
     <message>
-        <location filename="../units/IUnitsSetup.ui" line="36"/>
+        <location filename="../units/IUnitsSetup.ui" line="24"/>
         <source>Nautic</source>
-        <translation type="unfinished"></translation>
+        <translation>Nautisch</translation>
     </message>
 </context>
 <context>
@@ -5422,15 +5638,15 @@ of
     <message>
         <location filename="../helpers/IWptIconDialog.ui" line="14"/>
         <source>Icons...</source>
-        <translation type="unfinished"></translation>
+        <translation>Iconen...</translation>
     </message>
 </context>
 <context>
     <name>QObject</name>
     <message>
-        <location filename="../device/CDeviceGarmin.cpp" line="207"/>
+        <location filename="../device/CDeviceGarmin.cpp" line="204"/>
         <source>Picture%1</source>
-        <translation type="unfinished"></translation>
+        <translation>Afbeelding%1</translation>
     </message>
     <message>
         <location filename="../device/IDevice.cpp" line="204"/>
@@ -5438,23 +5654,23 @@ of
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/CGisListDB.cpp" line="437"/>
+        <location filename="../gis/CGisListDB.cpp" line="436"/>
         <source>Are you sure you want to delete '%1' from folder '%2'?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/CGisListDB.cpp" line="438"/>
-        <location filename="../gis/prj/IGisProject.cpp" line="439"/>
+        <location filename="../gis/CGisListDB.cpp" line="437"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="424"/>
         <source>Delete...</source>
-        <translation type="unfinished"></translation>
+        <translation>Verwijder...</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="1097"/>
+        <location filename="../gis/CGisListWks.cpp" line="1098"/>
         <source>Delete project...</source>
-        <translation type="unfinished"></translation>
+        <translation>Project verwijderen...</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="1097"/>
+        <location filename="../gis/CGisListWks.cpp" line="1098"/>
         <source>Do you really want to delete %1?</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5476,294 +5692,299 @@ of
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/db/CDBProject.cpp" line="151"/>
-        <location filename="../gis/gpx/CGpxProject.cpp" line="223"/>
+        <location filename="../gis/db/CDBProject.cpp" line="158"/>
+        <location filename="../gis/gpx/CGpxProject.cpp" line="222"/>
         <location filename="../gis/qms/CQmsProject.cpp" line="95"/>
         <location filename="../gis/tnv/CTwoNavProject.cpp" line="159"/>
         <source>Save GIS data to...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/db/CDBProject.cpp" line="255"/>
+        <location filename="../gis/db/CDBProject.cpp" line="262"/>
         <source>Save ...</source>
-        <translation type="unfinished"></translation>
+        <translation>Opslaan...</translation>
     </message>
     <message>
         <location filename="../gis/gpx/CGpxProject.cpp" line="98"/>
         <location filename="../gis/qms/CQmsProject.cpp" line="48"/>
-        <location filename="../gis/qms/CQmsProject.cpp" line="145"/>
+        <location filename="../gis/qms/CQmsProject.cpp" line="144"/>
         <source>Failed to open...</source>
-        <translation type="unfinished"></translation>
+        <translation>Openen mislukt...</translation>
     </message>
     <message>
         <location filename="../gis/gpx/CGpxProject.cpp" line="98"/>
         <location filename="../gis/qms/CQmsProject.cpp" line="48"/>
-        <location filename="../gis/qms/CQmsProject.cpp" line="145"/>
+        <location filename="../gis/qms/CQmsProject.cpp" line="144"/>
         <source>Failed to open %1</source>
-        <translation type="unfinished"></translation>
+        <translation>Openen mislukt-%1</translation>
     </message>
     <message>
         <location filename="../gis/gpx/CGpxProject.cpp" line="111"/>
         <location filename="../gis/gpx/CGpxProject.cpp" line="120"/>
         <source>Failed to read...</source>
-        <translation type="unfinished"></translation>
+        <translation>Lezen mislukt...</translation>
     </message>
     <message>
         <location filename="../gis/gpx/CGpxProject.cpp" line="111"/>
         <source>Failed to read: %1
 line %2, column %3:
  %4</source>
-        <translation type="unfinished"></translation>
+        <translation>Lezen mislukt: %1
+lijn %2, kolom %3:
+ %4</translation>
     </message>
     <message>
         <location filename="../gis/gpx/CGpxProject.cpp" line="120"/>
         <source>Not a GPX file: </source>
-        <translation type="unfinished"></translation>
+        <translation>Geen GPX bestand:</translation>
     </message>
     <message>
-        <location filename="../gis/gpx/CGpxProject.cpp" line="298"/>
+        <location filename="../gis/gpx/CGpxProject.cpp" line="286"/>
         <source>File exists ...</source>
-        <translation type="unfinished"></translation>
+        <translation>Bestand bestaat al...</translation>
     </message>
     <message>
-        <location filename="../gis/gpx/CGpxProject.cpp" line="299"/>
+        <location filename="../gis/gpx/CGpxProject.cpp" line="287"/>
         <source>The file exists and it has not been created by QMapShack. If you press 'yes' all data in this file will be lost. Even if this file contains GPX data and has been loaded by QMapShack, QMapShack might not be able to load and store all elements of this file.  Those elements will be lost. I recommend to use another file. <b>Do you really want to overwrite the file?</b></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/gpx/CGpxProject.cpp" line="407"/>
+        <location filename="../gis/gpx/CGpxProject.cpp" line="395"/>
         <source>Failed to create file '%1'</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/gpx/CGpxProject.cpp" line="416"/>
+        <location filename="../gis/gpx/CGpxProject.cpp" line="405"/>
         <source>Failed to write file '%1'</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/gpx/CGpxProject.cpp" line="421"/>
-        <source>Saveing GIS data failed...</source>
+        <location filename="../gis/gpx/CGpxProject.cpp" line="410"/>
+        <source>Saving GIS data failed...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/gpx/serialization.cpp" line="691"/>
+        <source>Saveing GIS data failed...</source>
+        <translation type="vanished">Opslaan GIS gegevens mislukt...</translation>
+    </message>
+    <message>
+        <location filename="../gis/gpx/serialization.cpp" line="582"/>
         <source>Archived</source>
-        <translation type="unfinished"></translation>
+        <translation>Gearchiveerd</translation>
     </message>
     <message>
-        <location filename="../gis/gpx/serialization.cpp" line="695"/>
+        <location filename="../gis/gpx/serialization.cpp" line="586"/>
         <source>Available</source>
         <translation>Beschikbaar</translation>
     </message>
     <message>
-        <location filename="../gis/gpx/serialization.cpp" line="699"/>
+        <location filename="../gis/gpx/serialization.cpp" line="590"/>
         <source>Not Available</source>
         <translation>Niet beschikbaar</translation>
     </message>
     <message>
-        <location filename="../gis/IGisItem.cpp" line="41"/>
+        <location filename="../gis/IGisItem.cpp" line="42"/>
         <source>[no name]</source>
         <translation>[geen naam]</translation>
     </message>
     <message>
-        <location filename="../gis/IGisItem.cpp" line="327"/>
+        <location filename="../gis/IGisItem.cpp" line="345"/>
         <source>Initial version.</source>
-        <translation type="unfinished"></translation>
+        <translation>Orginele versie.</translation>
     </message>
     <message>
-        <location filename="../gis/IGisItem.cpp" line="435"/>
-        <source><h3>%1</h3> This element is probably read-only because it was not created within QMapShack. Usually you should not want to change imported data. But if you think that is ok press'Ok'.</source>
-        <translation type="unfinished"></translation>
+        <location filename="../gis/IGisItem.cpp" line="453"/>
+        <source><h3>%1</h3> This element is probably read-only because it was not created within QMapShack. Usually you should not want to change imported data. But if you think that is ok press 'Ok'.</source>
+        <translation><h3>%1<h3>Dit element is waarschijnlijk alleen lezen omdat dit niet gemaakt is in QMapShack. Normaal hoeven geen gegevens aangepast te worden na het importeren.  Om toch aan te passen druk dan op 'OK'.</translation>
     </message>
     <message>
-        <location filename="../gis/IGisItem.cpp" line="436"/>
+        <location filename="../gis/IGisItem.cpp" line="454"/>
         <source>Read Only Mode...</source>
-        <translation type="unfinished"></translation>
+        <translation>Alleen lezen modus...</translation>
     </message>
     <message>
-        <location filename="../gis/IGisItem.cpp" line="653"/>
-        <location filename="../gis/IGisItem.cpp" line="712"/>
+        <location filename="../gis/IGisItem.cpp" line="601"/>
+        <location filename="../gis/IGisItem.cpp" line="660"/>
         <source><h4>Description:</h4></source>
         <translation><h4>Beschrijving:</h4></translation>
     </message>
     <message>
-        <location filename="../gis/IGisItem.cpp" line="656"/>
-        <location filename="../gis/IGisItem.cpp" line="715"/>
+        <location filename="../gis/IGisItem.cpp" line="604"/>
+        <location filename="../gis/IGisItem.cpp" line="663"/>
         <source><p>--- no description ---</p></source>
         <translation><p>--- geen beschrijving ---</p></translation>
     </message>
     <message>
-        <location filename="../gis/IGisItem.cpp" line="667"/>
+        <location filename="../gis/IGisItem.cpp" line="615"/>
         <source><h4>Comment:</h4></source>
         <translation><h4>Notitie:</h4></translation>
     </message>
     <message>
-        <location filename="../gis/IGisItem.cpp" line="670"/>
+        <location filename="../gis/IGisItem.cpp" line="618"/>
         <source><p>--- no comment ---</p></source>
         <translation><p>--- geen notitie ---</p></translation>
     </message>
     <message>
-        <location filename="../gis/IGisItem.cpp" line="681"/>
-        <location filename="../gis/IGisItem.cpp" line="726"/>
+        <location filename="../gis/IGisItem.cpp" line="629"/>
+        <location filename="../gis/IGisItem.cpp" line="674"/>
         <source><h4>Links:</h4></source>
         <translation><h4>Links:</h4></translation>
     </message>
     <message>
-        <location filename="../gis/IGisItem.cpp" line="684"/>
-        <location filename="../gis/IGisItem.cpp" line="729"/>
+        <location filename="../gis/IGisItem.cpp" line="632"/>
+        <location filename="../gis/IGisItem.cpp" line="677"/>
         <source><p>--- no links ---</p></source>
         <translation><p>--- geen links ---</p></translation>
     </message>
     <message>
-        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="95"/>
+        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="96"/>
         <source>thin</source>
-        <translation type="unfinished"></translation>
+        <translation>dun</translation>
     </message>
     <message>
-        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="96"/>
+        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="97"/>
         <source>normal</source>
-        <translation type="unfinished"></translation>
+        <translation>normaal</translation>
     </message>
     <message>
-        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="97"/>
+        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="98"/>
         <source>wide</source>
-        <translation type="unfinished"></translation>
+        <translation>breed</translation>
     </message>
     <message>
-        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="98"/>
+        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="99"/>
         <source>strong</source>
-        <translation type="unfinished"></translation>
+        <translation>vet</translation>
     </message>
     <message>
-        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="142"/>
-        <location filename="../gis/rte/CGisItemRte.cpp" line="67"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="193"/>
-        <location filename="../gis/wpt/CGisItemWpt.cpp" line="130"/>
+        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="138"/>
+        <location filename="../gis/rte/CGisItemRte.cpp" line="63"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="124"/>
+        <location filename="../gis/wpt/CGisItemWpt.cpp" line="92"/>
         <source>_Clone</source>
-        <translation type="unfinished"></translation>
+        <translation>_Kloon</translation>
     </message>
     <message>
-        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="446"/>
+        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="431"/>
         <source>Area: %1%2</source>
-        <translation type="unfinished"></translation>
+        <translation>Gebied: %1%2</translation>
     </message>
     <message>
-        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="508"/>
+        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="493"/>
         <source>Changed area shape.</source>
-        <translation type="unfinished"></translation>
+        <translation>Vorm gebied aangepast.</translation>
     </message>
     <message>
-        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="516"/>
-        <location filename="../gis/rte/CGisItemRte.cpp" line="245"/>
+        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="501"/>
+        <location filename="../gis/rte/CGisItemRte.cpp" line="221"/>
         <source>Changed name.</source>
-        <translation type="unfinished"></translation>
+        <translation>Naam aangepast.</translation>
     </message>
     <message>
-        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="522"/>
+        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="507"/>
         <source>Changed border width.</source>
-        <translation type="unfinished"></translation>
+        <translation>Lijndikte aangepast.</translation>
     </message>
     <message>
-        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="528"/>
+        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="513"/>
         <source>Changed fill pattern.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="534"/>
+        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="519"/>
         <source>Changed opacity.</source>
-        <translation type="unfinished"></translation>
+        <translation>Transparantie aangepast.</translation>
     </message>
     <message>
-        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="540"/>
+        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="525"/>
         <source>Changed comment.</source>
-        <translation type="unfinished"></translation>
+        <translation>Notitie aangepast.</translation>
     </message>
     <message>
-        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="546"/>
+        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="531"/>
         <source>Changed description.</source>
-        <translation type="unfinished"></translation>
+        <translation>Beschrijving aangepast.</translation>
     </message>
     <message>
-        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="552"/>
-        <location filename="../gis/rte/CGisItemRte.cpp" line="263"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1839"/>
-        <location filename="../gis/wpt/CGisItemWpt.cpp" line="456"/>
+        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="537"/>
+        <location filename="../gis/rte/CGisItemRte.cpp" line="239"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="2059"/>
+        <location filename="../gis/wpt/CGisItemWpt.cpp" line="366"/>
         <source>Changed links</source>
-        <translation type="unfinished"></translation>
+        <translation>Link aangepast</translation>
     </message>
     <message>
-        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="564"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1851"/>
+        <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="549"/>
         <source>Changed color</source>
-        <translation type="unfinished"></translation>
+        <translation>Kleur aangepast</translation>
     </message>
     <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="112"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="97"/>
         <source>Save project?</source>
         <translation>Project opslaan?</translation>
     </message>
     <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="112"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="97"/>
         <source><h3>%1</h3>The project was changed. Save before closing it?</source>
-        <translation type="unfinished"></translation>
+        <translation><h3>%1</h3>Het project is veranderd. Voor het sluiten opslaan?</translation>
     </message>
     <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="252"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="237"/>
         <source>%1: Correlate tracks and waypoints.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="262"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="247"/>
         <source><h3>%1</h3>Did that take too long for you? Do you want to skip correlation of tracks and waypoints for this project in the future?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="263"/>
-        <source>Cancelled correlation...</source>
+        <location filename="../gis/prj/IGisProject.cpp" line="248"/>
+        <source>Canceled correlation...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="341"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="326"/>
         <source><br/>
 Filename: %1</source>
         <translation><br/>
 Bestandsnaam: %1</translation>
     </message>
     <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="346"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="331"/>
         <source>Waypoints: %1</source>
         <translation>Waypoints: %1</translation>
     </message>
     <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="350"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="335"/>
         <source>Tracks: %1</source>
         <translation>Tracks: %1</translation>
     </message>
     <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="354"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="339"/>
         <source>Routes: %1</source>
         <translation>Routes: %1</translation>
     </message>
     <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="358"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="343"/>
         <source>Areas: %1</source>
-        <translation type="unfinished"></translation>
+        <translation>Gebieden: %1</translation>
     </message>
     <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="438"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="423"/>
         <source>Are you sure you want to delete '%1' from project '%2'?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../gis/rte/CCreateRouteFromWpt.cpp" line="65"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1225"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1240"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1259"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1318"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1497"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1245"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1264"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1340"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1399"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1578"/>
         <location filename="../mouse/CMouseEditArea.cpp" line="100"/>
         <location filename="../mouse/CMouseEditRte.cpp" line="111"/>
-        <location filename="../mouse/CMouseEditTrk.cpp" line="117"/>
+        <location filename="../mouse/CMouseEditTrk.cpp" line="116"/>
         <source>Edit name...</source>
         <translation>Bewerk naam...</translation>
     </message>
@@ -5771,111 +5992,111 @@ Bestandsnaam: %1</translation>
         <location filename="../gis/rte/CCreateRouteFromWpt.cpp" line="65"/>
         <location filename="../mouse/CMouseEditRte.cpp" line="111"/>
         <source>Enter new route name.</source>
-        <translation type="unfinished"></translation>
+        <translation>Geef  route een nieuwe naam.</translation>
     </message>
     <message>
-        <location filename="../gis/rte/CGisItemRte.cpp" line="251"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1827"/>
-        <location filename="../gis/wpt/CGisItemWpt.cpp" line="444"/>
+        <location filename="../gis/rte/CGisItemRte.cpp" line="227"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="2047"/>
+        <location filename="../gis/wpt/CGisItemWpt.cpp" line="354"/>
         <source>Changed comment</source>
-        <translation type="unfinished"></translation>
+        <translation>Notitie aangepast</translation>
     </message>
     <message>
-        <location filename="../gis/rte/CGisItemRte.cpp" line="257"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1833"/>
-        <location filename="../gis/wpt/CGisItemWpt.cpp" line="450"/>
+        <location filename="../gis/rte/CGisItemRte.cpp" line="233"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="2053"/>
+        <location filename="../gis/wpt/CGisItemWpt.cpp" line="360"/>
         <source>Changed description</source>
-        <translation type="unfinished"></translation>
+        <translation>Beschrijving aangepast</translation>
     </message>
     <message>
-        <location filename="../gis/rte/CGisItemRte.cpp" line="286"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="464"/>
+        <location filename="../gis/rte/CGisItemRte.cpp" line="262"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="371"/>
         <source>Length: %1 %2</source>
         <translation>Lengte: %1 %2</translation>
     </message>
     <message>
-        <location filename="../gis/rte/CGisItemRte.cpp" line="290"/>
+        <location filename="../gis/rte/CGisItemRte.cpp" line="266"/>
         <source>Length: -</source>
         <translation>Lengte: -</translation>
     </message>
     <message>
-        <location filename="../gis/rte/CGisItemRte.cpp" line="297"/>
-        <location filename="../gis/rte/CGisItemRte.cpp" line="481"/>
+        <location filename="../gis/rte/CGisItemRte.cpp" line="273"/>
+        <location filename="../gis/rte/CGisItemRte.cpp" line="456"/>
         <source>Time: %1 %2</source>
         <translation>Tijd: %1 %2</translation>
     </message>
     <message>
-        <location filename="../gis/rte/CGisItemRte.cpp" line="301"/>
+        <location filename="../gis/rte/CGisItemRte.cpp" line="277"/>
         <source>Time: -</source>
         <translation>Tijd: -</translation>
     </message>
     <message>
-        <location filename="../gis/rte/CGisItemRte.cpp" line="307"/>
+        <location filename="../gis/rte/CGisItemRte.cpp" line="283"/>
         <source>Last time routed:<br/>%1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/CGisItemRte.cpp" line="309"/>
+        <location filename="../gis/rte/CGisItemRte.cpp" line="285"/>
         <source>with %1</source>
         <translation>met %1</translation>
     </message>
     <message>
-        <location filename="../gis/rte/CGisItemRte.cpp" line="483"/>
+        <location filename="../gis/rte/CGisItemRte.cpp" line="458"/>
         <source>Distance: %1 %2</source>
         <translation>Afstand: %1 %2</translation>
     </message>
     <message>
-        <location filename="../gis/rte/CGisItemRte.cpp" line="612"/>
+        <location filename="../gis/rte/CGisItemRte.cpp" line="572"/>
         <source>Changed route points.</source>
-        <translation type="unfinished"></translation>
+        <translation>Routepunten aangepast.</translation>
     </message>
     <message>
         <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="431"/>
-        <location filename="../gis/tnv/serialization.cpp" line="460"/>
-        <location filename="../gis/tnv/serialization.cpp" line="471"/>
-        <location filename="../gis/tnv/serialization.cpp" line="504"/>
-        <location filename="../gis/tnv/serialization.cpp" line="644"/>
-        <location filename="../gis/tnv/serialization.cpp" line="672"/>
-        <location filename="../gis/tnv/serialization.cpp" line="683"/>
-        <location filename="../gis/tnv/serialization.cpp" line="701"/>
-        <location filename="../gis/tnv/serialization.cpp" line="729"/>
-        <location filename="../gis/tnv/serialization.cpp" line="803"/>
+        <location filename="../gis/tnv/serialization.cpp" line="211"/>
+        <location filename="../gis/tnv/serialization.cpp" line="347"/>
+        <location filename="../gis/tnv/serialization.cpp" line="376"/>
+        <location filename="../gis/tnv/serialization.cpp" line="387"/>
+        <location filename="../gis/tnv/serialization.cpp" line="420"/>
+        <location filename="../gis/tnv/serialization.cpp" line="560"/>
+        <location filename="../gis/tnv/serialization.cpp" line="588"/>
+        <location filename="../gis/tnv/serialization.cpp" line="599"/>
+        <location filename="../gis/tnv/serialization.cpp" line="617"/>
+        <location filename="../gis/tnv/serialization.cpp" line="645"/>
+        <location filename="../gis/tnv/serialization.cpp" line="719"/>
         <source>Error...</source>
         <translation>Fout...</translation>
     </message>
     <message>
         <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="431"/>
-        <location filename="../gis/tnv/serialization.cpp" line="644"/>
+        <location filename="../gis/tnv/serialization.cpp" line="211"/>
+        <location filename="../gis/tnv/serialization.cpp" line="347"/>
+        <location filename="../gis/tnv/serialization.cpp" line="560"/>
         <source>Failed to open %1.</source>
-        <translation type="unfinished"></translation>
+        <translation>Kan %1 niet openen.</translation>
     </message>
     <message>
-        <location filename="../gis/tnv/serialization.cpp" line="460"/>
-        <location filename="../gis/tnv/serialization.cpp" line="471"/>
-        <location filename="../gis/tnv/serialization.cpp" line="672"/>
-        <location filename="../gis/tnv/serialization.cpp" line="683"/>
+        <location filename="../gis/tnv/serialization.cpp" line="376"/>
+        <location filename="../gis/tnv/serialization.cpp" line="387"/>
+        <location filename="../gis/tnv/serialization.cpp" line="588"/>
+        <location filename="../gis/tnv/serialization.cpp" line="599"/>
         <source>Only support lon/lat WGS 84 format.</source>
-        <translation type="unfinished"></translation>
+        <translation>Alleen lon/lat WGS 84 formaat word ondersteunt.</translation>
     </message>
     <message>
-        <location filename="../gis/tnv/serialization.cpp" line="504"/>
-        <location filename="../gis/tnv/serialization.cpp" line="701"/>
-        <location filename="../gis/tnv/serialization.cpp" line="729"/>
-        <location filename="../gis/tnv/serialization.cpp" line="803"/>
+        <location filename="../gis/tnv/serialization.cpp" line="420"/>
+        <location filename="../gis/tnv/serialization.cpp" line="617"/>
+        <location filename="../gis/tnv/serialization.cpp" line="645"/>
+        <location filename="../gis/tnv/serialization.cpp" line="719"/>
         <source>Failed to read data.</source>
-        <translation type="unfinished"></translation>
+        <translation>Lezen gegevens mislukt.</translation>
     </message>
     <message>
         <location filename="../gis/trk/CActivityTrk.cpp" line="28"/>
         <location filename="../gis/trk/CActivityTrk.cpp" line="94"/>
         <source>Foot</source>
-        <translation type="unfinished"></translation>
+        <translation>Wandelen</translation>
     </message>
     <message>
         <location filename="../gis/trk/CActivityTrk.cpp" line="35"/>
@@ -5899,7 +6120,7 @@ Bestandsnaam: %1</translation>
         <location filename="../gis/trk/CActivityTrk.cpp" line="56"/>
         <location filename="../gis/trk/CActivityTrk.cpp" line="98"/>
         <source>Cable Car</source>
-        <translation type="unfinished"></translation>
+        <translation>Kabelbaan</translation>
     </message>
     <message>
         <location filename="../gis/trk/CActivityTrk.cpp" line="63"/>
@@ -5915,333 +6136,353 @@ Bestandsnaam: %1</translation>
     </message>
     <message>
         <location filename="../gis/trk/CActivityTrk.cpp" line="77"/>
-        <location filename="../gis/trk/CActivityTrk.cpp" line="101"/>
         <source>Aeronautik</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/trk/CActivityTrk.cpp" line="213"/>
-        <location filename="../gis/trk/CActivityTrk.cpp" line="257"/>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="101"/>
+        <source>Aeronautics</source>
+        <translation>Vliegtuig</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="210"/>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="254"/>
         <source>Distance:</source>
         <translation>Afstand:</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CActivityTrk.cpp" line="215"/>
-        <location filename="../gis/trk/CActivityTrk.cpp" line="279"/>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="212"/>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="276"/>
         <source>Ascend:</source>
-        <translation type="unfinished"></translation>
+        <translation>Stijging:</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CActivityTrk.cpp" line="217"/>
-        <location filename="../gis/trk/CActivityTrk.cpp" line="301"/>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="214"/>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="298"/>
         <source>Descend:</source>
-        <translation type="unfinished"></translation>
+        <translation>Daling:</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CActivityTrk.cpp" line="219"/>
-        <location filename="../gis/trk/CActivityTrk.cpp" line="323"/>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="216"/>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="320"/>
         <source>Speed Moving:</source>
         <translation>Bewogen snelheid:</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CActivityTrk.cpp" line="221"/>
-        <location filename="../gis/trk/CActivityTrk.cpp" line="345"/>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="218"/>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="342"/>
         <source>Speed Total:</source>
         <translation>Totale snelheid:</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CActivityTrk.cpp" line="223"/>
-        <location filename="../gis/trk/CActivityTrk.cpp" line="367"/>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="220"/>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="364"/>
         <source>Time Moving:</source>
         <translation>Bewogen tijd:</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CActivityTrk.cpp" line="225"/>
-        <location filename="../gis/trk/CActivityTrk.cpp" line="389"/>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="222"/>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="386"/>
         <source>Time Total:</source>
         <translation>Totale tijd:</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="357"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="249"/>
         <source>Changed trackpoints, sacrificed all previous data.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="471"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="378"/>
         <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="479"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="386"/>
         <source>Time: %1</source>
         <translation>Tijd: %1</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="482"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="492"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="389"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="399"/>
         <source>, Speed: %1 %2</source>
         <translation>, Snelheid: %1 %2</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="489"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="396"/>
         <source>Moving: %1</source>
         <translation>Beweging: %1</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="498"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="405"/>
         <source>Start: %1</source>
         <translation>Start: %1</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="503"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="410"/>
         <source>End: %1</source>
         <translation>Einde: %1</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="507"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="414"/>
         <source>Points: %1 (%2)</source>
         <translation>Punten: %1 (%2)</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="625"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="523"/>
         <source>Ele.: %1 %2</source>
-        <translation type="unfinished"></translation>
+        <translation>Hoogte.: %1 %2</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="628"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="526"/>
         <source> slope: %1%3 (%2%)</source>
-        <translation type="unfinished"></translation>
+        <translation> helling: %1%3 (%2%)</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="633"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="531"/>
         <source> speed: %1%2</source>
         <translation> snelheid: %1%2</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="653"/>
-        <source>Ascend: %1%2 (%3%)</source>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="559"/>
+        <source>... and %1 tags not displayed</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="657"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="571"/>
+        <source>Ascend: %1%2 (%3%)</source>
+        <translation>Stijging: %1%2 (%3%)</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="575"/>
         <source>Ascend: - (-)</source>
-        <translation type="unfinished"></translation>
+        <translation>Stijging: - (-)</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="663"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="581"/>
         <source> Descend: %1%2 (%3%)</source>
-        <translation type="unfinished"></translation>
+        <translation> Daling: %1%2 (%3%)</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="667"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="585"/>
         <source> Descend: - (-) </source>
-        <translation type="unfinished"></translation>
+        <translation> Daling: - (-) </translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="674"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="592"/>
         <source>Dist.: %1%2 (%3%)</source>
-        <translation type="unfinished"></translation>
+        <translation>Afstand.: %1%2 (%3%)</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="678"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="596"/>
         <source>Dist.: - (-)</source>
-        <translation type="unfinished"></translation>
+        <translation>Afstand.: - (-)</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="684"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="602"/>
         <source> Moving: %1%2 (%3%)</source>
-        <translation type="unfinished"></translation>
+        <translation> Beweging: %1%2 (%3%)</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="688"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="606"/>
         <source> Moving: - (-) </source>
-        <translation type="unfinished"></translation>
+        <translation> Beweging: - (-) </translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="707"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="625"/>
         <source>Ascend: %1%2</source>
-        <translation type="unfinished"></translation>
+        <translation>Stijging: %1%2</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="712"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="729"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="630"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="647"/>
         <source>, %1%2</source>
         <translation>, %1%2</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="717"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="635"/>
         <source>Ascend: -</source>
-        <translation type="unfinished"></translation>
+        <translation>Stijging: -</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="724"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="642"/>
         <source> Descend: %1%2</source>
-        <translation type="unfinished"></translation>
+        <translation> Daling: %1%2</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="734"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="652"/>
         <source>Descend: -</source>
-        <translation type="unfinished"></translation>
+        <translation>Daling: -</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="740"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="658"/>
         <source>Dist.: %1%2</source>
-        <translation type="unfinished"></translation>
+        <translation>Afstand.: %1%2</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="745"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="663"/>
         <source> Time: %1%2</source>
         <translation> Tijd: %1%2</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1225"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1240"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1259"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1318"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1497"/>
-        <location filename="../mouse/CMouseEditTrk.cpp" line="117"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1245"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1264"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1340"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1399"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1578"/>
+        <location filename="../mouse/CMouseEditTrk.cpp" line="116"/>
         <source>Enter new track name.</source>
-        <translation type="unfinished"></translation>
+        <translation>Geef track nieuwe naam.</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1432"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1307"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1331"/>
+        <source>Permanently removed points %1..%2</source>
+        <translation>Permanent verwijderde punten %1..%2</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1513"/>
         <source>Hide points.</source>
         <translation>Verberg punten.</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1472"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1553"/>
         <source>Show points.</source>
         <translation>Toon punten.</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1821"/>
-        <location filename="../gis/wpt/CGisItemWpt.cpp" line="402"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="2041"/>
+        <location filename="../gis/wpt/CGisItemWpt.cpp" line="312"/>
         <source>Changed name</source>
-        <translation type="unfinished"></translation>
+        <translation>Naam aangepast</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1868"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="2088"/>
         <source>Changed activity to '%1' for complete track.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1942"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="2163"/>
         <source>Changed activity to '%1' for range(%2..%3).</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/trk/filter/filter.cpp" line="96"/>
+        <location filename="../gis/trk/filter/filter.cpp" line="106"/>
         <source>Hide points by Douglas Peuker algorithm (%1%2)</source>
+        <translation>Verberg alle punten via Douglas Peuker algoritme (%1%2)</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/filter/filter.cpp" line="141"/>
+        <source>Hide points with invalid coordinates at the beginning of the track</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/trk/filter/filter.cpp" line="112"/>
+        <location filename="../gis/trk/filter/filter.cpp" line="157"/>
         <source>Reset all hidden track points to visible</source>
-        <translation type="unfinished"></translation>
+        <translation>Verander alle verborgen trackpunten naar zichtbaar</translation>
     </message>
     <message>
-        <location filename="../gis/trk/filter/filter.cpp" line="137"/>
+        <location filename="../gis/trk/filter/filter.cpp" line="191"/>
         <source>Permanently removed all hidden track points</source>
-        <translation type="unfinished"></translation>
+        <translation>Alle verborgen trackpunten permanent verwijderd</translation>
     </message>
     <message>
-        <location filename="../gis/trk/filter/filter.cpp" line="187"/>
+        <location filename="../gis/trk/filter/filter.cpp" line="241"/>
         <source>Smoothed profile with a Median filter of size %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/trk/filter/filter.cpp" line="223"/>
+        <location filename="../gis/trk/filter/filter.cpp" line="277"/>
         <source>Replaced elevation data with data from DEM files.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/trk/filter/filter.cpp" line="246"/>
+        <location filename="../gis/trk/filter/filter.cpp" line="300"/>
         <source>Offset elevation data by %1%2.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/trk/filter/filter.cpp" line="265"/>
+        <location filename="../gis/trk/filter/filter.cpp" line="319"/>
         <source>Changed start of track to %1.</source>
-        <translation type="unfinished"></translation>
+        <translation>Start van track veranderd naar %1.</translation>
     </message>
     <message>
-        <location filename="../gis/trk/filter/filter.cpp" line="284"/>
+        <location filename="../gis/trk/filter/filter.cpp" line="338"/>
         <source>Remove timestamps.</source>
-        <translation type="unfinished"></translation>
+        <translation>Verwijder tijdstempels.</translation>
     </message>
     <message>
-        <location filename="../gis/trk/filter/filter.cpp" line="307"/>
+        <location filename="../gis/trk/filter/filter.cpp" line="361"/>
         <source>Set artificial timestamps with delta of %1 sec.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/trk/filter/filter.cpp" line="340"/>
+        <location filename="../gis/trk/filter/filter.cpp" line="394"/>
         <source>Changed speed to %1%2.</source>
-        <translation type="unfinished"></translation>
+        <translation>Snelheid veranderd naar %1%2.</translation>
     </message>
     <message>
-        <location filename="../gis/wpt/CGisItemWpt.cpp" line="317"/>
+        <location filename="../gis/wpt/CGisItemWpt.cpp" line="227"/>
         <source>Elevation: %1 %2</source>
         <translation>Hoogte: %1 %2</translation>
     </message>
     <message>
-        <location filename="../gis/wpt/CGisItemWpt.cpp" line="328"/>
+        <location filename="../gis/wpt/CGisItemWpt.cpp" line="238"/>
         <source>Proximity: %1 %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/wpt/CGisItemWpt.cpp" line="412"/>
+        <location filename="../gis/wpt/CGisItemWpt.cpp" line="322"/>
         <source>Changed position</source>
-        <translation type="unfinished"></translation>
+        <translation>Positie aangepast</translation>
     </message>
     <message>
-        <location filename="../gis/wpt/CGisItemWpt.cpp" line="418"/>
+        <location filename="../gis/wpt/CGisItemWpt.cpp" line="328"/>
         <source>Changed elevation</source>
-        <translation type="unfinished"></translation>
+        <translation>Hoogte aangepast</translation>
     </message>
     <message>
-        <location filename="../gis/wpt/CGisItemWpt.cpp" line="424"/>
+        <location filename="../gis/wpt/CGisItemWpt.cpp" line="334"/>
         <source>Changed proximity</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/wpt/CGisItemWpt.cpp" line="438"/>
+        <location filename="../gis/wpt/CGisItemWpt.cpp" line="348"/>
         <source>Changed icon</source>
-        <translation type="unfinished"></translation>
+        <translation>Pictogram aangepast</translation>
     </message>
     <message>
-        <location filename="../gis/wpt/CGisItemWpt.cpp" line="462"/>
+        <location filename="../gis/wpt/CGisItemWpt.cpp" line="372"/>
         <source>Changed images</source>
-        <translation type="unfinished"></translation>
+        <translation>Afbeelding aangepast</translation>
     </message>
     <message>
-        <location filename="../gis/wpt/CGisItemWpt.cpp" line="468"/>
+        <location filename="../gis/wpt/CGisItemWpt.cpp" line="378"/>
         <source>Add image</source>
-        <translation type="unfinished"></translation>
+        <translation>Afbeelding toevoegen</translation>
     </message>
     <message>
-        <location filename="../map/garmin/CGarminTyp.cpp" line="465"/>
-        <location filename="../map/garmin/CGarminTyp.cpp" line="846"/>
+        <location filename="../map/garmin/CGarminTyp.cpp" line="457"/>
+        <location filename="../map/garmin/CGarminTyp.cpp" line="838"/>
         <source>Warning...</source>
         <translation>Waarschuwing...</translation>
     </message>
     <message>
-        <location filename="../map/garmin/CGarminTyp.cpp" line="465"/>
+        <location filename="../map/garmin/CGarminTyp.cpp" line="457"/>
         <source>This is a typ file with unknown polygon encoding. Please report!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../map/garmin/CGarminTyp.cpp" line="846"/>
+        <location filename="../map/garmin/CGarminTyp.cpp" line="838"/>
         <source>This is a typ file with unknown polyline encoding. Please report!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../mouse/CMouseEditArea.cpp" line="100"/>
         <source>Enter new area name.</source>
-        <translation type="unfinished"></translation>
+        <translation>Geef gebied een nieuwe naam.</translation>
     </message>
     <message>
-        <location filename="../qlgt/converter.cpp" line="195"/>
+        <location filename="../qlgt/converter.cpp" line="198"/>
         <source>Copy flag information from QLandkarte GT track</source>
         <translation type="unfinished"></translation>
     </message>
@@ -6285,5 +6526,66 @@ Bestandsnaam: %1</translation>
         <source>Position values out of bounds. </source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../gis/trk/CPropertyTrk.cpp" line="53"/>
+        <source>Progress</source>
+        <translation>Voortgang</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CPropertyTrk.cpp" line="56"/>
+        <source>time</source>
+        <translation>tijd</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CPropertyTrk.cpp" line="57"/>
+        <location filename="../gis/trk/CPropertyTrk.cpp" line="82"/>
+        <source>distance [%1]</source>
+        <translation>afstand [%1]</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CKnownExtension.cpp" line="57"/>
+        <source>Slope (directed)</source>
+        <translation>Helling (getekend)</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CKnownExtension.cpp" line="62"/>
+        <source>Speed</source>
+        <translation>Snelheid</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CKnownExtension.cpp" line="67"/>
+        <source>Elevation</source>
+        <translation>Hoogte</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CKnownExtension.cpp" line="74"/>
+        <location filename="../gis/trk/CKnownExtension.cpp" line="100"/>
+        <source>Heart Rate</source>
+        <translation>Hartslag</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CKnownExtension.cpp" line="79"/>
+        <location filename="../gis/trk/CKnownExtension.cpp" line="105"/>
+        <source>Cadence</source>
+        <translation>Cadans</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CKnownExtension.cpp" line="84"/>
+        <location filename="../gis/trk/CKnownExtension.cpp" line="110"/>
+        <source>Air Temperature</source>
+        <translation>Luchttemperatuur</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CKnownExtension.cpp" line="89"/>
+        <location filename="../gis/trk/CKnownExtension.cpp" line="115"/>
+        <source>Water Temperature</source>
+        <translation>Watertemperatuur</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CKnownExtension.cpp" line="94"/>
+        <location filename="../gis/trk/CKnownExtension.cpp" line="120"/>
+        <source>Depth</source>
+        <translation>Diepte</translation>
+    </message>
 </context>
 </TS>
diff --git a/src/map/CMapIMG.cpp b/src/map/CMapIMG.cpp
index 4ccf894..4fcb056 100644
--- a/src/map/CMapIMG.cpp
+++ b/src/map/CMapIMG.cpp
@@ -137,7 +137,6 @@ inline bool isCluttered(QVector<QRectF>& rectPois, const QRectF& rect)
 CMapIMG::CMapIMG(const QString &filename, CMapDraw *parent)
     : IMap(eFeatVisibility|eFeatVectorItems,parent)
     , filename(filename)
-    , transparent(false)
     , fm(CMainWindow::self().getMapFont())
     , selectedLanguage(NOIDX)
 {
@@ -548,7 +547,7 @@ void CMapIMG::readBasics()
     // start of new subfile part
     /*
         It is taken for granted that the single subfile parts are not
-        fragmented within the file. Thus it is not really neccessary to
+        fragmented within the file. Thus it is not really necessary to
         store and handle all block sequence numbers. Just the first one
         will give us the offset. This also implies that it is not necessary
         to care about FAT blocks with a non-zero part number.
@@ -556,7 +555,7 @@ void CMapIMG::readBasics()
         2007-03-31: Garmin's world base map seems to be coded different.
                     The part field seems to be rather a bit field than
                     a part number. As the total subfile size is given
-                    for the first part only (for all otheres it's zero)
+                    for the first part only (for all others it's zero)
                     I use it to identify the 1st part of a subfile
 
         2007-05-26: Gmapsupp images by Sendmap code quite some bull shit,
@@ -1081,7 +1080,7 @@ void CMapIMG::processPrimaryMapData()
     QMap<QString,subfile_desc_t>::const_iterator subfile = subfiles.begin();
     /*
      * Query all subfiles for possible maplevels.
-     * Exclude basemap to avoid polution.
+     * Exclude basemap to avoid pollution.
      */
     while (subfile != subfiles.end())
     {
@@ -2089,7 +2088,7 @@ void CMapIMG::drawPoints(QPainter& p, pointtype_t& pts, QVector<QRectF>& rectPoi
             rect.adjust(0,0,4,4);
             rect.moveCenter(pt->pos.toPoint());
 
-            // test rectangle for intersection with existng labels
+            // test rectangle for intersection with existing labels
             QVector<strlbl_t>::const_iterator label = labels.constBegin();
             while(label != labels.constEnd())
             {
@@ -2192,7 +2191,7 @@ void CMapIMG::drawPois(QPainter& p, pointtype_t& pts, QVector<QRectF> &rectPois)
             rect.adjust(0,0,4,4);
             rect.moveCenter(pt->pos.toPoint());
 
-            // test rectangle for intersection with existng labels
+            // test rectangle for intersection with existing labels
             QVector<strlbl_t>::const_iterator label = labels.begin();
             while(label != labels.end())
             {
diff --git a/src/map/CMapIMG.h b/src/map/CMapIMG.h
index 0dda1af..0de9914 100644
--- a/src/map/CMapIMG.h
+++ b/src/map/CMapIMG.h
@@ -83,7 +83,7 @@ public:
 
         /// the center longitude of the area covered by this subdivision
         qint32 iCenterLng;
-        /// the center latiude of the area covered by this subdivision
+        /// the center latitude of the area covered by this subdivision
         qint32 iCenterLat;
 
         /// north boundary of area covered by this subsection []
@@ -534,7 +534,7 @@ private:
      */
     QMap<QString,subfile_desc_t> subfiles;
     /// relay the transparent flags from the subfiles
-    bool transparent;
+    bool transparent = false;
 
     QRectF maparea;
 
diff --git a/src/map/CMapItem.cpp b/src/map/CMapItem.cpp
index 500491e..4b125b4 100644
--- a/src/map/CMapItem.cpp
+++ b/src/map/CMapItem.cpp
@@ -209,7 +209,7 @@ bool CMapItem::activate()
         return false;
     }
 
-    // if map is activated sucessfully add to the list of map files
+    // if map is activated successfully add to the list of map files
     // else delete all previous loaded maps and abort
     if(!mapfile->activated())
     {
diff --git a/src/map/CMapItem.h b/src/map/CMapItem.h
index 789f846..733efa3 100644
--- a/src/map/CMapItem.h
+++ b/src/map/CMapItem.h
@@ -38,7 +38,7 @@ public:
     void loadConfig(QSettings& cfg);
 
     /**
-       @brief As the drawing thread is using the list widget to iterate of all maps to draw, all access has to be synchronised.
+       @brief As the drawing thread is using the list widget to iterate of all maps to draw, all access has to be synchronized.
      */
     static QMutex mutexActiveMaps;
 
@@ -71,7 +71,7 @@ public:
     void moveToBottom();
 
     /**
-       @brief Set item's icon accorting to map type and state
+       @brief Set item's icon according to map type and state
      */
     void updateIcon();
 
diff --git a/src/map/CMapJNX.cpp b/src/map/CMapJNX.cpp
index 6c3d97b..7de9a58 100644
--- a/src/map/CMapJNX.cpp
+++ b/src/map/CMapJNX.cpp
@@ -80,10 +80,6 @@ static quint32 scale2jnx(qreal scale)
 CMapJNX::CMapJNX(const QString &filename, CMapDraw *parent)
     : IMap(eFeatVisibility,parent)
     , filename(filename)
-    , lon1(180.0)
-    , lat1(-90)
-    , lon2(-180)
-    , lat2(90)
 {
     qDebug() << "------------------------------";
     qDebug() << "JNX: try to open" << filename;
diff --git a/src/map/CMapJNX.h b/src/map/CMapJNX.h
index f87d857..a4e747b 100644
--- a/src/map/CMapJNX.h
+++ b/src/map/CMapJNX.h
@@ -99,10 +99,10 @@ private:
 
     QList<file_t> files;
 
-    qreal lon1;
-    qreal lat1;
-    qreal lon2;
-    qreal lat2;
+    qreal lon1 = 180.0;
+    qreal lat1 = -90;
+    qreal lon2 = -180;
+    qreal lat2 = 90;
 };
 
 #endif // CMAPJNX_H
diff --git a/src/map/CMapTMS.cpp b/src/map/CMapTMS.cpp
index 521188b..645a44c 100644
--- a/src/map/CMapTMS.cpp
+++ b/src/map/CMapTMS.cpp
@@ -53,11 +53,6 @@ inline double tile2lat(int y, int z)
 
 CMapTMS::CMapTMS(const QString &filename, CMapDraw *parent)
     : IMap(eFeatVisibility|eFeatTileCache, parent)
-    , minZoomLevel(1)
-    , maxZoomLevel(21)
-    , mutex(QMutex::Recursive)
-    , diskCache(0)
-    , lastRequest(false)
 {
     qDebug() << "------------------------------";
     qDebug() << "TMS: try to open" << filename;
@@ -212,7 +207,7 @@ void CMapTMS::saveConfig(QSettings& cfg)
         return;
     }
 
-    // save indices of enbaled layers
+    // save indices of enabled layers
     QStringList enabled;
     for(int i = 0; i< layers.size(); i++)
     {
diff --git a/src/map/CMapTMS.h b/src/map/CMapTMS.h
index 6401c76..1e53bcf 100644
--- a/src/map/CMapTMS.h
+++ b/src/map/CMapTMS.h
@@ -82,24 +82,24 @@ private:
 
     QString name;
 
-    qint32 minZoomLevel;
+    qint32 minZoomLevel = 1;
 
-    qint32 maxZoomLevel;
+    qint32 maxZoomLevel = 21;
 
     QList<rawHeaderItem_t> rawHeaderItems;
 
     /// Mutex to control access to url queue
-    QMutex mutex;
+    QMutex mutex {QMutex::Recursive};
     /// a queue with all tile urls to request
     QQueue<QString> urlQueue;
     /// the tile cache
-    IDiskCache * diskCache;
-    /// access mangager to request tiles
+    IDiskCache * diskCache = 0;
+    /// access manager to request tiles
     QNetworkAccessManager * accessManager;
 
     QList<QString> urlPending;
 
-    bool lastRequest;
+    bool lastRequest = false;
 
     QTime timeLastUpdate;
 };
diff --git a/src/map/CMapVRT.cpp b/src/map/CMapVRT.cpp
index 05a1382..12401db 100644
--- a/src/map/CMapVRT.cpp
+++ b/src/map/CMapVRT.cpp
@@ -34,8 +34,6 @@
 CMapVRT::CMapVRT(const QString &filename, CMapDraw *parent)
     : IMap(eFeatVisibility,parent)
     , filename(filename)
-    , rasterBandCount(0)
-    , hasOverviews(false)
 {
     qDebug() << "------------------------------";
     qDebug() << "VRT: try to open" << filename;
@@ -270,7 +268,7 @@ void CMapVRT::draw(IDrawContext::buffer_t& buf)
     qreal nTiles = ((right - left) * (bottom - top) / (dx*dy));
     if(hasOverviews)
     {
-        // if there are overviews tiles canbe reduced by reading
+        // if there are overviews tiles can be reduced by reading
         // with a scale factor from file. Increase amount of pixel
         // read until tile limit is met.
         while(nTiles > TILELIMIT)
diff --git a/src/map/CMapVRT.h b/src/map/CMapVRT.h
index d4187a3..38e3339 100644
--- a/src/map/CMapVRT.h
+++ b/src/map/CMapVRT.h
@@ -41,7 +41,7 @@ private:
     /// instance of GDAL dataset
     GDALDataset * dataset;
     /// number of color bands used by the *vrt
-    int rasterBandCount;
+    int rasterBandCount = 0;
     /// QT representation of the vrt's color table
     QVector<QRgb> colortable;
 
@@ -66,7 +66,7 @@ private:
     QTransform trFwd;
     QTransform trInv;
 
-    bool hasOverviews;
+    bool hasOverviews = false;
 };
 
 #endif //CMAPVRT_H
diff --git a/src/map/CMapWMTS.cpp b/src/map/CMapWMTS.cpp
index d866671..0e65fb8 100644
--- a/src/map/CMapWMTS.cpp
+++ b/src/map/CMapWMTS.cpp
@@ -32,10 +32,6 @@
 
 CMapWMTS::CMapWMTS(const QString &filename, CMapDraw *parent)
     : IMap(eFeatVisibility|eFeatTileCache, parent)
-    , mutex(QMutex::Recursive)
-    , diskCache(0)
-    , lastRequest(false)
-
 {
     qDebug() << "------------------------------";
     qDebug() << "WTMS: try to open" << filename;
@@ -73,7 +69,7 @@ CMapWMTS::CMapWMTS(const QString &filename, CMapDraw *parent)
 
     if(!ServiceType.contains("WMTS", Qt::CaseInsensitive) || ServiceTypeVersion != "1.0.0")
     {
-        QMessageBox::critical(CMainWindow::getBestWidgetForParent(), tr("Error..."), tr("Unexpexted service. '* WMTS 1.0.0' is expected. '%1 %2' is read.").arg(ServiceType).arg(ServiceTypeVersion), QMessageBox::Abort, QMessageBox::Abort);
+        QMessageBox::critical(CMainWindow::getBestWidgetForParent(), tr("Error..."), tr("Unexpected service. '* WMTS 1.0.0' is expected. '%1 %2' is read.").arg(ServiceType).arg(ServiceTypeVersion), QMessageBox::Abort, QMessageBox::Abort);
         return;
     }
 
@@ -295,7 +291,7 @@ void CMapWMTS::saveConfig(QSettings& cfg)
         return;
     }
 
-    // save indices of enbaled layers
+    // save indices of enabled layers
     QStringList enabled;
     for(int i = 0; i< layers.size(); i++)
     {
diff --git a/src/map/CMapWMTS.h b/src/map/CMapWMTS.h
index 520240c..5b7a13f 100644
--- a/src/map/CMapWMTS.h
+++ b/src/map/CMapWMTS.h
@@ -112,17 +112,17 @@ private:
 
     QString name;
     /// Mutex to control access to url queue
-    QMutex mutex;
+    QMutex mutex {QMutex::Recursive};
     /// a queue with all tile urls to request
     QQueue<QString> urlQueue;
     /// the tile cache
-    IDiskCache * diskCache;
-    /// access mangager to request tiles
+    IDiskCache * diskCache = 0;
+    /// access manager to request tiles
     QNetworkAccessManager * accessManager;
 
     QList<QString> urlPending;
 
-    bool lastRequest;
+    bool lastRequest = false;
 
     QTime timeLastUpdate;
 };
diff --git a/src/map/IMap.cpp b/src/map/IMap.cpp
index 3f5c670..df44e1b 100644
--- a/src/map/IMap.cpp
+++ b/src/map/IMap.cpp
@@ -26,15 +26,7 @@
 IMap::IMap(quint32 features, CMapDraw *parent)
     : IDrawObject(parent)
     , map(parent)
-    , pjsrc(0)
-    , isActivated(false)
     , flagsFeature(features)
-    , showPolygons(true)
-    , showPolylines(true)
-    , showPOIs(true)
-    , cacheSizeMB(100)
-    , cacheExpiration(8)
-
 {
     pjtar = pj_init_plus("+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs");
 }
diff --git a/src/map/IMap.h b/src/map/IMap.h
index b71b83a..0beb616 100644
--- a/src/map/IMap.h
+++ b/src/map/IMap.h
@@ -198,7 +198,7 @@ protected:
 
 
     /**
-       @brief Reproject (translate, rotate, scale) tile before drwaing it.
+       @brief Reproject (translate, rotate, scale) tile before drawing it.
        @param img   the tile as QImage
        @param l     a 4 point polygon to fit the tile in
        @param p     the QPainter used to paint the tile
@@ -213,17 +213,17 @@ protected:
         Has to be set by subclass. Destruction has to be
         handled by subclass.
      */
-    projPJ pjsrc;
+    projPJ pjsrc = 0;
     /// target projection
     /**
         Is set by IMap() to WGS84. Will be freed by ~IMap()
      */
-    projPJ pjtar;
+    projPJ pjtar = 0;
 
     /**
        @brief True if map was loaded successfully
      */
-    bool isActivated;
+    bool isActivated = false;
 
     /// the setup dialog. Use getSetup() for access
     QPointer<IMapProp> setup;
@@ -232,18 +232,18 @@ protected:
     quint32 flagsFeature;
 
     /// vector maps only: hide/show polygons
-    bool showPolygons;
+    bool showPolygons = true;
     /// vector maps only: hide/show polylines
-    bool showPolylines;
+    bool showPolylines = true;
     /// vector maps only: hide/show point of interest
-    bool showPOIs;
+    bool showPOIs = true;
 
     /// streaming map only: path to cached tiles
     QString cachePath;
     /// streaming map only: maximum size of all tiles in cache [MByte]
-    qint32 cacheSizeMB;
+    qint32 cacheSizeMB = 100;
     /// streaming map only: maximum age of tiles in cache [days]
-    qint32 cacheExpiration;
+    qint32 cacheExpiration = 8;
 
     /// a copyright string to be displayed as tool tip
     QString copyright;
diff --git a/src/map/cache/CDiskCache.cpp b/src/map/cache/CDiskCache.cpp
index 7b8cf5f..1daf662 100644
--- a/src/map/cache/CDiskCache.cpp
+++ b/src/map/cache/CDiskCache.cpp
@@ -25,7 +25,6 @@ CDiskCache::CDiskCache(const QString &path, qint32 size, qint32 days, QObject *
     , dir(path)
     , size(size)
     , expiration(days)
-    , dummy(256,256, QImage::Format_ARGB32)
 {
     dummy.fill(Qt::transparent);
 
diff --git a/src/map/cache/CDiskCache.h b/src/map/cache/CDiskCache.h
index 2c04249..b201b6d 100644
--- a/src/map/cache/CDiskCache.h
+++ b/src/map/cache/CDiskCache.h
@@ -48,14 +48,14 @@ private:
 
     qint32 expiration;
 
-    /// hash table to cache images als files on disc
+    /// hash table to cache images as files on disc
     QHash<QString, QString> table;
     /// hash table to cache loaded images in memory
     QHash<QString, QImage>  cache;
 
     QTimer * timer;
 
-    QImage dummy;
+    QImage dummy {256,256, QImage::Format_ARGB32};
 };
 
 #endif //CDISKCACHE_H
diff --git a/src/map/garmin/CGarminPoint.cpp b/src/map/garmin/CGarminPoint.cpp
index 99fcfaa..5cd6603 100644
--- a/src/map/garmin/CGarminPoint.cpp
+++ b/src/map/garmin/CGarminPoint.cpp
@@ -28,19 +28,6 @@
 
 #include <QtCore>
 
-CGarminPoint::CGarminPoint()
-    : type(0)
-    , isLbl6(false)
-    , hasSubType(false)
-    , lbl_ptr(0xFFFFFFFF)
-{
-}
-
-
-CGarminPoint::~CGarminPoint()
-{
-}
-
 
 quint32 CGarminPoint::decode(qint32 iCenterLon, qint32 iCenterLat, quint32 shift, const quint8 * pData)
 {
diff --git a/src/map/garmin/CGarminPoint.h b/src/map/garmin/CGarminPoint.h
index ebf84b7..9f6f9e6 100644
--- a/src/map/garmin/CGarminPoint.h
+++ b/src/map/garmin/CGarminPoint.h
@@ -34,21 +34,21 @@ class CGarminTile;
 class CGarminPoint
 {
 public:
-    CGarminPoint();
-    virtual ~CGarminPoint();
+    CGarminPoint() = default;
+    virtual ~CGarminPoint() = default;
 
     quint32 decode(qint32 iCenterLon, qint32 iCenterLat, quint32 shift, const quint8 * pData);
     quint32 decode2(qint32 iCenterLon, qint32 iCenterLat, quint32 shift, const quint8 * pData, const quint8 * pEnd);
 
-    quint32 type;
-    bool isLbl6;
-    bool hasSubType;
+    quint32 type = 0;
+    bool isLbl6 = false;
+    bool hasSubType = false;
 
     //QString label;
     QPointF pos;
 
     QStringList labels;
 
-    quint32 lbl_ptr;
+    quint32 lbl_ptr = 0xFFFFFFFF;
 };
 #endif                           //CGARMINPOINT_H
diff --git a/src/map/garmin/CGarminPolygon.cpp b/src/map/garmin/CGarminPolygon.cpp
index bd5bac0..34b5cbe 100644
--- a/src/map/garmin/CGarminPolygon.cpp
+++ b/src/map/garmin/CGarminPolygon.cpp
@@ -34,44 +34,17 @@
 
 struct sign_info_t
 {
-    sign_info_t();
-
-    quint32 sign_info_bits;
-    bool x_has_sign;
-    bool nx;
-    bool y_has_sign;
-    bool ny;
+    quint32 sign_info_bits = 2;
+    bool x_has_sign = true;
+    bool nx = false;
+    bool y_has_sign = true;
+    bool ny = false;
 };
-sign_info_t::sign_info_t()
-    : sign_info_bits(2)
-    , x_has_sign(true)
-    , nx(false)
-    , y_has_sign(true)
-    , ny(false)
-{
-}
 
 
 quint32 CGarminPolygon::cnt = 0;
 qint32 CGarminPolygon::maxVecSize = 0;
 
-CGarminPolygon::CGarminPolygon()
-    : type(0)
-    , direction(false)
-    , lbl_info(0)
-    , lbl_in_NET(false)
-    , hasV2Label(false)
-    , dLng(0)
-    , dLat(0)
-    , id(0)
-
-{
-}
-
-
-CGarminPolygon::~CGarminPolygon()
-{
-}
 
 
 quint32 CGarminPolygon::decode(qint32 iCenterLon, qint32 iCenterLat, quint32 shift, bool line, const quint8 * pData, const quint8 * pEnd)
@@ -536,7 +509,7 @@ bool CShiftReg::get(qint32& x, qint32& y)
     reg >>= bits_per_x;
     bits -= bits_per_x;
 
-    // take y coord., add sign if neccessary, shift register by bits per y coord.
+    // take y coord., add sign if necessary, shift register by bits per y coord.
     if(sinfo.y_has_sign)
     {
         qint32 tmp = 0;
@@ -572,7 +545,7 @@ bool CShiftReg::get(qint32& x, qint32& y)
     reg >>= bits_per_y;
     bits -= bits_per_y;
 
-    // fill register until it has enought bits for one coord. pair again
+    // fill register until it has enough bits for one coord. pair again
     fill(bits_per_coord);
     return true;
 }
diff --git a/src/map/garmin/CGarminPolygon.h b/src/map/garmin/CGarminPolygon.h
index f7e3c1d..a1f809b 100644
--- a/src/map/garmin/CGarminPolygon.h
+++ b/src/map/garmin/CGarminPolygon.h
@@ -38,25 +38,25 @@ struct sign_info_t;
 class CGarminPolygon
 {
 public:
-    CGarminPolygon();
-    virtual ~CGarminPolygon();
+    CGarminPolygon() = default;
+    virtual ~CGarminPolygon() = default;
 
     quint32 decode(qint32 iCenterLon, qint32 iCenterLat, quint32 shift, bool line, const quint8 * pData, const quint8 * pEnd);
     quint32 decode2(qint32 iCenterLon, qint32 iCenterLat, quint32 shift, bool line, const quint8 * pData, const quint8 * pEnd);
 
-    quint32 type;
+    quint32 type = 0;
     /// direction of line (polyline, only)
-    bool direction;
+    bool direction = false;
     /// the label offset
-    quint32 lbl_info;
+    quint32 lbl_info = 0;
     /// true if label offset has to be used in NET section
-    bool lbl_in_NET;
+    bool lbl_in_NET = false;
     ///
-    bool hasV2Label;
+    bool hasV2Label = false;
     /// delta longitude from subdivision center
-    qint16 dLng;
+    qint16 dLng = 0;
     /// delta latitude from subdivision center
-    qint16 dLat;
+    qint16 dLat = 0;
     /** @brief the actual polyline points as [pixel]
        @note After decode() or decode2() the content will be the same as coords.
             It is up to the render object to convert it into pixel coordinates
@@ -65,7 +65,7 @@ public:
     /// the actual polyline points as longitude / latitude [rad]
     QPolygonF coords;
 
-    quint32 id;
+    quint32 id = 0;
 
     QStringList labels;
 
@@ -104,8 +104,6 @@ private:
     qint32 ysign2;
     /// total bits in register
     quint8 bits;
-    /// used bits of first byte;
-    quint8 bits_of_byte;
     /// bits per x coord.
     quint8 bits_per_x;
     /// bits per y   coord.
diff --git a/src/map/garmin/CGarminTyp.cpp b/src/map/garmin/CGarminTyp.cpp
index bfc6eaf..b302325 100644
--- a/src/map/garmin/CGarminTyp.cpp
+++ b/src/map/garmin/CGarminTyp.cpp
@@ -30,14 +30,6 @@
 
 #undef DBG
 
-CGarminTyp::CGarminTyp()
-{
-}
-
-
-CGarminTyp::~CGarminTyp()
-{
-}
 
 bool CGarminTyp::decode(const QByteArray& array, QMap<quint32, polygon_property>& polygons, QMap<quint32, polyline_property>& polylines, QList<quint32>& drawOrder, QMap<quint32, point_property>& points)
 {
@@ -235,7 +227,7 @@ bool CGarminTyp::parsePolygon(QDataStream& in, QMap<quint32, polygon_property>&
     const int N = sectPolygons.arraySize / sectPolygons.arrayModulo;
     for (int element = 0; element < N; element++)
     {
-        quint16 t16_1, t16_2, subtyp;
+        quint16 t16_1 = 0, t16_2, subtyp;
         quint8 t8;
         quint32 typ, offset=0;
         bool hasLocalization = false;
@@ -549,7 +541,7 @@ bool CGarminTyp::parsePolyline(QDataStream& in, QMap<quint32, polyline_property>
     const int N = sectPolylines.arraySize / sectPolylines.arrayModulo;
     for (int element = 0; element < N; element++)
     {
-        quint16 t16_1, t16_2, subtyp;
+        quint16 t16_1 = 0, t16_2, subtyp;
         quint8 t8_1, t8_2;
         quint32 typ, offset=0;
         bool hasLocalization = false;
@@ -1137,7 +1129,7 @@ bool CGarminTyp::parsePoint(QDataStream& in, QMap<quint32, point_property>& poin
     const int N = sectPoints.arraySize / sectPoints.arrayModulo;
     for (int element=0; element < N; element++)
     {
-        quint16 t16_1, t16_2, subtyp;
+        quint16 t16_1 = 0, t16_2, subtyp;
         quint8 t8_1;
         quint32 typ, offset=0;
         bool hasLocalization = false;
diff --git a/src/map/garmin/CGarminTyp.h b/src/map/garmin/CGarminTyp.h
index 8669b53..6d66d26 100644
--- a/src/map/garmin/CGarminTyp.h
+++ b/src/map/garmin/CGarminTyp.h
@@ -24,8 +24,8 @@
 class CGarminTyp
 {
 public:
-    CGarminTyp();
-    virtual ~CGarminTyp();
+    CGarminTyp() = default;
+    virtual ~CGarminTyp() = default;
 
     enum label_type_e
     {
diff --git a/src/map/garmin/IGarminStrTbl.cpp b/src/map/garmin/IGarminStrTbl.cpp
index de2b052..229f8e3 100644
--- a/src/map/garmin/IGarminStrTbl.cpp
+++ b/src/map/garmin/IGarminStrTbl.cpp
@@ -24,13 +24,7 @@
 
 IGarminStrTbl::IGarminStrTbl(const quint16 codepage, const quint8 mask, QObject * parent)
     : QObject(parent)
-    , offsetLBL1(0)
-    , offsetLBL6(0)
-    , offsetNET1(0)
-    , addrshift1(0)
-    , addrshift2(0)
     , codepage(codepage)
-    , codec(0)
     , mask(mask)
 {
     if(codepage != 0)
diff --git a/src/map/garmin/IGarminStrTbl.h b/src/map/garmin/IGarminStrTbl.h
index 1f1ed27..b27b4fd 100644
--- a/src/map/garmin/IGarminStrTbl.h
+++ b/src/map/garmin/IGarminStrTbl.h
@@ -56,19 +56,19 @@ protected:
     void readFile(CFileExt &file, quint32 offset, quint32 size, QByteArray& data);
     quint32 calcOffset(CFileExt& file, const quint32 offset, type_e t);
 
-    quint32 offsetLBL1;
-    quint32 sizeLBL1;
-    quint32 offsetLBL6;
-    quint32 sizeLBL6;
-    quint32 offsetNET1;
-    quint32 sizeNET1;
+    quint32 offsetLBL1 = 0;
+    quint32 sizeLBL1 = 0;
+    quint32 offsetLBL6 = 0;
+    quint32 sizeLBL6 = 0;
+    quint32 offsetNET1 = 0;
+    quint32 sizeNET1 = 0;
 
-    quint8 addrshift1;
-    quint8 addrshift2;
+    quint8 addrshift1 = 0;
+    quint8 addrshift2 = 0;
 
     // conversion of strings
     quint16 codepage;
-    QTextCodec * codec;
+    QTextCodec * codec = 0;
     const quint8 mask;
     quint32 mask32;
     quint64 mask64;
diff --git a/src/mouse/CMouseEditArea.cpp b/src/mouse/CMouseEditArea.cpp
index 122c996..78eff14 100644
--- a/src/mouse/CMouseEditArea.cpp
+++ b/src/mouse/CMouseEditArea.cpp
@@ -64,7 +64,7 @@ IGisLine * CMouseEditArea::getGisLine()
 void CMouseEditArea::slotAbort()
 {
     canvas->reportStatus(key.item,"");
-    IMouseEditLine::slotAbort();
+    IMouseEditLine::slotAbort(false);
 }
 
 void CMouseEditArea::slotCopyToOrig()
diff --git a/src/mouse/CMouseEditRte.cpp b/src/mouse/CMouseEditRte.cpp
index 1e1d832..a8cade9 100644
--- a/src/mouse/CMouseEditRte.cpp
+++ b/src/mouse/CMouseEditRte.cpp
@@ -73,7 +73,7 @@ IGisLine * CMouseEditRte::getGisLine()
 void CMouseEditRte::slotAbort()
 {
     canvas->reportStatus(key.item,"");
-    IMouseEditLine::slotAbort();
+    IMouseEditLine::slotAbort(false);
 }
 
 void CMouseEditRte::slotCopyToOrig()
diff --git a/src/mouse/CMouseEditTrk.cpp b/src/mouse/CMouseEditTrk.cpp
index 668a88b..cdfb075 100644
--- a/src/mouse/CMouseEditTrk.cpp
+++ b/src/mouse/CMouseEditTrk.cpp
@@ -26,7 +26,6 @@
 
 CMouseEditTrk::CMouseEditTrk(const QPointF& point, CGisDraw * gis, CCanvas * parent)
     : IMouseEditLine(IGisItem::key_t(), point, true, tr("Track"), gis, parent)
-    , isNewLine(true)
 {
     startNewLine(point);
     canvas->slotTriggerCompleteUpdate(CCanvas::eRedrawMouse);
@@ -69,7 +68,7 @@ IGisLine * CMouseEditTrk::getGisLine()
 void CMouseEditTrk::slotAbort()
 {
     canvas->reportStatus(key.item,"");
-    IMouseEditLine::slotAbort();
+    IMouseEditLine::slotAbort(false);
 }
 
 void CMouseEditTrk::slotCopyToOrig()
diff --git a/src/mouse/CMouseEditTrk.h b/src/mouse/CMouseEditTrk.h
index f55c838..8d4f2fb 100644
--- a/src/mouse/CMouseEditTrk.h
+++ b/src/mouse/CMouseEditTrk.h
@@ -41,7 +41,7 @@ protected slots:
 
 protected:
     IGisLine * getGisLine();
-    bool isNewLine;
+    bool isNewLine = true;
 };
 
 #endif //CMOUSEEDITTRK_H
diff --git a/src/mouse/CMouseNormal.cpp b/src/mouse/CMouseNormal.cpp
index 2b93ed4..4aaab45 100644
--- a/src/mouse/CMouseNormal.cpp
+++ b/src/mouse/CMouseNormal.cpp
@@ -23,16 +23,14 @@
 #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"
+#include "widgets/CFadingIcon.h"
 
 #include <QtWidgets>
 
 CMouseNormal::CMouseNormal(CGisDraw *gis, CCanvas *canvas)
     : IMouse(gis, canvas)
-    , mapMove(false)
-    , stateItemSel(eStateIdle)
 {
     cursor = QCursor(QPixmap(":/cursors/cursorMoveMap.png"),0,0);
     screenUnclutter = new CScrOptUnclutter(this);
@@ -203,15 +201,13 @@ void CMouseNormal::mouseReleaseEvent(QMouseEvent *e)
                         }
                     }
                 }
-                screenUnclutter->clear();
-                stateItemSel = eStateIdle;
+                resetState();
                 break;
             }
 
             case eStateShowItemOptions:
             {
-                delete screenItemOption;
-                stateItemSel = eStateIdle;
+                resetState();
                 break;
             }
 
@@ -240,8 +236,21 @@ void CMouseNormal::mouseDoubleClickEvent(QMouseEvent *e)
 
 void CMouseNormal::wheelEvent(QWheelEvent * e)
 {
+    resetState();
+}
+
+void CMouseNormal::keyPressEvent(QKeyEvent * e)
+{
+    resetState();
+}
+
+void CMouseNormal::resetState()
+{
     screenUnclutter->clear();
-    delete screenItemOption;
+    if(!screenItemOption.isNull())
+    {
+        screenItemOption->deleteLater();
+    }
     stateItemSel = eStateIdle;
 }
 
diff --git a/src/mouse/CMouseNormal.h b/src/mouse/CMouseNormal.h
index 9ae1be9..d3de5b8 100644
--- a/src/mouse/CMouseNormal.h
+++ b/src/mouse/CMouseNormal.h
@@ -44,6 +44,7 @@ public:
     void mouseReleaseEvent(QMouseEvent *e);
     void mouseDoubleClickEvent(QMouseEvent *e);
     void wheelEvent(QWheelEvent * e);
+    void keyPressEvent(QKeyEvent * e);
 
 private slots:
     void slotAddWpt();
@@ -58,12 +59,13 @@ private:
 
 protected:
     void stopTracking();
+    void resetState();
 
 
     /// the flag is true if the map moving is in progress
-    bool mapMove;
+    bool mapMove = false;
     /// the flag is true if the map has been moved actually
-    bool mapDidMove;
+    bool mapDidMove = false;
     /// always the last seen mouse cursor position
     QPoint lastPos;
 
@@ -82,7 +84,7 @@ protected:
         , eStateShowItemOptions = 4
     };
 
-    item_selection_states_e stateItemSel;
+    item_selection_states_e stateItemSel = eStateIdle;
 
     CScrOptUnclutter * screenUnclutter;
     QPointer<IScrOpt>  screenItemOption;
diff --git a/src/mouse/CMousePrint.cpp b/src/mouse/CMousePrint.cpp
index 12d686f..0dd4904 100644
--- a/src/mouse/CMousePrint.cpp
+++ b/src/mouse/CMousePrint.cpp
@@ -24,14 +24,6 @@
 
 CMousePrint::CMousePrint(CGisDraw *gis, CCanvas *parent)
     : IMouse(gis, parent)
-    , rectTopLeft(0,0,20,20)
-    , rectTopRight(0,0,20,20)
-    , rectBottomLeft(0,0,20,20)
-    , rectBottomRight(0,0,20,20)
-    , rectPrintButton(0,0,48,48)
-    , rectImageButton(0,0,48,48)
-    , state(eStateIdle)
-    , corner(eCornerNone)
 {
     cursor      = QCursor(QPixmap("://cursors/cursorSave.png"),0,0);
 
diff --git a/src/mouse/CMousePrint.h b/src/mouse/CMousePrint.h
index 4b0b5e3..2529a73 100644
--- a/src/mouse/CMousePrint.h
+++ b/src/mouse/CMousePrint.h
@@ -43,12 +43,12 @@ private:
     QPointF posInitial;
 
     QRectF rectSelection;
-    QRectF rectTopLeft;
-    QRectF rectTopRight;
-    QRectF rectBottomLeft;
-    QRectF rectBottomRight;
-    QRectF rectPrintButton;
-    QRectF rectImageButton;
+    QRectF rectTopLeft {0,0,20,20};
+    QRectF rectTopRight {0,0,20,20};
+    QRectF rectBottomLeft {0,0,20,20};
+    QRectF rectBottomRight {0,0,20,20};
+    QRectF rectPrintButton {0,0,48,48};
+    QRectF rectImageButton {0,0,48,48};
 
     enum state_e
     {
@@ -59,7 +59,7 @@ private:
         ,eStateResize
     };
 
-    state_e state;
+    state_e state = eStateIdle;
 
     enum corner_e
     {
@@ -72,7 +72,7 @@ private:
         , eCornerImage
     };
 
-    corner_e corner;
+    corner_e corner = eCornerNone;
 };
 
 #endif //CMOUSEPRINT_H
diff --git a/src/mouse/CMouseRangeTrk.cpp b/src/mouse/CMouseRangeTrk.cpp
index 5a077c6..df5410f 100644
--- a/src/mouse/CMouseRangeTrk.cpp
+++ b/src/mouse/CMouseRangeTrk.cpp
@@ -28,8 +28,6 @@
 
 CMouseRangeTrk::CMouseRangeTrk(CGisItemTrk &trk, CGisDraw *gis, CCanvas *parent)
     : IMouse(gis, parent)
-    , state(eStateIdle)
-    , anchor(NOPOINTF)
 {
     cursor      = QCursor(QPixmap("://cursors/cursorSelectRange.png"),0,0);
     key         = trk.getKey();
@@ -136,14 +134,7 @@ void CMouseRangeTrk::mousePressEvent(QMouseEvent * e)
 
         case eStateRangeSelected:
         {
-            scrOptRange->deleteLater();
-            CGisItemTrk * trk = dynamic_cast<CGisItemTrk*>(CGisWidget::self().getItemByKey(key));
-            if(trk != 0)
-            {
-                trk->setMouseFocusByPoint(NOPOINT, CGisItemTrk::eFocusMouseMove, "CMouseRangeTrk");
-                trk->setMouseFocusByPoint(NOPOINT, CGisItemTrk::eFocusMouseClick, "CMouseRangeTrk");
-            }
-            state = eStateIdle;
+            resetState();
             canvas->update();
             break;
         }
@@ -213,6 +204,28 @@ void CMouseRangeTrk::mouseReleaseEvent(QMouseEvent *e)
 
 void CMouseRangeTrk::wheelEvent(QWheelEvent * e)
 {
+    resetState();
+}
+
+void CMouseRangeTrk::keyPressEvent(QKeyEvent * e)
+{
+    resetState();
+}
+
+void CMouseRangeTrk::resetState()
+{
+    CGisItemTrk * trk = dynamic_cast<CGisItemTrk*>(CGisWidget::self().getItemByKey(key));
+    if(trk != 0)
+    {
+        trk->setMouseFocusByPoint(NOPOINT, CGisItemTrk::eFocusMouseMove, "CMouseRangeTrk");
+        trk->setMouseFocusByPoint(NOPOINT, CGisItemTrk::eFocusMouseClick, "CMouseRangeTrk");
+    }
+
+    if(!scrOptRange.isNull())
+    {
+        scrOptRange->deleteLater();
+    }
+    state = eStateIdle;
 }
 
 void CMouseRangeTrk::slotHidePoints()
diff --git a/src/mouse/CMouseRangeTrk.h b/src/mouse/CMouseRangeTrk.h
index 405eb33..3291702 100644
--- a/src/mouse/CMouseRangeTrk.h
+++ b/src/mouse/CMouseRangeTrk.h
@@ -40,6 +40,7 @@ public:
     void mouseMoveEvent(QMouseEvent * e);
     void mouseReleaseEvent(QMouseEvent *e);
     void wheelEvent(QWheelEvent * e);
+    void keyPressEvent(QKeyEvent * e);
 
 private slots:
     void slotHidePoints();
@@ -48,6 +49,7 @@ private slots:
     void slotCopy();
 
 private:
+    void resetState();
     IGisItem::key_t key;
 
     enum state_e
@@ -58,9 +60,9 @@ private:
         ,eStateRangeSelected
     };
 
-    state_e state;
+    state_e state = eStateIdle;
 
-    QPointF anchor;
+    QPointF anchor = NOPOINTF;
 
     QPoint lastPoint;
 
diff --git a/src/mouse/CScrOptRangeTrk.cpp b/src/mouse/CScrOptRangeTrk.cpp
index c8da226..746e347 100644
--- a/src/mouse/CScrOptRangeTrk.cpp
+++ b/src/mouse/CScrOptRangeTrk.cpp
@@ -42,8 +42,8 @@ CScrOptRangeTrk::CScrOptRangeTrk(const QPointF &point, CGisItemTrk * trk, IMouse
 
     connect(toolHidePoints, SIGNAL(clicked()), this, SLOT(hide()));
     connect(toolShowPoints, SIGNAL(clicked()), this, SLOT(hide()));
-    connect(toolActivity, SIGNAL(clicked()), this, SLOT(hide()));
-    connect(toolCopy, SIGNAL(clicked()), this, SLOT(hide()));
+    connect(toolActivity,   SIGNAL(clicked()), this, SLOT(hide()));
+    connect(toolCopy,       SIGNAL(clicked()), this, SLOT(hide()));
 }
 
 CScrOptRangeTrk::~CScrOptRangeTrk()
@@ -54,7 +54,7 @@ void CScrOptRangeTrk::draw(QPainter& p)
 {
     if(isVisible())
     {
-        CDraw::bubble2(*this, origin, p);
+        CDraw::bubble(p, geometry(), origin);
     }
 }
 
diff --git a/src/mouse/CScrOptUnclutter.cpp b/src/mouse/CScrOptUnclutter.cpp
index 537af8e..fa8911b 100644
--- a/src/mouse/CScrOptUnclutter.cpp
+++ b/src/mouse/CScrOptUnclutter.cpp
@@ -94,7 +94,6 @@ const QPoint CScrOptUnclutter::positions[9][8] =
 
 CScrOptUnclutter::CScrOptUnclutter(IMouse *mouse)
     : IScrOpt(mouse)
-    , doSpecialCursor(false)
 {
 }
 
diff --git a/src/mouse/CScrOptUnclutter.h b/src/mouse/CScrOptUnclutter.h
index 177519d..8792d0b 100644
--- a/src/mouse/CScrOptUnclutter.h
+++ b/src/mouse/CScrOptUnclutter.h
@@ -56,7 +56,7 @@ public:
 private:
     static const QPoint positions[9][8];
     QList<item_t> items;
-    bool doSpecialCursor;
+    bool doSpecialCursor = false;
 };
 
 #endif //CSCROPTUNCLUTTER_H
diff --git a/src/mouse/IMouse.h b/src/mouse/IMouse.h
index 5b08636..b1e829b 100644
--- a/src/mouse/IMouse.h
+++ b/src/mouse/IMouse.h
@@ -52,6 +52,10 @@ public:
     {
     }
     virtual void wheelEvent(QWheelEvent * e) = 0;
+    virtual void keyPressEvent(QKeyEvent * e)
+    {
+    }
+
     /// the current mouse cursor
     /**
         Each mouse function is represented by a special cursor. The main
diff --git a/src/mouse/IScrOpt.cpp b/src/mouse/IScrOpt.cpp
index ae01a4a..2901378 100644
--- a/src/mouse/IScrOpt.cpp
+++ b/src/mouse/IScrOpt.cpp
@@ -60,22 +60,3 @@ void IScrOpt::leaveEvent(QEvent * e)
     }
 }
 
-
-//void IScrOpt::drawBubble2(const QPointF &pt, QPainter& p)
-//{
-//    QRectF r = rect();
-//    r.moveTopLeft(QPoint(x(), y()));
-//    QPainterPath path1;
-//    path1.addRoundedRect(r,5,5);
-
-//    QPolygonF poly2;
-//    poly2 << pt << QPointF(pt.x() - 10, r.top() + 1) << QPointF(pt.x() + 10, r.top() + 1) << pt;
-//    QPainterPath path2;
-//    path2.addPolygon(poly2);
-
-//    path1 = path1.united(path2);
-
-//    p.setPen(CDraw::penBorderGray);
-//    p.setBrush(CDraw::brushBackWhite);
-//    p.drawPolygon(path1.toFillPolygon());
-//}
diff --git a/src/mouse/IScrOpt.h b/src/mouse/IScrOpt.h
index 95aa14b..03e3160 100644
--- a/src/mouse/IScrOpt.h
+++ b/src/mouse/IScrOpt.h
@@ -52,8 +52,6 @@ protected:
     void enterEvent(QEvent * e);
     void leaveEvent(QEvent * e);
 
-//    void drawBubble2(const QPointF &pt, QPainter& p);
-
     QPoint origin;
     QPoint mousePos;
 
diff --git a/src/mouse/line/CLineOpAddPoint.cpp b/src/mouse/line/CLineOpAddPoint.cpp
index 6965b82..938904a 100644
--- a/src/mouse/line/CLineOpAddPoint.cpp
+++ b/src/mouse/line/CLineOpAddPoint.cpp
@@ -25,8 +25,6 @@
 
 CLineOpAddPoint::CLineOpAddPoint(SGisLine& points, CGisDraw *gis, CCanvas * canvas, IMouseEditLine * parent)
     : ILineOp(points, gis, canvas, parent)
-    , addPoint(false)
-    , isPoint(false)
 {
     cursor = QCursor(QPixmap(":/cursors/cursorAdd.png"),0,0);
 }
diff --git a/src/mouse/line/CLineOpAddPoint.h b/src/mouse/line/CLineOpAddPoint.h
index 7b14725..0d4f55d 100644
--- a/src/mouse/line/CLineOpAddPoint.h
+++ b/src/mouse/line/CLineOpAddPoint.h
@@ -42,8 +42,8 @@ public:
     bool abortStep();
 
 private:
-    bool addPoint;
-    bool isPoint;
+    bool addPoint = false;
+    bool isPoint = false;
 };
 
 #endif //CLINEOPADDPOINT_H
diff --git a/src/mouse/line/CLineOpMovePoint.cpp b/src/mouse/line/CLineOpMovePoint.cpp
index 4a7f112..fb2a482 100644
--- a/src/mouse/line/CLineOpMovePoint.cpp
+++ b/src/mouse/line/CLineOpMovePoint.cpp
@@ -26,7 +26,6 @@
 
 CLineOpMovePoint::CLineOpMovePoint(SGisLine &points, CGisDraw *gis, CCanvas * canvas, IMouseEditLine *parent)
     : ILineOp(points, gis, canvas, parent)
-    , movePoint(false)
 {
     cursor = QCursor(QPixmap(":/cursors/cursorMovePoint.png"),0,0);
 }
diff --git a/src/mouse/line/CLineOpMovePoint.h b/src/mouse/line/CLineOpMovePoint.h
index 287f266..d2eaa22 100644
--- a/src/mouse/line/CLineOpMovePoint.h
+++ b/src/mouse/line/CLineOpMovePoint.h
@@ -40,7 +40,7 @@ public:
     bool abortStep();
 
 private:
-    bool movePoint;
+    bool movePoint = false;
 };
 
 #endif //CLINEOPMOVEPOINT_H
diff --git a/src/mouse/line/CLineOpSelectRange.cpp b/src/mouse/line/CLineOpSelectRange.cpp
index 0491463..655a93f 100644
--- a/src/mouse/line/CLineOpSelectRange.cpp
+++ b/src/mouse/line/CLineOpSelectRange.cpp
@@ -25,8 +25,6 @@
 
 CLineOpSelectRange::CLineOpSelectRange(SGisLine& points, CGisDraw *gis, CCanvas * canvas, IMouseEditLine * parent)
     : ILineOp(points, gis, canvas, parent)
-    , state(eStateIdle)
-    , idx2nd(NOIDX)
 {
     cursor = QCursor(QPixmap(":/cursors/cursorSelectRange.png"),0,0);
 }
@@ -129,6 +127,17 @@ void CLineOpSelectRange::mouseMoveEventEx(QMouseEvent * e)
     canvas->slotTriggerCompleteUpdate(CCanvas::eRedrawMouse);
 }
 
+void CLineOpSelectRange::wheelEvent(QWheelEvent * e)
+{
+    resetState();
+}
+
+void CLineOpSelectRange::keyPressEvent(QKeyEvent * e)
+{
+    resetState();
+}
+
+
 void CLineOpSelectRange::drawFg(QPainter& p)
 {
     if(idxFocus == NOIDX)
@@ -202,7 +211,10 @@ void CLineOpSelectRange::drawFg(QPainter& p)
 
 void CLineOpSelectRange::resetState()
 {
-    scrOptRangeLine->deleteLater();
+    if(!scrOptRangeLine.isNull())
+    {
+        scrOptRangeLine->deleteLater();
+    }
     idxFocus    = NOIDX;
     idx2nd      = NOIDX;
     state       = eStateIdle;
diff --git a/src/mouse/line/CLineOpSelectRange.h b/src/mouse/line/CLineOpSelectRange.h
index 050fe13..6c2a95d 100644
--- a/src/mouse/line/CLineOpSelectRange.h
+++ b/src/mouse/line/CLineOpSelectRange.h
@@ -37,6 +37,8 @@ public:
     void mouseReleaseEventEx(QMouseEvent *e)
     {
     }
+    void wheelEvent(QWheelEvent * e);
+    void keyPressEvent(QKeyEvent * e);
 
     void drawFg(QPainter& p);
 
@@ -55,9 +57,9 @@ private:
         , eState2nd
     };
 
-    state_e state;
+    state_e state = eStateIdle;
 
-    qint32 idx2nd;
+    qint32 idx2nd = NOIDX;
 
     QPointer<CScrOptRangeLine>  scrOptRangeLine;
 };
diff --git a/src/mouse/line/CScrOptRangeLine.cpp b/src/mouse/line/CScrOptRangeLine.cpp
index db6d9f4..dafb2aa 100644
--- a/src/mouse/line/CScrOptRangeLine.cpp
+++ b/src/mouse/line/CScrOptRangeLine.cpp
@@ -44,5 +44,5 @@ CScrOptRangeLine::~CScrOptRangeLine()
 
 void CScrOptRangeLine::draw(QPainter& p)
 {
-    CDraw::bubble2(*this, origin, p);
+    CDraw::bubble(p, geometry(), origin);
 }
diff --git a/src/mouse/line/ILineOp.cpp b/src/mouse/line/ILineOp.cpp
index f5e3f8a..f1ff381 100644
--- a/src/mouse/line/ILineOp.cpp
+++ b/src/mouse/line/ILineOp.cpp
@@ -32,14 +32,6 @@ ILineOp::ILineOp(SGisLine& points, CGisDraw *gis, CCanvas *canvas, IMouseEditLin
     , points(points)
     , canvas(canvas)
     , gis(gis)
-    , idxFocus(NOIDX)
-    , mapMove(false)
-    , mapDidMove(false)
-    , rectPoint(0,0,9,9)
-    , penBgPoint(Qt::white, 4)
-    , penFgPoint(Qt::red, 2)
-    , brushBgPoint(Qt::white)
-    , brushFgPoint(Qt::red)
 {
     timerRouting = new QTimer(this);
     timerRouting->setSingleShot(true);
diff --git a/src/mouse/line/ILineOp.h b/src/mouse/line/ILineOp.h
index 4d865f1..050b932 100644
--- a/src/mouse/line/ILineOp.h
+++ b/src/mouse/line/ILineOp.h
@@ -46,6 +46,14 @@ public:
     virtual void mouseMoveEventEx(QMouseEvent * e) = 0;
     virtual void mouseReleaseEventEx(QMouseEvent *e) = 0;
 
+    virtual void wheelEvent(QWheelEvent * e)
+    {
+    }
+
+    virtual void keyPressEvent(QKeyEvent * e)
+    {
+    }
+
     virtual void drawFg(QPainter& p) = 0;
     virtual void drawBg(QPainter& p);
 
@@ -97,17 +105,17 @@ protected:
 
     QCursor cursor;
 
-    qint32 idxFocus;
-    bool mapMove;
-    bool mapDidMove;
+    qint32 idxFocus = NOIDX;
+    bool mapMove = false;
+    bool mapDidMove = false;
 
     QPoint lastPos;
 
-    QRect rectPoint;
-    const QPen penBgPoint;
-    const QPen penFgPoint;
-    const QBrush brushBgPoint;
-    const QBrush brushFgPoint;
+    QRect rectPoint {0,0,9,9};
+    const QPen penBgPoint {Qt::white, 4};
+    const QPen penFgPoint {Qt::red, 2};
+    const QBrush brushBgPoint {Qt::white};
+    const QBrush brushFgPoint {Qt::red};
 
     QPolygonF leadLineCoord1;
     QPolygonF leadLineCoord2;
diff --git a/src/mouse/line/IMouseEditLine.cpp b/src/mouse/line/IMouseEditLine.cpp
index ffa5b55..704483b 100644
--- a/src/mouse/line/IMouseEditLine.cpp
+++ b/src/mouse/line/IMouseEditLine.cpp
@@ -39,10 +39,7 @@
 
 IMouseEditLine::IMouseEditLine(const IGisItem::key_t &key, const QPointF& point, bool enableStatus, const QString &type, CGisDraw * gis, CCanvas * parent)
     : IMouse(gis, parent)
-    , idxHistory(NOIDX)
     , key(key)
-    , doCanvasPanning(false)
-    , lineOp(0)
     , enableStatus(enableStatus)
     , type(type)
 {
@@ -285,6 +282,13 @@ void IMouseEditLine::mouseReleaseEvent(QMouseEvent *e)
 void IMouseEditLine::wheelEvent(QWheelEvent * e)
 {
     canvas->update();
+    lineOp->wheelEvent(e);
+}
+
+void IMouseEditLine::keyPressEvent(QKeyEvent * e)
+{
+    canvas->update();
+    lineOp->keyPressEvent(e);
 }
 
 void IMouseEditLine::slotPanCanvas()
diff --git a/src/mouse/line/IMouseEditLine.h b/src/mouse/line/IMouseEditLine.h
index 8056612..fb808ae 100644
--- a/src/mouse/line/IMouseEditLine.h
+++ b/src/mouse/line/IMouseEditLine.h
@@ -63,6 +63,7 @@ public:
     void mouseMoveEvent(QMouseEvent * e);
     void mouseReleaseEvent(QMouseEvent *e);
     void wheelEvent(QWheelEvent * e);
+    void keyPressEvent(QKeyEvent * e);
 
     void abortStep();
 
@@ -102,7 +103,7 @@ protected slots:
     void slotVectorRouting();
 
 
-    virtual void slotAbort(bool showMB = false);
+    void slotAbort(bool showMB);
     virtual void slotCopyToOrig();
     virtual void slotCopyToNew() = 0;
 
@@ -129,7 +130,7 @@ protected:
 
     /// undo/redo history
     QList<SGisLine> history;
-    qint32 idxHistory;
+    qint32 idxHistory = NOIDX;
 
 
     /// the on screen buttons
@@ -143,14 +144,14 @@ private:
     void changeCursor();
 
     /// flag to enable/disable canvas/map panning
-    bool doCanvasPanning;
+    bool doCanvasPanning = false;
 
     QPolygonF pixelLine;
     QPolygonF pixelPts;
     QPolygonF pixelSubs;
 
     /// the current active line operation (move, add, delete...)
-    ILineOp  * lineOp;
+    ILineOp  * lineOp = 0;
 
     bool enableStatus;
 
diff --git a/src/mouse/line/IScrOptRangeLine.ui b/src/mouse/line/IScrOptRangeLine.ui
index 6eb929f..abbfdef 100644
--- a/src/mouse/line/IScrOptRangeLine.ui
+++ b/src/mouse/line/IScrOptRangeLine.ui
@@ -31,7 +31,7 @@
    <item>
     <widget class="QToolButton" name="toolCalcRoute">
      <property name="toolTip">
-      <string>Caclculate a route between the first and last selected point.</string>
+      <string><html><head/><body><p>Calculate a route between the first and last selected point.</p></body></html></string>
      </property>
      <property name="text">
       <string>...</string>
diff --git a/src/pics/about.png b/src/pics/about.png
index d5ef34d..1c16d32 100644
Binary files a/src/pics/about.png and b/src/pics/about.png differ
diff --git a/src/plot/CPlot.cpp b/src/plot/CPlot.cpp
new file mode 100644
index 0000000..3655e69
--- /dev/null
+++ b/src/plot/CPlot.cpp
@@ -0,0 +1,123 @@
+/**********************************************************************************************
+    Copyright (C) 2014-2015 Oliver Eichler oliver.eichler at gmx.de
+
+    This program is free software: you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+**********************************************************************************************/
+
+#include "plot/CPlot.h"
+#include "plot/CPlotAxis.h"
+
+CPlot::CPlot(CGisItemTrk * trk, CPlotData::axistype_e type, const QString& xLabel, const QString& yLabel, qreal factor, fTrkPtGetVal getX, fTrkPtGetVal getY, QWidget * parent)
+    : IPlot(trk, type, eModeNormal, parent)
+    , factor(factor)
+    , getX(getX)
+    , getY(getY)
+{
+    setXLabel(xLabel);
+    setYLabel(yLabel);
+
+    updateData();
+}
+
+CPlot::CPlot(CGisItemTrk *trk, QWidget *parent)
+    : IPlot(trk, CPlotData::eAxisLinear, eModeNormal, parent)
+{
+}
+
+void CPlot::setup(CPlotData::axistype_e type, const QString &xLabel, const QString &yLabel, qreal f, fTrkPtGetVal funcGetX, fTrkPtGetVal funcGetY)
+{
+    data->setXAxisType(type);
+    setXLabel(xLabel);
+    setYLabel(yLabel);
+    factor = f;
+    getX = funcGetX;
+    getY = funcGetY;
+    updateData();
+}
+
+void CPlot::setLimits(qreal min, qreal max)
+{
+    minLimit = min;
+    maxLimit = max;
+
+    setLimitsOnData(minLimit, maxLimit);
+}
+
+void CPlot::updateData()
+{
+    clear();
+
+    if(isHidden() || (getX == nullptr) || (getY == nullptr) || trk->getTotalElapsedSeconds() == 0)
+    {
+        resetZoom();
+        update();
+        return;
+    }
+
+    QPolygonF line;
+    const CGisItemTrk::trk_t& t = trk->getTrackData();
+    foreach (const CGisItemTrk::trkseg_t& seg, t.segs)
+    {
+        foreach(const CGisItemTrk::trkpt_t& trkpt, seg.pts)
+        {
+            if(trkpt.flags & CGisItemTrk::trkpt_t::eHidden)
+            {
+                continue;
+            }
+
+            if(getY(trkpt) != NOFLOAT)
+            {
+                line << QPointF(getX(trkpt), getY(trkpt) * factor);
+            }
+        }
+    }
+
+    newLine(line, "GPS");
+    setLimitsOnData(minLimit, maxLimit);
+}
+
+void CPlot::setMouseFocus(const CGisItemTrk::trkpt_t * ptMouseMove)
+{
+    if(ptMouseMove == 0 ||  getX == nullptr || getY == nullptr)
+    {
+        if(posMouse != NOPOINT)
+        {
+            posMouse = NOPOINT;
+            needsRedraw = true;
+        }
+    }
+    else
+    {
+        if(posMouse == NOPOINT)
+        {
+            needsRedraw = true;
+        }
+
+        posMouse.rx() = left  + data->x().val2pt(getX(*ptMouseMove));
+        posMouse.ry() = top  +  data->y().val2pt(getY(*ptMouseMove));
+    }
+    update();
+}
+
+void CPlot::setLimitsOnData(qreal min, qreal max)
+{
+    IPlot::setLimits();
+    data->ymin = min == NOFLOAT ? data->ymin : min;
+    data->ymax = max == NOFLOAT ? data->ymax : max;
+
+    data->y().setLimits(data->ymin, data->ymax);
+    resetZoom();
+    update();
+}
diff --git a/src/plot/CPlotSpeed.h b/src/plot/CPlot.h
similarity index 53%
rename from src/plot/CPlotSpeed.h
rename to src/plot/CPlot.h
index 1ccae01..8d1046e 100644
--- a/src/plot/CPlotSpeed.h
+++ b/src/plot/CPlot.h
@@ -1,5 +1,5 @@
 /**********************************************************************************************
-    Copyright (C) 2014 Oliver Eichler oliver.eichler at gmx.de
+    Copyright (C) 2014-2015 Oliver Eichler oliver.eichler at gmx.de
 
     This program is free software: you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
@@ -16,22 +16,38 @@
 
 **********************************************************************************************/
 
-#ifndef CPLOTSPEED_H
-#define CPLOTSPEED_H
+#ifndef CPLOT_H
+#define CPLOT_H
 
+#include "gis/trk/CGisItemTrk.h"
 #include "plot/IPlot.h"
+#include <functional>
 
-class CPlotSpeed : public IPlot
+class CPlot : public IPlot
 {
     Q_OBJECT
 public:
-    CPlotSpeed(QWidget * parent);
-    virtual ~CPlotSpeed();
+    CPlot(CGisItemTrk *trk, CPlotData::axistype_e type, const QString &xLabel, const QString &yLabel, qreal factor, fTrkPtGetVal getX, fTrkPtGetVal getY, QWidget *parent);
+    CPlot(CGisItemTrk *trk, QWidget *parent);
+    virtual ~CPlot() = default;
+
+    void setup(CPlotData::axistype_e type, const QString &xLabel, const QString &yLabel, qreal f, fTrkPtGetVal funcGetX, fTrkPtGetVal funcGetY);
+
+    void setLimits(qreal min, qreal max);
 
-    void setTrack(CGisItemTrk * track);
     void updateData();
+
     void setMouseFocus(const CGisItemTrk::trkpt_t * ptMouseMove);
+
+private:
+    void setLimitsOnData(qreal min, qreal max);
+
+    qreal maxLimit = NOFLOAT;
+    qreal minLimit = NOFLOAT;
+    qreal factor = 1.0;
+    fTrkPtGetVal getX = nullptr;
+    fTrkPtGetVal getY = nullptr;
 };
 
-#endif //CPLOTSPEED_H
+#endif //CPLOT_H
 
diff --git a/src/plot/CPlotAxis.cpp b/src/plot/CPlotAxis.cpp
index 8f3367f..4bc2ae5 100644
--- a/src/plot/CPlotAxis.cpp
+++ b/src/plot/CPlotAxis.cpp
@@ -27,21 +27,6 @@ inline qreal qLog10(qreal x)
 
 CPlotAxis::CPlotAxis( QObject * parent )
     : QObject( parent )
-    , initialized( false )
-    , autoscale( false )
-    , valid(false)
-    , scale( 1.0 )
-    , usedMin( 0.0 )
-    , usedMax( 0.0 )
-    , limitMin( 0.0 )
-    , limitMax( 0.0 )
-    , interval( 0.0 )
-    , ticStart( 0 )
-    , scaleWidth( 0 )
-    , ticType( eTicNorm )
-    , firstTic( false )
-    , lastTic( false )
-    , points(0)
 {
 }
 
@@ -135,11 +120,6 @@ void CPlotAxis::calc()
         usedMin = qFloor( usedMin / interval ) * interval;
         usedMax = qCeil( usedMax / interval ) * interval;
     }
-    else
-    {
-        usedMin = usedMin;
-        usedMax = usedMax;
-    }
 
     int t1 = ( int )( usedMin / interval + 0.5);
     ticStart = interval * t1;
diff --git a/src/plot/CPlotAxis.h b/src/plot/CPlotAxis.h
index 418ea4d..c2ee527 100644
--- a/src/plot/CPlotAxis.h
+++ b/src/plot/CPlotAxis.h
@@ -126,47 +126,47 @@ protected:
     virtual void calc();
 
     ///true if axis has been initialized
-    bool initialized;
+    bool initialized = false;
     ///true if autoscaling
-    bool autoscale;
+    bool autoscale = false;
 
-    bool valid;
+    bool valid = false;
 
     ///scalefactor
-    qreal scale;
+    qreal scale = 1.0;
 
     ///the actual applied min value
-    qreal usedMin;
+    qreal usedMin = 0.0;
     ///the actual applied max value
-    qreal usedMax;
+    qreal usedMax = 0.0;
 
-    qreal limitMin;
-    qreal limitMax;
+    qreal limitMin = 0.0;
+    qreal limitMax = 0.0;
 
-    ///the intervall of the ticmarks
-    qreal interval;
+    ///the interval of the ticmarks
+    qreal interval = 0.0;
 
     ///start value of the tic marks
-    qreal ticStart;
+    qreal ticStart = 0;
 
     /// this is set to -1 by default
     /**
         a value > 0 will override the dynamic value in getScaleWidth();
      */
-    qint32 scaleWidth;
+    qint32 scaleWidth = 0;
 
     ///the ticmark generation type
-    tictype_e ticType;
+    tictype_e ticType = eTicNorm;
     ///local copy of the last ticmark object
     tic_t tic;
 
     /// used by ticmark()
-    bool firstTic;
+    bool firstTic = false;
     /// used by ticmark()
-    bool lastTic;
+    bool lastTic = false;
 
     ///points of dimension
-    quint32 points;
+    quint32 points = 0;
 };
 
 #endif //CPLOTAXIS_H
diff --git a/src/plot/CPlotData.cpp b/src/plot/CPlotData.cpp
index 36160b8..fe83294 100644
--- a/src/plot/CPlotData.cpp
+++ b/src/plot/CPlotData.cpp
@@ -23,14 +23,21 @@
 
 CPlotData::CPlotData(axistype_e type, QObject * parent)
     : QObject(parent)
-    , grid(true)
-    , badData(true)
     , axisType(type)
-    , xmin(0)
-    , xmax(0)
-    , ymin(0)
-    , ymax(0)
 {
+    setXAxisType(type);
+    yaxis = new CPlotAxis(this);
+}
+
+
+CPlotData::~CPlotData()
+{
+}
+
+void CPlotData::setXAxisType(axistype_e type)
+{
+    delete xaxis;
+
     if(type == eAxisLinear)
     {
         xaxis = new CPlotAxis(this);
@@ -40,15 +47,10 @@ CPlotData::CPlotData(axistype_e type, QObject * parent)
         xaxis = new CPlotAxisTime(this);
     }
     xaxis->setAutoscale(false);
-    yaxis = new CPlotAxis(this);
-}
 
-
-CPlotData::~CPlotData()
-{
+    axisType = type;
 }
 
-
 void CPlotData::setLimits()
 {
     if(lines.size() == 0 || badData)
diff --git a/src/plot/CPlotData.h b/src/plot/CPlotData.h
index 2b87c00..355ca40 100644
--- a/src/plot/CPlotData.h
+++ b/src/plot/CPlotData.h
@@ -46,6 +46,9 @@ public:
         return *yaxis;
     }
 
+    /// create a new x axis
+    void setXAxisType(axistype_e type);
+
     /// setup all internal data to fit the dynamic range of all data points
     void setLimits();
 
@@ -61,7 +64,7 @@ public:
     /// text shown left of the y axis
     QString ylabel;
     /// set true for grid
-    bool grid;
+    bool grid = true;
 
     /// list of plot lines
     QList<line_t> lines;
@@ -79,18 +82,18 @@ public:
     /// vector of plot tags such as waypoints
     QVector<point_t> tags;
 
-    bool badData;
+    bool badData = true;
 
-    axistype_e axisType;
+    axistype_e axisType = eAxisLinear;
 
-    qreal xmin;
-    qreal xmax;
-    qreal ymin;
-    qreal ymax;
+    qreal xmin = 0;
+    qreal xmax = 0;
+    qreal ymin = 0;
+    qreal ymax = 0;
 
 protected:
-    CPlotAxis * xaxis;
-    CPlotAxis * yaxis;
+    CPlotAxis * xaxis = nullptr;
+    CPlotAxis * yaxis = nullptr;
 };
 
 #endif //CPLOTDATA_H
diff --git a/src/plot/CPlotDistance.cpp b/src/plot/CPlotDistance.cpp
deleted file mode 100644
index 2f953e7..0000000
--- a/src/plot/CPlotDistance.cpp
+++ /dev/null
@@ -1,125 +0,0 @@
-/**********************************************************************************************
-    Copyright (C) 2014 Oliver Eichler oliver.eichler at gmx.de
-
-    This program is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-**********************************************************************************************/
-
-#include "plot/CPlotAxisTime.h"
-#include "plot/CPlotDistance.h"
-
-CPlotDistance::CPlotDistance(QWidget *parent)
-    : IPlot(0, CPlotData::eAxisTime, eModeNormal, parent)
-{
-}
-
-CPlotDistance::~CPlotDistance()
-{
-}
-
-void CPlotDistance::setTrack(CGisItemTrk * track)
-{
-    trk = track;
-    trk->registerPlot(this);
-
-    updateData();
-}
-
-
-void CPlotDistance::updateData()
-{
-    if(isHidden())
-    {
-        return;
-    }
-
-    CPlotData::axistype_e type = data->axisType;
-
-    if(mode == eModeIcon)
-    {
-        setXLabel(trk->getName());
-        setYLabel("");
-    }
-    else
-    {
-        if(type == CPlotData::eAxisLinear)
-        {
-            setXLabel(tr("distance [%1]").arg(IUnit::self().baseunit));
-        }
-        else
-        {
-            setXLabel(tr("time"));
-        }
-        setYLabel(tr("distance. [%1]").arg(IUnit::self().baseunit));
-    }
-
-    clear();
-    if(trk->getTotalElapsedSeconds() == 0)
-    {
-        resetZoom();
-        update();
-        return;
-    }
-
-    QPolygonF lineDist;
-
-    qreal basefactor = IUnit::self().basefactor;
-    const CGisItemTrk::trk_t& t = trk->getTrackData();
-
-    foreach (const CGisItemTrk::trkseg_t& seg, t.segs)
-    {
-        foreach(const CGisItemTrk::trkpt_t& trkpt, seg.pts)
-        {
-            if(trkpt.flags & CGisItemTrk::trkpt_t::eHidden)
-            {
-                continue;
-            }
-
-            if(trkpt.distance != NOFLOAT)
-            {
-                lineDist << QPointF(type == CPlotData::eAxisLinear ? trkpt.distance : (qreal)trkpt.time.toTime_t(), trkpt.distance * basefactor);
-            }
-        }
-    }
-
-
-    newLine(lineDist, "GPS");
-    setLimits();
-    resetZoom();
-}
-
-void CPlotDistance::setMouseFocus(const CGisItemTrk::trkpt_t * ptMouseMove)
-{
-    if(ptMouseMove == 0)
-    {
-        if(posMouse != NOPOINT)
-        {
-            posMouse = NOPOINT;
-            needsRedraw = true;
-        }
-    }
-    else
-    {
-        if(posMouse == NOPOINT)
-        {
-            needsRedraw = true;
-        }
-
-        posMouse.rx() = left  + data->x().val2pt(ptMouseMove->time.toTime_t());
-        posMouse.ry() = top  +  data->y().val2pt(ptMouseMove->distance);
-    }
-    update();
-}
-
-
diff --git a/src/plot/CPlotProfile.cpp b/src/plot/CPlotProfile.cpp
index 80e4bca..6b1d543 100644
--- a/src/plot/CPlotProfile.cpp
+++ b/src/plot/CPlotProfile.cpp
@@ -51,7 +51,7 @@ void CPlotProfile::setTrack(CGisItemTrk * track)
 
 void CPlotProfile::updateData()
 {
-    CPlotData::axistype_e type = data->axisType;
+    clear();
 
     if(mode == eModeIcon)
     {
@@ -60,20 +60,10 @@ void CPlotProfile::updateData()
     }
     else
     {
-        if(type == CPlotData::eAxisLinear)
-        {
-            setXLabel(tr("distance [%1]").arg(IUnit::self().baseunit));
-        }
-        else
-        {
-            setXLabel(tr("time [h]"));
-        }
+        setXLabel(tr("distance [%1]").arg(IUnit::self().baseunit));
         setYLabel(tr("alt. [%1]").arg(IUnit::self().baseunit));
     }
 
-
-    clear();
-
     QPolygonF lineEle;
     QPolygonF lineDem;
     QPolygonF coords;
@@ -96,9 +86,9 @@ void CPlotProfile::updateData()
                 continue;
             }
 
-            lineEle << QPointF(type == CPlotData::eAxisLinear ? trkpt.distance : (qreal)trkpt.time.toTime_t(), trkpt.ele * basefactor);
+            lineEle << QPointF(trkpt.distance, trkpt.ele * basefactor);
             coords << QPointF(trkpt.lon * DEG_TO_RAD, trkpt.lat * DEG_TO_RAD);
-            lineDem << QPointF(type == CPlotData::eAxisLinear ? trkpt.distance : (qreal)trkpt.time.toTime_t(), NOFLOAT);
+            lineDem << QPointF(trkpt.distance, NOFLOAT);
 
             if(project == 0 || trkpt.keyWpt.item.isEmpty() || (mode == eModeIcon))
             {
diff --git a/src/plot/CPlotSpeed.cpp b/src/plot/CPlotSpeed.cpp
deleted file mode 100644
index 0843e37..0000000
--- a/src/plot/CPlotSpeed.cpp
+++ /dev/null
@@ -1,123 +0,0 @@
-/**********************************************************************************************
-    Copyright (C) 2014 Oliver Eichler oliver.eichler at gmx.de
-
-    This program is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-**********************************************************************************************/
-
-#include "plot/CPlotAxis.h"
-#include "plot/CPlotSpeed.h"
-
-CPlotSpeed::CPlotSpeed(QWidget *parent)
-    : IPlot(0, CPlotData::eAxisLinear, eModeNormal, parent)
-{
-}
-
-CPlotSpeed::~CPlotSpeed()
-{
-}
-
-void CPlotSpeed::setTrack(CGisItemTrk * track)
-{
-    trk = track;
-    trk->registerPlot(this);
-
-    updateData();
-}
-
-void CPlotSpeed::updateData()
-{
-    if(isHidden())
-    {
-        return;
-    }
-
-    CPlotData::axistype_e type = data->axisType;
-
-    if(mode == eModeIcon)
-    {
-        setXLabel(trk->getName());
-        setYLabel("");
-    }
-    else
-    {
-        if(type == CPlotData::eAxisLinear)
-        {
-            setXLabel(tr("distance [%1]").arg(IUnit::self().baseunit));
-        }
-        else
-        {
-            setXLabel(tr("time [h]"));
-        }
-        setYLabel(tr("speed. [%1]").arg(IUnit::self().speedunit));
-    }
-
-    clear();
-    if(trk->getTotalElapsedSeconds() == 0)
-    {
-        resetZoom();
-        update();
-        return;
-    }
-
-    QPolygonF lineSpeed;
-
-    qreal speedfactor = IUnit::self().speedfactor;
-    const CGisItemTrk::trk_t& t = trk->getTrackData();
-    foreach (const CGisItemTrk::trkseg_t& seg, t.segs)
-    {
-        foreach(const CGisItemTrk::trkpt_t& trkpt, seg.pts)
-        {
-            if(trkpt.flags & CGisItemTrk::trkpt_t::eHidden)
-            {
-                continue;
-            }
-
-            if(trkpt.speed != NOFLOAT)
-            {
-                lineSpeed << QPointF(type == CPlotData::eAxisLinear ? trkpt.distance : (qreal)trkpt.time.toTime_t(), trkpt.speed * speedfactor);
-            }
-        }
-    }
-
-    newLine(lineSpeed, "GPS");
-    setLimits();
-    data->ymin = 0;
-    data->y().setLimits(0,data->ymax);
-    resetZoom();
-}
-
-void CPlotSpeed::setMouseFocus(const CGisItemTrk::trkpt_t * ptMouseMove)
-{
-    if(ptMouseMove == 0)
-    {
-        if(posMouse != NOPOINT)
-        {
-            posMouse = NOPOINT;
-            needsRedraw = true;
-        }
-    }
-    else
-    {
-        if(posMouse == NOPOINT)
-        {
-            needsRedraw = true;
-        }
-
-        posMouse.rx() = left  + data->x().val2pt(ptMouseMove->distance);
-        posMouse.ry() = top  +  data->y().val2pt(ptMouseMove->speed);
-    }
-    update();
-}
-
diff --git a/src/plot/CPlotTrack.cpp b/src/plot/CPlotTrack.cpp
index bd46a5a..b42c7c8 100644
--- a/src/plot/CPlotTrack.cpp
+++ b/src/plot/CPlotTrack.cpp
@@ -23,7 +23,6 @@
 
 CPlotTrack::CPlotTrack(QWidget *parent)
     : QWidget(parent)
-    , pos(NOPOINTF)
 {
 }
 
diff --git a/src/plot/CPlotTrack.h b/src/plot/CPlotTrack.h
index 0e7f703..5a204f0 100644
--- a/src/plot/CPlotTrack.h
+++ b/src/plot/CPlotTrack.h
@@ -39,7 +39,7 @@ protected:
 
 private:
 
-    QPointF pos;
+    QPointF pos = NOPOINTF;
 };
 
 #endif //CPLOTTRACK_H
diff --git a/src/plot/IPlot.cpp b/src/plot/IPlot.cpp
index 7bf93e7..abb975d 100644
--- a/src/plot/IPlot.cpp
+++ b/src/plot/IPlot.cpp
@@ -23,9 +23,9 @@
 #include "gis/CGisWidget.h"
 #include "gis/trk/CActivityTrk.h"
 #include "helpers/CDraw.h"
-#include "helpers/CFadingIcon.h"
 #include "helpers/CSettings.h"
 #include "mouse/CScrOptRangeTrk.h"
+#include "widgets/CFadingIcon.h"
 
 #include <QKeyEvent>
 #include <QtWidgets>
@@ -59,27 +59,8 @@ int IPlot::cnt = 0;
 IPlot::IPlot(CGisItemTrk *trk, CPlotData::axistype_e type, mode_e mode, QWidget *parent)
     : QWidget(parent)
     , mode(mode)
-    , needsRedraw(true)
-    , showScale(true)
-    , thinLine(false)
-    , solid(false)
-    , posMouse(NOPOINT)
     , trk(trk)
     , fm(font())
-    , left(0)
-    , right(0)
-    , top(0)
-    , bottom(0)
-    , deadAreaX(0)
-    , deadAreaY(0)
-    , fontWidth(0)
-    , fontHeight(0)
-    , scaleWidthX1(0)
-    , scaleWidthY1(0)
-    , idxSel1(NOIDX)
-    , idxSel2(NOIDX)
-    , mouseClickState(eMouseClickIdle)
-
 {
     cnt++;
     setObjectName(QString("IPlot%1").arg(cnt));
@@ -407,7 +388,7 @@ void IPlot::mousePressEvent(QMouseEvent * e)
                 connect(scrOptRange->toolActivity, SIGNAL(clicked()), this, SLOT(slotActivity()));
                 connect(scrOptRange->toolCopy, SIGNAL(clicked()), this, SLOT(slotCopy()));
 
-                /* Adjust posiion of screen option widget if the widget is out of the visible area*/
+                /* Adjust position 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()));
@@ -449,7 +430,7 @@ void IPlot::mousePressEvent(QMouseEvent * e)
             }
 
 
-            // Update canvas only if the object ist the owener of the range selection
+            // Update canvas only if the object is the owner of the range selection
             if(wasProcessed)
             {
                 emit sigMouseClickState(mouseClickState);
@@ -666,6 +647,8 @@ void IPlot::drawData(QPainter& p)
     CPlotAxis& xaxis = data->x();
     CPlotAxis& yaxis = data->y();
 
+    int zero = bottom - yaxis.val2pt(0);
+
     while(line != lines.end())
     {
         QPolygonF background;
@@ -678,7 +661,7 @@ void IPlot::drawData(QPainter& p)
         pty = bottom - yaxis.val2pt( point->y() );
         oldPtx = ptx;
 
-        background << QPointF(left,bottom);
+        background << QPointF(left,zero);
         background << QPointF(left,pty);
         background << QPointF(ptx,pty);
         foreground << QPointF(ptx,pty);
@@ -704,7 +687,7 @@ void IPlot::drawData(QPainter& p)
         }
 
         background << QPointF(right,pty);
-        background << QPointF(right,bottom);
+        background << QPointF(right,zero);
 
         p.setPen(Qt::NoPen);
         p.setBrush(colors[penIdx]);
@@ -812,7 +795,7 @@ void IPlot::drawYScale( QPainter &p )
     qreal limMin, limMax, useMin, useMax;
     data->y().getLimits(limMin, limMax, useMin, useMax);
 
-    // draw min/max lables 1st;
+    // draw min/max labels 1st;
     QRect recTextMin;
     QRect recTextMax;
 
@@ -1214,7 +1197,7 @@ void IPlot::slotSave()
 {
     SETTINGS;
     QString path = cfg.value("Paths/lastGraphPath", QDir::homePath()).toString();
-    QString filename = QFileDialog::getSaveFileName( this, tr("Select output file"), path,"Bitmap (*.png)");
+    QString filename = QFileDialog::getSaveFileName( this, tr("Select output file"), path, "PNG Image (*.png)");
 
     if(filename.isEmpty())
     {
diff --git a/src/plot/IPlot.h b/src/plot/IPlot.h
index 2c918c1..e10b8c1 100644
--- a/src/plot/IPlot.h
+++ b/src/plot/IPlot.h
@@ -115,14 +115,14 @@ protected:
     // different draw modes
     mode_e mode;
     // buffer needs update
-    bool needsRedraw;
+    bool needsRedraw = true;
 
-    bool showScale;
-    bool thinLine;
-    bool solid;
+    bool showScale = true;
+    bool thinLine = false;
+    bool solid = false;
 
     QImage buffer;
-    QPoint posMouse;
+    QPoint posMouse = NOPOINT;
 
     /**
        @brief The track this plot is attached to
@@ -138,18 +138,18 @@ protected:
 
     QFontMetrics fm;
 
-    int left;
-    int right;
-    int top;
-    int bottom;
+    int left = 0;
+    int right = 0;
+    int top = 0;
+    int bottom = 0;
 
-    int deadAreaX;
-    int deadAreaY;
+    int deadAreaX = 0;
+    int deadAreaY = 0;
 
-    int fontWidth;
-    int fontHeight;
-    int scaleWidthX1;
-    int scaleWidthY1;
+    int fontWidth = 0;
+    int fontHeight = 0;
+    int scaleWidthX1 = 0;
+    int scaleWidthY1 = 0;
 
     QRect rectX1Label;
     QRect rectY1Label;
@@ -166,10 +166,10 @@ protected:
     QAction * actionPrint;
     QAction * actionStopRange;
 
-    qint32 idxSel1;
-    qint32 idxSel2;
+    qint32 idxSel1 = NOIDX;
+    qint32 idxSel2 = NOIDX;
 
-    mouse_click_state_e mouseClickState;
+    mouse_click_state_e mouseClickState = eMouseClickIdle;
 
     QPointer<CScrOptRangeTrk> scrOptRange;
 
diff --git a/src/plot/ITrack.cpp b/src/plot/ITrack.cpp
index ca96cf2..a84643b 100644
--- a/src/plot/ITrack.cpp
+++ b/src/plot/ITrack.cpp
@@ -23,12 +23,6 @@
 #include <QtWidgets>
 
 ITrack::ITrack()
-    : pjsrc(0)
-    , pjtar(0)
-    , needsRedraw(true)
-    , trk(0)
-    , xoff(0)
-    , yoff(0)
 {
     pjtar = pj_init_plus("+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs");
 }
diff --git a/src/plot/ITrack.h b/src/plot/ITrack.h
index 09fd3b8..f1d1220 100644
--- a/src/plot/ITrack.h
+++ b/src/plot/ITrack.h
@@ -45,19 +45,19 @@ protected:
     void draw(QPainter& p);
     void draw();
 
-    projPJ pjsrc;
-    projPJ pjtar;
+    projPJ pjsrc = 0;
+    projPJ pjtar = 0;
 
-    bool needsRedraw;
-    CGisItemTrk * trk;
+    bool needsRedraw =true;
+    CGisItemTrk * trk = 0;
     QPolygonF coords;
     QPolygonF line;
 
     QImage buffer;
 
     QPointF scale;
-    qint32 xoff;
-    qint32 yoff;
+    qint32 xoff = 0;
+    qint32 yoff = 0;
 };
 
 #endif //ITRACK_H
diff --git a/src/print/CPrintDialog.cpp b/src/print/CPrintDialog.cpp
index c446779..10804cd 100644
--- a/src/print/CPrintDialog.cpp
+++ b/src/print/CPrintDialog.cpp
@@ -34,8 +34,6 @@ CPrintDialog::CPrintDialog(type_e type, const QRectF& area, CCanvas *source)
     : QDialog(&CMainWindow::self())
     , type(type)
     , rectSelArea(area)
-    , xPages(0.0)
-    , yPages(0.0)
 {
     setupUi(this);
 
@@ -105,7 +103,7 @@ void CPrintDialog::slotUpdateMetrics()
     QPointF pt1 = rectSelArea.topLeft();
     QPointF pt2 = rectSelArea.bottomRight();
 
-    // calculate real meter dimensions from corenr points
+    // calculate real meter dimensions from corner points
     qreal mWidth    = GPS_Math_Distance(pt1.x(), pt1.y(), pt2.x(), pt1.y());
     qreal mHeight   = GPS_Math_Distance(pt1.x(), pt1.y(), pt1.x(), pt2.y());
 
@@ -256,17 +254,29 @@ void CPrintDialog::slotSave()
     SETTINGS;
     QString path = cfg.value("Paths/lastImagePath", "./").toString();
 
-    QString filter = "*.png";
-    QString filename = QFileDialog::getSaveFileName(this, tr("Save map..."), path, "*.png;;*.jpg", &filter);
+    QString filterPNG = "PNG Image (*.png)";
+    QString filterJPG = "JPEG Image (*.jpg)";
+    QString filter    = filterPNG;
+    QString filename = QFileDialog::getSaveFileName(this, tr("Save map..."), path, filterPNG + ";; " + filterJPG, &filter);
     if(filename.isEmpty())
     {
         return;
     }
 
+    QString expectedSuffix;
+    if(filter == filterPNG)
+    {
+        expectedSuffix = "png";
+    }
+    else if(filter == filterJPG)
+    {
+        expectedSuffix = "jpg";
+    }
+
     QFileInfo fi(filename);
-    if(fi.suffix().toLower() != filter.mid(2))
+    if(fi.suffix().toLower() != expectedSuffix)
     {
-        filename += filter.mid(1);
+        filename += "." + expectedSuffix;
     }
 
     img.save(filename);
diff --git a/src/print/CPrintDialog.h b/src/print/CPrintDialog.h
index 9a090ed..7089297 100644
--- a/src/print/CPrintDialog.h
+++ b/src/print/CPrintDialog.h
@@ -65,9 +65,9 @@ private:
     QPrinter printer;
 
     /// number of pages in x dimension
-    qreal xPages;
+    qreal xPages = 0.0;
     /// number of pages in y dimension
-    qreal yPages;
+    qreal yPages = 0.0;
 };
 
 #endif //CPRINTDIALOG_H
diff --git a/src/qlgt/CQlb.h b/src/qlgt/CQlb.h
index d5f154f..131b392 100644
--- a/src/qlgt/CQlb.h
+++ b/src/qlgt/CQlb.h
@@ -27,10 +27,10 @@ class CQlgtTrack;
 class CQlgtRoute;
 class CQlgtDiary;
 class IQlgtOverlay;
-/// qlandkarte binary to store privat geo data
+/// qlandkarte binary to store private geo data
 /**
     The file will store data like waypoints, tracks, map selections. These elements will
-    be collected in a dedicated byte arra, e.g. all waypoints are serialized in wpts and so on.
+    be collected in a dedicated byte array, e.g. all waypoints are serialized in wpts and so on.
     These byte arrays a stored like:
 
     qint32 eWpt, QByteArray wpts
@@ -47,7 +47,7 @@ public:
 
     enum type_e {eEnd, eWpt, eTrack, eDiary, eOverlay, eRoute, eMapSel};
 
-    /// collect wapoint data
+    /// collect waypoint data
     /**
         This will serialize the waypoint object to wpts
      */
diff --git a/src/qlgt/CQlgtWpt.cpp b/src/qlgt/CQlgtWpt.cpp
index e346e83..83a6fa2 100644
--- a/src/qlgt/CQlgtWpt.cpp
+++ b/src/qlgt/CQlgtWpt.cpp
@@ -255,7 +255,7 @@ QDataStream& operator <<(QDataStream& s, CQlgtWpt& wpt)
     }
 
     // finally write image offset table
-    (quint32)s2.device()->seek(0);
+    s2.device()->seek(0);
     image = wpt.images.begin();
     while(image != wpt.images.end())
     {
diff --git a/src/qlgt/converter.cpp b/src/qlgt/converter.cpp
index 58d802d..e32027a 100644
--- a/src/qlgt/converter.cpp
+++ b/src/qlgt/converter.cpp
@@ -143,8 +143,8 @@ CGisItemTrk::CGisItemTrk(const CQlgtTrack &trk1)
     trk.name        = trk1.name;
     trk.cmt         = trk1.comment;
     trk.desc        = trk1.description;
-    trk.color       = lineColors[trk1.colorIdx].name();
-    setColor(lineColors[trk1.colorIdx]);
+    trk.color       = IGisItem::colorMap[trk1.colorIdx].color.name();
+    setColor(IGisItem::colorMap[trk1.colorIdx].color);
 
     bool hasExtData = trk1.hasExt1Data();
     trkseg_t seg;
@@ -152,7 +152,7 @@ CGisItemTrk::CGisItemTrk(const CQlgtTrack &trk1)
     {
         trkpt_t pt;
         QDateTime time = QDateTime::fromTime_t(pt1._timestamp,QTimeZone("UTC"));
-        time.addMSecs(pt1._timestamp_msec);
+        time = time.addMSecs(pt1._timestamp_msec);
 
         pt.lon  = pt1._lon;
         pt.lat  = pt1._lat;
diff --git a/src/resources.qrc b/src/resources.qrc
index 21e0bd1..37ca2de 100644
--- a/src/resources.qrc
+++ b/src/resources.qrc
@@ -173,6 +173,18 @@
         <file>icons/32x32/ActSwim.png</file>
         <file>icons/32x32/ActAero.png</file>
         <file>icons/32x32/Activity.png</file>
+        <file>icons/32x32/CSrcSolid.png</file>
+        <file>icons/32x32/CSrcHR.png</file>
+        <file>icons/32x32/CSrcCAD.png</file>
+        <file>icons/32x32/CSrcATemp.png</file>
+        <file>icons/32x32/CSrcWTemp.png</file>
+        <file>icons/32x32/CSrcDepth.png</file>
+        <file>icons/32x32/CSrcSlope.png</file>
+        <file>icons/32x32/CSrcSpeed.png</file>
+        <file>icons/32x32/CSrcElevation.png</file>
+        <file>icons/32x32/CSrcUnknown.png</file>
+        <file>icons/32x32/Progress.png</file>
+
         <file>icons/48x48/2DFix.png</file>
         <file>icons/48x48/3DFix.png</file>
         <file>icons/48x48/Add.png</file>
@@ -319,6 +331,19 @@
         <file>icons/48x48/ActSwim.png</file>
         <file>icons/48x48/ActAero.png</file>
         <file>icons/48x48/Activity.png</file>
+        <file>icons/48x48/CSrcSolid.png</file>
+        <file>icons/48x48/CSrcHR.png</file>
+        <file>icons/48x48/CSrcCAD.png</file>
+        <file>icons/48x48/CSrcATemp.png</file>
+        <file>icons/48x48/CSrcWTemp.png</file>
+        <file>icons/48x48/CSrcDepth.png</file>
+        <file>icons/48x48/CSrcSlope.png</file>
+        <file>icons/48x48/CSrcSpeed.png</file>
+        <file>icons/48x48/CSrcElevation.png</file>
+        <file>icons/48x48/CSrcUnknown.png</file>
+        <file>icons/48x48/Progress.png</file>
+
+
         <file>icons/cache/32x32/bluepin.png</file>
         <file>icons/cache/32x32/cito.png</file>
         <file>icons/cache/32x32/corrected.png</file>
diff --git a/src/tool/CImportDatabase.cpp b/src/tool/CImportDatabase.cpp
index 3a733e1..0e83300 100644
--- a/src/tool/CImportDatabase.cpp
+++ b/src/tool/CImportDatabase.cpp
@@ -37,10 +37,12 @@ CImportDatabase::CImportDatabase(QWidget *parent)
 
     connect(toolSelectSource, SIGNAL(clicked()), this, SLOT(slotSelectSource()));
     connect(toolSelectTarget, SIGNAL(clicked()), this, SLOT(slotSelectTarget()));
-    connect(pushStart, SIGNAL(clicked()), this, SLOT(slotStart()));
+    connect(pushStart,        SIGNAL(clicked()), this, SLOT(slotStart()));
 
+    pushStart->setEnabled(false);
     if(QFile::exists(labelSource->text()))
     {
+        pushStart->setEnabled(true);
         dbQlgt = new CQlgtDb(labelSource->text(), this);
     }
 }
@@ -70,7 +72,7 @@ void CImportDatabase::slotSelectSource()
 {
     SETTINGS;
     QString path = cfg.value("ConvertDB/sourcePath",QDir::homePath()).toString();
-    QString filename = QFileDialog::getOpenFileName(this, tr("Select source database..."), path, "*.db");
+    QString filename = QFileDialog::getOpenFileName(this, tr("Select source database..."), path, "QLandkarte Database (*.db)");
     if(filename.isEmpty())
     {
         return;
@@ -84,13 +86,15 @@ void CImportDatabase::slotSelectSource()
     delete dbQlgt;
     textBrowser->clear();
     dbQlgt = new CQlgtDb(filename, this);
+
+    pushStart->setEnabled(true);
 }
 
 void CImportDatabase::slotSelectTarget()
 {
     SETTINGS;
     QString path = cfg.value("Path/target",QDir::homePath()).toString();
-    QString filename = QFileDialog::getSaveFileName(this, tr("Select target database..."), path, "*.db");
+    QString filename = QFileDialog::getSaveFileName(this, tr("Select target database..."), path, "QMapShack Database (*.db)");
     if(filename.isEmpty())
     {
         return;
diff --git a/src/tool/CMapVrtBuilder.cpp b/src/tool/CMapVrtBuilder.cpp
index 25ae03c..599e59f 100644
--- a/src/tool/CMapVrtBuilder.cpp
+++ b/src/tool/CMapVrtBuilder.cpp
@@ -59,7 +59,7 @@ void CMapVrtBuilder::slotSelectSourceFiles()
         new QListWidgetItem(QIcon("://icons/32x32/Map.png"), file, listWidget);
     }
 
-    enabelStartButton();
+    enableStartButton();
 }
 
 void CMapVrtBuilder::slotSelectTargetFile()
@@ -84,25 +84,14 @@ void CMapVrtBuilder::slotSelectTargetFile()
 
     labelTargetFilename->setText(file);
 
-    enabelStartButton();
+    enableStartButton();
 }
 
-
-void CMapVrtBuilder::enabelStartButton()
+void CMapVrtBuilder::enableStartButton()
 {
-    pushStart->setDisabled(true);
-    if(listWidget->count() == 0)
-    {
-        return;
-    }
-    if(labelTargetFilename->text() == "-")
-    {
-        return;
-    }
-    pushStart->setEnabled(true);
+    pushStart->setEnabled(listWidget->count() > 0 && labelTargetFilename->text() != "-");
 }
 
-
 void CMapVrtBuilder::slotStart()
 {
     pushStart->setDisabled(true);
diff --git a/src/tool/CMapVrtBuilder.h b/src/tool/CMapVrtBuilder.h
index ccf9f5f..5a75e5c 100644
--- a/src/tool/CMapVrtBuilder.h
+++ b/src/tool/CMapVrtBuilder.h
@@ -37,7 +37,7 @@ private slots:
 
 private:
     void finished(int exitCode, QProcess::ExitStatus status);
-    void enabelStartButton();
+    void enableStartButton();
 };
 
 #endif //CMAPVRTBUILDER_H
diff --git a/src/tool/CRoutinoDatabaseBuilder.cpp b/src/tool/CRoutinoDatabaseBuilder.cpp
index 8ba2f55..12a7595 100644
--- a/src/tool/CRoutinoDatabaseBuilder.cpp
+++ b/src/tool/CRoutinoDatabaseBuilder.cpp
@@ -26,9 +26,6 @@
 
 CRoutinoDatabaseBuilder::CRoutinoDatabaseBuilder(QWidget * parent)
     : IToolShell(textBrowser, parent)
-    , first(true)
-    , tainted(false)
-    , last(false)
 {
     setupUi(this);
 
diff --git a/src/tool/CRoutinoDatabaseBuilder.h b/src/tool/CRoutinoDatabaseBuilder.h
index b88fe6e..6b8433e 100644
--- a/src/tool/CRoutinoDatabaseBuilder.h
+++ b/src/tool/CRoutinoDatabaseBuilder.h
@@ -41,9 +41,9 @@ private slots:
 private:
     void finished(int exitCode, QProcess::ExitStatus status);
 
-    bool first;
-    bool tainted;
-    bool last;
+    bool first = false;
+    bool tainted = false;
+    bool last = false;
 
     QStringList sourceFiles;
     QString targetPrefix;
diff --git a/src/tool/IToolShell.cpp b/src/tool/IToolShell.cpp
index d711dd7..50f1ac6 100644
--- a/src/tool/IToolShell.cpp
+++ b/src/tool/IToolShell.cpp
@@ -24,9 +24,10 @@ IToolShell::IToolShell(QTextBrowser *&textBrowser, QWidget * parent)
     : QWidget(parent)
     , text(textBrowser)
 {
-    connect(&cmd, SIGNAL(readyReadStandardError()), this, SLOT(slotStderr()));
-    connect(&cmd, SIGNAL(readyReadStandardOutput()), this, SLOT(slotStdout()));
-    connect(&cmd, SIGNAL(finished(int,QProcess::ExitStatus)), this, SLOT(slotFinished(int,QProcess::ExitStatus)));
+    connect(&cmd, SIGNAL(readyReadStandardError()),            this, SLOT(slotStderr()));
+    connect(&cmd, SIGNAL(readyReadStandardOutput()),           this, SLOT(slotStdout()));
+    connect(&cmd, SIGNAL(finished(int, QProcess::ExitStatus)), this, SLOT(slotFinished(int, QProcess::ExitStatus)));
+    connect(&cmd, SIGNAL(error(QProcess::ProcessError)),       this, SLOT(slotError(QProcess::ProcessError)));
 }
 
 IToolShell::~IToolShell()
@@ -37,6 +38,26 @@ void IToolShell::setOutputBrowser(QTextBrowser * text)
 {
 }
 
+void IToolShell::slotError(QProcess::ProcessError error)
+{
+    text->setTextColor(Qt::red);
+    text->insertPlainText(QString(tr("Execution of external program `%1` failed: ")).arg(cmd.program()));
+    switch(error)
+    {
+    case QProcess::FailedToStart:
+        text->insertPlainText(QString(tr("Process cannot be started.\n")));
+        text->insertPlainText(QString(tr("Make sure the required packages are installed, `%1` exists and is executable.\n")).arg(cmd.program()));
+        break;
+
+    case QProcess::Crashed:
+        text->insertPlainText(QString(tr("External process crashed.\n")));
+        break;
+
+    default:
+        text->insertPlainText(QString(tr("An unknown error occurred.\n")));
+        break;
+    }
+}
 
 void IToolShell::slotStderr()
 {
diff --git a/src/tool/IToolShell.h b/src/tool/IToolShell.h
index a51bcc2..c5c1540 100644
--- a/src/tool/IToolShell.h
+++ b/src/tool/IToolShell.h
@@ -34,6 +34,7 @@ public:
 protected slots:
     void slotStderr();
     void slotStdout();
+    void slotError(QProcess::ProcessError error);
     virtual void slotFinished(int exitCode, QProcess::ExitStatus status);
 
 protected:
diff --git a/src/units/IUnitsSetup.ui b/src/units/IUnitsSetup.ui
index afe44ea..6ce8fc9 100644
--- a/src/units/IUnitsSetup.ui
+++ b/src/units/IUnitsSetup.ui
@@ -6,8 +6,8 @@
    <rect>
     <x>0</x>
     <y>0</y>
-    <width>201</width>
-    <height>126</height>
+    <width>281</width>
+    <height>147</height>
    </rect>
   </property>
   <property name="windowTitle">
@@ -15,25 +15,42 @@
   </property>
   <layout class="QVBoxLayout" name="verticalLayout">
    <item>
-    <layout class="QVBoxLayout" name="verticalLayout_2">
+    <layout class="QHBoxLayout" name="horizontalLayout">
      <item>
-      <widget class="QRadioButton" name="radioNautic">
-       <property name="text">
-        <string>Nautic</string>
-       </property>
-      </widget>
+      <layout class="QVBoxLayout" name="verticalLayout_2">
+       <item>
+        <widget class="QRadioButton" name="radioNautic">
+         <property name="text">
+          <string>Nautic</string>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <widget class="QRadioButton" name="radioImperial">
+         <property name="text">
+          <string>Imperial</string>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <widget class="QRadioButton" name="radioMetric">
+         <property name="text">
+          <string>Metric</string>
+         </property>
+        </widget>
+       </item>
+      </layout>
      </item>
      <item>
-      <widget class="QRadioButton" name="radioImperial">
+      <widget class="QLabel" name="label">
        <property name="text">
-        <string>Imperial</string>
+        <string><b>Note:</b> For some GUI elements changing the units will not take effect until you restart QMapShack.</string>
        </property>
-      </widget>
-     </item>
-     <item>
-      <widget class="QRadioButton" name="radioMetric">
-       <property name="text">
-        <string>Metric</string>
+       <property name="alignment">
+        <set>Qt::AlignJustify|Qt::AlignTop</set>
+       </property>
+       <property name="wordWrap">
+        <bool>true</bool>
        </property>
       </widget>
      </item>
diff --git a/src/version.h b/src/version.h
index 317f2f2..7958441 100644
--- a/src/version.h
+++ b/src/version.h
@@ -24,7 +24,7 @@
 #define _MKSTR(x)      _MKSTR_1(x)
 #endif
 
-#define VER_STR       _MKSTR(VER_MAJOR) "."_MKSTR (VER_MINOR)"."_MKSTR (VER_STEP)
+#define VER_STR       _MKSTR(VER_MAJOR) "." _MKSTR (VER_MINOR) "." _MKSTR (VER_STEP)
 #define WHAT_STR      _MKSTR(APPLICATION_NAME) ", Version " VER_STR
 
 #endif //VERSION_H
diff --git a/src/widgets/CColorLegend.cpp b/src/widgets/CColorLegend.cpp
new file mode 100644
index 0000000..757a173
--- /dev/null
+++ b/src/widgets/CColorLegend.cpp
@@ -0,0 +1,182 @@
+/**********************************************************************************************
+    Copyright (C) 2015 Christian Eichler code at christian-eichler.de
+
+    This program is free software: you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+**********************************************************************************************/
+
+#include "CMainWindow.h"
+#include "widgets/CColorLegend.h"
+
+#include <QtWidgets>
+
+CColorLegend::CColorLegend(QWidget *parent, CGisItemTrk *trk)
+    : QWidget(parent), trk(trk)
+{
+    colorRect = QRect(0, 0, colorWidth, colorHeight);
+    colorRect.moveCenter(QPoint(xOffset + colorWidth / 2, height() / 2));
+
+    if(nullptr != trk)
+    {
+        background = true;
+        xOffset = 5;
+
+        trk->registerNotification(this);
+
+        // read data from trk
+        notify();
+    }
+}
+
+CColorLegend::~CColorLegend()
+{
+    if(trk)
+    {
+        trk->unregisterNotification(this);
+    }
+}
+
+void CColorLegend::notify()
+{
+    if(!trk->getColorizeSource().isEmpty())
+    {
+        unit    = trk->getColorizeUnit();
+        minimum = trk->getColorizeLimitLow();
+        maximum = trk->getColorizeLimitHigh();
+
+        update();
+        show();
+    }
+    else
+    {
+        hide();
+    }
+}
+
+void CColorLegend::setMinimum(qreal min)
+{
+    minimum = min;
+    update();
+}
+
+void CColorLegend::setMaximum(qreal max)
+{
+    maximum = max;
+    update();
+}
+
+void CColorLegend::setUnit(const QString &unit)
+{
+    this->unit = unit;
+    update();
+}
+
+int CColorLegend::paintLabel(QPainter &p, qreal value)
+{
+    const int fontHeight = QFontMetrics(p.font()).ascent() + 1;
+    const qreal relativePos = (value - minimum) / (maximum - minimum);
+    const int posY = colorRect.bottom() + fontHeight / 2 - (2 + colorRect.height()) * relativePos + 1;
+
+    int posX = xOffset + colorWidth + 3;
+
+    p.setPen( QPen(QBrush(Qt::black), 2.) );
+    p.drawLine(posX, posY - fontHeight / 2 + 1, posX + 2, posY - fontHeight / 2 + 1);
+
+    if(value == minimum || value == maximum
+       || (posY > colorRect.top() + 3*fontHeight / 2 && posY < colorRect.bottom() - fontHeight / 2))
+    {
+        posX += 5;
+        const QString &labelText = QString("%1%2").arg(value).arg(unit);
+
+        p.drawText(posX, posY, labelText);
+        posX += QFontMetrics(p.font()).width(labelText);
+    }
+
+    return posX;
+}
+
+void CColorLegend::resizeEvent(QResizeEvent *event)
+{
+    QWidget::resizeEvent(event);
+
+    colorRect.setHeight(height() - 20);
+    colorRect.moveCenter(QPoint(xOffset + colorWidth / 2, height() / 2));
+    updateGeometry();
+}
+
+static qreal legendRound(qreal value, int powOffset)
+{
+    int l10 = (int) (value > 0) ? log10(value) : log10(-value);
+
+    qreal div = pow(10, l10 + powOffset);
+    return ceil(value / div) * div;
+}
+
+void CColorLegend::paintEvent(QPaintEvent *event)
+{
+    const QFont &font = CMainWindow::self().getMapFont();
+    if(isEnabled())
+    {
+        QPainter p(this);
+        p.setFont(font);
+
+        if(background)
+        {
+            p.setRenderHint(QPainter::Antialiasing);
+            p.setOpacity(0.6);
+
+            p.setPen( QPen(QBrush(Qt::darkGray), 2.) );
+            p.setBrush(Qt::white);
+            p.drawRoundedRect(1, 1, width() - 2, height() - 2, 5.f, 5.f);
+
+            p.setOpacity(1.f);
+            p.setRenderHint(QPainter::Antialiasing, false);
+        }
+
+        // draw the black frame
+        QRect borderRect(colorRect);
+        borderRect += QMargins(1, 1, 1, 1);
+        p.setPen( QPen(QBrush(Qt::SolidPattern), 2., Qt::SolidLine, Qt::SquareCap, Qt::MiterJoin) );
+        p.drawRect(borderRect);
+
+        // draw the gradient
+        QLinearGradient grad(colorRect.topLeft(), colorRect.bottomLeft());
+        grad.setColorAt(1.00, QColor(  0,   0, 255)); // blue
+        grad.setColorAt(0.60, QColor(  0, 255,   0)); // green
+        grad.setColorAt(0.40, QColor(255, 255,   0)); // yellow
+        grad.setColorAt(0.00, QColor(255,   0,   0)); // red
+        p.fillRect(colorRect, grad);
+
+        int reqWidth =  paintLabel(p, minimum);
+        reqWidth = qMax(paintLabel(p, maximum), reqWidth);
+
+        // draw values inbetween min/max
+        const qreal delta = maximum - minimum;
+        qreal step           = legendRound(delta / 8, 0);
+        qreal roundedMinimum = legendRound(minimum, delta > 60 ? -1 : 0);
+
+        for(qreal v = roundedMinimum; v < maximum; v+= step)
+        {
+            reqWidth = qMax(paintLabel(p, v), reqWidth);
+        }
+
+        if(reqWidth + 5 != width())
+        {
+            setMinimumWidth(reqWidth + 5);
+            resize(reqWidth + 5, height());
+        }
+
+        p.end();
+    }
+}
diff --git a/src/helpers/CPhotoAlbum.h b/src/widgets/CColorLegend.h
similarity index 52%
copy from src/helpers/CPhotoAlbum.h
copy to src/widgets/CColorLegend.h
index 51ea0a7..0f13743 100644
--- a/src/helpers/CPhotoAlbum.h
+++ b/src/widgets/CColorLegend.h
@@ -1,5 +1,5 @@
 /**********************************************************************************************
-    Copyright (C) 2014 Oliver Eichler oliver.eichler at gmx.de
+    Copyright (C) 2015 Christian Eichler code at christian-eichler.de
 
     This program is free software: you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
@@ -16,46 +16,45 @@
 
 **********************************************************************************************/
 
-#ifndef CPHOTOALBUM_H
-#define CPHOTOALBUM_H
+#ifndef CCOLORLEGEND_H
+#define CCOLORLEGEND_H
 
-#include "ui_IPhotoAlbum.h"
+#include "gis/trk/CGisItemTrk.h"
+#include "helpers/INotifiable.h"
 #include <QWidget>
 
-#include <gis/wpt/CGisItemWpt.h>
-
-class CPhotoAlbum : public QWidget, private Ui::IPhotoAlbum
+class CColorLegend : public QWidget, public INotifiable
 {
     Q_OBJECT
 public:
-    CPhotoAlbum(QWidget * parent);
-    virtual ~CPhotoAlbum();
+    CColorLegend(QWidget *parent, CGisItemTrk *trk = nullptr);
+    ~CColorLegend();
 
-    void reload(const QList<CGisItemWpt::image_t>& imgs);
+    void setMinimum(qreal min);
+    void setMaximum(qreal max);
 
-signals:
-    void sigChanged(const QList<CGisItemWpt::image_t>& imgs);
+    void setUnit(const QString &unit);
 
-public slots:
-    void slotAddImage();
-    void slotDelImage();
+    void notify();
 
 protected:
-    void resizeEvent(QResizeEvent * e);
-    void mouseReleaseEvent(QMouseEvent *e);
-
-private slots:
-    void slotRight();
-    void slotLeft();
+    void paintEvent(QPaintEvent *event);
+    void resizeEvent(QResizeEvent *event);
 
 private:
-    void updateView();
-    QList<CGisItemWpt::image_t> images;
-    QList<QRect> rects;
-
-    qint32 idx1stVisible;
-    qint32 idxSelected;
+    int paintLabel(QPainter &p, qreal value);
+
+    const int colorWidth  =  18;
+    const int colorHeight = 256;
+
+    QRect colorRect;
+    QString unit;
+    qreal minimum;
+    qreal maximum;
+    bool background = false;
+    int xOffset    = 1;
+    CGisItemTrk *trk = nullptr;
 };
 
-#endif //CPHOTOALBUM_H
+#endif // CCOLORLEGEND_H
 
diff --git a/templates/source.cpp b/src/widgets/CDoubleSpinBox.cpp
similarity index 62%
copy from templates/source.cpp
copy to src/widgets/CDoubleSpinBox.cpp
index 62a8e8a..6992990 100644
--- a/templates/source.cpp
+++ b/src/widgets/CDoubleSpinBox.cpp
@@ -1,5 +1,5 @@
 /**********************************************************************************************
-    Copyright (C) 2014-2015 Oliver Eichler oliver.eichler at gmx.de
+    Copyright (C) 2015 Christian Eichler code at christian-eichler.de
 
     This program is free software: you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
@@ -16,15 +16,28 @@
 
 **********************************************************************************************/
 
-#include "CLASSNAME.h"
+#include "widgets/CDoubleSpinBox.h"
 
-CLASSNAME::CLASSNAME()
+#include <QtWidgets>
+
+CDoubleSpinBox::CDoubleSpinBox(QWidget * parent)
+    : QDoubleSpinBox(parent)
 {
+}
 
+void CDoubleSpinBox::stepBy(int steps)
+{
+    QDoubleSpinBox::stepBy(steps);
+    emit valueChangedByStep(value());
 }
 
-CLASSNAME::~CLASSNAME()
+void CDoubleSpinBox::focusInEvent(QFocusEvent *event)
 {
+    if(!isReadOnly())
+    {
+        QTimer::singleShot(0, this, SLOT(slotSelectAll()));
+    }
 
+    QDoubleSpinBox::focusInEvent(event);
 }
 
diff --git a/src/plot/CPlotDistance.h b/src/widgets/CDoubleSpinBox.h
similarity index 65%
rename from src/plot/CPlotDistance.h
rename to src/widgets/CDoubleSpinBox.h
index 784c495..c2a75a7 100644
--- a/src/plot/CPlotDistance.h
+++ b/src/widgets/CDoubleSpinBox.h
@@ -1,5 +1,5 @@
 /**********************************************************************************************
-    Copyright (C) 2014 Oliver Eichler oliver.eichler at gmx.de
+    Copyright (C) 2015 Christian Eichler code at christian-eichler.de
 
     This program is free software: you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
@@ -16,22 +16,30 @@
 
 **********************************************************************************************/
 
-#ifndef CPLOTDISTANCE_H
-#define CPLOTDISTANCE_H
+#ifndef CDOUBLESPINBOX_H
+#define CDOUBLESPINBOX_H
 
-#include "plot/IPlot.h"
+#include <QSpinBox>
 
-class CPlotDistance : public IPlot
+class CDoubleSpinBox : public QDoubleSpinBox
 {
     Q_OBJECT
-public:
-    CPlotDistance(QWidget * parent);
-    virtual ~CPlotDistance();
 
-    void setTrack(CGisItemTrk * track);
-    void updateData();
-    void setMouseFocus(const CGisItemTrk::trkpt_t * ptMouseMove);
-};
+public slots:
+    void slotSelectAll()
+    {
+        selectAll();
+    }
+
+signals:
+    void valueChangedByStep(double val);
 
-#endif //CPLOTDISTANCE_H
+public:
+    CDoubleSpinBox(QWidget * parent = 0);
+
+    void stepBy(int steps);
 
+protected:
+    void focusInEvent(QFocusEvent *event);
+};
+#endif // CDOUBLESPINBOX_H
diff --git a/src/helpers/CFadingIcon.cpp b/src/widgets/CFadingIcon.cpp
similarity index 99%
rename from src/helpers/CFadingIcon.cpp
rename to src/widgets/CFadingIcon.cpp
index 0888f6a..e8813cd 100644
--- a/src/helpers/CFadingIcon.cpp
+++ b/src/widgets/CFadingIcon.cpp
@@ -21,7 +21,6 @@
 
 CFadingIcon::CFadingIcon(const QPoint& pt, const QString &resource, QWidget *parent)
     : QLabel(parent)
-    , o(1.0)
     , icon(resource)
 {
     setPixmap(icon);
diff --git a/src/helpers/CFadingIcon.h b/src/widgets/CFadingIcon.h
similarity index 98%
rename from src/helpers/CFadingIcon.h
rename to src/widgets/CFadingIcon.h
index 93afad5..a4eafc3 100644
--- a/src/helpers/CFadingIcon.h
+++ b/src/widgets/CFadingIcon.h
@@ -33,7 +33,7 @@ private slots:
     void slotTimeout();
 
 private:
-    qreal o;
+    qreal o = 1.0;
     QPixmap icon;
 };
 
diff --git a/src/helpers/CHistoryListWidget.cpp b/src/widgets/CHistoryListWidget.cpp
similarity index 98%
rename from src/helpers/CHistoryListWidget.cpp
rename to src/widgets/CHistoryListWidget.cpp
index 79d20a9..381e577 100644
--- a/src/helpers/CHistoryListWidget.cpp
+++ b/src/widgets/CHistoryListWidget.cpp
@@ -18,7 +18,7 @@
 
 #include "gis/CGisWidget.h"
 #include "gis/prj/IGisProject.h"
-#include "helpers/CHistoryListWidget.h"
+#include "widgets/CHistoryListWidget.h"
 
 #include <QtWidgets>
 
diff --git a/src/helpers/CHistoryListWidget.h b/src/widgets/CHistoryListWidget.h
similarity index 100%
rename from src/helpers/CHistoryListWidget.h
rename to src/widgets/CHistoryListWidget.h
diff --git a/src/helpers/CPhotoAlbum.cpp b/src/widgets/CPhotoAlbum.cpp
similarity index 82%
rename from src/helpers/CPhotoAlbum.cpp
rename to src/widgets/CPhotoAlbum.cpp
index 323240e..898c328 100644
--- a/src/helpers/CPhotoAlbum.cpp
+++ b/src/widgets/CPhotoAlbum.cpp
@@ -16,16 +16,14 @@
 
 **********************************************************************************************/
 
-#include "helpers/CPhotoAlbum.h"
 #include "helpers/CPhotoViewer.h"
 #include "helpers/CSettings.h"
+#include "widgets/CPhotoAlbum.h"
 
 #include <QtWidgets>
 
 CPhotoAlbum::CPhotoAlbum(QWidget *parent)
     : QWidget(parent)
-    , idx1stVisible(0)
-    , idxSelected(0)
 {
     setupUi(this);
     setFocusPolicy(Qt::WheelFocus);
@@ -68,8 +66,11 @@ void CPhotoAlbum::reload(const QList<CGisItemWpt::image_t>& imgs)
 void CPhotoAlbum::slotAddImage()
 {
     SETTINGS;
-    QString path = cfg.value("Paths/lastWptImagePath", QDir::homePath()).toString();
-    QStringList filenames = QFileDialog::getOpenFileNames(this, tr("Select images..."), path);
+    QString path          = cfg.value("Paths/lastWptImagePath", QDir::homePath()).toString();
+    QString filters       = "All Files (*);; All Images (*.png *.jpg);; PNG Image (*.png);; JPEG Image (*.jpg)";
+    QString defaultFilter = "All Images (*.png *.jpg)";
+
+    QStringList filenames = QFileDialog::getOpenFileNames(this, tr("Select images..."), path, filters, &defaultFilter);
     if(filenames.isEmpty())
     {
         return;
@@ -78,24 +79,29 @@ void CPhotoAlbum::slotAddImage()
     {
         CGisItemWpt::image_t image;
         image.fileName = filename;
-        image.pixmap.load(filename);
-
-        int w = image.pixmap.width();
-        int h = image.pixmap.height();
-
-        if(w < h)
+        if(image.pixmap.load(filename))
         {
-            h *= 400.0 / w;
-            w  = 400;
+            int w = image.pixmap.width();
+            int h = image.pixmap.height();
+
+            if(w < h)
+            {
+                h *= 400.0 / w;
+                w  = 400;
+            }
+            else
+            {
+                h *= 600.0 / w;
+                w  = 600;
+            }
+            image.pixmap = image.pixmap.scaled(w,h,Qt::KeepAspectRatio, Qt::SmoothTransformation);
+
+            images << image;
         }
         else
         {
-            h *= 600.0 / w;
-            w  = 600;
+            qDebug() << "Cannot load image from file " << filename;
         }
-        image.pixmap = image.pixmap.scaled(w,h,Qt::KeepAspectRatio, Qt::SmoothTransformation);
-
-        images << image;
     }
 
     QFileInfo fi(filenames.first());
diff --git a/src/helpers/CPhotoAlbum.h b/src/widgets/CPhotoAlbum.h
similarity index 96%
rename from src/helpers/CPhotoAlbum.h
rename to src/widgets/CPhotoAlbum.h
index 51ea0a7..9fa881c 100644
--- a/src/helpers/CPhotoAlbum.h
+++ b/src/widgets/CPhotoAlbum.h
@@ -53,8 +53,8 @@ private:
     QList<CGisItemWpt::image_t> images;
     QList<QRect> rects;
 
-    qint32 idx1stVisible;
-    qint32 idxSelected;
+    qint32 idx1stVisible = 0;
+    qint32 idxSelected = 0;
 };
 
 #endif //CPHOTOALBUM_H
diff --git a/src/helpers/CTextEditWidget.cpp b/src/widgets/CTextEditWidget.cpp
similarity index 100%
rename from src/helpers/CTextEditWidget.cpp
rename to src/widgets/CTextEditWidget.cpp
diff --git a/src/helpers/CTextEditWidget.h b/src/widgets/CTextEditWidget.h
similarity index 100%
rename from src/helpers/CTextEditWidget.h
rename to src/widgets/CTextEditWidget.h
diff --git a/src/widgets/CTinySpinBox.cpp b/src/widgets/CTinySpinBox.cpp
new file mode 100644
index 0000000..4946ddb
--- /dev/null
+++ b/src/widgets/CTinySpinBox.cpp
@@ -0,0 +1,96 @@
+/**********************************************************************************************
+    Copyright (C) 2015 Christian Eichler code at christian-eichler.de
+
+    This program is free software: you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+**********************************************************************************************/
+
+#include "widgets/CTinySpinBox.h"
+
+#include <QtWidgets>
+
+void CTinySpinBox::initialize()
+{
+    initialized  = true;
+
+    paletteEdit = QPalette(palette());
+    paletteRO   = QPalette(palette());
+    paletteRW   = QPalette(palette());
+    paletteRW.setColor(QPalette::Text, QColor(0, 0, 255));
+
+    fontNoUnderline = QFont(font());
+    fontUnderline   = QFont(font());
+    fontUnderline.setUnderline(true);
+}
+
+void CTinySpinBox::updateStyle()
+{
+    if(!initialized)
+    {
+        initialize();
+    }
+
+    if(isReadOnly())
+    {
+        setPalette(paletteRO);
+        setFont(fontNoUnderline);
+    }
+    else if(hasFocus())
+    {
+        setPalette(paletteEdit);
+        setFont(fontNoUnderline);
+    }
+    else
+    {
+        setPalette(paletteRW);
+        setFont(fontUnderline);
+    }
+}
+
+CTinySpinBox::CTinySpinBox(QWidget * parent)
+    : QSpinBox(parent)
+{
+    // initialization has to be done deferred,
+    // as the correct palette is set after construction
+    initialized = false;
+}
+
+void CTinySpinBox::stepBy(int steps)
+{
+    QSpinBox::stepBy(steps);
+    emit valueChangedByStep(value());
+}
+
+void CTinySpinBox::setReadOnly(bool r)
+{
+    QSpinBox::setReadOnly(r);
+    updateStyle();
+}
+
+void CTinySpinBox::focusInEvent(QFocusEvent *event)
+{
+    updateStyle();
+    if(!isReadOnly())
+    {
+        QTimer::singleShot(0, this, SLOT(slotSelectAll()));
+    }
+
+    QSpinBox::focusInEvent(event);
+}
+
+void CTinySpinBox::focusOutEvent(QFocusEvent *event)
+{
+    updateStyle();
+    QSpinBox::focusOutEvent(event);
+}
diff --git a/src/widgets/CTinySpinBox.h b/src/widgets/CTinySpinBox.h
new file mode 100644
index 0000000..653b616
--- /dev/null
+++ b/src/widgets/CTinySpinBox.h
@@ -0,0 +1,71 @@
+/**********************************************************************************************
+    Copyright (C) 2015 Christian Eichler code at christian-eichler.de
+
+    This program is free software: you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+**********************************************************************************************/
+
+/** @brief A QWidget derived from QSpinBox, aiming to be tiny with regard to spaced consumed
+           on screen.
+
+    By default, a readonly CTinySpinBox looks like an ordinary label, whereas a non-readonly
+    CTinySpinBox contains blue, underlined text. As soon as the non-readonly widget receives
+    the focus, the color is changed to black, the underline disappears and the modifiable text
+    is selected.
+ */
+
+#ifndef CTINYSPINBOX_H
+#define CTINYSPINBOX_H
+
+#include <QFont>
+#include <QPalette>
+#include <QSpinBox>
+
+class CTinySpinBox : public QSpinBox
+{
+    Q_OBJECT
+
+private:
+    bool initialized;
+
+    QPalette paletteEdit;
+    QPalette paletteRO;
+    QPalette paletteRW;
+
+    QFont fontNoUnderline;
+    QFont fontUnderline;
+
+    void initialize();
+    void updateStyle();
+
+public slots:
+    void slotSelectAll()
+    {
+        selectAll();
+    }
+
+signals:
+    void valueChangedByStep(int val);
+
+public:
+    CTinySpinBox(QWidget * parent = 0);
+
+    void setReadOnly(bool r);
+    void stepBy(int steps);
+
+protected:
+    void focusInEvent(QFocusEvent *event);
+    void focusOutEvent(QFocusEvent *event);
+};
+#endif // CTINYSPINBOX_H
diff --git a/src/helpers/IPhotoAlbum.ui b/src/widgets/IPhotoAlbum.ui
similarity index 100%
rename from src/helpers/IPhotoAlbum.ui
rename to src/widgets/IPhotoAlbum.ui
diff --git a/src/helpers/ITextEditWidget.ui b/src/widgets/ITextEditWidget.ui
similarity index 100%
rename from src/helpers/ITextEditWidget.ui
rename to src/widgets/ITextEditWidget.ui
diff --git a/templates/header.h b/templates/header.h
index 4bfb02b..c449c07 100644
--- a/templates/header.h
+++ b/templates/header.h
@@ -23,7 +23,7 @@ class CLASSNAME
 {
     public:
         CLASSNAME();
-        virtual ~CLASSNAME();
+        virtual ~CLASSNAME() = default;
 };
 
 #endif //CLASSNAME_H
diff --git a/templates/source.cpp b/templates/source.cpp
index 62a8e8a..00f9538 100644
--- a/templates/source.cpp
+++ b/templates/source.cpp
@@ -23,8 +23,4 @@ CLASSNAME::CLASSNAME()
 
 }
 
-CLASSNAME::~CLASSNAME()
-{
-
-}
 

-- 
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