[qmapshack] 01/06: Imported Upstream version 1.4.0

Sebastiaan Couwenberg sebastic at moszumanska.debian.org
Sat Oct 24 15:02:40 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 ac61a9796d117feb2af1f92002a2fd3b0b25e648
Author: Bas Couwenberg <sebastic at xs4all.nl>
Date:   Sat Oct 24 15:45:20 2015 +0200

    Imported Upstream version 1.4.0
---
 CMakeLists.txt                                     |   25 +-
 CMakeLists.txt.user                                |    2 +-
 MacOSX/build-cask.sh                               |   59 +
 MacOSX/build-qmapshack.sh                          |   56 +
 MacOSX/build-routino.sh                            |   83 +
 MacOSX/bundle.sh                                   |   91 +-
 MacOSX/env-path.sh                                 |   49 +
 call_Uncrustify.cfg                                |    5 +-
 changelog.txt                                      |   26 +
 nsi/3rdparty.txt                                   |   81 +-
 nsi/HOWTO-BUILD.txt                                |  168 +
 nsi/build_routino.bat                              |   48 +
 nsi/copyfiles.bat                                  |    5 +-
 src/CAbout.cpp                                     |    9 +-
 src/CMainWindow.cpp                                |   35 +-
 src/CMainWindow.h                                  |    2 +
 src/CMakeLists.txt                                 |   19 +-
 src/GeoMath.cpp                                    |  115 +-
 src/GeoMath.h                                      |    6 +-
 src/IAbout.ui                                      |   34 +-
 src/IMainWindow.ui                                 |   32 +-
 src/canvas/CCanvas.cpp                             |  224 +-
 src/canvas/CCanvas.h                               |   26 +-
 src/canvas/IDrawObject.h                           |    2 +-
 src/cursors/cursorPrint.png                        |  Bin 0 -> 1476 bytes
 src/cursors/cursorSave.png                         |  Bin 0 -> 1238 bytes
 src/dem/CDemDraw.cpp                               |    4 +-
 src/dem/CDemItem.h                                 |    2 +-
 src/dem/CDemVRT.cpp                                |   11 +-
 src/dem/IDem.h                                     |    4 +-
 src/gis/CGisDraw.cpp                               |    2 +-
 src/gis/CGisListWks.cpp                            |  133 +-
 src/gis/CGisListWks.h                              |    6 +
 src/gis/CGisWidget.cpp                             |    4 +-
 src/gis/IGisItem.cpp                               |   74 +-
 src/gis/IGisItem.h                                 |    7 +-
 src/gis/WptIcons.cpp                               |    8 +-
 src/gis/db/CDBItem.cpp                             |    2 +-
 src/gis/db/CDBProject.cpp                          |   10 +-
 src/gis/db/CLostFoundProject.cpp                   |    3 +-
 src/gis/db/CSetupFolder.cpp                        |    3 +-
 src/gis/db/IDB.cpp                                 |    8 +-
 src/gis/db/IDBFolder.cpp                           |   10 +-
 src/gis/gpx/CGpxProject.cpp                        |    3 +-
 src/gis/gpx/serialization.cpp                      |   94 +
 src/gis/ovl/CDetailsOvlArea.cpp                    |    3 +-
 src/gis/ovl/CGisItemOvlArea.cpp                    |    3 +-
 src/gis/ovl/CScrOptOvlArea.cpp                     |    4 +-
 src/gis/prj/CDetailsPrj.cpp                        |   97 +-
 src/gis/prj/CDetailsPrj.h                          |    2 +-
 src/gis/prj/IGisProject.cpp                        |   33 +-
 src/gis/prj/IGisProject.h                          |   11 +-
 src/gis/qms/serialization.cpp                      |   11 +-
 src/gis/rte/CGisItemRte.cpp                        |    9 +-
 src/gis/rte/CScrOptRte.cpp                         |    4 +-
 src/gis/rte/router/CRouterRoutino.cpp              |   18 +-
 src/gis/tnv/serialization.cpp                      |    4 +-
 src/gis/trk/CActivityTrk.cpp                       |  471 +++
 src/gis/trk/CActivityTrk.h                         |  137 +
 src/gis/trk/CDetailsTrk.cpp                        |   93 +-
 src/gis/trk/CDetailsTrk.h                          |    1 +
 src/gis/trk/CGisItemTrk.cpp                        |  182 +-
 src/gis/trk/CGisItemTrk.h                          |   78 +-
 src/gis/trk/CScrOptTrk.cpp                         |    4 +-
 src/gis/trk/CSelectActivity.cpp                    |   72 +
 .../trk/CSelectActivity.h}                         |   30 +-
 src/gis/trk/IDetailsTrk.ui                         |   75 +-
 src/gis/trk/ISelectActivity.ui                     |   28 +
 src/gis/wpt/CDetailsGeoCache.cpp                   |    3 +-
 src/gis/wpt/CDetailsWpt.cpp                        |    3 +-
 src/gis/wpt/CGisItemWpt.cpp                        |    9 +-
 src/gis/wpt/CScrOptWpt.cpp                         |    4 +-
 src/gis/wpt/CSetupNewWpt.cpp                       |   32 +-
 src/grid/CGrid.cpp                                 |   17 +-
 src/grid/CProjWizard.cpp                           |   12 +-
 src/helpers/CAppOpts.h                             |    4 +-
 src/helpers/CAppSetup.cpp                          |   99 +-
 src/helpers/CAppSetup.h                            |   12 +-
 src/helpers/CCommandProcessor.cpp                  |   17 +-
 src/helpers/CDraw.cpp                              |  191 +
 src/helpers/CDraw.h                                |   93 +
 src/helpers/CPositionDialog.cpp                    |  113 +-
 src/helpers/CPositionDialog.h                      |    8 +-
 src/helpers/CTextEditWidget.h                      |    3 +-
 src/icons/16x16/ActAero.png                        |  Bin 0 -> 548 bytes
 src/icons/16x16/ActBike.png                        |  Bin 0 -> 465 bytes
 src/icons/16x16/ActCable.png                       |  Bin 0 -> 440 bytes
 src/icons/16x16/ActCar.png                         |  Bin 0 -> 458 bytes
 src/icons/16x16/ActCycle.png                       |  Bin 0 -> 475 bytes
 src/icons/16x16/ActFoot.png                        |  Bin 0 -> 386 bytes
 src/icons/16x16/ActNone.png                        |  Bin 0 -> 354 bytes
 src/icons/16x16/ActShip.png                        |  Bin 0 -> 456 bytes
 src/icons/16x16/ActSwim.png                        |  Bin 0 -> 474 bytes
 src/icons/16x16/Activity.png                       |  Bin 0 -> 654 bytes
 src/icons/32x32/ActAero.png                        |  Bin 0 -> 1131 bytes
 src/icons/32x32/ActBike.png                        |  Bin 0 -> 981 bytes
 src/icons/32x32/ActCable.png                       |  Bin 0 -> 660 bytes
 src/icons/32x32/ActCar.png                         |  Bin 0 -> 781 bytes
 src/icons/32x32/ActCycle.png                       |  Bin 0 -> 1036 bytes
 src/icons/32x32/ActFoot.png                        |  Bin 0 -> 642 bytes
 src/icons/32x32/ActNone.png                        |  Bin 0 -> 599 bytes
 src/icons/32x32/ActShip.png                        |  Bin 0 -> 787 bytes
 src/icons/32x32/ActSwim.png                        |  Bin 0 -> 831 bytes
 src/icons/32x32/Activity.png                       |  Bin 0 -> 1375 bytes
 src/icons/32x32/PrintSave.png                      |  Bin 0 -> 811 bytes
 src/icons/32x32/SetupCoordFormat.png               |  Bin 0 -> 1108 bytes
 src/icons/32x32/ShowAll.png                        |  Bin 0 -> 1358 bytes
 src/icons/32x32/ShowNone.png                       |  Bin 0 -> 1424 bytes
 src/icons/48x48/ActAero.png                        |  Bin 0 -> 1739 bytes
 src/icons/48x48/ActBike.png                        |  Bin 0 -> 1515 bytes
 src/icons/48x48/ActCable.png                       |  Bin 0 -> 905 bytes
 src/icons/48x48/ActCar.png                         |  Bin 0 -> 1110 bytes
 src/icons/48x48/ActCycle.png                       |  Bin 0 -> 1596 bytes
 src/icons/48x48/ActFoot.png                        |  Bin 0 -> 743 bytes
 src/icons/48x48/ActNone.png                        |  Bin 0 -> 813 bytes
 src/icons/48x48/ActShip.png                        |  Bin 0 -> 1141 bytes
 src/icons/48x48/ActSwim.png                        |  Bin 0 -> 1242 bytes
 src/icons/48x48/Activity.png                       |  Bin 0 -> 2217 bytes
 src/icons/48x48/PrintSave.png                      |  Bin 0 -> 1069 bytes
 src/icons/48x48/SetupCoordFormat.png               |  Bin 0 -> 1725 bytes
 src/icons/48x48/ShowAll.png                        |  Bin 0 -> 2138 bytes
 src/icons/48x48/ShowNone.png                       |  Bin 0 -> 2226 bytes
 src/icons/ActAero.svg                              |  145 +
 src/icons/ActBike.svg                              |  131 +
 src/icons/ActCable.svg                             |  100 +
 src/icons/ActCar.svg                               |  122 +
 src/icons/ActCycle.svg                             |  146 +
 src/icons/ActFoot.svg                              |  116 +
 src/icons/ActNone.svg                              |   83 +
 src/icons/ActShip.svg                              |  100 +
 src/icons/ActSwim.svg                              |  106 +
 src/icons/Activity.svg                             |  239 ++
 src/icons/PrintSave.svg                            |  149 +
 src/icons/SetupCoordFormat.svg                     |   74 +
 src/icons/ShowAll.svg                              |   97 +
 src/icons/ShowNone.svg                             |  103 +
 src/icons/makeicons                                |    3 +-
 src/locale/qmapshack_cs.ts                         | 1345 ++++---
 src/locale/qmapshack_de.ts                         | 1086 ++++--
 src/locale/qmapshack_es.ts                         | 1079 ++++--
 src/locale/qmapshack_fr.ts                         | 1083 ++++--
 src/locale/{qmapshack_es.ts => qmapshack_nl.ts}    | 3852 ++++++++++----------
 src/map/CMapDraw.cpp                               |    2 +-
 src/map/CMapDraw.h                                 |    6 +-
 src/map/CMapIMG.cpp                                |   15 +-
 src/map/CMapIMG.h                                  |    2 +-
 src/map/CMapJNX.cpp                                |    7 +-
 src/map/CMapRMAP.cpp                               |    2 +-
 src/map/CMapTMS.cpp                                |   28 +
 src/map/CMapVRT.cpp                                |   11 +-
 src/map/CMapWMTS.cpp                               |   27 +
 src/map/IMap.h                                     |   21 +-
 src/map/garmin/CGarminPoint.cpp                    |   12 +-
 src/map/garmin/CGarminPolygon.cpp                  |   33 +-
 src/map/garmin/CGarminStrTbl6.cpp                  |   15 +-
 src/map/garmin/CGarminStrTbl8.cpp                  |    6 +-
 src/map/garmin/CGarminStrTblUtf8.cpp               |    6 +-
 src/map/garmin/CGarminTyp.cpp                      |    1 +
 src/map/garmin/IGarminStrTbl.h                     |   11 +-
 src/mouse/CMouseEditTrk.cpp                        |    2 +-
 src/mouse/CMouseMoveWpt.cpp                        |    3 +-
 src/mouse/CMouseNormal.cpp                         |   14 +-
 src/mouse/CMousePrint.cpp                          |  326 ++
 src/mouse/{CMouseRangeTrk.h => CMousePrint.h}      |   59 +-
 src/mouse/CMouseRangeTrk.cpp                       |   31 +-
 src/mouse/CMouseRangeTrk.h                         |    1 +
 src/mouse/CScrOptRangeTrk.cpp                      |    4 +-
 src/mouse/CScrOptUnclutter.cpp                     |    3 +-
 src/mouse/IMouse.cpp                               |    9 +-
 src/mouse/IScrOpt.cpp                              |   51 +-
 src/mouse/IScrOpt.h                                |    3 +-
 src/mouse/IScrOptRangeTrk.ui                       |   16 +-
 src/mouse/line/CLineOpAddPoint.cpp                 |   33 +-
 src/mouse/line/CLineOpAddPoint.h                   |    2 +
 src/mouse/line/CLineOpMovePoint.cpp                |   33 +-
 src/mouse/line/CLineOpMovePoint.h                  |    2 +
 src/mouse/line/CLineOpSelectRange.cpp              |   12 +
 src/mouse/line/CLineOpSelectRange.h                |    2 +
 src/mouse/line/CScrOptRangeLine.cpp                |    5 +-
 src/mouse/line/ILineOp.h                           |   14 +
 src/mouse/line/IMouseEditLine.cpp                  |   62 +-
 src/mouse/line/IMouseEditLine.h                    |    4 +-
 src/plot/CPlotAxis.h                               |    3 +-
 src/plot/CPlotTrack.cpp                            |    2 +-
 src/plot/IPlot.cpp                                 |  120 +-
 src/plot/IPlot.h                                   |    3 +
 src/plot/ITrack.cpp                                |    4 +-
 src/print/CPrintDialog.cpp                         |  277 ++
 .../CLineOpSelectRange.h => print/CPrintDialog.h}  |   66 +-
 src/print/IPrintDialog.ui                          |  170 +
 src/qlgt/CQlgtDb.cpp                               |   30 +-
 src/qlgt/CQlgtDiary.cpp                            |    3 +-
 src/qlgt/CQlgtFolder.cpp                           |    6 +-
 src/qlgt/CQlgtRoute.cpp                            |    3 +-
 src/qlgt/CQlgtTrack.cpp                            |    3 +-
 src/qlgt/CQlgtTrack.h                              |   12 +-
 src/qlgt/CQlgtWpt.cpp                              |    3 +-
 src/qlgt/CQmsDb.cpp                                |    3 +-
 src/qlgt/IQlgtOverlay.cpp                          |    4 +-
 src/qlgt/converter.cpp                             |   11 +-
 src/resources.qrc                                  |   39 +
 src/tool/CRoutinoDatabaseBuilder.cpp               |   28 +-
 src/units/CCoordFormatSetup.cpp                    |   68 +
 .../CCoordFormatSetup.h}                           |   30 +-
 src/units/CTimeZoneSetup.cpp                       |    2 +-
 src/units/CUnitImperial.cpp                        |    2 +-
 src/units/CUnitMetric.cpp                          |    2 +-
 src/units/CUnitNautic.cpp                          |    2 +-
 src/units/{IUnitsSetup.ui => ICoordFormatSetup.ui} |   30 +-
 src/units/IUnit.cpp                                |  175 +-
 src/units/IUnit.h                                  |   46 +-
 src/units/IUnitsSetup.ui                           |   14 +-
 212 files changed, 11101 insertions(+), 4695 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 2728ec6..0e1eba2 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -16,8 +16,8 @@ endif(WIN32)
 set(APPLICATION_NAME qmapshack)
 
 set(APPLICATION_VERSION_MAJOR "1")
-set(APPLICATION_VERSION_MINOR "3")
-set(APPLICATION_VERSION_PATCH "1")
+set(APPLICATION_VERSION_MINOR "4")
+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})
 
@@ -73,6 +73,27 @@ if (UNIX AND NOT WIN32 AND NOT APPLE)
 
   install(
     FILES
+      src/icons/48x48/QMapShack.png
+    DESTINATION
+      ${ICON_INSTALL_DIR}/hicolor/48x48/apps
+  )
+
+  install(
+    FILES
+      src/icons/32x32/QMapShack.png
+    DESTINATION
+      ${ICON_INSTALL_DIR}/hicolor/32x32/apps
+  )
+
+  install(
+    FILES
+      src/icons/QMapShack.svg
+    DESTINATION
+      ${ICON_INSTALL_DIR}/hicolor/scalable/apps
+  )
+
+  install(
+    FILES
       qmapshack.1
     DESTINATION
       ${MAN_INSTALL_DIR}/man1
diff --git a/CMakeLists.txt.user b/CMakeLists.txt.user
index 099660c..67ccfca 100644
--- a/CMakeLists.txt.user
+++ b/CMakeLists.txt.user
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE QtCreatorProject>
-<!-- Written by QtCreator 3.4.1, 2015-09-13T19:50:02. -->
+<!-- Written by QtCreator 3.4.1, 2015-10-24T12:47:59. -->
 <qtcreator>
  <data>
   <variable>EnvironmentId</variable>
diff --git a/MacOSX/build-cask.sh b/MacOSX/build-cask.sh
new file mode 100644
index 0000000..003fc92
--- /dev/null
+++ b/MacOSX/build-cask.sh
@@ -0,0 +1,59 @@
+#!/bin/bash
+
+DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
+source $DIR/env-path.sh
+
+GITHUB_USER='kribe'
+CASK_DIR=$(brew --prefix)/Library/Taps/caskroom/homebrew-cask
+CASK_SRC_DIR=/$ROOT_DIR/homebrew-cask
+CASK_QMS_FILE=Casks/qmapshack.rb
+CASK_QMS='qmapshack'
+
+
+function command {
+    echo "CREATE BRANCH:" 
+    echo "git checkout $CASK_QMS"
+    echo "git pull"
+    echo "git remote -v"
+    echo "git remote add $GITHUB_USER https://github.com/$GITHUB_USER/homebrew-cask"
+    echo "git checkout remotes/origin/$CASK_QMS -b $CASK_QMS"
+    echo ""
+    echo "COMMIT BRANCH:"
+    echo "git status"
+    echo "git commit -m 'QMapShack v $VERSION_FILE' -v"
+    echo "git push $GITHUB_USER $CASK_QMS"
+    echo "git checkout master"
+    echo ""
+    echo "PULL REQUEST ERSTELLEN:"
+    echo "https://github.com/$GITHUB_USER/homebrew-cask" 
+}
+
+function updateCask {
+    cp $CASK_SRC_DIR/$CASK_QMS_FILE ./qmapshack-save-src.rb
+    cp $CASK_DIR/$CASK_QMS_FILE ./qmapshack-save.rb
+    
+    cd $CASK_SRC_DIR
+    
+    FILE_NAME=`ls $BUILD_RELEASE_DIR/*.tar.gz | sort -n | head -1`
+    SHASUM=`shasum -a 256 $FILE_NAME | awk '{ print $1 }'`
+    
+    VERSION_FILE="${FILE_NAME%.tar.gz}"
+    VERSION_FILE="${VERSION_FILE#*MacOSX\_}"
+    
+    cat $CASK_SRC_DIR/$CASK_QMS_FILE
+    echo "$FILE_NAME $SHASUM $VERSION_FILE" 
+    sed "s/version .*/version '$VERSION_FILE'/" $CASK_SRC_DIR/$CASK_QMS_FILE > ./qmapshack.tmp
+    sed "s/sha256.*/sha256 '$SHASUM'/"  ./qmapshack.tmp > $CASK_SRC_DIR/$CASK_QMS_FILE
+    rm ./qmapshack.tmp
+    cat $CASK_SRC_DIR/$CASK_QMS_FILE
+    cp $CASK_SRC_DIR/$CASK_QMS_FILE $CASK_DIR/$CASK_QMS_FILE
+    brew cask install $CASK_QMS
+    brew cask audit $CASK_QMS --download
+    
+    command
+    
+}
+
+if [[ "$1" == "cask" ]]; then
+    updateCask
+fi
\ No newline at end of file
diff --git a/MacOSX/build-qmapshack.sh b/MacOSX/build-qmapshack.sh
new file mode 100644
index 0000000..54af396
--- /dev/null
+++ b/MacOSX/build-qmapshack.sh
@@ -0,0 +1,56 @@
+#!/bin/bash
+
+DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
+source $DIR/env-path.sh
+
+
+function installLibraies {
+    if ! [ -x "$(command -v brew)" ]; then
+        ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
+    fi
+    brew install caskroom/cask/brew-cask
+    
+    brew install qt5
+    brew install gdal
+    brew install proj4
+}
+
+
+# mhg update
+# mhg pull
+
+function makeXcodePrj {
+    
+    if [  -d $BUILD_DIR ]; then
+        rm -rf $BUILD_DIR  
+    fi
+    mkdir $BUILD_DIR
+    cd $BUILD_DIR
+    cmake -G Xcode -D CMAKE_PREFIX_PATH=$QT_DIR -D CMAKE_OSX_DEPLOYMENT_TARGET=10.5 -D ROUTINO_DEV_PATH=$LIB_ROUTINO_DIR $SRC_QMAPSHACK_DIR
+}
+
+function setFormatter {
+    cp ./clang-format /~/.clang-format
+}
+
+
+if [[ "$1" == "format" ]]; then
+    setFormatter
+fi
+
+if [[ "$1" == "xcode" ]]; then
+    makeXcodePrj
+fi
+
+if [[ "$1" == "pre-install" ]]; then
+    installLibraies
+fi
+
+# -d -h -c 
+if [[ "$1" == "run" ]]; then
+    $BUILD_BUNDLE_APP_FILE $2 $3 $4 $5 $6
+fi
+
+if [[ "$1" == "run-bare" ]]; then
+    $BUILD_RELEASE_DIR/$APP_NAME $2 $3 $4 $5 $6
+fi
\ No newline at end of file
diff --git a/MacOSX/build-routino.sh b/MacOSX/build-routino.sh
new file mode 100644
index 0000000..ebc57f5
--- /dev/null
+++ b/MacOSX/build-routino.sh
@@ -0,0 +1,83 @@
+#!/bin/bash
+
+DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
+source $DIR/env-path.sh
+
+SRC_ROUTINO_DIR_B=$ROOT_DIR/routino-lib-src
+SRC_ROUTINO_DIR_T=$ROOT_DIR/routino-src
+SRC_ROUTINO_DIR=$SRC_ROUTINO_DIR_T
+
+REPO_URL_B=http://routino.org/svn/branches/libroutino/
+REPO_URL_T=http://routino.org/svn/trunk/
+
+function updateRoutino {
+    svn revert $SRC_ROUTINO_DIR
+    svn update $SRC_ROUTINO_DIR
+}
+
+function buildRoutino {
+    cd $SRC_ROUTINO_DIR
+    rm $SRC_ROUTINO_DIR/src/*.o
+    rm $SRC_ROUTINO_DIR/src/filedumper
+    rm $SRC_ROUTINO_DIR/src/filedumper-slim
+    rm $SRC_ROUTINO_DIR/src/filedumperx
+    rm $SRC_ROUTINO_DIR/src/libroutino.so
+    rm $SRC_ROUTINO_DIR/src/planetsplitter
+    rm $SRC_ROUTINO_DIR/src/planetsplitter-slim
+    rm $SRC_ROUTINO_DIR/src/router
+    rm $SRC_ROUTINO_DIR/src/router-slim
+    
+    pimpMakefileConf
+    
+    make
+}
+
+function adjustLinking {
+     sudo install_name_tool -id $LIB_ROUTINO_LIB_DIR/libroutino.so $LIB_ROUTINO_LIB_DIR/libroutino.so
+     sudo install_name_tool -id $LIB_ROUTINO_LIB_DIR/routino.so $LIB_ROUTINO_LIB_DIR/routino.so
+     sudo install_name_tool -id $LIB_ROUTINO_LIB_DIR/routino.a $LIB_ROUTINO_LIB_DIR/routino.a
+     sudo install_name_tool -id $LIB_ROUTINO_LIB_DIR/libroutino.a $LIB_ROUTINO_LIB_DIR/libroutino.a
+}
+
+function pimpMakefileConf {
+    sed 's/LDFLAGS_SONAME.*/LDFLAGS_SONAME=-dynamiclib -Wl,-headerpad_max_install_names,-undefined,dynamic_lookup,-compatibility_version,$(SOVERSION),-current_version,$(SOVERSION),-install_name,"libroutino.so" -o "libroutino.so"/' $SRC_ROUTINO_DIR/Makefile.conf> ./makefile.tmp
+    sed 's/LDFLAGS_SLIM_SONAME.*/LDFLAGS_SLIM_SONAME=-dynamiclib -Wl,-headerpad_max_install_names,-undefined,dynamic_lookup,-compatibility_version,$(SOVERSION),-current_version,$(SOVERSION),-install_name,"libroutino-slim.so" -o "libroutino-slim.so"/' ./makefile.tmp > ./makefile2.tmp
+    sed 's/LDFLAGS_LDSO.*/LDFLAGS_LDSO=-Wl/' ./makefile2.tmp > $SRC_ROUTINO_DIR/Makefile.conf
+    
+    rm ./makefile.tmp
+    rm ./makefile2.tmp
+
+    # Makefile.conf
+    # LDFLAGS_SONAME=-dynamiclib -Wl,-headerpad_max_install_names,-undefined,dynamic_lookup,-compatibility_version,$(SOVERSION),-current_version,$(SOVERSION),-install_name,"libroutino.so" -o "libroutino.so"
+    # LDFLAGS_SLIM_SONAME=-dynamiclib -Wl,-headerpad_max_install_names,-undefined,dynamic_lookup,-compatibility_version,$(SOVERSION),-current_version,$(SOVERSION),-install_name,"libroutino-slim.so" -o "libroutino-slim.so"
+    # LDFLAGS_LDSO=-Wl
+}
+
+function releaseRoutino {
+    rm -R $LIB_ROUTINO_DIR/*
+    mkdir $LIB_ROUTINO_LIB_DIR
+    mkdir $LIB_ROUTINO_H_DIR
+    mkdir $LIB_ROUTINO_XML_DIR
+    
+    cp $SRC_ROUTINO_DIR/src/libroutino.so             $LIB_ROUTINO_LIB_DIR
+    cp $SRC_ROUTINO_DIR/src/routino.h                 $LIB_ROUTINO_H_DIR
+    cp $SRC_ROUTINO_DIR/xml/routino-profiles.xml      $LIB_ROUTINO_XML_DIR
+    cp $SRC_ROUTINO_DIR/xml/routino-tagging.xml       $LIB_ROUTINO_XML_DIR
+    cp $SRC_ROUTINO_DIR/xml/routino-translations.xml  $LIB_ROUTINO_XML_DIR
+    
+    cp $LIB_ROUTINO_LIB_DIR/libroutino.so             $LIB_ROUTINO_LIB_DIR/routino
+    cp $LIB_ROUTINO_LIB_DIR/libroutino.so             $LIB_ROUTINO_LIB_DIR/routino.so
+    cp $LIB_ROUTINO_LIB_DIR/libroutino.so             $LIB_ROUTINO_LIB_DIR/routino.a
+    cp $LIB_ROUTINO_LIB_DIR/libroutino.so             $LIB_ROUTINO_LIB_DIR/libroutino.a
+
+    cp $LIB_ROUTINO_XML_DIR/routino-profiles.xml      $LIB_ROUTINO_XML_DIR/profiles.xml
+    cp $LIB_ROUTINO_XML_DIR/routino-tagging.xml       $LIB_ROUTINO_XML_DIR/tagging.xml
+    cp $LIB_ROUTINO_XML_DIR/routino-translations.xml  $LIB_ROUTINO_XML_DIR/translations.xml
+}
+
+if [[ "$1" == "routino-build" ]]; then
+    updateRoutino
+    buildRoutino
+    releaseRoutino
+    adjustLinking
+fi
\ No newline at end of file
diff --git a/MacOSX/bundle.sh b/MacOSX/bundle.sh
index 449b634..da71d86 100755
--- a/MacOSX/bundle.sh
+++ b/MacOSX/bundle.sh
@@ -1,54 +1,7 @@
 #!/bin/bash
 
-
-
-if [ ! -n "$ROOT_DIR" ]; then
-    CDIR=$(pwd)
-    cd ..
-    SRC_DIR=$(pwd)
-    cd ..
-    ROOT_DIR=$(pwd)
-    cd $CDIR
-fi
-echo "root dir: $ROOT_DIR"
-echo "src dir:  $SRC_DIR"
-
-set -a
-# Set this pathes according to your environment
-# ---------------------------------------------
-BUILD_DIR=$ROOT_DIR/build_xcode_osx
-
-LIB_ROUTINO_DIR=$ROOT_DIR/routino-lib/lib
-LIB_BREW_DIR=/usr/local/Cellar
-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
-
-HG_BIN=/Applications/Dev/MacHg.app/Contents/Resources/localhg
-# ---------------------------------------------
-
-APP_NAME=QMapShack
-APP_BUNDLE=$APP_NAME.app
-
-SRC_CHECKOUT_DIR=$SRC_DIR
-SRC_OSX_DIR=$SRC_CHECKOUT_DIR/MacOSX
-SRC_RESOURCES_DIR=$SRC_OSX_DIR/resources
-
-BUILD_BIN_DIR=$BUILD_DIR/bin
-BUILD_RELEASE_DIR=$BUILD_DIR/bin/Release
-
-BUILD_BUNDLE_DIR=$BUILD_RELEASE_DIR/$APP_BUNDLE
-BUILD_BUNDLE_CONTENTS_DIR=$BUILD_BUNDLE_DIR/Contents
-BUILD_BUNDLE_APP_DIR=$BUILD_BUNDLE_DIR/Contents/MacOS
-BUILD_BUNDLE_RES_DIR=$BUILD_BUNDLE_DIR/Contents/Resources
-BUILD_BUNDLE_FRW_DIR=$BUILD_BUNDLE_DIR/Contents/Frameworks
-BUILD_BUNDLE_PLUGIN_DIR=$BUILD_BUNDLE_DIR/Contents/PlugIns
-BUILD_BUNDLE_APP_FILE=$BUILD_BUNDLE_APP_DIR/$APP_NAME
-
-BUILD_BUNDLE_RES_QM_DIR=$BUILD_BUNDLE_RES_DIR/translations
-BUILD_BUNDLE_RES_GDAL_DIR=$BUILD_BUNDLE_RES_DIR/gdal
-BUILD_BUNDLE_RES_PROJ_DIR=$BUILD_BUNDLE_RES_DIR/proj
-set +a
+DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
+source $DIR/env-path.sh
 
 APP_VERSION=0
 BUILD_TIME=$(date +"%y-%m-%dT%H:%M:%S")
@@ -105,6 +58,7 @@ function buildAppStructure {
     mkdir $BUILD_BUNDLE_RES_QM_DIR
     mkdir $BUILD_BUNDLE_RES_GDAL_DIR
     mkdir $BUILD_BUNDLE_RES_PROJ_DIR
+    mkdir $BUILD_BUNDLE_RES_ROUTINO_DIR
     cp $BUILD_DIR/src/*.qm $BUILD_BUNDLE_RES_QM_DIR
 }
 
@@ -165,7 +119,7 @@ function adjustLinkQt {
         #  replace doubel slashes
         if [[ "$P" == *//* ]]; then 
             PSLASH=$(echo $P | sed 's,//,/,g')
-            install_name_tool -change $P $PSLASH $F
+            sudo install_name_tool -change $P $PSLASH $F
         fi
     
         if [[ "$P" == *$L* ]]; then
@@ -188,9 +142,9 @@ function adjustLinkQt {
             fi
             
             if [[ "$LIB" == *$FREL* ]]; then
-                install_name_tool -id $PREL $F
+                sudo install_name_tool -id $PREL $F
             else 
-                install_name_tool -change $P $PREL $F
+                sudo install_name_tool -change $P $PREL $F
             fi
         
             echo "$FREL > $P - $PREL"
@@ -201,7 +155,7 @@ function adjustLinkQt {
 
 
 function copyAdditionalLibraries {
-    cp $LIB_ROUTINO_DIR/libroutino.so $BUILD_BUNDLE_FRW_DIR
+    cp $LIB_ROUTINO_LIB_DIR/libroutino.so $BUILD_BUNDLE_FRW_DIR
     cp -R $QT_DIR/lib/QtSensors.framework $BUILD_BUNDLE_FRW_DIR
     cp -R $QT_DIR/lib/QtPositioning.framework $BUILD_BUNDLE_FRW_DIR
     cp -R $QT_DIR/lib/QtMultimediaWidgets.framework $BUILD_BUNDLE_FRW_DIR
@@ -220,6 +174,10 @@ function copyExternalFiles {
     
     cp $GDAL_DIR/share/gdal/* $BUILD_BUNDLE_RES_GDAL_DIR
     cp $PROJ_DIR/share/proj/* $BUILD_BUNDLE_RES_PROJ_DIR
+    
+    cp $LIB_ROUTINO_XML_DIR/profiles.xml $BUILD_BUNDLE_RES_ROUTINO_DIR
+    cp $LIB_ROUTINO_XML_DIR/translations.xml $BUILD_BUNDLE_RES_ROUTINO_DIR
+    cp $LIB_ROUTINO_XML_DIR/tagging.xml $BUILD_BUNDLE_RES_ROUTINO_DIR
 }
 
 
@@ -247,9 +205,9 @@ function extractVersion {
     # set(APPLICATION_VERSION_MINOR "3")
     # set(APPLICATION_VERSION_PATCH "0.libroutino")
     
-    MAJOR_VERSION=$(sed -n 's/.*APPLICATION_VERSION_MAJOR.*\"\(.*\)\".*/\1/p' $SRC_CHECKOUT_DIR/CMakeLists.txt)
-    MINOR_VERSION=$(sed -n 's/.*APPLICATION_VERSION_MINOR.*\"\(.*\)\".*/\1/p' $SRC_CHECKOUT_DIR/CMakeLists.txt)
-    PATCH_VERSION=$(sed -n 's/.*APPLICATION_VERSION_PATCH.*\"\(.*\).libroutino\".*/\1/p' $SRC_CHECKOUT_DIR/CMakeLists.txt)
+    MAJOR_VERSION=$(sed -n 's/.*APPLICATION_VERSION_MAJOR.*\"\(.*\)\".*/\1/p' $SRC_QMAPSHACK_DIR/CMakeLists.txt)
+    MINOR_VERSION=$(sed -n 's/.*APPLICATION_VERSION_MINOR.*\"\(.*\)\".*/\1/p' $SRC_QMAPSHACK_DIR/CMakeLists.txt)
+    PATCH_VERSION=$(sed -n 's/.*APPLICATION_VERSION_PATCH.*\"\(.*\)\".*/\1/p' $SRC_QMAPSHACK_DIR/CMakeLists.txt)
     echo "$MAJOR_VERSION $MINOR_VERSION $PATCH_VERSION"
     APP_VERSION="$MAJOR_VERSION.$MINOR_VERSION.$PATCH_VERSION"
 }
@@ -272,13 +230,18 @@ function updateInfoPlist {
 }
 
 function buildBinary {
-    rm -rf $BUILD_BUNDLE_DIR
     rm -rf $BUILD_RELEASE_DIR/$APP_NAME
-    
+    #export MACOSX_DEPLOYMENT_TARGET=10.5
     xcodebuild -list -project $BUILD_DIR/$APP_NAME.xcodeproj
-    xcodebuild -project $BUILD_DIR/$APP_NAME.xcodeproj -scheme qmapshack -configuration Release build
-    
-    cp $BUILD_BUNDLE_APP_DIR/$APP_NAME  $BUILD_RELEASE_DIR
+    xcodebuild -project $BUILD_DIR/$APP_NAME.xcodeproj -scheme qmapshack -configuration Release build MACOSX_DEPLOYMENT_TARGET=10.5
+}
+
+function replaceBinary {
+    if [ -d "$BUILD_BUNDLE_APP_DIR" ]; then
+        cp $BUILD_RELEASE_DIR/$APP_NAME  $BUILD_BUNDLE_APP_DIR
+        adjustLinkQt $BUILD_BUNDLE_APP_FILE "Qt"
+        adjustLinkQt $BUILD_BUNDLE_APP_FILE "libroutino"
+    fi
 }
 
     
@@ -287,6 +250,7 @@ if [[ "$1" == "icon" ]]; then
 fi
 if [[ "$1" == "build" ]]; then
     buildBinary
+    replaceBinary
 fi
 if [[ "$1" == "bundle" ]]; then
     echo "---extract version -----------------"
@@ -310,6 +274,11 @@ fi
 if [[ "$1" == "info" ]]; then
     printLinkingApp
 fi
+if [[ "$1" == "info-before" ]]; then
+    printLinking $BUILD_RELEASE_DIR/$APP_NAME
+    printLinking $LIB_ROUTINO_LIB_DIR/libroutino.so
+fi
+
 if [[ "$1" == "archive" ]]; then
     extractVersion
     archiveBundle
diff --git a/MacOSX/env-path.sh b/MacOSX/env-path.sh
new file mode 100644
index 0000000..a5e5316
--- /dev/null
+++ b/MacOSX/env-path.sh
@@ -0,0 +1,49 @@
+#!/bin/bash
+
+DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
+SRC_DIR=$(dirname "$DIR")
+ROOT_DIR=$(dirname "$SRC_DIR")
+
+set -a
+# Set this pathes according to your environment
+# ---------------------------------------------
+LIB_BREW_DIR=/usr/local/Cellar
+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
+
+HG_BIN=/Applications/Dev/MacHg.app/Contents/Resources/localhg
+# ---------------------------------------------
+
+APP_NAME=QMapShack
+APP_BUNDLE=$APP_NAME.app
+
+SRC_QMAPSHACK_DIR=$ROOT_DIR/qmapshack-osx
+SRC_OSX_DIR=$SRC_QMAPSHACK_DIR/MacOSX
+SRC_RESOURCES_DIR=$SRC_OSX_DIR/resources
+
+BUILD_DIR=$ROOT_DIR/build_xcode_osx
+BUILD_BIN_DIR=$BUILD_DIR/bin
+BUILD_RELEASE_DIR=$BUILD_BIN_DIR/Release
+
+BUILD_BUNDLE_DIR=$BUILD_RELEASE_DIR/$APP_BUNDLE
+BUILD_BUNDLE_CONTENTS_DIR=$BUILD_BUNDLE_DIR/Contents
+BUILD_BUNDLE_APP_DIR=$BUILD_BUNDLE_DIR/Contents/MacOS
+BUILD_BUNDLE_RES_DIR=$BUILD_BUNDLE_DIR/Contents/Resources
+BUILD_BUNDLE_FRW_DIR=$BUILD_BUNDLE_DIR/Contents/Frameworks
+BUILD_BUNDLE_PLUGIN_DIR=$BUILD_BUNDLE_DIR/Contents/PlugIns
+BUILD_BUNDLE_APP_FILE=$BUILD_BUNDLE_APP_DIR/$APP_NAME
+
+BUILD_BUNDLE_RES_QM_DIR=$BUILD_BUNDLE_RES_DIR/translations
+BUILD_BUNDLE_RES_GDAL_DIR=$BUILD_BUNDLE_RES_DIR/gdal
+BUILD_BUNDLE_RES_PROJ_DIR=$BUILD_BUNDLE_RES_DIR/proj
+BUILD_BUNDLE_RES_ROUTINO_DIR=$BUILD_BUNDLE_RES_DIR/routino
+
+
+LIB_ROUTINO_DIR=$ROOT_DIR/routino-lib
+LIB_ROUTINO_LIB_DIR=$ROOT_DIR/routino-lib/lib
+LIB_ROUTINO_H_DIR=$ROOT_DIR/routino-lib/include
+LIB_ROUTINO_XML_DIR=$ROOT_DIR/routino-lib/xml
+
+set +a
+
diff --git a/call_Uncrustify.cfg b/call_Uncrustify.cfg
index 37b8340..81c8ceb 100644
--- a/call_Uncrustify.cfg
+++ b/call_Uncrustify.cfg
@@ -59,9 +59,9 @@ nl_if_leave_one_liners=false
 nl_multi_line_cond=false
 nl_multi_line_define=false
 nl_before_case=true
-nl_after_case=false
+nl_after_case=true
 nl_after_return=false
-nl_after_semicolon=false
+nl_after_semicolon=true
 nl_after_brace_open=false
 nl_after_brace_open_cmt=false
 nl_after_vbrace_open=false
@@ -133,6 +133,7 @@ nl_namespace_brace=add
 nl_template_class=add
 nl_class_brace=add
 nl_fdef_brace=add
+nl_after_switch=add
 mod_full_brace_do=add
 mod_full_brace_for=add
 mod_full_brace_function=add
diff --git a/changelog.txt b/changelog.txt
index 5d15e16..bea81f7 100644
--- a/changelog.txt
+++ b/changelog.txt
@@ -1,3 +1,29 @@
+V 1.4.0
+* Export selected map area to image or printer
+* Add activity to trackpoints to differentiate track statistic
+* Add dialog to setup coord. format
+* Add option to send console debug output to a logfile
+* Add `Show on/Hide from Map` in context menu of one or more projects
+* Add closing the `Track Profile` view via keypress ESC
+* Add stepwise aborting of current operation in `Add Track/Route/Area` (similar to using right mouse / button `Abort`)
+* Fix: Qt5 internal translations for Linux
+* Fix: Line Edit usage hint is not removed on abort
+* Fix: OS X, various path issues. (icon path, workspace not saved)
+* Map: Fix race conditions in WMTS/TMS map handler
+* Map: Add hint for missing SSL library when using WMTS/TMS maps
+* Map: Slowdown automatic map panning
+* Trk: Fix Douglas-Peuker filter
+* Trk: Read & write 3rd party track point extensions
+* Trk: extend track point info by extension values
+* [Issue #57] Trk: Fix color table for green and gray
+* [Issue #59] Not possible to change names of empty projects
+* [Issue #60] Tab label is not updated when track name is changed
+* [Issue #54] In tracks editor, mouse cursor does not change according to selected tool with keyboard shortcut
+* [Issue #64] Install QMapShack icon in hicolor theme too.
+* [Issue #65] loading routino XML files fixed (added to bundle and support for OS-X specific directory structure).
+* [Issue #61] Add average speed to selected area statistics popup
+* [Issue #32] Add arrows to indicate edited track direction
+
 V 1.3.1
 * Add OS X support.
 * Moved to libRoutiono provided by the offcial Routino release
diff --git a/nsi/3rdparty.txt b/nsi/3rdparty.txt
index 76ed797..c4816da 100644
--- a/nsi/3rdparty.txt
+++ b/nsi/3rdparty.txt
@@ -5,8 +5,8 @@ QMS is build with Visual Studio 2013 as 64bit application.
 
 It can be build with Visual Studio 2013 Community-Edition, too.
 
-Required Dependencies
-=====================
+Dependencies
+============
 QMS depends on the 3rd party software listed below:
 
 1.) Microsoft Visual C++ 2013 Redistributable Package
@@ -30,78 +30,9 @@ QMS depends on the 3rd party software listed below:
 	gdalicon.ico has been converted from gdalicon.png from the GDAL package
 
 6.) The routino library
-  Source coude is available http://www.routino.org/
+  Source code is available http://www.routino.org/
   This QMapShack installation uses a routino library which is precompiled with mingw64 to reduce porting efforts
  
-
-Additional tools for building and installing
-============================================
-- CMake 3.0 or later, available at http://www.cmake.org/
-- NSIS, available at http://nsis.sourceforge.net/Main_Page
-
-
-Compile instructions - to be verified
-=====================================
-
-1.) Compile the GDAL library, http://www.gdal.org/
-
-[Build instructions inspired by http://trac.osgeo.org/gdal/wiki/BuildingOnWindows, http://dominoc925.blogspot.de/2013/03/build-64-bit-gdal-for-windows.html,]
-
-- Download the source code of the version 1.11 (or latest) from http://trac.osgeo.org/gdal/wiki/DownloadSource and unzip
-- In nmake.opt, adapt the following lines, according to your build environment [my settings are given as example]
-  MSVC_VER=1800
-  GDAL_HOME = "M:\lib\gdal"	
-  PYDIR   =	"C:\Python34"
-  SWIG = D:\gdal111\swig.exe # NOTE: swig.exe is part of precompiled binaries for Windows supplied by http://www.gisinternals.com/
-  WIN64=YES
-   
-- On the Windows Desktop:
-	=> select Start | All Programs | Microsoft Visual Studio 2013 | Visual Studio Tools | VS 2013 x64 Native Tools Command Prompt.
-- in the command prompt:
-	=> change directory to the extracted GDAL source code root folder
-	=> nmake /f makefile.vc
-	=> nmake /f makefile.vc devinstall
-	
-2.) Compile the PROJ library http://trac.osgeo.org/proj/
-
-- Download the source code of the version 4.8 (or latest) from http://trac.osgeo.org/proj/ and unzip it
-- In nmake.opt, adapt the following lines, according to your build environment [my settings are given as example]
-  INSTDIR=M:\lib\PROJ
-- On the Windows Desktop:
-	=> select Start | All Programs | Microsoft Visual Studio 2013 | Visual Studio Tools | VS 2013 x64 Native Tools Command Prompt.
-- in the command prompt:
-	=> change directory to the extracted PROJ4 source code root folder
-	=> nmake /f makefile.vc
-	=> nmake /f makefile.vc install-all
-
-3.) Install QT5.4 or later 
-- Download and run the Qt5 Windows Online Installer from http://qt-project.org/downloads
-  Install for VS2013, x64
-  
-  Note: if you prefer offline installation you can choose the right package in OFFLINE INSTALLERS section of that page
-  
-4.) Get the QMapshack source from the repository, e.g. 
-   hg clone https://bitbucket.org/maproom/qmapshack QMapShack  
-Note: you might have to install TortoiseHG   
-   
-5.) Start the CMake GUI (you did install CMake before, didn't you)
-- Configure 
-  In the first run there will be errors. 
-  Now enter the directories where you have installed Qt5, GDAL and PROJ.4 to the respective variables.
-  After that, Configure again.
-Note: in case that you only get some warnings, you anyway can try to GENERATE
-- Generate
-
-6.) Open the generated QMapShack.sln with VS2013
-- Compile the Release Version
-
-7.) Download the VC redistributable installer 
-  from http://www.microsoft.com/en-us/download/details.aspx?id=40784
-Note: in case the restributable files are already installed in your system, this step is not necessary.
-
-8.) Create the installer with NSIS(3.0b1)
--  Execute the copyfiles.bat which you can find in \nsi directory of your QMS source directory
-  Note: In copyfiles.bat, you may have to adapt the directories where you have installed Qt5, GDAL and PROJ4.
-  
-- Run the QMapShack_Installer.nsi script e.g via right click on script file and choosing "Compile NSIS Script" from contextual menu.
-  Note: there also are the options to run the script on command prompt with commandline version(makensis.exe). Or you can start windows version (makensisw.exe) to run the script.
+7.) MinGW64,  http://mingw-w64.org
+  The mingw64 compiler is used to compile the routino library.
+  This results in dependencies from mingw64 runtime libraries such as libwinpthread-1.dll
\ No newline at end of file
diff --git a/nsi/HOWTO-BUILD.txt b/nsi/HOWTO-BUILD.txt
new file mode 100644
index 0000000..4d61f7b
--- /dev/null
+++ b/nsi/HOWTO-BUILD.txt
@@ -0,0 +1,168 @@
+#################################################################
+#   Compiling and Building QMapShack for Windows (short: QMS)   #
+#################################################################
+
+[Please also read the file 3rdparty.txt]
+
+QMS is build with Visual Studio 2013 as 64bit application.
+It can be build with Visual Studio 2013 Community-Edition, too.
+
+Required tools for building and installing
+============================================
+- Microsoft Visual Studio 2013 (short: VS2013)
+- CMake 3.0 or later, available at http://www.cmake.org/
+- NSIS, available at http://nsis.sourceforge.net/Main_Page
+- The mingw64 toolchain (http://mingw-w64.org) is needed to 
+  compile the routino library
+
+Compile instructions - to be verified
+=====================================
+
+C1.) Compile the GDAL library, http://www.gdal.org/
+
+[Build instructions inspired by 
+  http://trac.osgeo.org/gdal/wiki/BuildingOnWindows, 
+  http://dominoc925.blogspot.de/2013/03/build-64-bit-gdal-for-windows.html,]
+
+- Download the source code of the version 1.11 (or latest) 
+  from http://trac.osgeo.org/gdal/wiki/DownloadSource and unzip
+- In nmake.opt, adapt the following lines, 
+  according to your build environment [my settings are given as example]
+  MSVC_VER=1800
+  GDAL_HOME = "M:\lib\gdal"	
+  PYDIR   =	"C:\Python34"
+  SWIG = D:\gdal111\swig.exe 
+  # NOTE: swig.exe is part of precompiled binaries for Windows supplied by http://www.gisinternals.com/
+  WIN64=YES
+   
+- On the Windows Desktop:
+	=> select Start | All Programs | Microsoft Visual Studio 2013 | Visual Studio Tools | VS 2013 x64 Native Tools Command Prompt.
+- in the command prompt:
+	=> change directory to the extracted GDAL source code root folder
+	=> nmake /f makefile.vc
+	=> nmake /f makefile.vc devinstall
+	
+C2.) Compile the PROJ library http://trac.osgeo.org/proj/
+
+- Download the source code of the version 4.8 (or latest) 
+  from http://trac.osgeo.org/proj/ and unzip it
+- In nmake.opt, adapt the following lines, 
+  according to your build environment [my settings are given as example]
+  INSTDIR=M:\lib\PROJ
+- On the Windows Desktop:
+	=> select Start | All Programs | Microsoft Visual Studio 2013 | Visual Studio Tools | VS 2013 x64 Native Tools Command Prompt.
+- in the command prompt:
+	=> change directory to the extracted PROJ4 source code root folder
+	=> nmake /f makefile.vc
+	=> nmake /f makefile.vc install-all
+
+C3.) Compile the routino library
+- Adapt and use the build_routino.bat 
+  which you can find in \nsi directory of your QMS source directory
+    
+C4.) Install Qt5.4 or later 
+- Download and run the Qt5 Windows Online Installer 
+  from http://qt-project.org/downloads
+- Install for VS2013, x64
+  
+  Note: if you prefer offline installation you can choose the right package 
+  in OFFLINE INSTALLERS section of that page
+  
+C5.) Get the QMapshack source from the repository, e.g. 
+   hg clone https://bitbucket.org/maproom/qmapshack QMapShack  
+Note: you might have to install TortoiseHG or any other mercurial client 
+   
+C6.) Start the CMake GUI (you did install CMake before, didn't you)
+- Configure 
+  In the first run there will be errors. 
+  Now enter the directories where you have installed Qt5, GDAL, 
+  PROJ.4, routino to the respective variables.
+  After that, Configure again.
+  Note: in case that you only get some warnings, you anyway can try to GENERATE
+- Generate
+
+C7.) Open the generated QMapShack.sln with VS2013
+- Change solution configuration type to "Release"
+- Set the qmapshack project as start project (may not be necessary)
+- Right-Click on the ALL_BUILD project and select build to start the compilation
+
+
+Creating a Windows binary installer
+===================================
+
+I1.) Download the VC redistributable installer 
+  from http://www.microsoft.com/en-us/download/details.aspx?id=40784
+Note: in case the restributable files are already installed in your system, 
+this step is not necessary.
+
+I2.) Create the installer with NSIS(3.0b1)
+-  Execute the copyfiles.bat which you can find in \nsi directory of 
+  your QMS source directory
+  Note: In copyfiles.bat, you may have to adapt the directories 
+  - where you have installed Qt5
+  - where your self compiled binaries of routino, GDAL and PROJ4 are 
+  The copyfiles.bat script will create a new directory "Files" which has 
+  exactly the same content as the final installation directory created 
+  by the NSIS installer will have.
+  Qmapshack does not have any dependencies out of its own installation 
+  directory. So instead of creating an NSIS installer you could just 
+  copy this directory to an other machine for a quick deployment
+
+- [optional] Test whether the deployment is complete: 
+  double-click on Files/qmapshack.exe
+  ==> Qmapshack should start up and be fully operational without any restrictions
+  
+- Run the QMapShack_Installer.nsi script e.g via right click on script file 
+  and choosing "Compile NSIS Script" from contextual menu.
+  Note: there also are the options to run the script on command prompt with 
+  commandline version(makensis.exe). 
+  Or you can start windows version (makensisw.exe) to run the script.
+
+  
+Debugging with VS2013
+=====================
+
+For bug fixing you might want to run QMapshack with the VS2013 debugger.
+This requires some additional configuration
+
+D1.) Set the solution configuration type to "RelWithDebInfo"
+Note: you would expect the solution configuration "Debug" to be used.
+But with "Debug" you will get a crash in pj_init_plus() shortly after
+start as described in 
+http://stackoverflow.com/questions/19197791/projapi-gis-library-heap-overflow
+The reason for this problem is currently unknown. Any help is welcome.
+
+D2.) Right-click on the project qmapshack and open the settings dialogue
+- In C/C++->Optimization: deactivate optimization (/Od)
+- In Debugging->Environment set the path such that all required .dll's are found
+  (see http://stackoverflow.com/questions/2119539/visual-studio-how-to-set-path-to-dll)
+  The path depends on where you have installed/compiled Qt5, gdal, proj.4, routino
+  In my case this is 
+  PATH=%PATH%;M:\lib\gdal\bin;M:\lib\PROJ\bin;M:\src\routino_pkg\lib;C:\Qt5\5.4\msvc2013_64\bin
+
+D3.) Compile
+- Right-Click on the ALL_BUILD project and select build to start the compilation
+
+D4.) Run/Debug preparations
+Now you can in principle run Qmapshack with the VS2013 debugger: 
+step through, inspect variables, see the debug output
+
+But as Qmapshack expects some configuration files for gdal and routino in the
+directory where it's executable is placed. 
+If those files are not there, you will get some strange error messages such as 
+"the specified XML file is not found" at startup and the functionality for 
+map/coordinate transformations will be limited.
+
+The easiest way to provide these files is to copy the whole content of the 
+Files directory created by copyfiles.bat as described in step I2)
+_except the qmapshack.exe_ to the directory where you RelWithDebInfo executable 
+has been created (build\bin\RelWithDebInfo).
+
+Note: If you really copy all those files, then you can skip the step to set the 
+PATH as described in step D2). Alternatively you can set the path as described and
+only copy all those configuration files and resources (i.e. all files which are 
+not .dll's + all directories)
+
+D5.) Run/Debug 
+Congratulations: all preparations finished.
+Now you can _really_ start debugging!
\ No newline at end of file
diff --git a/nsi/build_routino.bat b/nsi/build_routino.bat
new file mode 100644
index 0000000..34e8f17
--- /dev/null
+++ b/nsi/build_routino.bat
@@ -0,0 +1,48 @@
+rem Batch file to compile routino for Windows using mingw64
+rem Please adapt environment variables in section 1) to your system
+
+rem Routino source download: see http://www.routino.org/software/
+
+rem Prerequisite: mingw64 toolchain installation
+rem http://mingw-w64.org/doku.php ==> http://mingw-w64.org/doku.php/download/win-builds
+rem Download msys as described in http://sourceforge.net/p/mingw-w64/wiki2/MSYS/
+rem from http://sourceforge.net/projects/mingw-w64/files/External%20binary%20packages%20%28Win64%20hosted%29/MSYS%20%2832-bit%29/
+rem Unzip to C:\msys
+rem Download from http://win-builds.org/doku.php/download_and_installation_from_windows
+rem http://win-builds.org/1.5.0/win-builds-1.5.0.exe
+
+rem Section 1.) Environment variables
+rem ROUT_SRC_PATH: location of the routino sources (svn or extracted from archive)
+set ROUT_SRC_PATH="M:\src\routino"
+rem ROUT_PKG_PATH: directory where to store deplyment artifacts
+rem such as compiled binaries, header files, xml configuration files
+set ROUT_PKG_PATH="M:\src\routino_pkg"
+rem add mingw64 toolchain to PATH
+set PATH=C:\msys\bin;%PATH%
+set PATH=C:\msys\opt\windows_64\bin;%PATH%
+
+rem Section 2.) Compile routino
+cd /d %ROUT_SRC_PATH%
+make clean
+make
+
+rem Section 2.) Deploy routino
+del /s/q %ROUT_PKG_PATH%
+mkdir %ROUT_PKG_PATH%
+cd /d %ROUT_PKG_PATH%
+mkdir bin
+copy %ROUT_SRC_PATH%\src\*.exe bin
+mkdir doc
+xcopy %ROUT_SRC_PATH%\doc doc /s /i
+mkdir lib
+copy %ROUT_SRC_PATH%\src\routino.dll lib
+copy %ROUT_SRC_PATH%\src\routino.lib lib
+mkdir include
+copy %ROUT_SRC_PATH%\src\routino.h include
+mkdir xml
+copy %ROUT_SRC_PATH%\xml\tagging*.xml xml
+copy %ROUT_SRC_PATH%\xml\routino-profiles.xml xml\profiles.xml
+copy %ROUT_SRC_PATH%\xml\routino-tagging.xml xml\tagging.xml
+copy %ROUT_SRC_PATH%\xml\routino-translations.xml xml\translations.xml
+
+pause
diff --git a/nsi/copyfiles.bat b/nsi/copyfiles.bat
index 39f1269..030a555 100644
--- a/nsi/copyfiles.bat
+++ b/nsi/copyfiles.bat
@@ -12,7 +12,8 @@ set QMSI_VCREDIST_PATH="M:\deploy"
 rem set QLGTI_LIBEXIF_PATH="D:\qlgt\tools\libexif"
 set QMSI_GDAL_PATH="M:\lib\gdal"
 set QMSI_PROJ_PATH="M:\lib\PROJ"
-set QMSI_ROUT_PATH="M:\lib\routino"
+set QMSI_ROUT_PATH="M:\src\routino_pkg"
+set QMSI_MGW6_PATH="M:\lib\mingw64"
 
 rem Section 2.) Copy Files
 del /s/q Files
@@ -80,7 +81,7 @@ copy %QMSI_PROJ_PATH%\bin\proj.exe
 rem section 2.2.5) Routino
 copy %QMSI_ROUT_PATH%\lib\routino.dll
 copy %QMSI_ROUT_PATH%\bin\planetsplitter.exe
-copy %QMSI_ROUT_PATH%\bin\libwinpthread-1.dll
+copy %QMSI_MGW6_PATH%\libwinpthread-1.dll
 xcopy %QMSI_ROUT_PATH%\xml routino-xml /s /i
 
 
diff --git a/src/CAbout.cpp b/src/CAbout.cpp
index a028bd4..7f8b80a 100644
--- a/src/CAbout.cpp
+++ b/src/CAbout.cpp
@@ -33,7 +33,14 @@ CAbout::CAbout(QWidget *parent)
     labelQtVersion->setText(qVersion());
     labelGDALVersion->setText(GDALVersionInfo("--version"));
     labelProj4Version->setText(QString::number(PJ_VERSION));
-    labelRoutinoVersion->setText(tr("API Version %1 (expected %2)").arg(ROUTINO_API_VERSION).arg(Routino_APIVersion));
+    if(Routino_CheckAPIVersion() != ROUTINO_ERROR_NONE)
+    {
+        labelRoutinoVersion->setText(tr("%1 (API V%2, expected V%3)").arg(Routino_Version).arg(ROUTINO_API_VERSION).arg(Routino_APIVersion));
+    }
+    else
+    {
+        labelRoutinoVersion->setText(tr("%1 (API V%2)").arg(Routino_Version).arg(Routino_APIVersion));
+    }
 }
 
 CAbout::~CAbout()
diff --git a/src/CMainWindow.cpp b/src/CMainWindow.cpp
index 51ecbbf..173b72c 100644
--- a/src/CMainWindow.cpp
+++ b/src/CMainWindow.cpp
@@ -18,7 +18,6 @@
 
 #include "CAbout.h"
 #include "CMainWindow.h"
-#include "GeoMath.h"
 #include "canvas/CCanvas.h"
 #include "config.h"
 #include "dem/CDemDraw.h"
@@ -35,6 +34,7 @@
 #include "tool/CImportDatabase.h"
 #include "tool/CMapVrtBuilder.h"
 #include "tool/CRoutinoDatabaseBuilder.h"
+#include "units/CCoordFormatSetup.h"
 #include "units/CTimeZoneSetup.h"
 #include "units/CUnitsSetup.h"
 #include "units/IUnit.h"
@@ -105,6 +105,7 @@ CMainWindow::CMainWindow()
     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()));
@@ -113,6 +114,7 @@ CMainWindow::CMainWindow()
     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)));
 
 
@@ -166,6 +168,10 @@ CMainWindow::CMainWindow()
 
     IUnit::setTimeZoneSetup(tzmode, tz, useShortFormat);
 
+    IUnit::coord_format_e coordFormat;
+    coordFormat = (IUnit::coord_format_e)cfg.value("Units/coordFormat", IUnit::eCoordFormat1).toInt();
+    IUnit::setCoordFormat(coordFormat);
+
 
     QStatusBar * status = statusBar();
     lblPosWGS84 = new QLabel(status);
@@ -196,7 +202,7 @@ CMainWindow::~CMainWindow()
 
 
     /*
-       The "Canvas" section will holf all settings global to all views
+       The "Canvas" section will hold all settings global to all views
        and "Views" section containing a subsection for each view.
      */
     cfg.beginGroup("Canvas");
@@ -249,7 +255,7 @@ CMainWindow::~CMainWindow()
     /*
         Delete all canvas objects now to make sure they are destroyed before all
         other objects. This allows children of the canvas to access central objects
-        like CGisWidget safely uppon their destruction. (e.g. CMouseRangeTrk to reset
+        like CGisWidget safely upon their destruction. (e.g. CMouseRangeTrk to reset
         it's track's draw mode by key)
      */
     qDeleteAll(allViews);
@@ -262,6 +268,10 @@ CMainWindow::~CMainWindow()
     cfg.setValue("Units/timezone", tz);
     cfg.setValue("Units/timezone/mode", tzmode);
     cfg.setValue("Units/time/useShortFormat", useShortFormat);
+
+    IUnit::coord_format_e coordFormat;
+    IUnit::getCoordFormat(coordFormat);
+    cfg.setValue("Units/coordFormat", coordFormat);
 }
 
 QWidget * CMainWindow::getBestWidgetForParent()
@@ -569,7 +579,7 @@ void CMainWindow::slotCurrentTabDem(int i)
 void CMainWindow::slotMousePosition(const QPointF& pos, qreal ele)
 {
     QString str;
-    GPS_Math_Deg_To_Str(pos.x(), pos.y(), str);
+    IUnit::degToStr(pos.x(), pos.y(), str);
     lblPosWGS84->setText(str);
 
     if(ele != NOFLOAT)
@@ -682,6 +692,12 @@ void CMainWindow::slotSetupWorkspace()
     dlg.exec();
 }
 
+void CMainWindow::slotSetupCoordFormat()
+{
+    CCoordFormatSetup dlg(this);
+    dlg.exec();
+}
+
 void CMainWindow::slotImportDatabase()
 {
     CImportDatabase * widget = new CImportDatabase(this);
@@ -812,6 +828,17 @@ void CMainWindow::slotSetProfileMode(bool on)
     }
 }
 
+void CMainWindow::slotPrintMap()
+{
+    CCanvas * canvas = getVisibleCanvas();
+    if(canvas == 0)
+    {
+        return;
+    }
+
+    canvas->setMousePrint();
+}
+
 #ifdef WIN32
 
 static void sendDeviceEvent(DWORD unitmask, bool add)
diff --git a/src/CMainWindow.h b/src/CMainWindow.h
index 24a36f6..919df17 100644
--- a/src/CMainWindow.h
+++ b/src/CMainWindow.h
@@ -101,6 +101,7 @@ private slots:
     void slotSetupTimeZone();
     void slotSetupUnits();
     void slotSetupWorkspace();
+    void slotSetupCoordFormat();
     void slotImportDatabase();
     void slotLoadGISData();
     void slotBuildVrt();
@@ -108,6 +109,7 @@ private slots:
     void slotLoadView();
     void slotSetProfileMode(bool on);
     void slotCreateRoutinoDatabase();
+    void slotPrintMap();
 
 private:
     friend int main(int argc, char ** argv);
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 132e1eb..6e66b71 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -52,6 +52,7 @@ set( SRCS
     helpers/CProgressDialog.cpp
     helpers/CCommandProcessor.cpp
     helpers/CAppSetup.cpp
+    helpers/CDraw.cpp
     canvas/CCanvas.cpp
     canvas/CCanvasSetup.cpp
     canvas/IDrawContext.cpp
@@ -94,6 +95,7 @@ set( SRCS
     units/CUnitNautic.cpp
     units/CTimeZoneSetup.cpp
     units/CUnitsSetup.cpp
+    units/CCoordFormatSetup.cpp
     grid/CGrid.cpp
     grid/CGridSetup.cpp
     grid/CProjWizard.cpp
@@ -108,6 +110,7 @@ set( SRCS
     mouse/CMouseEditArea.cpp
     mouse/CMouseRangeTrk.cpp
     mouse/CMouseWptBubble.cpp
+    mouse/CMousePrint.cpp
     mouse/CScrOptUnclutter.cpp    
     mouse/CScrOptRangeTrk.cpp    
     mouse/line/IMouseEditLine.cpp
@@ -160,6 +163,8 @@ set( SRCS
     gis/trk/CScrOptTrk.cpp
     gis/trk/CDetailsTrk.cpp
     gis/trk/CCombineTrk.cpp
+    gis/trk/CSelectActivity.cpp
+    gis/trk/CActivityTrk.cpp
     gis/trk/filter/filter.cpp
     gis/trk/filter/CFilterDouglasPeuker.cpp
     gis/trk/filter/CFilterReset.cpp
@@ -210,6 +215,7 @@ set( SRCS
     tool/CMapVrtBuilder.cpp
     tool/CImportDatabase.cpp
     tool/CRoutinoDatabaseBuilder.cpp
+    print/CPrintDialog.cpp
 )
 
 if(UNIX AND NOT APPLE)
@@ -259,6 +265,7 @@ set( HDRS
     helpers/CProgressDialog.h
     helpers/CCommandProcessor.h
     helpers/CAppSetup.h
+    helpers/CDraw.h
     canvas/CCanvas.h
     canvas/CCanvasSetup.h
     canvas/IDrawContext.h
@@ -302,6 +309,7 @@ set( HDRS
     units/CUnitNautic.h
     units/CTimeZoneSetup.h
     units/CUnitsSetup.h
+    units/CCoordFormatSetup.h
     grid/CGrid.h
     grid/CGridSetup.h
     grid/CProjWizard.h
@@ -316,8 +324,9 @@ set( HDRS
     mouse/CMouseEditArea.h
     mouse/CMouseRangeTrk.h
     mouse/CMouseWptBubble.h
+    mouse/CMousePrint.h
     mouse/CScrOptUnclutter.h
-    mouse/CScrOptRangeTrk.h
+    mouse/CScrOptRangeTrk.h    
     mouse/line/CScrOptEditLine.h
     mouse/line/CScrOptRangeLine.h
     mouse/line/IMouseEditLine.h
@@ -325,7 +334,7 @@ set( HDRS
     mouse/line/CLineOpMovePoint.h
     mouse/line/CLineOpAddPoint.h
     mouse/line/CLineOpDeletePoint.h
-    mouse/line/CLineOpSelectRange.h
+    mouse/line/CLineOpSelectRange.h    
     gis/WptIcons.h
     gis/CGisDraw.h
     gis/IGisItem.h
@@ -364,6 +373,8 @@ set( HDRS
     gis/trk/CScrOptTrk.h
     gis/trk/CDetailsTrk.h
     gis/trk/CCombineTrk.h
+    gis/trk/CSelectActivity.h
+    gis/trk/CActivityTrk.h
     gis/trk/filter/CFilterDouglasPeuker.h
     gis/trk/filter/CFilterReset.h
     gis/trk/filter/CFilterDelete.h
@@ -414,6 +425,7 @@ set( HDRS
     tool/CMapVrtBuilder.h
     tool/CImportDatabase.h
     tool/CRoutinoDatabaseBuilder.h
+    print/CPrintDialog.h
 )
 
 if(UNIX AND NOT APPLE)
@@ -478,6 +490,7 @@ set( UIS
     gis/trk/IScrOptTrk.ui
     gis/trk/IDetailsTrk.ui
     gis/trk/ICombineTrk.ui
+    gis/trk/ISelectActivity.ui
     gis/trk/filter/IFilterDouglasPeuker.ui
     gis/trk/filter/IFilterReset.ui
     gis/trk/filter/IFilterDelete.ui
@@ -498,9 +511,11 @@ set( UIS
     gis/ovl/IDetailsOvlArea.ui
     units/ITimeZoneSetup.ui
     units/IUnitsSetup.ui
+    units/ICoordFormatSetup.ui
     tool/IImportDatabase.ui
     tool/IMapVrtBuilder.ui
     tool/IRoutinoDatabaseBuilder.ui
+    print/IPrintDialog.ui
 )
 
 
diff --git a/src/GeoMath.cpp b/src/GeoMath.cpp
index 7d9394d..e87b35e 100644
--- a/src/GeoMath.cpp
+++ b/src/GeoMath.cpp
@@ -38,9 +38,9 @@ segment_t::segment_t() : idx11(NOIDX), idx12(NOIDX), idx21(NOIDX)
 }
 
 
-void GPS_Math_DegMinSec_To_Deg(bool sign, const int32_t d, const int32_t m, const int32_t s, qreal &deg)
+void GPS_Math_DegMinSec_To_Deg(bool sign, const qint32 d, const qint32 m, const qreal s, qreal &deg)
 {
-    deg = qAbs(d) + qreal(m) / 60.0 + qreal(s) / 3600;
+    deg = qAbs(d) + qreal(m) / 60.0 + s / 3600;
     if(sign)
     {
         deg = -deg;
@@ -74,110 +74,6 @@ void GPS_Math_DegMin_To_Deg(bool sign, const qint32 d, const qreal m, qreal& deg
     return;
 }
 
-void GPS_Math_Deg_To_Str(const qreal& x, const qreal& y, QString& str)
-{
-    qint32 degN,degE;
-    qreal minN,minE;
-
-    bool signLat = GPS_Math_Deg_To_DegMin(y, &degN, &minN);
-
-    bool signLon = GPS_Math_Deg_To_DegMin(x, &degE, &minE);
-
-    QString lat,lng;
-    lat = signLat ? "S" : "N";
-    lng = signLon ? "W" : "E";
-    str.sprintf("%s%02d° %06.3f %s%03d° %06.3f",lat.toUtf8().data(),qAbs(degN),minN,lng.toUtf8().data(),qAbs(degE),minE);
-}
-
-
-static QRegExp reCoord1("^\\s*([N|S]){1}\\W*([0-9]+)\\W*([0-9]+\\.[0-9]+)\\s+([E|W|O]){1}\\W*([0-9]+)\\W*([0-9]+\\.[0-9]+)\\s*$");
-
-static QRegExp reCoord2("^\\s*([N|S]){1}\\s*([0-9]+\\.[0-9]+)\\W*\\s+([E|W|O]){1}\\s*([0-9]+\\.[0-9]+)\\W*\\s*$");
-
-static QRegExp reCoord3("^\\s*([-0-9]+\\.[0-9]+)\\s+([-0-9]+\\.[0-9]+)\\s*$");
-
-static QRegExp reCoord4("^\\s*([N|S]){1}\\s*([0-9]+)\\W+([0-9]+)\\W+([0-9]+)\\W*([E|W|O]){1}\\W*([0-9]+)\\W+([0-9]+)\\W+([0-9]+)\\W*\\s*$");
-
-static QRegExp reCoord5("^\\s*([-0-9]+\\.[0-9]+)([N|S])\\s+([-0-9]+\\.[0-9]+)([W|E])\\s*$");
-
-
-bool GPS_Math_Str_To_Deg(const QString& str, qreal& lon, qreal& lat)
-{
-    if(reCoord2.exactMatch(str))
-    {
-        bool signLat    = reCoord2.cap(1) == "S";
-        float absLat    = reCoord2.cap(2).toDouble();
-        lat = signLat ? -absLat : absLat;
-
-        bool signLon    = reCoord2.cap(3) == "W";
-        float absLon    = reCoord2.cap(4).toDouble();
-        lon = signLon ? -absLon : absLon;
-    }
-    else if(reCoord1.exactMatch(str))
-    {
-        bool signLat    = reCoord1.cap(1) == "S";
-        int degLat      = reCoord1.cap(2).toInt();
-        float minLat    = reCoord1.cap(3).toDouble();
-
-        GPS_Math_DegMin_To_Deg(signLat, degLat, minLat, lat);
-
-        bool signLon    = reCoord1.cap(4) == "W";
-        int degLon      = reCoord1.cap(5).toInt();
-        float minLon    = reCoord1.cap(6).toDouble();
-
-        GPS_Math_DegMin_To_Deg(signLon, degLon, minLon, lon);
-    }
-    else if(reCoord3.exactMatch(str))
-    {
-        lat             = reCoord3.cap(1).toDouble();
-        lon             = reCoord3.cap(2).toDouble();
-    }
-    else if(reCoord4.exactMatch(str))
-    {
-        bool signLat    = reCoord4.cap(1) == "S";
-        int degLat    = reCoord4.cap(2).toInt();
-        int minLat    = reCoord4.cap(3).toInt();
-        int secLat    = reCoord4.cap(4).toInt();
-
-        GPS_Math_DegMinSec_To_Deg(signLat, degLat, minLat, secLat, lat);
-
-        bool signLon    = reCoord4.cap(5) == "W";
-        int degLon    = reCoord4.cap(6).toInt();
-        int minLon    = reCoord4.cap(7).toInt();
-        int secLon    = reCoord4.cap(8).toInt();
-
-        GPS_Math_DegMinSec_To_Deg(signLon, degLon, minLon, secLon, lon);
-    }
-    else if(reCoord5.exactMatch(str))
-    {
-        bool signLon    = reCoord4.cap(4) == "W";
-        bool signLat    = reCoord4.cap(2) == "S";
-        lat             = reCoord5.cap(1).toDouble();
-        lon             = reCoord5.cap(3).toDouble();
-
-        if(signLon)
-        {
-            lon = -lon;
-        }
-        if(signLat)
-        {
-            lat = -lat;
-        }
-    }
-    else
-    {
-        QMessageBox::warning(0,QObject::tr("Error"),QObject::tr("Bad position format. Must be: \"[N|S] ddd mm.sss [W|E] ddd mm.sss\" or \"[N|S] ddd.ddd [W|E] ddd.ddd\""),QMessageBox::Ok,QMessageBox::NoButton);
-        return false;
-    }
-
-    if(fabs(lon) > 180.0 || fabs(lat) > 90.0)
-    {
-        QMessageBox::warning(0,QObject::tr("Error"),QObject::tr("Position values out of bounds. "),QMessageBox::Ok,QMessageBox::NoButton);
-        return false;
-    }
-
-    return true;
-}
 
 // from http://www.movable-type.co.uk/scripts/LatLongVincenty.html
 qreal GPS_Math_Distance(const qreal u1, const qreal v1, const qreal u2, const qreal v2, qreal& a1, qreal& a2)
@@ -440,13 +336,14 @@ void GPS_Math_DouglasPeucker(QVector<pointDP> &line, qreal d)
         pointDP& x1 = line[seg.idx1];
         pointDP& x2 = line[seg.idx2];
 
+        qreal dmax = d;
         for(qint32 i = seg.idx1 + 1; i < seg.idx2; i++)
         {
             qreal distance = GPS_Math_distPointLine3D(x1, x2, line[i]);
-            if(distance > d)
+            if(distance > dmax)
             {
-                idx = i;
-                break;
+                idx  = i;
+                dmax = distance;
             }
         }
 
diff --git a/src/GeoMath.h b/src/GeoMath.h
index 22d2376..5898853 100644
--- a/src/GeoMath.h
+++ b/src/GeoMath.h
@@ -59,10 +59,9 @@ struct segment_t
     QPointF px2;
 };
 
-extern void     GPS_Math_Deg_To_Str(const qreal& x, const qreal& y, QString& str);
-extern bool     GPS_Math_Str_To_Deg(const QString& str, qreal& lon, qreal& lat);
 extern void     GPS_Math_DegMin_To_Deg(bool sign, const qint32 d, const qreal m, qreal& deg);
-extern void     GPS_Math_DegMinSec_To_Deg(bool sign, const int32_t d, const int32_t m, const int32_t s, qreal& deg);
+extern void     GPS_Math_DegMinSec_To_Deg(bool sign, const qint32 d, const qint32 m, const qreal s, qreal& deg);
+extern bool     GPS_Math_Deg_To_DegMin(qreal v, qint32 *d, qreal *m);
 /// use for long distances
 extern qreal    GPS_Math_Distance(const qreal u1, const qreal v1, const qreal u2, const qreal v2, qreal& a1, qreal& a2);
 extern qreal    GPS_Math_Distance(const qreal u1, const qreal v1, const qreal u2, const qreal v2);
@@ -74,5 +73,6 @@ extern QPointF  GPS_Math_Wpt_Projection(const QPointF& pt1, qreal distance, qrea
 extern bool     GPS_Math_LineCrossesRect(const QPointF& p1, const QPointF& p2, const QRectF& rect);
 extern void     GPS_Math_SubPolyline(const QPointF& pt1, const QPointF& pt2, qint32 threshold, const QPolygonF& pixel, segment_t& result);
 extern qreal    GPS_Math_DistPointPolyline(const QPolygonF &points, const QPointF &q);
+
 #endif                           //GEOMATH_H
 
diff --git a/src/IAbout.ui b/src/IAbout.ui
index f4b1c64..0e8d917 100644
--- a/src/IAbout.ui
+++ b/src/IAbout.ui
@@ -6,7 +6,7 @@
    <rect>
     <x>0</x>
     <y>0</y>
-    <width>500</width>
+    <width>550</width>
     <height>550</height>
    </rect>
   </property>
@@ -16,6 +16,12 @@
   <layout class="QHBoxLayout" name="horizontalLayout_2">
    <item>
     <widget class="QLabel" name="label_3">
+     <property name="minimumSize">
+      <size>
+       <width>150</width>
+       <height>0</height>
+      </size>
+     </property>
      <property name="text">
       <string/>
      </property>
@@ -222,44 +228,54 @@
      </item>
      <item>
       <layout class="QGridLayout" name="gridLayout_2">
-       <item row="1" column="1">
+       <item row="2" column="1">
         <widget class="QLabel" name="label_22">
          <property name="text">
           <string>Ivo Kronenberg</string>
          </property>
         </widget>
        </item>
-       <item row="0" column="1">
+       <item row="1" column="1">
         <widget class="QLabel" name="label_20">
          <property name="text">
           <string>Helmut Schmidt</string>
          </property>
         </widget>
        </item>
-       <item row="0" column="0">
+       <item row="1" column="0">
         <widget class="QLabel" name="label_19">
          <property name="text">
-          <string>Win64 binary</string>
+          <string>Win64</string>
          </property>
         </widget>
        </item>
-       <item row="1" column="0">
+       <item row="2" column="0">
         <widget class="QLabel" name="label_21">
          <property name="text">
-          <string>OS X binary</string>
+          <string>OS X</string>
          </property>
         </widget>
        </item>
-       <item row="2" column="0" colspan="2">
+       <item row="3" column="0" colspan="2">
         <widget class="QLabel" name="label_23">
          <property name="text">
-          <string>...and thanks to all Linux binary maintainers for doing a great job. Special thanks Dan Horák and Bas Couwenberg for showing presence on the mailing list to discuss distribution related topics.</string>
+          <string>...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.</string>
+         </property>
+         <property name="alignment">
+          <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
          </property>
          <property name="wordWrap">
           <bool>true</bool>
          </property>
         </widget>
        </item>
+       <item row="0" column="0">
+        <widget class="QLabel" name="label_24">
+         <property name="text">
+          <string>Binaries:</string>
+         </property>
+        </widget>
+       </item>
       </layout>
      </item>
      <item>
diff --git a/src/IMainWindow.ui b/src/IMainWindow.ui
index 83a637b..0c96cce 100644
--- a/src/IMainWindow.ui
+++ b/src/IMainWindow.ui
@@ -55,7 +55,7 @@
      <x>0</x>
      <y>0</y>
      <width>800</width>
-     <height>20</height>
+     <height>21</height>
     </rect>
    </property>
    <widget class="QMenu" name="menuFile">
@@ -71,6 +71,8 @@
     <addaction name="actionSetupMapPaths"/>
     <addaction name="actionSetupDEMPaths"/>
     <addaction name="separator"/>
+    <addaction name="actionPrintMap"/>
+    <addaction name="separator"/>
     <addaction name="actionClose"/>
    </widget>
    <widget class="QMenu" name="menuView">
@@ -93,6 +95,7 @@
     <addaction name="actionSetupGrid"/>
     <addaction name="actionSetupMapView"/>
     <addaction name="actionSetupTimeZone"/>
+    <addaction name="actionSetupCoordFormat"/>
    </widget>
    <widget class="QMenu" name="menuWindow">
     <property name="title">
@@ -625,6 +628,33 @@
     <string>Create Routino Database</string>
    </property>
   </action>
+  <action name="actionPrintMap">
+   <property name="icon">
+    <iconset resource="resources.qrc">
+     <normaloff>:/icons/32x32/PrintSave.png</normaloff>:/icons/32x32/PrintSave.png</iconset>
+   </property>
+   <property name="text">
+    <string>Save(Print) Map Screenshot</string>
+   </property>
+   <property name="toolTip">
+    <string>Print a selected area of the map</string>
+   </property>
+   <property name="shortcut">
+    <string>Ctrl+P</string>
+   </property>
+  </action>
+  <action name="actionSetupCoordFormat">
+   <property name="icon">
+    <iconset resource="resources.qrc">
+     <normaloff>:/icons/32x32/SetupCoordFormat.png</normaloff>:/icons/32x32/SetupCoordFormat.png</iconset>
+   </property>
+   <property name="text">
+    <string>Setup Coord. Format</string>
+   </property>
+   <property name="toolTip">
+    <string>Change the format coordinates are displayed</string>
+   </property>
+  </action>
  </widget>
  <customwidgets>
   <customwidget>
diff --git a/src/canvas/CCanvas.cpp b/src/canvas/CCanvas.cpp
index 52213b6..e3fc165 100644
--- a/src/canvas/CCanvas.cpp
+++ b/src/canvas/CCanvas.cpp
@@ -28,6 +28,7 @@
 #include "gis/trk/CGisItemTrk.h"
 #include "grid/CGrid.h"
 #include "grid/CGridSetup.h"
+#include "helpers/CDraw.h"
 #include "helpers/CSettings.h"
 #include "map/CMapDraw.h"
 #include "mouse/CMouseEditArea.h"
@@ -35,20 +36,14 @@
 #include "mouse/CMouseEditTrk.h"
 #include "mouse/CMouseMoveWpt.h"
 #include "mouse/CMouseNormal.h"
+#include "mouse/CMousePrint.h"
 #include "mouse/CMouseRangeTrk.h"
 #include "mouse/CMouseWptBubble.h"
 #include "plot/CPlotProfile.h"
 #include "units/IUnit.h"
 
-
 #include <QtWidgets>
 
-QPen CCanvas::penBorderBlue(QColor(10,10,150,220),2);
-QPen CCanvas::penBorderGray(Qt::lightGray,2);
-QPen CCanvas::penBorderBlack(QColor(0,0,0,200),2);
-QBrush CCanvas::brushBackWhite(QColor(255,255,255,255));
-QBrush CCanvas::brushBackYellow(QColor(0xff, 0xff, 0xcc, 0xE0));
-
 
 CCanvas::CCanvas(QWidget *parent, const QString &name)
     : QWidget(parent)
@@ -129,7 +124,7 @@ CCanvas::~CCanvas()
 {
     /*
         Some mouse objects call methods from their canvas on destruction.
-        So they are better deleted now explicitely befor any other object
+        So they are better deleted now explicitly before any other object
         in CCanvas is destroyed.
      */
     delete mouse;
@@ -138,19 +133,19 @@ CCanvas::~CCanvas()
 
 void CCanvas::setOverrideCursor(const QCursor& cursor, const QString& src)
 {
-    qDebug() << "setOverrideCursor" << src;
+//    qDebug() << "setOverrideCursor" << src;
     QApplication::setOverrideCursor(cursor);
 }
 
 void CCanvas::restoreOverrideCursor(const QString& src)
 {
-    qDebug() << "restoreOverrideCursor" << src;
+//    qDebug() << "restoreOverrideCursor" << src;
     QApplication::restoreOverrideCursor();
 }
 
 void CCanvas::changeOverrideCursor(const QCursor& cursor, const QString &src)
 {
-    qDebug() << "changeOverrideCursor" << src;
+//    qDebug() << "changeOverrideCursor" << src;
     QApplication::changeOverrideCursor(cursor);
 }
 
@@ -291,6 +286,17 @@ void CCanvas::setMouseWptBubble(const IGisItem::key_t& key)
     }
 }
 
+void CCanvas::setMousePrint()
+{
+    mouse->deleteLater();
+    mouse = new CMousePrint(gis, this);
+    if(underMouse())
+    {
+        CCanvas::restoreOverrideCursor("setMousePrint");
+        CCanvas::setOverrideCursor(*mouse, "setMousePrint");
+    }
+}
+
 void CCanvas::reportStatus(const QString& key, const QString& msg)
 {
     if(msg.isEmpty())
@@ -327,20 +333,7 @@ void CCanvas::resizeEvent(QResizeEvent * e)
 {
     needsRedraw = eRedrawAll;
 
-    QSize s = e->size();
-    if(map)
-    {
-        map->resize(s);
-    }
-    if(dem)
-    {
-        dem->resize(s);
-    }
-    if(gis)
-    {
-        gis->resize(s);
-    }
-
+    setDrawContextSize(e->size());
     QWidget::resizeEvent(e);
 
     // move map loading indicator to new center of canvas
@@ -368,7 +361,7 @@ void CCanvas::paintEvent(QPaintEvent * e)
     p.begin(this);
     USE_ANTI_ALIASING(p,true);
 
-    // fill the backbround with default pattern
+    // fill the background with default pattern
     p.fillRect(rect(), "#FFFFBF");
 
     // ----- start to draw thread based content -----
@@ -459,7 +452,7 @@ void CCanvas::enterEvent(QEvent * e)
 void CCanvas::leaveEvent(QEvent * e)
 {
     Q_UNUSED(e);
-    // bad hack to stop bad number of overide cursors.
+    // bad hack to stop bad number of override cursors.
     while(QApplication::overrideCursor())
     {
         CCanvas::restoreOverrideCursor("leaveEvent");
@@ -473,33 +466,44 @@ void CCanvas::keyPressEvent(QKeyEvent * e)
     qDebug() << hex << e->key();
     bool doUpdate = false;
 
-    if(e->key() == Qt::Key_Plus)
+    switch(e->key())
     {
+    case Qt::Key_Plus:
         setZoom(true, needsRedraw);
         doUpdate = true;
-    }
-    else if(e->key() == Qt::Key_Minus)
-    {
+        break;
+
+    case Qt::Key_Minus:
         setZoom(false, needsRedraw);
         doUpdate = true;
-    }
-    else if(e->key() == Qt::Key_Up)
-    {
-        moveMap(QPointF(0, height()/4));
-    }
-    else if(e->key() == Qt::Key_Down)
-    {
-        moveMap(QPointF(0, -height()/4));
-    }
-    else if(e->key() == Qt::Key_Left)
-    {
-        moveMap(QPointF(width()/4, 0));
-    }
-    else if(e->key() == Qt::Key_Right)
-    {
-        moveMap(QPointF(-width()/4, 0));
-    }
+        break;
+
+    /* move the map with keys up, down, left and right */
+    case Qt::Key_Up:
+        moveMap(QPointF(         0,  height()/4));
+        break;
+
+    case Qt::Key_Down:
+        moveMap(QPointF(         0, -height()/4));
+        break;
 
+    case Qt::Key_Left:
+        moveMap(QPointF( width()/4,           0));
+        break;
+
+    case Qt::Key_Right:
+        moveMap(QPointF(-width()/4,           0));
+        break;
+
+    case Qt::Key_Escape:
+        IMouseEditLine *lineMouse = dynamic_cast<IMouseEditLine*>(mouse);
+        if(lineMouse != 0)
+        {
+            lineMouse->abortStep();
+            doUpdate = true;
+        }
+        break;
+    }
 
     if(doUpdate)
     {
@@ -512,59 +516,6 @@ void CCanvas::keyPressEvent(QKeyEvent * e)
     }
 }
 
-
-void CCanvas::drawText(const QString& str, QPainter& p, const QPoint& center, const QColor& color)
-{
-    CCanvas::drawText(str,p,center, color, CMainWindow::self().getMapFont());
-}
-
-
-void CCanvas::drawText(const QString& str, QPainter& p, const QPoint& center, const QColor& color, const QFont& font)
-{
-    QFontMetrics fm(font);
-    QRect r = fm.boundingRect(str);
-
-    r.moveCenter(center);
-
-    p.setPen(Qt::white);
-    p.setFont(font);
-
-    p.drawText(r.topLeft() - QPoint(-1,-1), str);
-    p.drawText(r.topLeft() - QPoint( 0,-1), str);
-    p.drawText(r.topLeft() - QPoint(+1,-1), str);
-
-    p.drawText(r.topLeft() - QPoint(-1, 0), str);
-    p.drawText(r.topLeft() - QPoint(+1, 0), str);
-
-    p.drawText(r.topLeft() - QPoint(-1,+1), str);
-    p.drawText(r.topLeft() - QPoint( 0,+1), str);
-    p.drawText(r.topLeft() - QPoint(+1,+1), str);
-
-    p.setPen(color);
-    p.drawText(r.topLeft(),str);
-}
-
-
-void CCanvas::drawText(const QString& str, QPainter& p, const QRect& r, const QColor& color)
-{
-    p.setPen(Qt::white);
-    p.setFont(CMainWindow::self().getMapFont());
-
-    p.drawText(r.adjusted(-1,-1,-1,-1),Qt::AlignCenter,str);
-    p.drawText(r.adjusted( 0,-1, 0,-1),Qt::AlignCenter,str);
-    p.drawText(r.adjusted(+1,-1,+1,-1),Qt::AlignCenter,str);
-
-    p.drawText(r.adjusted(-1, 0,-1, 0),Qt::AlignCenter,str);
-    p.drawText(r.adjusted(+1, 0,+1, 0),Qt::AlignCenter,str);
-
-    p.drawText(r.adjusted(-1,+1,-1,+1),Qt::AlignCenter,str);
-    p.drawText(r.adjusted( 0,+1, 0,+1),Qt::AlignCenter,str);
-    p.drawText(r.adjusted(+1,+1,+1,+1),Qt::AlignCenter,str);
-
-    p.setPen(color);
-    p.drawText(r,Qt::AlignCenter,str);
-}
-
 void CCanvas::drawStatusMessages(QPainter& p)
 {
     if(labelStatusMessages->isVisible())
@@ -572,8 +523,8 @@ void CCanvas::drawStatusMessages(QPainter& p)
         QRect r = labelStatusMessages->rect();
         r.adjust(-5, -5, 5, 5);
         r.moveTopLeft(QPoint(15,45));
-        p.setPen(CCanvas::penBorderGray);
-        p.setBrush(CCanvas::brushBackWhite);
+        p.setPen(CDraw::penBorderGray);
+        p.setBrush(CDraw::brushBackWhite);
         p.drawRoundedRect(r, 5, 5);
     }
 }
@@ -640,7 +591,7 @@ void CCanvas::drawScale(QPainter& p)
 
     QString val, unit;
     IUnit::self().meter2distance(d,val,unit);
-    drawText(QString("%1 %2").arg(val).arg(unit), p, pt3, Qt::black);
+    CDraw::text(QString("%1 %2").arg(val).arg(unit), p, pt3, Qt::black);
 }
 
 void CCanvas::slotTriggerCompleteUpdate(CCanvas::redraw_e flags)
@@ -700,6 +651,8 @@ void CCanvas::moveMap(const QPointF& delta)
     posFocus -= delta;
     map->convertPx2Rad(posFocus);
 
+    emit sigMove();
+
     slotTriggerCompleteUpdate(eRedrawAll);
 }
 
@@ -724,6 +677,16 @@ void CCanvas::convertGridPos2Str(const QPointF& pos, QString& str, bool simple)
     grid->convertPos2Str(pos, str, simple);
 }
 
+void CCanvas::convertRad2Px(QPointF& pos)
+{
+    map->convertRad2Px(pos);
+}
+
+void CCanvas::convertPx2Rad(QPointF& pos)
+{
+    map->convertPx2Rad(pos);
+}
+
 void CCanvas::displayInfo(const QPoint& px)
 {
     if(CMainWindow::self().isMapToolTip())
@@ -786,6 +749,8 @@ void CCanvas::setZoom(bool in, redraw_e& needsRedraw)
     map->zoom(in, needsRedraw);
     dem->zoom(map->zoom());
     gis->zoom(map->zoom());
+
+    emit sigZoom();
 }
 
 bool CCanvas::findPolylineCloseBy(const QPointF& pt1, const QPointF& pt2, qint32 threshold, QPolygonF& polyline)
@@ -885,3 +850,54 @@ void CCanvas::showProfile(bool yes)
         }
     }
 }
+
+void CCanvas::setDrawContextSize(const QSize& s)
+{
+    if(map)
+    {
+        map->resize(s);
+    }
+    if(dem)
+    {
+        dem->resize(s);
+    }
+    if(gis)
+    {
+        gis->resize(s);
+    }
+}
+
+void CCanvas::print(QPainter& p, const QRectF& area, const QPointF& focus)
+{
+    const QSize oldSize = size();
+    const QSize newSize(area.size().toSize());
+
+    setDrawContextSize(newSize);
+
+    // ----- start to draw thread based content -----
+    // move coordinate system to center of the screen
+    p.translate(newSize.width() >> 1, newSize.height() >> 1);
+
+    redraw_e redraw = eRedrawAll;
+
+    map->draw(p, redraw, focus);
+    dem->draw(p, redraw, focus);
+    gis->draw(p, redraw, focus);
+
+    map->wait();
+    dem->wait();
+    gis->wait();
+
+    map->draw(p, redraw, focus);
+    dem->draw(p, redraw, focus);
+    gis->draw(p, redraw, focus);
+
+    // restore coordinate system to default
+    p.resetTransform();
+    // ----- start to draw fast content -----
+
+    grid->draw(p, area.toRect());
+    gis->draw(p, area.toRect());
+
+    setDrawContextSize(oldSize);
+}
diff --git a/src/canvas/CCanvas.h b/src/canvas/CCanvas.h
index 3a4b17e..e3f2626 100644
--- a/src/canvas/CCanvas.h
+++ b/src/canvas/CCanvas.h
@@ -43,13 +43,6 @@ class QLabel;
 class IPlot;
 struct SGisLine;
 
-inline void USE_ANTI_ALIASING(QPainter& p, bool useAntiAliasing)
-{
-    p.setRenderHints(QPainter::TextAntialiasing|QPainter::Antialiasing|QPainter::SmoothPixmapTransform|QPainter::HighQualityAntialiasing, useAntiAliasing);
-}
-
-
-#define PAINT_ROUNDED_RECT(p,r) p.drawRoundedRect(r,5,5)
 
 
 class CCanvas : public QWidget
@@ -68,6 +61,8 @@ public:
 
     void setupGrid();
     void convertGridPos2Str(const QPointF& pos, QString& str, bool simple);
+    void convertRad2Px(QPointF &pos);
+    void convertPx2Rad(QPointF& pos);
 
     void setup();
     QString getProjection();
@@ -90,10 +85,6 @@ public:
     void zoomTo(const QRectF& rect);
     void displayInfo(const QPoint& px);
 
-    static void drawText(const QString& str, QPainter& p, const QPoint& center, const QColor& color);
-    static void drawText(const QString& str, QPainter& p, const QPoint& center, const QColor& color, const QFont& font);
-    static void drawText(const QString& str, QPainter& p, const QRect& r, const QColor& color);
-
     enum redraw_e
     {
         eRedrawNone = 0
@@ -104,11 +95,6 @@ public:
         , eRedrawAll = 0xFFFFFFFF
     };
 
-    static QPen penBorderBlue;
-    static QPen penBorderGray;
-    static QPen penBorderBlack;
-    static QBrush brushBackWhite;
-    static QBrush brushBackYellow;
 
     void resetMouse();
     void setMouseMoveWpt(CGisItemWpt& wpt);
@@ -120,6 +106,7 @@ public:
     void setMouseEditArea(CGisItemOvlArea& area);
     void setMouseEditArea(const QPointF& pt);
     void setMouseWptBubble(const IGisItem::key_t& key);
+    void setMousePrint();
 
     void showProfileAsWindow(bool yes);
     void showProfile(bool yes);
@@ -142,7 +129,7 @@ public:
        @brief Find a matching street polyline
 
        The polyline must be close enough in terms of pixel to point 1 and 2. "Close enough" is defined by
-       the threshold. The returned poylline uses lon/lat as coordinates.
+       the threshold. The returned polyline uses lon/lat as coordinates.
 
        @param pt1           first point in [rad]
        @param pt2           second point in [rad]
@@ -152,8 +139,12 @@ public:
      */
     bool findPolylineCloseBy(const QPointF& pt1, const QPointF& pt2, qint32 threshold, QPolygonF& polyline);
 
+    void print(QPainter &p, const QRectF& area, const QPointF &focus);
+
 signals:
     void sigMousePosition(const QPointF& pos, qreal ele);
+    void sigZoom();
+    void sigMove();
 
 public slots:
     void slotTriggerCompleteUpdate(CCanvas::redraw_e flags);
@@ -181,6 +172,7 @@ private:
     void setZoom(bool in, redraw_e &needsRedraw);
     void setSizeTrackProfile();
     void saveSizeTrackProfile();
+    void setDrawContextSize(const QSize& s);
 
     /// set true to initiate a complete redraw of the screen content
     redraw_e needsRedraw;
diff --git a/src/canvas/IDrawObject.h b/src/canvas/IDrawObject.h
index a220ec5..43857ea 100644
--- a/src/canvas/IDrawObject.h
+++ b/src/canvas/IDrawObject.h
@@ -81,7 +81,7 @@ public:
        connect to the QListWidget's signals to be noticed by a change.
 
        Different to other properties, that will get queried when ever the property
-       widget think it needs an update, getLayers() will only be called once uppon
+       widget think it needs an update, getLayers() will only be called once upon
        property widget creation.
 
        The default implementation will simply clear the list.
diff --git a/src/cursors/cursorPrint.png b/src/cursors/cursorPrint.png
new file mode 100644
index 0000000..d5f3ae9
Binary files /dev/null and b/src/cursors/cursorPrint.png differ
diff --git a/src/cursors/cursorSave.png b/src/cursors/cursorSave.png
new file mode 100644
index 0000000..a499860
Binary files /dev/null and b/src/cursors/cursorSave.png differ
diff --git a/src/dem/CDemDraw.cpp b/src/dem/CDemDraw.cpp
index 2298d19..ab34f2c 100644
--- a/src/dem/CDemDraw.cpp
+++ b/src/dem/CDemDraw.cpp
@@ -58,7 +58,7 @@ void CDemDraw::setProjection(const QString& proj)
     // --- save the active maps
     QStringList keys;
     saveActiveMapsList(keys);
-    // --- neow set the new projection
+    // --- now set the new projection
     IDrawContext::setProjection(proj);
     // --- now build the map list from scratch. This will deactivate -> activate all maps
     //     By that everything is restored with the new projection
@@ -210,7 +210,7 @@ void CDemDraw::restoreActiveMapsList(const QStringList& keys)
             if(item && item->key == key)
             {
                 /**
-                    @Note   the item will load it's configuration uppon successful activation
+                    @Note   the item will load it's configuration upon successful activation
                             by calling loadConfigForDemItem().
                  */
                 item->activate();
diff --git a/src/dem/CDemItem.h b/src/dem/CDemItem.h
index 50f43c5..82cabfe 100644
--- a/src/dem/CDemItem.h
+++ b/src/dem/CDemItem.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 mutexActiveDems;
 
diff --git a/src/dem/CDemVRT.cpp b/src/dem/CDemVRT.cpp
index b640b74..19de2b2 100644
--- a/src/dem/CDemVRT.cpp
+++ b/src/dem/CDemVRT.cpp
@@ -18,9 +18,9 @@
 
 #include "CMainWindow.h"
 #include "GeoMath.h"
-#include "canvas/CCanvas.h"
 #include "dem/CDemDraw.h"
 #include "dem/CDemVRT.h"
+#include "helpers/CDraw.h"
 #include "units/IUnit.h"
 
 #include <QtWidgets>
@@ -48,7 +48,8 @@ CDemVRT::CDemVRT(const QString &filename, CDemDraw *parent)
 
     if(dataset->GetRasterCount() != 1)
     {
-        delete dataset; dataset = 0;
+        delete dataset;
+        dataset = 0;
         QMessageBox::warning(CMainWindow::getBestWidgetForParent(), tr("Error..."), tr("DEM must have one band with 16bit or 32bit data."));
         return;
     }
@@ -57,7 +58,8 @@ CDemVRT::CDemVRT(const QString &filename, CDemDraw *parent)
     pBand = dataset->GetRasterBand(1);
     if(pBand == 0)
     {
-        delete dataset; dataset = 0;
+        delete dataset;
+        dataset = 0;
         QMessageBox::warning(CMainWindow::getBestWidgetForParent(), tr("Error..."), tr("DEM must have one band with 16bit or 32bit data."));
         return;
     }
@@ -85,7 +87,8 @@ CDemVRT::CDemVRT(const QString &filename, CDemDraw *parent)
     free(ptr);
     if(pjsrc == 0)
     {
-        delete dataset; dataset = 0;
+        delete dataset;
+        dataset = 0;
         QMessageBox::warning(0, tr("Error..."), tr("No georeference information found."));
         return;
     }
diff --git a/src/dem/IDem.h b/src/dem/IDem.h
index 3f634e9..ac62cc5 100644
--- a/src/dem/IDem.h
+++ b/src/dem/IDem.h
@@ -106,7 +106,7 @@ protected:
     void slopecolor(QVector<qint16>& data, qreal w, qreal h, QImage &img);
 
     /**
-       @brief Reproject (translate, rotate, scale) tile befor 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
@@ -118,7 +118,7 @@ protected:
     /// source projection of the current map file
     /**
         Has to be set by subclass. Destruction has to be
-        handeled by subclass.
+        handled by subclass.
      */
     projPJ pjsrc;
     /// target projection
diff --git a/src/gis/CGisDraw.cpp b/src/gis/CGisDraw.cpp
index 8f6a620..13fd1d0 100644
--- a/src/gis/CGisDraw.cpp
+++ b/src/gis/CGisDraw.cpp
@@ -16,9 +16,9 @@
 
 **********************************************************************************************/
 
-#include "canvas/CCanvas.h"
 #include "gis/CGisDraw.h"
 #include "gis/CGisWidget.h"
+#include "helpers/CDraw.h"
 
 #include <QtWidgets>
 
diff --git a/src/gis/CGisListWks.cpp b/src/gis/CGisListWks.cpp
index 71cd0e2..f59fa61 100644
--- a/src/gis/CGisListWks.cpp
+++ b/src/gis/CGisListWks.cpp
@@ -18,7 +18,6 @@
 
 #include "CMainWindow.h"
 #include "canvas/CCanvas.h"
-#include "config.h"
 #ifdef Q_OS_LINUX
 #include "device/CDeviceWatcherLinux.h"
 #endif
@@ -47,6 +46,7 @@
 #include "gis/search/CSearchGoogle.h"
 #include "gis/trk/CGisItemTrk.h"
 #include "gis/wpt/CGisItemWpt.h"
+#include "helpers/CAppSetup.h"
 #include "helpers/CProgressDialog.h"
 #include "helpers/CSelectCopyAction.h"
 #include "helpers/CSelectProjectDialog.h"
@@ -56,7 +56,8 @@
 #include <QtSql>
 #include <QtWidgets>
 
-#define DB_VERSION 1
+#undef  DB_VERSION
+#define DB_VERSION 2
 
 class CGisListWksEditLock
 {
@@ -91,15 +92,21 @@ CGisListWks::CGisListWks(QWidget *parent)
     , deviceWatcher(0)
 {
     db = QSqlDatabase::addDatabase("QSQLITE","Workspace1");
-    db.setDatabaseName(QDir::home().filePath(CONFIGDIR).append("/workspace.db"));
+    QString config = CAppSetup::getPlattformInstance()->configDir().filePath("workspace.db");
+    db.setDatabaseName(config);
     db.open();
     configDB();
 
     menuProjectWks  = new QMenu(this);
     actionEditPrj   = menuProjectWks->addAction(QIcon("://icons/32x32/EditDetails.png"),tr("Edit.."), this, SLOT(slotEditPrj()));
-    actionSaveAs    = menuProjectWks->addAction(QIcon("://icons/32x32/SaveGISAs.png"),tr("Save As..."), this, SLOT(slotSaveAsProject()));
+    actionShowOnMap = menuProjectWks->addAction(QIcon("://icons/32x32/ShowAll.png"),tr("Show on Map"), this, SLOT(slotShowOnMap()));
+    actionHideFrMap = menuProjectWks->addAction(QIcon("://icons/32x32/ShowNone.png"),tr("Hide from Map"), this, SLOT(slotHideFrMap()));
+    menuProjectWks->addSeparator();
     actionSave      = menuProjectWks->addAction(QIcon("://icons/32x32/SaveGIS.png"),tr("Save"), this, SLOT(slotSaveProject()));
+    actionSaveAs    = menuProjectWks->addAction(QIcon("://icons/32x32/SaveGISAs.png"),tr("Save As..."), this, SLOT(slotSaveAsProject()));
+    menuProjectWks->addSeparator();
     actionSyncWksDev= menuProjectWks->addAction(QIcon("://icons/32x32/Device.png"),tr("Send to Devices"), this, SLOT(slotSyncWksDev()));
+    menuProjectWks->addSeparator();
     actionCloseProj = menuProjectWks->addAction(QIcon("://icons/32x32/Close.png"),tr("Close"), this, SLOT(slotCloseProject()));
 
     menuProjectDev  = new QMenu(this);
@@ -259,7 +266,7 @@ void CGisListWks::initDB()
     {
         query.prepare( "INSERT INTO versioninfo (version) VALUES(:version)");
         query.bindValue(":version", DB_VERSION);
-        QUERY_EXEC(; );
+        QUERY_EXEC();
     }
 
     if(!query.exec( "CREATE TABLE workspace ("
@@ -268,6 +275,7 @@ void CGisListWks::initDB()
                     "name           TEXT NOT NULL,"
                     "key            TEXT NOT NULL,"
                     "changed        BOOLEAN DEFAULT FALSE,"
+                    "visible        BOOLEAN DEFAULT TRUE,"
                     "data           BLOB NOT NULL"
 
                     ")"))
@@ -279,17 +287,34 @@ void CGisListWks::initDB()
 
 void CGisListWks::migrateDB(int version)
 {
-    QSqlQuery query(db);
+    qDebug() << "workspace.db has version " << version << ", migration to version " << DB_VERSION << " required";
 
-    for(version++; version <= DB_VERSION; version++)
+    // try to migrate between the database versions step by step (as soon as applicable)
+    if(version < 2)
     {
-//        switch(version)
-//        {
-//        }
+        migrateDB1to2();
     }
+//  if(version < 3) { migrateDB2to3(); }
+
+    // save the new version to the database
+    QSqlQuery query(db);
     query.prepare( "UPDATE versioninfo set version=:version");
-    query.bindValue(":version", version - 1);
-    QUERY_EXEC(; );
+    query.bindValue(":version", DB_VERSION);
+    QUERY_EXEC();
+}
+
+void CGisListWks::migrateDB1to2()
+{
+    qDebug() << "migrating workspace.db from version 1 to version 2";
+    // add a new column `visible` to the database
+    // the default value is `true`, as - by default in older versions of QMS - all saved projects
+    // have been loaded and shown on the map directly after starting
+    QSqlQuery query(db);
+    if(!query.exec( "ALTER TABLE workspace ADD COLUMN visible BOOLEAN DEFAULT TRUE;" ))
+    {
+        qDebug() << query.lastQuery();
+        qDebug() << query.lastError();
+    }
 }
 
 void CGisListWks::setExternalMenu(QMenu * project)
@@ -307,7 +332,7 @@ void CGisListWks::dragMoveEvent (QDragMoveEvent  * e )
     QTreeWidgetItem * item1 = currentItem();
     QTreeWidgetItem * item2 = itemAt(e->pos());
 
-    // changeing the item order is only valid for single selected items
+    // changing the item order is only valid for single selected items
     if(selectedItems().count() == 1)
     {
         /*
@@ -392,7 +417,7 @@ void CGisListWks::dragMoveEvent (QDragMoveEvent  * e )
             Never move/copy projects on devices. Data has to be removed or changed
             to store a project and it's items on a device. Moving it back to the
             workspace would conflict with the original project. To much hassle to
-            reslove this properly.
+            resolve this properly.
          */
         IGisProject * proj1 = dynamic_cast<IGisProject*>(item1);
         if(proj1 && proj1->isOnDevice())
@@ -735,11 +760,14 @@ void CGisListWks::slotSaveWorkspace()
 
         project->IGisProject::operator>>(stream);
 
-        query.prepare("INSERT INTO workspace (type, key, name, changed, data) VALUES (:type, :key, :name, :changed, :data)");
+        query.prepare("INSERT INTO workspace (type, key, name, changed, visible, data) VALUES (:type, :key, :name, :changed, :visible, :data)");
         query.bindValue(":type", project->getType());
         query.bindValue(":key", project->getKey());
         query.bindValue(":name", project->getName());
         query.bindValue(":changed", project->isChanged());
+
+        bool visible = (project->checkState(CGisListDB::eColumnCheckbox) == Qt::Checked);
+        query.bindValue(":visible", visible);
         query.bindValue(":data", data);
         QUERY_EXEC(continue);
     }
@@ -756,7 +784,7 @@ void CGisListWks::slotLoadWorkspace()
 
     QSqlQuery query(db);
 
-    query.prepare("SELECT type, key, name, changed, data FROM workspace");
+    query.prepare("SELECT type, key, name, changed, visible, data FROM workspace");
     QUERY_EXEC(return );
 
     const int total = query.size();
@@ -767,10 +795,11 @@ void CGisListWks::slotLoadWorkspace()
     {
         PROGRESS(progCnt++, return );
 
-        int type        = query.value(0).toInt();
-        QString name    = query.value(2).toString();
-        bool changed    = query.value(3).toBool();
-        QByteArray data = query.value(4).toByteArray();
+        int type               = query.value(0).toInt();
+        QString name           = query.value(2).toString();
+        bool changed           = query.value(3).toBool();
+        Qt::CheckState visible = query.value(4).toBool() ? Qt::Checked : Qt::Unchecked;
+        QByteArray data        = query.value(5).toByteArray();
 
         QDataStream stream(&data, QIODevice::ReadOnly);
         stream.setVersion(QDataStream::Qt_5_2);
@@ -782,6 +811,7 @@ void CGisListWks::slotLoadWorkspace()
         case IGisProject::eTypeQms:
         {
             project = new CQmsProject(name, this);
+            project->setCheckState(CGisListDB::eColumnCheckbox, visible); // (1a)
             *project << stream;
             break;
         }
@@ -789,6 +819,7 @@ void CGisListWks::slotLoadWorkspace()
         case IGisProject::eTypeGpx:
         {
             project = new CGpxProject(name, this);
+            project->setCheckState(CGisListDB::eColumnCheckbox, visible); // (1b)
             *project << stream;
             break;
         }
@@ -797,6 +828,7 @@ void CGisListWks::slotLoadWorkspace()
         {
             CDBProject * dbProject;
             project = dbProject = new CDBProject(this);
+            project->setCheckState(CGisListDB::eColumnCheckbox, visible); // (1c)
 
             project->IGisProject::operator<<(stream);
             dbProject->restoreDBLink();
@@ -819,6 +851,11 @@ void CGisListWks::slotLoadWorkspace()
             continue;
         }
 
+        // Hiding the individual projects from the map (1a, 1b, 1c) could be done here within a single statement,
+        // but this results in a visible `the checkbox is being unchecked`, especially in case the project
+        // is large and takes some time to load.
+        // When done directly after construction there is no `blinking` of the check mark
+
         project->setToolTip(eColumnName,project->getInfo());
         if(changed)
         {
@@ -838,6 +875,36 @@ void CGisListWks::slotContextMenu(const QPoint& point)
         return;
     }
 
+    // check whether all projects are checked or unchecked...
+    bool allChecked   = true;
+    bool allUnchecked = true;
+
+    foreach(QTreeWidgetItem *item, selectedItems())
+    {
+        IGisProject *project = dynamic_cast<IGisProject*>(item);
+        if(project != 0)
+        {
+            // as soon as we find an unchecked element, not all elements are checked (and vice versa)
+            if(project->checkState(CGisListDB::eColumnCheckbox) == Qt::Unchecked)
+            {
+                allChecked = false;
+            }
+            else
+            {
+                allUnchecked = false;
+            }
+        }
+
+        if(!allChecked && !allUnchecked)
+        {
+            break;
+        }
+    }
+
+    // ...and disable entries without any effect
+    actionShowOnMap->setEnabled(!allChecked);
+    actionHideFrMap->setEnabled(!allUnchecked);
+
     if(selectedItems().count() > 1)
     {
         IGisProject * project = dynamic_cast<IGisProject*>(currentItem());
@@ -944,11 +1011,37 @@ void CGisListWks::slotContextMenu(const QPoint& point)
                 menuItemOvl->exec(p);
                 break;
             }
+
             return;
         }
     }
 }
 
+void CGisListWks::setVisibilityOnMap(bool visible)
+{
+    CGisListWksEditLock lock(true, IGisItem::mutexItems);
+    QList<QTreeWidgetItem*> items = selectedItems();
+    foreach(QTreeWidgetItem *item, items)
+    {
+        IGisProject * project = dynamic_cast<IGisProject*>(item);
+        if(project != 0)
+        {
+            project->setCheckState(CGisListDB::eColumnCheckbox, visible ? Qt::Checked : Qt::Unchecked);
+        }
+    }
+    emit sigChanged();
+}
+
+void CGisListWks::slotShowOnMap()
+{
+    setVisibilityOnMap(true);
+}
+
+void CGisListWks::slotHideFrMap()
+{
+    setVisibilityOnMap(false);
+}
+
 void CGisListWks::slotCloseProject()
 {
     CGisListWksEditLock lock(true, IGisItem::mutexItems);
diff --git a/src/gis/CGisListWks.h b/src/gis/CGisListWks.h
index ab8d195..fc4fc5f 100644
--- a/src/gis/CGisListWks.h
+++ b/src/gis/CGisListWks.h
@@ -71,6 +71,8 @@ private slots:
     void slotEditPrj();
     void slotCloseProject();
     void slotDeleteProject();
+    void slotShowOnMap();
+    void slotHideFrMap();
     void slotItemDoubleClicked(QTreeWidgetItem * item, int);
     void slotItemChanged(QTreeWidgetItem * item, int column);
     void slotEditItem();
@@ -101,6 +103,8 @@ private:
     void configDB();
     void initDB();
     void migrateDB(int version);
+    void migrateDB1to2();
+    void setVisibilityOnMap(bool visible);
 
     QSqlDatabase db;
 
@@ -109,6 +113,8 @@ private:
     QAction  * actionSaveAs;
     QAction  * actionEditPrj;
     QAction  * actionCloseProj;
+    QAction  * actionShowOnMap;
+    QAction  * actionHideFrMap;
     QAction  * actionSyncWksDev;
 
 
diff --git a/src/gis/CGisWidget.cpp b/src/gis/CGisWidget.cpp
index 89c5359..faff920 100644
--- a/src/gis/CGisWidget.cpp
+++ b/src/gis/CGisWidget.cpp
@@ -66,8 +66,8 @@ CGisWidget::~CGisWidget()
     cfg.setValue("Workspace/treeDB/state", treeDB->header()->saveState());
 
     /*
-        Explicitely delete workspace here, as database projects use
-        CGisWidget uppon destruction to signal the database their destruction.
+        Explicitly delete workspace here, as database projects use
+        CGisWidget upon destruction to signal the database their destruction.
 
      */
     delete treeWks;
diff --git a/src/gis/IGisItem.cpp b/src/gis/IGisItem.cpp
index c8c6b7d..a61d5ed 100644
--- a/src/gis/IGisItem.cpp
+++ b/src/gis/IGisItem.cpp
@@ -28,6 +28,7 @@
 #include "gis/rte/CGisItemRte.h"
 #include "gis/trk/CGisItemTrk.h"
 #include "gis/wpt/CGisItemWpt.h"
+#include "helpers/CDraw.h"
 #include "units/IUnit.h"
 
 #include <QtSql>
@@ -49,7 +50,7 @@ const IGisItem::color_t IGisItem::colorMap[] =
     ,{"DarkBlue",    QColor(Qt::darkBlue)}
     ,{"DarkMagenta", QColor(Qt::darkMagenta)}
     ,{"DarkCyan",    QColor(Qt::darkCyan)}
-    ,{"LightGray",   QColor(Qt::gray)}
+    ,{"Gray",        QColor(Qt::gray)}
     ,{"DarkGray",    QColor(Qt::darkGray)}
     ,{"Red",         QColor(Qt::red)}
     ,{"Green",       QColor(Qt::green)}
@@ -477,18 +478,17 @@ const QString& IGisItem::getHash()
 
 QColor IGisItem::str2color(const QString& name)
 {
-    QColor ref(name);
     const color_t * p = colorMap;
     while(p->name)
     {
-        if((p->name == name) || (ref == p->color))
+        if(QString(p->name).toUpper() == name.toUpper())
         {
             return p->color;
         }
         p++;
     }
 
-    return QColor();
+    return QColor(name);
 }
 
 QString IGisItem::color2str(const QColor& color)
@@ -553,72 +553,6 @@ void IGisItem::splitLineToViewport(const QPolygonF& line, const QRectF& extViewp
     }
 }
 
-void IGisItem::drawArrows(const QPolygonF& line, const QRectF& extViewport, QPainter& p)
-{
-    QPointF arrow[4] =
-    {
-        QPointF( 20.0, 7.0),     //front
-        QPointF( 0.0, 0.0),      //upper tail
-        QPointF( 5.0, 7.0),      //mid tail
-        QPointF( 0.0, 15.0)      //lower tail
-    };
-
-    QPointF pt, pt1, ptt;
-
-    // draw direction arrows
-    bool start = true;
-    qreal heading;
-
-    //generate arrow pic on-the-fly
-    QImage arrow_pic(21,16, QImage::Format_ARGB32);
-    arrow_pic.fill( qRgba(0,0,0,0));
-    QPainter t_paint(&arrow_pic);
-    USE_ANTI_ALIASING(t_paint, true);
-    t_paint.setPen(QPen(Qt::white, 2));
-    t_paint.setBrush(p.brush());
-    t_paint.drawPolygon(arrow, 4);
-    t_paint.end();
-
-    foreach(pt,line)
-    {
-        if(start)                // no arrow on  the first loop
-        {
-            start = false;
-        }
-        else
-        {
-            if(!extViewport.contains(pt))
-            {
-                pt1 = pt;
-                continue;
-            }
-            if((qAbs(pt.x() - pt1.x()) + qAbs(pt.y() - pt1.y())) < 7)
-            {
-                pt1 = pt;
-                continue;
-            }
-            // keep distance
-            if((qAbs(pt.x() - ptt.x()) + qAbs(pt.y() - ptt.y())) > 100)
-            {
-                if(0 != pt.x() - pt1.x() && (pt.y() - pt1.y()))
-                {
-                    heading = ( qAtan2((qreal)(pt.y() - pt1.y()), (qreal)(pt.x() - pt1.x())) * 180.) / M_PI;
-
-                    p.save();
-                    // draw arrow between bullets
-                    p.translate((pt.x() + pt1.x())/2,(pt.y() + pt1.y())/2);
-                    p.rotate(heading);
-                    p.drawImage(-11, -7, arrow_pic);
-                    p.restore();
-                    //remember last point
-                    ptt = pt;
-                }
-            }
-        }
-        pt1 = pt;
-    }
-}
-
 QString IGisItem::removeHtml(const QString &str)
 {
     QTextDocument html;
diff --git a/src/gis/IGisItem.h b/src/gis/IGisItem.h
index 23e96d9..cfab518 100644
--- a/src/gis/IGisItem.h
+++ b/src/gis/IGisItem.h
@@ -224,7 +224,7 @@ public:
     /**
         @brief Edit content of item.
 
-        This is quite dependent on the item. The default implemntation does nothing. It has to be
+        This is quite dependent on the item. The default implementation does nothing. It has to be
         overwritten and the item has to generate what ever is needed to edit/view it's details.
 
      */
@@ -453,8 +453,6 @@ protected:
     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);
-    /// ditribute arrows over a polyline
-    void drawArrows(const QPolygonF &line, const QRectF &extViewport, QPainter& p);
     /// call when ever you make a change to the item's data
     virtual void changed(const QString& what, const QString& icon);
 
@@ -481,7 +479,6 @@ protected:
         QColor color;
     };
 
-
     enum flags_e
     {
         eFlagCreatedInQms   = 0x00000001
@@ -490,8 +487,6 @@ protected:
         ,eFlagWptBubble     = 0x00000100
     };
 
-
-
     static inline bool isBlocked(const QRectF& rect, const QList<QRectF> &blockedAreas)
     {
         foreach(const QRectF &r, blockedAreas)
diff --git a/src/gis/WptIcons.cpp b/src/gis/WptIcons.cpp
index bc5ae92..241ce6a 100644
--- a/src/gis/WptIcons.cpp
+++ b/src/gis/WptIcons.cpp
@@ -18,7 +18,7 @@
 
 
 #include "WptIcons.h"
-#include "config.h"
+#include "helpers/CAppSetup.h"
 
 #include <QtGui>
 
@@ -64,9 +64,7 @@ void initWptIcons()
     setWptIconByName("Virtual Cache", "://icons/cache/32x32/virtual.png");
     setWptIconByName("Webcam Cache", "://icons/cache/32x32/webcam.png");
 
-    QDir dirIcon(QDir::home().filePath(CONFIGDIR));
-    dirIcon.mkdir("WaypointIcons");
-    dirIcon.cd("WaypointIcons");
+    QDir dirIcon = CAppSetup::getPlattformInstance()->configDir("WaypointIcons");
 
     QString filename;
     QStringList filenames = dirIcon.entryList(QDir::Files);
@@ -94,7 +92,7 @@ void setWptIconByName(const QString& name, const QString& filename)
 
 void setWptIconByName(const QString& name, const QPixmap& icon)
 {
-    QDir dirIcon(QDir::home().filePath(CONFIGDIR "WaypointIcons"));
+    QDir dirIcon = CAppSetup::getPlattformInstance()->configDir("WaypointIcons");
     QString filename = dirIcon.filePath(name + ".png");
 
     icon.save(filename);
diff --git a/src/gis/db/CDBItem.cpp b/src/gis/db/CDBItem.cpp
index f39c181..07e6707 100644
--- a/src/gis/db/CDBItem.cpp
+++ b/src/gis/db/CDBItem.cpp
@@ -95,5 +95,5 @@ void CDBItem::remove()
     query.prepare("DELETE FROM folder2item WHERE parent=:parent AND child=:child");
     query.bindValue(":parent", folder->getId());
     query.bindValue(":child", id);
-    QUERY_EXEC(; );
+    QUERY_EXEC();
 }
diff --git a/src/gis/db/CDBProject.cpp b/src/gis/db/CDBProject.cpp
index 5e84af2..c1a51e3 100644
--- a/src/gis/db/CDBProject.cpp
+++ b/src/gis/db/CDBProject.cpp
@@ -114,7 +114,7 @@ void CDBProject::setupName(const QString &defaultName)
     query.bindValue(":id", id);
     query.bindValue(":type1", IDBFolder::eTypeGroup);
     query.bindValue(":type2", IDBFolder::eTypeProject);
-    QUERY_EXEC(; );
+    QUERY_EXEC();
     if(query.next())
     {
         nameSuffix   = query.value(0).toString();
@@ -291,7 +291,7 @@ bool CDBProject::save()
                 query.prepare("SELECT id FROM folder2item WHERE parent=:parent AND child=:child");
                 query.bindValue(":parent", id);
                 query.bindValue(":child", idItem);
-                QUERY_EXEC(; );
+                QUERY_EXEC();
 
                 if(!query.next())
                 {
@@ -321,7 +321,8 @@ bool CDBProject::save()
                             item1 = new CGisItemOvlArea(idItem, db, 0);
                             break;
 
-                        default:;
+                        default:
+                            ;
                         }
 
                         if(item1 == 0)
@@ -444,7 +445,8 @@ void CDBProject::showItems(CEvtD2WShowItems * evt)
             new CGisItemOvlArea(item.id, db, this);
             break;
 
-        default:;
+        default:
+            ;
         }
     }
 
diff --git a/src/gis/db/CLostFoundProject.cpp b/src/gis/db/CLostFoundProject.cpp
index bf770de..7edcc9a 100644
--- a/src/gis/db/CLostFoundProject.cpp
+++ b/src/gis/db/CLostFoundProject.cpp
@@ -78,7 +78,8 @@ void CLostFoundProject::updateFromDb()
             new CGisItemOvlArea(id, db, this);
             break;
 
-        default:;
+        default:
+            ;
         }
     }
 
diff --git a/src/gis/db/CSetupFolder.cpp b/src/gis/db/CSetupFolder.cpp
index 0026f8a..33e7a9f 100644
--- a/src/gis/db/CSetupFolder.cpp
+++ b/src/gis/db/CSetupFolder.cpp
@@ -45,7 +45,8 @@ CSetupFolder::CSetupFolder(IDBFolder::type_e& type, QString &name, bool groupAll
         radioOther->setChecked(true);
         break;
 
-    default:;
+    default:
+        ;
     }
 
     radioGroup->setEnabled(groupAllowed);
diff --git a/src/gis/db/IDB.cpp b/src/gis/db/IDB.cpp
index ae30e0e..85cfb47 100644
--- a/src/gis/db/IDB.cpp
+++ b/src/gis/db/IDB.cpp
@@ -87,7 +87,7 @@ bool IDB::setupDB(const QString& filename, const QString& connectionName)
 
     query.prepare( "UPDATE folders SET name=:name WHERE id=1");
     query.bindValue(":name", connectionName);
-    QUERY_EXEC(; )
+    QUERY_EXEC()
 
     return true;
 }
@@ -100,7 +100,7 @@ bool IDB::initDB()
     {
         query.prepare( "INSERT INTO versioninfo (version, type) VALUES(:version, 'QMapShack')");
         query.bindValue(":version", DB_VERSION);
-        QUERY_EXEC(return false;  );
+        QUERY_EXEC(return false);
     }
 
     if(!query.exec( "CREATE TABLE folders ("
@@ -137,7 +137,7 @@ bool IDB::initDB()
 
     query.prepare("INSERT INTO folders (type, name, comment) VALUES (2, :name, '')");
     query.bindValue(":name", db.connectionName());
-    QUERY_EXEC(return false;  );
+    QUERY_EXEC(return false);
 
     if(!query.exec( "CREATE TABLE folder2folder ("
                     "id             INTEGER PRIMARY KEY AUTOINCREMENT,"
@@ -180,7 +180,7 @@ bool IDB::migrateDB(int version)
     }
     query.prepare( "UPDATE versioninfo set version=:version");
     query.bindValue(":version", version - 1);
-    QUERY_EXEC(return false;  );
+    QUERY_EXEC(return false);
     return true;
 }
 
diff --git a/src/gis/db/IDBFolder.cpp b/src/gis/db/IDBFolder.cpp
index fe4edf7..6ed8338 100644
--- a/src/gis/db/IDBFolder.cpp
+++ b/src/gis/db/IDBFolder.cpp
@@ -398,17 +398,17 @@ void IDBFolder::remove(quint64 idParent, quint64 idFolder)
     query.prepare("DELETE FROM folder2folder WHERE parent=:parent AND child=:child");
     query.bindValue(":parent", idParent);
     query.bindValue(":child", idFolder);
-    QUERY_EXEC(; );
+    QUERY_EXEC();
 
     query.prepare("SELECT EXISTS(SELECT 1 FROM folder2folder WHERE child=:id LIMIT 1)");
     query.bindValue(":id", idFolder);
-    QUERY_EXEC(; );
+    QUERY_EXEC();
     // if there is no other relation delete the children, too.
     if(!query.next() || (query.value(0).toInt() == 0))
     {
         query.prepare("SELECT child FROM folder2folder WHERE parent=:id");
         query.bindValue(":id", idFolder);
-        QUERY_EXEC(; );
+        QUERY_EXEC();
         while(query.next())
         {
             remove(idFolder, query.value(0).toULongLong());
@@ -417,11 +417,11 @@ void IDBFolder::remove(quint64 idParent, quint64 idFolder)
         // remove the child items relations
         query.prepare("DELETE FROM folder2item WHERE parent=:id");
         query.bindValue(":id", idFolder);
-        QUERY_EXEC(; );
+        QUERY_EXEC();
 
         // and remove the folder
         query.prepare("DELETE FROM folders WHERE id=:id");
         query.bindValue(":id", idFolder);
-        QUERY_EXEC(; );
+        QUERY_EXEC()
     }
 }
diff --git a/src/gis/gpx/CGpxProject.cpp b/src/gis/gpx/CGpxProject.cpp
index b72454a..189abee 100644
--- a/src/gis/gpx/CGpxProject.cpp
+++ b/src/gis/gpx/CGpxProject.cpp
@@ -408,7 +408,8 @@ bool CGpxProject::saveAs(const QString& fn, IGisProject& project)
         }
         QTextStream out(&file);
         out.setCodec("UTF-8");
-        out << "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>" << endl;;
+        out << "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>" << endl;
+
         out << doc.toString();
         file.close();
         if(file.error() != QFile::NoError)
diff --git a/src/gis/gpx/serialization.cpp b/src/gis/gpx/serialization.cpp
index 3174975..6534e3e 100644
--- a/src/gis/gpx/serialization.cpp
+++ b/src/gis/gpx/serialization.cpp
@@ -77,6 +77,10 @@ static QString unifyColor(const QString& color)
     {
         return "Red";
     }
+    else if(QColor(color) == Qt::green)
+    {
+        return "Green";
+    }
     else if(QColor(color) == Qt::yellow)
     {
         return "Yellow";
@@ -395,6 +399,94 @@ static void writeXml(QDomNode& xml, const QString& tag, const QPoint& offsetBubb
 }
 
 
+static void readXml(const QDomNode& node, const QString& parentTags, QHash<QString, QVariant>& extensions)
+{
+    QString tag = node.nodeName();
+    if(tag.left(3) == "ql:")
+    {
+        return;
+    }
+
+    QString tags = parentTags.isEmpty() ? tag : parentTags + "|" + tag;
+    const QDomNode& next = node.firstChild();
+    if(next.isText())
+    {
+        extensions[tags] = node.toElement().text();
+    }
+    else
+    {
+        const QDomNodeList& list = node.childNodes();
+        const int N = list.size();
+        for(int i = 0; i < N; i++)
+        {
+            readXml(list.at(i), tags, extensions);
+        }
+    }
+}
+
+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++)
+    {
+        readXml(list.at(i), "", extensions);
+    }
+
+    extensions.squeeze();
+}
+
+static void writeXml(QDomNode& ext, const QHash<QString, QVariant>& extensions)
+{
+    if(extensions.isEmpty())
+    {
+        return;
+    }
+
+    QDomDocument doc = ext.ownerDocument();
+
+    QStringList keys = extensions.keys();
+    keys.sort();
+    foreach(const QString &key, keys)
+    {
+        QStringList tags = key.split('|', QString::SkipEmptyParts);
+
+        if(tags.size() == 1)
+        {
+            QDomElement elem = doc.createElement(tags.first());
+            ext.appendChild(elem);
+            QDomText text = doc.createTextNode(extensions[key].toString());
+            elem.appendChild(text);
+        }
+        else
+        {
+            QDomNode node = ext;
+
+            QString lastTag = tags.last();
+            tags.pop_back();
+            foreach(const QString &tag, tags)
+            {
+                QDomNode child = node.firstChildElement(tag);
+                if(child.isNull())
+                {
+                    QDomElement elem = doc.createElement(tags.first());
+                    node.appendChild(elem);
+                    node = elem;
+                }
+                else
+                {
+                    node = child;
+                }
+            }
+            QDomElement elem = doc.createElement(lastTag);
+            node.appendChild(elem);
+
+            QDomText text = doc.createTextNode(extensions[key].toString());
+            elem.appendChild(text);
+        }
+    }
+}
+
 void IGisProject::readMetadata(const QDomNode& xml, metadata_t& metadata)
 {
     readXml(xml,"name", metadata.name);
@@ -741,6 +833,7 @@ void CGisItemTrk::readTrk(const QDomNode& xml, trk_t& trk)
             if(ext.isElement())
             {
                 readXml(ext, "ql:flags", trkpt.flags);
+                readXml(ext, trkpt.extensions);
             }
         }
     }
@@ -804,6 +897,7 @@ void CGisItemTrk::save(QDomNode& gpx)
             QDomElement xmlExt  = doc.createElement("extensions");
             xmlTrkpt.appendChild(xmlExt);
             writeXml(xmlExt, "ql:flags", pt.flags);
+            writeXml(xmlExt, pt.extensions);
         }
     }
 }
diff --git a/src/gis/ovl/CDetailsOvlArea.cpp b/src/gis/ovl/CDetailsOvlArea.cpp
index 5dfaceb..fab4940 100644
--- a/src/gis/ovl/CDetailsOvlArea.cpp
+++ b/src/gis/ovl/CDetailsOvlArea.cpp
@@ -16,7 +16,6 @@
 
 **********************************************************************************************/
 
-#include "GeoMath.h"
 #include "gis/ovl/CDetailsOvlArea.h"
 #include "gis/ovl/CGisItemOvlArea.h"
 #include "helpers/CLinksDialog.h"
@@ -231,7 +230,7 @@ void CDetailsOvlArea::setupGui()
         item->setText(eColNum,QString::number(idx++));
 
         // position
-        GPS_Math_Deg_To_Str(pt.lon, pt.lat, str);
+        IUnit::degToStr(pt.lon, pt.lat, str);
         item->setText(eColPosition,str);
         items << item;
     }
diff --git a/src/gis/ovl/CGisItemOvlArea.cpp b/src/gis/ovl/CGisItemOvlArea.cpp
index 59bb923..d75944a 100644
--- a/src/gis/ovl/CGisItemOvlArea.cpp
+++ b/src/gis/ovl/CGisItemOvlArea.cpp
@@ -23,6 +23,7 @@
 #include "gis/ovl/CGisItemOvlArea.h"
 #include "gis/ovl/CScrOptOvlArea.h"
 #include "gis/prj/IGisProject.h"
+#include "helpers/CDraw.h"
 
 #include <QtWidgets>
 #include <proj_api.h>
@@ -388,7 +389,7 @@ void CGisItemOvlArea::drawLabel(QPainter& p, const QPolygonF &viewport, QList<QR
     rect.adjust(-2,-2,2,2);
     rect.moveCenter(pt);
 
-    CCanvas::drawText(getName(), p, pt.toPoint(), Qt::darkBlue);
+    CDraw::text(getName(), p, pt.toPoint(), Qt::darkBlue);
     blockedAreas << rect;
 }
 
diff --git a/src/gis/ovl/CScrOptOvlArea.cpp b/src/gis/ovl/CScrOptOvlArea.cpp
index e0d6c27..f093f2e 100644
--- a/src/gis/ovl/CScrOptOvlArea.cpp
+++ b/src/gis/ovl/CScrOptOvlArea.cpp
@@ -17,10 +17,10 @@
 **********************************************************************************************/
 
 #include "CMainWindow.h"
-#include "canvas/CCanvas.h"
 #include "gis/CGisWidget.h"
 #include "gis/ovl/CGisItemOvlArea.h"
 #include "gis/ovl/CScrOptOvlArea.h"
+#include "helpers/CDraw.h"
 #include "mouse/IMouse.h"
 
 CScrOptOvlArea::CScrOptOvlArea(CGisItemOvlArea *area, const QPoint &point, IMouse *parent)
@@ -91,5 +91,5 @@ void CScrOptOvlArea::draw(QPainter& p)
     }
     item->drawHighlight(p);
 
-    drawBubble2(anchor, p);
+    CDraw::bubble2(*this, anchor, p);
 }
diff --git a/src/gis/prj/CDetailsPrj.cpp b/src/gis/prj/CDetailsPrj.cpp
index 480003e..b76a7ed 100644
--- a/src/gis/prj/CDetailsPrj.cpp
+++ b/src/gis/prj/CDetailsPrj.cpp
@@ -117,15 +117,24 @@ void CDetailsPrj::slotSetupGui()
     comboSort->blockSignals(false);
 
     toolLock->blockSignals(true);
-    toolLock->setChecked(true);
     const int N = prj.childCount();
-    for(int n = 0; n < N; n++)
+    if(N == 0)
     {
-        IGisItem * item = dynamic_cast<IGisItem*>(prj.child(n));
-        if(item && !item->isReadOnly())
+        toolLock->setChecked(false);
+        toolLock->setEnabled(false);
+    }
+    else
+    {
+        toolLock->setChecked(true);
+        toolLock->setEnabled(true);
+        for(int n = 0; n < N; n++)
         {
-            toolLock->setChecked(false);
-            break;
+            IGisItem * item = dynamic_cast<IGisItem*>(prj.child(n));
+            if(item && !item->isReadOnly())
+            {
+                toolLock->setChecked(false);
+                break;
+            }
         }
     }
     toolLock->blockSignals(false);
@@ -133,6 +142,17 @@ void CDetailsPrj::slotSetupGui()
     textDesc->document()->setTextWidth(textDesc->size().width() - 20);
     draw(*textDesc->document(), false);
 
+    QTabWidget * tabWidget = dynamic_cast<QTabWidget*>(parentWidget() ? parentWidget()->parentWidget() : 0);
+    if(tabWidget)
+    {
+        int idx = tabWidget->indexOf(this);
+        if(idx != NOIDX)
+        {
+            setObjectName(prj.getName());
+            tabWidget->setTabText(idx, prj.getName());
+        }
+    }
+
     mutex.unlock();
 }
 
@@ -238,23 +258,6 @@ void CDetailsPrj::draw(QTextDocument& doc, bool printable)
     QTextCursor cursor = doc.rootFrame()->firstCursorPosition();
     cursor.insertHtml(IGisItem::toLink(isReadOnly, "name", QString("<h1>%1</h1>").arg(prj.getNameEx()), ""));
 
-    QTextFrame * diaryFrame = cursor.insertFrame(fmtFrameStandard);
-    {
-        QTextCursor cursor1(diaryFrame);
-        cursor1.setCharFormat(fmtCharStandard);
-        cursor1.setBlockFormat(fmtBlockStandard);
-
-        QTextTable * table = cursor1.insertTable(1, 2, fmtTableHidden);
-
-        QTextCursor cursor2 = table->cellAt(0,0).firstCursorPosition();
-        drawInfo(cursor2, isReadOnly);
-
-        if(prj.getItemCountByType(IGisItem::eTypeTrk) != 0)
-        {
-            QTextCursor cursor3 = table->cellAt(0,1).firstCursorPosition();
-            drawTrackSummary(cursor3, isReadOnly);
-        }
-    }
 
     QList<CGisItemTrk*> trks;
     QList<CGisItemRte*> rtes;
@@ -296,6 +299,24 @@ void CDetailsPrj::draw(QTextDocument& doc, bool printable)
         }
     }
 
+    QTextFrame * diaryFrame = cursor.insertFrame(fmtFrameStandard);
+    {
+        QTextCursor cursor1(diaryFrame);
+        cursor1.setCharFormat(fmtCharStandard);
+        cursor1.setBlockFormat(fmtBlockStandard);
+
+        QTextTable * table = cursor1.insertTable(1, 2, fmtTableHidden);
+
+        QTextCursor cursor2 = table->cellAt(0,0).firstCursorPosition();
+        drawInfo(cursor2, isReadOnly);
+
+        if(prj.getItemCountByType(IGisItem::eTypeTrk) != 0)
+        {
+            QTextCursor cursor3 = table->cellAt(0,1).firstCursorPosition();
+            drawTrackSummary(cursor3, trks, isReadOnly);
+        }
+    }
+
 
     int n=1;
     PROGRESS_SETUP(tr("Build diary..."), 0, nItems, this);
@@ -333,8 +354,18 @@ void CDetailsPrj::drawInfo(QTextCursor& cursor, bool isReadOnly)
     cursor1.insertHtml(IGisItem::createText(isReadOnly, prj.getDescription(), prj.getLinks()));
 }
 
-void CDetailsPrj::drawTrackSummary(QTextCursor& cursor, bool isReadOnly)
+void CDetailsPrj::drawTrackSummary(QTextCursor& cursor, const QList<CGisItemTrk*> trks, bool isReadOnly)
 {
+    quint32 flags = 0;
+    QVector<CActivityTrk::activity_summary_t> summaries(CGisItemTrk::trkpt_t::eActMaxNum + 1);
+    foreach(const CGisItemTrk* trk, trks)
+    {
+        const CActivityTrk& activities = trk->getActivities();
+        flags |= activities.getAllFlags();
+        activities.sumUp(summaries);
+    }
+
+
     QTextFrame * diaryFrame = cursor.insertFrame(fmtFrameTrackSummary);
 
     QTextCursor cursor1(diaryFrame);
@@ -342,21 +373,11 @@ void CDetailsPrj::drawTrackSummary(QTextCursor& cursor, bool isReadOnly)
     cursor1.setCharFormat(fmtCharStandard);
     cursor1.setBlockFormat(fmtBlockStandard);
 
-    QString str, val, unit;
-
+    QString str;
     str += tr("<b>Summary over all tracks in project</b><br/>");
-    str += "<table>";
-    IUnit::self().meter2distance(prj.getTotalDistance(), val, unit);
-    str += "<tr><td>" + tr("Total Distance:") + QString("  </td><td>%1 %2</td></tr>").arg(val).arg(unit);
-    IUnit::self().meter2elevation(prj.getTotalAscend(), val, unit);
-    str += "<tr><td>" + tr("Total Ascend:") + QString("  </td><td>%1 %2</td></tr>").arg(val).arg(unit);
-    IUnit::self().meter2elevation(prj.getTotalDescend(), val, unit);
-    str += "<tr><td>" + tr("Total Descend:") + QString("  </td><td>%1 %2</td></tr>").arg(val).arg(unit);
-    IUnit::self().seconds2time(prj.getTotalElapsedSeconds(), val, unit);
-    str += "<tr><td>" + tr("Total Time:") + QString("  </td><td>%1 %2</td></tr>").arg(val).arg(unit);
-    IUnit::self().seconds2time(prj.getTotalElapsedSecondsMoving(), val, unit);
-    str += "<tr><td>" + tr("Total Time Moving:") + QString("  </td><td>%1 %2</td></tr>").arg(val).arg(unit);
-    str += "</table>";
+    CActivityTrk::printSummary(summaries, flags, str);
+
+
     cursor1.insertHtml(str);
 }
 
diff --git a/src/gis/prj/CDetailsPrj.h b/src/gis/prj/CDetailsPrj.h
index 82caeb0..0c6293d 100644
--- a/src/gis/prj/CDetailsPrj.h
+++ b/src/gis/prj/CDetailsPrj.h
@@ -57,7 +57,7 @@ private:
     void getTrackOverview(CGisItemTrk * trk, QImage& image);
     void draw(QTextDocument& doc, bool printable);
     void drawInfo(QTextCursor& cursor, bool isReadOnly);
-    void drawTrackSummary(QTextCursor& cursor, bool isReadOnly);
+    void drawTrackSummary(QTextCursor& cursor, const QList<CGisItemTrk *> trks, bool isReadOnly);
     void drawByGroup(QTextCursor& cursor, QList<CGisItemTrk *> &trks, QList<CGisItemWpt *> &wpts, CProgressDialog &progress, int &n, bool printable);
     void drawByTrack(QTextCursor& cursor, QList<CGisItemTrk *> &trks, QList<CGisItemWpt *> &wpts, CProgressDialog &progress, int &n, bool printable);
     void drawArea(QTextCursor& cursor, QList<CGisItemOvlArea *> &areas, CProgressDialog &progress, int &n, bool printable);
diff --git a/src/gis/prj/IGisProject.cpp b/src/gis/prj/IGisProject.cpp
index 0d528a6..3503e4b 100644
--- a/src/gis/prj/IGisProject.cpp
+++ b/src/gis/prj/IGisProject.cpp
@@ -52,24 +52,27 @@ IGisProject::IGisProject(type_e type, const QString &filename, CGisListWks *pare
     memset(cntItemsByType, 0, sizeof(cntItemsByType));
     setCheckState(CGisListWks::eColumnDecoration, Qt::Checked);
 
-    // move project up the list until there a re only projects, no devices
-    int newIdx      = NOIDX;
-    const int myIdx = parent->topLevelItemCount() - 1;
-    for(int i = myIdx - 1; i >= 0; i--)
+    if(parent)
     {
-        IDevice * device = dynamic_cast<IDevice*>(parent->topLevelItem(i));
-        if(device != 0)
+        // move project up the list until there a re only projects, no devices
+        int newIdx      = NOIDX;
+        const int myIdx = parent->topLevelItemCount() - 1;
+        for(int i = myIdx - 1; i >= 0; i--)
         {
-            newIdx = i;
-            continue;
+            IDevice * device = dynamic_cast<IDevice*>(parent->topLevelItem(i));
+            if(device != 0)
+            {
+                newIdx = i;
+                continue;
+            }
+            break;
         }
-        break;
-    }
 
-    if(newIdx != NOIDX)
-    {
-        parent->takeTopLevelItem(myIdx);
-        parent->insertTopLevelItem(newIdx, this);
+        if(newIdx != NOIDX)
+        {
+            parent->takeTopLevelItem(myIdx);
+            parent->insertTopLevelItem(newIdx, this);
+        }
     }
 }
 
@@ -106,7 +109,7 @@ bool IGisProject::askBeforClose()
     if(isChanged())
     {
         CCanvas::setOverrideCursor(Qt::ArrowCursor, "askBeforClose");
-        res = QMessageBox::question(CMainWindow::getBestWidgetForParent(), QObject::tr("Save project?"), QObject::tr("<h3>%1</h3>The project was changed. Save befor closing it?").arg(getName()), QMessageBox::Save|QMessageBox::No|QMessageBox::Abort, QMessageBox::No);
+        res = QMessageBox::question(CMainWindow::getBestWidgetForParent(), QObject::tr("Save project?"), QObject::tr("<h3>%1</h3>The project was changed. Save before closing it?").arg(getName()), QMessageBox::Save|QMessageBox::No|QMessageBox::Abort, QMessageBox::No);
         CCanvas::restoreOverrideCursor("askBeforClose");
 
         if(res == QMessageBox::Save)
diff --git a/src/gis/prj/IGisProject.h b/src/gis/prj/IGisProject.h
index c0e2d9d..93406f1 100644
--- a/src/gis/prj/IGisProject.h
+++ b/src/gis/prj/IGisProject.h
@@ -89,7 +89,7 @@ public:
     virtual ~IGisProject();
 
     /**
-       @brief Ask to save the project befor it is closed.
+       @brief Ask to save the project before it is closed.
 
        If the project is closed, the user is asked if the project should be saved and saved on user request.
 
@@ -147,7 +147,8 @@ public:
      */
     const QString& getKey()
     {
-        genKey(); return key;
+        genKey();
+        return key;
     }
 
     /**
@@ -293,9 +294,9 @@ public:
     void editItemByKey(const IGisItem::key_t &key);
 
     /**
-       @brief Add a copy if the gven item to the project
+       @brief Add a copy if the given item to the project
 
-       Befor the item is inserted the method will use it's key to find a duplicat item.
+       Before the item is inserted the method will use it's key to find a duplicate item.
        If there is an item with the same item key a copy option dialog is shown. Depending
        the result the action is performed or aborted. The result will be copied into
        lastResult to repeat the same decision on subsequent items.
@@ -396,7 +397,7 @@ public:
         Use this to speed up actions with many items, e.g. copy actions.
         If the blocking is stopped (yes == false) updateItems() is called.
 
-       @param yes set true to block updateing items
+       @param yes set true to block updating items
      */
     void blockUpdateItems(bool yes);
 
diff --git a/src/gis/qms/serialization.cpp b/src/gis/qms/serialization.cpp
index 128e9f2..ac034da 100644
--- a/src/gis/qms/serialization.cpp
+++ b/src/gis/qms/serialization.cpp
@@ -32,7 +32,7 @@
 #define VER_AREA        quint8(1)
 #define VER_LINK        quint8(1)
 #define VER_TRKSEG      quint8(1)
-#define VER_TRKPT       quint8(1)
+#define VER_TRKPT       quint8(2)
 #define VER_RTEPT       quint8(2)
 #define VER_RTESUBPT    quint8(1)
 #define VER_WPT_T       quint8(1)
@@ -339,6 +339,7 @@ QDataStream& operator<<(QDataStream& stream, const CGisItemTrk::trkpt_t& pt)
 {
     stream << VER_TRKPT << pt.flags;
     stream << (const IGisItem::wpt_t&)pt;
+    stream << pt.extensions;
     return stream;
 }
 
@@ -347,6 +348,10 @@ QDataStream& operator>>(QDataStream& stream, CGisItemTrk::trkpt_t& pt)
     quint8 version;
     stream >> version >> pt.flags;
     stream >> (IGisItem::wpt_t&)pt;
+    if(version > 1)
+    {
+        stream >> pt.extensions;
+    }
     return stream;
 }
 
@@ -810,8 +815,10 @@ QDataStream& IGisProject::operator<<(QDataStream& stream)
             item = new CGisItemOvlArea(history, this);
             break;
 
-        default:;
+        default:
+            ;
         }
+
         if(item && changed)
         {
             item->updateDecoration(IGisItem::eMarkChanged, IGisItem::eMarkNone);
diff --git a/src/gis/rte/CGisItemRte.cpp b/src/gis/rte/CGisItemRte.cpp
index 36484e2..e318bf4 100644
--- a/src/gis/rte/CGisItemRte.cpp
+++ b/src/gis/rte/CGisItemRte.cpp
@@ -27,6 +27,7 @@
 #include "gis/rte/CDetailsRte.h"
 #include "gis/rte/CGisItemRte.h"
 #include "gis/rte/CScrOptRte.h"
+#include "helpers/CDraw.h"
 
 #include <QtWidgets>
 #include <QtXml>
@@ -434,7 +435,7 @@ void CGisItemRte::drawItem(QPainter& p, const QPolygonF& viewport, QList<QRectF>
 
     p.setPen(hasUserFocus() ? penForegroundFocus : penForeground);
     p.setBrush(hasUserFocus() ? penForegroundFocus.color() : penForeground.color());
-    drawArrows(line, extViewport, p);
+    CDraw::arrows(line, extViewport, p, 10, 80);
     p.drawPolyline(line);
 
     p.setPen(Qt::NoPen);
@@ -504,8 +505,8 @@ void CGisItemRte::drawItem(QPainter& p, const QRectF& viewport, CGisDraw * gis)
 
 
         p.setFont(f);
-        p.setPen(CCanvas::penBorderGray);
-        p.setBrush(CCanvas::brushBackWhite);
+        p.setPen(CDraw::penBorderGray);
+        p.setBrush(CDraw::brushBackWhite);
         p.drawPolygon(path1.toFillPolygon());
 
         p.save();
@@ -559,7 +560,7 @@ void CGisItemRte::drawLabel(QPainter& p, const QPolygonF& viewport, QList<QRectF
             }
         }
 
-        CCanvas::drawText(rtept.name, p, rect.toRect(), Qt::darkBlue);
+        CDraw::text(rtept.name, p, rect.toRect(), Qt::darkBlue);
         blockedAreas << rect;
     }
 }
diff --git a/src/gis/rte/CScrOptRte.cpp b/src/gis/rte/CScrOptRte.cpp
index 9119308..1bc209a 100644
--- a/src/gis/rte/CScrOptRte.cpp
+++ b/src/gis/rte/CScrOptRte.cpp
@@ -17,10 +17,10 @@
 **********************************************************************************************/
 
 #include "CMainWindow.h"
-#include "canvas/CCanvas.h"
 #include "gis/CGisWidget.h"
 #include "gis/rte/CGisItemRte.h"
 #include "gis/rte/CScrOptRte.h"
+#include "helpers/CDraw.h"
 #include "mouse/IMouse.h"
 
 CScrOptRte::CScrOptRte(CGisItemRte *rte, const QPoint& point, IMouse *parent)
@@ -122,6 +122,6 @@ void CScrOptRte::draw(QPainter& p)
     }
     item->drawHighlight(p);
 
-    drawBubble2(anchor, p);
+    CDraw::bubble2(*this, anchor, p);
 }
 
diff --git a/src/gis/rte/router/CRouterRoutino.cpp b/src/gis/rte/router/CRouterRoutino.cpp
index 02723da..3b159be 100644
--- a/src/gis/rte/router/CRouterRoutino.cpp
+++ b/src/gis/rte/router/CRouterRoutino.cpp
@@ -22,16 +22,13 @@
 #include "gis/rte/CGisItemRte.h"
 #include "gis/rte/router/CRouterRoutino.h"
 #include "gis/rte/router/CRouterRoutinoPathSetup.h"
+#include "helpers/CAppSetup.h"
 #include "helpers/CProgressDialog.h"
 #include "helpers/CSettings.h"
 #include <QtWidgets>
 #include <proj_api.h>
 #include <routino.h>
 
-#ifndef _MKSTR_1
-#define _MKSTR_1(x)    #x
-#define _MKSTR(x)      _MKSTR_1(x)
-#endif
 
 QPointer<CProgressDialog> CRouterRoutino::progress;
 
@@ -64,22 +61,15 @@ CRouterRoutino::CRouterRoutino(QWidget *parent)
     comboMode->addItem(tr("Quickest"));
 
     int res = 0;
-#ifdef WIN32
-    QString apppath = QCoreApplication::applicationDirPath();
-    apppath = apppath.replace("/", "\\");
-    QDir dirXml(QString("%1\\routino-xml").arg(apppath).toUtf8());
-#else
-    QDir dirXml(_MKSTR(ROUTINO_XML_PATH));
-#endif
-
-    res = Routino_ParseXMLProfiles(dirXml.absoluteFilePath("profiles.xml").toUtf8());
+    CAppSetup *setup = CAppSetup::getPlattformInstance();
+    res = Routino_ParseXMLProfiles(setup->routinoPath("profiles.xml").toUtf8());
     if(res)
     {
         QMessageBox::critical(this, "Routino...", xlateRoutinoError(Routino_errno), QMessageBox::Abort);
         return;
     }
 
-    res = Routino_ParseXMLTranslations(dirXml.absoluteFilePath("translations.xml").toUtf8());
+    res = Routino_ParseXMLTranslations(setup->routinoPath("translations.xml").toUtf8());
     if(res)
     {
         QMessageBox::critical(this, "Routino...", xlateRoutinoError(Routino_errno), QMessageBox::Abort);
diff --git a/src/gis/tnv/serialization.cpp b/src/gis/tnv/serialization.cpp
index 6b884d6..49bed43 100644
--- a/src/gis/tnv/serialization.cpp
+++ b/src/gis/tnv/serialization.cpp
@@ -507,7 +507,7 @@ bool CGisItemTrk::readTwoNav(const QString& filename)
 
             QString lat = values[2].replace(QChar(186),"").replace(QChar(-3),"");
             QString lon = values[3].replace(QChar(186),"").replace(QChar(-3),"");
-            GPS_Math_Str_To_Deg(lat + " " + lon, pt.lon, pt.lat);
+            IUnit::strToDeg(lat + " " + lon, pt.lon, pt.lat);
 
             pt.time = readCompeTime(values[4] + " " + values[5], true);
             pt.ele = values[7].toFloat();
@@ -706,7 +706,7 @@ bool CTwoNavProject::loadWpts(const QString& filename, const QDir& dir)
 
             QString lat = values[3].replace(QChar(186),"").replace(QChar(-3),"");
             QString lon = values[4].replace(QChar(186),"").replace(QChar(-3),"");
-            GPS_Math_Str_To_Deg(lat + " " + lon, wpt.lon, wpt.lat);
+            IUnit::strToDeg(lat + " " + lon, wpt.lon, wpt.lat);
 
             wpt.time = readCompeTime(values[5] + " " + values[6], false);
             wpt.ele  = values[7].toFloat();
diff --git a/src/gis/trk/CActivityTrk.cpp b/src/gis/trk/CActivityTrk.cpp
new file mode 100644
index 0000000..3c68753
--- /dev/null
+++ b/src/gis/trk/CActivityTrk.cpp
@@ -0,0 +1,471 @@
+/**********************************************************************************************
+    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/CActivityTrk.h"
+#include "gis/trk/CGisItemTrk.h"
+#include "units/IUnit.h"
+
+CActivityTrk::desc_t CActivityTrk::actDescriptor[] =
+{
+    {
+        "Foot"
+        , CGisItemTrk::trkpt_t::eActFoot
+        , QObject::tr("Foot")
+        , "://icons/48x48/ActFoot.png"
+        , "://icons/16x16/ActFoot.png"
+    },
+    {
+        "Cycle"
+        , CGisItemTrk::trkpt_t::eActCycle
+        , QObject::tr("Bicycle")
+        , "://icons/48x48/ActCycle.png"
+        , "://icons/16x16/ActCycle.png"
+    },
+    {
+        "Bike"
+        , CGisItemTrk::trkpt_t::eActBike
+        , QObject::tr("Motor Bike")
+        , "://icons/48x48/ActBike.png"
+        , "://icons/16x16/ActBike.png"
+    },
+    {
+        "Car"
+        , CGisItemTrk::trkpt_t::eActCar
+        , QObject::tr("Car")
+        , "://icons/48x48/ActCar.png"
+        , "://icons/16x16/ActCar.png"
+    },
+    {
+        "Cable"
+        , CGisItemTrk::trkpt_t::eActCable
+        , QObject::tr("Cable Car")
+        , "://icons/48x48/ActCable.png"
+        , "://icons/16x16/ActCable.png"
+    },
+    {
+        "Swim"
+        , CGisItemTrk::trkpt_t::eActSwim
+        , QObject::tr("Swim")
+        , "://icons/48x48/ActSwim.png"
+        , "://icons/16x16/ActSwim.png"
+    },
+    {
+        "Ship"
+        , CGisItemTrk::trkpt_t::eActShip
+        , QObject::tr("Ship")
+        , "://icons/48x48/ActShip.png"
+        , "://icons/16x16/ActShip.png"
+    },
+    {
+        "Aeronautik"
+        , CGisItemTrk::trkpt_t::eActAero
+        , QObject::tr("Aeronautik")
+        , "://icons/48x48/ActAero.png"
+        , "://icons/16x16/ActAero.png"
+    },
+    {
+        ""
+        , 0
+        , ""
+        , ""
+    }
+};
+
+CActivityTrk::CActivityTrk(CGisItemTrk * trk)
+    : trk(trk)
+    , allFlags(0)
+    , activitySummary(CGisItemTrk::trkpt_t::eActMaxNum + 1)
+{
+    actDescriptor[0].name = QObject::tr("Foot");
+    actDescriptor[1].name = QObject::tr("Bicycle");
+    actDescriptor[2].name = QObject::tr("Motor Bike");
+    actDescriptor[3].name = QObject::tr("Car");
+    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");
+}
+
+CActivityTrk::~CActivityTrk()
+{
+}
+
+void CActivityTrk::update()
+{
+    allFlags = 0;
+    activityRanges.clear();
+    for(int i = 0; i < activitySummary.size(); i++)
+    {
+        activitySummary[i].reset();
+    }
+
+    const CGisItemTrk::trk_t&       data = trk->getTrackData();
+    const CGisItemTrk::trkpt_t *    lastTrkpt = 0;
+    const CGisItemTrk::trkpt_t *    startTrkpt = 0;
+
+    quint32 lastFlag = 0xFFFFFFFF;
+    foreach(const CGisItemTrk::trkseg_t &seg, data.segs)
+    {
+        foreach(const CGisItemTrk::trkpt_t &pt, seg.pts)
+        {
+            allFlags |= pt.flags;
+
+            if(pt.flags & CGisItemTrk::trkpt_t::eHidden)
+            {
+                continue;
+            }
+            lastTrkpt = &pt;
+            if(pt.flags != lastFlag)
+            {
+                if(startTrkpt != 0)
+                {
+                    activity_summary_t& summary = getSummary(activitySummary, lastFlag);
+                    summary.distance += pt.distance - startTrkpt->distance;
+                    summary.ascend += pt.ascend - startTrkpt->ascend;
+                    summary.descend += pt.descend - startTrkpt->descend;
+                    summary.ellapsedSeconds += pt.elapsedSeconds - startTrkpt->elapsedSeconds;
+                    summary.ellapsedSecondsMoving += pt.elapsedSecondsMoving - startTrkpt->elapsedSecondsMoving;
+
+                    activityRanges << activity_range_t();
+                    activity_range_t& activity = activityRanges.last();
+
+                    activity.d1 = startTrkpt->distance;
+                    activity.d2 = pt.distance;
+                    activity.t1 = startTrkpt->time.toTime_t();
+                    activity.t2 = pt.time.toTime_t();
+
+                    const desc_t& desc = getDescriptor(lastFlag);
+                    activity.name = desc.name;
+                    activity.icon = desc.iconSmall;
+                }
+
+                startTrkpt  = &pt;
+                lastFlag    = pt.flags;
+            }
+        }
+    }
+    activity_summary_t& summary = getSummary(activitySummary, lastFlag);
+    summary.distance += lastTrkpt->distance - startTrkpt->distance;
+    summary.ascend += lastTrkpt->ascend - startTrkpt->ascend;
+    summary.descend += lastTrkpt->descend - startTrkpt->descend;
+    summary.ellapsedSeconds += lastTrkpt->elapsedSeconds - startTrkpt->elapsedSeconds;
+    summary.ellapsedSecondsMoving += lastTrkpt->elapsedSecondsMoving - startTrkpt->elapsedSecondsMoving;
+
+    activityRanges << activity_range_t();
+    activity_range_t& activity = activityRanges.last();
+
+    activity.d1 = startTrkpt->distance;
+    activity.d2 = lastTrkpt->distance;
+    activity.t1 = startTrkpt->time.toTime_t();
+    activity.t2 = lastTrkpt->time.toTime_t();
+
+    const desc_t& desc = getDescriptor(lastFlag);
+    activity.name = desc.name;
+    activity.icon = desc.iconSmall;
+
+
+
+    allFlags &= CGisItemTrk::trkpt_t::eActMask;
+
+//    for(int i = 0; i < 9; i++)
+//    {
+//        activity_summary_t& stat   = summaries[i];
+//        qDebug() << "--------------" << i << "--------------";
+//        qDebug() << "stat.distance" << stat.distance;
+//        qDebug() << "stat.ascend" << stat.ascend;
+//        qDebug() << "stat.descend" << stat.descend;
+//        qDebug() << "stat.timeMoving" << stat.ellapsedSecondsMoving;
+//        qDebug() << "stat.timeTotal" << stat.ellapsedSeconds;
+//    }
+}
+
+void CActivityTrk::printSummary(QString& str) const
+{
+    printSummary(activitySummary, allFlags, str);
+}
+
+void CActivityTrk::printSummary(const QVector<activity_summary_t>& summary, quint32 flags, QString& str)
+{
+    quint32 mask;
+    QString val, unit;
+
+    if((flags == 0) && (summary.size() >= (int)CGisItemTrk::trkpt_t::eActMaxNum))
+    {
+        const activity_summary_t& s = summary[CGisItemTrk::trkpt_t::eActMaxNum];
+
+        str += "<table>";
+        IUnit::self().meter2distance(s.distance, val, unit);
+        str += "<tr><td>" + QObject::tr("Distance:") + QString("  </td><td>%1 %2</td></tr>").arg(val).arg(unit);
+        IUnit::self().meter2elevation(s.ascend, val, unit);
+        str += "<tr><td>" + QObject::tr("Ascend:") + QString("  </td><td>%1 %2</td></tr>").arg(val).arg(unit);
+        IUnit::self().meter2elevation(s.descend, val, unit);
+        str += "<tr><td>" + QObject::tr("Descend:") + QString("  </td><td>%1 %2</td></tr>").arg(val).arg(unit);
+        IUnit::self().meter2speed(s.distance/s.ellapsedSecondsMoving, val, unit);
+        str += "<tr><td>" + QObject::tr("Speed Moving:") + QString("  </td><td>%1 %2</td></tr>").arg(val).arg(unit);
+        IUnit::self().meter2speed(s.distance/s.ellapsedSeconds, val, unit);
+        str += "<tr><td>" + QObject::tr("Speed Total:") + QString("  </td><td>%1 %2</td></tr>").arg(val).arg(unit);
+        IUnit::self().seconds2time(s.ellapsedSecondsMoving, val, unit);
+        str += "<tr><td>" + QObject::tr("Time Moving:") + QString("  </td><td>%1 %2</td></tr>").arg(val).arg(unit);
+        IUnit::self().seconds2time(s.ellapsedSeconds, val, unit);
+        str += "<tr><td>" + QObject::tr("Time Total:") + QString("  </td><td>%1 %2</td></tr>").arg(val).arg(unit);
+        str += "</table>";
+        return;
+    }
+
+
+    const int N = qMin((int)CGisItemTrk::trkpt_t::eActMaxNum, summary.size());
+
+    str += "<table>";
+
+    // ############### build header ###############
+    str += "<tr>";
+    str += "<th></th>";
+    mask = 0x80000000;
+    for(int i = 0; i < N; i++)
+    {
+        if(actDescriptor[i].objName.isEmpty())
+        {
+            break;
+        }
+
+        if((flags & mask) != 0)
+        {
+            str += QString("<th align='right'><img src='%1'/></th>").arg(actDescriptor[i].iconSmall);
+        }
+
+        mask >>= 1;
+    }
+    str += "</tr>";
+
+    // ############### build Distance row ###############
+    str += "<tr>";
+    str += "<td>" + QObject::tr("Distance:") + "</td>";
+    mask = 0x80000000;
+    for(int i = 0; i < N; i++)
+    {
+        if(actDescriptor[i].objName.isEmpty())
+        {
+            break;
+        }
+
+        if((flags & mask) != 0)
+        {
+            const activity_summary_t& s = getSummary(summary, mask);
+            IUnit::self().meter2distance(s.distance, val, unit);
+            str += QString("<td align='right'>  %1 %2</td>").arg(val).arg(unit);
+        }
+
+        mask >>= 1;
+    }
+    str += "</tr>";
+
+    // ############### build Ascend row ###############
+    str += "<tr>";
+    str += "<td>" + QObject::tr("Ascend:") + "</td>";
+    mask = 0x80000000;
+    for(int i = 0; i < N; i++)
+    {
+        if(actDescriptor[i].objName.isEmpty())
+        {
+            break;
+        }
+
+        if((flags & mask) != 0)
+        {
+            const activity_summary_t& s = getSummary(summary, mask);
+            IUnit::self().meter2elevation(s.ascend, val, unit);
+            str += QString("<td align='right'>  %1 %2</td>").arg(val).arg(unit);
+        }
+
+        mask >>= 1;
+    }
+    str += "</tr>";
+
+    // ############### build Descend row ###############
+    str += "<tr>";
+    str += "<td>" + QObject::tr("Descend:") + "</td>";
+    mask = 0x80000000;
+    for(int i = 0; i < N; i++)
+    {
+        if(actDescriptor[i].objName.isEmpty())
+        {
+            break;
+        }
+
+        if((flags & mask) != 0)
+        {
+            const activity_summary_t& s = getSummary(summary, mask);
+            IUnit::self().meter2elevation(s.descend, val, unit);
+            str += QString("<td align='right'>  %1 %2</td>").arg(val).arg(unit);
+        }
+
+        mask >>= 1;
+    }
+    str += "</tr>";
+
+    // ############### build Speed Moving row ###############
+    str += "<tr>";
+    str += "<td>" + QObject::tr("Speed Moving:") + "</td>";
+    mask = 0x80000000;
+    for(int i = 0; i < N; i++)
+    {
+        if(actDescriptor[i].objName.isEmpty())
+        {
+            break;
+        }
+
+        if((flags & mask) != 0)
+        {
+            const activity_summary_t& s = getSummary(summary, mask);
+            IUnit::self().meter2speed(s.distance/s.ellapsedSecondsMoving, val, unit);
+            str += QString("<td align='right'>  %1 %2</td>").arg(val).arg(unit);
+        }
+
+        mask >>= 1;
+    }
+    str += "</tr>";
+
+    // ############### build Speed row ###############
+    str += "<tr>";
+    str += "<td>" + QObject::tr("Speed Total:") + "</td>";
+    mask = 0x80000000;
+    for(int i = 0; i < N; i++)
+    {
+        if(actDescriptor[i].objName.isEmpty())
+        {
+            break;
+        }
+
+        if((flags & mask) != 0)
+        {
+            const activity_summary_t& s = getSummary(summary, mask);
+            IUnit::self().meter2speed(s.distance/s.ellapsedSeconds, val, unit);
+            str += QString("<td align='right'>  %1 %2</td>").arg(val).arg(unit);
+        }
+
+        mask >>= 1;
+    }
+    str += "</tr>";
+
+    // ############### build Time Moving row ###############
+    str += "<tr>";
+    str += "<td>" + QObject::tr("Time Moving:") + "</td>";
+    mask = 0x80000000;
+    for(int i = 0; i < N; i++)
+    {
+        if(actDescriptor[i].objName.isEmpty())
+        {
+            break;
+        }
+
+        if((flags & mask) != 0)
+        {
+            const activity_summary_t& s = getSummary(summary, mask);
+            IUnit::self().seconds2time(s.ellapsedSecondsMoving, val, unit);
+            str += QString("<td align='right'>  %1 %2</td>").arg(val).arg(unit);
+        }
+
+        mask >>= 1;
+    }
+    str += "</tr>";
+
+    // ############### build Time Moving row ###############
+    str += "<tr>";
+    str += "<td>" + QObject::tr("Time Total:") + "</td>";
+    mask = 0x80000000;
+    for(int i = 0; i < N; i++)
+    {
+        if(actDescriptor[i].objName.isEmpty())
+        {
+            break;
+        }
+
+        if((flags & mask) != 0)
+        {
+            const activity_summary_t& s = getSummary(summary, mask);
+            IUnit::self().seconds2time(s.ellapsedSeconds, val, unit);
+            str += QString("<td align='right'>  %1 %2</td>").arg(val).arg(unit);
+        }
+
+        mask >>= 1;
+    }
+    str += "</tr>";
+
+    str += "</table>";
+}
+
+void CActivityTrk::sumUp(QVector<activity_summary_t> &summary) const
+{
+    const int N = qMin(activitySummary.size(), summary.size());
+    for(int i = 0; i < N; i++)
+    {
+        const activity_summary_t& sum1 = activitySummary[i];
+        activity_summary_t& sum2 = summary[i];
+
+        sum2.distance += sum1.distance;
+        sum2.ascend += sum1.ascend;
+        sum2.descend += sum1.descend;
+        sum2.ellapsedSeconds += sum1.ellapsedSeconds;
+        sum2.ellapsedSecondsMoving += sum1.ellapsedSecondsMoving;
+    }
+}
+
+const CActivityTrk::activity_summary_t &CActivityTrk::getSummary(const QVector<activity_summary_t>& summary, quint32 flag)
+{
+    qint32 cnt = 0;
+    flag >>= 24;
+
+    while(((flag & 0x01) == 0) && (cnt < qMin((int)CGisItemTrk::trkpt_t::eActMaxNum,summary.size())))
+    {
+        cnt++;
+        flag >>= 1;
+    }
+
+    return summary[cnt];
+}
+
+
+CActivityTrk::activity_summary_t& CActivityTrk::getSummary(QVector<activity_summary_t> &summary, quint32 flag)
+{
+    qint32 cnt = 0;
+    flag >>= 24;
+
+    while(((flag & 0x01) == 0) && (cnt < qMin((int)CGisItemTrk::trkpt_t::eActMaxNum,summary.size())))
+    {
+        cnt++;
+        flag >>= 1;
+    }
+
+    return summary[cnt];
+}
+
+const CActivityTrk::desc_t& CActivityTrk::getDescriptor(quint32 flag)
+{
+    int i = 0;
+    while(!actDescriptor[i].objName.isEmpty())
+    {
+        if(actDescriptor[i].flag == flag)
+        {
+            break;
+        }
+
+        i++;
+    }
+
+    return actDescriptor[i];
+}
diff --git a/src/gis/trk/CActivityTrk.h b/src/gis/trk/CActivityTrk.h
new file mode 100644
index 0000000..93ad891
--- /dev/null
+++ b/src/gis/trk/CActivityTrk.h
@@ -0,0 +1,137 @@
+/**********************************************************************************************
+    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 CACTIVITYTRK_H
+#define CACTIVITYTRK_H
+
+#include <QIcon>
+#include <QPointer>
+#include <QVector>
+class CGisItemTrk;
+
+class CActivityTrk
+{
+public:
+    virtual ~CActivityTrk();
+
+    struct activity_summary_t
+    {
+        activity_summary_t() : distance(0), ascend(0), descend(0), ellapsedSeconds(0), ellapsedSecondsMoving(0)
+        {
+        }
+
+        void reset()
+        {
+            distance = 0;
+            ascend = 0;
+            descend = 0;
+            ellapsedSeconds = 0;
+            ellapsedSecondsMoving = 0;
+        }
+
+        qreal distance;
+        qreal ascend;
+        qreal descend;
+        qreal ellapsedSeconds;
+        qreal ellapsedSecondsMoving;
+    };
+
+    /**
+       @brief Update internal summary array
+     */
+    void update();
+
+    /**
+       @brief Get sum of all flags seen in the track
+       @return A 32 bit field with all available activity falgs set.
+     */
+    quint32 getAllFlags() const
+    {
+        return allFlags;
+    }
+
+    /**
+       @brief Convert internal summary to HTML table
+       @param str   string to receive HTML
+     */
+    void printSummary(QString& str) const;
+
+    /**
+       @brief Convert array of summaries to HTML table
+       @param summary  The array of summaries
+       @param str   string to receive HTML
+     */
+    static void printSummary(const QVector<activity_summary_t> &summary, quint32 flags, QString& str);
+
+    /**
+       @brief Add internal summary to given array of summaries
+       @param summary  an array of summaries to hold the sum
+     */
+    void sumUp(QVector<activity_summary_t> &summary) const;
+
+    struct activity_range_t
+    {
+        qreal d1;
+        qreal d2;
+
+        qreal t1;
+        qreal t2;
+
+        QString icon;
+        QString name;
+    };
+
+    const QList<activity_range_t>& getActivityRanges() const
+    {
+        return activityRanges;
+    }
+
+    struct desc_t
+    {
+        QString objName;
+        quint32 flag;
+        QString name;
+        QString iconLarge;
+        QString iconSmall;
+    };
+
+    static const desc_t* getActivityDescriptors()
+    {
+        return actDescriptor;
+    }
+
+private:
+    friend class CGisItemTrk;
+    CActivityTrk(CGisItemTrk * trk);
+
+    static desc_t actDescriptor[];
+
+    static activity_summary_t& getSummary(QVector<activity_summary_t> &summary, quint32 flag);
+    static const activity_summary_t& getSummary(const QVector<activity_summary_t> &summary, quint32 flag);
+
+    const desc_t& getDescriptor(quint32 flag);
+
+    CGisItemTrk * trk;
+
+    quint32 allFlags;
+    QList<activity_range_t> activityRanges;
+    QVector<activity_summary_t>  activitySummary;
+};
+
+#endif //CACTIVITYTRK_H
+
diff --git a/src/gis/trk/CDetailsTrk.cpp b/src/gis/trk/CDetailsTrk.cpp
index b11ce3a..7a83bdd 100644
--- a/src/gis/trk/CDetailsTrk.cpp
+++ b/src/gis/trk/CDetailsTrk.cpp
@@ -16,7 +16,6 @@
 
 **********************************************************************************************/
 
-#include "GeoMath.h"
 #include "gis/trk/CDetailsTrk.h"
 #include "gis/trk/filter/CFilterDelete.h"
 #include "gis/trk/filter/CFilterDouglasPeuker.h"
@@ -49,6 +48,27 @@ CDetailsTrk::CDetailsTrk(CGisItemTrk& trk, QWidget *parent)
         comboColor->addItem(icon,"",CGisItemTrk::lineColors[i]);
     }
 
+    int i = 0;
+    const CActivityTrk::desc_t* actDesc = CActivityTrk::getActivityDescriptors();
+    while(!actDesc[i].name.isEmpty())
+    {
+        const CActivityTrk::desc_t& desc = actDesc[i];
+        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("symbol", desc.iconLarge);
+        check->setObjectName("check" + desc.objName);
+
+        connect(check, SIGNAL(clicked(bool)), this, SLOT(slotActivitySelected(bool)));
+
+        layoutActivities->addWidget(check);
+
+        i++;
+    }
+    layoutActivities->addItem(new QSpacerItem(0,0,QSizePolicy::Maximum, QSizePolicy::MinimumExpanding));
+
     setupGui();
 
     plotElevation->setTrack(&trk);
@@ -105,7 +125,6 @@ CDetailsTrk::CDetailsTrk(CGisItemTrk& trk, QWidget *parent)
     item0->setIcon(0, QIcon("://icons/48x48/TrkCut.png"));
     item0->setText(0, tr("Cut track into pieces"));
 
-
     SETTINGS;
     cfg.beginGroup("TrackDetails");
     checkProfile->setChecked(cfg.value("showProfile", true).toBool());
@@ -159,7 +178,8 @@ void CDetailsTrk::setupGui()
     QString str, val, unit;
     bool isReadOnly = trk.isReadOnly();
 
-    tabWidget->widget(2)->setEnabled(!isReadOnly);
+    tabWidget->widget(3)->setEnabled(!isReadOnly);
+    tabWidget->widget(1)->setEnabled(!isReadOnly);
 
     if(trk.isTainted())
     {
@@ -261,7 +281,7 @@ void CDetailsTrk::setupGui()
             item->setText(eColDescend, tr("%1 %2").arg(val).arg(unit));
 
             // position
-            GPS_Math_Deg_To_Str(trkpt.lon, trkpt.lat, str);
+            IUnit::degToStr(trkpt.lon, trkpt.lat, str);
             item->setText(eColPosition,str);
 
             items << item;
@@ -277,10 +297,52 @@ void CDetailsTrk::setupGui()
     textCmtDesc->moveCursor (QTextCursor::Start);
     textCmtDesc->ensureCursorVisible();
 
+    quint32 flags = trk.getActivities().getAllFlags();
+
+    int i = 0;
+    const CActivityTrk::desc_t* actDesc = CActivityTrk::getActivityDescriptors();
+    while(!actDesc[i].objName.isEmpty())
+    {
+        const CActivityTrk::desc_t& desc = actDesc[i];
+
+        QCheckBox * check = findChild<QCheckBox*>("check" + desc.objName);
+        if(check)
+        {
+            check->setChecked((flags & desc.flag) == desc.flag);
+        }
+
+        i++;
+    }
+
+    str.clear();
+    trk.getActivities().printSummary(str);
+    labelActivityInfo->setText(str);
+
+    if((flags & CGisItemTrk::trkpt_t::eActMask) == 0)
+    {
+        labelActivityHelp->show();
+        labelActivityInfo->hide();
+    }
+    else
+    {
+        labelActivityHelp->hide();
+        labelActivityInfo->show();
+    }
 
     plotTrack->setTrack(&trk);
     listHistory->setupHistory(trk);
 
+    QTabWidget * tabWidget = dynamic_cast<QTabWidget*>(parentWidget() ? parentWidget()->parentWidget() : 0);
+    if(tabWidget)
+    {
+        int idx = tabWidget->indexOf(this);
+        if(idx != NOIDX)
+        {
+            setObjectName(trk.getName());
+            tabWidget->setTabText(idx, trk.getName());
+        }
+    }
+
     originator = false;
     CCanvas::restoreOverrideCursor("CDetailsTrk::setupGui");
 }
@@ -439,3 +501,26 @@ void CDetailsTrk::slotLinkActivated(const QUrl& url)
         QDesktopServices::openUrl(url);
     }
 }
+
+void CDetailsTrk::slotActivitySelected(bool checked)
+{
+    if(!checked)
+    {
+        if(QMessageBox::warning(this, tr("Reset activities..."), tr("This will remove all activities from the track. Proceed?"), QMessageBox::Ok|QMessageBox::No, QMessageBox::Ok) != QMessageBox::Ok)
+        {
+            setupGui();
+            return;
+        }
+
+        trk.setActivity(CGisItemTrk::trkpt_t::eActNone, tr("None"), "://icons/48x48/ActNone.png");
+        return;
+    }
+
+    QObject * s = sender();
+    bool ok = false;
+    quint32 flag = s->property("flag").toUInt(&ok);
+    if(ok)
+    {
+        trk.setActivity(flag, s->property("name").toString(), s->property("symbol").toString());
+    }
+}
diff --git a/src/gis/trk/CDetailsTrk.h b/src/gis/trk/CDetailsTrk.h
index 820989c..2693844 100644
--- a/src/gis/trk/CDetailsTrk.h
+++ b/src/gis/trk/CDetailsTrk.h
@@ -46,6 +46,7 @@ private slots:
     void slotLinkActivated(const QUrl& url);
     void slotLinkActivated(const QString& url);
     void slotMouseClickState(int);
+    void slotActivitySelected(bool checked);
 
 private:
     enum columns_t
diff --git a/src/gis/trk/CGisItemTrk.cpp b/src/gis/trk/CGisItemTrk.cpp
index 6a916a7..7872bcf 100644
--- a/src/gis/trk/CGisItemTrk.cpp
+++ b/src/gis/trk/CGisItemTrk.cpp
@@ -17,7 +17,6 @@
 **********************************************************************************************/
 
 #include "CMainWindow.h"
-#include "CMainWindow.h"
 #include "GeoMath.h"
 #include "gis/CGisDraw.h"
 #include "gis/CGisWidget.h"
@@ -26,7 +25,9 @@
 #include "gis/trk/CDetailsTrk.h"
 #include "gis/trk/CGisItemTrk.h"
 #include "gis/trk/CScrOptTrk.h"
+#include "gis/trk/CSelectActivity.h"
 #include "gis/wpt/CGisItemWpt.h"
+#include "helpers/CDraw.h"
 #include "helpers/CProgressDialog.h"
 #include "plot/IPlot.h"
 
@@ -111,6 +112,12 @@ struct trkwpt_t
     IGisItem::key_t key;
 };
 
+struct activity_t
+{
+    QString name;
+    QString icon;
+};
+
 
 const QPen CGisItemTrk::penBackground(Qt::white, 5, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin);
 
@@ -125,6 +132,7 @@ CGisItemTrk::CGisItemTrk(const QString &name, qint32 idx1, qint32 idx2, const tr
     , mouseRange1(0)
     , mouseRange2(0)
     , rangeState(eRangeStateIdle)
+    , activities(this)
 {
     flags = eFlagCreatedInQms;
 
@@ -173,6 +181,7 @@ CGisItemTrk::CGisItemTrk(const CGisItemTrk& parentTrk, IGisProject *project, int
     , mouseRange1(0)
     , mouseRange2(0)
     , rangeState(eRangeStateIdle)
+    , activities(this)
 {
     *this = parentTrk;
     key.project = project->getKey();
@@ -215,6 +224,7 @@ CGisItemTrk::CGisItemTrk(const SGisLine& l, const QString& name, IGisProject * p
     , mouseRange1(0)
     , mouseRange2(0)
     , rangeState(eRangeStateIdle)
+    , activities(this)
 {
     trk.name = name;
     readTrackDataFromGisLine(l);
@@ -236,6 +246,7 @@ CGisItemTrk::CGisItemTrk(const QDomNode& xml, IGisProject *project)
     , mouseRange1(0)
     , mouseRange2(0)
     , rangeState(eRangeStateIdle)
+    , activities(this)
 {
     // --- start read and process data ----
     setColor(penForeground.color());
@@ -255,6 +266,7 @@ CGisItemTrk::CGisItemTrk(const QString& filename, IGisProject * project)
     , mouseRange1(0)
     , mouseRange2(0)
     , rangeState(eRangeStateIdle)
+    , activities(this)
 {
     // --- start read and process data ----
     setColor(penForeground.color());
@@ -277,6 +289,7 @@ CGisItemTrk::CGisItemTrk(const history_t& hist, IGisProject * project)
     , mouseRange1(0)
     , mouseRange2(0)
     , rangeState(eRangeStateIdle)
+    , activities(this)
 {
     history = hist;
     loadHistory(hist.histIdxCurrent);
@@ -291,6 +304,7 @@ CGisItemTrk::CGisItemTrk(quint64 id, QSqlDatabase& db, IGisProject * project)
     , mouseRange1(0)
     , mouseRange2(0)
     , rangeState(eRangeStateIdle)
+    , activities(this)
 {
     loadFromDb(id, db);
 }
@@ -305,10 +319,10 @@ CGisItemTrk::~CGisItemTrk()
     }
 
     /**
-        Delete all registerd plot as they can't exist without the item.
+        Delete all registered plot as they can't exist without the item.
         As the plot objects will unregister via unregisterPlot() in their
         destructor things will get a bit complicated here. Better create
-        a copy of the list befor we start to delete.
+        a copy of the list before we start to delete.
      */
     qDeleteAll(registeredPlots.toList());
 
@@ -320,6 +334,7 @@ void CGisItemTrk::setSymbol()
     setColor(str2color(trk.color));
 }
 
+
 void CGisItemTrk::setDataFromPolyline(const SGisLine &l)
 {
     QMutexLocker lock(&mutexItems);
@@ -536,9 +551,11 @@ QString CGisItemTrk::getInfoRange()
         pt2--;
     }
 
-    bool timeIsValid = pt1->time.isValid() && pt2->time.isValid();
+    bool timeIsValid    = pt1->time.isValid() && pt2->time.isValid();
+    qreal deltaTime     = pt2->time.toTime_t() - pt1->time.toTime_t();
 
     d = tmp = pt2->distance - pt1->distance;
+
     IUnit::self().meter2distance(tmp, val, unit);
     str += QString("%3 %1%2 ").arg(val).arg(unit).arg(QChar(0x21A6));
     if(timeIsValid)
@@ -548,7 +565,10 @@ QString CGisItemTrk::getInfoRange()
         quint32 mm = (t - hh * 3600) / 60;
         quint32 ss = (t - hh * 3600 - mm * 60);
 
-        str += QString("%4 %1:%2:%3\n").arg(hh,2,10,QChar('0')).arg(mm,2,10,QChar('0')).arg(ss,2,10,QChar('0')).arg(QChar(0x231a));
+        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
     {
@@ -557,7 +577,6 @@ QString CGisItemTrk::getInfoRange()
 
     qreal deltaAscend   = pt2->ascend  - pt1->ascend;
     qreal deltaDescend  = pt2->descend - pt1->descend;
-    qreal deltaTime     = pt2->time.toTime_t() - pt1->time.toTime_t();
 
     tmp       = qAtan(deltaAscend/d);
     slope1    = qAbs(tmp * 360.0/(2 * M_PI));
@@ -618,6 +637,14 @@ QString CGisItemTrk::getInfoTrkPt(const trkpt_t& pt)
         str += QObject::tr(" speed: %1%2").arg(val1).arg(unit1);
     }
 
+    QStringList keys = pt.extensions.keys();
+    keys.sort();
+    foreach(const QString &key, keys)
+    {
+        QStringList tags = key.split("|");
+        str += "\n" + tags.last() + ": " + pt.extensions[key].toString();
+    }
+
     return str;
 }
 
@@ -796,7 +823,6 @@ void CGisItemTrk::deriveSecondaryData()
     totalElapsedSeconds     = NOTIME;
     totalElapsedSecondsMoving = NOTIME;
 
-
     // remove empty segments
     QVector<trkseg_t>::iterator i = trk.segs.begin();
     while(i != trk.segs.end())
@@ -959,7 +985,7 @@ void CGisItemTrk::deriveSecondaryData()
             n = p;
             while(n < seg.pts.size())
             {
-                trkpt_t & trkpt2 = seg.pts[n];;
+                trkpt_t & trkpt2 = seg.pts[n];
                 if((trkpt2.flags & trkpt_t::eHidden) || (trkpt2.ele == NOINT))
                 {
                     n++;
@@ -991,8 +1017,6 @@ void CGisItemTrk::deriveSecondaryData()
         }
     }
 
-
-
     if(lastTrkpt != 0)
     {
         timeEnd                 = lastTrkpt->time;
@@ -1003,6 +1027,8 @@ void CGisItemTrk::deriveSecondaryData()
         totalElapsedSecondsMoving = lastTrkpt->elapsedSecondsMoving;
     }
 
+    activities.update();
+
     foreach(IPlot * plot, registeredPlots)
     {
         plot->updateData();
@@ -1058,7 +1084,7 @@ void CGisItemTrk::findWaypointsCloseBy(CProgressDialog& progress, quint32& curre
         return;
     }
 
-    // convert coodinates of all waypoints into meter coordinates relative to the first track point
+    // convert coordinates of all waypoints into meter coordinates relative to the first track point
     point3D pt0 = line[0];
     QList<trkwpt_t> trkwpts;
     for(int i=0; i < project->childCount(); i++)
@@ -1339,6 +1365,11 @@ void CGisItemTrk::combine(const QList<IGisItem::key_t>& keysPreSel)
 
 void CGisItemTrk::hideSelectedPoints()
 {
+    if(!setReadOnlyMode(false))
+    {
+        return;
+    }
+
     if((mouseRange1 == 0) && (mouseRange2 == 0))
     {
         return;
@@ -1407,6 +1438,11 @@ void CGisItemTrk::hideSelectedPoints()
 
 void CGisItemTrk::showSelectedPoints()
 {
+    if(!setReadOnlyMode(false))
+    {
+        return;
+    }
+
     if((mouseRange1 == 0) && (mouseRange2 == 0))
     {
         return;
@@ -1582,7 +1618,7 @@ void CGisItemTrk::drawItem(QPainter& p, const QPolygonF& viewport, QList<QRectF>
     foreach(const QPolygonF &l, lines)
     {
         p.drawPolyline(l);
-        drawArrows(l, extViewport, p);
+        CDraw::arrows(l, extViewport, p, 10, 80);
     }
     penForeground.setColor(color);
     p.setPen(penForeground);
@@ -1629,25 +1665,10 @@ void CGisItemTrk::drawItem(QPainter& p, const QRectF& viewport, CGisDraw * gis)
 
         QRect box(0, 0, w, h);
         box.moveBottomLeft(anchor.toPoint() + QPoint(-50,-50));
-
-        // create bubble path
-        QPainterPath path1;
-        path1.addRoundedRect(box,5,5);
-
-        QPolygonF poly2;
-        poly2 << anchor << (box.bottomLeft() + QPointF(10,-5)) << (box.bottomLeft() + QPointF(30,-5)) << anchor;
-        QPainterPath path2;
-        path2.addPolygon(poly2);
-
-        path1 = path1.united(path2);
-
-        p.setFont(f);
-        // draw bubble
-        p.setPen(CCanvas::penBorderGray);
-        p.setBrush(CCanvas::brushBackWhite);
-        p.drawPolygon(path1.toFillPolygon());
+        CDraw::bubble1(box, anchor, p);
 
         p.save();
+        p.setFont(f);
         p.translate(box.topLeft());
 
         // draw progress bar distance
@@ -1819,6 +1840,98 @@ void CGisItemTrk::setColor(int idx)
     changed(QObject::tr("Changed color"), "://icons/48x48/SelectColor.png");
 }
 
+void CGisItemTrk::setActivity(quint32 flag, const QString& name, const QString& icon)
+{
+    for(int s = 0; s < trk.segs.size(); s++)
+    {
+        trkseg_t& seg = trk.segs[s];
+        for(int i = 0; i < seg.pts.size(); i++)
+        {
+            trkpt_t& trkpt = seg.pts[i];
+            trkpt.flags &= ~trkpt_t::eActMask;
+            trkpt.flags |= flag;
+        }
+    }
+
+    deriveSecondaryData();
+    changed(QObject::tr("Changed activity to '%1' for complete track.").arg(name), icon);
+}
+
+void CGisItemTrk::setActivity()
+{
+    if((mouseRange1 == 0) && (mouseRange2 == 0))
+    {
+        return;
+    }
+
+    quint32 flag = 0;
+    QString name;
+    QString icon;
+
+    CSelectActivity dlg(flag, name, icon, CMainWindow::getBestWidgetForParent());
+    if(dlg.exec() != QDialog::Accepted)
+    {
+        return;
+    }
+
+    if(!setReadOnlyMode(false))
+    {
+        return;
+    }
+
+    // read start/stop indices
+    qint32 idx1 = mouseRange1->idxTotal;
+    qint32 idx2 = mouseRange2->idxTotal;
+
+    if(idx1 > idx2)
+    {
+        qSwap(idx1,idx2);
+    }
+
+    // special case for a single point
+    if(idx1 == idx2)
+    {
+        for(int s = 0; s < trk.segs.size(); s++)
+        {
+            trkseg_t& seg = trk.segs[s];
+            for(int i = 0; i < seg.pts.size(); i++)
+            {
+                trkpt_t& trkpt = seg.pts[i];
+
+                if((idx1 == trkpt.idxTotal))
+                {
+                    trkpt.flags &= ~trkpt_t::eActMask;
+                    trkpt.flags |= flag;
+                }
+            }
+        }
+    }
+    else
+    {
+        // iterate over all segments and delete points between idx1 and idx2
+        for(int s = 0; s < trk.segs.size(); s++)
+        {
+            trkseg_t& seg = trk.segs[s];
+            for(int i = 0; i < seg.pts.size(); i++)
+            {
+                trkpt_t& trkpt = seg.pts[i];
+
+                if((idx1 < trkpt.idxTotal) && (trkpt.idxTotal < idx2))
+                {
+                    trkpt.flags &= ~trkpt_t::eActMask;
+                    trkpt.flags |= flag;
+                }
+            }
+        }
+    }
+    mouseRange1 = 0;
+    mouseRange2 = 0;
+    rangeState  = eRangeStateIdle;
+    deriveSecondaryData();
+    changed(QObject::tr("Changed activity to '%1' for range(%2..%3).").arg(name).arg(idx1).arg(idx2), icon);
+}
+
+
 void CGisItemTrk::setColor(const QColor& c)
 {
     int n;
@@ -1846,7 +1959,6 @@ void CGisItemTrk::setColor(const QColor& c)
 }
 
 
-
 void CGisItemTrk::setIcon(const QString& c)
 {
     trk.color   = c;
@@ -1868,7 +1980,7 @@ bool CGisItemTrk::setMouseFocusByDistance(qreal dist, focusmode_e fmode, const Q
     {
         qreal delta = totalDistance;
 
-        /// @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
 
         foreach (const trkseg_t &seg, trk.segs)
         {
@@ -1946,7 +2058,7 @@ QPointF CGisItemTrk::setMouseFocusByPoint(const QPoint& pt, focusmode_e fmode, c
         /*
             Iterate over the polyline used to draw the track as it contains screen
             coordinates. The polyline is a linear representation of the segments in the
-            track. That is why the index into the polyline cant't be used directly.
+            track. That is why the index into the polyline can't be used directly.
             In a second step we have to iterate over all segments and points of the trk_t object
             until the index is reached. This is done by either getTrkPtByVisibleIndex(), or
             getTrkPtByTotalIndex(). Depending on the current mode.
@@ -1973,7 +2085,7 @@ QPointF CGisItemTrk::setMouseFocusByPoint(const QPoint& pt, focusmode_e fmode, c
     }
 
     /*
-       Test for line size befor applying index. This fixes random assertions because
+       Test for line size before applying index. This fixes random assertions because
        of an invalid index. The reason for this is unknown.
      */
     return newPointOfFocus ? ((int)idx < line.size() ? line[idx] : NOPOINTF) : NOPOINTF;
@@ -2167,7 +2279,8 @@ void CGisItemTrk::publishMouseFocusNormalMode(const trkpt_t * pt, focusmode_e fm
             }
         }
 
-    default:;
+    default:
+        ;
     }
 }
 
@@ -2179,3 +2292,4 @@ void CGisItemTrk::changed(const QString& what, const QString& icon)
         dlgDetails->setupGui();
     }
 }
+
diff --git a/src/gis/trk/CGisItemTrk.h b/src/gis/trk/CGisItemTrk.h
index b87d5a1..b9e5d38 100644
--- a/src/gis/trk/CGisItemTrk.h
+++ b/src/gis/trk/CGisItemTrk.h
@@ -21,6 +21,7 @@
 
 #include "gis/IGisItem.h"
 #include "gis/IGisLine.h"
+#include "gis/trk/CActivityTrk.h"
 
 #include <QPen>
 #include <QPointer>
@@ -142,26 +143,40 @@ public:
      */
     QDataStream& operator>>(QDataStream& stream);
 
+    /// get name of track
     const QString& getName() const
     {
         return trk.name.isEmpty() ? noName : trk.name;
     }
 
+    /// get the track color as index into the Garmin color table
     int getColorIdx() const
     {
         return colorIdx;
     }
 
+    /// get the track color a Qt color object
     const QColor& getColor() const
     {
         return color;
     }
 
+
+    /**
+       @brief get a summary of the track
+       @param allowEdit if true the track name is a link to allow interactions like edit
+       @return
+     */
     QString getInfo(bool allowEdit = false) const;
+    /// get a summary of a selected range
     QString getInfoRange();
+    /// get a summary of a selected range defined by two track points
+    QString getInfoRange(const trkpt_t& pt1, const trkpt_t& pt2);
+    /// get a summary for a track point
     QString getInfoTrkPt(const trkpt_t& pt);
+    /// get a progress summary for a selected track point
     QString getInfoProgress(const trkpt_t& pt);
-    QString getInfoRange(const trkpt_t& pt1, const trkpt_t& pt2);
+
     quint32 getTotalElapsedSeconds() const
     {
         return totalElapsedSeconds;
@@ -211,6 +226,13 @@ public:
         return cntVisiblePoints;
     }
 
+    const CActivityTrk& getActivities() const
+    {
+        return activities;
+    }
+
+
+
     /**
        @brief Get the indeces of visible points for a selected range
 
@@ -229,8 +251,25 @@ public:
     void setLinks(const QList<link_t>& links);
     void setDataFromPolyline(const SGisLine &l);
 
+    /**
+       @brief display the track screen options
+
+       @param origin    the point on screen to anchor the options
+       @param mouse     the mouse object causing the request
+       @return          a pointer to the screen option widget
+     */
     IScrOpt * getScreenOptions(const QPoint &origin, IMouse * mouse);
+    /**
+       @brief Get a screen pixel of the track close to the given position on the screen
+       @param screenPos Screen position as pixel coordinate
+       @return The screen coordinates as pixel of a track point close by
+     */
     QPointF getPointCloseBy(const QPoint& screenPos);
+    /**
+       @brief isCloseTo
+       @param pos Screen position as pixel coordinate
+       @return True if point is considered clse enough
+     */
     bool isCloseTo(const QPointF& pos);
 
     void drawItem(QPainter& p, const QPolygonF& viewport, QList<QRectF>& blockedAreas, CGisDraw * gis);
@@ -302,6 +341,23 @@ public:
     void showSelectedPoints();
 
     /**
+       @brief Set the activity flag for all track points
+       @param flag  one of trkpt_t::flag_e::eAct...
+       @param name  the name of the activity
+       @param icon  a resource icon string to display with the activity
+     */
+    void setActivity(quint32 flag, const QString &name, const QString &icon);
+
+    /**
+       @brief Sets the activity flag for a selected range of track points
+
+       The range has to be selected already. The activity will be selected by a dialog displayed
+       in this method.
+
+     */
+    void setActivity();
+
+    /**
        @brief Copy a section into a new track object
 
        The section is defined by mouseClickFocus and mouseMoveFocus, All points are copied,
@@ -562,7 +618,20 @@ public:
 
         enum flag_e
         {
-            eHidden   = 0x00000004      ///< mark point as deleted
+            eHidden     = 0x00000004      ///< mark point as deleted
+
+                          // activity flags
+            ,eActNone   = 0x00000000
+            ,eActFoot   = 0x80000000
+            ,eActCycle  = 0x40000000
+            ,eActBike   = 0x20000000
+            ,eActCar    = 0x10000000
+            ,eActCable  = 0x08000000
+            ,eActSwim   = 0x04000000
+            ,eActShip   = 0x02000000
+            ,eActAero   = 0x01000000
+            ,eActMask   = 0xFF000000    ///< mask for activity flags
+            ,eActMaxNum = 8             ///< maximum number of activity flags. this is defined by the mask
         };
 
         quint32 flags;
@@ -591,6 +660,8 @@ public:
         qreal elapsedSecondsMoving;
         /// the key of an attached waypoint
         key_t keyWpt;
+
+        QHash<QString,QVariant> extensions;
     };
 
     struct trkseg_t
@@ -698,7 +769,8 @@ private:
     rangestate_e rangeState;
 
     QString mouseFocusOwner;
+
+    CActivityTrk activities;
 };
 
 #endif //CGISITEMTRK_H
-
diff --git a/src/gis/trk/CScrOptTrk.cpp b/src/gis/trk/CScrOptTrk.cpp
index a2d3a09..f504f56 100644
--- a/src/gis/trk/CScrOptTrk.cpp
+++ b/src/gis/trk/CScrOptTrk.cpp
@@ -17,10 +17,10 @@
 **********************************************************************************************/
 
 #include "CMainWindow.h"
-#include "canvas/CCanvas.h"
 #include "gis/CGisWidget.h"
 #include "gis/trk/CGisItemTrk.h"
 #include "gis/trk/CScrOptTrk.h"
+#include "helpers/CDraw.h"
 #include "mouse/IMouse.h"
 
 CScrOptTrk::CScrOptTrk(CGisItemTrk * trk, const QPoint& point, IMouse *parent)
@@ -146,5 +146,5 @@ void CScrOptTrk::draw(QPainter& p)
     }
     item->drawHighlight(p);
 
-    drawBubble2(anchor, p);
+    CDraw::bubble2(*this, anchor, p);
 }
diff --git a/src/gis/trk/CSelectActivity.cpp b/src/gis/trk/CSelectActivity.cpp
new file mode 100644
index 0000000..b5323bd
--- /dev/null
+++ b/src/gis/trk/CSelectActivity.cpp
@@ -0,0 +1,72 @@
+/**********************************************************************************************
+    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/CActivityTrk.h"
+#include "gis/trk/CGisItemTrk.h"
+#include "gis/trk/CSelectActivity.h"
+
+#include <QtWidgets>
+
+CSelectActivity::CSelectActivity(quint32 &flag, QString &name, QString &icon, QWidget * parent)
+    : QDialog(parent)
+    , flag(flag)
+    , name(name)
+    , icon(icon)
+{
+    setupUi(this);
+
+    int i = 0;
+    QLayout * l = layout();
+
+    const CActivityTrk::desc_t* actDesc = CActivityTrk::getActivityDescriptors();
+    while(!actDesc[i].name.isEmpty())
+    {
+        const CActivityTrk::desc_t& desc = actDesc[i];
+        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("symbol", desc.iconLarge);
+
+        connect(check, SIGNAL(clicked(bool)), this, SLOT(slotActivitySelected(bool)));
+
+        l->addWidget(check);
+
+        i++;
+    }
+
+    l->addItem(new QSpacerItem(0,0,QSizePolicy::Maximum, QSizePolicy::MinimumExpanding));
+}
+
+CSelectActivity::~CSelectActivity()
+{
+}
+
+void CSelectActivity::slotActivitySelected(bool)
+{
+    QObject * s = sender();
+    bool ok = false;
+    flag = s->property("flag").toUInt(&ok);
+    if(ok)
+    {
+        name = s->property("name").toString();
+        icon = s->property("symbol").toString();
+    }
+    QDialog::accept();
+}
diff --git a/src/mouse/line/CLineOpMovePoint.h b/src/gis/trk/CSelectActivity.h
similarity index 64%
copy from src/mouse/line/CLineOpMovePoint.h
copy to src/gis/trk/CSelectActivity.h
index 6edab86..83c307e 100644
--- a/src/mouse/line/CLineOpMovePoint.h
+++ b/src/gis/trk/CSelectActivity.h
@@ -16,30 +16,28 @@
 
 **********************************************************************************************/
 
-#ifndef CLINEOPMOVEPOINT_H
-#define CLINEOPMOVEPOINT_H
+#ifndef CSELECTACTIVITY_H
+#define CSELECTACTIVITY_H
 
-#include "mouse/line/ILineOp.h"
+#include "ui_ISelectActivity.h"
+#include <QDialog>
 
-class CLineOpMovePoint : public ILineOp
+class CSelectActivity : public QDialog, private Ui::ISelectActivity
 {
+    Q_OBJECT
 public:
-    CLineOpMovePoint(SGisLine& points, CGisDraw *gis, CCanvas *canvas, IMouseEditLine *parent);
-    virtual ~CLineOpMovePoint();
+    CSelectActivity(quint32& flag, QString& name, QString& icon, QWidget * parent);
+    virtual ~CSelectActivity();
 
-    void mousePressEventEx(QMouseEvent * e);
-    void mouseMoveEventEx(QMouseEvent * e);
-    void mouseReleaseEventEx(QMouseEvent * e)
-    {
-    }
 
-    void drawFg(QPainter& p);
-
-    void canvasPanned(QPointF pos);
+private slots:
+    void slotActivitySelected(bool);
 
 private:
-    bool movePoint;
+    quint32& flag;
+    QString& name;
+    QString& icon;
 };
 
-#endif //CLINEOPMOVEPOINT_H
+#endif //CSELECTACTIVITY_H
 
diff --git a/src/gis/trk/IDetailsTrk.ui b/src/gis/trk/IDetailsTrk.ui
index e661d66..9e30549 100644
--- a/src/gis/trk/IDetailsTrk.ui
+++ b/src/gis/trk/IDetailsTrk.ui
@@ -400,6 +400,78 @@
            </item>
           </layout>
          </widget>
+         <widget class="QWidget" name="tab_2">
+          <attribute name="title">
+           <string>Activity</string>
+          </attribute>
+          <layout class="QHBoxLayout" name="horizontalLayout_2">
+           <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="QVBoxLayout" name="layoutActivities">
+             <property name="spacing">
+              <number>3</number>
+             </property>
+            </layout>
+           </item>
+           <item>
+            <widget class="Line" name="line_3">
+             <property name="orientation">
+              <enum>Qt::Vertical</enum>
+             </property>
+            </widget>
+           </item>
+           <item>
+            <widget class="QLabel" name="labelActivityInfo">
+             <property name="text">
+              <string/>
+             </property>
+             <property name="alignment">
+              <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
+             </property>
+            </widget>
+           </item>
+           <item>
+            <widget class="QLabel" name="labelActivityHelp">
+             <property name="text">
+              <string>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.</string>
+             </property>
+             <property name="alignment">
+              <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
+             </property>
+             <property name="wordWrap">
+              <bool>true</bool>
+             </property>
+            </widget>
+           </item>
+           <item>
+            <spacer name="horizontalSpacer_2">
+             <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">
           <attribute name="title">
            <string>Points</string>
@@ -568,9 +640,6 @@
          </widget>
         </widget>
        </item>
-       <item>
-        <layout class="QVBoxLayout" name="verticalLayout_2"/>
-       </item>
       </layout>
      </widget>
     </widget>
diff --git a/src/gis/trk/ISelectActivity.ui b/src/gis/trk/ISelectActivity.ui
new file mode 100644
index 0000000..789124f
--- /dev/null
+++ b/src/gis/trk/ISelectActivity.ui
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>ISelectActivity</class>
+ <widget class="QDialog" name="ISelectActivity">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>171</width>
+    <height>273</height>
+   </rect>
+  </property>
+  <property name="windowTitle">
+   <string>Activities...</string>
+  </property>
+  <layout class="QVBoxLayout" name="verticalLayout">
+   <item>
+    <widget class="QLabel" name="label">
+     <property name="text">
+      <string>Select one:</string>
+     </property>
+    </widget>
+   </item>
+  </layout>
+ </widget>
+ <resources/>
+ <connections/>
+</ui>
diff --git a/src/gis/wpt/CDetailsGeoCache.cpp b/src/gis/wpt/CDetailsGeoCache.cpp
index cfeff93..739aefb 100644
--- a/src/gis/wpt/CDetailsGeoCache.cpp
+++ b/src/gis/wpt/CDetailsGeoCache.cpp
@@ -16,7 +16,6 @@
 
 **********************************************************************************************/
 
-#include "GeoMath.h"
 #include "gis/wpt/CDetailsGeoCache.h"
 #include "gis/wpt/CGisItemWpt.h"
 
@@ -39,7 +38,7 @@ CDetailsGeoCache::CDetailsGeoCache(CGisItemWpt &wpt, QWidget *parent)
     QString val, unit;
     QString strPos;
     QPointF pos = wpt.getPosition();
-    GPS_Math_Deg_To_Str(pos.x(), pos.y(), strPos);
+    IUnit::degToStr(pos.x(), pos.y(), strPos);
 
     const CGisItemWpt::geocache_t& geocache = wpt.getGeoCache();
 
diff --git a/src/gis/wpt/CDetailsWpt.cpp b/src/gis/wpt/CDetailsWpt.cpp
index e62472d..616379d 100644
--- a/src/gis/wpt/CDetailsWpt.cpp
+++ b/src/gis/wpt/CDetailsWpt.cpp
@@ -16,7 +16,6 @@
 
 **********************************************************************************************/
 
-#include "GeoMath.h"
 #include "gis/wpt/CDetailsWpt.h"
 #include "gis/wpt/CGisItemWpt.h"
 #include "helpers/CElevationDialog.h"
@@ -81,7 +80,7 @@ void CDetailsWpt::setupGui()
     QString val, unit;
     QString strPos;
     QPointF pos = wpt.getPosition();
-    GPS_Math_Deg_To_Str(pos.x(), pos.y(), strPos);
+    IUnit::degToStr(pos.x(), pos.y(), strPos);
 
     bool isReadOnly = wpt.isReadOnly();
 
diff --git a/src/gis/wpt/CGisItemWpt.cpp b/src/gis/wpt/CGisItemWpt.cpp
index e11d0f8..a8a7002 100644
--- a/src/gis/wpt/CGisItemWpt.cpp
+++ b/src/gis/wpt/CGisItemWpt.cpp
@@ -28,12 +28,11 @@
 #include "gis/wpt/CGisItemWpt.h"
 #include "gis/wpt/CScrOptWpt.h"
 #include "gis/wpt/CSetupNewWpt.h"
+#include "helpers/CDraw.h"
 #include "helpers/CSettings.h"
 #include "mouse/IMouse.h"
 #include "units/IUnit.h"
 
-
-
 #include <QtWidgets>
 #include <QtXml>
 
@@ -599,7 +598,7 @@ void CGisItemWpt::drawLabel(QPainter& p, const QPolygonF &viewport, QList<QRectF
         }
     }
 
-    CCanvas::drawText(wpt.name,p,rect.toRect(), Qt::darkBlue);
+    CDraw::text(wpt.name,p,rect.toRect(), Qt::darkBlue);
     blockedAreas << rect;
 }
 
@@ -647,8 +646,8 @@ void CGisItemWpt::drawBubble(QPainter& p)
     rectBubbleSize.moveBottomRight(rectBubble.bottomRight() - QPoint(5,5));
 
     QPolygonF frame = makePolyline(posScreen, rectBubble);
-    p.setPen(CCanvas::penBorderGray);
-    p.setBrush(CCanvas::brushBackWhite);
+    p.setPen(CDraw::penBorderGray);
+    p.setBrush(CDraw::brushBackWhite);
     p.drawPolygon(frame);
 
     p.save();
diff --git a/src/gis/wpt/CScrOptWpt.cpp b/src/gis/wpt/CScrOptWpt.cpp
index 0dd1834..e770a4e 100644
--- a/src/gis/wpt/CScrOptWpt.cpp
+++ b/src/gis/wpt/CScrOptWpt.cpp
@@ -18,11 +18,11 @@
 
 
 #include "CMainWindow.h"
-#include "canvas/CCanvas.h"
 #include "gis/CGisWidget.h"
 #include "gis/wpt/CGisItemWpt.h"
 #include "gis/wpt/CProjWpt.h"
 #include "gis/wpt/CScrOptWpt.h"
+#include "helpers/CDraw.h"
 #include "mouse/IMouse.h"
 
 #include <QtWidgets>
@@ -116,5 +116,5 @@ void CScrOptWpt::draw(QPainter& p)
     }
     item->drawHighlight(p);
 
-    drawBubble2(anchor, p);
+    CDraw::bubble2(*this, anchor, p);
 }
diff --git a/src/gis/wpt/CSetupNewWpt.cpp b/src/gis/wpt/CSetupNewWpt.cpp
index 2aea0bd..2b06e7c 100644
--- a/src/gis/wpt/CSetupNewWpt.cpp
+++ b/src/gis/wpt/CSetupNewWpt.cpp
@@ -16,7 +16,6 @@
 
 **********************************************************************************************/
 
-#include "GeoMath.h"
 #include "gis/WptIcons.h"
 #include "gis/wpt/CSetupNewWpt.h"
 #include "helpers/CPositionDialog.h"
@@ -39,7 +38,7 @@ CSetupNewWpt::CSetupNewWpt(QPointF &pt, QString &icon, QString &name, QWidget *p
     toolIcon->setIcon(getWptIconByName(icon, focus));
 
     QString pos;
-    GPS_Math_Deg_To_Str(pt.x(), pt.y(), pos);
+    IUnit::degToStr(pt.x(), pt.y(), pos);
     linePosition->setText(pos);
     labelWarning->hide();
 
@@ -59,11 +58,13 @@ CSetupNewWpt::~CSetupNewWpt()
 
 void CSetupNewWpt::accept()
 {
-    CPositionDialog::getPosition(pt, linePosition->text());
-    icon = toolIcon->objectName();
-    name = lineName->text();
+    if(CPositionDialog::getPosition(pt, linePosition->text()))
+    {
+        icon = toolIcon->objectName();
+        name = lineName->text();
 
-    QDialog::accept();
+        QDialog::accept();
+    }
 }
 
 void CSetupNewWpt::reject()
@@ -77,23 +78,7 @@ void CSetupNewWpt::reject()
 
 void CSetupNewWpt::slotEditPosition(const QString& str)
 {
-    if(CPositionDialog::reCoord1.exactMatch(str))
-    {
-        labelWarning->hide();
-    }
-    else if(CPositionDialog::reCoord2.exactMatch(str))
-    {
-        labelWarning->hide();
-    }
-    else if(CPositionDialog::reCoord3.exactMatch(str))
-    {
-        labelWarning->hide();
-    }
-    else if(CPositionDialog::reCoord4.exactMatch(str))
-    {
-        labelWarning->hide();
-    }
-    else if(CPositionDialog::reCoord5.exactMatch(str))
+    if(IUnit::isValidCoordString(str))
     {
         labelWarning->hide();
     }
@@ -102,6 +87,7 @@ void CSetupNewWpt::slotEditPosition(const QString& str)
         labelWarning->show();
     }
 
+
     checkInput();
 }
 
diff --git a/src/grid/CGrid.cpp b/src/grid/CGrid.cpp
index 28bf80e..a8dc8f4 100644
--- a/src/grid/CGrid.cpp
+++ b/src/grid/CGrid.cpp
@@ -20,6 +20,7 @@
 #include "GeoMath.h"
 #include "canvas/CCanvas.h"
 #include "grid/CGrid.h"
+#include "helpers/CDraw.h"
 #include "helpers/CSettings.h"
 #include "map/CMapDraw.h"
 
@@ -375,22 +376,22 @@ void CGrid::draw(QPainter& p, const QRect& rect)
 
         foreach(const val_t &val, horzTopTicks)
         {
-            CCanvas::drawText(qAbs(val.val)<1.e-5 ? "0" : QString("%1%2").arg(val.val * RAD_TO_DEG).arg(QChar(0260)), p, QPoint(val.pos, yoff), textColor);
+            CDraw::text(qAbs(val.val)<1.e-5 ? "0" : QString("%1%2").arg(val.val * RAD_TO_DEG).arg(QChar(0260)), p, QPoint(val.pos, yoff), textColor);
         }
 
         foreach(const val_t &val, horzBtmTicks)
         {
-            CCanvas::drawText(qAbs(val.val)<1.e-5 ? "0" : QString("%1%2").arg(val.val * RAD_TO_DEG).arg(QChar(0260)), p, QPoint(val.pos, h), textColor);
+            CDraw::text(qAbs(val.val)<1.e-5 ? "0" : QString("%1%2").arg(val.val * RAD_TO_DEG).arg(QChar(0260)), p, QPoint(val.pos, h), textColor);
         }
 
         foreach(const val_t &val, vertLftTicks)
         {
-            CCanvas::drawText(qAbs(val.val)<1.e-5 ? "0" : QString("%1%2").arg(val.val * RAD_TO_DEG).arg(QChar(0260)), p, QPoint(xoff, val.pos), textColor);
+            CDraw::text(qAbs(val.val)<1.e-5 ? "0" : QString("%1%2").arg(val.val * RAD_TO_DEG).arg(QChar(0260)), p, QPoint(xoff, val.pos), textColor);
         }
 
         foreach(const val_t &val, vertRgtTicks)
         {
-            CCanvas::drawText(qAbs(val.val)<1.e-5 ? "0" : QString("%1%2").arg(val.val * RAD_TO_DEG).arg(QChar(0260)), p, QPoint(w - xoff, val.pos), textColor);
+            CDraw::text(qAbs(val.val)<1.e-5 ? "0" : QString("%1%2").arg(val.val * RAD_TO_DEG).arg(QChar(0260)), p, QPoint(w - xoff, val.pos), textColor);
         }
     }
     else
@@ -401,22 +402,22 @@ void CGrid::draw(QPainter& p, const QRect& rect)
 
         foreach(const val_t &val, horzTopTicks)
         {
-            CCanvas::drawText(QString("%1").arg(qint32(val.val/1000)), p, QPoint(val.pos, yoff), textColor);
+            CDraw::text(QString("%1").arg(qint32(val.val/1000)), p, QPoint(val.pos, yoff), textColor);
         }
 
         foreach(const val_t &val, horzBtmTicks)
         {
-            CCanvas::drawText(QString("%1").arg(qint32(val.val/1000)), p, QPoint(val.pos, h), textColor);
+            CDraw::text(QString("%1").arg(qint32(val.val/1000)), p, QPoint(val.pos, h), textColor);
         }
 
         foreach(const val_t &val, vertLftTicks)
         {
-            CCanvas::drawText(QString("%1").arg(qint32(val.val/1000)), p, QPoint(xoff, val.pos), textColor);
+            CDraw::text(QString("%1").arg(qint32(val.val/1000)), p, QPoint(xoff, val.pos), textColor);
         }
 
         foreach(const val_t &val, vertRgtTicks)
         {
-            CCanvas::drawText(QString("%1").arg(qint32(val.val/1000)), p, QPoint(w - xoff, val.pos), textColor);
+            CDraw::text(QString("%1").arg(qint32(val.val/1000)), p, QPoint(w - xoff, val.pos), textColor);
         }
     }
 }
diff --git a/src/grid/CProjWizard.cpp b/src/grid/CProjWizard.cpp
index 280059a..7363c59 100644
--- a/src/grid/CProjWizard.cpp
+++ b/src/grid/CProjWizard.cpp
@@ -23,7 +23,11 @@
 #include <QtWidgets>
 #include <proj_api.h>
 
-struct mitab_entry_t {QString name; int idx; };
+struct mitab_entry_t
+{
+    QString name;
+    int idx;
+};
 
 static bool mitabLessThan(const mitab_entry_t &s1, const mitab_entry_t &s2)
 {
@@ -45,7 +49,8 @@ CProjWizard::CProjWizard(QLineEdit &line)
         entry.name  = di->pszOGCDatumName;
         entry.idx   = idx;
         list << entry;
-        ++di; ++idx;
+        ++di;
+        ++idx;
     }
     qSort(list.begin(), list.end(), mitabLessThan);
 
@@ -137,7 +142,8 @@ void CProjWizard::findDatum(const QString& str)
             break;
         }
 
-        ++di; ++idx;
+        ++di;
+        ++idx;
     }
 }
 
diff --git a/src/helpers/CAppOpts.h b/src/helpers/CAppOpts.h
index 1c3a1de..88992b1 100644
--- a/src/helpers/CAppOpts.h
+++ b/src/helpers/CAppOpts.h
@@ -28,12 +28,14 @@ class CAppOpts
 {
 public:
     const bool debug;            // -d, print debug messages
+    const bool logfile;          // -f, print debug messages to logfile
     const bool nosplash;         // -n, do not display splash screen
     const QString configfile;
     const QStringList arguments;
 
-    CAppOpts(bool doDebug, bool noSplash, const QString& config, const QStringList& args)
+    CAppOpts(bool doDebug, bool doLogfile, bool noSplash, const QString& config, const QStringList& args)
         : debug(doDebug)
+        , logfile(doLogfile)
         , nosplash(noSplash)
         , configfile(config)
         , arguments(args)
diff --git a/src/helpers/CAppSetup.cpp b/src/helpers/CAppSetup.cpp
index 47eb017..938d89c 100644
--- a/src/helpers/CAppSetup.cpp
+++ b/src/helpers/CAppSetup.cpp
@@ -16,6 +16,7 @@
 
 **********************************************************************************************/
 
+#include "config.h"
 #include "helpers/CAppOpts.h"
 #include "helpers/CAppSetup.h"
 
@@ -25,6 +26,11 @@
 
 #include <qdebug.h>
 
+#ifndef _MKSTR_1
+#define _MKSTR_1(x)    #x
+#define _MKSTR(x)      _MKSTR_1(x)
+#endif
+
 CAppSetup* instance;
 
 CAppSetup* CAppSetup::getPlattformInstance()
@@ -66,7 +72,8 @@ QString CAppSetup::logFilename()
 
 void CAppSetup::appendToFile(QtMsgType type, QString formatedMsg)
 {
-    if(type != QtDebugMsg)
+    Q_UNUSED(type);
+    if(qlOpts->logfile)
     {
         QFile outFile(logFilename());
         outFile.open(QIODevice::WriteOnly | QIODevice::Append);
@@ -112,7 +119,11 @@ void CAppSetup::printToConsole(QtMsgType type, QString formatedMsg)
 
 void CAppSetup::consoleMessageHandler(QtMsgType type, const QMessageLogContext &context, const QString &msg)
 {
+#if QT_VERSION >= 0x050400
     QString txt = qFormatLogMessage(type, context, msg);
+#else
+    QString txt = msg;
+#endif
     CAppSetup::getPlattformInstance()->printToConsole(type, txt);
     CAppSetup::getPlattformInstance()->appendToFile(type, txt);
 }
@@ -128,10 +139,50 @@ void CAppSetup::prepareGdal()
 }
 
 
+QString CAppSetup::routinoPath(QDir dirXml, QString xmlFile)
+{
+    QString file = dirXml.absoluteFilePath(xmlFile);
+    qDebug() << "ROUTINO file is " +file;
+    return file;
+}
+
+QDir CAppSetup::path(QString path, QString subdir, bool mkdir)
+{
+    QDir pathDir(path);
+
+    if(subdir != 0)
+    {
+        pathDir = QDir(pathDir.absoluteFilePath(subdir));
+    }
+    if(mkdir && !pathDir.exists())
+    {
+        pathDir.mkpath(pathDir.absolutePath());
+        qDebug() << "path created " << pathDir.absolutePath();
+    }
+    return pathDir;
+}
+
+
+QDir CAppSetup::configDir(QString subdir)
+{
+    QString path = QDir::home().absoluteFilePath(CONFIGDIR);
+    QDir configDir = CAppSetup::path(path, subdir, false);
+    qDebug() << "config dir " << configDir.absolutePath();
+    return configDir;
+}
+
+
+
 void CAppSetup::prepareTranslator(QApplication* app, QTranslator *qtTranslator, QString translationPath, QString translationPrefix)
 {
     QString locale = QLocale::system().name();
 
+    QDir dir(translationPath);
+    if(!QFile::exists(dir.absoluteFilePath(translationPrefix + locale)))
+    {
+        locale = locale.left(2);
+    }
+
     if (qtTranslator->load(translationPrefix + locale, translationPath))
     {
         app->installTranslator(qtTranslator);
@@ -142,11 +193,8 @@ void CAppSetup::prepareTranslator(QApplication* app, QTranslator *qtTranslator,
 
 void CAppSetup::prepareConfig()
 {
-    QDir dir = QDir::home();
-    if(!dir.exists(".config/QLandkarte"))
-    {
-        dir.mkpath(".config/QLandkarte");
-    }
+    QString path = QDir::home().absoluteFilePath(CONFIGDIR);
+    CAppSetup::path(path, "WaypointIcons", true);
 }
 
 
@@ -173,6 +221,12 @@ void CAppSetupMac::prepareGdal()
     CAppSetup::prepareGdal();
 }
 
+QString CAppSetupMac::routinoPath(QString xmlFile)
+{
+    QDir dirXml(getResourceDir("routino"));
+    return CAppSetup::routinoPath(dirXml, xmlFile);
+}
+
 
 QString CAppSetupMac::getResourceDir(QString subdir)
 {
@@ -200,11 +254,6 @@ void CAppSetupMac::prepareTranslators(QApplication* app)
 }
 
 
-void CAppSetupMac::prepareConfig()
-{
-    // nothing to do
-}
-
 
 QString CAppSetupMac::logFilename()
 {
@@ -220,18 +269,21 @@ CAppSetupLinux::CAppSetupLinux()
 {
 }
 
+QString CAppSetupLinux::routinoPath(QString xmlFile)
+{
+    QDir dirXml(_MKSTR(ROUTINO_XML_PATH));
+    return CAppSetup::routinoPath(dirXml, xmlFile);
+}
+
 
 void CAppSetupLinux::prepareTranslators(QApplication* app)
 {
-    QString resourceDir = QLibraryInfo::location(QLibraryInfo::TranslationsPath);
-    QString appResourceDir = QCoreApplication::applicationDirPath();
-
+    QString resourceDir     = QLibraryInfo::location(QLibraryInfo::TranslationsPath);
     QString translationPath = QCoreApplication::applicationDirPath();
     translationPath.replace(QRegExp("bin$"), "share/qmapshack/translations");
 
     QTranslator *qtTranslator = new QTranslator(app);
     prepareTranslator(app, qtTranslator, resourceDir, "qt_");
-    prepareTranslator(app, qtTranslator, appResourceDir, "qt_");
 
     QTranslator *qlandkartegtTranslator = new QTranslator(app);
     prepareTranslator(app, qlandkartegtTranslator, translationPath, "qmapshack_");
@@ -258,6 +310,16 @@ void CAppSetupWin::prepareGdal()
 }
 
 
+QString CAppSetupWin::routinoPath(QString xmlFile)
+{
+    QString apppath = QCoreApplication::applicationDirPath();
+    apppath = apppath.replace("/", "\\");
+    QDir dirXml(QString("%1\\routino-xml").arg(apppath).toUtf8());
+    return CAppSetup::routinoPath(dirXml, xmlFile);
+}
+
+
+
 void CAppSetupWin::prepareTranslators(QApplication* app)
 {
     QString apppath = QCoreApplication::applicationDirPath();
@@ -270,3 +332,10 @@ void CAppSetupWin::prepareTranslators(QApplication* app)
     QTranslator *qlandkartegtTranslator = new QTranslator(app);
     prepareTranslator(app, qlandkartegtTranslator, appResourceDir, "qmapshack_");
 }
+
+void CAppSetupWin::prepareConfig()
+{
+    CAppSetup::prepareConfig();
+    //reset PATH to avoid that wrong .dll's are loaded
+    qputenv("PATH", "");
+}
diff --git a/src/helpers/CAppSetup.h b/src/helpers/CAppSetup.h
index b0f413a..e5a0137 100644
--- a/src/helpers/CAppSetup.h
+++ b/src/helpers/CAppSetup.h
@@ -20,6 +20,7 @@
 #define CAPPSETUP_H
 
 #include <QApplication>
+#include <QtCore>
 
 
 class CAppSetup
@@ -29,9 +30,11 @@ public:
     static void consoleMessageHandler(QtMsgType type, const QMessageLogContext &context, const QString &msg);
 
     virtual void prepareGdal();
+    virtual QString routinoPath(QString xmlFile) = 0;
     virtual void prepareTranslators(QApplication* app) = 0;
     virtual void prepareConfig();
     virtual void installMessageHandler();
+    virtual QDir configDir(QString subdir = 0);
 
 protected:
     void prepareTranslator(QApplication* app, QTranslator *qtTranslator, QString translationPath, QString translationPrefix);
@@ -40,6 +43,8 @@ protected:
     virtual QString logFilename();
     void printToConsole(QtMsgType type, QString formatedMsg);
     void appendToFile(QtMsgType type, QString formatedMsg);
+    QString routinoPath(QDir dirXml, QString xmlFile);
+    QDir path(QString path, QString subdir = 0, bool mkdir = false);
 };
 
 
@@ -47,8 +52,8 @@ class CAppSetupMac : public CAppSetup
 {
 public:
     virtual void prepareGdal();
+    virtual QString routinoPath(QString xmlFile);
     virtual void prepareTranslators(QApplication* app);
-    virtual void prepareConfig();
 
 protected:
     virtual QString logFilename();
@@ -62,7 +67,9 @@ protected:
 class CAppSetupLinux : public CAppSetup
 {
 public:
+    virtual QString routinoPath(QString xmlFile);
     virtual void prepareTranslators(QApplication* app);
+
 protected:
     CAppSetupLinux();
     friend class CAppSetup;
@@ -72,8 +79,11 @@ protected:
 class CAppSetupWin : public CAppSetup
 {
 public:
+    virtual QString routinoPath(QString xmlFile);
     virtual void prepareGdal();
     virtual void prepareTranslators(QApplication* app);
+    virtual void prepareConfig();
+
 protected:
     CAppSetupWin();
     friend class CAppSetup;
diff --git a/src/helpers/CCommandProcessor.cpp b/src/helpers/CCommandProcessor.cpp
index abb7350..3adafd2 100644
--- a/src/helpers/CCommandProcessor.cpp
+++ b/src/helpers/CCommandProcessor.cpp
@@ -18,9 +18,9 @@
 
 #include "CCommandProcessor.h"
 
-#include <iostream>
 #include <QApplication>
 #include <QCommandLineParser>
+#include <iostream>
 
 
 CAppOpts* CCommandProcessor::processOptions(const QStringList &arguments)
@@ -28,17 +28,16 @@ CAppOpts* CCommandProcessor::processOptions(const QStringList &arguments)
     QCommandLineParser parser;
     QCommandLineOption helpOption = parser.addHelpOption(); // h help
 
-    QCommandLineOption debugOption(QStringList() << "d" << "debug",
-                                   QCoreApplication::translate("CCommandProcessor", "Print debug output to console."));
+    QCommandLineOption debugOption(QStringList() << "d" << "debug", QCoreApplication::translate("CCommandProcessor", "Print debug output to console."));
     parser.addOption(debugOption);
 
-    QCommandLineOption nosplashOption(QStringList() << "n" << "no-splash",
-                                      QCoreApplication::translate("CCommandProcessor", "Do not show splash screen."));
+    QCommandLineOption logfileOption(QStringList() << "f" << "logfile", QCoreApplication::translate("CCommandProcessor", "Print debug output to logfile (temp. path)."));
+    parser.addOption(logfileOption);
+
+    QCommandLineOption nosplashOption(QStringList() << "n" << "no-splash", QCoreApplication::translate("CCommandProcessor", "Do not show splash screen."));
     parser.addOption(nosplashOption);
 
-    QCommandLineOption configOption(QStringList() << "c" << "config",
-                                    QCoreApplication::translate("CCommandProcessor", "File with qmapshark configuration."),
-                                    QCoreApplication::translate("CCommandProcessor", "file"));
+    QCommandLineOption configOption(QStringList() << "c" << "config", QCoreApplication::translate("CCommandProcessor", "File with QMapShack configuration."), QCoreApplication::translate("CCommandProcessor", "file"));
     parser.addOption(configOption);
 
     parser.addPositionalArgument("files", QCoreApplication::translate("CCommandProcessor", "Files for future use."));
@@ -55,5 +54,5 @@ CAppOpts* CCommandProcessor::processOptions(const QStringList &arguments)
         exit(0);
     }
 
-    return new CAppOpts(parser.isSet(debugOption), parser.isSet(nosplashOption), parser.value(configOption), parser.positionalArguments());
+    return new CAppOpts(parser.isSet(debugOption), parser.isSet(logfileOption), parser.isSet(nosplashOption), parser.value(configOption), parser.positionalArguments());
 }
diff --git a/src/helpers/CDraw.cpp b/src/helpers/CDraw.cpp
new file mode 100644
index 0000000..6b6bb89
--- /dev/null
+++ b/src/helpers/CDraw.cpp
@@ -0,0 +1,191 @@
+/**********************************************************************************************
+    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
+    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 "canvas/CCanvas.h"
+#include "helpers/CDraw.h"
+
+#include <QImage>
+#include <QPointF>
+#include <QtMath>
+
+QPen CDraw::penBorderBlue(QColor(10,10,150,220),2);
+QPen CDraw::penBorderGray(Qt::lightGray,2);
+QPen CDraw::penBorderBlack(QColor(0,0,0,200),2);
+QBrush CDraw::brushBackWhite(QColor(255,255,255,255));
+QBrush CDraw::brushBackYellow(QColor(0xff, 0xff, 0xcc, 0xE0));
+
+
+QImage CDraw::createBasicArrow(const QBrush &brush)
+{
+    QImage arrow(21, 16, QImage::Format_ARGB32);
+    arrow.fill(qRgba(0, 0, 0, 0));
+
+    QPainter painter(&arrow);
+    USE_ANTI_ALIASING(painter, true);
+
+    // white background, same foreground as p
+    painter.setPen(QPen(Qt::white, 2));
+    painter.setBrush(brush);
+
+    QPointF arrowPoints[4] =
+    {
+        QPointF(20.0,  7.0), // front
+        QPointF( 0.0,  0.0), // upper tail
+        QPointF( 5.0,  7.0), // mid   tail
+        QPointF( 0.0, 15.0)  // lower tail
+    };
+    painter.drawPolygon(arrowPoints, 4);
+    painter.end();
+
+    return arrow;
+}
+
+/**
+   @brief   Calculates the square distance between two points
+   @return  (int) ( (x2 - x1)^2 + (y2 - y1)^2 )
+ */
+
+static inline int pointDistanceSquare(const QPointF &p1, const QPointF &p2)
+{
+    return (p2.x() - p1.x()) * (p2.x() - p1.x()) + (p2.y() - p1.y()) * (p2.y() - p1.y());
+}
+
+void CDraw::arrows(const QPolygonF &line, const QRectF &viewport, QPainter &p, int minPointDist, int minArrowDist)
+{
+    QImage arrow = createBasicArrow(p.brush());
+
+    const qreal minArrowDistSquare = minArrowDist * minArrowDist;
+    const qreal minPointDistSquare = minPointDist * minPointDist;
+
+    QPointF prevArrow;
+    bool firstArrow = true;
+    for(int i = 1; i < line.size(); i++)
+    {
+        const QPointF &pt     = line[i    ];
+        const QPointF &prevPt = line[i - 1];
+
+        // ensure there is enough space between two linepts
+        if( pointDistanceSquare(pt, prevPt) >= minPointDistSquare )
+        {
+            QPointF arrowPos = prevPt + (pt - prevPt)/2;
+
+            if( (viewport.contains(pt) || 0 == viewport.height()) // ensure the point is visible
+                && (firstArrow || pointDistanceSquare(prevArrow, arrowPos) >= minArrowDistSquare) )
+            {
+                p.save();
+
+                // rotate and draw the arrow (between bullets)
+                p.translate(arrowPos);
+                qreal direction = ( qAtan2((pt.y() - prevPt.y()), (pt.x() - prevPt.x())) * 180.) / M_PI;
+                p.rotate(direction);
+                p.drawImage(-11, -7, arrow);
+
+                p.restore();
+
+                prevArrow  = arrowPos;
+                firstArrow = false;
+            }
+        }
+    }
+}
+
+void CDraw::text(const QString &str, QPainter &p, const QPoint &center, const QColor &color, const QFont &font)
+{
+    QFontMetrics fm(font);
+    QRect r = fm.boundingRect(str);
+
+    r.moveCenter(center);
+    p.setFont(font);
+
+    // draw the white `shadow`
+    p.setPen(Qt::white);
+    p.drawText(r.topLeft() - QPoint(-1, -1), str);
+    p.drawText(r.topLeft() - QPoint( 0, -1), str);
+    p.drawText(r.topLeft() - QPoint(+1, -1), str);
+
+    p.drawText(r.topLeft() - QPoint(-1,  0), str);
+    p.drawText(r.topLeft() - QPoint(+1,  0), str);
+
+    p.drawText(r.topLeft() - QPoint(-1, +1), str);
+    p.drawText(r.topLeft() - QPoint( 0, +1), str);
+    p.drawText(r.topLeft() - QPoint(+1, +1), str);
+
+    p.setPen(color);
+    p.drawText(r.topLeft(), str);
+}
+
+void CDraw::text(const QString &str, QPainter &p, const QRect &r, const QColor &color)
+{
+    p.setPen(Qt::white);
+    p.setFont(CMainWindow::self().getMapFont());
+
+    // draw the white `shadow`
+    p.drawText(r.adjusted(-1, -1, -1, -1), Qt::AlignCenter, str);
+    p.drawText(r.adjusted( 0, -1,  0, -1), Qt::AlignCenter, str);
+    p.drawText(r.adjusted(+1, -1, +1, -1), Qt::AlignCenter, str);
+
+    p.drawText(r.adjusted(-1,  0, -1,  0), Qt::AlignCenter, str);
+    p.drawText(r.adjusted(+1,  0, +1,  0), Qt::AlignCenter, str);
+
+    p.drawText(r.adjusted(-1, +1, -1, +1), Qt::AlignCenter, str);
+    p.drawText(r.adjusted( 0, +1,  0, +1), Qt::AlignCenter, str);
+    p.drawText(r.adjusted(+1, +1, +1, +1), Qt::AlignCenter, str);
+
+    p.setPen(color);
+    p.drawText(r, Qt::AlignCenter, str);
+}
+
+
+void CDraw::bubble1(const QRect& rect, const QPointF &anchor, QPainter& p)
+{
+    // create bubble path
+    QPainterPath path1;
+    path1.addRoundedRect(rect,5,5);
+
+    QPolygonF poly2;
+    poly2 << anchor << (rect.bottomLeft() + QPointF(10,-5)) << (rect.bottomLeft() + QPointF(30,-5)) << anchor;
+    QPainterPath path2;
+    path2.addPolygon(poly2);
+
+    path1 = path1.united(path2);
+
+    // draw bubble
+    p.setPen(CDraw::penBorderGray);
+    p.setBrush(CDraw::brushBackWhite);
+    p.drawPolygon(path1.toFillPolygon());
+}
+
+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);
+
+    QPolygonF poly2;
+    poly2 << anchor << QPointF(anchor.x() - 10, rect.top() + 1) << QPointF(anchor.x() + 10, rect.top() + 1) << anchor;
+    QPainterPath path2;
+    path2.addPolygon(poly2);
+
+    path1 = path1.united(path2);
+
+    p.setPen(penBorderGray);
+    p.setBrush(brushBackWhite);
+    p.drawPolygon(path1.toFillPolygon());
+}
diff --git a/src/helpers/CDraw.h b/src/helpers/CDraw.h
new file mode 100644
index 0000000..aaabb0c
--- /dev/null
+++ b/src/helpers/CDraw.h
@@ -0,0 +1,93 @@
+/**********************************************************************************************
+    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
+    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 CPAINTER_H
+#define CPAINTER_H
+
+#include <QPainter>
+#include <QPolygonF>
+#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);
+}
+
+
+#define PAINT_ROUNDED_RECT(p,r) p.drawRoundedRect(r,5,5)
+
+
+class CDraw
+{
+public:
+
+    static QPen penBorderBlue;
+    static QPen penBorderGray;
+    static QPen penBorderBlack;
+    static QBrush brushBackWhite;
+    static QBrush brushBackYellow;
+
+    /**
+       @brief Draw arrows along a line
+
+       An arrow is drawn if all the following requirements are met:
+     * the position the new arrow would have been drawn is within viewport
+          OR
+          `viewport.height() == 0`
+     * the two points have a distance of at least `minPointDist`
+     * the (potential) position of the new arrow has at least a distance of `minArrowDist` from the previous arrow
+
+       @param line          The line to draw the arrows along
+       @param viewport      Restrict drawing of arrows to this viewport (no limitation is applied if `viewport.height() == 0`)
+       @param minPointDist  The minimum distance of two points (in px)
+       @param minArrowDist  The minimum distance of two consecutive arrows (in px)
+     */
+    static void arrows(const QPolygonF &line, const QRectF &viewport, QPainter &p, int minPointDist, int minArrowDist);
+
+    static void text(const QString& str, QPainter &p, const QPoint &center, const QColor &color, const QFont &font = CMainWindow::self().getMapFont());
+    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
+     */
+    static void bubble2(const QWidget &widget, const QPointF &anchor, QPainter& p);
+
+private:
+    /**
+       @brief   Creates a new arrow using the brush specified
+       @return  A QImage containing the arrow
+     */
+    static QImage createBasicArrow(const QBrush &brush);
+};
+
+#endif // CPAINTER_H
+
diff --git a/src/helpers/CPositionDialog.cpp b/src/helpers/CPositionDialog.cpp
index 8ff3b63..b3b5a81 100644
--- a/src/helpers/CPositionDialog.cpp
+++ b/src/helpers/CPositionDialog.cpp
@@ -16,21 +16,11 @@
 
 **********************************************************************************************/
 
-#include "CPositionDialog.h"
-#include "GeoMath.h"
+#include "helpers/CPositionDialog.h"
+#include "units/IUnit.h"
 
 #include <QtWidgets>
 
-QRegExp CPositionDialog::reCoord1("^\\s*([N|S]){1}\\W*([0-9]+)\\W*([0-9]+\\.[0-9]+)\\s+([E|W|O]){1}\\W*([0-9]+)\\W*([0-9]+\\.[0-9]+)\\s*$");
-
-QRegExp CPositionDialog::reCoord2("^\\s*([N|S]){1}\\s*([0-9]+\\.[0-9]+)\\W*\\s+([E|W|O]){1}\\s*([0-9]+\\.[0-9]+)\\W*\\s*$");
-
-QRegExp CPositionDialog::reCoord3("^\\s*([-0-9]+\\.[0-9]+)\\s+([-0-9]+\\.[0-9]+)\\s*$");
-
-QRegExp CPositionDialog::reCoord4("^\\s*([N|S]){1}\\s*([0-9]+)\\W+([0-9]+)\\W+([0-9]+)\\W*([E|W|O]){1}\\W*([0-9]+)\\W+([0-9]+)\\W+([0-9]+)\\W*\\s*$");
-
-QRegExp CPositionDialog::reCoord5("^\\s*([-0-9]+\\.[0-9]+)([N|S])\\s+([-0-9]+\\.[0-9]+)([W|E])\\s*$");
-
 
 CPositionDialog::CPositionDialog(QWidget * parent, QPointF &pos)
     : QDialog(parent)
@@ -38,7 +28,7 @@ CPositionDialog::CPositionDialog(QWidget * parent, QPointF &pos)
 {
     setupUi(this);
     QString str;
-    GPS_Math_Deg_To_Str(pos.x(), pos.y(), str);
+    IUnit::degToStr(pos.x(), pos.y(), str);
     lineEdit->setText(str);
 
     labelWarning->hide();
@@ -52,110 +42,39 @@ CPositionDialog::~CPositionDialog()
 
 void CPositionDialog::accept()
 {
-    getPosition(pos, lineEdit->text());
-    QDialog::accept();
+    if(getPosition(pos, lineEdit->text()))
+    {
+        QDialog::accept();
+    }
 }
 
-void CPositionDialog::getPosition(QPointF& pt, const QString& str)
+bool CPositionDialog::getPosition(QPointF& pt, const QString& str)
 {
     qreal lon, lat;
 
-    if(CPositionDialog::reCoord2.exactMatch(str))
-    {
-        bool signLat    = CPositionDialog::reCoord2.cap(1) == "S";
-        qreal absLat    = CPositionDialog::reCoord2.cap(2).toDouble();
-        lat = signLat ? -absLat : absLat;
-
-        bool signLon    = CPositionDialog::reCoord2.cap(3) == "W";
-        qreal absLon    = CPositionDialog::reCoord2.cap(4).toDouble();
-        lon = signLon ? -absLon : absLon;
-    }
-    else if(CPositionDialog::reCoord1.exactMatch(str))
-    {
-        bool signLat    = CPositionDialog::reCoord1.cap(1) == "S";
-        int degLat      = CPositionDialog::reCoord1.cap(2).toInt();
-        qreal minLat    = CPositionDialog::reCoord1.cap(3).toDouble();
-
-        GPS_Math_DegMin_To_Deg(signLat, degLat, minLat, lat);
-
-        bool signLon    = CPositionDialog::reCoord1.cap(4) == "W";
-        int degLon      = CPositionDialog::reCoord1.cap(5).toInt();
-        qreal minLon    = CPositionDialog::reCoord1.cap(6).toDouble();
-
-        GPS_Math_DegMin_To_Deg(signLon, degLon, minLon, lon);
-    }
-    else if(CPositionDialog::reCoord3.exactMatch(str))
-    {
-        lat             = CPositionDialog::reCoord3.cap(1).toDouble();
-        lon             = CPositionDialog::reCoord3.cap(2).toDouble();
-    }
-    else if(CPositionDialog::reCoord4.exactMatch(str))
-    {
-        bool signLat    = CPositionDialog::reCoord4.cap(1) == "S";
-        int degLat      = CPositionDialog::reCoord4.cap(2).toInt();
-        int minLat      = CPositionDialog::reCoord4.cap(3).toInt();
-        int secLat      = CPositionDialog::reCoord4.cap(4).toInt();
-
-        GPS_Math_DegMinSec_To_Deg(signLat, degLat, minLat, secLat, lat);
-
-        bool signLon    = CPositionDialog::reCoord4.cap(5) == "W";
-        int degLon      = CPositionDialog::reCoord4.cap(6).toInt();
-        int minLon      = CPositionDialog::reCoord4.cap(7).toInt();
-        int secLon      = CPositionDialog::reCoord4.cap(8).toInt();
+    bool res = IUnit::strToDeg(str, lon, lat);
 
-        GPS_Math_DegMinSec_To_Deg(signLon, degLon, minLon, secLon, lon);
-    }
-    else if(CPositionDialog::reCoord5.exactMatch(str))
+    if(res)
     {
-        bool signLon    = CPositionDialog::reCoord5.cap(4) == "W";
-        bool signLat    = CPositionDialog::reCoord5.cap(2) == "S";
-        lat             = CPositionDialog::reCoord5.cap(1).toDouble();
-        lon             = CPositionDialog::reCoord5.cap(3).toDouble();
-
-        if(signLon)
-        {
-            lon = -lon;
-        }
-        if(signLat)
-        {
-            lat = -lat;
-        }
-    }
-    else
-    {
-        return;
+        pt.rx() = lon;
+        pt.ry() = lat;
     }
 
-    pt.rx() = lon;
-    pt.ry() = lat;
+    return res;
 }
 
 
 
 void CPositionDialog::slotEdit(const QString& str)
 {
-    if(reCoord1.exactMatch(str))
-    {
-        labelWarning->hide();
-    }
-    else if(reCoord2.exactMatch(str))
-    {
-        labelWarning->hide();
-    }
-    else if(reCoord3.exactMatch(str))
-    {
-        labelWarning->hide();
-    }
-    else if(reCoord4.exactMatch(str))
-    {
-        labelWarning->hide();
-    }
-    else if(reCoord5.exactMatch(str))
+    if(IUnit::isValidCoordString(str))
     {
         labelWarning->hide();
+        buttonBox->button(QDialogButtonBox::Ok)->setEnabled(true);
     }
     else
     {
         labelWarning->show();
+        buttonBox->button(QDialogButtonBox::Ok)->setEnabled(false);
     }
 }
diff --git a/src/helpers/CPositionDialog.h b/src/helpers/CPositionDialog.h
index f2aaeb9..827b8af 100644
--- a/src/helpers/CPositionDialog.h
+++ b/src/helpers/CPositionDialog.h
@@ -31,13 +31,7 @@ public:
     CPositionDialog(QWidget * parent, QPointF &pos);
     virtual ~CPositionDialog();
 
-    static QRegExp reCoord1;
-    static QRegExp reCoord2;
-    static QRegExp reCoord3;
-    static QRegExp reCoord4;
-    static QRegExp reCoord5;
-
-    static void getPosition(QPointF& pt, const QString &str);
+    static bool getPosition(QPointF& pt, const QString &str);
 
 public slots:
     void accept();
diff --git a/src/helpers/CTextEditWidget.h b/src/helpers/CTextEditWidget.h
index 41d956c..1114f91 100644
--- a/src/helpers/CTextEditWidget.h
+++ b/src/helpers/CTextEditWidget.h
@@ -59,7 +59,8 @@ public:
     QString getHtml();
     void  setHtml(const QString& text)
     {
-        textEdit->clear(); textEdit->insertHtml(text);
+        textEdit->clear();
+        textEdit->insertHtml(text);
     }
 
 private slots:
diff --git a/src/icons/16x16/ActAero.png b/src/icons/16x16/ActAero.png
new file mode 100644
index 0000000..73b7a17
Binary files /dev/null and b/src/icons/16x16/ActAero.png differ
diff --git a/src/icons/16x16/ActBike.png b/src/icons/16x16/ActBike.png
new file mode 100644
index 0000000..06c75aa
Binary files /dev/null and b/src/icons/16x16/ActBike.png differ
diff --git a/src/icons/16x16/ActCable.png b/src/icons/16x16/ActCable.png
new file mode 100644
index 0000000..404a956
Binary files /dev/null and b/src/icons/16x16/ActCable.png differ
diff --git a/src/icons/16x16/ActCar.png b/src/icons/16x16/ActCar.png
new file mode 100644
index 0000000..e19c0df
Binary files /dev/null and b/src/icons/16x16/ActCar.png differ
diff --git a/src/icons/16x16/ActCycle.png b/src/icons/16x16/ActCycle.png
new file mode 100644
index 0000000..dcf8ae9
Binary files /dev/null and b/src/icons/16x16/ActCycle.png differ
diff --git a/src/icons/16x16/ActFoot.png b/src/icons/16x16/ActFoot.png
new file mode 100644
index 0000000..5dec671
Binary files /dev/null and b/src/icons/16x16/ActFoot.png differ
diff --git a/src/icons/16x16/ActNone.png b/src/icons/16x16/ActNone.png
new file mode 100644
index 0000000..2b2f324
Binary files /dev/null and b/src/icons/16x16/ActNone.png differ
diff --git a/src/icons/16x16/ActShip.png b/src/icons/16x16/ActShip.png
new file mode 100644
index 0000000..2c0188b
Binary files /dev/null and b/src/icons/16x16/ActShip.png differ
diff --git a/src/icons/16x16/ActSwim.png b/src/icons/16x16/ActSwim.png
new file mode 100644
index 0000000..b02d11d
Binary files /dev/null and b/src/icons/16x16/ActSwim.png differ
diff --git a/src/icons/16x16/Activity.png b/src/icons/16x16/Activity.png
new file mode 100644
index 0000000..4d58463
Binary files /dev/null and b/src/icons/16x16/Activity.png differ
diff --git a/src/icons/32x32/ActAero.png b/src/icons/32x32/ActAero.png
new file mode 100644
index 0000000..a3f31b7
Binary files /dev/null and b/src/icons/32x32/ActAero.png differ
diff --git a/src/icons/32x32/ActBike.png b/src/icons/32x32/ActBike.png
new file mode 100644
index 0000000..cf2daf5
Binary files /dev/null and b/src/icons/32x32/ActBike.png differ
diff --git a/src/icons/32x32/ActCable.png b/src/icons/32x32/ActCable.png
new file mode 100644
index 0000000..f2d6772
Binary files /dev/null and b/src/icons/32x32/ActCable.png differ
diff --git a/src/icons/32x32/ActCar.png b/src/icons/32x32/ActCar.png
new file mode 100644
index 0000000..525512b
Binary files /dev/null and b/src/icons/32x32/ActCar.png differ
diff --git a/src/icons/32x32/ActCycle.png b/src/icons/32x32/ActCycle.png
new file mode 100644
index 0000000..601c310
Binary files /dev/null and b/src/icons/32x32/ActCycle.png differ
diff --git a/src/icons/32x32/ActFoot.png b/src/icons/32x32/ActFoot.png
new file mode 100644
index 0000000..d7129ef
Binary files /dev/null and b/src/icons/32x32/ActFoot.png differ
diff --git a/src/icons/32x32/ActNone.png b/src/icons/32x32/ActNone.png
new file mode 100644
index 0000000..f1f51ab
Binary files /dev/null and b/src/icons/32x32/ActNone.png differ
diff --git a/src/icons/32x32/ActShip.png b/src/icons/32x32/ActShip.png
new file mode 100644
index 0000000..245dbae
Binary files /dev/null and b/src/icons/32x32/ActShip.png differ
diff --git a/src/icons/32x32/ActSwim.png b/src/icons/32x32/ActSwim.png
new file mode 100644
index 0000000..46ad370
Binary files /dev/null and b/src/icons/32x32/ActSwim.png differ
diff --git a/src/icons/32x32/Activity.png b/src/icons/32x32/Activity.png
new file mode 100644
index 0000000..ac5d3d9
Binary files /dev/null and b/src/icons/32x32/Activity.png differ
diff --git a/src/icons/32x32/PrintSave.png b/src/icons/32x32/PrintSave.png
new file mode 100644
index 0000000..0c83bee
Binary files /dev/null and b/src/icons/32x32/PrintSave.png differ
diff --git a/src/icons/32x32/SetupCoordFormat.png b/src/icons/32x32/SetupCoordFormat.png
new file mode 100644
index 0000000..ae9a911
Binary files /dev/null and b/src/icons/32x32/SetupCoordFormat.png differ
diff --git a/src/icons/32x32/ShowAll.png b/src/icons/32x32/ShowAll.png
new file mode 100644
index 0000000..46f0b7f
Binary files /dev/null and b/src/icons/32x32/ShowAll.png differ
diff --git a/src/icons/32x32/ShowNone.png b/src/icons/32x32/ShowNone.png
new file mode 100644
index 0000000..8039521
Binary files /dev/null and b/src/icons/32x32/ShowNone.png differ
diff --git a/src/icons/48x48/ActAero.png b/src/icons/48x48/ActAero.png
new file mode 100644
index 0000000..f5ec41f
Binary files /dev/null and b/src/icons/48x48/ActAero.png differ
diff --git a/src/icons/48x48/ActBike.png b/src/icons/48x48/ActBike.png
new file mode 100644
index 0000000..b16ceaa
Binary files /dev/null and b/src/icons/48x48/ActBike.png differ
diff --git a/src/icons/48x48/ActCable.png b/src/icons/48x48/ActCable.png
new file mode 100644
index 0000000..c26a5b6
Binary files /dev/null and b/src/icons/48x48/ActCable.png differ
diff --git a/src/icons/48x48/ActCar.png b/src/icons/48x48/ActCar.png
new file mode 100644
index 0000000..dba1b3a
Binary files /dev/null and b/src/icons/48x48/ActCar.png differ
diff --git a/src/icons/48x48/ActCycle.png b/src/icons/48x48/ActCycle.png
new file mode 100644
index 0000000..6c75f9b
Binary files /dev/null and b/src/icons/48x48/ActCycle.png differ
diff --git a/src/icons/48x48/ActFoot.png b/src/icons/48x48/ActFoot.png
new file mode 100644
index 0000000..47fb5ed
Binary files /dev/null and b/src/icons/48x48/ActFoot.png differ
diff --git a/src/icons/48x48/ActNone.png b/src/icons/48x48/ActNone.png
new file mode 100644
index 0000000..be50d5f
Binary files /dev/null and b/src/icons/48x48/ActNone.png differ
diff --git a/src/icons/48x48/ActShip.png b/src/icons/48x48/ActShip.png
new file mode 100644
index 0000000..21bf86e
Binary files /dev/null and b/src/icons/48x48/ActShip.png differ
diff --git a/src/icons/48x48/ActSwim.png b/src/icons/48x48/ActSwim.png
new file mode 100644
index 0000000..445ba31
Binary files /dev/null and b/src/icons/48x48/ActSwim.png differ
diff --git a/src/icons/48x48/Activity.png b/src/icons/48x48/Activity.png
new file mode 100644
index 0000000..042ccee
Binary files /dev/null and b/src/icons/48x48/Activity.png differ
diff --git a/src/icons/48x48/PrintSave.png b/src/icons/48x48/PrintSave.png
new file mode 100644
index 0000000..efb7516
Binary files /dev/null and b/src/icons/48x48/PrintSave.png differ
diff --git a/src/icons/48x48/SetupCoordFormat.png b/src/icons/48x48/SetupCoordFormat.png
new file mode 100644
index 0000000..ccd52ed
Binary files /dev/null and b/src/icons/48x48/SetupCoordFormat.png differ
diff --git a/src/icons/48x48/ShowAll.png b/src/icons/48x48/ShowAll.png
new file mode 100644
index 0000000..fe22b38
Binary files /dev/null and b/src/icons/48x48/ShowAll.png differ
diff --git a/src/icons/48x48/ShowNone.png b/src/icons/48x48/ShowNone.png
new file mode 100644
index 0000000..543f328
Binary files /dev/null and b/src/icons/48x48/ShowNone.png differ
diff --git a/src/icons/ActAero.svg b/src/icons/ActAero.svg
new file mode 100644
index 0000000..2790683
--- /dev/null
+++ b/src/icons/ActAero.svg
@@ -0,0 +1,145 @@
+<?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="ActAero.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="15.568237"
+     inkscape:cy="29.958138"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="true"
+     inkscape:window-width="1920"
+     inkscape:window-height="996"
+     inkscape:window-x="-2"
+     inkscape:window-y="-3"
+     inkscape:window-maximized="1">
+    <inkscape:grid
+       type="xygrid"
+       id="grid2985"
+       empspacing="5"
+       visible="true"
+       enabled="true"
+       snapvisiblegridlinesonly="true" />
+  </sodipodi:namedview>
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Ebene 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(0,-988.3622)">
+    <g
+       id="g3796"
+       transform="translate(-0.99999982,-0.43022736)">
+      <path
+         sodipodi:nodetypes="csccccc"
+         inkscape:connector-curvature="0"
+         id="path3770"
+         d="m 10.009003,35.004374 c 0.335505,-11.868908 9.17591,-21.50124 20.492775,-21.149369 10.897475,0.338831 20.241452,9.718329 20.492774,21.149371 -3.478315,-2.918966 -6.89003,-2.744941 -10.246387,0 -3.415463,-2.958395 -6.830925,-2.958394 -10.246387,-10e-7 -3.476453,-2.769561 -6.891916,-2.76956 -10.246388,0 -3.354472,-2.832506 -6.769934,-2.832505 -10.246387,-1e-6 z"
+         style="fill:#000080;fill-opacity:1;fill-rule:evenodd;stroke:#000080;stroke-width:1.04092419;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+         transform="matrix(0.97595375,0,0,0.94565468,0.23167564,989.26015)" />
+      <path
+         transform="translate(0,988.3622)"
+         inkscape:connector-curvature="0"
+         id="path3775"
+         d="M 10,34 30,49"
+         style="fill:none;stroke:#000080;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+      <path
+         transform="translate(0,988.3622)"
+         inkscape:connector-curvature="0"
+         id="path3777"
+         d="M 20,34 30,49"
+         style="fill:none;stroke:#000080;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+      <path
+         transform="translate(0,988.3622)"
+         inkscape:connector-curvature="0"
+         id="path3779"
+         d="m 30,34 0,15"
+         style="fill:none;stroke:#000080;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+      <path
+         transform="translate(0,988.3622)"
+         inkscape:connector-curvature="0"
+         id="path3781"
+         d="M 40,34 30,49"
+         style="fill:none;stroke:#000080;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+      <path
+         transform="translate(0,988.3622)"
+         inkscape:connector-curvature="0"
+         id="path3783"
+         d="M 50,34 30,49"
+         style="fill:none;stroke:#000080;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+      <path
+         sodipodi:open="true"
+         sodipodi:end="6.2846834"
+         sodipodi:start="0.0025122542"
+         transform="matrix(0.8196721,0,0,0.81967208,5.409837,994.09991)"
+         d="m 34.999984,49.012561 c -0.0069,2.761415 -2.25113,4.994361 -5.012545,4.987423 -2.761415,-0.0069 -4.994361,-2.25113 -4.987423,-5.012545 0.0069,-2.761415 2.25113,-4.994361 5.012545,-4.987423 2.759435,0.0069 4.991567,2.248034 4.987433,5.007474"
+         sodipodi:ry="5"
+         sodipodi:rx="5"
+         sodipodi:cy="49"
+         sodipodi:cx="30"
+         id="path3785"
+         style="fill:#000080;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:1.22000003;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+         sodipodi:type="arc" />
+      <path
+         sodipodi:nodetypes="ccccc"
+         inkscape:connector-curvature="0"
+         id="rect3787"
+         d="m 27,1041.3622 c 2,-3.4524 4,-3.4524 6,0 l 0,6 -6,0 z"
+         style="fill:#000080;fill-opacity:1;fill-rule:evenodd;stroke:#000080;stroke-width:0.73854893;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0" />
+      <path
+         sodipodi:nodetypes="ccc"
+         transform="translate(0,988.3622)"
+         inkscape:connector-curvature="0"
+         id="path3790"
+         d="m 27,54 -5,-4 0,-5"
+         style="fill:none;stroke:#000080;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+      <path
+         sodipodi:nodetypes="ccc"
+         transform="translate(0,988.3622)"
+         inkscape:connector-curvature="0"
+         id="path3792"
+         d="m 33,54 5,-4 0,-5"
+         style="fill:none;stroke:#000080;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+    </g>
+    <rect
+       style="fill:none;stroke:none"
+       id="rect3794"
+       width="48"
+       height="48.000019"
+       x="5"
+       y="1000.3622" />
+  </g>
+</svg>
diff --git a/src/icons/ActBike.svg b/src/icons/ActBike.svg
new file mode 100644
index 0000000..c3b87fa
--- /dev/null
+++ b/src/icons/ActBike.svg
@@ -0,0 +1,131 @@
+<?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="ActBike.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="18.397911"
+     inkscape:cy="24.047212"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="true"
+     inkscape:window-width="1920"
+     inkscape:window-height="1010"
+     inkscape:window-x="-4"
+     inkscape:window-y="-4"
+     inkscape:window-maximized="1">
+    <inkscape:grid
+       type="xygrid"
+       id="grid2985"
+       empspacing="5"
+       visible="true"
+       enabled="true"
+       snapvisiblegridlinesonly="true" />
+  </sodipodi:namedview>
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Ebene 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(0,-988.3622)">
+    <rect
+       style="fill:none;stroke:none"
+       id="rect3792"
+       width="60"
+       height="60"
+       x="0"
+       y="988.61218" />
+    <path
+       sodipodi:type="arc"
+       style="fill:none;stroke:#000080;stroke-width:4;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"
+       id="path3813"
+       sodipodi:cx="-95"
+       sodipodi:cy="54"
+       sodipodi:rx="10"
+       sodipodi:ry="10"
+       d="m -85,54 a 10,10 0 1 1 -9.7e-5,-0.04394"
+       transform="translate(110,973.3622)"
+       sodipodi:start="0"
+       sodipodi:end="6.2787911"
+       sodipodi:open="true" />
+    <path
+       transform="translate(145.0001,973.40614)"
+       sodipodi:type="arc"
+       style="fill:none;stroke:#000080;stroke-width:4;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"
+       id="path3813-2"
+       sodipodi:cx="-95"
+       sodipodi:cy="54"
+       sodipodi:rx="10"
+       sodipodi:ry="10"
+       d="m -85,54 a 10,10 0 1 1 -9.7e-5,-0.04394"
+       sodipodi:start="0"
+       sodipodi:end="6.2787911"
+       sodipodi:open="true" />
+    <rect
+       style="fill:none;stroke:none"
+       id="rect3847"
+       width="60"
+       height="60"
+       x="2.5000534"
+       y="991.38416" />
+    <path
+       style="fill:none;stroke:#000080;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+       d="m 7,25 c 5.838345,-1.99107 11.060901,-2.51964 15,0 l 6,4 11,0 6,-5 c 3.780398,-1.564725 7.17126,-1.766076 10,0"
+       id="path3789"
+       inkscape:connector-curvature="0"
+       transform="translate(0,988.3622)"
+       sodipodi:nodetypes="cccccc" />
+    <path
+       style="fill:#000080;stroke:#000080;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+       d="m 28,29 -5,8 -7.5,2 20.5,0 6,-10 z"
+       transform="translate(0,988.3622)"
+       id="path3799"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cccccc" />
+    <path
+       style="fill:none;stroke:#000080;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
+       d="M 50,39 43,28"
+       id="path3804"
+       inkscape:connector-curvature="0"
+       transform="translate(0,988.3622)" />
+    <path
+       style="fill:none;stroke:#000080;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+       d="m 42,14 3,4 3,5"
+       id="path3806"
+       inkscape:connector-curvature="0"
+       transform="translate(0,988.3622)"
+       sodipodi:nodetypes="ccc" />
+  </g>
+</svg>
diff --git a/src/icons/ActCable.svg b/src/icons/ActCable.svg
new file mode 100644
index 0000000..39ecbe8
--- /dev/null
+++ b/src/icons/ActCable.svg
@@ -0,0 +1,100 @@
+<?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="ActCable.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="33.178571"
+     inkscape:cy="27.618641"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="true"
+     inkscape:window-width="1920"
+     inkscape:window-height="1010"
+     inkscape:window-x="-4"
+     inkscape:window-y="-4"
+     inkscape:window-maximized="1">
+    <inkscape:grid
+       type="xygrid"
+       id="grid2985"
+       empspacing="5"
+       visible="true"
+       enabled="true"
+       snapvisiblegridlinesonly="true" />
+  </sodipodi:namedview>
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Ebene 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(0,-988.3622)">
+    <g
+       id="g3769"
+       transform="translate(2,0.49999131)">
+      <path
+         transform="translate(0,988.3622)"
+         inkscape:connector-curvature="0"
+         id="path3759"
+         d="M 15,24 50,14"
+         style="fill:none;stroke:#000080;stroke-width:4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+      <path
+         inkscape:connector-curvature="0"
+         id="path3761"
+         d="m 32.5,1007.3622 0,10"
+         style="fill:none;stroke:#000080;stroke-width:4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+      <rect
+         y="1017.3622"
+         x="17.5"
+         height="25"
+         width="30"
+         id="rect3763"
+         style="fill:#000080;stroke:#000080;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none" />
+      <rect
+         y="1020.3622"
+         x="21"
+         height="11"
+         width="23"
+         id="rect3765"
+         style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+    </g>
+    <rect
+       style="fill:none;stroke:none"
+       id="rect3767"
+       width="45"
+       height="45"
+       x="12"
+       y="1000.3622" />
+  </g>
+</svg>
diff --git a/src/icons/ActCar.svg b/src/icons/ActCar.svg
new file mode 100644
index 0000000..60e5541
--- /dev/null
+++ b/src/icons/ActCar.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.48.5 r10040"
+   sodipodi:docname="ActCar.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="15.11379"
+     inkscape:cy="27.618641"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="true"
+     inkscape:window-width="1920"
+     inkscape:window-height="1010"
+     inkscape:window-x="-4"
+     inkscape:window-y="-4"
+     inkscape:window-maximized="1">
+    <inkscape:grid
+       type="xygrid"
+       id="grid2985"
+       empspacing="5"
+       visible="true"
+       enabled="true"
+       snapvisiblegridlinesonly="true" />
+  </sodipodi:namedview>
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Ebene 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(0,-988.3622)">
+    <g
+       id="g3790"
+       transform="translate(8,-2.6277674)">
+      <path
+         sodipodi:open="true"
+         sodipodi:end="6.2787911"
+         sodipodi:start="0"
+         transform="translate(0,988.6177)"
+         d="M 15,41.5 C 15,42.880712 13.880712,44 12.5,44 11.119288,44 10,42.880712 10,41.5 10,40.119288 11.119288,39 12.5,39 c 1.376424,0 2.493928,1.112604 2.499976,2.489015"
+         sodipodi:ry="2.5"
+         sodipodi:rx="2.5"
+         sodipodi:cy="41.5"
+         sodipodi:cx="12.5"
+         id="path2991"
+         style="fill:#000080;fill-opacity:1;stroke:#000080;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+         sodipodi:type="arc" />
+      <path
+         sodipodi:open="true"
+         sodipodi:end="6.2787911"
+         sodipodi:start="0"
+         d="M 15,41.5 C 15,42.880712 13.880712,44 12.5,44 11.119288,44 10,42.880712 10,41.5 10,40.119288 11.119288,39 12.5,39 c 1.376424,0 2.493928,1.112604 2.499976,2.489015"
+         sodipodi:ry="2.5"
+         sodipodi:rx="2.5"
+         sodipodi:cy="41.5"
+         sodipodi:cx="12.5"
+         id="path2991-0"
+         style="fill:#000080;fill-opacity:1;stroke:#000080;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+         sodipodi:type="arc"
+         transform="translate(24.000024,988.6177)" />
+      <path
+         sodipodi:nodetypes="cccccccccccccccc"
+         inkscape:connector-curvature="0"
+         id="path3779"
+         transform="translate(0,988.3622)"
+         d="m 10,22 -7,10 0,10 4,0 c 0.3852531,-2.94808 1.1917681,-3.474899 3,-5 1.513423,-0.766219 3.253592,-0.398706 5,0 2.497722,2.333333 2.024416,2.666667 3,5 l 13,0 c 0.304003,-2.397713 0,-3 2,-5 4,-1 4.733951,-0.403707 7,0 2.037552,2.676055 1.757044,3.772594 2,6 l 5,0 0,-9 -12,-5 -5,-7 z"
+         style="fill:#000080;stroke:none" />
+      <path
+         sodipodi:nodetypes="ccccc"
+         inkscape:connector-curvature="0"
+         id="rect3784"
+         d="m 21,24 9,0 4,7 -13,0 z"
+         style="fill:#ffffff;fill-opacity:1;stroke:none"
+         transform="translate(0,988.3622)" />
+      <path
+         sodipodi:nodetypes="ccccc"
+         inkscape:connector-curvature="0"
+         id="rect3786"
+         d="m 11,24 8,0 0,7 -11,0 z"
+         style="fill:#ffffff;fill-opacity:1;stroke:none"
+         transform="translate(0,988.3622)" />
+    </g>
+    <rect
+       style="fill:none;stroke:none"
+       id="rect3797"
+       width="45"
+       height="45"
+       x="10.5"
+       y="997.36218" />
+  </g>
+</svg>
diff --git a/src/icons/ActCycle.svg b/src/icons/ActCycle.svg
new file mode 100644
index 0000000..fa3d5d1
--- /dev/null
+++ b/src/icons/ActCycle.svg
@@ -0,0 +1,146 @@
+<?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="ActCycle.svg">
+  <defs
+     id="defs4" />
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="3.959798"
+     inkscape:cx="-70.782856"
+     inkscape:cy="-9.4060449"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="true"
+     inkscape:window-width="1920"
+     inkscape:window-height="1010"
+     inkscape:window-x="-4"
+     inkscape:window-y="-4"
+     inkscape:window-maximized="1">
+    <inkscape:grid
+       type="xygrid"
+       id="grid2985"
+       empspacing="5"
+       visible="true"
+       enabled="true"
+       snapvisiblegridlinesonly="true" />
+  </sodipodi:namedview>
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Ebene 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(0,-988.3622)">
+    <rect
+       style="fill:none;stroke:none"
+       id="rect3792"
+       width="60"
+       height="60"
+       x="0"
+       y="988.61218" />
+    <g
+       id="g3851"
+       transform="translate(110,-15)"
+       style="stroke-width:4;stroke-miterlimit:4;stroke-dasharray:none">
+      <path
+         sodipodi:open="true"
+         sodipodi:end="6.2787911"
+         sodipodi:start="0"
+         transform="translate(0,988.3622)"
+         d="m -85,54 c 0,5.522847 -4.477153,10 -10,10 -5.52285,0 -10,-4.477153 -10,-10 0,-5.522847 4.47715,-10 10,-10 5.505695,0 9.97571,4.450416 9.999903,9.956058"
+         sodipodi:ry="10"
+         sodipodi:rx="10"
+         sodipodi:cy="54"
+         sodipodi:cx="-95"
+         id="path3813"
+         style="fill:none;stroke:#000080;stroke-width:4;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"
+         sodipodi:type="arc" />
+      <path
+         sodipodi:open="true"
+         sodipodi:end="6.2787911"
+         sodipodi:start="0"
+         d="m -85,54 c 0,5.522847 -4.477153,10 -10,10 -5.52285,0 -10,-4.477153 -10,-10 0,-5.522847 4.47715,-10 10,-10 5.505695,0 9.97571,4.450416 9.999903,9.956058"
+         sodipodi:ry="10"
+         sodipodi:rx="10"
+         sodipodi:cy="54"
+         sodipodi:cx="-95"
+         id="path3813-2"
+         style="fill:none;stroke:#000080;stroke-width:4;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"
+         sodipodi:type="arc"
+         transform="translate(35.000097,988.40614)" />
+      <path
+         inkscape:connector-curvature="0"
+         id="path3833"
+         d="m -60,1042.3622 -5,-15"
+         style="fill:none;stroke:#000080;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+      <path
+         sodipodi:nodetypes="ccc"
+         transform="translate(0,988.3622)"
+         inkscape:connector-curvature="0"
+         id="path3835"
+         d="m -95,54 10,-15 20,0"
+         style="fill:none;stroke:#000080;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+      <path
+         sodipodi:nodetypes="ccc"
+         transform="translate(0,988.3622)"
+         inkscape:connector-curvature="0"
+         id="path3839"
+         d="m -65,39 -15,15 -5,-15 -2,-5"
+         style="fill:none;stroke:#000080;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+      <path
+         transform="translate(0,988.3622)"
+         inkscape:connector-curvature="0"
+         id="path3841"
+         d="m -80,54 -15,0"
+         style="fill:none;stroke:#000080;stroke-width:4;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+      <path
+         sodipodi:nodetypes="cc"
+         inkscape:connector-curvature="0"
+         id="path3843"
+         d="m -90,1022.3622 7,0 -7,1"
+         style="fill:none;stroke:#000080;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+      <path
+         transform="translate(0,988.3622)"
+         inkscape:connector-curvature="0"
+         id="path3845"
+         d="m -65,39 0,-4 3,-2 -6,-1"
+         style="fill:none;stroke:#000080;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+    </g>
+    <rect
+       style="fill:none;stroke:none"
+       id="rect3847"
+       width="60"
+       height="60"
+       x="2.5000534"
+       y="991.38416" />
+  </g>
+</svg>
diff --git a/src/icons/ActFoot.svg b/src/icons/ActFoot.svg
new file mode 100644
index 0000000..ab11cee
--- /dev/null
+++ b/src/icons/ActFoot.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.48.5 r10040"
+   sodipodi:docname="ActFoot.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="-23.309807"
+     inkscape:cy="14.956729"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="true"
+     inkscape:window-width="1920"
+     inkscape:window-height="1010"
+     inkscape:window-x="-4"
+     inkscape:window-y="-4"
+     inkscape:window-maximized="1">
+    <inkscape:grid
+       type="xygrid"
+       id="grid2985"
+       empspacing="5"
+       visible="true"
+       enabled="true"
+       snapvisiblegridlinesonly="true" />
+  </sodipodi:namedview>
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Ebene 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(0,-988.3622)">
+    <g
+       id="g3785"
+       transform="translate(85,0)">
+      <path
+         sodipodi:open="true"
+         sodipodi:end="6.2787911"
+         sodipodi:start="0"
+         transform="matrix(1.5,0,0,1.5,27.5,986.3622)"
+         d="m -50,9 a 5,5 0 1 1 -4.8e-5,-0.021971"
+         sodipodi:ry="5"
+         sodipodi:rx="5"
+         sodipodi:cy="9"
+         sodipodi:cx="-55"
+         id="path3005"
+         style="fill:#000080;fill-opacity:1;stroke:none"
+         sodipodi:type="arc" />
+      <path
+         sodipodi:nodetypes="cccc"
+         transform="translate(0,988.3622)"
+         inkscape:connector-curvature="0"
+         id="path3009"
+         d="m -55,14 0,20 10,10 0,10"
+         style="fill:none;stroke:#000080;stroke-width:5;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+      <path
+         sodipodi:nodetypes="cc"
+         transform="translate(0,988.3622)"
+         inkscape:connector-curvature="0"
+         id="path3011"
+         d="M -55,34 -65,54"
+         style="fill:none;stroke:#000080;stroke-width:5;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+      <path
+         sodipodi:nodetypes="ccc"
+         transform="translate(0,988.3622)"
+         inkscape:connector-curvature="0"
+         id="path3013"
+         d="m -55,19 -10,5 0,10"
+         style="fill:none;stroke:#000080;stroke-width:5;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+      <path
+         sodipodi:nodetypes="cc"
+         transform="translate(0,988.3622)"
+         inkscape:connector-curvature="0"
+         id="path3015"
+         d="m -55,24 10,10"
+         style="fill:none;stroke:#000080;stroke-width:5;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+    </g>
+    <rect
+       style="fill:none;stroke:none"
+       id="rect3792"
+       width="60"
+       height="60"
+       x="0"
+       y="988.61218" />
+  </g>
+</svg>
diff --git a/src/icons/ActNone.svg b/src/icons/ActNone.svg
new file mode 100644
index 0000000..72bd7fc
--- /dev/null
+++ b/src/icons/ActNone.svg
@@ -0,0 +1,83 @@
+<?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="Neues Dokument 1">
+  <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="18.118764"
+     inkscape:cy="14.956729"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="true"
+     inkscape:window-width="1920"
+     inkscape:window-height="1010"
+     inkscape:window-x="-4"
+     inkscape:window-y="-4"
+     inkscape:window-maximized="1">
+    <inkscape:grid
+       type="xygrid"
+       id="grid2985"
+       empspacing="5"
+       visible="true"
+       enabled="true"
+       snapvisiblegridlinesonly="true" />
+  </sodipodi:namedview>
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Ebene 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(0,-988.3622)">
+    <rect
+       style="fill:none;stroke:none"
+       id="rect2987"
+       width="40"
+       height="40"
+       x="5"
+       y="991.62561" />
+    <text
+       xml:space="preserve"
+       style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000080;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="15.15625"
+       y="1025.9713"
+       id="text2989"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan2991"
+         x="15.15625"
+         y="1025.9713"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Droid Serif;-inkscape-font-specification:Droid Serif">?</tspan></text>
+  </g>
+</svg>
diff --git a/src/icons/ActShip.svg b/src/icons/ActShip.svg
new file mode 100644
index 0000000..596cb66
--- /dev/null
+++ b/src/icons/ActShip.svg
@@ -0,0 +1,100 @@
+<?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="ActShip.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="25.417611"
+     inkscape:cy="31.190069"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="true"
+     inkscape:window-width="1920"
+     inkscape:window-height="1010"
+     inkscape:window-x="-4"
+     inkscape:window-y="-4"
+     inkscape:window-maximized="1">
+    <inkscape:grid
+       type="xygrid"
+       id="grid2985"
+       empspacing="5"
+       visible="true"
+       enabled="true"
+       snapvisiblegridlinesonly="true" />
+  </sodipodi:namedview>
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Ebene 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(0,-988.3622)">
+    <g
+       id="g3786"
+       transform="translate(0.5,2)">
+      <path
+         sodipodi:nodetypes="ccccc"
+         inkscape:connector-curvature="0"
+         id="rect2993"
+         d="m 5,39 45,0 -9,5 -21,0 z"
+         style="fill:#000080;stroke:#000080;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4"
+         transform="translate(0,988.3622)" />
+      <path
+         transform="translate(0,988.3622)"
+         inkscape:connector-curvature="0"
+         id="path3764"
+         d="M 30,37 30,4"
+         style="fill:none;stroke:#000080;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+      <path
+         inkscape:connector-curvature="0"
+         id="path3766"
+         d="m 34,1022.3622 0,-30 15,30 z"
+         style="fill:none;stroke:#000080;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+      <path
+         sodipodi:nodetypes="cccc"
+         inkscape:connector-curvature="0"
+         id="path3766-1"
+         d="m 26,1022.3622 0,-30 -21,30 z"
+         style="fill:none;stroke:#000080;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+    </g>
+    <rect
+       style="fill:none;stroke:none"
+       id="rect3792"
+       width="50"
+       height="50"
+       x="3"
+       y="1"
+       transform="translate(0,988.3622)" />
+  </g>
+</svg>
diff --git a/src/icons/ActSwim.svg b/src/icons/ActSwim.svg
new file mode 100644
index 0000000..b541ba1
--- /dev/null
+++ b/src/icons/ActSwim.svg
@@ -0,0 +1,106 @@
+<?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="ActSwim.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="29.440237"
+     inkscape:cy="31.190069"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="true"
+     inkscape:window-width="1920"
+     inkscape:window-height="996"
+     inkscape:window-x="-2"
+     inkscape:window-y="-3"
+     inkscape:window-maximized="1">
+    <inkscape:grid
+       type="xygrid"
+       id="grid2985"
+       empspacing="5"
+       visible="true"
+       enabled="true"
+       snapvisiblegridlinesonly="true" />
+  </sodipodi:namedview>
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Ebene 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(0,-988.3622)">
+    <g
+       id="g3761"
+       transform="translate(-1.5000001,-1.0000088)">
+      <path
+         sodipodi:open="true"
+         sodipodi:end="6.2789689"
+         sodipodi:start="0"
+         transform="translate(5.0000222,991.14608)"
+         d="m 55,24 c 0,2.761424 -2.238576,5 -5,5 -2.761424,0 -5,-2.238576 -5,-5 0,-2.761424 2.238576,-5 5,-5 2.753194,0 4.988347,2.225748 4.999956,4.978918"
+         sodipodi:ry="5"
+         sodipodi:rx="5"
+         sodipodi:cy="24"
+         sodipodi:cx="50"
+         id="path3008"
+         style="fill:#000080;fill-opacity:1;fill-rule:evenodd;stroke:#000080;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+         sodipodi:type="arc" />
+      <path
+         sodipodi:nodetypes="cccc"
+         inkscape:connector-curvature="0"
+         id="path3013"
+         d="m 44.999978,1019.125 5,5 c -12.159363,-2.949 -25.197844,7.2512 -35,1 z"
+         style="fill:#000080;stroke:#000080;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+      <path
+         sodipodi:nodetypes="ccc"
+         inkscape:connector-curvature="0"
+         id="path3015"
+         d="m 44.999978,1019.125 -6,-11 10,-4"
+         style="fill:none;stroke:#000080;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+      <path
+         sodipodi:nodetypes="cccc"
+         inkscape:connector-curvature="0"
+         id="path3789"
+         d="m 9.9999778,1033.125 c 6.5066872,4.213 14.1315472,4.2255 25.0000002,2 4.756245,-1.3979 9.543671,-2.7023 15,-2 3.416876,0.3325 6.81703,1.7319 10,3"
+         style="fill:none;stroke:#000080;stroke-width:8;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+    </g>
+    <rect
+       style="fill:none;stroke:none"
+       id="rect3791"
+       width="58"
+       height="56"
+       x="4.4999776"
+       y="992.36218" />
+  </g>
+</svg>
diff --git a/src/icons/Activity.svg b/src/icons/Activity.svg
new file mode 100644
index 0000000..220befd
--- /dev/null
+++ b/src/icons/Activity.svg
@@ -0,0 +1,239 @@
+<?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="ActFoot.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="-23.309807"
+     inkscape:cy="14.956729"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="true"
+     inkscape:window-width="1920"
+     inkscape:window-height="1010"
+     inkscape:window-x="-4"
+     inkscape:window-y="-4"
+     inkscape:window-maximized="1">
+    <inkscape:grid
+       type="xygrid"
+       id="grid2985"
+       empspacing="5"
+       visible="true"
+       enabled="true"
+       snapvisiblegridlinesonly="true" />
+  </sodipodi:namedview>
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Ebene 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(0,-988.3622)">
+    <rect
+       style="fill:none;stroke:none"
+       id="rect3792"
+       width="60"
+       height="60"
+       x="0"
+       y="988.61218" />
+    <g
+       id="g3217"
+       transform="translate(80,-5)">
+      <g
+         transform="translate(25,5)"
+         id="g3785">
+        <path
+           sodipodi:type="arc"
+           style="fill:#000080;fill-opacity:1;stroke:none"
+           id="path3005"
+           sodipodi:cx="-55"
+           sodipodi:cy="9"
+           sodipodi:rx="5"
+           sodipodi:ry="5"
+           d="m -50,9 a 5,5 0 1 1 -4.8e-5,-0.021971"
+           transform="matrix(1.5,0,0,1.5,27.5,986.3622)"
+           sodipodi:start="0"
+           sodipodi:end="6.2787911"
+           sodipodi:open="true" />
+        <path
+           style="fill:none;stroke:#000080;stroke-width:5;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+           d="m -55,14 0,20 10,10 0,10"
+           id="path3009"
+           inkscape:connector-curvature="0"
+           transform="translate(0,988.3622)"
+           sodipodi:nodetypes="cccc" />
+        <path
+           style="fill:none;stroke:#000080;stroke-width:5;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+           d="M -55,34 -65,54"
+           id="path3011"
+           inkscape:connector-curvature="0"
+           transform="translate(0,988.3622)"
+           sodipodi:nodetypes="cc" />
+        <path
+           style="fill:none;stroke:#000080;stroke-width:5;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+           d="m -55,19 -10,5 0,10"
+           id="path3013"
+           inkscape:connector-curvature="0"
+           transform="translate(0,988.3622)"
+           sodipodi:nodetypes="ccc" />
+        <path
+           style="fill:none;stroke:#000080;stroke-width:5;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+           d="m -55,24 10,10"
+           id="path3015"
+           inkscape:connector-curvature="0"
+           transform="translate(0,988.3622)"
+           sodipodi:nodetypes="cc" />
+      </g>
+      <g
+         transform="matrix(0.65909091,0,0,0.76190476,-75.977273,236.56243)"
+         id="g3790">
+        <path
+           sodipodi:type="arc"
+           style="fill:#000080;fill-opacity:1;stroke:#000080;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+           id="path2991"
+           sodipodi:cx="12.5"
+           sodipodi:cy="41.5"
+           sodipodi:rx="2.5"
+           sodipodi:ry="2.5"
+           d="m 15,41.5 a 2.5,2.5 0 1 1 -2.4e-5,-0.01098"
+           transform="translate(0,988.6177)"
+           sodipodi:start="0"
+           sodipodi:end="6.2787911"
+           sodipodi:open="true" />
+        <path
+           transform="translate(24.000024,988.6177)"
+           sodipodi:type="arc"
+           style="fill:#000080;fill-opacity:1;stroke:#000080;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+           id="path2991-0"
+           sodipodi:cx="12.5"
+           sodipodi:cy="41.5"
+           sodipodi:rx="2.5"
+           sodipodi:ry="2.5"
+           d="m 15,41.5 a 2.5,2.5 0 1 1 -2.4e-5,-0.01098"
+           sodipodi:start="0"
+           sodipodi:end="6.2787911"
+           sodipodi:open="true" />
+        <path
+           style="fill:#000080;stroke:none"
+           d="m 10,22 -7,10 0,10 4,0 c 0.3852531,-2.94808 1.1917681,-3.474899 3,-5 1.513423,-0.766219 3.253592,-0.398706 5,0 2.497722,2.333333 2.024416,2.666667 3,5 l 13,0 c 0.304003,-2.397713 0,-3 2,-5 4,-1 4.733951,-0.403707 7,0 2.037552,2.676055 1.757044,3.772594 2,6 l 5,0 0,-9 -12,-5 -5,-7 z"
+           transform="translate(0,988.3622)"
+           id="path3779"
+           inkscape:connector-curvature="0"
+           sodipodi:nodetypes="cccccccccccccccc" />
+        <path
+           transform="translate(0,988.3622)"
+           style="fill:#ffffff;fill-opacity:1;stroke:none"
+           d="m 21,24 9,0 4,7 -13,0 z"
+           id="rect3784"
+           inkscape:connector-curvature="0"
+           sodipodi:nodetypes="ccccc" />
+        <path
+           transform="translate(0,988.3622)"
+           style="fill:#ffffff;fill-opacity:1;stroke:none"
+           d="m 11,24 8,0 0,7 -11,0 z"
+           id="rect3786"
+           inkscape:connector-curvature="0"
+           sodipodi:nodetypes="ccccc" />
+      </g>
+      <g
+         style="stroke-width:4;stroke-miterlimit:4;stroke-dasharray:none"
+         transform="matrix(0.55391146,0,0,0.65998364,-17.917526,359.31996)"
+         id="g3851">
+        <path
+           sodipodi:type="arc"
+           style="fill:none;stroke:#000080;stroke-width:4;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"
+           id="path3813"
+           sodipodi:cx="-95"
+           sodipodi:cy="54"
+           sodipodi:rx="10"
+           sodipodi:ry="10"
+           d="m -85,54 a 10,10 0 1 1 -9.7e-5,-0.04394"
+           transform="translate(0,988.3622)"
+           sodipodi:start="0"
+           sodipodi:end="6.2787911"
+           sodipodi:open="true" />
+        <path
+           transform="translate(35.000097,988.40614)"
+           sodipodi:type="arc"
+           style="fill:none;stroke:#000080;stroke-width:4;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"
+           id="path3813-2"
+           sodipodi:cx="-95"
+           sodipodi:cy="54"
+           sodipodi:rx="10"
+           sodipodi:ry="10"
+           d="m -85,54 a 10,10 0 1 1 -9.7e-5,-0.04394"
+           sodipodi:start="0"
+           sodipodi:end="6.2787911"
+           sodipodi:open="true" />
+        <path
+           style="fill:none;stroke:#000080;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+           d="m -60,1042.3622 -5,-15"
+           id="path3833"
+           inkscape:connector-curvature="0" />
+        <path
+           style="fill:none;stroke:#000080;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+           d="m -95,54 10,-15 20,0"
+           id="path3835"
+           inkscape:connector-curvature="0"
+           transform="translate(0,988.3622)"
+           sodipodi:nodetypes="ccc" />
+        <path
+           style="fill:none;stroke:#000080;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+           d="m -65,39 -15,15 -5,-15 -2,-5"
+           id="path3839"
+           inkscape:connector-curvature="0"
+           transform="translate(0,988.3622)"
+           sodipodi:nodetypes="ccc" />
+        <path
+           style="fill:none;stroke:#000080;stroke-width:4;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+           d="m -80,54 -15,0"
+           id="path3841"
+           inkscape:connector-curvature="0"
+           transform="translate(0,988.3622)" />
+        <path
+           style="fill:none;stroke:#000080;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+           d="m -90,1022.3622 7,0 -7,1"
+           id="path3843"
+           inkscape:connector-curvature="0"
+           sodipodi:nodetypes="cc" />
+        <path
+           style="fill:none;stroke:#000080;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+           d="m -65,39 0,-4 3,-2 -6,-1"
+           id="path3845"
+           inkscape:connector-curvature="0"
+           transform="translate(0,988.3622)" />
+      </g>
+    </g>
+  </g>
+</svg>
diff --git a/src/icons/PrintSave.svg b/src/icons/PrintSave.svg
new file mode 100644
index 0000000..1c47c73
--- /dev/null
+++ b/src/icons/PrintSave.svg
@@ -0,0 +1,149 @@
+<?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="64px"
+   height="64px"
+   id="svg3513"
+   version="1.1"
+   inkscape:version="0.48.5 r10040"
+   sodipodi:docname="PrintSave.svg">
+  <defs
+     id="defs3515" />
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="2.60451"
+     inkscape:cx="24.110995"
+     inkscape:cy="21.097648"
+     inkscape:current-layer="layer1"
+     showgrid="true"
+     inkscape:document-units="px"
+     inkscape:grid-bbox="true"
+     inkscape:window-width="1920"
+     inkscape:window-height="996"
+     inkscape:window-x="-2"
+     inkscape:window-y="-3"
+     inkscape:window-maximized="1">
+    <inkscape:grid
+       type="xygrid"
+       id="grid2983"
+       empspacing="5"
+       visible="true"
+       enabled="true"
+       snapvisiblegridlinesonly="true" />
+  </sodipodi:namedview>
+  <metadata
+     id="metadata3518">
+    <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
+     id="layer1"
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer">
+    <flowRoot
+       transform="translate(28.375095,-960.23146)"
+       xml:space="preserve"
+       id="flowRoot3859"
+       style="font-size:12px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"><flowRegion
+         id="flowRegion3861"><rect
+           id="rect3863"
+           width="75.35714"
+           height="62.142857"
+           x="-9.4642859"
+           y="2.2142856" /></flowRegion><flowPara
+         id="flowPara3865" /></flowRoot>    <g
+       id="g3036"
+       transform="matrix(0.66584691,0,0,0.71589509,26.254779,22.972117)">
+      <rect
+         y="19.165777"
+         x="12.169161"
+         height="10.742718"
+         width="28.713078"
+         id="rect3007"
+         style="fill:none;stroke:#000080;stroke-width:1.32385564;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+      <rect
+         y="22.388592"
+         x="17.389721"
+         height="4.8342233"
+         width="18.271959"
+         id="rect3017"
+         style="fill:#000080;fill-opacity:1;fill-rule:evenodd;stroke:#000080;stroke-width:1.25591969;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+      <path
+         sodipodi:nodetypes="cccc"
+         inkscape:connector-curvature="0"
+         id="path3013"
+         d="m 17.38972,35.279854 18.271959,0 L 33.051399,24 20,24"
+         style="fill:#cccccc;stroke:#000080;stroke-width:1.32385564;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+      <path
+         sodipodi:nodetypes="cc"
+         inkscape:connector-curvature="0"
+         id="path3011"
+         d="M 20,24 17.38972,35.279854"
+         style="fill:none;stroke:#000080;stroke-width:1.32385564;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+      <path
+         inkscape:connector-curvature="0"
+         id="path3787"
+         d="m 12.16916,19.165777 2.61028,-2.68568 23.492519,0 2.61028,2.68568"
+         style="fill:#afc6e9;stroke:#000080;stroke-width:1.32385564;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+      <rect
+         y="8.4230585"
+         x="20"
+         height="9.6684465"
+         width="13.573455"
+         id="rect3015"
+         style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000080;stroke-width:1.32385564;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+    </g>
+    <g
+       id="g4549"
+       transform="matrix(0.83333333,0,0,0.83333344,53.714349,-822.71573)">
+      <rect
+         y="998.10114"
+         x="-49.82143"
+         height="29.999996"
+         width="30"
+         id="rect3366-5"
+         style="fill:#000080;fill-opacity:1;stroke:#0000ff;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none" />
+      <rect
+         y="1017.6011"
+         x="-44.464287"
+         height="10.499999"
+         width="19.5"
+         id="rect4136-7"
+         style="fill:#cccccc;fill-opacity:1;stroke:#0000ff;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none" />
+      <rect
+         y="1020.2748"
+         x="-40.067711"
+         height="5.0856576"
+         width="3.8534257"
+         id="rect4138-5"
+         style="fill:#000080;fill-opacity:1;stroke:#0000ff;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none" />
+      <rect
+         y="1000.1259"
+         x="-45.793831"
+         height="14.050763"
+         width="21.944799"
+         id="rect4145-7"
+         style="fill:#ececec;fill-opacity:1;stroke:#0000ff;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none" />
+    </g>
+  </g>
+</svg>
diff --git a/src/icons/SetupCoordFormat.svg b/src/icons/SetupCoordFormat.svg
new file mode 100644
index 0000000..b89e079
--- /dev/null
+++ b/src/icons/SetupCoordFormat.svg
@@ -0,0 +1,74 @@
+<?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="64px"
+   height="64px"
+   id="svg3020"
+   version="1.1"
+   inkscape:version="0.48.5 r10040"
+   sodipodi:docname="SetupCoordFormat.svg">
+  <defs
+     id="defs3022" />
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="5.5"
+     inkscape:cx="-17"
+     inkscape:cy="32"
+     inkscape:current-layer="layer1"
+     showgrid="true"
+     inkscape:document-units="px"
+     inkscape:grid-bbox="true"
+     inkscape:window-width="1920"
+     inkscape:window-height="1010"
+     inkscape:window-x="-4"
+     inkscape:window-y="-4"
+     inkscape:window-maximized="1" />
+  <metadata
+     id="metadata3025">
+    <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
+     id="layer1"
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer">
+    <text
+       xml:space="preserve"
+       style="font-size:19.30305672px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+       x="13.916374"
+       y="21.969414"
+       id="text3012"
+       sodipodi:linespacing="125%"
+       transform="scale(0.84718903,1.1803741)"><tspan
+         sodipodi:role="line"
+         id="tspan3014"
+         x="13.916374"
+         y="21.969414"
+         style="font-size:16.89017296px;font-weight:bold;fill:#000080;-inkscape-font-specification:Sans Bold">N48..</tspan><tspan
+         sodipodi:role="line"
+         x="13.916374"
+         y="43.08213"
+         id="tspan3016"
+         style="font-size:16.89017296px;font-weight:bold;fill:#000080;-inkscape-font-specification:Sans Bold">E012</tspan></text>
+  </g>
+</svg>
diff --git a/src/icons/ShowAll.svg b/src/icons/ShowAll.svg
new file mode 100644
index 0000000..99f27f2
--- /dev/null
+++ b/src/icons/ShowAll.svg
@@ -0,0 +1,97 @@
+<?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="64px"
+   height="64px"
+   id="svg3020"
+   version="1.1"
+   inkscape:version="0.91 r13725"
+   sodipodi:docname="ShowAll.svg">
+  <defs
+     id="defs3022" />
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="22"
+     inkscape:cx="32.410373"
+     inkscape:cy="28.667849"
+     inkscape:current-layer="layer1"
+     showgrid="true"
+     inkscape:document-units="px"
+     inkscape:grid-bbox="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="grid3017" />
+  </sodipodi:namedview>
+  <metadata
+     id="metadata3025">
+    <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
+     id="layer1"
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer">
+    <g
+       id="g3019"
+       transform="translate(0.69365709,2.7272728)">
+      <rect
+         style="fill:none;stroke:#000080;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+         id="rect4156-1"
+         width="37.47588"
+         height="40"
+         x="11.625697"
+         y="11.454543" />
+      <g
+         id="g3012">
+        <path
+           id="path4129-7-3-9"
+           style="fill:#ffffff;stroke:#ffffff;stroke-width:4.43720007;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+           d="m 12.578659,31.869715 c 5.995718,9.867863 18.720945,12.923577 28.422579,6.82512 2.822568,-1.774263 5.18323,-4.214229 6.882092,-7.113257 M 12.843943,31.039361 c 5.995719,-9.867863 18.720945,-12.923577 28.422579,-6.82512 2.822568,1.774263 5.18323,4.214228 6.882092,7.113257"
+           inkscape:connector-curvature="0" />
+        <path
+           id="path4129-7-3"
+           style="fill:#ffffff;stroke:#000080;stroke-width:2.03560519;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+           d="m 12.578658,31.869715 c 5.995718,9.867863 18.720946,12.923577 28.42258,6.82512 2.822568,-1.774263 5.18323,-4.214229 6.882092,-7.113257 M 12.843942,31.039361 c 5.995719,-9.867863 18.720946,-12.923577 28.42258,-6.82512 2.822568,1.774263 5.18323,4.214228 6.882092,7.113257"
+           inkscape:connector-curvature="0" />
+        <path
+           sodipodi:open="true"
+           sodipodi:end="12.02886"
+           sodipodi:start="5.8033439"
+           d="m 379.43534,30.05399 a 5,5 0 0 1 -2.06344,6.709796 5,5 0 0 1 -6.73885,-1.966497 5,5 0 0 1 1.86914,-6.766497 5,5 0 0 1 6.79274,1.771394"
+           sodipodi:ry="5"
+           sodipodi:rx="5"
+           sodipodi:cy="32.362183"
+           sodipodi:cx="375"
+           id="path4149-5"
+           style="fill:#000080;stroke:#000080;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+           sodipodi:type="arc"
+           transform="matrix(0.89711754,0,0,0.95224119,-306.05544,0.63780763)" />
+      </g>
+    </g>
+  </g>
+</svg>
diff --git a/src/icons/ShowNone.svg b/src/icons/ShowNone.svg
new file mode 100644
index 0000000..abd4c6e
--- /dev/null
+++ b/src/icons/ShowNone.svg
@@ -0,0 +1,103 @@
+<?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="64px"
+   height="64px"
+   id="svg3020"
+   version="1.1"
+   inkscape:version="0.91 r13725"
+   sodipodi:docname="ShowNone.svg">
+  <defs
+     id="defs3022" />
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="11"
+     inkscape:cx="-22.399076"
+     inkscape:cy="20.590912"
+     inkscape:current-layer="layer1"
+     showgrid="true"
+     inkscape:document-units="px"
+     inkscape:grid-bbox="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="grid3017" />
+  </sodipodi:namedview>
+  <metadata
+     id="metadata3025">
+    <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
+     id="layer1"
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer">
+    <g
+       id="g3019"
+       transform="translate(0.69365709,2.7272728)">
+      <rect
+         style="fill:none;stroke:#000080;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+         id="rect4156-1"
+         width="37.47588"
+         height="40"
+         x="11.625697"
+         y="11.454543" />
+      <g
+         id="g3012">
+        <path
+           id="path4129-7-3-9"
+           style="fill:#ffffff;stroke:#ffffff;stroke-width:4.43720007;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+           d="m 12.578659,31.869715 c 5.995718,9.867863 18.720945,12.923577 28.422579,6.82512 2.822568,-1.774263 5.18323,-4.214229 6.882092,-7.113257 M 12.843943,31.039361 c 5.995719,-9.867863 18.720945,-12.923577 28.422579,-6.82512 2.822568,1.774263 5.18323,4.214228 6.882092,7.113257"
+           inkscape:connector-curvature="0" />
+        <path
+           id="path4129-7-3"
+           style="fill:#ffffff;stroke:#000080;stroke-width:2.03560519;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+           d="m 12.578658,31.869715 c 5.995718,9.867863 18.720946,12.923577 28.42258,6.82512 2.822568,-1.774263 5.18323,-4.214229 6.882092,-7.113257 M 12.843942,31.039361 c 5.995719,-9.867863 18.720946,-12.923577 28.42258,-6.82512 2.822568,1.774263 5.18323,4.214228 6.882092,7.113257"
+           inkscape:connector-curvature="0" />
+        <path
+           sodipodi:open="true"
+           sodipodi:end="12.02886"
+           sodipodi:start="5.8033439"
+           d="m 379.43534,30.05399 a 5,5 0 0 1 -2.06344,6.709796 5,5 0 0 1 -6.73885,-1.966497 5,5 0 0 1 1.86914,-6.766497 5,5 0 0 1 6.79274,1.771394"
+           sodipodi:ry="5"
+           sodipodi:rx="5"
+           sodipodi:cy="32.362183"
+           sodipodi:cx="375"
+           id="path4149-5"
+           style="fill:#000080;stroke:#000080;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+           sodipodi:type="arc"
+           transform="matrix(0.89711754,0,0,0.95224119,-306.05544,0.63780763)" />
+      </g>
+    </g>
+    <path
+       style="fill:none;fill-rule:evenodd;stroke:#ff0000;stroke-width:4.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
+       d="m 14.636364,46.454545 c 11,-8.333333 22,-16.666667 33,-25"
+       id="path4140"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cc" />
+  </g>
+</svg>
diff --git a/src/icons/makeicons b/src/icons/makeicons
index 3f1bc87..80b4f15 100755
--- a/src/icons/makeicons
+++ b/src/icons/makeicons
@@ -1,4 +1,5 @@
 #!/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
+
diff --git a/src/locale/qmapshack_cs.ts b/src/locale/qmapshack_cs.ts
index d41cbaa..f86d110 100644
--- a/src/locale/qmapshack_cs.ts
+++ b/src/locale/qmapshack_cs.ts
@@ -4,8 +4,17 @@
 <context>
     <name>CAbout</name>
     <message>
-        <location filename="../CAbout.cpp" line="36"/>
         <source>API Version %1 (expected %2)</source>
+        <translation type="vanished">Verze API %1 (očekávána %2)     </translation>
+    </message>
+    <message>
+        <location filename="../CAbout.cpp" line="38"/>
+        <source>%1 (API V%2, expected V%3)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../CAbout.cpp" line="42"/>
+        <source>%1 (API V%2)</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -16,12 +25,45 @@
         <translation type="obsolete">Pohled %1</translation>
     </message>
     <message>
-        <location filename="../canvas/CCanvas.cpp" line="65"/>
+        <location filename="../canvas/CCanvas.cpp" line="66"/>
         <source>View %1</source>
         <translation>Pohled %1</translation>
     </message>
 </context>
 <context>
+    <name>CCommandProcessor</name>
+    <message>
+        <location filename="../helpers/CCommandProcessor.cpp" line="31"/>
+        <source>Print debug output to console.</source>
+        <translation>Zobrazit výstup ladění v konzoli.</translation>
+    </message>
+    <message>
+        <location filename="../helpers/CCommandProcessor.cpp" line="34"/>
+        <source>Print debug output to logfile (temp. path).</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../helpers/CCommandProcessor.cpp" line="37"/>
+        <source>Do not show splash screen.</source>
+        <translation>Neukazovat uvítací obrazovku.</translation>
+    </message>
+    <message>
+        <location filename="../helpers/CCommandProcessor.cpp" line="40"/>
+        <source>File with QMapShack configuration.</source>
+        <translation>Soubor s nastavením pro QMapShack.</translation>
+    </message>
+    <message>
+        <location filename="../helpers/CCommandProcessor.cpp" line="40"/>
+        <source>file</source>
+        <translation>Soubor</translation>
+    </message>
+    <message>
+        <location filename="../helpers/CCommandProcessor.cpp" line="43"/>
+        <source>Files for future use.</source>
+        <translation>Soubory pro pozdější potřebu.</translation>
+    </message>
+</context>
+<context>
     <name>CDemList</name>
     <message>
         <location filename="../dem/CDemList.cpp" line="145"/>
@@ -85,23 +127,23 @@
 <context>
     <name>CDetailsGeoCache</name>
     <message>
-        <location filename="../gis/wpt/CDetailsGeoCache.cpp" line="63"/>
+        <location filename="../gis/wpt/CDetailsGeoCache.cpp" line="62"/>
         <source>none</source>
         <translation>žádné</translation>
     </message>
     <message>
-        <location filename="../gis/wpt/CDetailsGeoCache.cpp" line="63"/>
-        <location filename="../gis/wpt/CDetailsGeoCache.cpp" line="133"/>
+        <location filename="../gis/wpt/CDetailsGeoCache.cpp" line="62"/>
+        <location filename="../gis/wpt/CDetailsGeoCache.cpp" line="132"/>
         <source>???</source>
         <translation>?</translation>
     </message>
     <message>
-        <location filename="../gis/wpt/CDetailsGeoCache.cpp" line="160"/>
+        <location filename="../gis/wpt/CDetailsGeoCache.cpp" line="159"/>
         <source>Searching for images...</source>
         <translation>Hledají se obrázky...</translation>
     </message>
     <message>
-        <location filename="../gis/wpt/CDetailsGeoCache.cpp" line="265"/>
+        <location filename="../gis/wpt/CDetailsGeoCache.cpp" line="264"/>
         <source>No images found</source>
         <translation>Nebyly nalezeny žádné obrázky</translation>
     </message>
@@ -109,12 +151,12 @@
 <context>
     <name>CDetailsOvlArea</name>
     <message>
-        <location filename="../gis/ovl/CDetailsOvlArea.cpp" line="136"/>
+        <location filename="../gis/ovl/CDetailsOvlArea.cpp" line="135"/>
         <source>Edit name...</source>
         <translation>Upravit název...</translation>
     </message>
     <message>
-        <location filename="../gis/ovl/CDetailsOvlArea.cpp" line="136"/>
+        <location filename="../gis/ovl/CDetailsOvlArea.cpp" line="135"/>
         <source>Enter new area name.</source>
         <translation>Zadat název nové oblasti.</translation>
     </message>
@@ -142,13 +184,13 @@
 <context>
     <name>CDetailsPrj</name>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="229"/>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="668"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="249"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="689"/>
         <source>none</source>
         <translation>žádné</translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="301"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="322"/>
         <source>Build diary...</source>
         <translation>Sestavit deník...</translation>
     </message>
@@ -157,35 +199,35 @@
         <translation type="obsolete">Zrušit</translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="376"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="397"/>
         <source><h2>Waypoints</h2></source>
         <translation><h2>Cestovní body</h2></translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="383"/>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="409"/>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="513"/>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="603"/>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="633"/>
+        <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"/>
         <source>Info</source>
         <translation>Informace</translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="384"/>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="410"/>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="514"/>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="604"/>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="634"/>
+        <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"/>
         <source>Comment</source>
         <translation>Poznámka</translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="402"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="423"/>
         <source><h2>Tracks</h2></source>
         <translation><h2>Stopy</h2></translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="596"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="617"/>
         <source><h2>Areas</h2></source>
         <translation><h2>Oblasti</h2></translation>
     </message>
@@ -200,79 +242,54 @@
         <translation>Svázání...</translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="347"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="377"/>
         <source><b>Summary over all tracks in project</b><br/></source>
-        <translation type="unfinished"></translation>
+        <translation><b>Přehled všech stop v projektu</b><br/></translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="350"/>
-        <source>Total Distance:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="352"/>
-        <source>Total Ascend:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="354"/>
-        <source>Total Descend:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="356"/>
-        <source>Total Time:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="358"/>
-        <source>Total Time Moving:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="532"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="553"/>
         <source>distance: %1%2</source>
         <translation>Vzdálenost: %1%2</translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="534"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="555"/>
         <source>ascent: %1%2</source>
         <translation>Stoupání: %1%2</translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="536"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="557"/>
         <source>descend: %1%2</source>
         <translation>Klesání: %1%2</translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="626"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="647"/>
         <source><h2>Routes</h2></source>
-        <translation type="unfinished"></translation>
+        <translation><h2>Cesty</h2></translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="654"/>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="681"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="675"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="702"/>
         <source>Edit name...</source>
         <translation>Upravit název...</translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="654"/>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="681"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="675"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="702"/>
         <source>Enter new project name.</source>
         <translation>Zadejte název projektu.</translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="663"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="684"/>
         <source>Edit keywords...</source>
         <translation>Upravit klíčová slova...</translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="663"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="684"/>
         <source>Enter keywords.</source>
         <translation>Zadejte klíčová slova.</translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="797"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="818"/>
         <source>Print Diary</source>
         <translation>Tisk deníku</translation>
     </message>
@@ -282,57 +299,72 @@
     <message>
         <location filename="../gis/rte/CDetailsRte.cpp" line="120"/>
         <source>Edit name...</source>
-        <translation type="unfinished">Upravit název...</translation>
+        <translation>Upravit název...</translation>
     </message>
     <message>
         <location filename="../gis/rte/CDetailsRte.cpp" line="120"/>
         <source>Enter new route name.</source>
-        <translation type="unfinished">Zadat název nové cesty.</translation>
+        <translation>Zadat nový název pro cestu.</translation>
     </message>
 </context>
 <context>
     <name>CDetailsTrk</name>
     <message>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="67"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="87"/>
         <source>Reduce visible track points</source>
         <translation>Omezit počet viditelných bodů stopy</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="80"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="100"/>
         <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="93"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="113"/>
         <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="106"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="126"/>
         <source>Cut track into pieces</source>
         <translation>Rozkrájet stopu na kusy</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="222"/>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="231"/>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="234"/>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="240"/>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="259"/>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="261"/>
+        <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"/>
         <source>%1 %2</source>
         <translation>%1 %2</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="395"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="457"/>
         <source>Edit name...</source>
         <translation>Upravit název...</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="395"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="457"/>
         <source>Enter new track name.</source>
         <translation>Zadat název nové stopy.</translation>
     </message>
     <message>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="509"/>
+        <source>Reset activities...</source>
+        <translation>Nastavit činnosti znovu...</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="509"/>
+        <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"/>
+        <source>None</source>
+        <translation>Žádné</translation>
+    </message>
+    <message>
         <source><h4>Comment:</h4></source>
         <translation type="obsolete"><h4>Poznámka:</h4></translation>
     </message>
@@ -368,12 +400,12 @@
         <translation type="obsolete"><p>--- žádný popis ---</p></translation>
     </message>
     <message>
-        <location filename="../gis/wpt/CDetailsWpt.cpp" line="158"/>
+        <location filename="../gis/wpt/CDetailsWpt.cpp" line="157"/>
         <source>Edit name...</source>
         <translation>Upravit název...</translation>
     </message>
     <message>
-        <location filename="../gis/wpt/CDetailsWpt.cpp" line="158"/>
+        <location filename="../gis/wpt/CDetailsWpt.cpp" line="157"/>
         <source>Enter new waypoint name.</source>
         <translation>Zadat nový cestovní bod.</translation>
     </message>
@@ -382,7 +414,7 @@
         <translation type="obsolete">Zadat novou výšku.</translation>
     </message>
     <message>
-        <location filename="../gis/wpt/CDetailsWpt.cpp" line="177"/>
+        <location filename="../gis/wpt/CDetailsWpt.cpp" line="176"/>
         <source>Enter new proximity range.</source>
         <translation>Zadejte nový poplach kvůli odstupu.</translation>
     </message>
@@ -468,17 +500,17 @@
 <context>
     <name>CGisListWks</name>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="100"/>
+        <location filename="../gis/CGisListWks.cpp" line="105"/>
         <source>Save As...</source>
         <translation>Uložit jako...</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="101"/>
+        <location filename="../gis/CGisListWks.cpp" line="104"/>
         <source>Save</source>
         <translation>Uložit</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="99"/>
+        <location filename="../gis/CGisListWks.cpp" line="100"/>
         <source>Edit..</source>
         <translation>Upravit...</translation>
     </message>
@@ -487,140 +519,150 @@
         <translation type="obsolete">Aktualizovat projekt na zařízeních</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="103"/>
+        <location filename="../gis/CGisListWks.cpp" line="109"/>
         <source>Close</source>
         <translation>Zavřít</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="109"/>
+        <location filename="../gis/CGisListWks.cpp" line="115"/>
         <source>Update Project on Device</source>
         <translation>Aktualizovat projekt na zařízení</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="121"/>
+        <location filename="../gis/CGisListWks.cpp" line="127"/>
         <source>Edit...</source>
         <translation>Upravit...</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="122"/>
+        <location filename="../gis/CGisListWks.cpp" line="128"/>
         <source>Copy to...</source>
         <translation>Kopírovat do...</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="137"/>
+        <location filename="../gis/CGisListWks.cpp" line="143"/>
         <source>Show Bubble</source>
         <translation>Ukázat bublinu</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="139"/>
+        <location filename="../gis/CGisListWks.cpp" line="145"/>
         <source>Move Waypoint</source>
         <translation>Přesunout cestovní bod</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="140"/>
+        <location filename="../gis/CGisListWks.cpp" line="146"/>
         <source>Proj. Waypoint...</source>
         <translation>Promítnutí cestovního bodu...</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="148"/>
+        <location filename="../gis/CGisListWks.cpp" line="154"/>
         <source>Route Instructions</source>
-        <translation type="unfinished"></translation>
+        <translation>Pokyny pro cestu</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="150"/>
+        <location filename="../gis/CGisListWks.cpp" line="156"/>
         <source>Calculate Route</source>
         <translation>Spočítat cestu</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="151"/>
+        <location filename="../gis/CGisListWks.cpp" line="157"/>
         <source>Reset Route</source>
         <translation>Nastavit cestu znovu</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="152"/>
+        <location filename="../gis/CGisListWks.cpp" line="158"/>
         <source>Edit Route</source>
         <translation>Upravit cestu</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="168"/>
+        <location filename="../gis/CGisListWks.cpp" line="174"/>
         <source>Create Route</source>
         <translation>Vytvořit cestu</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="592"/>
+        <location filename="../gis/CGisListWks.cpp" line="613"/>
         <source>Drop items...</source>
-        <translation type="unfinished"></translation>
+        <translation>Zahodit prvky...</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="617"/>
-        <location filename="../gis/CGisListWks.cpp" line="1455"/>
-        <location filename="../gis/CGisListWks.cpp" line="1493"/>
+        <location filename="../gis/CGisListWks.cpp" line="638"/>
+        <location filename="../gis/CGisListWks.cpp" line="1543"/>
+        <location filename="../gis/CGisListWks.cpp" line="1581"/>
         <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="1177"/>
+        <location filename="../gis/CGisListWks.cpp" line="1265"/>
         <source>Copy items...</source>
-        <translation type="unfinished">Kopírovat prvky...</translation>
+        <translation>Kopírovat prvky...</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="124"/>
+        <location filename="../gis/CGisListWks.cpp" line="130"/>
         <source>Track Profile</source>
         <translation>Profil stopy</translation>
     </message>
     <message>
+        <location filename="../gis/CGisListWks.cpp" line="101"/>
+        <source>Show on Map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <location filename="../gis/CGisListWks.cpp" line="102"/>
+        <source>Hide from Map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/CGisListWks.cpp" line="107"/>
         <source>Send to Devices</source>
         <translation>Poslat do zařízení</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="126"/>
+        <location filename="../gis/CGisListWks.cpp" line="132"/>
         <source>Select Range</source>
         <translation>Vybrat rozsah</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="127"/>
+        <location filename="../gis/CGisListWks.cpp" line="133"/>
         <source>Edit Track Points</source>
         <translation>Upravit body stopy</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="128"/>
+        <location filename="../gis/CGisListWks.cpp" line="134"/>
         <source>Reverse Track</source>
         <translation>Obrátit stopu</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="129"/>
+        <location filename="../gis/CGisListWks.cpp" line="135"/>
         <source>Combine Tracks</source>
         <translation>Spojit stopy</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="161"/>
+        <location filename="../gis/CGisListWks.cpp" line="167"/>
         <source>Edit Area Points</source>
         <translation>Upravit body oblasti</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="110"/>
-        <location filename="../gis/CGisListWks.cpp" line="131"/>
+        <location filename="../gis/CGisListWks.cpp" line="116"/>
+        <location filename="../gis/CGisListWks.cpp" line="137"/>
         <source>Delete</source>
         <translation>Smazat</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="719"/>
+        <location filename="../gis/CGisListWks.cpp" line="740"/>
         <source>Saving workspace. Please wait.</source>
         <translation>Ukládá se pracovní prostor. Počkejte, prosím.</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="763"/>
+        <location filename="../gis/CGisListWks.cpp" line="787"/>
         <source>Loading workspace. Please wait.</source>
         <translation>Nahrává se pracovní prostor. Počkejte, prosím.</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="973"/>
+        <location filename="../gis/CGisListWks.cpp" line="1061"/>
         <source>Close all projects...</source>
         <translation>Zavřít všechny projekty...</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="973"/>
+        <location filename="../gis/CGisListWks.cpp" line="1061"/>
         <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>
@@ -665,22 +707,22 @@
     <message>
         <location filename="../grid/CGrid.cpp" line="65"/>
         <source>%1 %2 </source>
-        <translation type="unfinished">%1 %2 </translation>
+        <translation>%1 %2 </translation>
     </message>
     <message>
         <location filename="../grid/CGrid.cpp" line="69"/>
         <source>%1%2%5 %3%4%5 </source>
-        <translation type="unfinished">%1%2%5 %3%4%5 </translation>
+        <translation>%1%2%5 %3%4%5 </translation>
     </message>
     <message>
         <location filename="../grid/CGrid.cpp" line="76"/>
         <source>%1m, %2m </source>
-        <translation type="unfinished"></translation>
+        <translation>%1m, %2m </translation>
     </message>
     <message>
         <location filename="../grid/CGrid.cpp" line="80"/>
         <source>N %1m, E %2m </source>
-        <translation type="unfinished"></translation>
+        <translation>N %1 m, E %2 m</translation>
     </message>
 </context>
 <context>
@@ -712,27 +754,27 @@
 <context>
     <name>CMainWindow</name>
     <message>
-        <location filename="../CMainWindow.cpp" line="579"/>
+        <location filename="../CMainWindow.cpp" line="589"/>
         <source>Ele: %1%2</source>
         <translation>Výška: %1%2</translation>
     </message>
     <message>
-        <location filename="../CMainWindow.cpp" line="595"/>
+        <location filename="../CMainWindow.cpp" line="605"/>
         <source>[Grid: %1]</source>
-        <translation type="unfinished"></translation>
+        <translation>[Mřížka: %1]</translation>
     </message>
     <message>
-        <location filename="../CMainWindow.cpp" line="710"/>
+        <location filename="../CMainWindow.cpp" line="726"/>
         <source>Load GIS Data...</source>
         <translation>Nahrát data GIS...</translation>
     </message>
     <message>
-        <location filename="../CMainWindow.cpp" line="744"/>
+        <location filename="../CMainWindow.cpp" line="760"/>
         <source>Select output file</source>
         <translation>Vybrat výstupní soubor</translation>
     </message>
     <message>
-        <location filename="../CMainWindow.cpp" line="770"/>
+        <location filename="../CMainWindow.cpp" line="786"/>
         <source>Select file to load</source>
         <translation>Vybrat soubor k nahrání</translation>
     </message>
@@ -1475,18 +1517,19 @@
 <context>
     <name>CMapTMS</name>
     <message>
-        <location filename="../map/CMapTMS.cpp" line="70"/>
-        <location filename="../map/CMapTMS.cpp" line="80"/>
+        <location filename="../map/CMapTMS.cpp" line="71"/>
+        <location filename="../map/CMapTMS.cpp" line="81"/>
+        <location filename="../map/CMapTMS.cpp" line="140"/>
         <source>Error...</source>
         <translation>Chyba...</translation>
     </message>
     <message>
-        <location filename="../map/CMapTMS.cpp" line="70"/>
+        <location filename="../map/CMapTMS.cpp" line="71"/>
         <source>Failed to open %1</source>
         <translation>Nepodařilo se otevřít %1</translation>
     </message>
     <message>
-        <location filename="../map/CMapTMS.cpp" line="80"/>
+        <location filename="../map/CMapTMS.cpp" line="81"/>
         <source>Failed to read: %1
 line %2, column %3:
  %4</source>
@@ -1495,12 +1538,17 @@ line %2, column %3:
 %4</translation>
     </message>
     <message>
-        <location filename="../map/CMapTMS.cpp" line="118"/>
+        <location filename="../map/CMapTMS.cpp" line="119"/>
         <source>Layer %1</source>
         <translation>Vrstva %1</translation>
     </message>
     <message>
-        <location filename="../map/CMapTMS.cpp" line="289"/>
+        <location filename="../map/CMapTMS.cpp" line="134"/>
+        <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"/>
         <source><b>%1</b>: %2 tiles pending<br/></source>
         <translation><b>%1</b>: %2 dlaždic čeká<br/></translation>
     </message>
@@ -1554,7 +1602,7 @@ line %2, column %3:
         <location filename="../tool/CMapVrtBuilder.cpp" line="125"/>
         <source>!!! done !!!
 </source>
-        <translation type="unfinished"></translation>
+        <translation>Hotovo!</translation>
     </message>
     <message>
         <source>!!! failed !!!
@@ -1565,21 +1613,22 @@ line %2, column %3:
 <context>
     <name>CMapWMTS</name>
     <message>
-        <location filename="../map/CMapWMTS.cpp" line="45"/>
-        <location filename="../map/CMapWMTS.cpp" line="55"/>
-        <location filename="../map/CMapWMTS.cpp" line="65"/>
-        <location filename="../map/CMapWMTS.cpp" line="74"/>
-        <location filename="../map/CMapWMTS.cpp" line="206"/>
+        <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"/>
         <source>Error...</source>
         <translation>Chyba...</translation>
     </message>
     <message>
-        <location filename="../map/CMapWMTS.cpp" line="45"/>
+        <location filename="../map/CMapWMTS.cpp" line="46"/>
         <source>Failed to open %1</source>
         <translation>Nepodařilo se otevřít %1</translation>
     </message>
     <message>
-        <location filename="../map/CMapWMTS.cpp" line="55"/>
+        <location filename="../map/CMapWMTS.cpp" line="56"/>
         <source>Failed to read: %1
 line %2, column %3:
  %4</source>
@@ -1588,19 +1637,24 @@ line %2, column %3:
 %4</translation>
     </message>
     <message>
-        <location filename="../map/CMapWMTS.cpp" line="65"/>
+        <location filename="../map/CMapWMTS.cpp" line="66"/>
         <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="74"/>
+        <location filename="../map/CMapWMTS.cpp" line="75"/>
         <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>
     </message>
     <message>
-        <location filename="../map/CMapWMTS.cpp" line="206"/>
+        <location filename="../map/CMapWMTS.cpp" line="154"/>
+        <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"/>
         <source>No georeference information found.</source>
         <translation>Nenalezeny žádné údaje o soustavě souřadnic.</translation>
     </message>
@@ -1609,7 +1663,7 @@ Neznámá stavba.</translation>
         <translation type="obsolete">--- Vše ---</translation>
     </message>
     <message>
-        <location filename="../map/CMapWMTS.cpp" line="392"/>
+        <location filename="../map/CMapWMTS.cpp" line="416"/>
         <source><b>%1</b>: %2 tiles pending<br/></source>
         <translation><b>%1</b>: %2 dlaždic čeká<br/></translation>
     </message>
@@ -1624,7 +1678,7 @@ Neznámá stavba.</translation>
         <location filename="../mouse/CMouseEditArea.cpp" line="28"/>
         <location filename="../mouse/CMouseEditArea.cpp" line="35"/>
         <source>Area</source>
-        <translation type="unfinished">Oblast</translation>
+        <translation>Oblast</translation>
     </message>
     <message>
         <location filename="../mouse/CMouseEditArea.cpp" line="37"/>
@@ -1638,7 +1692,7 @@ Neznámá stavba.</translation>
         <location filename="../mouse/CMouseEditRte.cpp" line="30"/>
         <location filename="../mouse/CMouseEditRte.cpp" line="37"/>
         <source>Route</source>
-        <translation type="unfinished">Cesta</translation>
+        <translation>Cesta</translation>
     </message>
     <message>
         <location filename="../mouse/CMouseEditRte.cpp" line="39"/>
@@ -1656,7 +1710,7 @@ Neznámá stavba.</translation>
         <location filename="../mouse/CMouseEditTrk.cpp" line="28"/>
         <location filename="../mouse/CMouseEditTrk.cpp" line="36"/>
         <source>Track</source>
-        <translation type="unfinished">Stopa</translation>
+        <translation>Stopa</translation>
     </message>
     <message>
         <location filename="../mouse/CMouseEditTrk.cpp" line="39"/>
@@ -1677,34 +1731,42 @@ Neznámá stavba.</translation>
 <context>
     <name>CMouseNormal</name>
     <message>
-        <location filename="../mouse/CMouseNormal.cpp" line="42"/>
+        <location filename="../mouse/CMouseNormal.cpp" line="41"/>
         <source>Add Waypoint</source>
         <translation>Přidat cestovní bod</translation>
     </message>
     <message>
-        <location filename="../mouse/CMouseNormal.cpp" line="43"/>
+        <location filename="../mouse/CMouseNormal.cpp" line="42"/>
         <source>Add Track</source>
         <translation>Přidat stopu</translation>
     </message>
     <message>
-        <location filename="../mouse/CMouseNormal.cpp" line="44"/>
+        <location filename="../mouse/CMouseNormal.cpp" line="43"/>
         <source>Add Route</source>
         <translation>Přidat cestu</translation>
     </message>
     <message>
-        <location filename="../mouse/CMouseNormal.cpp" line="45"/>
+        <location filename="../mouse/CMouseNormal.cpp" line="44"/>
         <source>Add Area</source>
         <translation>Přidat oblast</translation>
     </message>
     <message>
-        <location filename="../mouse/CMouseNormal.cpp" line="48"/>
+        <location filename="../mouse/CMouseNormal.cpp" line="47"/>
         <source>Copy position</source>
         <translation>Kopírovat polohu</translation>
     </message>
     <message>
-        <location filename="../mouse/CMouseNormal.cpp" line="49"/>
+        <location filename="../mouse/CMouseNormal.cpp" line="48"/>
         <source>Copy position (Grid)</source>
-        <translation type="unfinished"></translation>
+        <translation>Kopírovat polohu (mřížka)</translation>
+    </message>
+</context>
+<context>
+    <name>CMousePrint</name>
+    <message>
+        <location filename="../mouse/CMousePrint.cpp" line="38"/>
+        <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>
 </context>
 <context>
@@ -1782,16 +1844,62 @@ Neznámá stavba.</translation>
     </message>
 </context>
 <context>
+    <name>CPrintDialog</name>
+    <message>
+        <location filename="../print/CPrintDialog.cpp" line="68"/>
+        <source>Print Map...</source>
+        <translation>Tisk mapy...</translation>
+    </message>
+    <message>
+        <location filename="../print/CPrintDialog.cpp" line="75"/>
+        <source>Save Map as Image...</source>
+        <translation>Uložit mapu jako obrázek...</translation>
+    </message>
+    <message>
+        <location filename="../print/CPrintDialog.cpp" line="95"/>
+        <source>Printer Properties...</source>
+        <translation>Vlastnosti tiskárny...</translation>
+    </message>
+    <message>
+        <location filename="../print/CPrintDialog.cpp" line="170"/>
+        <source>Pages: %1 x %2</source>
+        <translation>Strany: %1 x %2</translation>
+    </message>
+    <message>
+        <location filename="../print/CPrintDialog.cpp" line="171"/>
+        <source>Zoom with mouse wheel on map below to change resolution:
+
+%1x%2 pixel
+x: %3 m/px
+y: %4 m/px</source>
+        <translation>Přibližujte a oddalujte pomocí kolečka myši na mapě dole pro změnu rozlišení:
+
+%1x%2 pixel
+x: %3 m/px
+y: %4 m/px</translation>
+    </message>
+    <message>
+        <location filename="../print/CPrintDialog.cpp" line="217"/>
+        <source>Printing pages.</source>
+        <translation>Probíhá tisk stran.</translation>
+    </message>
+    <message>
+        <location filename="../print/CPrintDialog.cpp" line="259"/>
+        <source>Save map...</source>
+        <translation>Uložit mapu...</translation>
+    </message>
+</context>
+<context>
     <name>CProgressDialog</name>
     <message>
         <location filename="../helpers/CProgressDialog.cpp" line="40"/>
         <source>Elapsed time: %1</source>
-        <translation type="unfinished"></translation>
+        <translation>Uplynulý čas: %1</translation>
     </message>
     <message>
         <location filename="../helpers/CProgressDialog.cpp" line="74"/>
         <source>Elapsed time: %1 seconds.</source>
-        <translation type="unfinished"></translation>
+        <translation>Uplynulý čas: %1 sekund.</translation>
     </message>
 </context>
 <context>
@@ -1990,164 +2098,164 @@ není platným vymezením soustavy souřadnic
     <message>
         <location filename="../gis/rte/router/CRouterMapQuest.cpp" line="37"/>
         <source>Fastest</source>
-        <translation type="unfinished"></translation>
+        <translation>Nejrychlejší</translation>
     </message>
     <message>
         <location filename="../gis/rte/router/CRouterMapQuest.cpp" line="38"/>
         <source>Shortest</source>
-        <translation type="unfinished">Nejkratší</translation>
+        <translation>Nejkratší</translation>
     </message>
     <message>
         <location filename="../gis/rte/router/CRouterMapQuest.cpp" line="39"/>
         <source>Bicycle</source>
-        <translation type="unfinished">Jízdní kolo</translation>
+        <translation>Jízdní kolo</translation>
     </message>
     <message>
         <location filename="../gis/rte/router/CRouterMapQuest.cpp" line="40"/>
         <source>Pedestrian</source>
-        <translation type="unfinished"></translation>
+        <translation>Chodec</translation>
     </message>
     <message>
         <location filename="../gis/rte/router/CRouterMapQuest.cpp" line="42"/>
         <source>US English</source>
-        <translation type="unfinished"></translation>
+        <translation>Angličtina (USA)</translation>
     </message>
     <message>
         <location filename="../gis/rte/router/CRouterMapQuest.cpp" line="43"/>
         <source>British English</source>
-        <translation type="unfinished"></translation>
+        <translation>Angličtina (britská)</translation>
     </message>
     <message>
         <location filename="../gis/rte/router/CRouterMapQuest.cpp" line="44"/>
         <source>Danish</source>
-        <translation type="unfinished">Dánský</translation>
+        <translation>Dánský</translation>
     </message>
     <message>
         <location filename="../gis/rte/router/CRouterMapQuest.cpp" line="45"/>
         <source>Dutch</source>
-        <translation type="unfinished">Holandský</translation>
+        <translation>Holandský</translation>
     </message>
     <message>
         <location filename="../gis/rte/router/CRouterMapQuest.cpp" line="46"/>
         <source>French</source>
-        <translation type="unfinished"></translation>
+        <translation>Francouzský</translation>
     </message>
     <message>
         <location filename="../gis/rte/router/CRouterMapQuest.cpp" line="47"/>
         <source>German</source>
-        <translation type="unfinished"></translation>
+        <translation>Německý</translation>
     </message>
     <message>
         <location filename="../gis/rte/router/CRouterMapQuest.cpp" line="48"/>
         <source>Italian</source>
-        <translation type="unfinished">Italský</translation>
+        <translation>Italský</translation>
     </message>
     <message>
         <location filename="../gis/rte/router/CRouterMapQuest.cpp" line="49"/>
         <source>Norwegian</source>
-        <translation type="unfinished">Norský</translation>
+        <translation>Norský</translation>
     </message>
     <message>
         <location filename="../gis/rte/router/CRouterMapQuest.cpp" line="50"/>
         <source>Spanish</source>
-        <translation type="unfinished"></translation>
+        <translation>Španělský</translation>
     </message>
     <message>
         <location filename="../gis/rte/router/CRouterMapQuest.cpp" line="51"/>
         <source>Swedish</source>
-        <translation type="unfinished">Švédský</translation>
+        <translation>Švédský</translation>
     </message>
     <message>
         <location filename="../gis/rte/router/CRouterMapQuest.cpp" line="110"/>
         <source>mode "%1"</source>
-        <translation type="unfinished"></translation>
+        <translation>Režim "%1"</translation>
     </message>
     <message>
         <location filename="../gis/rte/router/CRouterMapQuest.cpp" line="114"/>
         <source>no highways</source>
-        <translation type="unfinished"></translation>
+        <translation>Žádné rychlostní silnice</translation>
     </message>
     <message>
         <location filename="../gis/rte/router/CRouterMapQuest.cpp" line="125"/>
         <source>no toll roads</source>
-        <translation type="unfinished"></translation>
+        <translation>Žádné silnice s mýtem</translation>
     </message>
     <message>
         <location filename="../gis/rte/router/CRouterMapQuest.cpp" line="136"/>
         <source>no seasonal</source>
-        <translation type="unfinished"></translation>
+        <translation>Žádné sezonní silnice</translation>
     </message>
     <message>
         <location filename="../gis/rte/router/CRouterMapQuest.cpp" line="147"/>
         <source>no unpaved</source>
-        <translation type="unfinished"></translation>
+        <translation>Žádné nezpevněné silnice</translation>
     </message>
     <message>
         <location filename="../gis/rte/router/CRouterMapQuest.cpp" line="158"/>
         <source>no ferry</source>
-        <translation type="unfinished"></translation>
+        <translation>Žádné přívozy</translation>
     </message>
     <message>
         <location filename="../gis/rte/router/CRouterMapQuest.cpp" line="169"/>
         <source>no crossing of country borders</source>
-        <translation type="unfinished"></translation>
+        <translation>Žádný přechod zemské hranice</translation>
     </message>
     <message>
         <location filename="../gis/rte/router/CRouterMapQuest.cpp" line="301"/>
         <source><b>MapQuest</b><br/>Routing request sent to server. Please wait...</source>
-        <translation type="unfinished"></translation>
+        <translation><b>MapQuest</b><br/>Požadavek na stanovením cesty poslán serveru. Počkejte, prosím...</translation>
     </message>
     <message>
         <location filename="../gis/rte/router/CRouterMapQuest.cpp" line="312"/>
         <location filename="../gis/rte/router/CRouterMapQuest.cpp" line="346"/>
         <source><b>MapQuest</b><br/>Bad response from server:<br/>%1</source>
-        <translation type="unfinished"></translation>
+        <translation><b>MapQuest</b><br/>Špatná odpověď od serveru:<br/>%1</translation>
     </message>
     <message>
         <location filename="../gis/rte/router/CRouterMapQuest.cpp" line="363"/>
         <source><br/>Calculation time: %1s</source>
-        <translation type="unfinished"></translation>
+        <translation><br/>Doba výpočtu: %1 s</translation>
     </message>
 </context>
 <context>
     <name>CRouterRoutino</name>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="82"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="89"/>
         <source>Foot</source>
         <translation>Chodec</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="83"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="90"/>
         <source>Horse</source>
         <translation>Jezdec</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="84"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="91"/>
         <source>Wheelchair</source>
         <translation>Invalidní vozík</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="85"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="92"/>
         <source>Bicycle</source>
         <translation>Jízdní kolo</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="86"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="93"/>
         <source>Moped</source>
         <translation>Moped</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="87"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="94"/>
         <source>Motorcycle</source>
         <translation>Motorka</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="88"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="95"/>
         <source>Motorcar</source>
         <translation>Automobil</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="89"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="96"/>
         <source>Goods</source>
         <translation>Nákladní automobil</translation>
     </message>
@@ -2159,7 +2267,7 @@ není platným vymezením soustavy souřadnic
     <message>
         <location filename="../gis/rte/router/CRouterRoutino.cpp" line="59"/>
         <source>Found Routino with a wrong version. Expected %1 found %2</source>
-        <translation type="unfinished"></translation>
+        <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"/>
@@ -2167,171 +2275,171 @@ není platným vymezením soustavy souřadnic
         <translation>Nejrychlejší</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="91"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="98"/>
         <source>English</source>
-        <translation type="unfinished">Anglický</translation>
+        <translation>Anglický</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="92"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="99"/>
         <source>German</source>
-        <translation type="unfinished"></translation>
+        <translation>Německý</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="93"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="100"/>
         <source>French</source>
-        <translation type="unfinished"></translation>
+        <translation>Francouzský</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="94"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="101"/>
         <source>Hungarian</source>
-        <translation type="unfinished">Maďarský</translation>
+        <translation>Maďarský</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="95"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="102"/>
         <source>Dutch</source>
-        <translation type="unfinished">Holandský</translation>
+        <translation>Holandský</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="96"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="103"/>
         <source>Russian</source>
-        <translation type="unfinished">Ruský</translation>
+        <translation>Ruský</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="97"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="104"/>
         <source>Polish</source>
-        <translation type="unfinished">Polský</translation>
+        <translation>Polský</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="132"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="139"/>
         <source>A function was called without the database variable set.</source>
-        <translation type="unfinished"></translation>
+        <translation>Byla zavolána funkce, aniž by byla nastavena proměnná databáze.</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="135"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="142"/>
         <source>A function was called without the profile variable set.</source>
-        <translation type="unfinished"></translation>
+        <translation>Byla zavolána funkce, aniž by byla nastavena proměnná profilu.</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="138"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="145"/>
         <source>A function was called without the translation variable set.</source>
-        <translation type="unfinished"></translation>
+        <translation>Byla zavolána funkce, aniž by byla nastavena proměnná jazyka.</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="141"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="148"/>
         <source>The specified database to load did not exist.</source>
-        <translation type="unfinished"></translation>
+        <translation>Databáze zadaná k nahrání neexistuje.</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="144"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="151"/>
         <source>The specified database could not be loaded.</source>
-        <translation type="unfinished"></translation>
+        <translation>Zadanou databázi se nepodařilo nahrát.</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="147"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="154"/>
         <source>The specified profiles XML file did not exist.</source>
-        <translation type="unfinished"></translation>
+        <translation>Zadaný soubor s profilem XML neexistuje.</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="150"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="157"/>
         <source>The specified profiles XML file could not be loaded.</source>
-        <translation type="unfinished"></translation>
+        <translation>Zadaný soubor s profilem XML se nepodařilo nahrát.</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="153"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="160"/>
         <source>The specified translations XML file did not exist.</source>
-        <translation type="unfinished"></translation>
+        <translation>Zadaný soubor s jazykem XML neexistuje.</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="156"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="163"/>
         <source>The specified translations XML file could not be loaded.</source>
-        <translation type="unfinished"></translation>
+        <translation>Zadaný soubor s jazykem XML se nepodařilo nahrát.</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="159"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="166"/>
         <source>The requested profile name does not exist in the loaded XML file.</source>
-        <translation type="unfinished"></translation>
+        <translation>Požadovaný název profilu v nahraném souboru XML není.</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="162"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="169"/>
         <source>The requested translation language does not exist in the loaded XML file.</source>
-        <translation type="unfinished"></translation>
+        <translation>Požadovaný jazyk v nahraném souboru XML není.</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="165"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="172"/>
         <source>There is no highway near the coordinates to place a waypoint.</source>
-        <translation type="unfinished"></translation>
+        <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="168"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="175"/>
         <source>The profile and database do not work together.</source>
-        <translation type="unfinished"></translation>
+        <translation>Profil a databáze dohromady nepracují.</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="171"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="178"/>
         <source>The profile being used has not been validated.</source>
-        <translation type="unfinished"></translation>
+        <translation>Používaný profil nebyl schválen.</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="174"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="181"/>
         <source>The user specified profile contained invalid data.</source>
-        <translation type="unfinished"></translation>
+        <translation>Uživatelem stanovený profil obsahoval neplatná data.</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="177"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="184"/>
         <source>The routing options specified are not consistent with each other.</source>
-        <translation type="unfinished"></translation>
+        <translation>Zadané volby pro stanovení cesty si vzájemně neodpovídají.</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="180"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="187"/>
         <source>There is a mismatch between the library and caller API version.</source>
-        <translation type="unfinished"></translation>
+        <translation>Knihovna a verze API si vzájemně neodpovídají.</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="183"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="190"/>
         <source>Route calculation was aborted by user.</source>
-        <translation type="unfinished"></translation>
+        <translation>Výpočet cesty byl přerušen uživatelem.</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="189"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="196"/>
         <source>A route could not be found to waypoint %1.</source>
-        <translation type="unfinished"></translation>
+        <translation>Nepodařilo se najít žádnou cestu k cestovnímu bodu %1.</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="192"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="199"/>
         <source>Unknown error: %1</source>
-        <translation type="unfinished"></translation>
+        <translation>Neznámá chyba: %1</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="204"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="211"/>
         <source>profile "%1"</source>
         <translation>Profil "%1"</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="205"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="212"/>
         <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="242"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="249"/>
         <source>Warning...</source>
-        <translation type="unfinished">Varování...</translation>
+        <translation>Varování...</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="242"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="249"/>
         <source>%1: Due to limitations in the Windows POSIX API Routino can't handle files larger than 4GB.</source>
-        <translation type="unfinished"></translation>
+        <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="346"/>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="433"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="353"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="440"/>
         <source>Calculate route with %1</source>
-        <translation type="unfinished"></translation>
+        <translation>Spočítat cestu s %1</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="354"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="361"/>
         <source><br/>Calculation time: %1s</source>
-        <translation type="unfinished"></translation>
+        <translation><br/>Doba výpočtu: %1 s</translation>
     </message>
 </context>
 <context>
@@ -2385,7 +2493,7 @@ není platným vymezením soustavy souřadnic
         <location filename="../tool/CRoutinoDatabaseBuilder.cpp" line="147"/>
         <source>!!! done !!!
 </source>
-        <translation type="unfinished"></translation>
+        <translation>Hotovo!</translation>
     </message>
     <message>
         <source>!!! failed !!!
@@ -2473,91 +2581,121 @@ není platným vymezením soustavy souřadnic
         <translation>O programu...</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="43"/>
+        <location filename="../IAbout.ui" line="49"/>
         <source><b>QMapShack</b>, Version</source>
         <translation><b>QMapShack</b>, verze</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="50"/>
-        <location filename="../IAbout.ui" line="94"/>
-        <location filename="../IAbout.ui" line="108"/>
-        <location filename="../IAbout.ui" line="122"/>
-        <location filename="../IAbout.ui" line="136"/>
+        <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"/>
         <source>TextLabel</source>
         <translation>Textový štítek</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="87"/>
+        <location filename="../IAbout.ui" line="93"/>
         <source>Qt</source>
         <translation>Qt</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="101"/>
+        <location filename="../IAbout.ui" line="107"/>
         <source>GDAL</source>
         <translation>GDAL</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="115"/>
+        <location filename="../IAbout.ui" line="121"/>
         <source>Proj4</source>
         <translation>Proj4</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="129"/>
+        <location filename="../IAbout.ui" line="135"/>
         <source>Routino</source>
-        <translation type="unfinished"></translation>
+        <translation>Routino</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="154"/>
+        <location filename="../IAbout.ui" line="160"/>
         <source>Rainer Unseld </source>
         <translation>Rainer Unseld</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="161"/>
+        <location filename="../IAbout.ui" line="167"/>
         <source>French</source>
         <translation>Francouzština</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="168"/>
+        <location filename="../IAbout.ui" line="174"/>
         <source>Czech</source>
         <translation>Čeština</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="175"/>
+        <location filename="../IAbout.ui" line="181"/>
         <source>Pavel Fric</source>
         <translation>Pavel Fric</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="182"/>
+        <location filename="../IAbout.ui" line="188"/>
         <source>German</source>
         <translation>Němčina</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="189"/>
+        <location filename="../IAbout.ui" line="195"/>
         <source>Translation:</source>
         <translation>Překlad:</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="196"/>
+        <location filename="../IAbout.ui" line="202"/>
         <source>Josef Latt</source>
         <translation>Josef Latt</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="203"/>
+        <location filename="../IAbout.ui" line="209"/>
         <source>Spanish</source>
         <translation>Španělština</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="210"/>
+        <location filename="../IAbout.ui" line="216"/>
         <source>Jose Luis Domingo Lopez</source>
         <translation>Jose Luis Domingo Lopez</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="226"/>
+        <location filename="../IAbout.ui" line="234"/>
+        <source>Ivo Kronenberg</source>
+        <translation>Ivo Kronenberg</translation>
+    </message>
+    <message>
+        <location filename="../IAbout.ui" line="241"/>
+        <source>Helmut Schmidt</source>
+        <translation>Helmut Schmidt</translation>
+    </message>
+    <message>
+        <location filename="../IAbout.ui" line="248"/>
+        <source>Win64</source>
+        <translation>Win64</translation>
+    </message>
+    <message>
+        <location filename="../IAbout.ui" line="255"/>
+        <source>OS X</source>
+        <translation>OS X</translation>
+    </message>
+    <message>
+        <location filename="../IAbout.ui" line="262"/>
+        <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>
+    </message>
+    <message>
+        <location filename="../IAbout.ui" line="291"/>
         <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="233"/>
+        <location filename="../IAbout.ui" line="298"/>
         <source>© 2014 Oliver Eichler (oliver.eichler at gmx.de)</source>
         <translation>© 2014 Oliver Eichler (oliver.eichler at gmx.de)</translation>
     </message>
@@ -2616,6 +2754,29 @@ není platným vymezením soustavy souřadnic
     </message>
 </context>
 <context>
+    <name>ICoordFormatSetup</name>
+    <message>
+        <location filename="../units/ICoordFormatSetup.ui" line="14"/>
+        <source>Coordinate Format...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../units/ICoordFormatSetup.ui" line="22"/>
+        <source>N48° 53.660 E013° 31.113</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../units/ICoordFormatSetup.ui" line="29"/>
+        <source>N48.8943° E013.51855°</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../units/ICoordFormatSetup.ui" line="36"/>
+        <source>N48° 53' 39.6" E13° 31' 6.78"</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>ICreateRouteFromWpt</name>
     <message>
         <location filename="../gis/rte/ICreateRouteFromWpt.ui" line="14"/>
@@ -2845,7 +3006,7 @@ není platným vymezením soustavy souřadnic
     <message>
         <location filename="../gis/ovl/IDetailsOvlArea.ui" line="185"/>
         <source>Info</source>
-        <translation type="unfinished">Informace</translation>
+        <translation>Informace</translation>
     </message>
     <message>
         <location filename="../gis/ovl/IDetailsOvlArea.ui" line="214"/>
@@ -2932,32 +3093,32 @@ není platným vymezením soustavy souřadnic
     <message>
         <location filename="../gis/rte/IDetailsRte.ui" line="36"/>
         <source>Info</source>
-        <translation type="unfinished">Informace</translation>
+        <translation>Informace</translation>
     </message>
     <message>
         <location filename="../gis/rte/IDetailsRte.ui" line="65"/>
         <source>-</source>
-        <translation type="unfinished">-</translation>
+        <translation>-</translation>
     </message>
     <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"><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>
+        <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/rte/IDetailsRte.ui" line="113"/>
         <source>Toggle read only mode. You have to open the lock to edit the item.</source>
-        <translation type="unfinished">Přepnout režim pouze pro čtení. Musíte otevřít zámek, abyste mohl prvek upravovat.</translation>
+        <translation>Přepnout režim pouze pro čtení. Musíte otevřít zámek, abyste mohl prvek upravovat.</translation>
     </message>
     <message>
         <location filename="../gis/rte/IDetailsRte.ui" line="116"/>
         <source>...</source>
-        <translation type="unfinished">...</translation>
+        <translation>...</translation>
     </message>
     <message>
         <location filename="../gis/rte/IDetailsRte.ui" line="173"/>
         <source>Hist.</source>
-        <translation type="unfinished">Hist.</translation>
+        <translation>Hist.</translation>
     </message>
 </context>
 <context>
@@ -2988,7 +3149,7 @@ není platným vymezením soustavy souřadnic
     </message>
     <message>
         <location filename="../gis/trk/IDetailsTrk.ui" line="231"/>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="473"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="545"/>
         <source>Speed</source>
         <translation>Rychlost</translation>
     </message>
@@ -3019,46 +3180,56 @@ není platným vymezením soustavy souřadnic
     </message>
     <message>
         <location filename="../gis/trk/IDetailsTrk.ui" line="405"/>
+        <source>Activity</source>
+        <translation>Činnost</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="450"/>
+        <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"/>
         <source>Points</source>
         <translation>Body</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="453"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="525"/>
         <source>Time</source>
         <translation>Čas</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="458"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="530"/>
         <source>Ele.</source>
         <translation>Výška</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="463"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="535"/>
         <source>Delta</source>
         <translation>Rozdíl</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="468"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="540"/>
         <source>Dist.</source>
         <translation>Vzdál.</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="478"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="550"/>
         <source>Slope</source>
         <translation>Sklon</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="483"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="555"/>
         <source>Ascend</source>
         <translation>Stoupání</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="488"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="560"/>
         <source>Descend</source>
         <translation>Klesání</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="493"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="565"/>
         <source>Position</source>
         <translation>Poloha</translation>
     </message>
@@ -3073,14 +3244,14 @@ není platným vymezením soustavy souřadnic
         <translation>-</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="502"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="574"/>
         <source>Filter</source>
         <translation>Filtr</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="539"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="611"/>
         <source>Hist.</source>
-        <translation>Hist.</translation>
+        <translation>Historie</translation>
     </message>
 </context>
 <context>
@@ -3111,7 +3282,7 @@ není platným vymezením soustavy souřadnic
     <message>
         <location filename="../gis/wpt/IDetailsWpt.ui" line="43"/>
         <source>Info</source>
-        <translation type="unfinished">Informace</translation>
+        <translation>Informace</translation>
     </message>
     <message>
         <location filename="../gis/wpt/IDetailsWpt.ui" line="84"/>
@@ -3140,7 +3311,7 @@ není platným vymezením soustavy souřadnic
     <message>
         <location filename="../gis/wpt/IDetailsWpt.ui" line="350"/>
         <source>Hist.</source>
-        <translation type="unfinished">Hist.</translation>
+        <translation>Historie</translation>
     </message>
     <message>
         <source><html><head/><body><p>Read Only Mode</p></body></html></source>
@@ -3601,42 +3772,42 @@ není platným vymezením soustavy souřadnic
         <translation>Soubor</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="78"/>
+        <location filename="../IMainWindow.ui" line="80"/>
         <source>View</source>
         <translation>Pohled</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="99"/>
+        <location filename="../IMainWindow.ui" line="102"/>
         <source>Window</source>
         <translation>Okno</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="104"/>
+        <location filename="../IMainWindow.ui" line="107"/>
         <source>?</source>
         <translation>Nápověda</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="111"/>
+        <location filename="../IMainWindow.ui" line="114"/>
         <source>Project</source>
         <translation>Projekt</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="121"/>
+        <location filename="../IMainWindow.ui" line="124"/>
         <source>Tool</source>
         <translation>Nástroj</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="146"/>
+        <location filename="../IMainWindow.ui" line="149"/>
         <source>Maps</source>
         <translation>Mapy</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="189"/>
+        <location filename="../IMainWindow.ui" line="192"/>
         <source>Dig. Elev. Model (DEM)</source>
         <translation>Digitální výškový model (DEM)</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="228"/>
+        <location filename="../IMainWindow.ui" line="231"/>
         <source>Data</source>
         <translation>Data</translation>
     </message>
@@ -3645,78 +3816,78 @@ není platným vymezením soustavy souřadnic
         <translation type="obsolete">Přidat pohled na mapu</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="286"/>
+        <location filename="../IMainWindow.ui" line="289"/>
         <source>Ctrl+T</source>
         <translation>Ctrl+T</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="298"/>
+        <location filename="../IMainWindow.ui" line="301"/>
         <source>Show Scale</source>
         <translation>Ukázat měřítko</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="307"/>
+        <location filename="../IMainWindow.ui" line="310"/>
         <source>Setup Map Font</source>
         <translation>Nastavit písmo mapy</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="319"/>
+        <location filename="../IMainWindow.ui" line="322"/>
         <source>Show Grid</source>
         <translation>Ukázat mřížku</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="322"/>
+        <location filename="../IMainWindow.ui" line="325"/>
         <source>Ctrl+G</source>
         <translation>Ctrl+G</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="331"/>
+        <location filename="../IMainWindow.ui" line="334"/>
         <source>Setup Grid</source>
         <translation>Nastavit mřížku</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="334"/>
+        <location filename="../IMainWindow.ui" line="337"/>
         <source>Ctrl+Alt+G</source>
         <translation>Ctrl+Alt+G</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="346"/>
+        <location filename="../IMainWindow.ui" line="349"/>
         <source>Flip Mouse Wheel</source>
         <translation>Obrátit kolečko myši</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="355"/>
         <location filename="../IMainWindow.ui" line="358"/>
+        <location filename="../IMainWindow.ui" line="361"/>
         <source>Setup Map Paths</source>
         <translation>Nastavit cesty k mapám</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="370"/>
+        <location filename="../IMainWindow.ui" line="373"/>
         <source>POI Text</source>
         <translation>Text POI</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="382"/>
+        <location filename="../IMainWindow.ui" line="385"/>
         <source>Night / Day</source>
         <translation>Noc/Den</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="394"/>
+        <location filename="../IMainWindow.ui" line="397"/>
         <source>Map Tool Tip</source>
         <translation>Rada k nástroji pro mapu</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="403"/>
+        <location filename="../IMainWindow.ui" line="409"/>
         <source>Setup DEM Paths</source>
         <translation>Nastavit cesty k DEM</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="412"/>
+        <location filename="../IMainWindow.ui" line="418"/>
         <source>About</source>
         <translation>O programu</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="421"/>
+        <location filename="../IMainWindow.ui" line="427"/>
         <source>Help</source>
         <translation>Nápověda</translation>
     </message>
@@ -3725,163 +3896,198 @@ není platným vymezením soustavy souřadnic
         <translation type="obsolete">Nastavit pohled na mapu</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="246"/>
+        <location filename="../IMainWindow.ui" line="249"/>
         <source>Route</source>
         <translation>Cesta</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="280"/>
         <location filename="../IMainWindow.ui" line="283"/>
+        <location filename="../IMainWindow.ui" line="286"/>
         <source>Add Map View</source>
         <translation>Přidat pohled na mapu</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="430"/>
-        <location filename="../IMainWindow.ui" line="433"/>
+        <location filename="../IMainWindow.ui" line="400"/>
+        <source>Ctrl+I</source>
+        <translation>Ctrl+I</translation>
+    </message>
+    <message>
+        <location filename="../IMainWindow.ui" line="436"/>
+        <location filename="../IMainWindow.ui" line="439"/>
         <source>Setup Map View</source>
         <translation>Nastavit pohled na mapu</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="442"/>
+        <location filename="../IMainWindow.ui" line="448"/>
         <source>Load GIS Data</source>
         <translation>Nahrát data GIS</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="445"/>
+        <location filename="../IMainWindow.ui" line="451"/>
         <source>Load projects from file</source>
         <translation>Nahrát projekty ze souboru</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="448"/>
+        <location filename="../IMainWindow.ui" line="454"/>
         <source>Ctrl+L</source>
         <translation>Ctrl+L</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="457"/>
+        <location filename="../IMainWindow.ui" line="463"/>
         <source>Save All GIS Data</source>
         <translation>Uložit všechna data GIS</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="460"/>
+        <location filename="../IMainWindow.ui" line="466"/>
         <source>Save all projects in the workspace</source>
         <translation>Uložit všechny projekty nacházející se v pracovním prostoru</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="463"/>
+        <location filename="../IMainWindow.ui" line="469"/>
         <source>Ctrl+S</source>
         <translation>Ctrl+S</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="472"/>
+        <location filename="../IMainWindow.ui" line="478"/>
         <source>Setup Time Zone</source>
         <translation>Nastavit časové pásmo</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="481"/>
+        <location filename="../IMainWindow.ui" line="487"/>
         <source>Add empty project</source>
         <translation>Přidat prázdný projekt</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="493"/>
+        <location filename="../IMainWindow.ui" line="499"/>
         <source>Search Google</source>
         <translation>Hledat pomocí Google</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="502"/>
+        <location filename="../IMainWindow.ui" line="508"/>
         <source>Close all projects</source>
         <translation>Zavřít všechny projekty</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="505"/>
+        <location filename="../IMainWindow.ui" line="511"/>
         <source>F8</source>
         <translation>F8</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="514"/>
+        <location filename="../IMainWindow.ui" line="520"/>
         <source>Setup Units</source>
         <translation>Nastavit jednotky</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="523"/>
+        <location filename="../IMainWindow.ui" line="529"/>
         <source>Setup Workspace</source>
         <translation>Nastavit pracovní prostor</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="526"/>
+        <location filename="../IMainWindow.ui" line="532"/>
         <source>Setup save on exit.</source>
         <translation>Nastavit uložení při ukončení.</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="535"/>
+        <location filename="../IMainWindow.ui" line="541"/>
         <source>Import Database from QLandkarte</source>
         <translation>Zavést databázi z QLandkarte</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="538"/>
+        <location filename="../IMainWindow.ui" line="544"/>
         <source>Import QLandkarte GT database</source>
         <translation>Zavést databázi GT QLandkarte</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="547"/>
+        <location filename="../IMainWindow.ui" line="553"/>
         <source>VRT Builder</source>
         <translation>Sestavovač VRT</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="550"/>
+        <location filename="../IMainWindow.ui" line="556"/>
         <source>GUI front end to gdalbuildvrt</source>
         <translation>Rozhraní pro gdalbuildvrt</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="559"/>
+        <location filename="../IMainWindow.ui" line="565"/>
         <source>Store Map View</source>
         <translation>Uložit pohled na mapu</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="562"/>
+        <location filename="../IMainWindow.ui" line="568"/>
         <source>Write current active map and DEM list including the properties to a file</source>
         <translation>Zapsat nynější činnou mapu a seznam DEM včetně vlastností do souboru</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="571"/>
+        <location filename="../IMainWindow.ui" line="577"/>
         <source>Load Map View</source>
         <translation>Nahrát pohled na mapu</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="574"/>
+        <location filename="../IMainWindow.ui" line="580"/>
         <source>Restore view with active map and DEM list including the properties from a file</source>
         <translation>Obnovit pohled s činnou mapou a seznam DEM včetně vlastností ze souboru</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="586"/>
+        <location filename="../IMainWindow.ui" line="592"/>
         <source>Ext. Profile</source>
         <translation>Ext. Profil</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="589"/>
+        <location filename="../IMainWindow.ui" line="595"/>
         <source>Ctrl+E</source>
         <translation>Ctrl+E</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="598"/>
+        <location filename="../IMainWindow.ui" line="604"/>
         <source>Close</source>
         <translation>Zavřít</translation>
     </message>
     <message>
         <location filename="../IMainWindow.ui" line="607"/>
+        <source>Ctrl+Q</source>
+        <translation>Ctrl+Q</translation>
+    </message>
+    <message>
+        <location filename="../IMainWindow.ui" line="616"/>
         <source>Clone Map View</source>
         <translation>Klonovat pohled na mapu</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="610"/>
+        <location filename="../IMainWindow.ui" line="619"/>
         <source>Ctrl+Shift+T</source>
         <translation>Ctrl+Shift+T</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="619"/>
+        <location filename="../IMainWindow.ui" line="628"/>
         <source>Create Routino Database</source>
         <translation>Vytvořit databázi Routino</translation>
     </message>
     <message>
+        <location filename="../IMainWindow.ui" line="637"/>
+        <source>Save(Print) Map Screenshot</source>
+        <translation>Uložit (vytisknout) snímek obrazovky s mapou</translation>
+    </message>
+    <message>
+        <location filename="../IMainWindow.ui" line="640"/>
+        <source>Print a selected area of the map</source>
+        <translation>Vytisknout vybranou oblast mapy</translation>
+    </message>
+    <message>
+        <location filename="../IMainWindow.ui" line="643"/>
+        <source>Ctrl+P</source>
+        <translation>Ctrl+P</translation>
+    </message>
+    <message>
+        <location filename="../IMainWindow.ui" line="652"/>
+        <source>Setup Coord. Format</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../IMainWindow.ui" line="655"/>
+        <source>Change the format coordinates are displayed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <source>Setup Database</source>
         <translation type="obsolete">Nastavit databázi</translation>
     </message>
@@ -4075,64 +4281,64 @@ 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="242"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="253"/>
         <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="283"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="293"/>
         <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="292"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="302"/>
         <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="301"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="311"/>
         <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="310"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="320"/>
         <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="319"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="329"/>
         <source><b>No Routing</b><br/>All points will be connected with a straight line.<br/></source>
-        <translation type="unfinished"></translation>
+        <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="324"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="334"/>
         <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>
+        <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="329"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="339"/>
         <source><b>Vector Routing</b><br/>Connect points with a line from a loaded vector map if possible.<br/></source>
-        <translation type="unfinished"></translation>
+        <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="485"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="498"/>
         <source><b>%1 Metrics</b></source>
-        <translation type="unfinished"></translation>
+        <translation><b>%1 metrika</b></translation>
     </message>
     <message>
-        <location filename="../mouse/line/IMouseEditLine.cpp" line="488"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="501"/>
         <source>Distance:</source>
-        <translation type="unfinished"></translation>
+        <translation>Vzdálenost:</translation>
     </message>
     <message>
-        <location filename="../mouse/line/IMouseEditLine.cpp" line="490"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="503"/>
         <source>Ascend:</source>
-        <translation type="unfinished"></translation>
+        <translation>Stoupání:</translation>
     </message>
     <message>
-        <location filename="../mouse/line/IMouseEditLine.cpp" line="492"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="505"/>
         <source>Descend:</source>
-        <translation type="unfinished"></translation>
+        <translation>Klesání:</translation>
     </message>
 </context>
 <context>
@@ -4152,22 +4358,27 @@ Nechce se mi číst dokumentaci!</translation>
 <context>
     <name>IPlot</name>
     <message>
-        <location filename="../plot/IPlot.cpp" line="108"/>
+        <location filename="../plot/IPlot.cpp" line="110"/>
+        <source>Reset Zoom</source>
+        <translation>Nastavit znovu zvětšení</translation>
+    </message>
+    <message>
+        <location filename="../plot/IPlot.cpp" line="111"/>
         <source>Stop Range</source>
         <translation>Ukončit výběr oblasti</translation>
     </message>
     <message>
-        <location filename="../plot/IPlot.cpp" line="109"/>
+        <location filename="../plot/IPlot.cpp" line="112"/>
         <source>Save...</source>
         <translation>Uložit...</translation>
     </message>
     <message>
-        <location filename="../plot/IPlot.cpp" line="602"/>
+        <location filename="../plot/IPlot.cpp" line="630"/>
         <source>No or bad data.</source>
         <translation>Žádné nebo špatné údaje.</translation>
     </message>
     <message>
-        <location filename="../plot/IPlot.cpp" line="1128"/>
+        <location filename="../plot/IPlot.cpp" line="1215"/>
         <source>Select output file</source>
         <translation>Vybrat výstupní soubor</translation>
     </message>
@@ -4197,17 +4408,42 @@ nebo
     </message>
 </context>
 <context>
+    <name>IPrintDialog</name>
+    <message>
+        <location filename="../print/IPrintDialog.ui" line="20"/>
+        <source>Print map...</source>
+        <translation>Tisk mapy...</translation>
+    </message>
+    <message>
+        <location filename="../print/IPrintDialog.ui" line="50"/>
+        <source>Save</source>
+        <translation>Uložit</translation>
+    </message>
+    <message>
+        <location filename="../print/IPrintDialog.ui" line="69"/>
+        <location filename="../print/IPrintDialog.ui" line="82"/>
+        <location filename="../print/IPrintDialog.ui" line="131"/>
+        <source>TextLabel</source>
+        <translation>Textový štítek</translation>
+    </message>
+    <message>
+        <location filename="../print/IPrintDialog.ui" line="98"/>
+        <source>Print</source>
+        <translation>Tisk</translation>
+    </message>
+</context>
+<context>
     <name>IProgressDialog</name>
     <message>
         <location filename="../helpers/IProgressDialog.ui" line="14"/>
         <source>Please wait...</source>
-        <translation type="unfinished"></translation>
+        <translation>Počkejte, prosím...</translation>
     </message>
     <message>
         <location filename="../helpers/IProgressDialog.ui" line="20"/>
         <location filename="../helpers/IProgressDialog.ui" line="27"/>
         <source>TextLabel</source>
-        <translation type="unfinished">Textový štítek</translation>
+        <translation>Textový štítek</translation>
     </message>
 </context>
 <context>
@@ -4311,52 +4547,52 @@ nebo
     <message>
         <location filename="../gis/rte/router/IRouterMapQuest.ui" line="22"/>
         <source>Highways</source>
-        <translation type="unfinished"></translation>
+        <translation>Rychlostní silnice</translation>
     </message>
     <message>
         <location filename="../gis/rte/router/IRouterMapQuest.ui" line="29"/>
         <source>Seasonal</source>
-        <translation type="unfinished"></translation>
+        <translation>Sezonní silnice</translation>
     </message>
     <message>
         <location filename="../gis/rte/router/IRouterMapQuest.ui" line="36"/>
         <source>Language</source>
-        <translation type="unfinished"></translation>
+        <translation>Jazyk</translation>
     </message>
     <message>
         <location filename="../gis/rte/router/IRouterMapQuest.ui" line="43"/>
         <source>Country Border</source>
-        <translation type="unfinished"></translation>
+        <translation>Zemské hranice</translation>
     </message>
     <message>
         <location filename="../gis/rte/router/IRouterMapQuest.ui" line="53"/>
         <source>Profile</source>
-        <translation type="unfinished">Profil</translation>
+        <translation>Profil</translation>
     </message>
     <message>
         <location filename="../gis/rte/router/IRouterMapQuest.ui" line="60"/>
         <source>Avoid:</source>
-        <translation type="unfinished"></translation>
+        <translation>Vyhnout se:</translation>
     </message>
     <message>
         <location filename="../gis/rte/router/IRouterMapQuest.ui" line="67"/>
         <source>Ferry</source>
-        <translation type="unfinished">Přívoz</translation>
+        <translation>Přívoz</translation>
     </message>
     <message>
         <location filename="../gis/rte/router/IRouterMapQuest.ui" line="74"/>
         <source>Toll Road</source>
-        <translation type="unfinished"></translation>
+        <translation>Silnice s mýtem</translation>
     </message>
     <message>
         <location filename="../gis/rte/router/IRouterMapQuest.ui" line="84"/>
         <source>Unpaved</source>
-        <translation type="unfinished"></translation>
+        <translation>Nezpevněné silnice</translation>
     </message>
     <message>
         <location filename="../gis/rte/router/IRouterMapQuest.ui" line="106"/>
         <source><p>Directions Courtesy of <a href="http://www.mapquest.com/" target="_blank">MapQuest</a> </p></source>
-        <translation type="unfinished"></translation>
+        <translation><p>S přátelským povolením od <a href="http://www.mapquest.com/" target="_blank">MapQuest</a> </p></translation>
     </message>
     <message>
         <source>t.b.d</source>
@@ -4398,7 +4634,7 @@ nebo
     <message>
         <location filename="../gis/rte/router/IRouterRoutino.ui" line="66"/>
         <source>Language</source>
-        <translation type="unfinished"></translation>
+        <translation>Jazyk</translation>
     </message>
     <message>
         <location filename="../gis/rte/router/IRouterRoutino.ui" line="131"/>
@@ -4497,67 +4733,67 @@ nebo
     <message>
         <location filename="../mouse/line/IScrOptEditLine.ui" line="102"/>
         <source>Move points. (Ctrl+M)</source>
-        <translation type="unfinished"></translation>
+        <translation>Přesunout body. (Ctrl+M)</translation>
     </message>
     <message>
         <location filename="../mouse/line/IScrOptEditLine.ui" line="112"/>
         <source>Ctrl+M</source>
-        <translation type="unfinished"></translation>
+        <translation>Ctrl+M</translation>
     </message>
     <message>
         <location filename="../mouse/line/IScrOptEditLine.ui" line="128"/>
         <source>Add new points. (Ctrl++)</source>
-        <translation type="unfinished"></translation>
+        <translation>Přidat nové body. (Ctrl++)</translation>
     </message>
     <message>
         <location filename="../mouse/line/IScrOptEditLine.ui" line="138"/>
         <source>Ctrl++</source>
-        <translation type="unfinished"></translation>
+        <translation>Ctrl++</translation>
     </message>
     <message>
         <location filename="../mouse/line/IScrOptEditLine.ui" line="151"/>
         <source>Select a range of points. (Ctrl+R)</source>
-        <translation type="unfinished"></translation>
+        <translation>Vybrat rozsah bodů. (Ctrl+R)</translation>
     </message>
     <message>
         <location filename="../mouse/line/IScrOptEditLine.ui" line="161"/>
         <source>Ctrl+R</source>
-        <translation type="unfinished">Ctrl+R</translation>
+        <translation>Ctrl+R</translation>
     </message>
     <message>
         <location filename="../mouse/line/IScrOptEditLine.ui" line="174"/>
         <source>Delete a point. (Ctrl+D)</source>
-        <translation type="unfinished"></translation>
+        <translation>Smazat bod. (Ctrl+D)</translation>
     </message>
     <message>
         <location filename="../mouse/line/IScrOptEditLine.ui" line="184"/>
         <source>Ctrl+D</source>
-        <translation type="unfinished"></translation>
+        <translation>Ctrl+D</translation>
     </message>
     <message>
         <location filename="../mouse/line/IScrOptEditLine.ui" line="228"/>
         <source>No auto-routing or line snapping (Ctrl+O)</source>
-        <translation type="unfinished"></translation>
+        <translation>Žádné automatické stanovení cesty nebo přichycení k čáře (Ctrl+O)</translation>
     </message>
     <message>
         <location filename="../mouse/line/IScrOptEditLine.ui" line="238"/>
         <source>Ctrl+O</source>
-        <translation type="unfinished"></translation>
+        <translation>Ctrl+O</translation>
     </message>
     <message>
         <location filename="../mouse/line/IScrOptEditLine.ui" line="251"/>
         <source>Use auto-routing to between points. (Ctrl+A)</source>
-        <translation type="unfinished"></translation>
+        <translation>Použít automatické stanovení cesty mezi body. (Ctrl+A)</translation>
     </message>
     <message>
         <location filename="../mouse/line/IScrOptEditLine.ui" line="261"/>
         <source>Ctrl+A</source>
-        <translation type="unfinished"></translation>
+        <translation>Ctrl+A</translation>
     </message>
     <message>
         <location filename="../mouse/line/IScrOptEditLine.ui" line="274"/>
         <source>Snap line along lines of a vector map. (Ctrl+V)</source>
-        <translation type="unfinished"></translation>
+        <translation>Přichytit čáru podél čáry vektorové mapy. (Ctrl+V)</translation>
     </message>
     <message>
         <source>Move points.</source>
@@ -4615,7 +4851,7 @@ nebo
     <message>
         <location filename="../mouse/line/IScrOptEditLine.ui" line="284"/>
         <source>Ctrl+V</source>
-        <translation type="unfinished">Ctrl+V</translation>
+        <translation>Ctrl+V</translation>
     </message>
     <message>
         <location filename="../mouse/line/IScrOptEditLine.ui" line="310"/>
@@ -4755,6 +4991,7 @@ nebo
         <location filename="../mouse/IScrOptRangeTrk.ui" line="43"/>
         <location filename="../mouse/IScrOptRangeTrk.ui" line="57"/>
         <location filename="../mouse/IScrOptRangeTrk.ui" line="71"/>
+        <location filename="../mouse/IScrOptRangeTrk.ui" line="85"/>
         <source>...</source>
         <translation>...</translation>
     </message>
@@ -4765,11 +5002,16 @@ nebo
     </message>
     <message>
         <location filename="../mouse/IScrOptRangeTrk.ui" line="68"/>
+        <source>Select an activity for the selected range.</source>
+        <translation>Vybrat činnost pro vybranou oblast.</translation>
+    </message>
+    <message>
+        <location filename="../mouse/IScrOptRangeTrk.ui" line="82"/>
         <source>Copy track points as new track.</source>
         <translation>Kopírovat body stopy jako novou stopu.</translation>
     </message>
     <message>
-        <location filename="../mouse/IScrOptRangeTrk.ui" line="103"/>
+        <location filename="../mouse/IScrOptRangeTrk.ui" line="117"/>
         <source>TextLabel</source>
         <translation>Textový štítek</translation>
     </message>
@@ -5001,6 +5243,19 @@ nebo
     </message>
 </context>
 <context>
+    <name>ISelectActivity</name>
+    <message>
+        <location filename="../gis/trk/ISelectActivity.ui" line="14"/>
+        <source>Activities...</source>
+        <translation>Činnosti...</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/ISelectActivity.ui" line="20"/>
+        <source>Select one:</source>
+        <translation>Vyberte jednu:</translation>
+    </message>
+</context>
+<context>
     <name>ISelectCopyAction</name>
     <message>
         <location filename="../helpers/ISelectCopyAction.ui" line="14"/>
@@ -5503,7 +5758,7 @@ nebo
         <location filename="../tool/IToolShell.cpp" line="127"/>
         <source>!!! failed !!!
 </source>
-        <translation type="unfinished">Nepodařilo se!</translation>
+        <translation>Nepodařilo se!</translation>
     </message>
 </context>
 <context>
@@ -5540,18 +5795,18 @@ nebo
 <context>
     <name>QObject</name>
     <message>
-        <location filename="../GeoMath.cpp" line="169"/>
-        <location filename="../GeoMath.cpp" line="175"/>
+        <location filename="../units/IUnit.cpp" line="745"/>
+        <location filename="../units/IUnit.cpp" line="751"/>
         <source>Error</source>
         <translation>Chyba</translation>
     </message>
     <message>
-        <location filename="../GeoMath.cpp" line="169"/>
+        <location filename="../units/IUnit.cpp" line="745"/>
         <source>Bad position format. Must be: "[N|S] ddd mm.sss [W|E] ddd mm.sss" or "[N|S] ddd.ddd [W|E] ddd.ddd"</source>
         <translation>Špatný polohový formát. Musí být: "[N|S] ddd mm.sss [W|E] ddd mm.sss" nebo "[N|S] ddd.ddd [W|E] ddd.ddd"</translation>
     </message>
     <message>
-        <location filename="../GeoMath.cpp" line="175"/>
+        <location filename="../units/IUnit.cpp" line="751"/>
         <source>Position values out of bounds. </source>
         <translation>Polohy mimo platné hodnoty. </translation>
     </message>
@@ -5610,16 +5865,16 @@ Areas: %1</source>
 Oblasti: %1</translation>
     </message>
     <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="109"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="112"/>
         <source>Save project?</source>
         <translation>Uložit projekt?</translation>
     </message>
     <message>
-        <source>The project "%1" was changed. Save befor closing it?</source>
+        <source>The project "%1" was changed. Save before closing it?</source>
         <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="249"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="252"/>
         <source>%1: Correlate tracks and waypoints.</source>
         <translation>%1: Svázat stopy a cestovní body.</translation>
     </message>
@@ -5632,49 +5887,49 @@ 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="109"/>
-        <source><h3>%1</h3>The project was changed. Save befor closing it?</source>
-        <translation type="unfinished"></translation>
+        <location filename="../gis/prj/IGisProject.cpp" line="112"/>
+        <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="259"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="262"/>
         <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>
+        <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="260"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="263"/>
         <source>Cancelled correlation...</source>
         <translation>Svázání zrušeno...</translation>
     </message>
     <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="338"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="341"/>
         <source><br/>
 Filename: %1</source>
         <translation><br/>
 Název souboru: %1</translation>
     </message>
     <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="343"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="346"/>
         <source>Waypoints: %1</source>
         <translation>Cestovní body: %1</translation>
     </message>
     <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="347"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="350"/>
         <source>Tracks: %1</source>
         <translation>Stopy: %1</translation>
     </message>
     <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="351"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="354"/>
         <source>Routes: %1</source>
         <translation>Cesty: %1</translation>
     </message>
     <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="355"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="358"/>
         <source>Areas: %1</source>
         <translation>Oblasti: %1</translation>
     </message>
     <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="435"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="438"/>
         <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>
@@ -5685,7 +5940,7 @@ Název souboru: %1</translation>
     </message>
     <message>
         <location filename="../gis/CGisListDB.cpp" line="438"/>
-        <location filename="../gis/prj/IGisProject.cpp" line="436"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="439"/>
         <source>Delete...</source>
         <translation>Smazat...</translation>
     </message>
@@ -5760,183 +6015,193 @@ Název souboru: %1</translation>
         <translation>Režim pouze pro čtení...</translation>
     </message>
     <message>
-        <location filename="../gis/IGisItem.cpp" line="668"/>
+        <location filename="../gis/IGisItem.cpp" line="667"/>
         <source><h4>Comment:</h4></source>
         <translation><h4>Poznámka:</h4></translation>
     </message>
     <message>
-        <location filename="../gis/IGisItem.cpp" line="671"/>
+        <location filename="../gis/IGisItem.cpp" line="670"/>
         <source><p>--- no comment ---</p></source>
         <translation><p>--- žádná poznámka ---</p></translation>
     </message>
     <message>
-        <location filename="../gis/IGisItem.cpp" line="654"/>
-        <location filename="../gis/IGisItem.cpp" line="713"/>
+        <location filename="../gis/IGisItem.cpp" line="653"/>
+        <location filename="../gis/IGisItem.cpp" line="712"/>
         <source><h4>Description:</h4></source>
         <translation><h4>Popis:</h4></translation>
     </message>
     <message>
         <location filename="../gis/IGisItem.cpp" line="41"/>
         <source>[no name]</source>
-        <translation type="unfinished"></translation>
+        <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 type="unfinished"></translation>
+        <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>
     </message>
     <message>
-        <location filename="../gis/IGisItem.cpp" line="657"/>
-        <location filename="../gis/IGisItem.cpp" line="716"/>
+        <location filename="../gis/IGisItem.cpp" line="656"/>
+        <location filename="../gis/IGisItem.cpp" line="715"/>
         <source><p>--- no description ---</p></source>
         <translation><p>--- žádný popis ---</p></translation>
     </message>
     <message>
-        <location filename="../gis/IGisItem.cpp" line="682"/>
-        <location filename="../gis/IGisItem.cpp" line="727"/>
+        <location filename="../gis/IGisItem.cpp" line="681"/>
+        <location filename="../gis/IGisItem.cpp" line="726"/>
         <source><h4>Links:</h4></source>
         <translation><h4>Odkazy:</h4></translation>
     </message>
     <message>
-        <location filename="../gis/IGisItem.cpp" line="685"/>
-        <location filename="../gis/IGisItem.cpp" line="730"/>
+        <location filename="../gis/IGisItem.cpp" line="684"/>
+        <location filename="../gis/IGisItem.cpp" line="729"/>
         <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="449"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="464"/>
         <source>Length: %1 %2</source>
         <translation>Délka: %1 %2</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="456"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="471"/>
         <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="464"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="479"/>
         <source>Time: %1</source>
         <translation>Čas: %1</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="467"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="477"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="482"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="492"/>
         <source>, Speed: %1 %2</source>
         <translation>, Rychlost: %1 %2</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="474"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="489"/>
         <source>Moving: %1</source>
         <translation>Pohyb: %1</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="483"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="498"/>
         <source>Start: %1</source>
         <translation>Začátek: %1</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="488"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="503"/>
         <source>End: %1</source>
         <translation>Konec: %1</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="492"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="507"/>
         <source>Points: %1 (%2)</source>
         <translation>Body: %1 (%2)</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="610"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="625"/>
         <source>Ele.: %1 %2</source>
         <translation>Výška: %1 %2</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="613"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="628"/>
         <source> slope: %1%3 (%2%)</source>
         <translation> sklon: %1%3 (%2%)</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="684"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="707"/>
         <source>Ascend: %1%2</source>
         <translation>Stoupání: %1%2</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="689"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="706"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="712"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="729"/>
         <source>, %1%2</source>
         <translation>, %1%2</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="694"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="717"/>
         <source>Ascend: -</source>
         <translation>Stoupání: -</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="701"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="724"/>
         <source> Descend: %1%2</source>
         <translation> Klesání: %1%2</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="711"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="734"/>
         <source>Descend: -</source>
         <translation>Klesání: -</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="717"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="740"/>
         <source>Dist.: %1%2</source>
         <translation>Vzdál.: %1%2</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="722"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="745"/>
         <source> Time: %1%2</source>
         <translation> Čas: %1%2</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1405"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1432"/>
         <source>Hide points.</source>
         <translation>Skrýt body.</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1440"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1472"/>
         <source>Show points.</source>
         <translation>Ukázat body.</translation>
     </message>
     <message>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1868"/>
+        <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"/>
+        <source>Changed activity to '%1' for range(%2..%3).</source>
+        <translation>Činnost byla změněna pro oblast (%2..%3) na '%1'.</translation>
+    </message>
+    <message>
         <source> slope: %1°(%2%)</source>
         <translation type="obsolete"> sklon: %1°(%2%)</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="618"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="633"/>
         <source> speed: %1%2</source>
         <translation> rychlost: %1%2</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="630"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="653"/>
         <source>Ascend: %1%2 (%3%)</source>
         <translation>Stoupání: %1%2 (%3%)</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="634"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="657"/>
         <source>Ascend: - (-)</source>
         <translation>Stoupání: - (-)</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="644"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="667"/>
         <source> Descend: - (-) </source>
         <translation> Klesání: - (-) </translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="665"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="688"/>
         <source> Moving: - (-) </source>
         <translation> Pohyb: - (-) </translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="640"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="663"/>
         <source> Descend: %1%2 (%3%)</source>
         <translation> Klesání: %1%2 (%3%) </translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="342"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="357"/>
         <source>Changed trackpoints, sacrificed all previous data.</source>
         <translation>Změněny body stop. Obětována veškerá předchozí data.</translation>
     </message>
@@ -5945,17 +6210,17 @@ Název souboru: %1</translation>
         <translation type="obsolete"> sklon: %1° (%2%)</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="651"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="674"/>
         <source>Dist.: %1%2 (%3%)</source>
         <translation>Vzdálenost: %1%2 (%3%)</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="655"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="678"/>
         <source>Dist.: - (-)</source>
         <translation>Vzdálenost: - (-)</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="661"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="684"/>
         <source> Moving: %1%2 (%3%)</source>
         <translation> Pohyb: %1%2 (%3%) </translation>
     </message>
@@ -5982,7 +6247,7 @@ Název souboru: %1</translation>
     <message>
         <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="142"/>
         <location filename="../gis/rte/CGisItemRte.cpp" line="67"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="184"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="193"/>
         <location filename="../gis/wpt/CGisItemWpt.cpp" line="130"/>
         <source>_Clone</source>
         <translation>_Klon</translation>
@@ -6031,14 +6296,14 @@ Název souboru: %1</translation>
     <message>
         <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="552"/>
         <location filename="../gis/rte/CGisItemRte.cpp" line="263"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1807"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1839"/>
         <location filename="../gis/wpt/CGisItemWpt.cpp" line="456"/>
         <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="1819"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1851"/>
         <source>Changed color</source>
         <translation>Změněná barva</translation>
     </message>
@@ -6053,18 +6318,18 @@ Název souboru: %1</translation>
         <translation>Blízkost: %1 %2</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1789"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1821"/>
         <location filename="../gis/wpt/CGisItemWpt.cpp" line="402"/>
         <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="1203"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1218"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1237"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1296"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1465"/>
+        <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/CMouseEditArea.cpp" line="100"/>
         <location filename="../mouse/CMouseEditRte.cpp" line="111"/>
         <location filename="../mouse/CMouseEditTrk.cpp" line="117"/>
@@ -6107,14 +6372,14 @@ Název souboru: %1</translation>
     </message>
     <message>
         <location filename="../gis/rte/CGisItemRte.cpp" line="251"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1795"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1827"/>
         <location filename="../gis/wpt/CGisItemWpt.cpp" line="444"/>
         <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="1801"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1833"/>
         <location filename="../gis/wpt/CGisItemWpt.cpp" line="450"/>
         <source>Changed description</source>
         <translation>Změněný popis</translation>
@@ -6126,14 +6391,14 @@ Název souboru: %1</translation>
     </message>
     <message>
         <location filename="../gis/rte/CGisItemRte.cpp" line="297"/>
-        <location filename="../gis/rte/CGisItemRte.cpp" line="477"/>
+        <location filename="../gis/rte/CGisItemRte.cpp" line="481"/>
         <source>Time: %1 %2</source>
-        <translation type="unfinished">Čas: %1 %2</translation>
+        <translation>Čas: %1 %2</translation>
     </message>
     <message>
-        <location filename="../gis/rte/CGisItemRte.cpp" line="479"/>
+        <location filename="../gis/rte/CGisItemRte.cpp" line="483"/>
         <source>Distance: %1 %2</source>
-        <translation type="unfinished"></translation>
+        <translation>Vzdálenost: %1 %2</translation>
     </message>
     <message>
         <source>Time: %2 days %1</source>
@@ -6159,22 +6424,22 @@ Název souboru: %1</translation>
         <translation type="obsolete">Výpočet trval %1 s.</translation>
     </message>
     <message>
-        <location filename="../gis/rte/CGisItemRte.cpp" line="608"/>
+        <location filename="../gis/rte/CGisItemRte.cpp" line="612"/>
         <source>Changed route points.</source>
         <translation>Změněné body cesty.</translation>
     </message>
     <message>
-        <location filename="../gis/gpx/serialization.cpp" line="599"/>
+        <location filename="../gis/gpx/serialization.cpp" line="691"/>
         <source>Archived</source>
         <translation>Archivováno</translation>
     </message>
     <message>
-        <location filename="../gis/gpx/serialization.cpp" line="603"/>
+        <location filename="../gis/gpx/serialization.cpp" line="695"/>
         <source>Available</source>
         <translation>Dostupné</translation>
     </message>
     <message>
-        <location filename="../gis/gpx/serialization.cpp" line="607"/>
+        <location filename="../gis/gpx/serialization.cpp" line="699"/>
         <source>Not Available</source>
         <translation>Nedostupné</translation>
     </message>
@@ -6195,11 +6460,11 @@ Název souboru: %1</translation>
         <translation>Toto je souborový typ s neznámým druhem čáry. Nahlašte to, prosím!</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1203"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1218"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1237"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1296"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1465"/>
+        <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"/>
         <source>Enter new track name.</source>
         <translation>Zadat název nové stopy.</translation>
@@ -6227,7 +6492,7 @@ Název souboru: %1</translation>
         <translation>Ztraceno a nalezeno (%1)</translation>
     </message>
     <message>
-        <location filename="../qlgt/converter.cpp" line="194"/>
+        <location filename="../qlgt/converter.cpp" line="195"/>
         <source>Copy flag information from QLandkarte GT track</source>
         <translation>Kopírovat informační příznak ze stopy QLandkarte GT</translation>
     </message>
@@ -6306,12 +6571,12 @@ Název souboru: %1</translation>
         <translation>Rychlost změněna na %1%2.</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="1009"/>
+        <location filename="../gis/CGisListWks.cpp" line="1097"/>
         <source>Delete project...</source>
         <translation>Smazat projekt...</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="1009"/>
+        <location filename="../gis/CGisListWks.cpp" line="1097"/>
         <source>Do you really want to delete %1?</source>
         <translation>Opravdu chcete smazat %1?</translation>
     </message>
@@ -6371,7 +6636,97 @@ Název souboru: %1</translation>
         <location filename="../gis/rte/CCreateRouteFromWpt.cpp" line="65"/>
         <location filename="../mouse/CMouseEditRte.cpp" line="111"/>
         <source>Enter new route name.</source>
-        <translation>Zadat název nové cesty.</translation>
+        <translation>Zadat nový název pro cestu.</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="28"/>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="94"/>
+        <source>Foot</source>
+        <translation>Chodec</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="35"/>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="95"/>
+        <source>Bicycle</source>
+        <translation>Jízdní kolo</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="42"/>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="96"/>
+        <source>Motor Bike</source>
+        <translation>Motocykl</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="49"/>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="97"/>
+        <source>Car</source>
+        <translation>Auto</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="56"/>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="98"/>
+        <source>Cable Car</source>
+        <translation>Lanovka</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="63"/>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="99"/>
+        <source>Swim</source>
+        <translation>Plavání</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="70"/>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="100"/>
+        <source>Ship</source>
+        <translation>Loď</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"/>
+        <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"/>
+        <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"/>
+        <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"/>
+        <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"/>
+        <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"/>
+        <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"/>
+        <source>Time Total:</source>
+        <translation>Celkový čas:</translation>
     </message>
 </context>
 </TS>
diff --git a/src/locale/qmapshack_de.ts b/src/locale/qmapshack_de.ts
index ba0d117..66a3414 100644
--- a/src/locale/qmapshack_de.ts
+++ b/src/locale/qmapshack_de.ts
@@ -4,10 +4,19 @@
 <context>
     <name>CAbout</name>
     <message>
-        <location filename="../CAbout.cpp" line="36"/>
         <source>API Version %1 (expected %2)</source>
         <translation>API Version %1 (erwartet wird %2)</translation>
     </message>
+    <message>
+        <location filename="../CAbout.cpp" line="38"/>
+        <source>%1 (API V%2, expected V%3)</source>
+        <translation>%1 (API V%2, erwartet wird V%3)</translation>
+    </message>
+    <message>
+        <location filename="../CAbout.cpp" line="42"/>
+        <source>%1 (API V%2)</source>
+        <translation></translation>
+    </message>
 </context>
 <context>
     <name>CCanvas</name>
@@ -16,12 +25,50 @@
         <translation type="obsolete">Ansicht %1</translation>
     </message>
     <message>
-        <location filename="../canvas/CCanvas.cpp" line="65"/>
+        <location filename="../canvas/CCanvas.cpp" line="66"/>
         <source>View %1</source>
         <translation>Ansicht %1</translation>
     </message>
 </context>
 <context>
+    <name>CCommandProcessor</name>
+    <message>
+        <location filename="../helpers/CCommandProcessor.cpp" line="31"/>
+        <source>Print debug output to console.</source>
+        <translation>Debug-Ausgabe in die Konsole drucken.</translation>
+    </message>
+    <message>
+        <location filename="../helpers/CCommandProcessor.cpp" line="34"/>
+        <source>Print debug output to logfile (temp. path).</source>
+        <translation>Debug-Ausgabe in Log-Datei drucken (Systemordner für temporäre Dateien).</translation>
+    </message>
+    <message>
+        <location filename="../helpers/CCommandProcessor.cpp" line="37"/>
+        <source>Do not show splash screen.</source>
+        <translation>Startbildschirm nicht anzeigen.</translation>
+    </message>
+    <message>
+        <location filename="../helpers/CCommandProcessor.cpp" line="40"/>
+        <source>File with QMapShack configuration.</source>
+        <translation>Datei mit QMapShack Einstellungen.</translation>
+    </message>
+    <message>
+        <source>File with qmapshark configuration.</source>
+        <translatorcomment>??? qmapshack statt qmapshark im Ursprungstext, IMO</translatorcomment>
+        <translation>Datei mit QMapShak Einstellungen.</translation>
+    </message>
+    <message>
+        <location filename="../helpers/CCommandProcessor.cpp" line="40"/>
+        <source>file</source>
+        <translation>Datei</translation>
+    </message>
+    <message>
+        <location filename="../helpers/CCommandProcessor.cpp" line="43"/>
+        <source>Files for future use.</source>
+        <translation>Dateien für den späteren Gebrauch.</translation>
+    </message>
+</context>
+<context>
     <name>CDemList</name>
     <message>
         <location filename="../dem/CDemList.cpp" line="145"/>
@@ -89,23 +136,23 @@
 <context>
     <name>CDetailsGeoCache</name>
     <message>
-        <location filename="../gis/wpt/CDetailsGeoCache.cpp" line="63"/>
+        <location filename="../gis/wpt/CDetailsGeoCache.cpp" line="62"/>
         <source>none</source>
         <translation>keiner</translation>
     </message>
     <message>
-        <location filename="../gis/wpt/CDetailsGeoCache.cpp" line="63"/>
-        <location filename="../gis/wpt/CDetailsGeoCache.cpp" line="133"/>
+        <location filename="../gis/wpt/CDetailsGeoCache.cpp" line="62"/>
+        <location filename="../gis/wpt/CDetailsGeoCache.cpp" line="132"/>
         <source>???</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../gis/wpt/CDetailsGeoCache.cpp" line="160"/>
+        <location filename="../gis/wpt/CDetailsGeoCache.cpp" line="159"/>
         <source>Searching for images...</source>
         <translation>Suche nach Bildern...</translation>
     </message>
     <message>
-        <location filename="../gis/wpt/CDetailsGeoCache.cpp" line="265"/>
+        <location filename="../gis/wpt/CDetailsGeoCache.cpp" line="264"/>
         <source>No images found</source>
         <translation>Keine Bilder gefunden</translation>
     </message>
@@ -113,12 +160,12 @@
 <context>
     <name>CDetailsOvlArea</name>
     <message>
-        <location filename="../gis/ovl/CDetailsOvlArea.cpp" line="136"/>
+        <location filename="../gis/ovl/CDetailsOvlArea.cpp" line="135"/>
         <source>Edit name...</source>
         <translation>Name bearbeiten...</translation>
     </message>
     <message>
-        <location filename="../gis/ovl/CDetailsOvlArea.cpp" line="136"/>
+        <location filename="../gis/ovl/CDetailsOvlArea.cpp" line="135"/>
         <source>Enter new area name.</source>
         <translation>Geben Sie einen neuen Namen für das Gebiet ein.</translation>
     </message>
@@ -146,13 +193,13 @@
 <context>
     <name>CDetailsPrj</name>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="229"/>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="668"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="249"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="689"/>
         <source>none</source>
         <translation>keine</translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="301"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="322"/>
         <source>Build diary...</source>
         <translation>Tagebuch erstellen...</translation>
     </message>
@@ -161,40 +208,40 @@
         <translation type="obsolete">Abbrechen</translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="347"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="377"/>
         <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="376"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="397"/>
         <source><h2>Waypoints</h2></source>
         <translation><h2>Wegpunkte</h2></translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="383"/>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="409"/>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="513"/>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="603"/>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="633"/>
+        <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"/>
         <source>Info</source>
         <translation>Information</translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="384"/>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="410"/>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="514"/>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="604"/>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="634"/>
+        <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"/>
         <source>Comment</source>
         <translation>Kommentar</translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="402"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="423"/>
         <source><h2>Tracks</h2></source>
         <translation><h2>Tracks</h2></translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="596"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="617"/>
         <source><h2>Areas</h2></source>
         <translation><h2>Gebiete</h2></translation>
     </message>
@@ -209,64 +256,59 @@
         <translation>Verknüpfungen...</translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="350"/>
         <source>Total Distance:</source>
         <translation>Summe Entfernung:</translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="352"/>
         <source>Total Ascend:</source>
         <translation>Summe Anstieg:</translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="354"/>
         <source>Total Descend:</source>
         <translation>Summe Abstieg:</translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="356"/>
         <source>Total Time:</source>
         <translation>Summe Zeit:</translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="358"/>
         <source>Total Time Moving:</source>
         <translation>Summe Zeit in Bewegung:</translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="532"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="553"/>
         <source>distance: %1%2</source>
         <translation>Entfernung: %1 %2</translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="534"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="555"/>
         <source>ascent: %1%2</source>
         <translation>Anstieg: %1 %2</translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="536"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="557"/>
         <source>descend: %1%2</source>
         <translation>Abstieg: %1 %2</translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="626"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="647"/>
         <source><h2>Routes</h2></source>
         <translation><h2>Routen</h2></translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="654"/>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="681"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="675"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="702"/>
         <source>Edit name...</source>
         <translation>Name bearbeiten...</translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="654"/>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="681"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="675"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="702"/>
         <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="797"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="818"/>
         <source>Print Diary</source>
         <translation>Tagebuch drucken</translation>
     </message>
@@ -275,12 +317,12 @@
         <translation type="obsolete">Name eingeben.</translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="663"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="684"/>
         <source>Edit keywords...</source>
         <translation>Stichwörter bearbeiten...</translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="663"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="684"/>
         <source>Enter keywords.</source>
         <translation>Stichwörter eingeben.</translation>
     </message>
@@ -301,46 +343,61 @@
 <context>
     <name>CDetailsTrk</name>
     <message>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="67"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="87"/>
         <source>Reduce visible track points</source>
         <translation>Sichtbare Trackpunkte reduzieren</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="80"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="100"/>
         <source>Change elevation of track points</source>
         <translation>Höhe von Trackpunkten ändern</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="93"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="113"/>
         <source>Change timestamp of track points</source>
         <translation>Zeitstempel von Trackpunkten ändern</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="106"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="126"/>
         <source>Cut track into pieces</source>
         <translation>Track in Stücke teilen</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="222"/>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="231"/>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="234"/>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="240"/>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="259"/>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="261"/>
+        <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"/>
         <source>%1 %2</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="395"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="457"/>
         <source>Edit name...</source>
         <translation>Name bearbeiten...</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="395"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="457"/>
         <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"/>
+        <source>Reset activities...</source>
+        <translation>Aktivitäten zurücksetzen...</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="509"/>
+        <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"/>
+        <source>None</source>
+        <translation>Keine</translation>
+    </message>
+    <message>
         <source><h4>Comment:</h4></source>
         <translation type="obsolete"><h4>Kommentar:</h4></translation>
     </message>
@@ -384,12 +441,12 @@
         <translation type="obsolete"><p>--- keine Beschreibung ---</p></translation>
     </message>
     <message>
-        <location filename="../gis/wpt/CDetailsWpt.cpp" line="158"/>
+        <location filename="../gis/wpt/CDetailsWpt.cpp" line="157"/>
         <source>Edit name...</source>
         <translation>Name bearbeiten...</translation>
     </message>
     <message>
-        <location filename="../gis/wpt/CDetailsWpt.cpp" line="158"/>
+        <location filename="../gis/wpt/CDetailsWpt.cpp" line="157"/>
         <source>Enter new waypoint name.</source>
         <translation>Geben Sie einen neuen Namen für den Wegpunkt ein.</translation>
     </message>
@@ -398,7 +455,7 @@
         <translation type="obsolete">Geben Sie eine neue Höhe ein.</translation>
     </message>
     <message>
-        <location filename="../gis/wpt/CDetailsWpt.cpp" line="177"/>
+        <location filename="../gis/wpt/CDetailsWpt.cpp" line="176"/>
         <source>Enter new proximity range.</source>
         <translation>Geben Sie einen neuen Abstandsalarm ein.</translation>
     </message>
@@ -496,17 +553,17 @@
 <context>
     <name>CGisListWks</name>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="101"/>
+        <location filename="../gis/CGisListWks.cpp" line="104"/>
         <source>Save</source>
         <translation>Speichern</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="100"/>
+        <location filename="../gis/CGisListWks.cpp" line="105"/>
         <source>Save As...</source>
         <translation>Speichern unter...</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="99"/>
+        <location filename="../gis/CGisListWks.cpp" line="100"/>
         <source>Edit..</source>
         <translation>Bearbeiten..</translation>
     </message>
@@ -515,74 +572,74 @@
         <translation type="obsolete">Aktualisiere das Projekt auf allen Geräten </translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="103"/>
+        <location filename="../gis/CGisListWks.cpp" line="109"/>
         <source>Close</source>
         <translation>Schließen</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="109"/>
+        <location filename="../gis/CGisListWks.cpp" line="115"/>
         <source>Update Project on Device</source>
         <translation>Aktualisiere das Projekt auf dem Gerät</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="121"/>
+        <location filename="../gis/CGisListWks.cpp" line="127"/>
         <source>Edit...</source>
         <translation>Bearbeiten...</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="122"/>
+        <location filename="../gis/CGisListWks.cpp" line="128"/>
         <source>Copy to...</source>
         <translation>Kopieren nach...</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="137"/>
+        <location filename="../gis/CGisListWks.cpp" line="143"/>
         <source>Show Bubble</source>
         <translation>Infoblase anzeigen</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="139"/>
+        <location filename="../gis/CGisListWks.cpp" line="145"/>
         <source>Move Waypoint</source>
         <translation>Wegpunkt verschieben</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="148"/>
+        <location filename="../gis/CGisListWks.cpp" line="154"/>
         <source>Route Instructions</source>
         <translation>Navigationsanweisungen</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="150"/>
+        <location filename="../gis/CGisListWks.cpp" line="156"/>
         <source>Calculate Route</source>
         <translation>Route berechnen</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="151"/>
+        <location filename="../gis/CGisListWks.cpp" line="157"/>
         <source>Reset Route</source>
         <translation>Route zurücksetzen</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="152"/>
+        <location filename="../gis/CGisListWks.cpp" line="158"/>
         <source>Edit Route</source>
         <translation>Route bearbeiten</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="168"/>
+        <location filename="../gis/CGisListWks.cpp" line="174"/>
         <source>Create Route</source>
         <translation>Route erstellen</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="592"/>
+        <location filename="../gis/CGisListWks.cpp" line="613"/>
         <source>Drop items...</source>
         <translation>Elemente verwerfen...</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="617"/>
-        <location filename="../gis/CGisListWks.cpp" line="1455"/>
-        <location filename="../gis/CGisListWks.cpp" line="1493"/>
+        <location filename="../gis/CGisListWks.cpp" line="638"/>
+        <location filename="../gis/CGisListWks.cpp" line="1543"/>
+        <location filename="../gis/CGisListWks.cpp" line="1581"/>
         <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="1177"/>
+        <location filename="../gis/CGisListWks.cpp" line="1265"/>
         <source>Copy items...</source>
         <translation>Elemente kopieren...</translation>
     </message>
@@ -591,17 +648,17 @@
         <translation type="obsolete">Wegpunkt verschieben...</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="140"/>
+        <location filename="../gis/CGisListWks.cpp" line="146"/>
         <source>Proj. Waypoint...</source>
         <translation>Wegpunkt Projektion...</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="124"/>
+        <location filename="../gis/CGisListWks.cpp" line="130"/>
         <source>Track Profile</source>
         <translation>Trackprofil</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="102"/>
+        <location filename="../gis/CGisListWks.cpp" line="107"/>
         <source>Send to Devices</source>
         <translation>Ans Gerät senden</translation>
     </message>
@@ -610,53 +667,63 @@
         <translation type="obsolete">Sperren/Entsperren</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="126"/>
+        <location filename="../gis/CGisListWks.cpp" line="132"/>
         <source>Select Range</source>
         <translation>Bereich wählen</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="127"/>
+        <location filename="../gis/CGisListWks.cpp" line="133"/>
         <source>Edit Track Points</source>
         <translation>Trackpunkte bearbeiten</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="128"/>
+        <location filename="../gis/CGisListWks.cpp" line="134"/>
         <source>Reverse Track</source>
         <translation>Track umkehren</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="129"/>
+        <location filename="../gis/CGisListWks.cpp" line="135"/>
         <source>Combine Tracks</source>
         <translation>Tracks verbinden</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="161"/>
+        <location filename="../gis/CGisListWks.cpp" line="167"/>
         <source>Edit Area Points</source>
         <translation>Gebietspunkte bearbeiten</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="110"/>
-        <location filename="../gis/CGisListWks.cpp" line="131"/>
+        <location filename="../gis/CGisListWks.cpp" line="116"/>
+        <location filename="../gis/CGisListWks.cpp" line="137"/>
         <source>Delete</source>
         <translation>Löschen</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="719"/>
+        <location filename="../gis/CGisListWks.cpp" line="101"/>
+        <source>Show on Map</source>
+        <translation>Auf der Karte anzeigen.</translation>
+    </message>
+    <message>
+        <location filename="../gis/CGisListWks.cpp" line="102"/>
+        <source>Hide from Map</source>
+        <translation>Auf der Karte ausblenden.</translation>
+    </message>
+    <message>
+        <location filename="../gis/CGisListWks.cpp" line="740"/>
         <source>Saving workspace. Please wait.</source>
         <translation>Arbeitsplatz speichern. Bitte warten.</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="763"/>
+        <location filename="../gis/CGisListWks.cpp" line="787"/>
         <source>Loading workspace. Please wait.</source>
         <translation>Arbeitsplatz laden. Bitte warten.</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="973"/>
+        <location filename="../gis/CGisListWks.cpp" line="1061"/>
         <source>Close all projects...</source>
         <translation>Alle Projekte schließen...</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="973"/>
+        <location filename="../gis/CGisListWks.cpp" line="1061"/>
         <source>This will remove all projects from the workspace.</source>
         <translation>Dies wird alle Projekte aus dem Arbeitsplatz entfernen.</translation>
     </message>
@@ -764,27 +831,27 @@
 <context>
     <name>CMainWindow</name>
     <message>
-        <location filename="../CMainWindow.cpp" line="579"/>
+        <location filename="../CMainWindow.cpp" line="589"/>
         <source>Ele: %1%2</source>
         <translation>Höhe: %1%2</translation>
     </message>
     <message>
-        <location filename="../CMainWindow.cpp" line="595"/>
+        <location filename="../CMainWindow.cpp" line="605"/>
         <source>[Grid: %1]</source>
         <translation>[Gitter: %1]</translation>
     </message>
     <message>
-        <location filename="../CMainWindow.cpp" line="710"/>
+        <location filename="../CMainWindow.cpp" line="726"/>
         <source>Load GIS Data...</source>
         <translation>GIS Daten laden...</translation>
     </message>
     <message>
-        <location filename="../CMainWindow.cpp" line="744"/>
+        <location filename="../CMainWindow.cpp" line="760"/>
         <source>Select output file</source>
         <translation>Ausgabedatei auswählen</translation>
     </message>
     <message>
-        <location filename="../CMainWindow.cpp" line="770"/>
+        <location filename="../CMainWindow.cpp" line="786"/>
         <source>Select file to load</source>
         <translation>Zu ladende Datei auswählen</translation>
     </message>
@@ -1528,18 +1595,19 @@
 <context>
     <name>CMapTMS</name>
     <message>
-        <location filename="../map/CMapTMS.cpp" line="70"/>
-        <location filename="../map/CMapTMS.cpp" line="80"/>
+        <location filename="../map/CMapTMS.cpp" line="71"/>
+        <location filename="../map/CMapTMS.cpp" line="81"/>
+        <location filename="../map/CMapTMS.cpp" line="140"/>
         <source>Error...</source>
         <translation>Fehler...</translation>
     </message>
     <message>
-        <location filename="../map/CMapTMS.cpp" line="70"/>
+        <location filename="../map/CMapTMS.cpp" line="71"/>
         <source>Failed to open %1</source>
         <translation>Öffnen fehlgeschlagen: %1</translation>
     </message>
     <message>
-        <location filename="../map/CMapTMS.cpp" line="80"/>
+        <location filename="../map/CMapTMS.cpp" line="81"/>
         <source>Failed to read: %1
 line %2, column %3:
  %4</source>
@@ -1548,16 +1616,25 @@ Zeile %2, Spalte %3:
 %4</translation>
     </message>
     <message>
-        <location filename="../map/CMapTMS.cpp" line="118"/>
+        <location filename="../map/CMapTMS.cpp" line="119"/>
         <source>Layer %1</source>
         <translation></translation>
     </message>
     <message>
+        <location filename="../map/CMapTMS.cpp" line="134"/>
+        <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>
+    </message>
+    <message>
         <source>--- All ---</source>
         <translation type="obsolete">--- Alle ---</translation>
     </message>
     <message>
-        <location filename="../map/CMapTMS.cpp" line="289"/>
+        <location filename="../map/CMapTMS.cpp" line="311"/>
         <source><b>%1</b>: %2 tiles pending<br/></source>
         <translation><b>%1</b>: %2 unerledigte Kacheln<br/></translation>
     </message>
@@ -1621,21 +1698,22 @@ Zeile %2, Spalte %3:
 <context>
     <name>CMapWMTS</name>
     <message>
-        <location filename="../map/CMapWMTS.cpp" line="45"/>
-        <location filename="../map/CMapWMTS.cpp" line="55"/>
-        <location filename="../map/CMapWMTS.cpp" line="65"/>
-        <location filename="../map/CMapWMTS.cpp" line="74"/>
-        <location filename="../map/CMapWMTS.cpp" line="206"/>
+        <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"/>
         <source>Error...</source>
         <translation>Fehler...</translation>
     </message>
     <message>
-        <location filename="../map/CMapWMTS.cpp" line="45"/>
+        <location filename="../map/CMapWMTS.cpp" line="46"/>
         <source>Failed to open %1</source>
         <translation>Öffnen fehlgeschlagen: %1</translation>
     </message>
     <message>
-        <location filename="../map/CMapWMTS.cpp" line="55"/>
+        <location filename="../map/CMapWMTS.cpp" line="56"/>
         <source>Failed to read: %1
 line %2, column %3:
  %4</source>
@@ -1644,23 +1722,32 @@ Zeile %2, Spalte %3:
 %4</translation>
     </message>
     <message>
-        <location filename="../map/CMapWMTS.cpp" line="65"/>
+        <location filename="../map/CMapWMTS.cpp" line="66"/>
         <source>Failed to read: %1
 Unknown structure.</source>
         <translation>Lesen fehlgeschlagen: %1
 Unbekannte Struktur.</translation>
     </message>
     <message>
-        <location filename="../map/CMapWMTS.cpp" line="74"/>
+        <location filename="../map/CMapWMTS.cpp" line="75"/>
         <source>Unexpexted 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>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>
+    </message>
+    <message>
         <source>--- All ---</source>
         <translation type="obsolete">--- Alle ---</translation>
     </message>
     <message>
-        <location filename="../map/CMapWMTS.cpp" line="392"/>
+        <location filename="../map/CMapWMTS.cpp" line="416"/>
         <source><b>%1</b>: %2 tiles pending<br/></source>
         <translation><b>%1</b>: %2 unerledigte Kacheln</translation>
     </message>
@@ -1673,7 +1760,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="206"/>
+        <location filename="../map/CMapWMTS.cpp" line="220"/>
         <source>No georeference information found.</source>
         <translation>Keine Georeferenzierung gefunden.</translation>
     </message>
@@ -1725,7 +1812,7 @@ Unbekannte Struktur.</translation>
         <location filename="../mouse/CMouseEditRte.cpp" line="30"/>
         <location filename="../mouse/CMouseEditRte.cpp" line="37"/>
         <source>Route</source>
-        <translation type="unfinished">Routen</translation>
+        <translation>Routen</translation>
     </message>
     <message>
         <location filename="../mouse/CMouseEditRte.cpp" line="39"/>
@@ -1764,37 +1851,45 @@ Unbekannte Struktur.</translation>
 <context>
     <name>CMouseNormal</name>
     <message>
-        <location filename="../mouse/CMouseNormal.cpp" line="42"/>
+        <location filename="../mouse/CMouseNormal.cpp" line="41"/>
         <source>Add Waypoint</source>
         <translation>Wegpunkt hinzufügen</translation>
     </message>
     <message>
-        <location filename="../mouse/CMouseNormal.cpp" line="43"/>
+        <location filename="../mouse/CMouseNormal.cpp" line="42"/>
         <source>Add Track</source>
         <translation>Track hinzufügen</translation>
     </message>
     <message>
-        <location filename="../mouse/CMouseNormal.cpp" line="44"/>
+        <location filename="../mouse/CMouseNormal.cpp" line="43"/>
         <source>Add Route</source>
         <translation>Route hinzufügen</translation>
     </message>
     <message>
-        <location filename="../mouse/CMouseNormal.cpp" line="45"/>
+        <location filename="../mouse/CMouseNormal.cpp" line="44"/>
         <source>Add Area</source>
         <translation>Gebiet hinzufügen</translation>
     </message>
     <message>
-        <location filename="../mouse/CMouseNormal.cpp" line="48"/>
+        <location filename="../mouse/CMouseNormal.cpp" line="47"/>
         <source>Copy position</source>
         <translation>Position kopieren</translation>
     </message>
     <message>
-        <location filename="../mouse/CMouseNormal.cpp" line="49"/>
+        <location filename="../mouse/CMouseNormal.cpp" line="48"/>
         <source>Copy position (Grid)</source>
         <translation>Position kopieren (Gitter)</translation>
     </message>
 </context>
 <context>
+    <name>CMousePrint</name>
+    <message>
+        <location filename="../mouse/CMousePrint.cpp" line="38"/>
+        <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>
+</context>
+<context>
     <name>CMouseRangeTrk</name>
     <message>
         <location filename="../mouse/CMouseRangeTrk.cpp" line="44"/>
@@ -1869,6 +1964,52 @@ Unbekannte Struktur.</translation>
     </message>
 </context>
 <context>
+    <name>CPrintDialog</name>
+    <message>
+        <location filename="../print/CPrintDialog.cpp" line="68"/>
+        <source>Print Map...</source>
+        <translation>Karte drucken...</translation>
+    </message>
+    <message>
+        <location filename="../print/CPrintDialog.cpp" line="75"/>
+        <source>Save Map as Image...</source>
+        <translation>Karte als Bild speichern...</translation>
+    </message>
+    <message>
+        <location filename="../print/CPrintDialog.cpp" line="95"/>
+        <source>Printer Properties...</source>
+        <translation>Drucker Eigenschaften...</translation>
+    </message>
+    <message>
+        <location filename="../print/CPrintDialog.cpp" line="170"/>
+        <source>Pages: %1 x %2</source>
+        <translation>Seiten: %1 x %2</translation>
+    </message>
+    <message>
+        <location filename="../print/CPrintDialog.cpp" line="171"/>
+        <source>Zoom with mouse wheel on map below to change resolution:
+
+%1x%2 pixel
+x: %3 m/px
+y: %4 m/px</source>
+        <translation>Zoomen Sie mit dem Mausrad auf der Karte unten, um die Auflösung zu ändern:
+
+%1x%2 Pixel
+x: %3 m/px
+y: %4 m/px</translation>
+    </message>
+    <message>
+        <location filename="../print/CPrintDialog.cpp" line="217"/>
+        <source>Printing pages.</source>
+        <translation>Drucke Seiten.</translation>
+    </message>
+    <message>
+        <location filename="../print/CPrintDialog.cpp" line="259"/>
+        <source>Save map...</source>
+        <translation>Karte speichern...</translation>
+    </message>
+</context>
+<context>
     <name>CProgressDialog</name>
     <message>
         <location filename="../helpers/CProgressDialog.cpp" line="40"/>
@@ -2207,42 +2348,42 @@ ist keine gültige Koordinatensystemdefinition:
 <context>
     <name>CRouterRoutino</name>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="82"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="89"/>
         <source>Foot</source>
         <translation>Fußgänger</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="83"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="90"/>
         <source>Horse</source>
         <translation>Reiter</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="84"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="91"/>
         <source>Wheelchair</source>
         <translation>Rollstuhl</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="85"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="92"/>
         <source>Bicycle</source>
         <translation>Fahrrad</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="86"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="93"/>
         <source>Moped</source>
         <translation>Moped</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="87"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="94"/>
         <source>Motorcycle</source>
         <translation>Motorrad</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="88"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="95"/>
         <source>Motorcar</source>
         <translation>Auto</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="89"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="96"/>
         <source>Goods</source>
         <translation>LKW</translation>
     </message>
@@ -2262,169 +2403,169 @@ ist keine gültige Koordinatensystemdefinition:
         <translation>Schnellste</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="91"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="98"/>
         <source>English</source>
         <translation>Englisch</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="92"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="99"/>
         <source>German</source>
         <translation>Deutsch</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="93"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="100"/>
         <source>French</source>
         <translation>Französisch</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="94"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="101"/>
         <source>Hungarian</source>
         <translation>Ungarisch</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="95"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="102"/>
         <source>Dutch</source>
         <translation>Niederländisch</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="96"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="103"/>
         <source>Russian</source>
         <translation>Russisch</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="97"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="104"/>
         <source>Polish</source>
         <translation>Polnisch</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="132"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="139"/>
         <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="135"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="142"/>
         <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="138"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="145"/>
         <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="141"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="148"/>
         <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="144"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="151"/>
         <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="147"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="154"/>
         <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="150"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="157"/>
         <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="153"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="160"/>
         <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="156"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="163"/>
         <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="159"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="166"/>
         <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="162"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="169"/>
         <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="165"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="172"/>
         <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="168"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="175"/>
         <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="171"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="178"/>
         <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="174"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="181"/>
         <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="177"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="184"/>
         <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="180"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="187"/>
         <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="183"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="190"/>
         <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="189"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="196"/>
         <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="192"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="199"/>
         <source>Unknown error: %1</source>
         <translation>Unbekannter Fehler: %1</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="204"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="211"/>
         <source>profile "%1"</source>
         <translation>Profil "%1"</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="205"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="212"/>
         <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="242"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="249"/>
         <source>Warning...</source>
         <translation>Warnung...</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="242"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="249"/>
         <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="346"/>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="433"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="353"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="440"/>
         <source>Calculate route with %1</source>
         <translation>Berechne Route mit %1</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="354"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="361"/>
         <source><br/>Calculation time: %1s</source>
         <translation><br/>Berechnungszeit: %1 s</translation>
     </message>
@@ -2568,91 +2709,121 @@ ist keine gültige Koordinatensystemdefinition:
         <translation>Über....</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="43"/>
+        <location filename="../IAbout.ui" line="49"/>
         <source><b>QMapShack</b>, Version</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="50"/>
-        <location filename="../IAbout.ui" line="94"/>
-        <location filename="../IAbout.ui" line="108"/>
-        <location filename="../IAbout.ui" line="122"/>
-        <location filename="../IAbout.ui" line="136"/>
+        <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"/>
         <source>TextLabel</source>
         <translation>Bezeichnung</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="87"/>
+        <location filename="../IAbout.ui" line="93"/>
         <source>Qt</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="101"/>
+        <location filename="../IAbout.ui" line="107"/>
         <source>GDAL</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="115"/>
+        <location filename="../IAbout.ui" line="121"/>
         <source>Proj4</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="129"/>
+        <location filename="../IAbout.ui" line="135"/>
         <source>Routino</source>
         <translation>Routino</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="154"/>
+        <location filename="../IAbout.ui" line="160"/>
         <source>Rainer Unseld </source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="161"/>
+        <location filename="../IAbout.ui" line="167"/>
         <source>French</source>
         <translation>Französisch</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="168"/>
+        <location filename="../IAbout.ui" line="174"/>
         <source>Czech</source>
         <translation>Tschechisch</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="175"/>
+        <location filename="../IAbout.ui" line="181"/>
         <source>Pavel Fric</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="182"/>
+        <location filename="../IAbout.ui" line="188"/>
         <source>German</source>
         <translation>Deutsch</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="189"/>
+        <location filename="../IAbout.ui" line="195"/>
         <source>Translation:</source>
         <translation>Übersetzung:</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="196"/>
+        <location filename="../IAbout.ui" line="202"/>
         <source>Josef Latt</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="203"/>
+        <location filename="../IAbout.ui" line="209"/>
         <source>Spanish</source>
         <translation>Spanisch</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="210"/>
+        <location filename="../IAbout.ui" line="216"/>
         <source>Jose Luis Domingo Lopez</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="226"/>
+        <location filename="../IAbout.ui" line="234"/>
+        <source>Ivo Kronenberg</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../IAbout.ui" line="241"/>
+        <source>Helmut Schmidt</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../IAbout.ui" line="248"/>
+        <source>Win64</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../IAbout.ui" line="255"/>
+        <source>OS X</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../IAbout.ui" line="262"/>
+        <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>
+    </message>
+    <message>
+        <location filename="../IAbout.ui" line="291"/>
         <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="233"/>
+        <location filename="../IAbout.ui" line="298"/>
         <source>© 2014 Oliver Eichler (oliver.eichler at gmx.de)</source>
         <translation></translation>
     </message>
@@ -2711,6 +2882,29 @@ ist keine gültige Koordinatensystemdefinition:
     </message>
 </context>
 <context>
+    <name>ICoordFormatSetup</name>
+    <message>
+        <location filename="../units/ICoordFormatSetup.ui" line="14"/>
+        <source>Coordinate Format...</source>
+        <translation>Koordinatenformat...</translation>
+    </message>
+    <message>
+        <location filename="../units/ICoordFormatSetup.ui" line="22"/>
+        <source>N48° 53.660 E013° 31.113</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../units/ICoordFormatSetup.ui" line="29"/>
+        <source>N48.8943° E013.51855°</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../units/ICoordFormatSetup.ui" line="36"/>
+        <source>N48° 53' 39.6" E13° 31' 6.78"</source>
+        <translation></translation>
+    </message>
+</context>
+<context>
     <name>ICreateRouteFromWpt</name>
     <message>
         <location filename="../gis/rte/ICreateRouteFromWpt.ui" line="14"/>
@@ -3102,7 +3296,7 @@ ist keine gültige Koordinatensystemdefinition:
     </message>
     <message>
         <location filename="../gis/trk/IDetailsTrk.ui" line="231"/>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="473"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="545"/>
         <source>Speed</source>
         <translation>Geschw.</translation>
     </message>
@@ -3133,46 +3327,56 @@ ist keine gültige Koordinatensystemdefinition:
     </message>
     <message>
         <location filename="../gis/trk/IDetailsTrk.ui" line="405"/>
+        <source>Activity</source>
+        <translation>Aktivität</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="450"/>
+        <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"/>
         <source>Points</source>
         <translation>Punkte</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="453"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="525"/>
         <source>Time</source>
         <translation>Zeit</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="458"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="530"/>
         <source>Ele.</source>
         <translation>Höhe</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="463"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="535"/>
         <source>Delta</source>
         <translation>Delta</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="468"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="540"/>
         <source>Dist.</source>
         <translation>Entf.</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="478"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="550"/>
         <source>Slope</source>
         <translation>Neigung</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="483"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="555"/>
         <source>Ascend</source>
         <translation>Anstieg</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="488"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="560"/>
         <source>Descend</source>
         <translation>Abstieg</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="493"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="565"/>
         <source>Position</source>
         <translation>Position</translation>
     </message>
@@ -3187,12 +3391,12 @@ ist keine gültige Koordinatensystemdefinition:
         <translation></translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="502"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="574"/>
         <source>Filter</source>
         <translation>Filter</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="539"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="611"/>
         <source>Hist.</source>
         <translation>Historie</translation>
     </message>
@@ -3727,42 +3931,42 @@ ist keine gültige Koordinatensystemdefinition:
         <translation>Datei</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="78"/>
+        <location filename="../IMainWindow.ui" line="80"/>
         <source>View</source>
         <translation>Ansicht</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="99"/>
+        <location filename="../IMainWindow.ui" line="102"/>
         <source>Window</source>
         <translation>Fenster</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="104"/>
+        <location filename="../IMainWindow.ui" line="107"/>
         <source>?</source>
         <translation>?</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="111"/>
+        <location filename="../IMainWindow.ui" line="114"/>
         <source>Project</source>
         <translation>Projekt</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="121"/>
+        <location filename="../IMainWindow.ui" line="124"/>
         <source>Tool</source>
         <translation>Werkzeug</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="146"/>
+        <location filename="../IMainWindow.ui" line="149"/>
         <source>Maps</source>
         <translation>Karten</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="189"/>
+        <location filename="../IMainWindow.ui" line="192"/>
         <source>Dig. Elev. Model (DEM)</source>
         <translation>Dig. Höhenmodell (DEM)</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="228"/>
+        <location filename="../IMainWindow.ui" line="231"/>
         <source>Data</source>
         <translation>Daten</translation>
     </message>
@@ -3771,234 +3975,269 @@ ist keine gültige Koordinatensystemdefinition:
         <translation type="obsolete">Ansicht hinzufügen</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="246"/>
+        <location filename="../IMainWindow.ui" line="249"/>
         <source>Route</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="280"/>
         <location filename="../IMainWindow.ui" line="283"/>
+        <location filename="../IMainWindow.ui" line="286"/>
         <source>Add Map View</source>
         <translation>Kartenansicht hinzufügen</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="286"/>
+        <location filename="../IMainWindow.ui" line="289"/>
         <source>Ctrl+T</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="298"/>
+        <location filename="../IMainWindow.ui" line="301"/>
         <source>Show Scale</source>
         <translation>Maßstab</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="307"/>
+        <location filename="../IMainWindow.ui" line="310"/>
         <source>Setup Map Font</source>
         <translation>Kartenfont einstellen</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="319"/>
+        <location filename="../IMainWindow.ui" line="322"/>
         <source>Show Grid</source>
         <translation>Gitter</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="322"/>
+        <location filename="../IMainWindow.ui" line="325"/>
         <source>Ctrl+G</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="331"/>
+        <location filename="../IMainWindow.ui" line="334"/>
         <source>Setup Grid</source>
         <translation>Gitter einstellen</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="334"/>
+        <location filename="../IMainWindow.ui" line="337"/>
         <source>Ctrl+Alt+G</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="346"/>
+        <location filename="../IMainWindow.ui" line="349"/>
         <source>Flip Mouse Wheel</source>
         <translation>Mausrad umdrehen</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="355"/>
         <location filename="../IMainWindow.ui" line="358"/>
+        <location filename="../IMainWindow.ui" line="361"/>
         <source>Setup Map Paths</source>
         <translation>Kartenverzeichnisse angeben</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="370"/>
+        <location filename="../IMainWindow.ui" line="373"/>
         <source>POI Text</source>
         <translation>POI Text</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="382"/>
+        <location filename="../IMainWindow.ui" line="385"/>
         <source>Night / Day</source>
         <translation>Nacht / Tag</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="394"/>
+        <location filename="../IMainWindow.ui" line="397"/>
         <source>Map Tool Tip</source>
         <translation>Kartentooltip</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="403"/>
+        <location filename="../IMainWindow.ui" line="400"/>
+        <source>Ctrl+I</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../IMainWindow.ui" line="409"/>
         <source>Setup DEM Paths</source>
         <translation>DEM Verzeichnisse angeben</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="412"/>
+        <location filename="../IMainWindow.ui" line="418"/>
         <source>About</source>
         <translation>Über</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="421"/>
+        <location filename="../IMainWindow.ui" line="427"/>
         <source>Help</source>
         <translation>Hilfe</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="430"/>
-        <location filename="../IMainWindow.ui" line="433"/>
+        <location filename="../IMainWindow.ui" line="436"/>
+        <location filename="../IMainWindow.ui" line="439"/>
         <source>Setup Map View</source>
         <translation>Kartenansicht einstellen</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="547"/>
+        <location filename="../IMainWindow.ui" line="553"/>
         <source>VRT Builder</source>
         <translation>VRT Builder</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="550"/>
+        <location filename="../IMainWindow.ui" line="556"/>
         <source>GUI front end to gdalbuildvrt</source>
         <translation>Eine graphische Benutzerschnittstelle zu gdalbuildvrt </translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="559"/>
+        <location filename="../IMainWindow.ui" line="565"/>
         <source>Store Map View</source>
         <translation>Kartenansicht speichern</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="562"/>
+        <location filename="../IMainWindow.ui" line="568"/>
         <source>Write current active map and DEM list including the properties to a file</source>
         <translation>Speichert die aktive Karten und DEM Dateien inklusive der Eigenschaften in einer Datei</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="571"/>
+        <location filename="../IMainWindow.ui" line="577"/>
         <source>Load Map View</source>
         <translation>Kartenansicht laden</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="574"/>
+        <location filename="../IMainWindow.ui" line="580"/>
         <source>Restore view with active map and DEM list including the properties from a file</source>
         <translation>Stellt die aktive Karten und DEM Dateien inklusive der Eigenschaften aus einer Datei wieder her</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="586"/>
+        <location filename="../IMainWindow.ui" line="592"/>
         <source>Ext. Profile</source>
         <translation>Erw. Profil</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="589"/>
+        <location filename="../IMainWindow.ui" line="595"/>
         <source>Ctrl+E</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="598"/>
+        <location filename="../IMainWindow.ui" line="604"/>
         <source>Close</source>
         <translation>Schließen</translation>
     </message>
     <message>
         <location filename="../IMainWindow.ui" line="607"/>
+        <source>Ctrl+Q</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../IMainWindow.ui" line="616"/>
         <source>Clone Map View</source>
         <translation>Kartenansicht klonen</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="610"/>
+        <location filename="../IMainWindow.ui" line="619"/>
         <source>Ctrl+Shift+T</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="619"/>
+        <location filename="../IMainWindow.ui" line="628"/>
         <source>Create Routino Database</source>
         <translation>Routino Datenbank erstellen</translation>
     </message>
     <message>
+        <location filename="../IMainWindow.ui" line="637"/>
+        <source>Save(Print) Map Screenshot</source>
+        <translation>Kartenansicht speichern(drucken)</translation>
+    </message>
+    <message>
+        <location filename="../IMainWindow.ui" line="640"/>
+        <source>Print a selected area of the map</source>
+        <translation>Einen ausgewählten Bereich der Karte drucken</translation>
+    </message>
+    <message>
+        <location filename="../IMainWindow.ui" line="643"/>
+        <source>Ctrl+P</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../IMainWindow.ui" line="652"/>
+        <source>Setup Coord. Format</source>
+        <translation>Koordinatenformat einstellen</translation>
+    </message>
+    <message>
+        <location filename="../IMainWindow.ui" line="655"/>
+        <source>Change the format coordinates are displayed</source>
+        <translation>Ändert das Format der angezeigten Koordianten</translation>
+    </message>
+    <message>
         <source>Setup Map Workspace</source>
         <translation type="obsolete">Arbeitsplatz einstellen</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="442"/>
+        <location filename="../IMainWindow.ui" line="448"/>
         <source>Load GIS Data</source>
         <translation>GIS Daten laden</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="445"/>
+        <location filename="../IMainWindow.ui" line="451"/>
         <source>Load projects from file</source>
         <translation>Lade Datei als Projekt</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="448"/>
+        <location filename="../IMainWindow.ui" line="454"/>
         <source>Ctrl+L</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="457"/>
+        <location filename="../IMainWindow.ui" line="463"/>
         <source>Save All GIS Data</source>
         <translation>Alle GIS Daten speichern</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="460"/>
+        <location filename="../IMainWindow.ui" line="466"/>
         <source>Save all projects in the workspace</source>
         <translation>Alle Projekte die sich auf dem Arbeitsplatz befinden, speichern</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="463"/>
+        <location filename="../IMainWindow.ui" line="469"/>
         <source>Ctrl+S</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="472"/>
+        <location filename="../IMainWindow.ui" line="478"/>
         <source>Setup Time Zone</source>
         <translation>Zeitzone einstellen</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="481"/>
+        <location filename="../IMainWindow.ui" line="487"/>
         <source>Add empty project</source>
         <translation>Leeres Projekt hinzufügen</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="493"/>
+        <location filename="../IMainWindow.ui" line="499"/>
         <source>Search Google</source>
         <translation>Mit Google suchen</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="502"/>
+        <location filename="../IMainWindow.ui" line="508"/>
         <source>Close all projects</source>
         <translation>Alle Projekte schließen</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="505"/>
+        <location filename="../IMainWindow.ui" line="511"/>
         <source>F8</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="514"/>
+        <location filename="../IMainWindow.ui" line="520"/>
         <source>Setup Units</source>
         <translation>Einheiten einstellen</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="523"/>
+        <location filename="../IMainWindow.ui" line="529"/>
         <source>Setup Workspace</source>
         <translation>Arbeitsplatz konfigurieren</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="526"/>
+        <location filename="../IMainWindow.ui" line="532"/>
         <source>Setup save on exit.</source>
         <translation>Speichert Einstellungen beim Beenden.</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="535"/>
+        <location filename="../IMainWindow.ui" line="541"/>
         <source>Import Database from QLandkarte</source>
         <translation>Datenbankimport aus QLandkarte</translation>
     </message>
@@ -4011,7 +4250,7 @@ ist keine gültige Koordinatensystemdefinition:
         <translation type="obsolete">Datenbank importieren</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="538"/>
+        <location filename="../IMainWindow.ui" line="544"/>
         <source>Import QLandkarte GT database</source>
         <translation>QLandkarte GT Datenbank importieren</translation>
     </message>
@@ -4205,62 +4444,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="242"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="253"/>
         <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="283"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="293"/>
         <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="292"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="302"/>
         <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="301"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="311"/>
         <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="310"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="320"/>
         <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="319"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="329"/>
         <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="324"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="334"/>
         <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="329"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="339"/>
         <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="485"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="498"/>
         <source><b>%1 Metrics</b></source>
-        <translation type="unfinished"><b>%1maße</b></translation>
+        <translation><b>%1maße</b></translation>
     </message>
     <message>
-        <location filename="../mouse/line/IMouseEditLine.cpp" line="488"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="501"/>
         <source>Distance:</source>
         <translation>Entfernung:</translation>
     </message>
     <message>
-        <location filename="../mouse/line/IMouseEditLine.cpp" line="490"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="503"/>
         <source>Ascend:</source>
         <translation>Anstieg:</translation>
     </message>
     <message>
-        <location filename="../mouse/line/IMouseEditLine.cpp" line="492"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="505"/>
         <source>Descend:</source>
         <translation>Abstieg:</translation>
     </message>
@@ -4286,22 +4525,27 @@ Keine Lust die Anleitung zu lesen!</translation>
 <context>
     <name>IPlot</name>
     <message>
-        <location filename="../plot/IPlot.cpp" line="108"/>
+        <location filename="../plot/IPlot.cpp" line="110"/>
+        <source>Reset Zoom</source>
+        <translation>Zoom zurücksetzen</translation>
+    </message>
+    <message>
+        <location filename="../plot/IPlot.cpp" line="111"/>
         <source>Stop Range</source>
         <translation>Bereichsauswahl beenden</translation>
     </message>
     <message>
-        <location filename="../plot/IPlot.cpp" line="109"/>
+        <location filename="../plot/IPlot.cpp" line="112"/>
         <source>Save...</source>
         <translation>Speichern ...</translation>
     </message>
     <message>
-        <location filename="../plot/IPlot.cpp" line="602"/>
+        <location filename="../plot/IPlot.cpp" line="630"/>
         <source>No or bad data.</source>
         <translation>Keine oder schlechte Daten.</translation>
     </message>
     <message>
-        <location filename="../plot/IPlot.cpp" line="1128"/>
+        <location filename="../plot/IPlot.cpp" line="1215"/>
         <source>Select output file</source>
         <translation>Ausgabedatei auswählen</translation>
     </message>
@@ -4332,6 +4576,31 @@ sein</translation>
     </message>
 </context>
 <context>
+    <name>IPrintDialog</name>
+    <message>
+        <location filename="../print/IPrintDialog.ui" line="20"/>
+        <source>Print map...</source>
+        <translation>Karte drucken...</translation>
+    </message>
+    <message>
+        <location filename="../print/IPrintDialog.ui" line="50"/>
+        <source>Save</source>
+        <translation>Speichern</translation>
+    </message>
+    <message>
+        <location filename="../print/IPrintDialog.ui" line="69"/>
+        <location filename="../print/IPrintDialog.ui" line="82"/>
+        <location filename="../print/IPrintDialog.ui" line="131"/>
+        <source>TextLabel</source>
+        <translation>Bezeichnung</translation>
+    </message>
+    <message>
+        <location filename="../print/IPrintDialog.ui" line="98"/>
+        <source>Print</source>
+        <translation>Drucken</translation>
+    </message>
+</context>
+<context>
     <name>IProgressDialog</name>
     <message>
         <location filename="../helpers/IProgressDialog.ui" line="14"/>
@@ -4885,6 +5154,11 @@ sein</translation>
     </message>
     <message>
         <location filename="../mouse/IScrOptRangeTrk.ui" line="68"/>
+        <source>Select an activity for the selected range.</source>
+        <translation>Wählen Sie eine Aktivität für den ausgewählten Bereich.</translation>
+    </message>
+    <message>
+        <location filename="../mouse/IScrOptRangeTrk.ui" line="82"/>
         <source>Copy track points as new track.</source>
         <translation>Kopiert Trackpunkte in neuen Track.</translation>
     </message>
@@ -4896,6 +5170,7 @@ sein</translation>
         <location filename="../mouse/IScrOptRangeTrk.ui" line="43"/>
         <location filename="../mouse/IScrOptRangeTrk.ui" line="57"/>
         <location filename="../mouse/IScrOptRangeTrk.ui" line="71"/>
+        <location filename="../mouse/IScrOptRangeTrk.ui" line="85"/>
         <source>...</source>
         <translation></translation>
     </message>
@@ -4908,7 +5183,7 @@ sein</translation>
         <translation type="obsolete">Trackpunkte in die Zwischenablage kopieren</translation>
     </message>
     <message>
-        <location filename="../mouse/IScrOptRangeTrk.ui" line="103"/>
+        <location filename="../mouse/IScrOptRangeTrk.ui" line="117"/>
         <source>TextLabel</source>
         <translation>Bezeichnung</translation>
     </message>
@@ -5173,6 +5448,19 @@ sein</translation>
     </message>
 </context>
 <context>
+    <name>ISelectActivity</name>
+    <message>
+        <location filename="../gis/trk/ISelectActivity.ui" line="14"/>
+        <source>Activities...</source>
+        <translation>Aktivitäten...</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/ISelectActivity.ui" line="20"/>
+        <source>Select one:</source>
+        <translation>Wählen Sie eine aus:</translation>
+    </message>
+</context>
+<context>
     <name>ISelectCopyAction</name>
     <message>
         <location filename="../helpers/ISelectCopyAction.ui" line="14"/>
@@ -5701,18 +5989,18 @@ sein</translation>
 <context>
     <name>QObject</name>
     <message>
-        <location filename="../GeoMath.cpp" line="169"/>
-        <location filename="../GeoMath.cpp" line="175"/>
+        <location filename="../units/IUnit.cpp" line="745"/>
+        <location filename="../units/IUnit.cpp" line="751"/>
         <source>Error</source>
         <translation>Fehler</translation>
     </message>
     <message>
-        <location filename="../GeoMath.cpp" line="169"/>
+        <location filename="../units/IUnit.cpp" line="745"/>
         <source>Bad position format. Must be: "[N|S] ddd mm.sss [W|E] ddd mm.sss" or "[N|S] ddd.ddd [W|E] ddd.ddd"</source>
         <translation>Falsches Positionsformat. Muss entweder "[N|S] ddd mm.sss [W|E] ddd mm.sss" oder "[N|S] ddd.ddd [W|E] ddd.ddd" sein.</translation>
     </message>
     <message>
-        <location filename="../GeoMath.cpp" line="175"/>
+        <location filename="../units/IUnit.cpp" line="751"/>
         <source>Position values out of bounds. </source>
         <translation>Position außerhalb der gültigen Werte.</translation>
     </message>
@@ -5766,7 +6054,7 @@ Areas: %1</source>
         <translation type="obsolete">Fläche: %1</translation>
     </message>
     <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="109"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="112"/>
         <source>Save project?</source>
         <translation>Projekt speichern?</translation>
     </message>
@@ -5775,7 +6063,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="249"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="252"/>
         <source>%1: Correlate tracks and waypoints.</source>
         <translation>%1: Tracks und Wegpunkte verknüpfen.</translation>
     </message>
@@ -5788,49 +6076,53 @@ Areas: %1</source>
         <translation type="obsolete">Hat das zu lange gedauert? Wollen Sie die Verknüpfung von Tracks und Wegpunkten auch in Zukunft für das Projekt (%1) überspringen?</translation>
     </message>
     <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="109"/>
         <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>
     </message>
     <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="259"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="112"/>
+        <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"/>
         <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="260"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="263"/>
         <source>Cancelled correlation...</source>
         <translation>Verknüpfung abgebrochen...</translation>
     </message>
     <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="338"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="341"/>
         <source><br/>
 Filename: %1</source>
         <translation><br/>
 Dateiname: %1</translation>
     </message>
     <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="343"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="346"/>
         <source>Waypoints: %1</source>
         <translation>Wegpunkte: %1</translation>
     </message>
     <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="347"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="350"/>
         <source>Tracks: %1</source>
         <translation>Tracks: %1</translation>
     </message>
     <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="351"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="354"/>
         <source>Routes: %1</source>
         <translation>Routen: %1</translation>
     </message>
     <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="355"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="358"/>
         <source>Areas: %1</source>
         <translation>Gebiete: %1</translation>
     </message>
     <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="435"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="438"/>
         <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>
@@ -5841,7 +6133,7 @@ Dateiname: %1</translation>
     </message>
     <message>
         <location filename="../gis/CGisListDB.cpp" line="438"/>
-        <location filename="../gis/prj/IGisProject.cpp" line="436"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="439"/>
         <source>Delete...</source>
         <translation>Löschen...</translation>
     </message>
@@ -5902,109 +6194,119 @@ Dateiname: %1</translation>
         <translation>Datei %1' konnte nicht gespeichert werden</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="342"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="357"/>
         <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="449"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="464"/>
         <source>Length: %1 %2</source>
         <translation>Länge: %1 %2</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="456"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="471"/>
         <source>, %1%2 %3, %4%5 %6</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="464"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="479"/>
         <source>Time: %1</source>
         <translation>Gesamtzeit: %1</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="467"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="477"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="482"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="492"/>
         <source>, Speed: %1 %2</source>
         <translation>, Geschw.: %1 %2</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="474"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="489"/>
         <source>Moving: %1</source>
         <translation>Zeit in Bew.: %1</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="483"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="498"/>
         <source>Start: %1</source>
         <translation>Beginn: %1</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="488"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="503"/>
         <source>End: %1</source>
         <translation>Ende: %1</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="492"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="507"/>
         <source>Points: %1 (%2)</source>
         <translation>Punkte: %1 von %2</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="610"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="625"/>
         <source>Ele.: %1 %2</source>
         <translation>Höhe: %1 %2</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="613"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="628"/>
         <source> slope: %1%3 (%2%)</source>
         <translation>, Steigung: %1%3 (%2%)</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="684"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="707"/>
         <source>Ascend: %1%2</source>
         <translation>Anstieg: %1 %2</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="689"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="706"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="712"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="729"/>
         <source>, %1%2</source>
         <translation>, %1 %2</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="694"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="717"/>
         <source>Ascend: -</source>
         <translation>Anstieg: -</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="701"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="724"/>
         <source> Descend: %1%2</source>
         <translation> Abstieg: %1 %2</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="711"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="734"/>
         <source>Descend: -</source>
         <translation>Abstieg: -</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="717"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="740"/>
         <source>Dist.: %1%2</source>
         <translation>Entf.: %1 %2</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="722"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="745"/>
         <source> Time: %1%2</source>
         <translation> Zeit: %1 %2</translation>
     </message>
     <message>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1868"/>
+        <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"/>
+        <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>
+    <message>
         <source> slope: %1° (%2%)</source>
         <translation type="obsolete"> Neigung: %1° (%2%)</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1405"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1432"/>
         <source>Hide points.</source>
         <translation>Punkte ausblenden.</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1440"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1472"/>
         <source>Show points.</source>
         <translation>Punkte einblenden.</translation>
     </message>
@@ -6013,47 +6315,47 @@ Dateiname: %1</translation>
         <translation type="obsolete">Neigung: %1°(%2%)</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="618"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="633"/>
         <source> speed: %1%2</source>
         <translation>, Geschw.: %1 %2</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="630"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="653"/>
         <source>Ascend: %1%2 (%3%)</source>
         <translation>Anstieg: %1 %2 (%3%)</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="634"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="657"/>
         <source>Ascend: - (-)</source>
         <translation>Anstieg: - (-)</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="640"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="663"/>
         <source> Descend: %1%2 (%3%)</source>
         <translation>, Abstieg: %1 %2 (%3%)</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="644"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="667"/>
         <source> Descend: - (-) </source>
         <translation>, Abstieg: - (-) </translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="651"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="674"/>
         <source>Dist.: %1%2 (%3%)</source>
         <translation>Entf.: %1 %2 (%3%)</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="655"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="678"/>
         <source>Dist.: - (-)</source>
         <translation>Entf.: - (-)</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="661"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="684"/>
         <source> Moving: %1%2 (%3%)</source>
         <translation>, Zeit in Bew.: %1 %2 (%3%)</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="665"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="688"/>
         <source> Moving: - (-) </source>
         <translation>, Zeit in Bew.: - (-) </translation>
     </message>
@@ -6080,7 +6382,7 @@ Dateiname: %1</translation>
     <message>
         <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="142"/>
         <location filename="../gis/rte/CGisItemRte.cpp" line="67"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="184"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="193"/>
         <location filename="../gis/wpt/CGisItemWpt.cpp" line="130"/>
         <source>_Clone</source>
         <translation>_Klon</translation>
@@ -6129,24 +6431,24 @@ Dateiname: %1</translation>
     <message>
         <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="552"/>
         <location filename="../gis/rte/CGisItemRte.cpp" line="263"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1807"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1839"/>
         <location filename="../gis/wpt/CGisItemWpt.cpp" line="456"/>
         <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="1819"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1851"/>
         <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="1203"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1218"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1237"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1296"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1465"/>
+        <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/CMouseEditArea.cpp" line="100"/>
         <location filename="../mouse/CMouseEditRte.cpp" line="111"/>
         <location filename="../mouse/CMouseEditTrk.cpp" line="117"/>
@@ -6168,7 +6470,7 @@ Dateiname: %1</translation>
         <translation>Abstand: %1 %2</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1789"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1821"/>
         <location filename="../gis/wpt/CGisItemWpt.cpp" line="402"/>
         <source>Changed name</source>
         <translation>Name geändert</translation>
@@ -6205,14 +6507,14 @@ Dateiname: %1</translation>
     </message>
     <message>
         <location filename="../gis/rte/CGisItemRte.cpp" line="251"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1795"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1827"/>
         <location filename="../gis/wpt/CGisItemWpt.cpp" line="444"/>
         <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="1801"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1833"/>
         <location filename="../gis/wpt/CGisItemWpt.cpp" line="450"/>
         <source>Changed description</source>
         <translation>Beschreibung geändert</translation>
@@ -6224,7 +6526,7 @@ Dateiname: %1</translation>
     </message>
     <message>
         <location filename="../gis/rte/CGisItemRte.cpp" line="297"/>
-        <location filename="../gis/rte/CGisItemRte.cpp" line="477"/>
+        <location filename="../gis/rte/CGisItemRte.cpp" line="481"/>
         <source>Time: %1 %2</source>
         <translation>Gesamtzeit: %1 %2</translation>
     </message>
@@ -6252,7 +6554,7 @@ Dateiname: %1</translation>
         <translation type="obsolete">Gesamtzeit: %1 </translation>
     </message>
     <message>
-        <location filename="../gis/rte/CGisItemRte.cpp" line="479"/>
+        <location filename="../gis/rte/CGisItemRte.cpp" line="483"/>
         <source>Distance: %1 %2</source>
         <translation>Entfernung: %1 %2</translation>
     </message>
@@ -6270,22 +6572,22 @@ Turn: %1 Bearing: %2</source>
         <translation type="obsolete">Die Berechnung dauerte %1 Sek.</translation>
     </message>
     <message>
-        <location filename="../gis/rte/CGisItemRte.cpp" line="608"/>
+        <location filename="../gis/rte/CGisItemRte.cpp" line="612"/>
         <source>Changed route points.</source>
         <translation>Geänderte Routenpukte.</translation>
     </message>
     <message>
-        <location filename="../gis/gpx/serialization.cpp" line="599"/>
+        <location filename="../gis/gpx/serialization.cpp" line="691"/>
         <source>Archived</source>
         <translation>Archiviert</translation>
     </message>
     <message>
-        <location filename="../gis/gpx/serialization.cpp" line="603"/>
+        <location filename="../gis/gpx/serialization.cpp" line="695"/>
         <source>Available</source>
         <translation>Verfügbar</translation>
     </message>
     <message>
-        <location filename="../gis/gpx/serialization.cpp" line="607"/>
+        <location filename="../gis/gpx/serialization.cpp" line="699"/>
         <source>Not Available</source>
         <translation>Nicht verfügbar</translation>
     </message>
@@ -6320,18 +6622,18 @@ Turn: %1 Bearing: %2</source>
         <translation>Schreibgeschützt...</translation>
     </message>
     <message>
-        <location filename="../gis/IGisItem.cpp" line="668"/>
+        <location filename="../gis/IGisItem.cpp" line="667"/>
         <source><h4>Comment:</h4></source>
         <translation><h4>Kommentar:</h4></translation>
     </message>
     <message>
-        <location filename="../gis/IGisItem.cpp" line="671"/>
+        <location filename="../gis/IGisItem.cpp" line="670"/>
         <source><p>--- no comment ---</p></source>
         <translation><p>--- kein ---</p></translation>
     </message>
     <message>
-        <location filename="../gis/IGisItem.cpp" line="654"/>
-        <location filename="../gis/IGisItem.cpp" line="713"/>
+        <location filename="../gis/IGisItem.cpp" line="653"/>
+        <location filename="../gis/IGisItem.cpp" line="712"/>
         <source><h4>Description:</h4></source>
         <translation><h4>Beschreibung:</h4></translation>
     </message>
@@ -6346,29 +6648,29 @@ Turn: %1 Bearing: %2</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>
     </message>
     <message>
-        <location filename="../gis/IGisItem.cpp" line="657"/>
-        <location filename="../gis/IGisItem.cpp" line="716"/>
+        <location filename="../gis/IGisItem.cpp" line="656"/>
+        <location filename="../gis/IGisItem.cpp" line="715"/>
         <source><p>--- no description ---</p></source>
         <translation><p>--- keine ---</p></translation>
     </message>
     <message>
-        <location filename="../gis/IGisItem.cpp" line="682"/>
-        <location filename="../gis/IGisItem.cpp" line="727"/>
+        <location filename="../gis/IGisItem.cpp" line="681"/>
+        <location filename="../gis/IGisItem.cpp" line="726"/>
         <source><h4>Links:</h4></source>
         <translation><h4>Verknüpfungen:</h4></translation>
     </message>
     <message>
-        <location filename="../gis/IGisItem.cpp" line="685"/>
-        <location filename="../gis/IGisItem.cpp" line="730"/>
+        <location filename="../gis/IGisItem.cpp" line="684"/>
+        <location filename="../gis/IGisItem.cpp" line="729"/>
         <source><p>--- no links ---</p></source>
         <translation><p>--- keine ---</p></translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1203"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1218"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1237"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1296"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1465"/>
+        <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"/>
         <source>Enter new track name.</source>
         <translation>Geben Sie einen neuen Namen für den Track ein.</translation>
@@ -6400,7 +6702,7 @@ Turn: %1 Bearing: %2</source>
         <translation>Verloren & Gefunden (%1)</translation>
     </message>
     <message>
-        <location filename="../qlgt/converter.cpp" line="194"/>
+        <location filename="../qlgt/converter.cpp" line="195"/>
         <source>Copy flag information from QLandkarte GT track</source>
         <translation>Kopiert das Informationsflag aus dem QLandkarte GT Track</translation>
     </message>
@@ -6479,12 +6781,12 @@ Turn: %1 Bearing: %2</source>
         <translation>Geschwindigkeit auf %1 %2 geändert.</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="1009"/>
+        <location filename="../gis/CGisListWks.cpp" line="1097"/>
         <source>Delete project...</source>
         <translation>Projekt löschen...</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="1009"/>
+        <location filename="../gis/CGisListWks.cpp" line="1097"/>
         <source>Do you really want to delete %1?</source>
         <translation>Sind Sie sicher, dass sie %1? löschen wollen?</translation>
     </message>
@@ -6550,5 +6852,95 @@ Turn: %1 Bearing: %2</source>
         <source>Enter new route name.</source>
         <translation>Geben Sie einen neuen Namen für die Route ein.</translation>
     </message>
+    <message>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="28"/>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="94"/>
+        <source>Foot</source>
+        <translation>Fußgänger</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="35"/>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="95"/>
+        <source>Bicycle</source>
+        <translation>Fahrrad</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="42"/>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="96"/>
+        <source>Motor Bike</source>
+        <translation>Motorrad</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="49"/>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="97"/>
+        <source>Car</source>
+        <translation>Auto</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="56"/>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="98"/>
+        <source>Cable Car</source>
+        <translation>Seilbahn</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="63"/>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="99"/>
+        <source>Swim</source>
+        <translation>Schwimmen</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="70"/>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="100"/>
+        <source>Ship</source>
+        <translation>Schiff</translation>
+    </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"/>
+        <source>Distance:</source>
+        <translation>Entfernung:</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="215"/>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="279"/>
+        <source>Ascend:</source>
+        <translation>Anstieg:</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="217"/>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="301"/>
+        <source>Descend:</source>
+        <translation>Abstieg:</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="219"/>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="323"/>
+        <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"/>
+        <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"/>
+        <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"/>
+        <source>Time Total:</source>
+        <translation>Zeit insgesamt:</translation>
+    </message>
 </context>
 </TS>
diff --git a/src/locale/qmapshack_es.ts b/src/locale/qmapshack_es.ts
index 454fa69..69ea85e 100644
--- a/src/locale/qmapshack_es.ts
+++ b/src/locale/qmapshack_es.ts
@@ -4,8 +4,13 @@
 <context>
     <name>CAbout</name>
     <message>
-        <location filename="../CAbout.cpp" line="36"/>
-        <source>API Version %1 (expected %2)</source>
+        <location filename="../CAbout.cpp" line="38"/>
+        <source>%1 (API V%2, expected V%3)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../CAbout.cpp" line="42"/>
+        <source>%1 (API V%2)</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -16,12 +21,45 @@
         <translation type="obsolete">Espacio de Trabajo %1</translation>
     </message>
     <message>
-        <location filename="../canvas/CCanvas.cpp" line="65"/>
+        <location filename="../canvas/CCanvas.cpp" line="66"/>
         <source>View %1</source>
         <translation>Vista %1</translation>
     </message>
 </context>
 <context>
+    <name>CCommandProcessor</name>
+    <message>
+        <location filename="../helpers/CCommandProcessor.cpp" line="31"/>
+        <source>Print debug output to console.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../helpers/CCommandProcessor.cpp" line="34"/>
+        <source>Print debug output to logfile (temp. path).</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../helpers/CCommandProcessor.cpp" line="37"/>
+        <source>Do not show splash screen.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../helpers/CCommandProcessor.cpp" line="40"/>
+        <source>File with QMapShack configuration.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../helpers/CCommandProcessor.cpp" line="40"/>
+        <source>file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../helpers/CCommandProcessor.cpp" line="43"/>
+        <source>Files for future use.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>CDemList</name>
     <message>
         <location filename="../dem/CDemList.cpp" line="145"/>
@@ -85,23 +123,23 @@
 <context>
     <name>CDetailsGeoCache</name>
     <message>
-        <location filename="../gis/wpt/CDetailsGeoCache.cpp" line="63"/>
+        <location filename="../gis/wpt/CDetailsGeoCache.cpp" line="62"/>
         <source>none</source>
         <translation>ninguno</translation>
     </message>
     <message>
-        <location filename="../gis/wpt/CDetailsGeoCache.cpp" line="63"/>
-        <location filename="../gis/wpt/CDetailsGeoCache.cpp" line="133"/>
+        <location filename="../gis/wpt/CDetailsGeoCache.cpp" line="62"/>
+        <location filename="../gis/wpt/CDetailsGeoCache.cpp" line="132"/>
         <source>???</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../gis/wpt/CDetailsGeoCache.cpp" line="160"/>
+        <location filename="../gis/wpt/CDetailsGeoCache.cpp" line="159"/>
         <source>Searching for images...</source>
         <translation>Buscando imagenes...</translation>
     </message>
     <message>
-        <location filename="../gis/wpt/CDetailsGeoCache.cpp" line="265"/>
+        <location filename="../gis/wpt/CDetailsGeoCache.cpp" line="264"/>
         <source>No images found</source>
         <translation>No se encontraron imagenes</translation>
     </message>
@@ -109,12 +147,12 @@
 <context>
     <name>CDetailsOvlArea</name>
     <message>
-        <location filename="../gis/ovl/CDetailsOvlArea.cpp" line="136"/>
+        <location filename="../gis/ovl/CDetailsOvlArea.cpp" line="135"/>
         <source>Edit name...</source>
         <translation>Editar nombre...</translation>
     </message>
     <message>
-        <location filename="../gis/ovl/CDetailsOvlArea.cpp" line="136"/>
+        <location filename="../gis/ovl/CDetailsOvlArea.cpp" line="135"/>
         <source>Enter new area name.</source>
         <translation type="unfinished">Introduzca el nombre del nuevo área.</translation>
     </message>
@@ -142,13 +180,13 @@
 <context>
     <name>CDetailsPrj</name>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="229"/>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="668"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="249"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="689"/>
         <source>none</source>
         <translation>ninguna</translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="301"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="322"/>
         <source>Build diary...</source>
         <translation>Creando diario...</translation>
     </message>
@@ -157,35 +195,35 @@
         <translation type="obsolete">Cancelar</translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="376"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="397"/>
         <source><h2>Waypoints</h2></source>
         <translation>Waypoints</translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="383"/>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="409"/>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="513"/>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="603"/>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="633"/>
+        <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"/>
         <source>Info</source>
         <translation>Información</translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="384"/>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="410"/>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="514"/>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="604"/>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="634"/>
+        <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"/>
         <source>Comment</source>
         <translation>Comentario</translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="402"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="423"/>
         <source><h2>Tracks</h2></source>
         <translation>Tracks</translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="596"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="617"/>
         <source><h2>Areas</h2></source>
         <translation>Áreas</translation>
     </message>
@@ -200,79 +238,54 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="347"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="377"/>
         <source><b>Summary over all tracks in project</b><br/></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="350"/>
-        <source>Total Distance:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="352"/>
-        <source>Total Ascend:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="354"/>
-        <source>Total Descend:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="356"/>
-        <source>Total Time:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="358"/>
-        <source>Total Time Moving:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="532"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="553"/>
         <source>distance: %1%2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="534"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="555"/>
         <source>ascent: %1%2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="536"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="557"/>
         <source>descend: %1%2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="626"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="647"/>
         <source><h2>Routes</h2></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="654"/>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="681"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="675"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="702"/>
         <source>Edit name...</source>
         <translation>Editar nombre...</translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="654"/>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="681"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="675"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="702"/>
         <source>Enter new project name.</source>
         <translation>Introducir nuevo nombre de proyecto.</translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="663"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="684"/>
         <source>Edit keywords...</source>
         <translation>Editar etiquetas...</translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="663"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="684"/>
         <source>Enter keywords.</source>
         <translation>Introducir etiquetas.</translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="797"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="818"/>
         <source>Print Diary</source>
         <translation>Imprimir Diario</translation>
     </message>
@@ -293,46 +306,61 @@
 <context>
     <name>CDetailsTrk</name>
     <message>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="67"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="87"/>
         <source>Reduce visible track points</source>
         <translation>Reducir puntos visibles del track</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="80"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="100"/>
         <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="93"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="113"/>
         <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="106"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="126"/>
         <source>Cut track into pieces</source>
         <translation>Dividir track en partes</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="222"/>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="231"/>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="234"/>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="240"/>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="259"/>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="261"/>
+        <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"/>
         <source>%1 %2</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="395"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="457"/>
         <source>Edit name...</source>
         <translation type="unfinished">Editar nombre...</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="395"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="457"/>
         <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"/>
+        <source>Reset activities...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="509"/>
+        <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"/>
+        <source>None</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <source><h4>Comment:</h4></source>
         <translation type="obsolete"><h4>Comentario:</h4></translation>
     </message>
@@ -368,17 +396,17 @@
         <translation type="obsolete"><p>---sin descripción---</p></translation>
     </message>
     <message>
-        <location filename="../gis/wpt/CDetailsWpt.cpp" line="158"/>
+        <location filename="../gis/wpt/CDetailsWpt.cpp" line="157"/>
         <source>Edit name...</source>
         <translation>Editar nombre...</translation>
     </message>
     <message>
-        <location filename="../gis/wpt/CDetailsWpt.cpp" line="158"/>
+        <location filename="../gis/wpt/CDetailsWpt.cpp" line="157"/>
         <source>Enter new waypoint name.</source>
         <translation>Introducir el nombre del nuevo waypoint.</translation>
     </message>
     <message>
-        <location filename="../gis/wpt/CDetailsWpt.cpp" line="177"/>
+        <location filename="../gis/wpt/CDetailsWpt.cpp" line="176"/>
         <source>Enter new proximity range.</source>
         <translation>Introduzca el nuevo valor de proximidad.</translation>
     </message>
@@ -464,17 +492,17 @@
 <context>
     <name>CGisListWks</name>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="101"/>
+        <location filename="../gis/CGisListWks.cpp" line="104"/>
         <source>Save</source>
         <translation>Guardar</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="100"/>
+        <location filename="../gis/CGisListWks.cpp" line="105"/>
         <source>Save As...</source>
         <translation>Guardar Como...</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="99"/>
+        <location filename="../gis/CGisListWks.cpp" line="100"/>
         <source>Edit..</source>
         <translation>Editar..</translation>
     </message>
@@ -483,140 +511,150 @@
         <translation type="obsolete">Actualizar Proyecto en Dispositivos</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="103"/>
+        <location filename="../gis/CGisListWks.cpp" line="109"/>
         <source>Close</source>
         <translation>Cerrar</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="109"/>
+        <location filename="../gis/CGisListWks.cpp" line="115"/>
         <source>Update Project on Device</source>
         <translation>Actualizar Proyecto en Dsipositivo</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="121"/>
+        <location filename="../gis/CGisListWks.cpp" line="127"/>
         <source>Edit...</source>
         <translation>Editar...</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="122"/>
+        <location filename="../gis/CGisListWks.cpp" line="128"/>
         <source>Copy to...</source>
         <translation>Copiar a...</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="137"/>
+        <location filename="../gis/CGisListWks.cpp" line="143"/>
         <source>Show Bubble</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="139"/>
+        <location filename="../gis/CGisListWks.cpp" line="145"/>
         <source>Move Waypoint</source>
         <translation>Mover Waypoint</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="140"/>
+        <location filename="../gis/CGisListWks.cpp" line="146"/>
         <source>Proj. Waypoint...</source>
         <translation>Proyectar Waypoint...</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="148"/>
+        <location filename="../gis/CGisListWks.cpp" line="154"/>
         <source>Route Instructions</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="150"/>
+        <location filename="../gis/CGisListWks.cpp" line="156"/>
         <source>Calculate Route</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="151"/>
+        <location filename="../gis/CGisListWks.cpp" line="157"/>
         <source>Reset Route</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="152"/>
+        <location filename="../gis/CGisListWks.cpp" line="158"/>
         <source>Edit Route</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="168"/>
+        <location filename="../gis/CGisListWks.cpp" line="174"/>
         <source>Create Route</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="592"/>
+        <location filename="../gis/CGisListWks.cpp" line="613"/>
         <source>Drop items...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="617"/>
-        <location filename="../gis/CGisListWks.cpp" line="1455"/>
-        <location filename="../gis/CGisListWks.cpp" line="1493"/>
+        <location filename="../gis/CGisListWks.cpp" line="638"/>
+        <location filename="../gis/CGisListWks.cpp" line="1543"/>
+        <location filename="../gis/CGisListWks.cpp" line="1581"/>
         <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="1177"/>
+        <location filename="../gis/CGisListWks.cpp" line="1265"/>
         <source>Copy items...</source>
         <translation type="unfinished">Copia elementos....</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="124"/>
+        <location filename="../gis/CGisListWks.cpp" line="130"/>
         <source>Track Profile</source>
         <translation>Perfil del Track</translation>
     </message>
     <message>
+        <location filename="../gis/CGisListWks.cpp" line="101"/>
+        <source>Show on Map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <location filename="../gis/CGisListWks.cpp" line="102"/>
+        <source>Hide from Map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/CGisListWks.cpp" line="107"/>
         <source>Send to Devices</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="126"/>
+        <location filename="../gis/CGisListWks.cpp" line="132"/>
         <source>Select Range</source>
         <translation>Seleccionar Rango</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="127"/>
+        <location filename="../gis/CGisListWks.cpp" line="133"/>
         <source>Edit Track Points</source>
         <translation>Editar Puntos del Track</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="128"/>
+        <location filename="../gis/CGisListWks.cpp" line="134"/>
         <source>Reverse Track</source>
         <translation>Invertir Track</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="129"/>
+        <location filename="../gis/CGisListWks.cpp" line="135"/>
         <source>Combine Tracks</source>
         <translation>Combinar Tracks</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="161"/>
+        <location filename="../gis/CGisListWks.cpp" line="167"/>
         <source>Edit Area Points</source>
         <translation>Editar Puntos del Área</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="110"/>
-        <location filename="../gis/CGisListWks.cpp" line="131"/>
+        <location filename="../gis/CGisListWks.cpp" line="116"/>
+        <location filename="../gis/CGisListWks.cpp" line="137"/>
         <source>Delete</source>
         <translation>Borrar</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="719"/>
+        <location filename="../gis/CGisListWks.cpp" line="740"/>
         <source>Saving workspace. Please wait.</source>
         <translation>Guardando espacio de trabajo. Por favor espere.</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="763"/>
+        <location filename="../gis/CGisListWks.cpp" line="787"/>
         <source>Loading workspace. Please wait.</source>
         <translation>Cargando espacio de trabajo. Por favor espere.</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="973"/>
+        <location filename="../gis/CGisListWks.cpp" line="1061"/>
         <source>Close all projects...</source>
         <translation>Cerrar todos los proyectos...</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="973"/>
+        <location filename="../gis/CGisListWks.cpp" line="1061"/>
         <source>This will remove all projects from the workspace.</source>
         <translation>Esto quitará.todos los proyectos.del espacio de trabajo.</translation>
     </message>
@@ -708,27 +746,27 @@
 <context>
     <name>CMainWindow</name>
     <message>
-        <location filename="../CMainWindow.cpp" line="579"/>
+        <location filename="../CMainWindow.cpp" line="589"/>
         <source>Ele: %1%2</source>
         <translation>Alt: %1%2</translation>
     </message>
     <message>
-        <location filename="../CMainWindow.cpp" line="595"/>
+        <location filename="../CMainWindow.cpp" line="605"/>
         <source>[Grid: %1]</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../CMainWindow.cpp" line="710"/>
+        <location filename="../CMainWindow.cpp" line="726"/>
         <source>Load GIS Data...</source>
         <translation>Cargar Datos GIS...</translation>
     </message>
     <message>
-        <location filename="../CMainWindow.cpp" line="744"/>
+        <location filename="../CMainWindow.cpp" line="760"/>
         <source>Select output file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../CMainWindow.cpp" line="770"/>
+        <location filename="../CMainWindow.cpp" line="786"/>
         <source>Select file to load</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1471,18 +1509,19 @@
 <context>
     <name>CMapTMS</name>
     <message>
-        <location filename="../map/CMapTMS.cpp" line="70"/>
-        <location filename="../map/CMapTMS.cpp" line="80"/>
+        <location filename="../map/CMapTMS.cpp" line="71"/>
+        <location filename="../map/CMapTMS.cpp" line="81"/>
+        <location filename="../map/CMapTMS.cpp" line="140"/>
         <source>Error...</source>
         <translation>Error...</translation>
     </message>
     <message>
-        <location filename="../map/CMapTMS.cpp" line="70"/>
+        <location filename="../map/CMapTMS.cpp" line="71"/>
         <source>Failed to open %1</source>
         <translation>Fallo al abrir %1</translation>
     </message>
     <message>
-        <location filename="../map/CMapTMS.cpp" line="80"/>
+        <location filename="../map/CMapTMS.cpp" line="81"/>
         <source>Failed to read: %1
 line %2, column %3:
  %4</source>
@@ -1491,12 +1530,17 @@ línea %2, columna %3.
  %4</translation>
     </message>
     <message>
-        <location filename="../map/CMapTMS.cpp" line="118"/>
+        <location filename="../map/CMapTMS.cpp" line="119"/>
         <source>Layer %1</source>
         <translation>Capa %1</translation>
     </message>
     <message>
-        <location filename="../map/CMapTMS.cpp" line="289"/>
+        <location filename="../map/CMapTMS.cpp" line="134"/>
+        <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"/>
         <source><b>%1</b>: %2 tiles pending<br/></source>
         <translation><b>%1</b>: %2 teselas pendientes<br/></translation>
     </message>
@@ -1560,21 +1604,22 @@ línea %2, columna %3.
 <context>
     <name>CMapWMTS</name>
     <message>
-        <location filename="../map/CMapWMTS.cpp" line="45"/>
-        <location filename="../map/CMapWMTS.cpp" line="55"/>
-        <location filename="../map/CMapWMTS.cpp" line="65"/>
-        <location filename="../map/CMapWMTS.cpp" line="74"/>
-        <location filename="../map/CMapWMTS.cpp" line="206"/>
+        <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"/>
         <source>Error...</source>
         <translation>Error...</translation>
     </message>
     <message>
-        <location filename="../map/CMapWMTS.cpp" line="45"/>
+        <location filename="../map/CMapWMTS.cpp" line="46"/>
         <source>Failed to open %1</source>
         <translation>Fallo al abrir %1</translation>
     </message>
     <message>
-        <location filename="../map/CMapWMTS.cpp" line="55"/>
+        <location filename="../map/CMapWMTS.cpp" line="56"/>
         <source>Failed to read: %1
 line %2, column %3:
  %4</source>
@@ -1583,24 +1628,29 @@ línea %2, columna %3.
  %4</translation>
     </message>
     <message>
-        <location filename="../map/CMapWMTS.cpp" line="65"/>
+        <location filename="../map/CMapWMTS.cpp" line="66"/>
         <source>Failed to read: %1
 Unknown structure.</source>
         <translation>Fallo al leer: %1
 Estructura desconocida.</translation>
     </message>
     <message>
-        <location filename="../map/CMapWMTS.cpp" line="74"/>
+        <location filename="../map/CMapWMTS.cpp" line="75"/>
         <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>
     </message>
     <message>
-        <location filename="../map/CMapWMTS.cpp" line="206"/>
+        <location filename="../map/CMapWMTS.cpp" line="154"/>
+        <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"/>
         <source>No georeference information found.</source>
         <translation>No se encontró información de georreferenciación.</translation>
     </message>
     <message>
-        <location filename="../map/CMapWMTS.cpp" line="392"/>
+        <location filename="../map/CMapWMTS.cpp" line="416"/>
         <source><b>%1</b>: %2 tiles pending<br/></source>
         <translation><b>%1</b>: %2 teselas pendientes<br/></translation>
     </message>
@@ -1668,37 +1718,45 @@ Estructura desconocida.</translation>
 <context>
     <name>CMouseNormal</name>
     <message>
-        <location filename="../mouse/CMouseNormal.cpp" line="42"/>
+        <location filename="../mouse/CMouseNormal.cpp" line="41"/>
         <source>Add Waypoint</source>
         <translation>Añadir Waypoint</translation>
     </message>
     <message>
-        <location filename="../mouse/CMouseNormal.cpp" line="43"/>
+        <location filename="../mouse/CMouseNormal.cpp" line="42"/>
         <source>Add Track</source>
         <translation>Añadir Track</translation>
     </message>
     <message>
-        <location filename="../mouse/CMouseNormal.cpp" line="44"/>
+        <location filename="../mouse/CMouseNormal.cpp" line="43"/>
         <source>Add Route</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mouse/CMouseNormal.cpp" line="45"/>
+        <location filename="../mouse/CMouseNormal.cpp" line="44"/>
         <source>Add Area</source>
         <translation>Añadir Área</translation>
     </message>
     <message>
-        <location filename="../mouse/CMouseNormal.cpp" line="48"/>
+        <location filename="../mouse/CMouseNormal.cpp" line="47"/>
         <source>Copy position</source>
         <translation>Copiar posición</translation>
     </message>
     <message>
-        <location filename="../mouse/CMouseNormal.cpp" line="49"/>
+        <location filename="../mouse/CMouseNormal.cpp" line="48"/>
         <source>Copy position (Grid)</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
+    <name>CMousePrint</name>
+    <message>
+        <location filename="../mouse/CMousePrint.cpp" line="38"/>
+        <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>
+</context>
+<context>
     <name>CMouseRangeTrk</name>
     <message>
         <location filename="../mouse/CMouseRangeTrk.cpp" line="44"/>
@@ -1773,6 +1831,48 @@ Estructura desconocida.</translation>
     </message>
 </context>
 <context>
+    <name>CPrintDialog</name>
+    <message>
+        <location filename="../print/CPrintDialog.cpp" line="68"/>
+        <source>Print Map...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../print/CPrintDialog.cpp" line="75"/>
+        <source>Save Map as Image...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../print/CPrintDialog.cpp" line="95"/>
+        <source>Printer Properties...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../print/CPrintDialog.cpp" line="170"/>
+        <source>Pages: %1 x %2</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../print/CPrintDialog.cpp" line="171"/>
+        <source>Zoom with mouse wheel on map below to change resolution:
+
+%1x%2 pixel
+x: %3 m/px
+y: %4 m/px</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../print/CPrintDialog.cpp" line="217"/>
+        <source>Printing pages.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../print/CPrintDialog.cpp" line="259"/>
+        <source>Save map...</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>CProgressDialog</name>
     <message>
         <location filename="../helpers/CProgressDialog.cpp" line="40"/>
@@ -2103,42 +2203,42 @@ no es una definición de sistema de coordenadas válido:
 <context>
     <name>CRouterRoutino</name>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="82"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="89"/>
         <source>Foot</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="83"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="90"/>
         <source>Horse</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="84"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="91"/>
         <source>Wheelchair</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="85"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="92"/>
         <source>Bicycle</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="86"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="93"/>
         <source>Moped</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="87"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="94"/>
         <source>Motorcycle</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="88"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="95"/>
         <source>Motorcar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="89"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="96"/>
         <source>Goods</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2158,169 +2258,169 @@ no es una definición de sistema de coordenadas válido:
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="91"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="98"/>
         <source>English</source>
         <translation type="unfinished">Inglés</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="92"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="99"/>
         <source>German</source>
         <translation type="unfinished">Alemán</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="93"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="100"/>
         <source>French</source>
         <translation type="unfinished">Francés</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="94"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="101"/>
         <source>Hungarian</source>
         <translation type="unfinished">Húngaro</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="95"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="102"/>
         <source>Dutch</source>
         <translation type="unfinished">Holandés</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="96"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="103"/>
         <source>Russian</source>
         <translation type="unfinished">Ruso</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="97"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="104"/>
         <source>Polish</source>
         <translation type="unfinished">Polaco</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="132"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="139"/>
         <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="135"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="142"/>
         <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="138"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="145"/>
         <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="141"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="148"/>
         <source>The specified database to load did not exist.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="144"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="151"/>
         <source>The specified database could not be loaded.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="147"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="154"/>
         <source>The specified profiles XML file did not exist.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="150"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="157"/>
         <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="153"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="160"/>
         <source>The specified translations XML file did not exist.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="156"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="163"/>
         <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="159"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="166"/>
         <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="162"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="169"/>
         <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="165"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="172"/>
         <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="168"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="175"/>
         <source>The profile and database do not work together.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="171"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="178"/>
         <source>The profile being used has not been validated.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="174"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="181"/>
         <source>The user specified profile contained invalid data.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="177"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="184"/>
         <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="180"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="187"/>
         <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="183"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="190"/>
         <source>Route calculation was aborted by user.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="189"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="196"/>
         <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="192"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="199"/>
         <source>Unknown error: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="204"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="211"/>
         <source>profile "%1"</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="205"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="212"/>
         <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="242"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="249"/>
         <source>Warning...</source>
         <translation type="unfinished">Aviso...</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="242"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="249"/>
         <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="346"/>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="433"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="353"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="440"/>
         <source>Calculate route with %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="354"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="361"/>
         <source><br/>Calculation time: %1s</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2464,91 +2564,121 @@ no es una definición de sistema de coordenadas válido:
         <translation>Acerca de...</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="43"/>
+        <location filename="../IAbout.ui" line="49"/>
         <source><b>QMapShack</b>, Version</source>
         <translation><b>QMapShack</b>, Versión</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="50"/>
-        <location filename="../IAbout.ui" line="94"/>
-        <location filename="../IAbout.ui" line="108"/>
-        <location filename="../IAbout.ui" line="122"/>
-        <location filename="../IAbout.ui" line="136"/>
+        <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"/>
         <source>TextLabel</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="87"/>
+        <location filename="../IAbout.ui" line="93"/>
         <source>Qt</source>
         <translation>Qt</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="101"/>
+        <location filename="../IAbout.ui" line="107"/>
         <source>GDAL</source>
         <translation>GDAL</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="115"/>
+        <location filename="../IAbout.ui" line="121"/>
         <source>Proj4</source>
         <translation>Proj4</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="129"/>
+        <location filename="../IAbout.ui" line="135"/>
         <source>Routino</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="154"/>
+        <location filename="../IAbout.ui" line="160"/>
         <source>Rainer Unseld </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="161"/>
+        <location filename="../IAbout.ui" line="167"/>
         <source>French</source>
         <translation type="unfinished">Francés</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="168"/>
+        <location filename="../IAbout.ui" line="174"/>
         <source>Czech</source>
         <translation type="unfinished">Checo</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="175"/>
+        <location filename="../IAbout.ui" line="181"/>
         <source>Pavel Fric</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="182"/>
+        <location filename="../IAbout.ui" line="188"/>
         <source>German</source>
         <translation type="unfinished">Alemán</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="189"/>
+        <location filename="../IAbout.ui" line="195"/>
         <source>Translation:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="196"/>
+        <location filename="../IAbout.ui" line="202"/>
         <source>Josef Latt</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="203"/>
+        <location filename="../IAbout.ui" line="209"/>
         <source>Spanish</source>
         <translation type="unfinished">Español</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="210"/>
+        <location filename="../IAbout.ui" line="216"/>
         <source>Jose Luis Domingo Lopez</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="226"/>
+        <location filename="../IAbout.ui" line="234"/>
+        <source>Ivo Kronenberg</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../IAbout.ui" line="241"/>
+        <source>Helmut Schmidt</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../IAbout.ui" line="248"/>
+        <source>Win64</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../IAbout.ui" line="255"/>
+        <source>OS X</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../IAbout.ui" line="262"/>
+        <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>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../IAbout.ui" line="291"/>
         <source>This software is licensed under GPL3 or any later version</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="233"/>
+        <location filename="../IAbout.ui" line="298"/>
         <source>© 2014 Oliver Eichler (oliver.eichler at gmx.de)</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2607,6 +2737,29 @@ no es una definición de sistema de coordenadas válido:
     </message>
 </context>
 <context>
+    <name>ICoordFormatSetup</name>
+    <message>
+        <location filename="../units/ICoordFormatSetup.ui" line="14"/>
+        <source>Coordinate Format...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../units/ICoordFormatSetup.ui" line="22"/>
+        <source>N48° 53.660 E013° 31.113</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../units/ICoordFormatSetup.ui" line="29"/>
+        <source>N48.8943° E013.51855°</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../units/ICoordFormatSetup.ui" line="36"/>
+        <source>N48° 53' 39.6" E13° 31' 6.78"</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>ICreateRouteFromWpt</name>
     <message>
         <location filename="../gis/rte/ICreateRouteFromWpt.ui" line="14"/>
@@ -2979,7 +3132,7 @@ no es una definición de sistema de coordenadas válido:
     </message>
     <message>
         <location filename="../gis/trk/IDetailsTrk.ui" line="231"/>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="473"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="545"/>
         <source>Speed</source>
         <translation>Velocidad</translation>
     </message>
@@ -3010,46 +3163,56 @@ no es una definición de sistema de coordenadas válido:
     </message>
     <message>
         <location filename="../gis/trk/IDetailsTrk.ui" line="405"/>
+        <source>Activity</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="450"/>
+        <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"/>
         <source>Points</source>
         <translation>Puntos</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="453"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="525"/>
         <source>Time</source>
         <translation>Tiempo</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="458"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="530"/>
         <source>Ele.</source>
         <translation>Altitud</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="463"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="535"/>
         <source>Delta</source>
         <translation>Delta</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="468"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="540"/>
         <source>Dist.</source>
         <translation>Distancia</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="478"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="550"/>
         <source>Slope</source>
         <translation>Pendiente</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="483"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="555"/>
         <source>Ascend</source>
         <translation>Ascenso</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="488"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="560"/>
         <source>Descend</source>
         <translation>Descenso</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="493"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="565"/>
         <source>Position</source>
         <translation>Posición</translation>
     </message>
@@ -3064,12 +3227,12 @@ no es una definición de sistema de coordenadas válido:
         <translation>-</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="502"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="574"/>
         <source>Filter</source>
         <translation>Filtro</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="539"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="611"/>
         <source>Hist.</source>
         <translation>Historial</translation>
     </message>
@@ -3588,42 +3751,42 @@ no es una definición de sistema de coordenadas válido:
         <translation>Archivo</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="78"/>
+        <location filename="../IMainWindow.ui" line="80"/>
         <source>View</source>
         <translation>Ver</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="99"/>
+        <location filename="../IMainWindow.ui" line="102"/>
         <source>Window</source>
         <translation>Ventana</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="104"/>
+        <location filename="../IMainWindow.ui" line="107"/>
         <source>?</source>
         <translation>?</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="111"/>
+        <location filename="../IMainWindow.ui" line="114"/>
         <source>Project</source>
         <translation>Proyecto</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="121"/>
+        <location filename="../IMainWindow.ui" line="124"/>
         <source>Tool</source>
         <translation>Herramientas</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="146"/>
+        <location filename="../IMainWindow.ui" line="149"/>
         <source>Maps</source>
         <translation>Mapas</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="189"/>
+        <location filename="../IMainWindow.ui" line="192"/>
         <source>Dig. Elev. Model (DEM)</source>
         <translation>Modelo Digital del Terreno (DEM)</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="228"/>
+        <location filename="../IMainWindow.ui" line="231"/>
         <source>Data</source>
         <translation>Datos</translation>
     </message>
@@ -3632,239 +3795,274 @@ no es una definición de sistema de coordenadas válido:
         <translation type="obsolete">Añadir Espacio de Trabajo de Mapa</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="246"/>
+        <location filename="../IMainWindow.ui" line="249"/>
         <source>Route</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="280"/>
         <location filename="../IMainWindow.ui" line="283"/>
+        <location filename="../IMainWindow.ui" line="286"/>
         <source>Add Map View</source>
         <translation>Añadir Vista de Mapa</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="286"/>
+        <location filename="../IMainWindow.ui" line="289"/>
         <source>Ctrl+T</source>
         <translation>Ctrl+T</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="298"/>
+        <location filename="../IMainWindow.ui" line="301"/>
         <source>Show Scale</source>
         <translation>Mostrar Escala</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="307"/>
+        <location filename="../IMainWindow.ui" line="310"/>
         <source>Setup Map Font</source>
         <translation>Configurar Fuente del Mapa</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="319"/>
+        <location filename="../IMainWindow.ui" line="322"/>
         <source>Show Grid</source>
         <translation>Mostrar Malla</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="322"/>
+        <location filename="../IMainWindow.ui" line="325"/>
         <source>Ctrl+G</source>
         <translation>Ctrl+G</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="331"/>
+        <location filename="../IMainWindow.ui" line="334"/>
         <source>Setup Grid</source>
         <translation>Configurar Malla</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="334"/>
+        <location filename="../IMainWindow.ui" line="337"/>
         <source>Ctrl+Alt+G</source>
         <translation>Ctrl+Alt+G</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="346"/>
+        <location filename="../IMainWindow.ui" line="349"/>
         <source>Flip Mouse Wheel</source>
         <translation>Invertir la Rueda del Ratón</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="355"/>
         <location filename="../IMainWindow.ui" line="358"/>
+        <location filename="../IMainWindow.ui" line="361"/>
         <source>Setup Map Paths</source>
         <translation>Configurar Rutas de Mapas</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="370"/>
+        <location filename="../IMainWindow.ui" line="373"/>
         <source>POI Text</source>
         <translation>Texto del POI</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="382"/>
+        <location filename="../IMainWindow.ui" line="385"/>
         <source>Night / Day</source>
         <translation>Noche / Día</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="394"/>
+        <location filename="../IMainWindow.ui" line="397"/>
         <source>Map Tool Tip</source>
         <translation>Mostrar Tooltips en los Mapas</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="403"/>
+        <location filename="../IMainWindow.ui" line="400"/>
+        <source>Ctrl+I</source>
+        <translation type="unfinished">Ctrl+I</translation>
+    </message>
+    <message>
+        <location filename="../IMainWindow.ui" line="409"/>
         <source>Setup DEM Paths</source>
         <translation>Configurar Rutas a los DEM</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="412"/>
+        <location filename="../IMainWindow.ui" line="418"/>
         <source>About</source>
         <translation>Acerca de</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="421"/>
+        <location filename="../IMainWindow.ui" line="427"/>
         <source>Help</source>
         <translation>Ayuda</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="430"/>
-        <location filename="../IMainWindow.ui" line="433"/>
+        <location filename="../IMainWindow.ui" line="436"/>
+        <location filename="../IMainWindow.ui" line="439"/>
         <source>Setup Map View</source>
         <translation>Configurar Vista de Mapa</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="547"/>
+        <location filename="../IMainWindow.ui" line="553"/>
         <source>VRT Builder</source>
         <translation>Asistente VRT</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="550"/>
+        <location filename="../IMainWindow.ui" line="556"/>
         <source>GUI front end to gdalbuildvrt</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="559"/>
+        <location filename="../IMainWindow.ui" line="565"/>
         <source>Store Map View</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="562"/>
+        <location filename="../IMainWindow.ui" line="568"/>
         <source>Write current active map and DEM list including the properties to a file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="571"/>
+        <location filename="../IMainWindow.ui" line="577"/>
         <source>Load Map View</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="574"/>
+        <location filename="../IMainWindow.ui" line="580"/>
         <source>Restore view with active map and DEM list including the properties from a file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="586"/>
+        <location filename="../IMainWindow.ui" line="592"/>
         <source>Ext. Profile</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="589"/>
+        <location filename="../IMainWindow.ui" line="595"/>
         <source>Ctrl+E</source>
         <translation type="unfinished">Ctrl+E</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="598"/>
+        <location filename="../IMainWindow.ui" line="604"/>
         <source>Close</source>
         <translation type="unfinished">Cerrar</translation>
     </message>
     <message>
         <location filename="../IMainWindow.ui" line="607"/>
+        <source>Ctrl+Q</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../IMainWindow.ui" line="616"/>
         <source>Clone Map View</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="610"/>
+        <location filename="../IMainWindow.ui" line="619"/>
         <source>Ctrl+Shift+T</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="619"/>
+        <location filename="../IMainWindow.ui" line="628"/>
         <source>Create Routino Database</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location filename="../IMainWindow.ui" line="637"/>
+        <source>Save(Print) Map Screenshot</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../IMainWindow.ui" line="640"/>
+        <source>Print a selected area of the map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../IMainWindow.ui" line="643"/>
+        <source>Ctrl+P</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../IMainWindow.ui" line="652"/>
+        <source>Setup Coord. Format</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../IMainWindow.ui" line="655"/>
+        <source>Change the format coordinates are displayed</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <source>Setup Map Workspace</source>
         <translation type="obsolete">Configurar Espacio de Trabajo de Mapas</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="442"/>
+        <location filename="../IMainWindow.ui" line="448"/>
         <source>Load GIS Data</source>
         <translation>Cargar Datos GIS</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="445"/>
+        <location filename="../IMainWindow.ui" line="451"/>
         <source>Load projects from file</source>
         <translation>Cargar proyectos desde archivo</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="448"/>
+        <location filename="../IMainWindow.ui" line="454"/>
         <source>Ctrl+L</source>
         <translation>Ctrl+L</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="457"/>
+        <location filename="../IMainWindow.ui" line="463"/>
         <source>Save All GIS Data</source>
         <translation>Guardar Todos los Datos GIS</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="460"/>
+        <location filename="../IMainWindow.ui" line="466"/>
         <source>Save all projects in the workspace</source>
         <translation>Guardar todos los proyectos del espacio de trabajo</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="463"/>
+        <location filename="../IMainWindow.ui" line="469"/>
         <source>Ctrl+S</source>
         <translation>Ctrl+S</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="472"/>
+        <location filename="../IMainWindow.ui" line="478"/>
         <source>Setup Time Zone</source>
         <translation>Configurar Zona Horaria</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="481"/>
+        <location filename="../IMainWindow.ui" line="487"/>
         <source>Add empty project</source>
         <translation>Añadir proyecto vacío</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="493"/>
+        <location filename="../IMainWindow.ui" line="499"/>
         <source>Search Google</source>
         <translation>Buscar en Google</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="502"/>
+        <location filename="../IMainWindow.ui" line="508"/>
         <source>Close all projects</source>
         <translation>Cerrar todos los proyectos</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="505"/>
+        <location filename="../IMainWindow.ui" line="511"/>
         <source>F8</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="514"/>
+        <location filename="../IMainWindow.ui" line="520"/>
         <source>Setup Units</source>
         <translation>Configurar Unidades</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="523"/>
+        <location filename="../IMainWindow.ui" line="529"/>
         <source>Setup Workspace</source>
         <translation>Configurar Espacio de trabajo</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="526"/>
+        <location filename="../IMainWindow.ui" line="532"/>
         <source>Setup save on exit.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="535"/>
+        <location filename="../IMainWindow.ui" line="541"/>
         <source>Import Database from QLandkarte</source>
         <translation>Importar base de datos de Qlandkarte</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="538"/>
+        <location filename="../IMainWindow.ui" line="544"/>
         <source>Import QLandkarte GT database</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4056,62 +4254,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="242"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="253"/>
         <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="283"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="293"/>
         <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="292"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="302"/>
         <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="301"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="311"/>
         <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="310"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="320"/>
         <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="319"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="329"/>
         <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="324"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="334"/>
         <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="329"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="339"/>
         <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="485"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="498"/>
         <source><b>%1 Metrics</b></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mouse/line/IMouseEditLine.cpp" line="488"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="501"/>
         <source>Distance:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mouse/line/IMouseEditLine.cpp" line="490"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="503"/>
         <source>Ascend:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mouse/line/IMouseEditLine.cpp" line="492"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="505"/>
         <source>Descend:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4133,22 +4331,27 @@ I don't want to read the documentation!</source>
 <context>
     <name>IPlot</name>
     <message>
-        <location filename="../plot/IPlot.cpp" line="108"/>
+        <location filename="../plot/IPlot.cpp" line="110"/>
+        <source>Reset Zoom</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../plot/IPlot.cpp" line="111"/>
         <source>Stop Range</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../plot/IPlot.cpp" line="109"/>
+        <location filename="../plot/IPlot.cpp" line="112"/>
         <source>Save...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../plot/IPlot.cpp" line="602"/>
+        <location filename="../plot/IPlot.cpp" line="630"/>
         <source>No or bad data.</source>
         <translation>Datos incorrectos o inexistentes.</translation>
     </message>
     <message>
-        <location filename="../plot/IPlot.cpp" line="1128"/>
+        <location filename="../plot/IPlot.cpp" line="1215"/>
         <source>Select output file</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4178,6 +4381,31 @@ o
     </message>
 </context>
 <context>
+    <name>IPrintDialog</name>
+    <message>
+        <location filename="../print/IPrintDialog.ui" line="20"/>
+        <source>Print map...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../print/IPrintDialog.ui" line="50"/>
+        <source>Save</source>
+        <translation type="unfinished">Guardar</translation>
+    </message>
+    <message>
+        <location filename="../print/IPrintDialog.ui" line="69"/>
+        <location filename="../print/IPrintDialog.ui" line="82"/>
+        <location filename="../print/IPrintDialog.ui" line="131"/>
+        <source>TextLabel</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../print/IPrintDialog.ui" line="98"/>
+        <source>Print</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>IProgressDialog</name>
     <message>
         <location filename="../helpers/IProgressDialog.ui" line="14"/>
@@ -4696,6 +4924,7 @@ o
         <location filename="../mouse/IScrOptRangeTrk.ui" line="43"/>
         <location filename="../mouse/IScrOptRangeTrk.ui" line="57"/>
         <location filename="../mouse/IScrOptRangeTrk.ui" line="71"/>
+        <location filename="../mouse/IScrOptRangeTrk.ui" line="85"/>
         <source>...</source>
         <translation>...</translation>
     </message>
@@ -4706,11 +4935,16 @@ o
     </message>
     <message>
         <location filename="../mouse/IScrOptRangeTrk.ui" line="68"/>
+        <source>Select an activity for the selected range.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../mouse/IScrOptRangeTrk.ui" line="82"/>
         <source>Copy track points as new track.</source>
         <translation>Copiar los puntos del track como un nuevo track.</translation>
     </message>
     <message>
-        <location filename="../mouse/IScrOptRangeTrk.ui" line="103"/>
+        <location filename="../mouse/IScrOptRangeTrk.ui" line="117"/>
         <source>TextLabel</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4934,6 +5168,19 @@ o
     </message>
 </context>
 <context>
+    <name>ISelectActivity</name>
+    <message>
+        <location filename="../gis/trk/ISelectActivity.ui" line="14"/>
+        <source>Activities...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/ISelectActivity.ui" line="20"/>
+        <source>Select one:</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>ISelectCopyAction</name>
     <message>
         <location filename="../helpers/ISelectCopyAction.ui" line="14"/>
@@ -5465,18 +5712,18 @@ o
 <context>
     <name>QObject</name>
     <message>
-        <location filename="../GeoMath.cpp" line="169"/>
-        <location filename="../GeoMath.cpp" line="175"/>
+        <location filename="../units/IUnit.cpp" line="745"/>
+        <location filename="../units/IUnit.cpp" line="751"/>
         <source>Error</source>
         <translation>Error</translation>
     </message>
     <message>
-        <location filename="../GeoMath.cpp" line="169"/>
+        <location filename="../units/IUnit.cpp" line="745"/>
         <source>Bad position format. Must be: "[N|S] ddd mm.sss [W|E] ddd mm.sss" or "[N|S] ddd.ddd [W|E] ddd.ddd"</source>
         <translation>Formato de coordenadas incorrecto. Debe ser: "[N|S] ggg mm.sss [W|E] ggg mm.sss" o "[N|S] ggg.ggg [W|E] ggg.ggg"</translation>
     </message>
     <message>
-        <location filename="../GeoMath.cpp" line="175"/>
+        <location filename="../units/IUnit.cpp" line="751"/>
         <source>Position values out of bounds. </source>
         <translation type="unfinished">Valores de posición fuera del límite.</translation>
     </message>
@@ -5535,58 +5782,58 @@ Areas: %1</source>
 Áreas: %1</translation>
     </message>
     <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="109"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="112"/>
         <source>Save project?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="249"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="252"/>
         <source>%1: Correlate tracks and waypoints.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="109"/>
-        <source><h3>%1</h3>The project was changed. Save befor closing it?</source>
+        <location filename="../gis/prj/IGisProject.cpp" line="112"/>
+        <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="259"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="262"/>
         <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="260"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="263"/>
         <source>Cancelled correlation...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="338"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="341"/>
         <source><br/>
 Filename: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="343"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="346"/>
         <source>Waypoints: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="347"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="350"/>
         <source>Tracks: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="351"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="354"/>
         <source>Routes: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="355"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="358"/>
         <source>Areas: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="435"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="438"/>
         <source>Are you sure you want to delete '%1' from project '%2'?</source>
         <translation>¿Desea realmente eleiminar '%1' del proyecto '%2'?</translation>
     </message>
@@ -5597,7 +5844,7 @@ Filename: %1</source>
     </message>
     <message>
         <location filename="../gis/CGisListDB.cpp" line="438"/>
-        <location filename="../gis/prj/IGisProject.cpp" line="436"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="439"/>
         <source>Delete...</source>
         <translation>Borrar...</translation>
     </message>
@@ -5659,149 +5906,159 @@ Filename: %1</source>
     </message>
     <message>
         <location filename="../gis/rte/CGisItemRte.cpp" line="286"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="449"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="464"/>
         <source>Length: %1 %2</source>
         <translation>Longitud: %1 %2</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="456"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="471"/>
         <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="464"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="479"/>
         <source>Time: %1</source>
         <translation>Tiempo: %1</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="467"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="477"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="482"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="492"/>
         <source>, Speed: %1 %2</source>
         <translation>, Velocidad: %1 %2</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="474"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="489"/>
         <source>Moving: %1</source>
         <translation>En movimiento: %1</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="483"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="498"/>
         <source>Start: %1</source>
         <translation>Comienzo: %1</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="488"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="503"/>
         <source>End: %1</source>
         <translation>Final: %1</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="492"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="507"/>
         <source>Points: %1 (%2)</source>
         <translation>Puntos: %1 (%2)</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="610"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="625"/>
         <source>Ele.: %1 %2</source>
         <translation>Altitud: %1 %2</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="613"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="628"/>
         <source> slope: %1%3 (%2%)</source>
         <translation> pendiente: %1%3 (%2%)</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="618"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="633"/>
         <source> speed: %1%2</source>
         <translation> velocidad: %1%2</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="630"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="653"/>
         <source>Ascend: %1%2 (%3%)</source>
         <translation>Ascenso: %1%2 (%3%)</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="634"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="657"/>
         <source>Ascend: - (-)</source>
         <translation>Ascenso: - (-)</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="644"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="667"/>
         <source> Descend: - (-) </source>
         <translation> Descenso: - (-) </translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="665"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="688"/>
         <source> Moving: - (-) </source>
         <translation> En movimiento: - (-) </translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="684"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="707"/>
         <source>Ascend: %1%2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="689"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="706"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="712"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="729"/>
         <source>, %1%2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="694"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="717"/>
         <source>Ascend: -</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="701"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="724"/>
         <source> Descend: %1%2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="711"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="734"/>
         <source>Descend: -</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="717"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="740"/>
         <source>Dist.: %1%2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="722"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="745"/>
         <source> Time: %1%2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1405"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1432"/>
         <source>Hide points.</source>
         <translation>Ocultar puntos.</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1440"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1472"/>
         <source>Show points.</source>
         <translation>Mostrar puntos.</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="640"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1868"/>
+        <source>Changed activity to '%1' for complete track.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1942"/>
+        <source>Changed activity to '%1' for range(%2..%3).</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="663"/>
         <source> Descend: %1%2 (%3%)</source>
         <translation> Descenso: %1%2 (%3%)</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="342"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="357"/>
         <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="651"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="674"/>
         <source>Dist.: %1%2 (%3%)</source>
         <translation>Distancia: %1%2 (%3%)</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="655"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="678"/>
         <source>Dist.: - (-)</source>
         <translation>Dist.: - (-)</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="661"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="684"/>
         <source> Moving: %1%2 (%3%)</source>
         <translation> En movimiento: %1%2 (%3%)</translation>
     </message>
@@ -5828,7 +6085,7 @@ Filename: %1</source>
     <message>
         <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="142"/>
         <location filename="../gis/rte/CGisItemRte.cpp" line="67"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="184"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="193"/>
         <location filename="../gis/wpt/CGisItemWpt.cpp" line="130"/>
         <source>_Clone</source>
         <translation type="unfinished"></translation>
@@ -5877,14 +6134,14 @@ Filename: %1</source>
     <message>
         <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="552"/>
         <location filename="../gis/rte/CGisItemRte.cpp" line="263"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1807"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1839"/>
         <location filename="../gis/wpt/CGisItemWpt.cpp" line="456"/>
         <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="1819"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1851"/>
         <source>Changed color</source>
         <translation>Se cambió el color</translation>
     </message>
@@ -5899,18 +6156,18 @@ Filename: %1</source>
         <translation>Proximidad: %1 %2</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1789"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1821"/>
         <location filename="../gis/wpt/CGisItemWpt.cpp" line="402"/>
         <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="1203"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1218"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1237"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1296"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1465"/>
+        <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/CMouseEditArea.cpp" line="100"/>
         <location filename="../mouse/CMouseEditRte.cpp" line="111"/>
         <location filename="../mouse/CMouseEditTrk.cpp" line="117"/>
@@ -5953,14 +6210,14 @@ Filename: %1</source>
     </message>
     <message>
         <location filename="../gis/rte/CGisItemRte.cpp" line="251"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1795"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1827"/>
         <location filename="../gis/wpt/CGisItemWpt.cpp" line="444"/>
         <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="1801"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1833"/>
         <location filename="../gis/wpt/CGisItemWpt.cpp" line="450"/>
         <source>Changed description</source>
         <translation>Se cambió la descripción</translation>
@@ -5972,12 +6229,12 @@ Filename: %1</source>
     </message>
     <message>
         <location filename="../gis/rte/CGisItemRte.cpp" line="297"/>
-        <location filename="../gis/rte/CGisItemRte.cpp" line="477"/>
+        <location filename="../gis/rte/CGisItemRte.cpp" line="481"/>
         <source>Time: %1 %2</source>
         <translation type="unfinished">Tiempo: %1 %2</translation>
     </message>
     <message>
-        <location filename="../gis/rte/CGisItemRte.cpp" line="479"/>
+        <location filename="../gis/rte/CGisItemRte.cpp" line="483"/>
         <source>Distance: %1 %2</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5997,22 +6254,22 @@ Filename: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/CGisItemRte.cpp" line="608"/>
+        <location filename="../gis/rte/CGisItemRte.cpp" line="612"/>
         <source>Changed route points.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/gpx/serialization.cpp" line="599"/>
+        <location filename="../gis/gpx/serialization.cpp" line="691"/>
         <source>Archived</source>
         <translation>Archivado</translation>
     </message>
     <message>
-        <location filename="../gis/gpx/serialization.cpp" line="603"/>
+        <location filename="../gis/gpx/serialization.cpp" line="695"/>
         <source>Available</source>
         <translation>Disponible</translation>
     </message>
     <message>
-        <location filename="../gis/gpx/serialization.cpp" line="607"/>
+        <location filename="../gis/gpx/serialization.cpp" line="699"/>
         <source>Not Available</source>
         <translation>No Disponible</translation>
     </message>
@@ -6047,18 +6304,18 @@ Filename: %1</source>
         <translation>Modo Sólo Lectura...</translation>
     </message>
     <message>
-        <location filename="../gis/IGisItem.cpp" line="668"/>
+        <location filename="../gis/IGisItem.cpp" line="667"/>
         <source><h4>Comment:</h4></source>
         <translation><h4>Comentario:</h4></translation>
     </message>
     <message>
-        <location filename="../gis/IGisItem.cpp" line="671"/>
+        <location filename="../gis/IGisItem.cpp" line="670"/>
         <source><p>--- no comment ---</p></source>
         <translation><p>---sin comentario---</p></translation>
     </message>
     <message>
-        <location filename="../gis/IGisItem.cpp" line="654"/>
-        <location filename="../gis/IGisItem.cpp" line="713"/>
+        <location filename="../gis/IGisItem.cpp" line="653"/>
+        <location filename="../gis/IGisItem.cpp" line="712"/>
         <source><h4>Description:</h4></source>
         <translation><h4>Descripción:</h4></translation>
     </message>
@@ -6073,29 +6330,29 @@ Filename: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/IGisItem.cpp" line="657"/>
-        <location filename="../gis/IGisItem.cpp" line="716"/>
+        <location filename="../gis/IGisItem.cpp" line="656"/>
+        <location filename="../gis/IGisItem.cpp" line="715"/>
         <source><p>--- no description ---</p></source>
         <translation><p>---sin descripción---</p></translation>
     </message>
     <message>
-        <location filename="../gis/IGisItem.cpp" line="682"/>
-        <location filename="../gis/IGisItem.cpp" line="727"/>
+        <location filename="../gis/IGisItem.cpp" line="681"/>
+        <location filename="../gis/IGisItem.cpp" line="726"/>
         <source><h4>Links:</h4></source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../gis/IGisItem.cpp" line="685"/>
-        <location filename="../gis/IGisItem.cpp" line="730"/>
+        <location filename="../gis/IGisItem.cpp" line="684"/>
+        <location filename="../gis/IGisItem.cpp" line="729"/>
         <source><p>--- no links ---</p></source>
         <translation><p>--- sin links ---</p></translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1203"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1218"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1237"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1296"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1465"/>
+        <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"/>
         <source>Enter new track name.</source>
         <translation>Introduzca el nombre del nuevo track.</translation>
@@ -6123,7 +6380,7 @@ Filename: %1</source>
         <translation>Objetos Perdidos (%1)</translation>
     </message>
     <message>
-        <location filename="../qlgt/converter.cpp" line="194"/>
+        <location filename="../qlgt/converter.cpp" line="195"/>
         <source>Copy flag information from QLandkarte GT track</source>
         <translation type="unfinished"></translation>
     </message>
@@ -6202,12 +6459,12 @@ Filename: %1</source>
         <translation>Velocidad modificada a %1%2.</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="1009"/>
+        <location filename="../gis/CGisListWks.cpp" line="1097"/>
         <source>Delete project...</source>
         <translation>Eliminar Proyecto...</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="1009"/>
+        <location filename="../gis/CGisListWks.cpp" line="1097"/>
         <source>Do you really want to delete %1?</source>
         <translation>¿Desea realmente eliminar %1?</translation>
     </message>
@@ -6269,5 +6526,95 @@ Filename: %1</source>
         <source>Enter new route name.</source>
         <translation type="unfinished"></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>
+    </message>
+    <message>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="35"/>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="95"/>
+        <source>Bicycle</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="42"/>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="96"/>
+        <source>Motor Bike</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="49"/>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="97"/>
+        <source>Car</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="56"/>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="98"/>
+        <source>Cable Car</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="63"/>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="99"/>
+        <source>Swim</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="70"/>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="100"/>
+        <source>Ship</source>
+        <translation type="unfinished"></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"/>
+        <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"/>
+        <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"/>
+        <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"/>
+        <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"/>
+        <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"/>
+        <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"/>
+        <source>Time Total:</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 </TS>
diff --git a/src/locale/qmapshack_fr.ts b/src/locale/qmapshack_fr.ts
index 894b7d1..968ea1a 100644
--- a/src/locale/qmapshack_fr.ts
+++ b/src/locale/qmapshack_fr.ts
@@ -4,20 +4,58 @@
 <context>
     <name>CAbout</name>
     <message>
-        <location filename="../CAbout.cpp" line="36"/>
-        <source>API Version %1 (expected %2)</source>
+        <location filename="../CAbout.cpp" line="38"/>
+        <source>%1 (API V%2, expected V%3)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../CAbout.cpp" line="42"/>
+        <source>%1 (API V%2)</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>CCanvas</name>
     <message>
-        <location filename="../canvas/CCanvas.cpp" line="65"/>
+        <location filename="../canvas/CCanvas.cpp" line="66"/>
         <source>View %1</source>
         <translation>Vue %1</translation>
     </message>
 </context>
 <context>
+    <name>CCommandProcessor</name>
+    <message>
+        <location filename="../helpers/CCommandProcessor.cpp" line="31"/>
+        <source>Print debug output to console.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../helpers/CCommandProcessor.cpp" line="34"/>
+        <source>Print debug output to logfile (temp. path).</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../helpers/CCommandProcessor.cpp" line="37"/>
+        <source>Do not show splash screen.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../helpers/CCommandProcessor.cpp" line="40"/>
+        <source>File with QMapShack configuration.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../helpers/CCommandProcessor.cpp" line="40"/>
+        <source>file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../helpers/CCommandProcessor.cpp" line="43"/>
+        <source>Files for future use.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>CDemList</name>
     <message>
         <location filename="../dem/CDemList.cpp" line="145"/>
@@ -81,24 +119,24 @@
 <context>
     <name>CDetailsGeoCache</name>
     <message>
-        <location filename="../gis/wpt/CDetailsGeoCache.cpp" line="63"/>
+        <location filename="../gis/wpt/CDetailsGeoCache.cpp" line="62"/>
         <source>none</source>
         <translatorcomment>...indice?</translatorcomment>
         <translation>aucun</translation>
     </message>
     <message>
-        <location filename="../gis/wpt/CDetailsGeoCache.cpp" line="63"/>
-        <location filename="../gis/wpt/CDetailsGeoCache.cpp" line="133"/>
+        <location filename="../gis/wpt/CDetailsGeoCache.cpp" line="62"/>
+        <location filename="../gis/wpt/CDetailsGeoCache.cpp" line="132"/>
         <source>???</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../gis/wpt/CDetailsGeoCache.cpp" line="160"/>
+        <location filename="../gis/wpt/CDetailsGeoCache.cpp" line="159"/>
         <source>Searching for images...</source>
         <translation>Recherche d'images...</translation>
     </message>
     <message>
-        <location filename="../gis/wpt/CDetailsGeoCache.cpp" line="265"/>
+        <location filename="../gis/wpt/CDetailsGeoCache.cpp" line="264"/>
         <source>No images found</source>
         <translation>Aucune image trouvée</translation>
     </message>
@@ -106,12 +144,12 @@
 <context>
     <name>CDetailsOvlArea</name>
     <message>
-        <location filename="../gis/ovl/CDetailsOvlArea.cpp" line="136"/>
+        <location filename="../gis/ovl/CDetailsOvlArea.cpp" line="135"/>
         <source>Edit name...</source>
         <translation>Éditer le nom...</translation>
     </message>
     <message>
-        <location filename="../gis/ovl/CDetailsOvlArea.cpp" line="136"/>
+        <location filename="../gis/ovl/CDetailsOvlArea.cpp" line="135"/>
         <source>Enter new area name.</source>
         <translation type="unfinished">Entrez le nom de la nouvelle surface.</translation>
     </message>
@@ -123,13 +161,13 @@
 <context>
     <name>CDetailsPrj</name>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="229"/>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="668"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="249"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="689"/>
         <source>none</source>
         <translation>aucun</translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="301"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="322"/>
         <source>Build diary...</source>
         <translation>Créer le journal...</translation>
     </message>
@@ -138,35 +176,35 @@
         <translation type="obsolete">Annuler</translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="376"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="397"/>
         <source><h2>Waypoints</h2></source>
         <translation><h2>Waypoints</h2></translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="383"/>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="409"/>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="513"/>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="603"/>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="633"/>
+        <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"/>
         <source>Info</source>
         <translation>Information</translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="384"/>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="410"/>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="514"/>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="604"/>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="634"/>
+        <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"/>
         <source>Comment</source>
         <translation>Commentaire</translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="402"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="423"/>
         <source><h2>Tracks</h2></source>
         <translation><h2>Traces</h2></translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="596"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="617"/>
         <source><h2>Areas</h2></source>
         <translation><h2>Surfaces</h2></translation>
     </message>
@@ -181,79 +219,54 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="347"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="377"/>
         <source><b>Summary over all tracks in project</b><br/></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="350"/>
-        <source>Total Distance:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="352"/>
-        <source>Total Ascend:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="354"/>
-        <source>Total Descend:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="356"/>
-        <source>Total Time:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="358"/>
-        <source>Total Time Moving:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="532"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="553"/>
         <source>distance: %1%2</source>
         <translation>distance : %1%2</translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="534"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="555"/>
         <source>ascent: %1%2</source>
         <translation>montée : %1%2</translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="536"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="557"/>
         <source>descend: %1%2</source>
         <translation>descente : %1%2</translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="626"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="647"/>
         <source><h2>Routes</h2></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="654"/>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="681"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="675"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="702"/>
         <source>Edit name...</source>
         <translation>Éditer le nom...</translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="654"/>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="681"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="675"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="702"/>
         <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="663"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="684"/>
         <source>Edit keywords...</source>
         <translation>Éditer les mots-clés...</translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="663"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="684"/>
         <source>Enter keywords.</source>
         <translation>Saisir les mots-clés.</translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="797"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="818"/>
         <source>Print Diary</source>
         <translation>Imprimer le journal</translation>
     </message>
@@ -274,60 +287,75 @@
 <context>
     <name>CDetailsTrk</name>
     <message>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="67"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="87"/>
         <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="80"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="100"/>
         <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="93"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="113"/>
         <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="106"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="126"/>
         <source>Cut track into pieces</source>
         <translation>Découper la trace</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="222"/>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="231"/>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="234"/>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="240"/>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="259"/>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="261"/>
+        <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"/>
         <source>%1 %2</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="395"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="457"/>
         <source>Edit name...</source>
         <translation>Éditer le nom...</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="395"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="457"/>
         <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"/>
+        <source>Reset activities...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="509"/>
+        <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"/>
+        <source>None</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>CDetailsWpt</name>
     <message>
-        <location filename="../gis/wpt/CDetailsWpt.cpp" line="158"/>
+        <location filename="../gis/wpt/CDetailsWpt.cpp" line="157"/>
         <source>Edit name...</source>
         <translation>Éditer le nom...</translation>
     </message>
     <message>
-        <location filename="../gis/wpt/CDetailsWpt.cpp" line="158"/>
+        <location filename="../gis/wpt/CDetailsWpt.cpp" line="157"/>
         <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="177"/>
+        <location filename="../gis/wpt/CDetailsWpt.cpp" line="176"/>
         <source>Enter new proximity range.</source>
         <translation type="unfinished">Entrez le rayon de l'alarme de proximité.</translation>
     </message>
@@ -413,17 +441,27 @@
 <context>
     <name>CGisListWks</name>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="99"/>
+        <location filename="../gis/CGisListWks.cpp" line="100"/>
         <source>Edit..</source>
         <translation>Éditer..</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="100"/>
+        <location filename="../gis/CGisListWks.cpp" line="101"/>
+        <source>Show on Map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/CGisListWks.cpp" line="102"/>
+        <source>Hide from Map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/CGisListWks.cpp" line="105"/>
         <source>Save As...</source>
         <translation>Enregistrer sous...</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="101"/>
+        <location filename="../gis/CGisListWks.cpp" line="104"/>
         <source>Save</source>
         <translation>Enregistrer</translation>
     </message>
@@ -432,140 +470,140 @@
         <translation type="obsolete">Mettre à jour le projet sur tous les appareils</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="102"/>
+        <location filename="../gis/CGisListWks.cpp" line="107"/>
         <source>Send to Devices</source>
         <translation>Envoyer vers les appareils</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="103"/>
+        <location filename="../gis/CGisListWks.cpp" line="109"/>
         <source>Close</source>
         <translation>Fermer</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="109"/>
+        <location filename="../gis/CGisListWks.cpp" line="115"/>
         <source>Update Project on Device</source>
         <translation>Mettre à jour le projet sur l'appareil</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="110"/>
-        <location filename="../gis/CGisListWks.cpp" line="131"/>
+        <location filename="../gis/CGisListWks.cpp" line="116"/>
+        <location filename="../gis/CGisListWks.cpp" line="137"/>
         <source>Delete</source>
         <translation>Supprimer</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="121"/>
+        <location filename="../gis/CGisListWks.cpp" line="127"/>
         <source>Edit...</source>
         <translation>Éditer...</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="122"/>
+        <location filename="../gis/CGisListWks.cpp" line="128"/>
         <source>Copy to...</source>
         <translation>Copier vers...</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="124"/>
+        <location filename="../gis/CGisListWks.cpp" line="130"/>
         <source>Track Profile</source>
         <translation>Profile de la trace</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="126"/>
+        <location filename="../gis/CGisListWks.cpp" line="132"/>
         <source>Select Range</source>
         <translation>Sélectionner des points</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="127"/>
+        <location filename="../gis/CGisListWks.cpp" line="133"/>
         <source>Edit Track Points</source>
         <translation>Éditer les points de la trace</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="128"/>
+        <location filename="../gis/CGisListWks.cpp" line="134"/>
         <source>Reverse Track</source>
         <translation>Inverser la trace</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="129"/>
+        <location filename="../gis/CGisListWks.cpp" line="135"/>
         <source>Combine Tracks</source>
         <translation>Joindre des traces</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="137"/>
+        <location filename="../gis/CGisListWks.cpp" line="143"/>
         <source>Show Bubble</source>
         <translation>Afficher la bulle</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="139"/>
+        <location filename="../gis/CGisListWks.cpp" line="145"/>
         <source>Move Waypoint</source>
         <translation>Déplacer le waypoint</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="140"/>
+        <location filename="../gis/CGisListWks.cpp" line="146"/>
         <source>Proj. Waypoint...</source>
         <translation>Projection du waypoint...</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="148"/>
+        <location filename="../gis/CGisListWks.cpp" line="154"/>
         <source>Route Instructions</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="150"/>
+        <location filename="../gis/CGisListWks.cpp" line="156"/>
         <source>Calculate Route</source>
         <translation>Calculer l'itinéraire</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="151"/>
+        <location filename="../gis/CGisListWks.cpp" line="157"/>
         <source>Reset Route</source>
         <translation>Réinitialiser la route</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="152"/>
+        <location filename="../gis/CGisListWks.cpp" line="158"/>
         <source>Edit Route</source>
         <translation>Éditer la route</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="161"/>
+        <location filename="../gis/CGisListWks.cpp" line="167"/>
         <source>Edit Area Points</source>
         <translation>Éditer les points de la surface</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="168"/>
+        <location filename="../gis/CGisListWks.cpp" line="174"/>
         <source>Create Route</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="592"/>
+        <location filename="../gis/CGisListWks.cpp" line="613"/>
         <source>Drop items...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="719"/>
+        <location filename="../gis/CGisListWks.cpp" line="740"/>
         <source>Saving workspace. Please wait.</source>
         <translation>Sauvegarde de l'espace de travail. Patientez.</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="763"/>
+        <location filename="../gis/CGisListWks.cpp" line="787"/>
         <source>Loading workspace. Please wait.</source>
         <translation>Chargement de l'espace de travail. Patientez.</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="973"/>
+        <location filename="../gis/CGisListWks.cpp" line="1061"/>
         <source>Close all projects...</source>
         <translation>Fermer tous les projets...</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="973"/>
+        <location filename="../gis/CGisListWks.cpp" line="1061"/>
         <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="1177"/>
+        <location filename="../gis/CGisListWks.cpp" line="1265"/>
         <source>Copy items...</source>
         <translation type="unfinished">Copier les éléments...</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="617"/>
-        <location filename="../gis/CGisListWks.cpp" line="1455"/>
-        <location filename="../gis/CGisListWks.cpp" line="1493"/>
+        <location filename="../gis/CGisListWks.cpp" line="638"/>
+        <location filename="../gis/CGisListWks.cpp" line="1543"/>
+        <location filename="../gis/CGisListWks.cpp" line="1581"/>
         <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>
@@ -653,27 +691,27 @@
 <context>
     <name>CMainWindow</name>
     <message>
-        <location filename="../CMainWindow.cpp" line="579"/>
+        <location filename="../CMainWindow.cpp" line="589"/>
         <source>Ele: %1%2</source>
         <translation>Altitude: %1%2</translation>
     </message>
     <message>
-        <location filename="../CMainWindow.cpp" line="595"/>
+        <location filename="../CMainWindow.cpp" line="605"/>
         <source>[Grid: %1]</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../CMainWindow.cpp" line="710"/>
+        <location filename="../CMainWindow.cpp" line="726"/>
         <source>Load GIS Data...</source>
         <translation>Charger des données SIG...</translation>
     </message>
     <message>
-        <location filename="../CMainWindow.cpp" line="744"/>
+        <location filename="../CMainWindow.cpp" line="760"/>
         <source>Select output file</source>
         <translation>Sélectionner le fichier de sortie</translation>
     </message>
     <message>
-        <location filename="../CMainWindow.cpp" line="770"/>
+        <location filename="../CMainWindow.cpp" line="786"/>
         <source>Select file to load</source>
         <translation>Sélectionner le fichier à charger</translation>
     </message>
@@ -1416,18 +1454,19 @@
 <context>
     <name>CMapTMS</name>
     <message>
-        <location filename="../map/CMapTMS.cpp" line="70"/>
-        <location filename="../map/CMapTMS.cpp" line="80"/>
+        <location filename="../map/CMapTMS.cpp" line="71"/>
+        <location filename="../map/CMapTMS.cpp" line="81"/>
+        <location filename="../map/CMapTMS.cpp" line="140"/>
         <source>Error...</source>
         <translation>Erreur...</translation>
     </message>
     <message>
-        <location filename="../map/CMapTMS.cpp" line="70"/>
+        <location filename="../map/CMapTMS.cpp" line="71"/>
         <source>Failed to open %1</source>
         <translation>Impossible d'ouvrir : </translation>
     </message>
     <message>
-        <location filename="../map/CMapTMS.cpp" line="80"/>
+        <location filename="../map/CMapTMS.cpp" line="81"/>
         <source>Failed to read: %1
 line %2, column %3:
  %4</source>
@@ -1436,12 +1475,17 @@ ligne %2, colonne %3:
 %4</translation>
     </message>
     <message>
-        <location filename="../map/CMapTMS.cpp" line="118"/>
+        <location filename="../map/CMapTMS.cpp" line="119"/>
         <source>Layer %1</source>
         <translation>Calque %1</translation>
     </message>
     <message>
-        <location filename="../map/CMapTMS.cpp" line="289"/>
+        <location filename="../map/CMapTMS.cpp" line="134"/>
+        <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"/>
         <source><b>%1</b>: %2 tiles pending<br/></source>
         <translation><b>%1</b>: %2 tuiles à charger<br/></translation>
     </message>
@@ -1505,21 +1549,22 @@ ligne %2, colonne %3:
 <context>
     <name>CMapWMTS</name>
     <message>
-        <location filename="../map/CMapWMTS.cpp" line="45"/>
-        <location filename="../map/CMapWMTS.cpp" line="55"/>
-        <location filename="../map/CMapWMTS.cpp" line="65"/>
-        <location filename="../map/CMapWMTS.cpp" line="74"/>
-        <location filename="../map/CMapWMTS.cpp" line="206"/>
+        <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"/>
         <source>Error...</source>
         <translation>Erreur...</translation>
     </message>
     <message>
-        <location filename="../map/CMapWMTS.cpp" line="45"/>
+        <location filename="../map/CMapWMTS.cpp" line="46"/>
         <source>Failed to open %1</source>
         <translation>Impossible d'ouvrir %1</translation>
     </message>
     <message>
-        <location filename="../map/CMapWMTS.cpp" line="55"/>
+        <location filename="../map/CMapWMTS.cpp" line="56"/>
         <source>Failed to read: %1
 line %2, column %3:
  %4</source>
@@ -1528,24 +1573,29 @@ ligne %2, colonne %3:
 %4</translation>
     </message>
     <message>
-        <location filename="../map/CMapWMTS.cpp" line="65"/>
+        <location filename="../map/CMapWMTS.cpp" line="66"/>
         <source>Failed to read: %1
 Unknown structure.</source>
         <translation>Impossible de lire: %1
 Structure inconnue.</translation>
     </message>
     <message>
-        <location filename="../map/CMapWMTS.cpp" line="74"/>
+        <location filename="../map/CMapWMTS.cpp" line="75"/>
         <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>
     </message>
     <message>
-        <location filename="../map/CMapWMTS.cpp" line="206"/>
+        <location filename="../map/CMapWMTS.cpp" line="154"/>
+        <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"/>
         <source>No georeference information found.</source>
         <translation>Aucune information de géoréférencement trouvé</translation>
     </message>
     <message>
-        <location filename="../map/CMapWMTS.cpp" line="392"/>
+        <location filename="../map/CMapWMTS.cpp" line="416"/>
         <source><b>%1</b>: %2 tiles pending<br/></source>
         <translation><b>%1</b>: %2 tuiles à charger<br/></translation>
     </message>
@@ -1613,37 +1663,45 @@ Structure inconnue.</translation>
 <context>
     <name>CMouseNormal</name>
     <message>
-        <location filename="../mouse/CMouseNormal.cpp" line="42"/>
+        <location filename="../mouse/CMouseNormal.cpp" line="41"/>
         <source>Add Waypoint</source>
         <translation>Ajouter un waypoint</translation>
     </message>
     <message>
-        <location filename="../mouse/CMouseNormal.cpp" line="43"/>
+        <location filename="../mouse/CMouseNormal.cpp" line="42"/>
         <source>Add Track</source>
         <translation>Ajouter une trace</translation>
     </message>
     <message>
-        <location filename="../mouse/CMouseNormal.cpp" line="44"/>
+        <location filename="../mouse/CMouseNormal.cpp" line="43"/>
         <source>Add Route</source>
         <translation>Ajouter une route</translation>
     </message>
     <message>
-        <location filename="../mouse/CMouseNormal.cpp" line="45"/>
+        <location filename="../mouse/CMouseNormal.cpp" line="44"/>
         <source>Add Area</source>
         <translation>Ajouter une surface</translation>
     </message>
     <message>
-        <location filename="../mouse/CMouseNormal.cpp" line="48"/>
+        <location filename="../mouse/CMouseNormal.cpp" line="47"/>
         <source>Copy position</source>
         <translation>Copier la position</translation>
     </message>
     <message>
-        <location filename="../mouse/CMouseNormal.cpp" line="49"/>
+        <location filename="../mouse/CMouseNormal.cpp" line="48"/>
         <source>Copy position (Grid)</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
+    <name>CMousePrint</name>
+    <message>
+        <location filename="../mouse/CMousePrint.cpp" line="38"/>
+        <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>
+</context>
+<context>
     <name>CMouseRangeTrk</name>
     <message>
         <location filename="../mouse/CMouseRangeTrk.cpp" line="44"/>
@@ -1714,6 +1772,48 @@ Structure inconnue.</translation>
     </message>
 </context>
 <context>
+    <name>CPrintDialog</name>
+    <message>
+        <location filename="../print/CPrintDialog.cpp" line="68"/>
+        <source>Print Map...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../print/CPrintDialog.cpp" line="75"/>
+        <source>Save Map as Image...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../print/CPrintDialog.cpp" line="95"/>
+        <source>Printer Properties...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../print/CPrintDialog.cpp" line="170"/>
+        <source>Pages: %1 x %2</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../print/CPrintDialog.cpp" line="171"/>
+        <source>Zoom with mouse wheel on map below to change resolution:
+
+%1x%2 pixel
+x: %3 m/px
+y: %4 m/px</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../print/CPrintDialog.cpp" line="217"/>
+        <source>Printing pages.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../print/CPrintDialog.cpp" line="259"/>
+        <source>Save map...</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>CProgressDialog</name>
     <message>
         <location filename="../helpers/CProgressDialog.cpp" line="40"/>
@@ -2044,42 +2144,42 @@ 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="82"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="89"/>
         <source>Foot</source>
         <translation>à pied</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="83"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="90"/>
         <source>Horse</source>
         <translation>à cheval</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="84"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="91"/>
         <source>Wheelchair</source>
         <translation>en fauteuil roulant</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="85"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="92"/>
         <source>Bicycle</source>
         <translation>Vélo</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="86"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="93"/>
         <source>Moped</source>
         <translation>Cyclomoteur</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="87"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="94"/>
         <source>Motorcycle</source>
         <translation>Moto</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="88"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="95"/>
         <source>Motorcar</source>
         <translation>Voiture</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="89"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="96"/>
         <source>Goods</source>
         <translation>Camion</translation>
     </message>
@@ -2099,169 +2199,169 @@ n'est pas une définition de système de coordonnées:
         <translation>le plus rapide</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="91"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="98"/>
         <source>English</source>
         <translation type="unfinished">Anglais</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="92"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="99"/>
         <source>German</source>
         <translation type="unfinished">Deutsch</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="93"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="100"/>
         <source>French</source>
         <translation type="unfinished">Français</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="94"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="101"/>
         <source>Hungarian</source>
         <translation type="unfinished">Hongrois</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="95"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="102"/>
         <source>Dutch</source>
         <translation type="unfinished">Néerlandais</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="96"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="103"/>
         <source>Russian</source>
         <translation type="unfinished">Russe</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="97"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="104"/>
         <source>Polish</source>
         <translation type="unfinished">Polonais</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="132"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="139"/>
         <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="135"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="142"/>
         <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="138"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="145"/>
         <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="141"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="148"/>
         <source>The specified database to load did not exist.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="144"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="151"/>
         <source>The specified database could not be loaded.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="147"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="154"/>
         <source>The specified profiles XML file did not exist.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="150"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="157"/>
         <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="153"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="160"/>
         <source>The specified translations XML file did not exist.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="156"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="163"/>
         <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="159"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="166"/>
         <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="162"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="169"/>
         <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="165"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="172"/>
         <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="168"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="175"/>
         <source>The profile and database do not work together.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="171"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="178"/>
         <source>The profile being used has not been validated.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="174"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="181"/>
         <source>The user specified profile contained invalid data.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="177"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="184"/>
         <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="180"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="187"/>
         <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="183"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="190"/>
         <source>Route calculation was aborted by user.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="189"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="196"/>
         <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="192"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="199"/>
         <source>Unknown error: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="204"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="211"/>
         <source>profile "%1"</source>
         <translation>profile "%1"</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="205"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="212"/>
         <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="242"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="249"/>
         <source>Warning...</source>
         <translation type="unfinished">Avertissement...</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="242"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="249"/>
         <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="346"/>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="433"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="353"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="440"/>
         <source>Calculate route with %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="354"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="361"/>
         <source><br/>Calculation time: %1s</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2390,91 +2490,121 @@ n'est pas une définition de système de coordonnées:
         <translation>À propos...</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="43"/>
+        <location filename="../IAbout.ui" line="49"/>
         <source><b>QMapShack</b>, Version</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="50"/>
-        <location filename="../IAbout.ui" line="94"/>
-        <location filename="../IAbout.ui" line="108"/>
-        <location filename="../IAbout.ui" line="122"/>
-        <location filename="../IAbout.ui" line="136"/>
+        <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"/>
         <source>TextLabel</source>
         <translation>Libellé</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="87"/>
+        <location filename="../IAbout.ui" line="93"/>
         <source>Qt</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="101"/>
+        <location filename="../IAbout.ui" line="107"/>
         <source>GDAL</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="115"/>
+        <location filename="../IAbout.ui" line="121"/>
         <source>Proj4</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="129"/>
+        <location filename="../IAbout.ui" line="135"/>
         <source>Routino</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="154"/>
+        <location filename="../IAbout.ui" line="160"/>
         <source>Rainer Unseld </source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="161"/>
+        <location filename="../IAbout.ui" line="167"/>
         <source>French</source>
         <translation>Français</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="168"/>
+        <location filename="../IAbout.ui" line="174"/>
         <source>Czech</source>
         <translation>Tchèque</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="175"/>
+        <location filename="../IAbout.ui" line="181"/>
         <source>Pavel Fric</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="182"/>
+        <location filename="../IAbout.ui" line="188"/>
         <source>German</source>
         <translation>Deutsch</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="189"/>
+        <location filename="../IAbout.ui" line="195"/>
         <source>Translation:</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="196"/>
+        <location filename="../IAbout.ui" line="202"/>
         <source>Josef Latt</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="203"/>
+        <location filename="../IAbout.ui" line="209"/>
         <source>Spanish</source>
         <translation>Espagnol</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="210"/>
+        <location filename="../IAbout.ui" line="216"/>
         <source>Jose Luis Domingo Lopez</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="226"/>
+        <location filename="../IAbout.ui" line="234"/>
+        <source>Ivo Kronenberg</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../IAbout.ui" line="241"/>
+        <source>Helmut Schmidt</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../IAbout.ui" line="248"/>
+        <source>Win64</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../IAbout.ui" line="255"/>
+        <source>OS X</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../IAbout.ui" line="262"/>
+        <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>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../IAbout.ui" line="291"/>
         <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="233"/>
+        <location filename="../IAbout.ui" line="298"/>
         <source>© 2014 Oliver Eichler (oliver.eichler at gmx.de)</source>
         <translation></translation>
     </message>
@@ -2529,6 +2659,29 @@ n'est pas une définition de système de coordonnées:
     </message>
 </context>
 <context>
+    <name>ICoordFormatSetup</name>
+    <message>
+        <location filename="../units/ICoordFormatSetup.ui" line="14"/>
+        <source>Coordinate Format...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../units/ICoordFormatSetup.ui" line="22"/>
+        <source>N48° 53.660 E013° 31.113</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../units/ICoordFormatSetup.ui" line="29"/>
+        <source>N48.8943° E013.51855°</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../units/ICoordFormatSetup.ui" line="36"/>
+        <source>N48° 53' 39.6" E13° 31' 6.78"</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>ICreateRouteFromWpt</name>
     <message>
         <location filename="../gis/rte/ICreateRouteFromWpt.ui" line="14"/>
@@ -2910,7 +3063,7 @@ n'est pas une définition de système de coordonnées:
     </message>
     <message>
         <location filename="../gis/trk/IDetailsTrk.ui" line="231"/>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="473"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="545"/>
         <source>Speed</source>
         <translation>Vitesse</translation>
     </message>
@@ -2941,56 +3094,66 @@ n'est pas une définition de système de coordonnées:
     </message>
     <message>
         <location filename="../gis/trk/IDetailsTrk.ui" line="405"/>
+        <source>Activity</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="450"/>
+        <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"/>
         <source>Points</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="453"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="525"/>
         <source>Time</source>
         <translation>Durée</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="458"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="530"/>
         <source>Ele.</source>
         <translation>Alt.</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="463"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="535"/>
         <source>Delta</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="468"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="540"/>
         <source>Dist.</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="478"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="550"/>
         <source>Slope</source>
         <translation>Pente</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="483"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="555"/>
         <source>Ascend</source>
         <translation>Montée</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="488"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="560"/>
         <source>Descend</source>
         <translation>Descente</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="493"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="565"/>
         <source>Position</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="502"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="574"/>
         <source>Filter</source>
         <translation>Filtre</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="539"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="611"/>
         <source>Hist.</source>
         <translation></translation>
     </message>
@@ -3509,278 +3672,313 @@ n'est pas une définition de système de coordonnées:
         <translation>Fichier</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="78"/>
+        <location filename="../IMainWindow.ui" line="80"/>
         <source>View</source>
         <translation>Vue</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="99"/>
+        <location filename="../IMainWindow.ui" line="102"/>
         <source>Window</source>
         <translation>Fenêtre</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="104"/>
+        <location filename="../IMainWindow.ui" line="107"/>
         <source>?</source>
         <translation>?</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="111"/>
+        <location filename="../IMainWindow.ui" line="114"/>
         <source>Project</source>
         <translation>Projet</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="121"/>
+        <location filename="../IMainWindow.ui" line="124"/>
         <source>Tool</source>
         <translation>Outils</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="146"/>
+        <location filename="../IMainWindow.ui" line="149"/>
         <source>Maps</source>
         <translation>Cartes</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="189"/>
+        <location filename="../IMainWindow.ui" line="192"/>
         <source>Dig. Elev. Model (DEM)</source>
         <translation>Modèle numérique de terrain (DEM)</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="228"/>
+        <location filename="../IMainWindow.ui" line="231"/>
         <source>Data</source>
         <translation>Données</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="246"/>
+        <location filename="../IMainWindow.ui" line="249"/>
         <source>Route</source>
         <translation>Calcul d'itinéraire</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="280"/>
         <location filename="../IMainWindow.ui" line="283"/>
+        <location filename="../IMainWindow.ui" line="286"/>
         <source>Add Map View</source>
         <translation>Ajouter une vue cartographique</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="286"/>
+        <location filename="../IMainWindow.ui" line="289"/>
         <source>Ctrl+T</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="298"/>
+        <location filename="../IMainWindow.ui" line="301"/>
         <source>Show Scale</source>
         <translation>Afficher l'échelle</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="307"/>
+        <location filename="../IMainWindow.ui" line="310"/>
         <source>Setup Map Font</source>
         <translation>Configurer la police de la carte</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="319"/>
+        <location filename="../IMainWindow.ui" line="322"/>
         <source>Show Grid</source>
         <translation>Afficher la grille</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="322"/>
+        <location filename="../IMainWindow.ui" line="325"/>
         <source>Ctrl+G</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="331"/>
+        <location filename="../IMainWindow.ui" line="334"/>
         <source>Setup Grid</source>
         <translation>Configurer la grille</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="334"/>
+        <location filename="../IMainWindow.ui" line="337"/>
         <source>Ctrl+Alt+G</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="346"/>
+        <location filename="../IMainWindow.ui" line="349"/>
         <source>Flip Mouse Wheel</source>
         <translation>Inverser le sens de la molette de souris</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="355"/>
         <location filename="../IMainWindow.ui" line="358"/>
+        <location filename="../IMainWindow.ui" line="361"/>
         <source>Setup Map Paths</source>
         <translation>Configurer les répertoires des cartes</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="370"/>
+        <location filename="../IMainWindow.ui" line="373"/>
         <source>POI Text</source>
         <translation>Libellés des points d'interêt</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="382"/>
+        <location filename="../IMainWindow.ui" line="385"/>
         <source>Night / Day</source>
         <translation>Jour / Nuit</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="394"/>
+        <location filename="../IMainWindow.ui" line="397"/>
         <source>Map Tool Tip</source>
         <translation>Infobulles sur la carte</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="403"/>
+        <location filename="../IMainWindow.ui" line="400"/>
+        <source>Ctrl+I</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../IMainWindow.ui" line="409"/>
         <source>Setup DEM Paths</source>
         <translation>Configurer les répertoires DEM</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="412"/>
+        <location filename="../IMainWindow.ui" line="418"/>
         <source>About</source>
         <translation>À propos</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="421"/>
+        <location filename="../IMainWindow.ui" line="427"/>
         <source>Help</source>
         <translation>Aide</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="430"/>
-        <location filename="../IMainWindow.ui" line="433"/>
+        <location filename="../IMainWindow.ui" line="436"/>
+        <location filename="../IMainWindow.ui" line="439"/>
         <source>Setup Map View</source>
         <translation>Configurer la vue cartographique</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="442"/>
+        <location filename="../IMainWindow.ui" line="448"/>
         <source>Load GIS Data</source>
         <translation>Charger des données SIG...</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="445"/>
+        <location filename="../IMainWindow.ui" line="451"/>
         <source>Load projects from file</source>
         <translation>Charger un fichier projet</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="448"/>
+        <location filename="../IMainWindow.ui" line="454"/>
         <source>Ctrl+L</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="457"/>
+        <location filename="../IMainWindow.ui" line="463"/>
         <source>Save All GIS Data</source>
         <translation>Enregistrer toutes les données SIG</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="460"/>
+        <location filename="../IMainWindow.ui" line="466"/>
         <source>Save all projects in the workspace</source>
         <translation>Enregistrer tous les projets de l'espace de travail</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="463"/>
+        <location filename="../IMainWindow.ui" line="469"/>
         <source>Ctrl+S</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="472"/>
+        <location filename="../IMainWindow.ui" line="478"/>
         <source>Setup Time Zone</source>
         <translation>Configurer le fuseau horaire</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="481"/>
+        <location filename="../IMainWindow.ui" line="487"/>
         <source>Add empty project</source>
         <translation>Ajouter un projet vide</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="493"/>
+        <location filename="../IMainWindow.ui" line="499"/>
         <source>Search Google</source>
         <translation>Recherche Google</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="502"/>
+        <location filename="../IMainWindow.ui" line="508"/>
         <source>Close all projects</source>
         <translation>Fermer tous les projets</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="505"/>
+        <location filename="../IMainWindow.ui" line="511"/>
         <source>F8</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="514"/>
+        <location filename="../IMainWindow.ui" line="520"/>
         <source>Setup Units</source>
         <translation>Configurer les unités</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="523"/>
+        <location filename="../IMainWindow.ui" line="529"/>
         <source>Setup Workspace</source>
         <translation>Configurer l'espace de travail</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="526"/>
+        <location filename="../IMainWindow.ui" line="532"/>
         <source>Setup save on exit.</source>
         <translation>Sauvegarde de la configuration en quittant</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="535"/>
+        <location filename="../IMainWindow.ui" line="541"/>
         <source>Import Database from QLandkarte</source>
         <translation>Importer une base de données QLandkarte</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="538"/>
+        <location filename="../IMainWindow.ui" line="544"/>
         <source>Import QLandkarte GT database</source>
         <translation>Importer une base de données QLandkarte GT</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="547"/>
+        <location filename="../IMainWindow.ui" line="553"/>
         <source>VRT Builder</source>
         <translation>Générateur de VRT</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="550"/>
+        <location filename="../IMainWindow.ui" line="556"/>
         <source>GUI front end to gdalbuildvrt</source>
         <translation>Interface utilisateur pour gdalbuildvrt</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="559"/>
+        <location filename="../IMainWindow.ui" line="565"/>
         <source>Store Map View</source>
         <translation>Enregistrer une vue cartographique</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="562"/>
+        <location filename="../IMainWindow.ui" line="568"/>
         <source>Write current active map and DEM list including the properties to a file</source>
         <translation>Sauvegarder les cartes et calques DEM actives et leurs paramètres dans un fichier</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="571"/>
+        <location filename="../IMainWindow.ui" line="577"/>
         <source>Load Map View</source>
         <translation>Charger une vue cartographique</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="574"/>
+        <location filename="../IMainWindow.ui" line="580"/>
         <source>Restore view with active map and DEM list including the properties from a file</source>
         <translation>Rétablir une vue avec les cartes et calques DEM et leurs paramètres à partir d'un fichier</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="586"/>
+        <location filename="../IMainWindow.ui" line="592"/>
         <source>Ext. Profile</source>
         <translation>Profile externe</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="589"/>
+        <location filename="../IMainWindow.ui" line="595"/>
         <source>Ctrl+E</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="598"/>
+        <location filename="../IMainWindow.ui" line="604"/>
         <source>Close</source>
         <translation>Fermer</translation>
     </message>
     <message>
         <location filename="../IMainWindow.ui" line="607"/>
+        <source>Ctrl+Q</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../IMainWindow.ui" line="616"/>
         <source>Clone Map View</source>
         <translation>Dupliquer une vue cartographique</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="610"/>
+        <location filename="../IMainWindow.ui" line="619"/>
         <source>Ctrl+Shift+T</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="619"/>
+        <location filename="../IMainWindow.ui" line="628"/>
         <source>Create Routino Database</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../IMainWindow.ui" line="637"/>
+        <source>Save(Print) Map Screenshot</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../IMainWindow.ui" line="640"/>
+        <source>Print a selected area of the map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../IMainWindow.ui" line="643"/>
+        <source>Ctrl+P</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../IMainWindow.ui" line="652"/>
+        <source>Setup Coord. Format</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../IMainWindow.ui" line="655"/>
+        <source>Change the format coordinates are displayed</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>IMapList</name>
@@ -3967,62 +4165,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="242"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="253"/>
         <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="283"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="293"/>
         <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="292"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="302"/>
         <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="301"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="311"/>
         <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="310"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="320"/>
         <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="319"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="329"/>
         <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="324"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="334"/>
         <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="329"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="339"/>
         <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="485"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="498"/>
         <source><b>%1 Metrics</b></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mouse/line/IMouseEditLine.cpp" line="488"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="501"/>
         <source>Distance:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mouse/line/IMouseEditLine.cpp" line="490"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="503"/>
         <source>Ascend:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mouse/line/IMouseEditLine.cpp" line="492"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="505"/>
         <source>Descend:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4044,23 +4242,28 @@ Je n'ai pas envie de lire la documentation !</translation>
 <context>
     <name>IPlot</name>
     <message>
-        <location filename="../plot/IPlot.cpp" line="108"/>
+        <location filename="../plot/IPlot.cpp" line="110"/>
+        <source>Reset Zoom</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../plot/IPlot.cpp" line="111"/>
         <source>Stop Range</source>
         <translatorcomment>tbc: range</translatorcomment>
         <translation>Terminer la série</translation>
     </message>
     <message>
-        <location filename="../plot/IPlot.cpp" line="109"/>
+        <location filename="../plot/IPlot.cpp" line="112"/>
         <source>Save...</source>
         <translation>Enregistrer...</translation>
     </message>
     <message>
-        <location filename="../plot/IPlot.cpp" line="602"/>
+        <location filename="../plot/IPlot.cpp" line="630"/>
         <source>No or bad data.</source>
         <translation>Aucune donnée ou données invalides.</translation>
     </message>
     <message>
-        <location filename="../plot/IPlot.cpp" line="1128"/>
+        <location filename="../plot/IPlot.cpp" line="1215"/>
         <source>Select output file</source>
         <translation>Sélectionner le fichier de sortie</translation>
     </message>
@@ -4087,6 +4290,31 @@ or
     </message>
 </context>
 <context>
+    <name>IPrintDialog</name>
+    <message>
+        <location filename="../print/IPrintDialog.ui" line="20"/>
+        <source>Print map...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../print/IPrintDialog.ui" line="50"/>
+        <source>Save</source>
+        <translation type="unfinished">Enregistrer</translation>
+    </message>
+    <message>
+        <location filename="../print/IPrintDialog.ui" line="69"/>
+        <location filename="../print/IPrintDialog.ui" line="82"/>
+        <location filename="../print/IPrintDialog.ui" line="131"/>
+        <source>TextLabel</source>
+        <translation type="unfinished">Libellé</translation>
+    </message>
+    <message>
+        <location filename="../print/IPrintDialog.ui" line="98"/>
+        <source>Print</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>IProgressDialog</name>
     <message>
         <location filename="../helpers/IProgressDialog.ui" line="14"/>
@@ -4627,6 +4855,7 @@ or
         <location filename="../mouse/IScrOptRangeTrk.ui" line="43"/>
         <location filename="../mouse/IScrOptRangeTrk.ui" line="57"/>
         <location filename="../mouse/IScrOptRangeTrk.ui" line="71"/>
+        <location filename="../mouse/IScrOptRangeTrk.ui" line="85"/>
         <source>...</source>
         <translation></translation>
     </message>
@@ -4637,11 +4866,16 @@ or
     </message>
     <message>
         <location filename="../mouse/IScrOptRangeTrk.ui" line="68"/>
+        <source>Select an activity for the selected range.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../mouse/IScrOptRangeTrk.ui" line="82"/>
         <source>Copy track points as new track.</source>
         <translation>Créer une nouvelle trace à partir des points sélectionnés</translation>
     </message>
     <message>
-        <location filename="../mouse/IScrOptRangeTrk.ui" line="103"/>
+        <location filename="../mouse/IScrOptRangeTrk.ui" line="117"/>
         <source>TextLabel</source>
         <translation>Libellé</translation>
     </message>
@@ -4870,6 +5104,19 @@ or
     </message>
 </context>
 <context>
+    <name>ISelectActivity</name>
+    <message>
+        <location filename="../gis/trk/ISelectActivity.ui" line="14"/>
+        <source>Activities...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/ISelectActivity.ui" line="20"/>
+        <source>Select one:</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>ISelectCopyAction</name>
     <message>
         <location filename="../helpers/ISelectCopyAction.ui" line="14"/>
@@ -5372,18 +5619,18 @@ or
         <translation>Image%1</translation>
     </message>
     <message>
-        <location filename="../GeoMath.cpp" line="169"/>
-        <location filename="../GeoMath.cpp" line="175"/>
+        <location filename="../units/IUnit.cpp" line="745"/>
+        <location filename="../units/IUnit.cpp" line="751"/>
         <source>Error</source>
         <translation>Erreur</translation>
     </message>
     <message>
-        <location filename="../GeoMath.cpp" line="169"/>
+        <location filename="../units/IUnit.cpp" line="745"/>
         <source>Bad position format. Must be: "[N|S] ddd mm.sss [W|E] ddd mm.sss" or "[N|S] ddd.ddd [W|E] ddd.ddd"</source>
         <translation>Mauvais format de position. Formats valides: "[N|S] ddd mm.sss [W|E] ddd mm.sss" ou "[N|S] ddd.ddd [W|E] ddd.ddd" </translation>
     </message>
     <message>
-        <location filename="../GeoMath.cpp" line="175"/>
+        <location filename="../units/IUnit.cpp" line="751"/>
         <source>Position values out of bounds. </source>
         <translation>Valeurs de la position hors de la plage autorisée.</translation>
     </message>
@@ -5394,17 +5641,17 @@ or
     </message>
     <message>
         <location filename="../gis/CGisListDB.cpp" line="438"/>
-        <location filename="../gis/prj/IGisProject.cpp" line="436"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="439"/>
         <source>Delete...</source>
         <translation>Supprimer...</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="1009"/>
+        <location filename="../gis/CGisListWks.cpp" line="1097"/>
         <source>Delete project...</source>
         <translation>Supprimer le projet</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="1009"/>
+        <location filename="../gis/CGisListWks.cpp" line="1097"/>
         <source>Do you really want to delete %1?</source>
         <translation>Êtes-vous sûr de vouloir supprimer %1?</translation>
     </message>
@@ -5502,17 +5749,17 @@ ligne %2, colonne %3:
         <translation>Impossible d'enregistrer les données SIG...</translation>
     </message>
     <message>
-        <location filename="../gis/gpx/serialization.cpp" line="599"/>
+        <location filename="../gis/gpx/serialization.cpp" line="691"/>
         <source>Archived</source>
         <translation>Archivé</translation>
     </message>
     <message>
-        <location filename="../gis/gpx/serialization.cpp" line="603"/>
+        <location filename="../gis/gpx/serialization.cpp" line="695"/>
         <source>Available</source>
         <translation>Disponible</translation>
     </message>
     <message>
-        <location filename="../gis/gpx/serialization.cpp" line="607"/>
+        <location filename="../gis/gpx/serialization.cpp" line="699"/>
         <source>Not Available</source>
         <translation>Non disponible</translation>
     </message>
@@ -5531,18 +5778,18 @@ ligne %2, colonne %3:
         <translation>Mode lecture seule</translation>
     </message>
     <message>
-        <location filename="../gis/IGisItem.cpp" line="668"/>
+        <location filename="../gis/IGisItem.cpp" line="667"/>
         <source><h4>Comment:</h4></source>
         <translation><h4>Commentaire:</h4></translation>
     </message>
     <message>
-        <location filename="../gis/IGisItem.cpp" line="671"/>
+        <location filename="../gis/IGisItem.cpp" line="670"/>
         <source><p>--- no comment ---</p></source>
         <translation><p>--- pas de commentaire ---</p></translation>
     </message>
     <message>
-        <location filename="../gis/IGisItem.cpp" line="654"/>
-        <location filename="../gis/IGisItem.cpp" line="713"/>
+        <location filename="../gis/IGisItem.cpp" line="653"/>
+        <location filename="../gis/IGisItem.cpp" line="712"/>
         <source><h4>Description:</h4></source>
         <translation></translation>
     </message>
@@ -5557,20 +5804,20 @@ ligne %2, colonne %3:
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/IGisItem.cpp" line="657"/>
-        <location filename="../gis/IGisItem.cpp" line="716"/>
+        <location filename="../gis/IGisItem.cpp" line="656"/>
+        <location filename="../gis/IGisItem.cpp" line="715"/>
         <source><p>--- no description ---</p></source>
         <translation><p>--- pas de description ---</p></translation>
     </message>
     <message>
-        <location filename="../gis/IGisItem.cpp" line="682"/>
-        <location filename="../gis/IGisItem.cpp" line="727"/>
+        <location filename="../gis/IGisItem.cpp" line="681"/>
+        <location filename="../gis/IGisItem.cpp" line="726"/>
         <source><h4>Links:</h4></source>
         <translation><h4>Liens:</h4></translation>
     </message>
     <message>
-        <location filename="../gis/IGisItem.cpp" line="685"/>
-        <location filename="../gis/IGisItem.cpp" line="730"/>
+        <location filename="../gis/IGisItem.cpp" line="684"/>
+        <location filename="../gis/IGisItem.cpp" line="729"/>
         <source><p>--- no links ---</p></source>
         <translation><p>--- pas de liens ---</p></translation>
     </message>
@@ -5597,7 +5844,7 @@ ligne %2, colonne %3:
     <message>
         <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="142"/>
         <location filename="../gis/rte/CGisItemRte.cpp" line="67"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="184"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="193"/>
         <location filename="../gis/wpt/CGisItemWpt.cpp" line="130"/>
         <source>_Clone</source>
         <translation>_Clone</translation>
@@ -5646,28 +5893,28 @@ ligne %2, colonne %3:
     <message>
         <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="552"/>
         <location filename="../gis/rte/CGisItemRte.cpp" line="263"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1807"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1839"/>
         <location filename="../gis/wpt/CGisItemWpt.cpp" line="456"/>
         <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="1819"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1851"/>
         <source>Changed color</source>
         <translation>Couleur modifiée...</translation>
     </message>
     <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="109"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="112"/>
         <source>Save project?</source>
         <translation>Enregistrer le projet ?</translation>
     </message>
     <message>
-        <source>The project "%1" was changed. Save befor closing it?</source>
+        <source>The project "%1" was changed. Save before closing it?</source>
         <translation type="obsolete">Le projet "%1" a été modifié. Enregistrer avant de le fermer ?</translation>
     </message>
     <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="249"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="252"/>
         <source>%1: Correlate tracks and waypoints.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5676,62 +5923,62 @@ ligne %2, colonne %3:
         <translation type="obsolete">Annuler</translation>
     </message>
     <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="109"/>
-        <source><h3>%1</h3>The project was changed. Save befor closing it?</source>
+        <location filename="../gis/prj/IGisProject.cpp" line="112"/>
+        <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="259"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="262"/>
         <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="260"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="263"/>
         <source>Cancelled correlation...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="338"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="341"/>
         <source><br/>
 Filename: %1</source>
         <translation><br/>
 Nom de fichier: %1</translation>
     </message>
     <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="343"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="346"/>
         <source>Waypoints: %1</source>
         <translation>Waypoints: %1</translation>
     </message>
     <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="347"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="350"/>
         <source>Tracks: %1</source>
         <translation>Traces: %1</translation>
     </message>
     <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="351"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="354"/>
         <source>Routes: %1</source>
         <translation>Routes: %1</translation>
     </message>
     <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="355"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="358"/>
         <source>Areas: %1</source>
         <translation>Surfaces: %1</translation>
     </message>
     <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="435"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="438"/>
         <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="1795"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1827"/>
         <location filename="../gis/wpt/CGisItemWpt.cpp" line="444"/>
         <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="1801"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1833"/>
         <location filename="../gis/wpt/CGisItemWpt.cpp" line="450"/>
         <source>Changed description</source>
         <translation>Description modifiée</translation>
@@ -5743,12 +5990,12 @@ Nom de fichier: %1</translation>
     </message>
     <message>
         <location filename="../gis/rte/CGisItemRte.cpp" line="297"/>
-        <location filename="../gis/rte/CGisItemRte.cpp" line="477"/>
+        <location filename="../gis/rte/CGisItemRte.cpp" line="481"/>
         <source>Time: %1 %2</source>
         <translation type="unfinished">Durée: %1 %2</translation>
     </message>
     <message>
-        <location filename="../gis/rte/CGisItemRte.cpp" line="479"/>
+        <location filename="../gis/rte/CGisItemRte.cpp" line="483"/>
         <source>Distance: %1 %2</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5774,7 +6021,7 @@ Nom de fichier: %1</translation>
         <translation>avec %1</translation>
     </message>
     <message>
-        <location filename="../gis/rte/CGisItemRte.cpp" line="608"/>
+        <location filename="../gis/rte/CGisItemRte.cpp" line="612"/>
         <source>Changed route points.</source>
         <translation>Points de route modifiés.</translation>
     </message>
@@ -5821,150 +6068,160 @@ Nom de fichier: %1</translation>
         <translation>Impossible de lire les données.</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="342"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="357"/>
         <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="449"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="464"/>
         <source>Length: %1 %2</source>
         <translation>Longueur: %1 %2</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="456"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="471"/>
         <source>, %1%2 %3, %4%5 %6</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="464"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="479"/>
         <source>Time: %1</source>
         <translation>Durée: %1</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="467"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="477"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="482"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="492"/>
         <source>, Speed: %1 %2</source>
         <translation>, vitesse %1 %2</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="474"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="489"/>
         <source>Moving: %1</source>
         <translation>Déplacement: %1</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="483"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="498"/>
         <source>Start: %1</source>
         <translation>Début: %1</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="488"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="503"/>
         <source>End: %1</source>
         <translation>Fin: %1</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="492"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="507"/>
         <source>Points: %1 (%2)</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="610"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="625"/>
         <source>Ele.: %1 %2</source>
         <translation>Altitude: %1 %2</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="613"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="628"/>
         <source> slope: %1%3 (%2%)</source>
         <translation> Pente: %1%3(%2%)</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="618"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="633"/>
         <source> speed: %1%2</source>
         <translation> Vitesse: %1 %2</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="630"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="653"/>
         <source>Ascend: %1%2 (%3%)</source>
         <translation>Montée: %1%2 (%3%)</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="634"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="657"/>
         <source>Ascend: - (-)</source>
         <translation>Montées: - (-)</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="640"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="663"/>
         <source> Descend: %1%2 (%3%)</source>
         <translation>  Descente: %1%2 (%3%)</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="644"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="667"/>
         <source> Descend: - (-) </source>
         <translation>Descente: - (-)</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="651"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="674"/>
         <source>Dist.: %1%2 (%3%)</source>
         <translation>Dist.: %1%2 (%3%)</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="655"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="678"/>
         <source>Dist.: - (-)</source>
         <translation>Dist.: - (-)</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="661"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="684"/>
         <source> Moving: %1%2 (%3%)</source>
         <translation>  En mouvement: %1%2 (%3%)</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="665"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="688"/>
         <source> Moving: - (-) </source>
         <translation>En mouvement: - (-)</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="684"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="707"/>
         <source>Ascend: %1%2</source>
         <translation>Montée : %1%2</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="689"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="706"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="712"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="729"/>
         <source>, %1%2</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="694"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="717"/>
         <source>Ascend: -</source>
         <translation>Montée : -</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="701"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="724"/>
         <source> Descend: %1%2</source>
         <translation>Descente : %1%2</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="711"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="734"/>
         <source>Descend: -</source>
         <translation>Descente : -</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="717"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="740"/>
         <source>Dist.: %1%2</source>
         <translation>Dist.: %1%2</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="722"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="745"/>
         <source> Time: %1%2</source>
         <translation> Temps : %1%2</translation>
     </message>
     <message>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1868"/>
+        <source>Changed activity to '%1' for complete track.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1942"/>
+        <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="1203"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1218"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1237"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1296"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1465"/>
+        <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/CMouseEditArea.cpp" line="100"/>
         <location filename="../mouse/CMouseEditRte.cpp" line="111"/>
         <location filename="../mouse/CMouseEditTrk.cpp" line="117"/>
@@ -5972,27 +6229,27 @@ Nom de fichier: %1</translation>
         <translation>Éditer le nom...</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1203"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1218"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1237"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1296"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1465"/>
+        <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"/>
         <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="1405"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1432"/>
         <source>Hide points.</source>
         <translation>Cacher des points.</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1440"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1472"/>
         <source>Show points.</source>
         <translation>Afficher les points.</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1789"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1821"/>
         <location filename="../gis/wpt/CGisItemWpt.cpp" line="402"/>
         <source>Changed name</source>
         <translation>Nom modifié</translation>
@@ -6113,7 +6370,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="194"/>
+        <location filename="../qlgt/converter.cpp" line="195"/>
         <source>Copy flag information from QLandkarte GT track</source>
         <translation>Copier la balise d'information de la trace QLandkarte GT</translation>
     </message>
@@ -6152,5 +6409,95 @@ Nom de fichier: %1</translation>
         <source>Enter new route name.</source>
         <translation type="unfinished">Entrez le nom de la nouvelle route.</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">à pied</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="35"/>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="95"/>
+        <source>Bicycle</source>
+        <translation type="unfinished">Vélo</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="42"/>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="96"/>
+        <source>Motor Bike</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="49"/>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="97"/>
+        <source>Car</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="56"/>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="98"/>
+        <source>Cable Car</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="63"/>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="99"/>
+        <source>Swim</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="70"/>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="100"/>
+        <source>Ship</source>
+        <translation type="unfinished"></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"/>
+        <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"/>
+        <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"/>
+        <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"/>
+        <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"/>
+        <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"/>
+        <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"/>
+        <source>Time Total:</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 </TS>
diff --git a/src/locale/qmapshack_es.ts b/src/locale/qmapshack_nl.ts
similarity index 73%
copy from src/locale/qmapshack_es.ts
copy to src/locale/qmapshack_nl.ts
index 454fa69..d9feba0 100644
--- a/src/locale/qmapshack_es.ts
+++ b/src/locale/qmapshack_nl.ts
@@ -1,24 +1,58 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!DOCTYPE TS>
-<TS version="2.1" language="es_ES">
+<TS version="2.1" language="nl_NL">
 <context>
     <name>CAbout</name>
     <message>
-        <location filename="../CAbout.cpp" line="36"/>
-        <source>API Version %1 (expected %2)</source>
-        <translation type="unfinished"></translation>
+        <location filename="../CAbout.cpp" line="38"/>
+        <source>%1 (API V%2, expected V%3)</source>
+        <translation>%1 (API V%2, verwachte V%3)</translation>
+    </message>
+    <message>
+        <location filename="../CAbout.cpp" line="42"/>
+        <source>%1 (API V%2)</source>
+        <translation>%1 (API V%2)</translation>
     </message>
 </context>
 <context>
     <name>CCanvas</name>
     <message>
-        <source>Workspace %1</source>
-        <translation type="obsolete">Espacio de Trabajo %1</translation>
+        <location filename="../canvas/CCanvas.cpp" line="66"/>
+        <source>View %1</source>
+        <translation>Toon %1</translation>
     </message>
+</context>
+<context>
+    <name>CCommandProcessor</name>
     <message>
-        <location filename="../canvas/CCanvas.cpp" line="65"/>
-        <source>View %1</source>
-        <translation>Vista %1</translation>
+        <location filename="../helpers/CCommandProcessor.cpp" line="31"/>
+        <source>Print debug output to console.</source>
+        <translation>Toon debug resultaat op scherm.</translation>
+    </message>
+    <message>
+        <location filename="../helpers/CCommandProcessor.cpp" line="34"/>
+        <source>Print debug output to logfile (temp. path).</source>
+        <translation>Sla debug resultaat op als bestand (tijdelijk psd).</translation>
+    </message>
+    <message>
+        <location filename="../helpers/CCommandProcessor.cpp" line="37"/>
+        <source>Do not show splash screen.</source>
+        <translation>Toon geen splash scherm.</translation>
+    </message>
+    <message>
+        <location filename="../helpers/CCommandProcessor.cpp" line="40"/>
+        <source>File with QMapShack configuration.</source>
+        <translation>Bestand met QMapShack. configuratie.</translation>
+    </message>
+    <message>
+        <location filename="../helpers/CCommandProcessor.cpp" line="40"/>
+        <source>file</source>
+        <translation>bestand</translation>
+    </message>
+    <message>
+        <location filename="../helpers/CCommandProcessor.cpp" line="43"/>
+        <source>Files for future use.</source>
+        <translation>Bestanden voor toekomstig gebruik.</translation>
     </message>
 </context>
 <context>
@@ -26,12 +60,12 @@
     <message>
         <location filename="../dem/CDemList.cpp" line="145"/>
         <source>Deactivate</source>
-        <translation>Desactivar</translation>
+        <translation>Deactiveer</translation>
     </message>
     <message>
         <location filename="../dem/CDemList.cpp" line="145"/>
         <source>Activate</source>
-        <translation>Activar</translation>
+        <translation>Activeer</translation>
     </message>
 </context>
 <context>
@@ -39,12 +73,12 @@
     <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>Añadir o quitar rutas que contienen datos DEM. Puede haber múltiples archivos en una ruta, pero no se buscará en los subdirectorios. Los formatos soportados son: %1</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../dem/CDemPathSetup.cpp" line="56"/>
         <source>Select DEM file path...</source>
-        <translation>Seleccione la ruta al archivo DEM...</translation>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -52,7 +86,7 @@
     <message>
         <location filename="../dem/CDemPropSetup.cpp" line="183"/>
         <source><b>Grade %1</b></source>
-        <translation>Nivel %1</translation>
+        <translation type="unfinished"><b>Graad %1</b></translation>
     </message>
 </context>
 <context>
@@ -63,133 +97,65 @@
         <location filename="../dem/CDemVRT.cpp" line="61"/>
         <location filename="../dem/CDemVRT.cpp" line="89"/>
         <source>Error...</source>
-        <translation>Error...</translation>
+        <translation>Fout...</translation>
     </message>
     <message>
         <location filename="../dem/CDemVRT.cpp" line="45"/>
         <source>Failed to load file: %1</source>
-        <translation>Fallo al cargar el archivo: %1</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../dem/CDemVRT.cpp" line="52"/>
         <location filename="../dem/CDemVRT.cpp" line="61"/>
         <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>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../dem/CDemVRT.cpp" line="89"/>
         <source>No georeference information found.</source>
-        <translation>No se encontró información de georreferenciación.</translation>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>CDetailsGeoCache</name>
     <message>
-        <location filename="../gis/wpt/CDetailsGeoCache.cpp" line="63"/>
+        <location filename="../gis/wpt/CDetailsGeoCache.cpp" line="62"/>
         <source>none</source>
-        <translation>ninguno</translation>
+        <translation>geen</translation>
     </message>
     <message>
-        <location filename="../gis/wpt/CDetailsGeoCache.cpp" line="63"/>
-        <location filename="../gis/wpt/CDetailsGeoCache.cpp" line="133"/>
+        <location filename="../gis/wpt/CDetailsGeoCache.cpp" line="62"/>
+        <location filename="../gis/wpt/CDetailsGeoCache.cpp" line="132"/>
         <source>???</source>
-        <translation></translation>
+        <translation>???</translation>
     </message>
     <message>
-        <location filename="../gis/wpt/CDetailsGeoCache.cpp" line="160"/>
+        <location filename="../gis/wpt/CDetailsGeoCache.cpp" line="159"/>
         <source>Searching for images...</source>
-        <translation>Buscando imagenes...</translation>
+        <translation>Zoeken naar afbeeldingen...</translation>
     </message>
     <message>
-        <location filename="../gis/wpt/CDetailsGeoCache.cpp" line="265"/>
+        <location filename="../gis/wpt/CDetailsGeoCache.cpp" line="264"/>
         <source>No images found</source>
-        <translation>No se encontraron imagenes</translation>
+        <translation>Geen afbeeldingen gevonden</translation>
     </message>
 </context>
 <context>
     <name>CDetailsOvlArea</name>
     <message>
-        <location filename="../gis/ovl/CDetailsOvlArea.cpp" line="136"/>
+        <location filename="../gis/ovl/CDetailsOvlArea.cpp" line="135"/>
         <source>Edit name...</source>
-        <translation>Editar nombre...</translation>
+        <translation>Bewerk naam...</translation>
     </message>
     <message>
-        <location filename="../gis/ovl/CDetailsOvlArea.cpp" line="136"/>
+        <location filename="../gis/ovl/CDetailsOvlArea.cpp" line="135"/>
         <source>Enter new area name.</source>
-        <translation type="unfinished">Introduzca el nombre del nuevo área.</translation>
-    </message>
-    <message>
-        <source>Enter new waypoint name.</source>
-        <translation type="obsolete">Editar el nombre del nuevo waypoint.</translation>
-    </message>
-    <message>
-        <source><h4>Comment:</h4></source>
-        <translation type="obsolete"><h4>Comentario:</h4></translation>
-    </message>
-    <message>
-        <source><p>--- no comment ---</p></source>
-        <translation type="obsolete"><p>---sin comentario---</p></translation>
-    </message>
-    <message>
-        <source><h4>Description:</h4></source>
-        <translation type="obsolete"><h4>Descripción:</h4></translation>
-    </message>
-    <message>
-        <source><p>--- no description ---</p></source>
-        <translation type="obsolete"><p>---sin descripción---</p></translation>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>CDetailsPrj</name>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="229"/>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="668"/>
-        <source>none</source>
-        <translation>ninguna</translation>
-    </message>
-    <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="301"/>
-        <source>Build diary...</source>
-        <translation>Creando diario...</translation>
-    </message>
-    <message>
-        <source>Abort</source>
-        <translation type="obsolete">Cancelar</translation>
-    </message>
-    <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="376"/>
-        <source><h2>Waypoints</h2></source>
-        <translation>Waypoints</translation>
-    </message>
-    <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="383"/>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="409"/>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="513"/>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="603"/>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="633"/>
-        <source>Info</source>
-        <translation>Información</translation>
-    </message>
-    <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="384"/>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="410"/>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="514"/>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="604"/>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="634"/>
-        <source>Comment</source>
-        <translation>Comentario</translation>
-    </message>
-    <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="402"/>
-        <source><h2>Tracks</h2></source>
-        <translation>Tracks</translation>
-    </message>
-    <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="596"/>
-        <source><h2>Areas</h2></source>
-        <translation>Áreas</translation>
-    </message>
-    <message>
         <location filename="../gis/prj/CDetailsPrj.cpp" line="103"/>
         <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>
@@ -200,81 +166,100 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="347"/>
-        <source><b>Summary over all tracks in project</b><br/></source>
-        <translation type="unfinished"></translation>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="249"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="689"/>
+        <source>none</source>
+        <translation>geen</translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="350"/>
-        <source>Total Distance:</source>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="322"/>
+        <source>Build diary...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="352"/>
-        <source>Total Ascend:</source>
-        <translation type="unfinished"></translation>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="377"/>
+        <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="354"/>
-        <source>Total Descend:</source>
-        <translation type="unfinished"></translation>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="397"/>
+        <source><h2>Waypoints</h2></source>
+        <translation><h2>Waypoints</h2></translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="356"/>
-        <source>Total Time:</source>
-        <translation type="unfinished"></translation>
+        <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"/>
+        <source>Info</source>
+        <translation>Info</translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="358"/>
-        <source>Total Time Moving:</source>
-        <translation type="unfinished"></translation>
+        <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"/>
+        <source>Comment</source>
+        <translation>Notitie</translation>
+    </message>
+    <message>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="423"/>
+        <source><h2>Tracks</h2></source>
+        <translation><h2>Tracks</h2></translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="532"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="553"/>
         <source>distance: %1%2</source>
-        <translation type="unfinished"></translation>
+        <translation>afstand:-%1%2</translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="534"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="555"/>
         <source>ascent: %1%2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="536"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="557"/>
         <source>descend: %1%2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="626"/>
-        <source><h2>Routes</h2></source>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="617"/>
+        <source><h2>Areas</h2></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="654"/>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="681"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="647"/>
+        <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"/>
         <source>Edit name...</source>
-        <translation>Editar nombre...</translation>
+        <translation>Bewerk naam...</translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="654"/>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="681"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="675"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="702"/>
         <source>Enter new project name.</source>
-        <translation>Introducir nuevo nombre de proyecto.</translation>
+        <translation>Geef  project een nieuwe naam.</translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="663"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="684"/>
         <source>Edit keywords...</source>
-        <translation>Editar etiquetas...</translation>
+        <translation>Bewerkt sleutelwoorden...</translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="663"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="684"/>
         <source>Enter keywords.</source>
-        <translation>Introducir etiquetas.</translation>
+        <translation>Geef sleutelwoorden.</translation>
     </message>
     <message>
-        <location filename="../gis/prj/CDetailsPrj.cpp" line="797"/>
+        <location filename="../gis/prj/CDetailsPrj.cpp" line="818"/>
         <source>Print Diary</source>
-        <translation>Imprimir Diario</translation>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -282,7 +267,7 @@
     <message>
         <location filename="../gis/rte/CDetailsRte.cpp" line="120"/>
         <source>Edit name...</source>
-        <translation type="unfinished">Editar nombre...</translation>
+        <translation>Bewerk naam...</translation>
     </message>
     <message>
         <location filename="../gis/rte/CDetailsRte.cpp" line="120"/>
@@ -293,94 +278,77 @@
 <context>
     <name>CDetailsTrk</name>
     <message>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="67"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="87"/>
         <source>Reduce visible track points</source>
-        <translation>Reducir puntos visibles del track</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="80"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="100"/>
         <source>Change elevation of track points</source>
-        <translation>Cambiar elevación de puntos del track</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="93"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="113"/>
         <source>Change timestamp of track points</source>
-        <translation>Cambiar fecha/hora de puntos del track</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="106"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="126"/>
         <source>Cut track into pieces</source>
-        <translation>Dividir track en partes</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="222"/>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="231"/>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="234"/>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="240"/>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="259"/>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="261"/>
+        <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"/>
         <source>%1 %2</source>
-        <translation></translation>
+        <translation>%1 %2</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="395"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="457"/>
         <source>Edit name...</source>
-        <translation type="unfinished">Editar nombre...</translation>
+        <translation>Bewerk naam...</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CDetailsTrk.cpp" line="395"/>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="457"/>
         <source>Enter new track name.</source>
-        <translation type="unfinished">Introduzca el nombre del nuevo track.</translation>
-    </message>
-    <message>
-        <source><h4>Comment:</h4></source>
-        <translation type="obsolete"><h4>Comentario:</h4></translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>--- no comment ---</p></source>
-        <translation type="obsolete"><p>---sin comentario---</p></translation>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="509"/>
+        <source>Reset activities...</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><h4>Description:</h4></source>
-        <translation type="obsolete"><h4>Descripción:</h4></translation>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="509"/>
+        <source>This will remove all activities from the track. Proceed?</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>--- no description ---</p></source>
-        <translation type="obsolete"><p>---sin descripción---</p></translation>
+        <location filename="../gis/trk/CDetailsTrk.cpp" line="515"/>
+        <source>None</source>
+        <translation>Geen</translation>
     </message>
 </context>
 <context>
     <name>CDetailsWpt</name>
     <message>
-        <source><h4>Comment:</h4></source>
-        <translation type="obsolete"><h4>Comentario:</h4></translation>
-    </message>
-    <message>
-        <source><p>--- no comment ---</p></source>
-        <translation type="obsolete"><p>---sin-comentario---</p></translation>
-    </message>
-    <message>
-        <source><h4>Description:</h4></source>
-        <translation type="obsolete"><h4>Descripción:</h4></translation>
-    </message>
-    <message>
-        <source><p>--- no description ---</p></source>
-        <translation type="obsolete"><p>---sin descripción---</p></translation>
-    </message>
-    <message>
-        <location filename="../gis/wpt/CDetailsWpt.cpp" line="158"/>
+        <location filename="../gis/wpt/CDetailsWpt.cpp" line="157"/>
         <source>Edit name...</source>
-        <translation>Editar nombre...</translation>
+        <translation>Bewerk naam...</translation>
     </message>
     <message>
-        <location filename="../gis/wpt/CDetailsWpt.cpp" line="158"/>
+        <location filename="../gis/wpt/CDetailsWpt.cpp" line="157"/>
         <source>Enter new waypoint name.</source>
-        <translation>Introducir el nombre del nuevo waypoint.</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/wpt/CDetailsWpt.cpp" line="177"/>
+        <location filename="../gis/wpt/CDetailsWpt.cpp" line="176"/>
         <source>Enter new proximity range.</source>
-        <translation>Introduzca el nuevo valor de proximidad.</translation>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -388,7 +356,7 @@
     <message>
         <location filename="../helpers/CElevationDialog.cpp" line="83"/>
         <source>No DEM data found for that point.</source>
-        <translation>No se encontraron datos DEM para ese punto.</translation>
+        <translation>Geen OEM gegevens gevonden voor dit punt.</translation>
     </message>
 </context>
 <context>
@@ -396,229 +364,235 @@
     <message>
         <location filename="../gis/CGisListDB.cpp" line="76"/>
         <source>Add Database</source>
-        <translation>Añadir Base de Datos</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../gis/CGisListDB.cpp" line="79"/>
         <source>Add Folder</source>
-        <translation>Añadir carpeta</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../gis/CGisListDB.cpp" line="80"/>
         <source>Delete Folder</source>
-        <translation>Eliminar Carpeta</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../gis/CGisListDB.cpp" line="83"/>
         <location filename="../gis/CGisListDB.cpp" line="93"/>
         <source>Delete Item</source>
-        <translation>Eliminar Elemento</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../gis/CGisListDB.cpp" line="87"/>
         <source>Remove Database</source>
-        <translation>Quitar Base de Datos</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../gis/CGisListDB.cpp" line="90"/>
         <source>Empty</source>
-        <translation>Vacío</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../gis/CGisListDB.cpp" line="282"/>
         <source>Remove database...</source>
-        <translation>Quitar Base de Datos...</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../gis/CGisListDB.cpp" line="282"/>
         <source>Do you realy want to remove '%1' from the list?</source>
-        <translation>¿Desea realmente quitar '%1' de la lista?</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../gis/CGisListDB.cpp" line="323"/>
         <source>Delete database folder...</source>
-        <translation>Eliminar Carpeta de la Base de Datos...</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../gis/CGisListDB.cpp" line="323"/>
         <source>Are you sure you want to delete "%1" from the database?</source>
-        <translation>¿Desea realmente eliminar '%1' de la Base de Datos?</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../gis/CGisListDB.cpp" line="349"/>
         <location filename="../gis/CGisListDB.cpp" line="364"/>
         <source>Remove items...</source>
-        <translation>Eliminar elementos...</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../gis/CGisListDB.cpp" line="349"/>
         <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>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../gis/CGisListDB.cpp" line="364"/>
         <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>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>CGisListWks</name>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="101"/>
-        <source>Save</source>
-        <translation>Guardar</translation>
+        <location filename="../gis/CGisListWks.cpp" line="100"/>
+        <source>Edit..</source>
+        <translation>Bewerken..</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="100"/>
-        <source>Save As...</source>
-        <translation>Guardar Como...</translation>
+        <location filename="../gis/CGisListWks.cpp" line="101"/>
+        <source>Show on Map</source>
+        <translation>Toon op kaart</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="99"/>
-        <source>Edit..</source>
-        <translation>Editar..</translation>
+        <location filename="../gis/CGisListWks.cpp" line="102"/>
+        <source>Hide from Map</source>
+        <translation>Toon niet op kaart</translation>
     </message>
     <message>
-        <source>Update Project on Devices</source>
-        <translation type="obsolete">Actualizar Proyecto en Dispositivos</translation>
+        <location filename="../gis/CGisListWks.cpp" line="104"/>
+        <source>Save</source>
+        <translation>Opslaan</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="103"/>
-        <source>Close</source>
-        <translation>Cerrar</translation>
+        <location filename="../gis/CGisListWks.cpp" line="105"/>
+        <source>Save As...</source>
+        <translation>Opslaan als...</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="109"/>
-        <source>Update Project on Device</source>
-        <translation>Actualizar Proyecto en Dsipositivo</translation>
+        <location filename="../gis/CGisListWks.cpp" line="107"/>
+        <source>Send to Devices</source>
+        <translation>Verzend naar GPS</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="121"/>
-        <source>Edit...</source>
-        <translation>Editar...</translation>
+        <location filename="../gis/CGisListWks.cpp" line="109"/>
+        <source>Close</source>
+        <translation>Sluiten</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="122"/>
-        <source>Copy to...</source>
-        <translation>Copiar a...</translation>
+        <location filename="../gis/CGisListWks.cpp" line="115"/>
+        <source>Update Project on Device</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
+        <location filename="../gis/CGisListWks.cpp" line="116"/>
         <location filename="../gis/CGisListWks.cpp" line="137"/>
-        <source>Show Bubble</source>
-        <translation type="unfinished"></translation>
+        <source>Delete</source>
+        <translation>Verwijder</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="139"/>
-        <source>Move Waypoint</source>
-        <translation>Mover Waypoint</translation>
+        <location filename="../gis/CGisListWks.cpp" line="127"/>
+        <source>Edit...</source>
+        <translation>Bewerken...</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="140"/>
-        <source>Proj. Waypoint...</source>
-        <translation>Proyectar Waypoint...</translation>
+        <location filename="../gis/CGisListWks.cpp" line="128"/>
+        <source>Copy to...</source>
+        <translation>Kopieer naar...</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="148"/>
-        <source>Route Instructions</source>
+        <location filename="../gis/CGisListWks.cpp" line="130"/>
+        <source>Track Profile</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="150"/>
-        <source>Calculate Route</source>
+        <location filename="../gis/CGisListWks.cpp" line="132"/>
+        <source>Select Range</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="151"/>
-        <source>Reset Route</source>
+        <location filename="../gis/CGisListWks.cpp" line="133"/>
+        <source>Edit Track Points</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="152"/>
-        <source>Edit Route</source>
+        <location filename="../gis/CGisListWks.cpp" line="134"/>
+        <source>Reverse Track</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="168"/>
-        <source>Create Route</source>
+        <location filename="../gis/CGisListWks.cpp" line="135"/>
+        <source>Combine Tracks</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="592"/>
-        <source>Drop items...</source>
-        <translation type="unfinished"></translation>
+        <location filename="../gis/CGisListWks.cpp" line="143"/>
+        <source>Show Bubble</source>
+        <translation>Toon ballon</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="617"/>
-        <location filename="../gis/CGisListWks.cpp" line="1455"/>
-        <location filename="../gis/CGisListWks.cpp" line="1493"/>
-        <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>
+        <location filename="../gis/CGisListWks.cpp" line="145"/>
+        <source>Move Waypoint</source>
+        <translation>Verplaats waypoint</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="1177"/>
-        <source>Copy items...</source>
-        <translation type="unfinished">Copia elementos....</translation>
+        <location filename="../gis/CGisListWks.cpp" line="146"/>
+        <source>Proj. Waypoint...</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="124"/>
-        <source>Track Profile</source>
-        <translation>Perfil del Track</translation>
+        <location filename="../gis/CGisListWks.cpp" line="154"/>
+        <source>Route Instructions</source>
+        <translation>Route instructies</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="102"/>
-        <source>Send to Devices</source>
-        <translation type="unfinished"></translation>
+        <location filename="../gis/CGisListWks.cpp" line="156"/>
+        <source>Calculate Route</source>
+        <translation>Route berekenen</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="126"/>
-        <source>Select Range</source>
-        <translation>Seleccionar Rango</translation>
+        <location filename="../gis/CGisListWks.cpp" line="157"/>
+        <source>Reset Route</source>
+        <translation>Rouet omkeren</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="127"/>
-        <source>Edit Track Points</source>
-        <translation>Editar Puntos del Track</translation>
+        <location filename="../gis/CGisListWks.cpp" line="158"/>
+        <source>Edit Route</source>
+        <translation>Bewerk route</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="128"/>
-        <source>Reverse Track</source>
-        <translation>Invertir Track</translation>
+        <location filename="../gis/CGisListWks.cpp" line="167"/>
+        <source>Edit Area Points</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="129"/>
-        <source>Combine Tracks</source>
-        <translation>Combinar Tracks</translation>
+        <location filename="../gis/CGisListWks.cpp" line="174"/>
+        <source>Create Route</source>
+        <translation>Maak route</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="161"/>
-        <source>Edit Area Points</source>
-        <translation>Editar Puntos del Área</translation>
+        <location filename="../gis/CGisListWks.cpp" line="613"/>
+        <source>Drop items...</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="110"/>
-        <location filename="../gis/CGisListWks.cpp" line="131"/>
-        <source>Delete</source>
-        <translation>Borrar</translation>
+        <location filename="../gis/CGisListWks.cpp" line="638"/>
+        <location filename="../gis/CGisListWks.cpp" line="1543"/>
+        <location filename="../gis/CGisListWks.cpp" line="1581"/>
+        <source><b>Update devices</b><p>Update %1<br/>Please wait...</p></source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="719"/>
+        <location filename="../gis/CGisListWks.cpp" line="740"/>
         <source>Saving workspace. Please wait.</source>
-        <translation>Guardando espacio de trabajo. Por favor espere.</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="763"/>
+        <location filename="../gis/CGisListWks.cpp" line="787"/>
         <source>Loading workspace. Please wait.</source>
-        <translation>Cargando espacio de trabajo. Por favor espere.</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="973"/>
+        <location filename="../gis/CGisListWks.cpp" line="1061"/>
         <source>Close all projects...</source>
-        <translation>Cerrar todos los proyectos...</translation>
+        <translation>Sluit alle projecten...</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="973"/>
+        <location filename="../gis/CGisListWks.cpp" line="1061"/>
         <source>This will remove all projects from the workspace.</source>
-        <translation>Esto quitará.todos los proyectos.del espacio de trabajo.</translation>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/CGisListWks.cpp" line="1265"/>
+        <source>Copy items...</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -636,47 +610,35 @@
     <message>
         <location filename="../gis/CGisWidget.cpp" line="461"/>
         <source>Cut Track...</source>
-        <translation>Partir Track...</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../gis/CGisWidget.cpp" line="461"/>
         <source>Do you want to delete the original track?</source>
-        <translation>¿Desea borrar el track original?</translation>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>CGrid</name>
     <message>
-        <source>[Grid: %1] </source>
-        <translation type="obsolete">[Malla: %1] </translation>
-    </message>
-    <message>
-        <source>[Grid: %1%2%5 %3%4%5] </source>
-        <translation type="obsolete">[Malla: %1%2%5 %3%4%5] </translation>
-    </message>
-    <message>
-        <source>[Grid: N %1m, E %2m] </source>
-        <translation type="obsolete">[Malla: N %1m, E %2m] </translation>
-    </message>
-    <message>
         <location filename="../grid/CGrid.cpp" line="65"/>
         <source>%1 %2 </source>
-        <translation type="unfinished"></translation>
+        <translation>%1 %2 </translation>
     </message>
     <message>
         <location filename="../grid/CGrid.cpp" line="69"/>
         <source>%1%2%5 %3%4%5 </source>
-        <translation type="unfinished"></translation>
+        <translation>%1%2%5 %3%4%5 </translation>
     </message>
     <message>
         <location filename="../grid/CGrid.cpp" line="76"/>
         <source>%1m, %2m </source>
-        <translation type="unfinished"></translation>
+        <translation>%1m, %2m </translation>
     </message>
     <message>
         <location filename="../grid/CGrid.cpp" line="80"/>
         <source>N %1m, E %2m </source>
-        <translation type="unfinished"></translation>
+        <translation>N %1m, O %2m </translation>
     </message>
 </context>
 <context>
@@ -684,7 +646,7 @@
     <message>
         <location filename="../helpers/CHistoryListWidget.cpp" line="34"/>
         <source>Cut history</source>
-        <translation>Cortar historial</translation>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -692,43 +654,43 @@
     <message>
         <location filename="../tool/CImportDatabase.cpp" line="29"/>
         <source>Import QLandkarte Database</source>
-        <translation>Importar Base de Datos de Qlandkarte</translation>
+        <translation>QLandkarte database importeren</translation>
     </message>
     <message>
         <location filename="../tool/CImportDatabase.cpp" line="73"/>
         <source>Select source database...</source>
-        <translation>Seleccionar origen de base de datos...</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../tool/CImportDatabase.cpp" line="93"/>
         <source>Select target database...</source>
-        <translation>Seleecionar destino de base de datos...</translation>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>CMainWindow</name>
     <message>
-        <location filename="../CMainWindow.cpp" line="579"/>
+        <location filename="../CMainWindow.cpp" line="589"/>
         <source>Ele: %1%2</source>
-        <translation>Alt: %1%2</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../CMainWindow.cpp" line="595"/>
+        <location filename="../CMainWindow.cpp" line="605"/>
         <source>[Grid: %1]</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../CMainWindow.cpp" line="710"/>
+        <location filename="../CMainWindow.cpp" line="726"/>
         <source>Load GIS Data...</source>
-        <translation>Cargar Datos GIS...</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../CMainWindow.cpp" line="744"/>
+        <location filename="../CMainWindow.cpp" line="760"/>
         <source>Select output file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../CMainWindow.cpp" line="770"/>
+        <location filename="../CMainWindow.cpp" line="786"/>
         <source>Select file to load</source>
         <translation type="unfinished"></translation>
     </message>
@@ -738,606 +700,606 @@
     <message>
         <location filename="../map/CMapIMG.cpp" line="154"/>
         <source>Failed ...</source>
-        <translation>Falló ...</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="169"/>
         <source>Unspecified</source>
-        <translation>No especificado</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="170"/>
         <source>French</source>
-        <translation>Francés</translation>
+        <translation>Frans</translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="171"/>
         <source>German</source>
-        <translation>Alemán</translation>
+        <translation>Duits</translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="172"/>
         <source>Dutch</source>
-        <translation>Holandés</translation>
+        <translation>Nederlands</translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="173"/>
         <source>English</source>
-        <translation>Inglés</translation>
+        <translation>Engels</translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="174"/>
         <source>Italian</source>
-        <translation>Italiano</translation>
+        <translation>Italiaans</translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="175"/>
         <source>Finnish</source>
-        <translation>Finés</translation>
+        <translation>Fins</translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="176"/>
         <source>Swedish</source>
-        <translation>Sueco</translation>
+        <translation>Zweeds</translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="177"/>
         <source>Spanish</source>
-        <translation>Español</translation>
+        <translation>Spaans</translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="178"/>
         <source>Basque</source>
-        <translation>Euskera</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="179"/>
         <source>Catalan</source>
-        <translation>Catalán</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="180"/>
         <source>Galician</source>
-        <translation>Gallego</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="181"/>
         <source>Welsh</source>
-        <translation>Galés</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="182"/>
         <source>Gaelic</source>
-        <translation>Gaélico</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="183"/>
         <source>Danish</source>
-        <translation>Danés</translation>
+        <translation>Deens</translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="184"/>
         <source>Norwegian</source>
-        <translation>Noruego</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="185"/>
         <source>Portuguese</source>
-        <translation>Portugués</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="186"/>
         <source>Slovak</source>
-        <translation>Eslovaco</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="187"/>
         <source>Czech</source>
-        <translation>Checo</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="188"/>
         <source>Croatian</source>
-        <translation>Croata</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="189"/>
         <source>Hungarian</source>
-        <translation>Húngaro</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="190"/>
         <source>Polish</source>
-        <translation>Polaco</translation>
+        <translation>Pools</translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="191"/>
         <source>Turkish</source>
-        <translation>Turco</translation>
+        <translation>Turks</translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="192"/>
         <source>Greek</source>
-        <translation>Griego</translation>
+        <translation>Grieks</translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="193"/>
         <source>Slovenian</source>
-        <translation>Esloveno</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="194"/>
         <source>Russian</source>
-        <translation>Ruso</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="195"/>
         <source>Estonian</source>
-        <translation>Estonio</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="196"/>
         <source>Latvian</source>
-        <translation>Letón</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="197"/>
         <source>Romanian</source>
-        <translation>Rumano</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="198"/>
         <source>Albanian</source>
-        <translation>Albanés</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="199"/>
         <source>Bosnian</source>
-        <translation>Bosnio</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="200"/>
         <source>Lithuanian</source>
-        <translation>Lituano</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="201"/>
         <source>Serbian</source>
-        <translation>Serbio</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="202"/>
         <source>Macedonian</source>
-        <translation>Macedonio</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="203"/>
         <source>Bulgarian</source>
-        <translation>Búlgaro</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="260"/>
         <source>Major highway</source>
-        <translation>Autovía Primaria</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="261"/>
         <source>Principal highway</source>
-        <translation>Autovía secundaria</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="262"/>
         <source>Other highway</source>
-        <translation>Otras autovías</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="263"/>
         <source>Arterial road</source>
-        <translation>Carretera principal</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="264"/>
         <source>Collector road</source>
-        <translation>Carretera secundaria</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="265"/>
         <source>Residential street</source>
-        <translation>Calle residencial</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="266"/>
         <source>Alley/Private road</source>
-        <translation>Callejón/Carretera privada</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="267"/>
         <source>Highway ramp, low speed</source>
-        <translation>Acceso a autopista, baja velocidad</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="268"/>
         <source>Highway ramp, high speed</source>
-        <translation>Acceso a autopista, alta velocidad</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="269"/>
         <source>Unpaved road</source>
-        <translation>Carretera sin asfaltar</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="270"/>
         <source>Major highway connector</source>
-        <translation>Conexión con autovía principal</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="271"/>
         <source>Roundabout</source>
-        <translation>Rotonda</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="272"/>
         <source>Railroad</source>
-        <translation>Ferrocarril</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="273"/>
         <source>Shoreline</source>
-        <translation>Línea de costa</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="274"/>
         <source>Trail</source>
-        <translation>Sendero</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="275"/>
         <source>Stream</source>
-        <translation>Arroyo</translation>
+        <translation>Stroom</translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="276"/>
         <source>Time zone</source>
-        <translation>Zona horaria</translation>
+        <translation>Tijdzone</translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="277"/>
         <location filename="../map/CMapIMG.cpp" line="278"/>
         <source>Ferry</source>
-        <translation>Ferry</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="279"/>
         <source>State/province border</source>
-        <translation>Frontera de estado/provincia</translation>
+        <translation>Staat/provinciegrens</translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="280"/>
         <source>County/parish border</source>
-        <translation>Frontera de condado/término municipal</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="281"/>
         <source>International border</source>
-        <translation>Frontera internacional</translation>
+        <translation>Internationale grens</translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="282"/>
         <source>River</source>
-        <translation>Río</translation>
+        <translation>Rivier</translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="283"/>
         <source>Minor land contour</source>
-        <translation>Curva altimétrica menor</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="284"/>
         <source>Intermediate land contour</source>
-        <translation>Curva altimétrica intermedia</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="285"/>
         <source>Major land contour</source>
-        <translation>Curva altimétrica principal</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="286"/>
         <source>Minor depth contour</source>
-        <translation>Curva batimétrica menor</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="287"/>
         <source>Intermediate depth contour</source>
-        <translation>Curva batimétrica intermedia</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="288"/>
         <source>Major depth contour</source>
-        <translation>Curva batimétrica principal</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="289"/>
         <source>Intermittent stream</source>
-        <translation>Curso intermitente</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="290"/>
         <location filename="../map/CMapIMG.cpp" line="372"/>
         <source>Airport runway</source>
-        <translation>Pista de aterrizaje</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="291"/>
         <source>Pipeline</source>
-        <translation>Tubería</translation>
+        <translation>Pijplijn</translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="292"/>
         <source>Powerline</source>
-        <translation>Línea eléctrica</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="293"/>
         <source>Marine boundary</source>
-        <translation>Límite marítimo</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="294"/>
         <source>Hazard boundary</source>
-        <translation>Límite de peligro</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="359"/>
         <source>Large urban area (&gt;200K)</source>
-        <translation>Área urbana grande (&gt;200K)</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="360"/>
         <source>Small urban area (&lt;200K)</source>
-        <translation>Área urbana pequeña (&lt;200K)</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="361"/>
         <source>Rural housing area</source>
-        <translation>Área de alojamienos rurales</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="362"/>
         <source>Military base</source>
-        <translation>Base militar</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="363"/>
         <source>Parking lot</source>
-        <translation>Aparcamiento</translation>
+        <translation>Parkeerterrein</translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="364"/>
         <source>Parking garage</source>
-        <translation>Garaje</translation>
+        <translation>Parkeergarage</translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="365"/>
         <source>Airport</source>
-        <translation>Aeropuerto</translation>
+        <translation>Vliegveld</translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="366"/>
         <source>Shopping center</source>
-        <translation>Centro comercial</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="367"/>
         <source>Marina</source>
-        <translation>Puerto deportivo</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="368"/>
         <source>University/College</source>
-        <translation>Universidad/Facultad</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="369"/>
         <source>Hospital</source>
-        <translation>Hospital</translation>
+        <translation>Ziekenhuis</translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="370"/>
         <source>Industrial complex</source>
-        <translation>Complejo industrial</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="371"/>
         <source>Reservation</source>
-        <translation>Reserva natural</translation>
+        <translation>Reservaat</translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="373"/>
         <source>Man-made area</source>
-        <translation>Área creada por el hombre</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="374"/>
         <source>Sports complex</source>
-        <translation>Complejo deportivo</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="375"/>
         <source>Golf course</source>
-        <translation>Recorrido de golf</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="376"/>
         <source>Cemetery</source>
-        <translation>Cementerio</translation>
+        <translation>Begraafplaats</translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="377"/>
         <location filename="../map/CMapIMG.cpp" line="378"/>
         <location filename="../map/CMapIMG.cpp" line="379"/>
         <source>National park</source>
-        <translation>Parque nacional</translation>
+        <translation>Nationaal park</translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="380"/>
         <source>City park</source>
-        <translation>Parque urbano</translation>
+        <translation>Stadspark</translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="381"/>
         <location filename="../map/CMapIMG.cpp" line="382"/>
         <location filename="../map/CMapIMG.cpp" line="383"/>
         <source>State park</source>
-        <translation>Parque regional</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="384"/>
         <source>Forest</source>
-        <translation>Bosque</translation>
+        <translation>Bos</translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="385"/>
         <source>Ocean</source>
-        <translation>Océano</translation>
+        <translation>Oceaan</translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="386"/>
         <location filename="../map/CMapIMG.cpp" line="388"/>
         <location filename="../map/CMapIMG.cpp" line="398"/>
         <source>Blue (unknown)</source>
-        <translation>Azul (desconocido)</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="387"/>
         <source>Sea</source>
-        <translation>Mar</translation>
+        <translation>Zee</translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="389"/>
         <location filename="../map/CMapIMG.cpp" line="390"/>
         <location filename="../map/CMapIMG.cpp" line="397"/>
         <source>Large lake</source>
-        <translation>Lago grande</translation>
+        <translation>Groot meer</translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="391"/>
         <location filename="../map/CMapIMG.cpp" line="392"/>
         <source>Medium lake</source>
-        <translation>Lago mediano</translation>
+        <translation>Middelmatig meer</translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="393"/>
         <location filename="../map/CMapIMG.cpp" line="394"/>
         <source>Small lake</source>
-        <translation>Lago pequeño</translation>
+        <translation>Klein meer</translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="395"/>
         <location filename="../map/CMapIMG.cpp" line="396"/>
         <source>Major lake</source>
-        <translation>Lago principal</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="399"/>
         <source>Major River</source>
-        <translation>Río Principal</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="400"/>
         <source>Large River</source>
-        <translation>Río Grande</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="401"/>
         <source>Medium River</source>
-        <translation>Río Mediano</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="402"/>
         <source>Small River</source>
-        <translation>Río Pequeño</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="405"/>
         <source>Intermittent water</source>
-        <translation>Agua intermitente</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="406"/>
         <source>Wetland/Swamp</source>
-        <translation>Marisma/Ciénaga</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="407"/>
         <source>Glacier</source>
-        <translation>Glaciar</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="408"/>
         <source>Orchard/Plantation</source>
-        <translation>Invernadero/Plantación</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="409"/>
         <source>Scrub</source>
-        <translation>Monte bajo</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="410"/>
         <source>Tundra</source>
-        <translation>Tundra</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="411"/>
         <source>Flat</source>
-        <translation>Llanura</translation>
+        <translation>Vlak</translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="412"/>
         <source>???</source>
-        <translation></translation>
+        <translation>???</translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="448"/>
         <source>Failed to read: </source>
-        <translation>Fallo al leer: </translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="491"/>
         <source>Failed to open: </source>
-        <translation>Fallo al abrir: </translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="515"/>
         <location filename="../map/CMapIMG.cpp" line="519"/>
         <source>Bad file format: </source>
-        <translation>Formato de archivo incorrecto: </translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="608"/>
         <source>Failed to read file structure: </source>
-        <translation>Fallo al leer la estructura del archivo: </translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="643"/>
         <source>Loading %1</source>
-        <translation>Cargando %1</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="649"/>
         <source>User abort: </source>
-        <translation>Abortado por el usuario: </translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="652"/>
         <source>File is NT format. QMapShack is unable to read map files with NT format: </source>
-        <translation>El archivo está en formato NT. QMapShack no puede leer archivos en formato NT: </translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="744"/>
         <source>File contains locked / encypted data. Garmin does not want you to use this file with any other software than the one supplied by Garmin.</source>
-        <translation>El archivo contiene datos bloqueados/cifrados. Garmin no quiere que use este archivo con otros programas distintos a los que ellos proporcionan.</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="2500"/>
@@ -1349,19 +1311,19 @@
         <location filename="../map/CMapIMG.cpp" line="2575"/>
         <location filename="../map/CMapIMG.cpp" line="2580"/>
         <source>Point of Interest</source>
-        <translation>Punto de Interés</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../map/CMapIMG.cpp" line="2707"/>
         <source>Unknown</source>
-        <translation>Desconocido</translation>
+        <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"/>
         <source>Area</source>
-        <translation>Área</translation>
+        <translation>Gebied</translation>
     </message>
 </context>
 <context>
@@ -1369,12 +1331,12 @@
     <message>
         <location filename="../map/CMapList.cpp" line="155"/>
         <source>Deactivate</source>
-        <translation>Desactivar</translation>
+        <translation>Deactiveer</translation>
     </message>
     <message>
         <location filename="../map/CMapList.cpp" line="155"/>
         <source>Activate</source>
-        <translation>Activar</translation>
+        <translation>Activeer</translation>
     </message>
     <message>
         <location filename="../map/CMapList.cpp" line="174"/>
@@ -1387,17 +1349,17 @@
     <message>
         <location filename="../map/CMapMAP.cpp" line="46"/>
         <source>Failed ...</source>
-        <translation>Falló...</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../map/CMapMAP.cpp" line="63"/>
         <source>Failed to open: </source>
-        <translation>Fallo al abrir: </translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../map/CMapMAP.cpp" line="73"/>
         <source>Bad file format: </source>
-        <translation>Formato de archivo incorrecto: </translation>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -1405,12 +1367,12 @@
     <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>Añada o elimine rutas que contengan mapas. Puede haber múltiples mapas en una ruta, pero no se buscará en subdirectorios. Los formatos soportados son: %1</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../map/CMapPathSetup.cpp" line="62"/>
         <source>Select map path...</source>
-        <translation>Selecciona la ruta del mapa...</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../map/CMapPathSetup.cpp" line="81"/>
@@ -1419,13 +1381,6 @@
     </message>
 </context>
 <context>
-    <name>CMapPropSetup</name>
-    <message>
-        <source>Cache path...</source>
-        <translation type="obsolete">Ruta de la caché...</translation>
-    </message>
-</context>
-<context>
     <name>CMapRMAP</name>
     <message>
         <location filename="../map/CMapRMAP.cpp" line="48"/>
@@ -1437,22 +1392,22 @@
         <location filename="../map/CMapRMAP.cpp" line="209"/>
         <location filename="../map/CMapRMAP.cpp" line="237"/>
         <source>Error...</source>
-        <translation>Error...</translation>
+        <translation>Fout...</translation>
     </message>
     <message>
         <location filename="../map/CMapRMAP.cpp" line="48"/>
         <source>This is not a TwoNav RMAP file.</source>
-        <translation>Éste no es un archivo en formato TwoNav RMAP.</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../map/CMapRMAP.cpp" line="57"/>
         <source>Unknown sub-format.</source>
-        <translation>Sub-formato desconocido.</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../map/CMapRMAP.cpp" line="127"/>
         <source>Unknown version.</source>
-        <translation>Versión desconocida.</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../map/CMapRMAP.cpp" line="144"/>
@@ -1460,45 +1415,49 @@
         <location filename="../map/CMapRMAP.cpp" line="187"/>
         <location filename="../map/CMapRMAP.cpp" line="209"/>
         <source>Failed to read reference point.</source>
-        <translation>Fallo al leer el punto de referencia.</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../map/CMapRMAP.cpp" line="237"/>
         <source>Unknown projection and datum (%1%2).</source>
-        <translation>Proyección y datum desconocidos (%1%2).</translation>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>CMapTMS</name>
     <message>
-        <location filename="../map/CMapTMS.cpp" line="70"/>
-        <location filename="../map/CMapTMS.cpp" line="80"/>
+        <location filename="../map/CMapTMS.cpp" line="71"/>
+        <location filename="../map/CMapTMS.cpp" line="81"/>
+        <location filename="../map/CMapTMS.cpp" line="140"/>
         <source>Error...</source>
-        <translation>Error...</translation>
+        <translation>Fout...</translation>
     </message>
     <message>
-        <location filename="../map/CMapTMS.cpp" line="70"/>
+        <location filename="../map/CMapTMS.cpp" line="71"/>
         <source>Failed to open %1</source>
-        <translation>Fallo al abrir %1</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../map/CMapTMS.cpp" line="80"/>
+        <location filename="../map/CMapTMS.cpp" line="81"/>
         <source>Failed to read: %1
 line %2, column %3:
  %4</source>
-        <translation>Fallo al leer: %1
-línea %2, columna %3.
- %4</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../map/CMapTMS.cpp" line="118"/>
+        <location filename="../map/CMapTMS.cpp" line="119"/>
         <source>Layer %1</source>
-        <translation>Capa %1</translation>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../map/CMapTMS.cpp" line="134"/>
+        <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="289"/>
+        <location filename="../map/CMapTMS.cpp" line="311"/>
         <source><b>%1</b>: %2 tiles pending<br/></source>
-        <translation><b>%1</b>: %2 teselas pendientes<br/></translation>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -1509,23 +1468,23 @@ línea %2, columna %3.
         <location filename="../map/CMapVRT.cpp" line="89"/>
         <location filename="../map/CMapVRT.cpp" line="125"/>
         <source>Error...</source>
-        <translation>Error...</translation>
+        <translation>Fout...</translation>
     </message>
     <message>
         <location filename="../map/CMapVRT.cpp" line="47"/>
         <location filename="../map/CMapVRT.cpp" line="61"/>
         <source>Failed to load file: %1</source>
-        <translation>Fallo al leer el archivo: %1</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../map/CMapVRT.cpp" line="89"/>
         <source>File must be 8 bit palette or gray indexed.</source>
-        <translation>El archivo debe ser con paleta de 8 bits o escala de grises indexada.</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../map/CMapVRT.cpp" line="125"/>
         <source>No georeference information found.</source>
-        <translation>No se encontró información de georreferenciación.</translation>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -1533,89 +1492,84 @@ línea %2, columna %3.
     <message>
         <location filename="../tool/CMapVrtBuilder.cpp" line="28"/>
         <source>Build GDAL VRT</source>
-        <translation>Crear GDAL VRT</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../tool/CMapVrtBuilder.cpp" line="46"/>
         <source>Select files...</source>
-        <translation>Seleccionar ficheros de origen...</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../tool/CMapVrtBuilder.cpp" line="70"/>
         <source>Select target file...</source>
-        <translation>Seleccionar fichero de destino...</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../tool/CMapVrtBuilder.cpp" line="125"/>
         <source>!!! done !!!
 </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>!!! failed !!!
-</source>
-        <translation type="obsolete">!!! fallo !!!</translation>
+        <translation>!!! klaar !!!
+</translation>
     </message>
 </context>
 <context>
     <name>CMapWMTS</name>
     <message>
-        <location filename="../map/CMapWMTS.cpp" line="45"/>
-        <location filename="../map/CMapWMTS.cpp" line="55"/>
-        <location filename="../map/CMapWMTS.cpp" line="65"/>
-        <location filename="../map/CMapWMTS.cpp" line="74"/>
-        <location filename="../map/CMapWMTS.cpp" line="206"/>
+        <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"/>
         <source>Error...</source>
-        <translation>Error...</translation>
+        <translation>Fout...</translation>
     </message>
     <message>
-        <location filename="../map/CMapWMTS.cpp" line="45"/>
+        <location filename="../map/CMapWMTS.cpp" line="46"/>
         <source>Failed to open %1</source>
-        <translation>Fallo al abrir %1</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../map/CMapWMTS.cpp" line="55"/>
+        <location filename="../map/CMapWMTS.cpp" line="56"/>
         <source>Failed to read: %1
 line %2, column %3:
  %4</source>
-        <translation>Fallo al leer: %1
-línea %2, columna %3.
- %4</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../map/CMapWMTS.cpp" line="65"/>
+        <location filename="../map/CMapWMTS.cpp" line="66"/>
         <source>Failed to read: %1
 Unknown structure.</source>
-        <translation>Fallo al leer: %1
-Estructura desconocida.</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../map/CMapWMTS.cpp" line="74"/>
+        <location filename="../map/CMapWMTS.cpp" line="75"/>
         <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="unfinished"></translation>
     </message>
     <message>
-        <location filename="../map/CMapWMTS.cpp" line="206"/>
+        <location filename="../map/CMapWMTS.cpp" line="154"/>
+        <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"/>
         <source>No georeference information found.</source>
-        <translation>No se encontró información de georreferenciación.</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../map/CMapWMTS.cpp" line="392"/>
+        <location filename="../map/CMapWMTS.cpp" line="416"/>
         <source><b>%1</b>: %2 tiles pending<br/></source>
-        <translation><b>%1</b>: %2 teselas pendientes<br/></translation>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>CMouseEditArea</name>
     <message>
-        <source><b>Edit Area</b><br/>Select a corner point for more options.<br/></source>
-        <translation type="obsolete"><b>Editar Área</b><br/>Seleccione un punto de las esquinas para más información.<br/></translation>
-    </message>
-    <message>
         <location filename="../mouse/CMouseEditArea.cpp" line="28"/>
         <location filename="../mouse/CMouseEditArea.cpp" line="35"/>
         <source>Area</source>
-        <translation type="unfinished">Área</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../mouse/CMouseEditArea.cpp" line="37"/>
@@ -1629,7 +1583,7 @@ Estructura desconocida.</translation>
         <location filename="../mouse/CMouseEditRte.cpp" line="30"/>
         <location filename="../mouse/CMouseEditRte.cpp" line="37"/>
         <source>Route</source>
-        <translation type="unfinished"></translation>
+        <translation>Route</translation>
     </message>
     <message>
         <location filename="../mouse/CMouseEditRte.cpp" line="39"/>
@@ -1640,14 +1594,10 @@ Estructura desconocida.</translation>
 <context>
     <name>CMouseEditTrk</name>
     <message>
-        <source><b>Edit Track Points</b><br/>Select a track point for more options.<br/></source>
-        <translation type="obsolete"><b>Editar Puntos del Track</b><br/>Selecciones un punto del track para más opciones.<br/></translation>
-    </message>
-    <message>
         <location filename="../mouse/CMouseEditTrk.cpp" line="28"/>
         <location filename="../mouse/CMouseEditTrk.cpp" line="36"/>
         <source>Track</source>
-        <translation type="unfinished"></translation>
+        <translation>Track</translation>
     </message>
     <message>
         <location filename="../mouse/CMouseEditTrk.cpp" line="39"/>
@@ -1657,53 +1607,61 @@ Estructura desconocida.</translation>
     <message>
         <location filename="../mouse/CMouseEditTrk.cpp" line="81"/>
         <source>Warning!</source>
-        <translation type="unfinished">¡Cuidado!</translation>
+        <translation type="unfinished"></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>
-        <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="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>CMouseNormal</name>
     <message>
-        <location filename="../mouse/CMouseNormal.cpp" line="42"/>
+        <location filename="../mouse/CMouseNormal.cpp" line="41"/>
         <source>Add Waypoint</source>
-        <translation>Añadir Waypoint</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mouse/CMouseNormal.cpp" line="43"/>
+        <location filename="../mouse/CMouseNormal.cpp" line="42"/>
         <source>Add Track</source>
-        <translation>Añadir Track</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mouse/CMouseNormal.cpp" line="44"/>
+        <location filename="../mouse/CMouseNormal.cpp" line="43"/>
         <source>Add Route</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mouse/CMouseNormal.cpp" line="45"/>
+        <location filename="../mouse/CMouseNormal.cpp" line="44"/>
         <source>Add Area</source>
-        <translation>Añadir Área</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mouse/CMouseNormal.cpp" line="48"/>
+        <location filename="../mouse/CMouseNormal.cpp" line="47"/>
         <source>Copy position</source>
-        <translation>Copiar posición</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mouse/CMouseNormal.cpp" line="49"/>
+        <location filename="../mouse/CMouseNormal.cpp" line="48"/>
         <source>Copy position (Grid)</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
+    <name>CMousePrint</name>
+    <message>
+        <location filename="../mouse/CMousePrint.cpp" line="38"/>
+        <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>
+</context>
+<context>
     <name>CMouseRangeTrk</name>
     <message>
         <location filename="../mouse/CMouseRangeTrk.cpp" line="44"/>
         <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>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -1711,7 +1669,7 @@ Estructura desconocida.</translation>
     <message>
         <location filename="../helpers/CPhotoAlbum.cpp" line="72"/>
         <source>Select images...</source>
-        <translation>Seleccionar imagenes...</translation>
+        <translation>Selecteer afbeeldingen...</translation>
     </message>
 </context>
 <context>
@@ -1719,21 +1677,17 @@ Estructura desconocida.</translation>
     <message>
         <location filename="../plot/CPlotDistance.cpp" line="58"/>
         <source>distance [%1]</source>
-        <translation>distancia [%1]</translation>
+        <translation>afstand [%1]</translation>
     </message>
     <message>
         <location filename="../plot/CPlotDistance.cpp" line="62"/>
         <source>time</source>
-        <translation>tiempo</translation>
-    </message>
-    <message>
-        <source>time [h]</source>
-        <translation type="obsolete">tiempo [h]</translation>
+        <translation>tijd</translation>
     </message>
     <message>
         <location filename="../plot/CPlotDistance.cpp" line="64"/>
         <source>distance. [%1]</source>
-        <translation>distancia. [%1]</translation>
+        <translation>afstand. [%1]</translation>
     </message>
 </context>
 <context>
@@ -1741,17 +1695,17 @@ Estructura desconocida.</translation>
     <message>
         <location filename="../plot/CPlotProfile.cpp" line="65"/>
         <source>distance [%1]</source>
-        <translation>distancia [%1]</translation>
+        <translation>afstand [%1]</translation>
     </message>
     <message>
         <location filename="../plot/CPlotProfile.cpp" line="69"/>
         <source>time [h]</source>
-        <translation>tiempo [h]</translation>
+        <translation>tijd [u]</translation>
     </message>
     <message>
         <location filename="../plot/CPlotProfile.cpp" line="71"/>
         <source>alt. [%1]</source>
-        <translation>alt. [%1]</translation>
+        <translation>hoogte [%1]</translation>
     </message>
 </context>
 <context>
@@ -1759,17 +1713,63 @@ Estructura desconocida.</translation>
     <message>
         <location filename="../plot/CPlotSpeed.cpp" line="57"/>
         <source>distance [%1]</source>
-        <translation>distancia [%1]</translation>
+        <translation>afstand [%1]</translation>
     </message>
     <message>
         <location filename="../plot/CPlotSpeed.cpp" line="61"/>
         <source>time [h]</source>
-        <translation>tiempo [h]</translation>
+        <translation>tijd [u]</translation>
     </message>
     <message>
         <location filename="../plot/CPlotSpeed.cpp" line="63"/>
         <source>speed. [%1]</source>
-        <translation>velocidad. [%1]</translation>
+        <translation>snelheid. [%1]</translation>
+    </message>
+</context>
+<context>
+    <name>CPrintDialog</name>
+    <message>
+        <location filename="../print/CPrintDialog.cpp" line="68"/>
+        <source>Print Map...</source>
+        <translation>Kaart afdrukken...</translation>
+    </message>
+    <message>
+        <location filename="../print/CPrintDialog.cpp" line="75"/>
+        <source>Save Map as Image...</source>
+        <translation>Druk kaar af als afbeelding...</translation>
+    </message>
+    <message>
+        <location filename="../print/CPrintDialog.cpp" line="95"/>
+        <source>Printer Properties...</source>
+        <translation>Printer instellingen...</translation>
+    </message>
+    <message>
+        <location filename="../print/CPrintDialog.cpp" line="170"/>
+        <source>Pages: %1 x %2</source>
+        <translation>Pagina's: %1 x %2</translation>
+    </message>
+    <message>
+        <location filename="../print/CPrintDialog.cpp" line="171"/>
+        <source>Zoom with mouse wheel on map below to change resolution:
+
+%1x%2 pixel
+x: %3 m/px
+y: %4 m/px</source>
+        <translation>Zoom met muiswiel op kaart om resulotie te veranderen:
+
+%1x%2 pixel
+x: %3 m/px
+y: %4 m/px</translation>
+    </message>
+    <message>
+        <location filename="../print/CPrintDialog.cpp" line="217"/>
+        <source>Printing pages.</source>
+        <translation>Pagina's afdrukken.</translation>
+    </message>
+    <message>
+        <location filename="../print/CPrintDialog.cpp" line="259"/>
+        <source>Save map...</source>
+        <translation>Kaart opslaan...</translation>
     </message>
 </context>
 <context>
@@ -1777,12 +1777,12 @@ Estructura desconocida.</translation>
     <message>
         <location filename="../helpers/CProgressDialog.cpp" line="40"/>
         <source>Elapsed time: %1</source>
-        <translation type="unfinished"></translation>
+        <translation>Verstreken tijd: %1</translation>
     </message>
     <message>
         <location filename="../helpers/CProgressDialog.cpp" line="74"/>
         <source>Elapsed time: %1 seconds.</source>
-        <translation type="unfinished"></translation>
+        <translation>Verstreken tijd: %1 seconden.</translation>
     </message>
 </context>
 <context>
@@ -1790,17 +1790,17 @@ Estructura desconocida.</translation>
     <message>
         <location filename="../grid/CProjWizard.cpp" line="57"/>
         <source>north</source>
-        <translation>norte</translation>
+        <translation>noord</translation>
     </message>
     <message>
         <location filename="../grid/CProjWizard.cpp" line="58"/>
         <source>south</source>
-        <translation>sur</translation>
+        <translation>zuid</translation>
     </message>
     <message>
         <location filename="../grid/CProjWizard.cpp" line="215"/>
         <source>Error...</source>
-        <translation>Error...</translation>
+        <translation>Fout...</translation>
     </message>
     <message>
         <location filename="../grid/CProjWizard.cpp" line="215"/>
@@ -1808,9 +1808,9 @@ Estructura desconocida.</translation>
 '%1'
 is not a valid coordinate system definition:
 %2</source>
-        <translation>El valor
+        <translation>De waarde
 '%1'
-no es una definición de sistema de coordenadas válido:
+is geen geldig coordinaat definitie:
 %2</translation>
     </message>
 </context>
@@ -1819,12 +1819,12 @@ no es una definición de sistema de coordenadas válido:
     <message>
         <location filename="../gis/wpt/CProjWpt.cpp" line="62"/>
         <source>Edit name...</source>
-        <translation>Editar nombre...</translation>
+        <translation>Bewerk naam...</translation>
     </message>
     <message>
         <location filename="../gis/wpt/CProjWpt.cpp" line="62"/>
         <source>Enter new waypoint name.</source>
-        <translation>Introduzca el nuevo nombre del waypoint.</translation>
+        <translation>Geef  waypoint een nieuwe naam.</translation>
     </message>
 </context>
 <context>
@@ -1832,37 +1832,37 @@ no es una definición de sistema de coordenadas válido:
     <message>
         <location filename="../qlgt/CQlgtDb.cpp" line="308"/>
         <source>Migrating database from version 4 to 5.</source>
-        <translation>Convirtiendo base de datos de version 4 a 5.</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../qlgt/CQlgtDb.cpp" line="362"/>
         <source>Migrating database from version 5 to 6.</source>
-        <translation>Convirtiendo base de datos de version 5 a 6.</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../qlgt/CQlgtDb.cpp" line="420"/>
         <source>Migrating database from version 6 to 7.</source>
-        <translation>Convirtiendo base de datos de version 6 a 7.</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../qlgt/CQlgtDb.cpp" line="486"/>
         <source>Migrating database from version 7 to 8.</source>
-        <translation>Convirtiendo base de datos de version 7 a 8.</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../qlgt/CQlgtDb.cpp" line="515"/>
         <source>Migrating database from version 8 to 9.</source>
-        <translation>Convirtiendo base de datos de version 8 a 9.</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../qlgt/CQlgtDb.cpp" line="538"/>
         <source>Open database: %1</source>
-        <translation>Abrir base de datos:%1</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../qlgt/CQlgtDb.cpp" line="547"/>
         <source>Folders:          %1</source>
-        <translation>Carpetas:          %1</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../qlgt/CQlgtDb.cpp" line="556"/>
@@ -1872,7 +1872,7 @@ no es una definición de sistema de coordenadas válido:
     <message>
         <location filename="../qlgt/CQlgtDb.cpp" line="564"/>
         <source>Routes:           %1 (Only the basic route will be copied)</source>
-        <translation>Routes:           %1 (Only the basic route will be copied)</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../qlgt/CQlgtDb.cpp" line="572"/>
@@ -1880,10 +1880,6 @@ no es una definición de sistema de coordenadas válido:
         <translation>Waypoints:        %1</translation>
     </message>
     <message>
-        <source>Overlays:         %1 (only area overlays will be converted to QMapShack)</source>
-        <translation type="obsolete">Superposiciones:         %1 (solo las superposiciones de área se copiaran a QMapShack)</translation>
-    </message>
-    <message>
         <location filename="../qlgt/CQlgtDb.cpp" line="580"/>
         <source>Overlays:         %1 (areas will be converted as areas, distance lines will be converted to tracks, all other overlay items will be lost)</source>
         <translation type="unfinished"></translation>
@@ -1891,66 +1887,62 @@ no es una definición de sistema de coordenadas válido:
     <message>
         <location filename="../qlgt/CQlgtDb.cpp" line="587"/>
         <source>Diaries:          %1</source>
-        <translation>Diarios:          %1</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../qlgt/CQlgtDb.cpp" line="594"/>
         <source>Map selections:   %1 (can't be converted to QMapShack)</source>
-        <translation>Selecciones de mapa:   %1 (NO pueden convertirse a QMapShack)</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../qlgt/CQlgtDb.cpp" line="600"/>
         <source>------ Start to convert database to %1------</source>
-        <translation>------ Comenzar a convertir base de datos a %1------</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../qlgt/CQlgtDb.cpp" line="604"/>
         <source>Failed to create target database.</source>
-        <translation>Fallo al crear la base de datos de destino.</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../qlgt/CQlgtDb.cpp" line="605"/>
         <source>------ Abort ------</source>
-        <translation>------ Abortar ------</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../qlgt/CQlgtDb.cpp" line="633"/>
         <source>------ Done ------</source>
-        <translation>------ Hecho ------</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../qlgt/CQlgtDb.cpp" line="641"/>
         <source>Restore folders...</source>
-        <translation>Restaurar carpetas...</translation>
-    </message>
-    <message>
-        <source>Abort</source>
-        <translation type="obsolete">Abortar</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../qlgt/CQlgtDb.cpp" line="661"/>
         <source>Imported %1 folders and %2 diaries</source>
-        <translation>Importadas %1 carpetas y %2 diarios</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../qlgt/CQlgtDb.cpp" line="667"/>
         <source>Copy items...</source>
-        <translation>Copia elementos....</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../qlgt/CQlgtDb.cpp" line="685"/>
         <source>Imported %1 tracks, %2 waypoints, %3 routes, %4 areas</source>
-        <translation>Importado: %1 tracks, %2 waypoints, %3 routes, %4 areas</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../qlgt/CQlgtDb.cpp" line="686"/>
         <source>Import folders...</source>
-        <translation>Importar carpetas...</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../qlgt/CQlgtDb.cpp" line="751"/>
         <source>Overlay of type '%1' cant be converted</source>
-        <translation>No puede convertirse superposición del tipo '%1' </translation>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -1981,72 +1973,72 @@ no es una definición de sistema de coordenadas válido:
     <message>
         <location filename="../gis/rte/router/CRouterMapQuest.cpp" line="37"/>
         <source>Fastest</source>
-        <translation type="unfinished"></translation>
+        <translation>Snelst</translation>
     </message>
     <message>
         <location filename="../gis/rte/router/CRouterMapQuest.cpp" line="38"/>
         <source>Shortest</source>
-        <translation type="unfinished"></translation>
+        <translation>Kortst</translation>
     </message>
     <message>
         <location filename="../gis/rte/router/CRouterMapQuest.cpp" line="39"/>
         <source>Bicycle</source>
-        <translation type="unfinished"></translation>
+        <translation>Fiets</translation>
     </message>
     <message>
         <location filename="../gis/rte/router/CRouterMapQuest.cpp" line="40"/>
         <source>Pedestrian</source>
-        <translation type="unfinished"></translation>
+        <translation>Wandelen</translation>
     </message>
     <message>
         <location filename="../gis/rte/router/CRouterMapQuest.cpp" line="42"/>
         <source>US English</source>
-        <translation type="unfinished"></translation>
+        <translation>VS Engels</translation>
     </message>
     <message>
         <location filename="../gis/rte/router/CRouterMapQuest.cpp" line="43"/>
         <source>British English</source>
-        <translation type="unfinished"></translation>
+        <translation>Brits Engels</translation>
     </message>
     <message>
         <location filename="../gis/rte/router/CRouterMapQuest.cpp" line="44"/>
         <source>Danish</source>
-        <translation type="unfinished">Danés</translation>
+        <translation>Deens</translation>
     </message>
     <message>
         <location filename="../gis/rte/router/CRouterMapQuest.cpp" line="45"/>
         <source>Dutch</source>
-        <translation type="unfinished">Holandés</translation>
+        <translation>Nederlands</translation>
     </message>
     <message>
         <location filename="../gis/rte/router/CRouterMapQuest.cpp" line="46"/>
         <source>French</source>
-        <translation type="unfinished">Francés</translation>
+        <translation>Frans</translation>
     </message>
     <message>
         <location filename="../gis/rte/router/CRouterMapQuest.cpp" line="47"/>
         <source>German</source>
-        <translation type="unfinished">Alemán</translation>
+        <translation>Duits</translation>
     </message>
     <message>
         <location filename="../gis/rte/router/CRouterMapQuest.cpp" line="48"/>
         <source>Italian</source>
-        <translation type="unfinished">Italiano</translation>
+        <translation>Italiaans</translation>
     </message>
     <message>
         <location filename="../gis/rte/router/CRouterMapQuest.cpp" line="49"/>
         <source>Norwegian</source>
-        <translation type="unfinished">Noruego</translation>
+        <translation>Noors</translation>
     </message>
     <message>
         <location filename="../gis/rte/router/CRouterMapQuest.cpp" line="50"/>
         <source>Spanish</source>
-        <translation type="unfinished">Español</translation>
+        <translation>Spaans</translation>
     </message>
     <message>
         <location filename="../gis/rte/router/CRouterMapQuest.cpp" line="51"/>
         <source>Swedish</source>
-        <translation type="unfinished">Sueco</translation>
+        <translation>Zweeds</translation>
     </message>
     <message>
         <location filename="../gis/rte/router/CRouterMapQuest.cpp" line="110"/>
@@ -2056,273 +2048,273 @@ no es una definición de sistema de coordenadas válido:
     <message>
         <location filename="../gis/rte/router/CRouterMapQuest.cpp" line="114"/>
         <source>no highways</source>
-        <translation type="unfinished"></translation>
+        <translation>geen snelwegen</translation>
     </message>
     <message>
         <location filename="../gis/rte/router/CRouterMapQuest.cpp" line="125"/>
         <source>no toll roads</source>
-        <translation type="unfinished"></translation>
+        <translation>geen tolwegen</translation>
     </message>
     <message>
         <location filename="../gis/rte/router/CRouterMapQuest.cpp" line="136"/>
         <source>no seasonal</source>
-        <translation type="unfinished"></translation>
+        <translation>geen seizoenswegen</translation>
     </message>
     <message>
         <location filename="../gis/rte/router/CRouterMapQuest.cpp" line="147"/>
         <source>no unpaved</source>
-        <translation type="unfinished"></translation>
+        <translation>niet onverhard</translation>
     </message>
     <message>
         <location filename="../gis/rte/router/CRouterMapQuest.cpp" line="158"/>
         <source>no ferry</source>
-        <translation type="unfinished"></translation>
+        <translation>geen veer</translation>
     </message>
     <message>
         <location filename="../gis/rte/router/CRouterMapQuest.cpp" line="169"/>
         <source>no crossing of country borders</source>
-        <translation type="unfinished"></translation>
+        <translation>geen grensovergangen</translation>
     </message>
     <message>
         <location filename="../gis/rte/router/CRouterMapQuest.cpp" line="301"/>
         <source><b>MapQuest</b><br/>Routing request sent to server. Please wait...</source>
-        <translation type="unfinished"></translation>
+        <translation><b>MapQuest</b><br/>Route aanvraag naar server gezonden. Moment geduld...</translation>
     </message>
     <message>
         <location filename="../gis/rte/router/CRouterMapQuest.cpp" line="312"/>
         <location filename="../gis/rte/router/CRouterMapQuest.cpp" line="346"/>
         <source><b>MapQuest</b><br/>Bad response from server:<br/>%1</source>
-        <translation type="unfinished"></translation>
+        <translation><b>MapQuest</b><br/>Geen reactie van server:<br/>%1</translation>
     </message>
     <message>
         <location filename="../gis/rte/router/CRouterMapQuest.cpp" line="363"/>
         <source><br/>Calculation time: %1s</source>
-        <translation type="unfinished"></translation>
+        <translation><br/>Berekenen tijd: %1s</translation>
     </message>
 </context>
 <context>
     <name>CRouterRoutino</name>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="82"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="59"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="249"/>
+        <source>Warning...</source>
+        <translation>Waarschuwing...</translation>
+    </message>
+    <message>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="59"/>
+        <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"/>
+        <source>Shortest</source>
+        <translation>Kortst</translation>
+    </message>
+    <message>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="64"/>
+        <source>Quickest</source>
+        <translation>Snelst</translation>
+    </message>
+    <message>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="89"/>
         <source>Foot</source>
-        <translation type="unfinished"></translation>
+        <translation>Wandelend</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="83"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="90"/>
         <source>Horse</source>
-        <translation type="unfinished"></translation>
+        <translation>Paard</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="84"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="91"/>
         <source>Wheelchair</source>
-        <translation type="unfinished"></translation>
+        <translation>Rolstoel</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="85"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="92"/>
         <source>Bicycle</source>
-        <translation type="unfinished"></translation>
+        <translation>Fiets</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="86"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="93"/>
         <source>Moped</source>
-        <translation type="unfinished"></translation>
+        <translation>Brommer</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="87"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="94"/>
         <source>Motorcycle</source>
-        <translation type="unfinished"></translation>
+        <translation>Motorfiets</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="88"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="95"/>
         <source>Motorcar</source>
-        <translation type="unfinished"></translation>
+        <translation>Auto</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="89"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="96"/>
         <source>Goods</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="63"/>
-        <source>Shortest</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="59"/>
-        <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"/>
-        <source>Quickest</source>
-        <translation type="unfinished"></translation>
+        <translation>Goederen</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="91"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="98"/>
         <source>English</source>
-        <translation type="unfinished">Inglés</translation>
+        <translation>Engels</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="92"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="99"/>
         <source>German</source>
-        <translation type="unfinished">Alemán</translation>
+        <translation>Duits</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="93"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="100"/>
         <source>French</source>
-        <translation type="unfinished">Francés</translation>
+        <translation>Frans</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="94"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="101"/>
         <source>Hungarian</source>
-        <translation type="unfinished">Húngaro</translation>
+        <translation>Hongaars</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="95"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="102"/>
         <source>Dutch</source>
-        <translation type="unfinished">Holandés</translation>
+        <translation>Nederlands</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="96"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="103"/>
         <source>Russian</source>
-        <translation type="unfinished">Ruso</translation>
+        <translation>Russisch</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="97"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="104"/>
         <source>Polish</source>
-        <translation type="unfinished">Polaco</translation>
+        <translation>Pools</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="132"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="139"/>
         <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="135"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="142"/>
         <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="138"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="145"/>
         <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="141"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="148"/>
         <source>The specified database to load did not exist.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="144"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="151"/>
         <source>The specified database could not be loaded.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="147"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="154"/>
         <source>The specified profiles XML file did not exist.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="150"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="157"/>
         <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="153"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="160"/>
         <source>The specified translations XML file did not exist.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="156"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="163"/>
         <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="159"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="166"/>
         <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="162"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="169"/>
         <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="165"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="172"/>
         <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="168"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="175"/>
         <source>The profile and database do not work together.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="171"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="178"/>
         <source>The profile being used has not been validated.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="174"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="181"/>
         <source>The user specified profile contained invalid data.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="177"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="184"/>
         <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="180"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="187"/>
         <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="183"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="190"/>
         <source>Route calculation was aborted by user.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="189"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="196"/>
         <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="192"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="199"/>
         <source>Unknown error: %1</source>
-        <translation type="unfinished"></translation>
+        <translation>Onbekende fout: %1</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="204"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="211"/>
         <source>profile "%1"</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="205"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="212"/>
         <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="242"/>
-        <source>Warning...</source>
-        <translation type="unfinished">Aviso...</translation>
-    </message>
-    <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="242"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="249"/>
         <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="346"/>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="433"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="353"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="440"/>
         <source>Calculate route with %1</source>
-        <translation type="unfinished"></translation>
+        <translation>Bereken route met %1</translation>
     </message>
     <message>
-        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="354"/>
+        <location filename="../gis/rte/router/CRouterRoutino.cpp" line="361"/>
         <source><br/>Calculation time: %1s</source>
-        <translation type="unfinished"></translation>
+        <translation><br/>Berekenen tijd: %1s</translation>
     </message>
 </context>
 <context>
@@ -2337,22 +2329,18 @@ no es una definición de sistema de coordenadas válido:
         <source>Select routing data file path...</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <source>Select DEM file path...</source>
-        <translation type="obsolete">Seleccione la ruta al archivo DEM...</translation>
-    </message>
 </context>
 <context>
     <name>CRouterSetup</name>
     <message>
         <location filename="../gis/rte/router/CRouterSetup.cpp" line="36"/>
         <source>Routino (offline)</source>
-        <translation type="unfinished"></translation>
+        <translation>Routino (offline)</translation>
     </message>
     <message>
         <location filename="../gis/rte/router/CRouterSetup.cpp" line="37"/>
         <source>MapQuest (online)</source>
-        <translation type="unfinished"></translation>
+        <translation>MapQuest (online)</translation>
     </message>
 </context>
 <context>
@@ -2365,7 +2353,7 @@ no es una definición de sistema de coordenadas válido:
     <message>
         <location filename="../tool/CRoutinoDatabaseBuilder.cpp" line="62"/>
         <source>Select files...</source>
-        <translation type="unfinished">Seleccionar ficheros de origen...</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../tool/CRoutinoDatabaseBuilder.cpp" line="86"/>
@@ -2376,12 +2364,8 @@ no es una definición de sistema de coordenadas válido:
         <location filename="../tool/CRoutinoDatabaseBuilder.cpp" line="147"/>
         <source>!!! done !!!
 </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>!!! failed !!!
-</source>
-        <translation type="obsolete">!!! fallo !!!</translation>
+        <translation>!!! klaar !!!
+</translation>
     </message>
 </context>
 <context>
@@ -2389,27 +2373,12 @@ no es una definición de sistema de coordenadas válido:
     <message>
         <location filename="../gis/search/CSearchGoogle.cpp" line="118"/>
         <source>Unknown response</source>
-        <translation>Respuesta desconocida</translation>
+        <translation>Onbekende reactie</translation>
     </message>
     <message>
         <location filename="../gis/search/CSearchGoogle.cpp" line="128"/>
         <source>Error: </source>
-        <translation>Error: </translation>
-    </message>
-</context>
-<context>
-    <name>CSetupDB</name>
-    <message>
-        <source>Setup database...</source>
-        <translation type="obsolete">Configurar la base de datos...</translation>
-    </message>
-    <message>
-        <source>Changes will become active after an application's restart.</source>
-        <translation type="obsolete">Los cambios surtirán efecto tras reiniciar la aplicación.</translation>
-    </message>
-    <message>
-        <source>Select database path...</source>
-        <translation type="obsolete">Seleccione la ruta a la base de datos...</translation>
+        <translation>Fout: </translation>
     </message>
 </context>
 <context>
@@ -2417,22 +2386,22 @@ no es una definición de sistema de coordenadas válido:
     <message>
         <location filename="../gis/db/CSetupDatabase.cpp" line="70"/>
         <source>Error...</source>
-        <translation>Error...</translation>
+        <translation>Fout...</translation>
     </message>
     <message>
         <location filename="../gis/db/CSetupDatabase.cpp" line="70"/>
         <source>There is already a database with name '%1'</source>
-        <translation>Ya existe una base de datos con el nombre '%1'</translation>
+        <translation>Er is al een database met naam '%1'</translation>
     </message>
     <message>
         <location filename="../gis/db/CSetupDatabase.cpp" line="84"/>
         <source>New database...</source>
-        <translation>Nueva base de datos...</translation>
+        <translation>Nieuwe database...</translation>
     </message>
     <message>
         <location filename="../gis/db/CSetupDatabase.cpp" line="109"/>
         <source>Open database...</source>
-        <translation>Abrir base de datos...</translation>
+        <translation>Open database...</translation>
     </message>
 </context>
 <context>
@@ -2440,12 +2409,12 @@ no es una definición de sistema de coordenadas válido:
     <message>
         <location filename="../gis/db/CSetupWorkspace.cpp" line="51"/>
         <source>Setup database...</source>
-        <translation>Configurar la base de datos...</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../gis/db/CSetupWorkspace.cpp" line="51"/>
         <source>Changes will become active after an application's restart.</source>
-        <translation>Los cambios surtirán efecto tras reiniciar la aplicación.</translation>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -2453,7 +2422,7 @@ no es una definición de sistema de coordenadas válido:
     <message>
         <location filename="../helpers/CTextEditWidget.cpp" line="73"/>
         <source>&Color...</source>
-        <translation>&Color...</translation>
+        <translation>&Kleur...</translation>
     </message>
 </context>
 <context>
@@ -2461,113 +2430,139 @@ no es una definición de sistema de coordenadas válido:
     <message>
         <location filename="../IAbout.ui" line="14"/>
         <source>About....</source>
-        <translation>Acerca de...</translation>
+        <translation>Over...</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="43"/>
+        <location filename="../IAbout.ui" line="49"/>
         <source><b>QMapShack</b>, Version</source>
-        <translation><b>QMapShack</b>, Versión</translation>
+        <translation><b>QMapShack<b>, Versie</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="50"/>
-        <location filename="../IAbout.ui" line="94"/>
-        <location filename="../IAbout.ui" line="108"/>
-        <location filename="../IAbout.ui" line="122"/>
-        <location filename="../IAbout.ui" line="136"/>
+        <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"/>
         <source>TextLabel</source>
-        <translation type="unfinished"></translation>
+        <translation>TextLabel</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="87"/>
+        <location filename="../IAbout.ui" line="93"/>
         <source>Qt</source>
         <translation>Qt</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="101"/>
+        <location filename="../IAbout.ui" line="107"/>
         <source>GDAL</source>
         <translation>GDAL</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="115"/>
+        <location filename="../IAbout.ui" line="121"/>
         <source>Proj4</source>
         <translation>Proj4</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="129"/>
+        <location filename="../IAbout.ui" line="135"/>
         <source>Routino</source>
-        <translation type="unfinished"></translation>
+        <translation>Routino</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="154"/>
+        <location filename="../IAbout.ui" line="160"/>
         <source>Rainer Unseld </source>
-        <translation type="unfinished"></translation>
+        <translation>Rainer Unseld</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="161"/>
+        <location filename="../IAbout.ui" line="167"/>
         <source>French</source>
-        <translation type="unfinished">Francés</translation>
+        <translation>Frans</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="168"/>
+        <location filename="../IAbout.ui" line="174"/>
         <source>Czech</source>
-        <translation type="unfinished">Checo</translation>
+        <translation>Tsjechisch</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="175"/>
+        <location filename="../IAbout.ui" line="181"/>
         <source>Pavel Fric</source>
-        <translation type="unfinished"></translation>
+        <translation>Pavel Fric</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="182"/>
+        <location filename="../IAbout.ui" line="188"/>
         <source>German</source>
-        <translation type="unfinished">Alemán</translation>
+        <translation>Duits</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="189"/>
+        <location filename="../IAbout.ui" line="195"/>
         <source>Translation:</source>
-        <translation type="unfinished"></translation>
+        <translation>Vertaling:</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="196"/>
+        <location filename="../IAbout.ui" line="202"/>
         <source>Josef Latt</source>
-        <translation type="unfinished"></translation>
+        <translation>Josef Latt</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="203"/>
+        <location filename="../IAbout.ui" line="209"/>
         <source>Spanish</source>
-        <translation type="unfinished">Español</translation>
+        <translation>Spaans</translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="210"/>
+        <location filename="../IAbout.ui" line="216"/>
         <source>Jose Luis Domingo Lopez</source>
+        <translation>Jose Luis Domingo Lopez</translation>
+    </message>
+    <message>
+        <location filename="../IAbout.ui" line="234"/>
+        <source>Ivo Kronenberg</source>
+        <translation>Ivo Kronenberg</translation>
+    </message>
+    <message>
+        <location filename="../IAbout.ui" line="241"/>
+        <source>Helmut Schmidt</source>
+        <translation>Helmut Schmidt</translation>
+    </message>
+    <message>
+        <location filename="../IAbout.ui" line="248"/>
+        <source>Win64</source>
+        <translation>Win64</translation>
+    </message>
+    <message>
+        <location filename="../IAbout.ui" line="255"/>
+        <source>OS X</source>
+        <translation>OS X</translation>
+    </message>
+    <message>
+        <location filename="../IAbout.ui" line="262"/>
+        <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="226"/>
+        <location filename="../IAbout.ui" line="275"/>
+        <source>Binaries:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../IAbout.ui" line="291"/>
         <source>This software is licensed under GPL3 or any later version</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../IAbout.ui" line="233"/>
+        <location filename="../IAbout.ui" line="298"/>
         <source>© 2014 Oliver Eichler (oliver.eichler at gmx.de)</source>
-        <translation type="unfinished"></translation>
+        <translation>© 2014 Oliver Eichler (oliver.eichler at gmx.de)</translation>
     </message>
 </context>
 <context>
     <name>ICanvasSetup</name>
     <message>
-        <source>Setup Map Workspace...</source>
-        <translation type="obsolete">Configurar Espacio de Trabajo del Mapa...</translation>
-    </message>
-    <message>
         <location filename="../canvas/ICanvasSetup.ui" line="14"/>
         <source>Setup Map View...</source>
-        <translation>Configurar Vista de Mapa...</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../canvas/ICanvasSetup.ui" line="22"/>
         <source>Projection & Datum</source>
-        <translation>Proyección & Datum</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../canvas/ICanvasSetup.ui" line="32"/>
@@ -2595,7 +2590,7 @@ no es una definición de sistema de coordenadas válido:
     <message>
         <location filename="../gis/trk/ICombineTrk.ui" line="14"/>
         <source>Combine Tracks...</source>
-        <translation>Combinar Tracks...</translation>
+        <translation>Combineer tracks...</translation>
     </message>
     <message>
         <location filename="../gis/trk/ICombineTrk.ui" line="43"/>
@@ -2607,17 +2602,40 @@ no es una definición de sistema de coordenadas válido:
     </message>
 </context>
 <context>
+    <name>ICoordFormatSetup</name>
+    <message>
+        <location filename="../units/ICoordFormatSetup.ui" line="14"/>
+        <source>Coordinate Format...</source>
+        <translation>Coördinaat formaat...</translation>
+    </message>
+    <message>
+        <location filename="../units/ICoordFormatSetup.ui" line="22"/>
+        <source>N48° 53.660 E013° 31.113</source>
+        <translation>N48° 53.660 O013° 31.113</translation>
+    </message>
+    <message>
+        <location filename="../units/ICoordFormatSetup.ui" line="29"/>
+        <source>N48.8943° E013.51855°</source>
+        <translation>N48.8943° O013.51855°</translation>
+    </message>
+    <message>
+        <location filename="../units/ICoordFormatSetup.ui" line="36"/>
+        <source>N48° 53' 39.6" E13° 31' 6.78"</source>
+        <translation>N48° 53' 39.6" O13° 31' 6.78"</translation>
+    </message>
+</context>
+<context>
     <name>ICreateRouteFromWpt</name>
     <message>
         <location filename="../gis/rte/ICreateRouteFromWpt.ui" line="14"/>
         <source>Create Route from Waypoints</source>
-        <translation type="unfinished"></translation>
+        <translation>Maak route van waypoints</translation>
     </message>
     <message>
         <location filename="../gis/rte/ICreateRouteFromWpt.ui" line="30"/>
         <location filename="../gis/rte/ICreateRouteFromWpt.ui" line="50"/>
         <source>...</source>
-        <translation type="unfinished">...</translation>
+        <translation>...</translation>
     </message>
 </context>
 <context>
@@ -2625,7 +2643,7 @@ no es una definición de sistema de coordenadas válido:
     <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="unfinished"></translation>
     </message>
     <message>
         <location filename="../dem/IDemPathSetup.ui" line="31"/>
@@ -2644,17 +2662,17 @@ no es una definición de sistema de coordenadas válido:
     <message>
         <location filename="../dem/IDemPropSetup.ui" line="14"/>
         <source>Form</source>
-        <translation type="unfinished"></translation>
+        <translation>Formulier</translation>
     </message>
     <message>
         <location filename="../dem/IDemPropSetup.ui" line="35"/>
         <source><html><head/><body><p>Change opacity of map</p></body></html></source>
-        <translation><html><head/><body><p>Cambiar la opacidad del mapa</p></body></html></translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../dem/IDemPropSetup.ui" line="50"/>
         <source><html><head/><body><p>Click to use current scale as minimum scale to display the map.</p></body></html></source>
-        <translation><html><head/><body><p>Pulse para usar la escala actual como la escala mínima a la que mostrar el mapa.</p></body></html></translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../dem/IDemPropSetup.ui" line="53"/>
@@ -2665,22 +2683,22 @@ no es una definición de sistema de coordenadas válido:
     <message>
         <location filename="../dem/IDemPropSetup.ui" line="74"/>
         <source><html><head/><body><p>Control the range of scale the map is displayed. Use the two buttons left and right to define the actual scale as either minimum or maximum scale.</p></body></html></source>
-        <translation><html><head/><body><p>Controle el rango de escalas para las cuales desea que se muestre el mapa. Use los dos botones a izquierda y derecha para definir la escala actual como bien la escala mínima o máxima para el mapa.</p></body></html></translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../dem/IDemPropSetup.ui" line="87"/>
         <source><html><head/><body><p>Click to use current scale as maximum scale to display the map.</p></body></html></source>
-        <translation><html><head/><body><p>Pulse para usar la escala actual como la escala máxima a la que mostrar el mapa</p></body></html></translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../dem/IDemPropSetup.ui" line="118"/>
         <source>Hillshading</source>
-        <translation>Sombreado</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../dem/IDemPropSetup.ui" line="144"/>
         <source>Slope </source>
-        <translation>Pendiente</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../dem/IDemPropSetup.ui" line="186"/>
@@ -2695,7 +2713,7 @@ no es una definición de sistema de coordenadas válido:
         <location filename="../dem/IDemPropSetup.ui" line="297"/>
         <location filename="../dem/IDemPropSetup.ui" line="304"/>
         <source>TextLabel</source>
-        <translation type="unfinished"></translation>
+        <translation>Benaming</translation>
     </message>
 </context>
 <context>
@@ -2703,22 +2721,22 @@ no es una definición de sistema de coordenadas válido:
     <message>
         <location filename="../dem/IDemList.ui" line="14"/>
         <source>Form</source>
-        <translation type="unfinished"></translation>
+        <translation>Formulier</translation>
     </message>
     <message>
         <location filename="../dem/IDemList.ui" line="118"/>
         <source>To add files with elevation data use File->Setup DEM Paths. </source>
-        <translation>Para añadir archivos con información de elevación use Archivo->Configurar Rutas a los DEM. </translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../dem/IDemList.ui" line="131"/>
         <source>Use the context menu (right mouse button click on entry) to activate a file. Use drag-n-drop to move the activated file in the process order. </source>
-        <translation>Use el menú contextual (botón derecho del ratón y seleccione) para activar un archivo. Use arrastrar y soltar para mover el archivo activado en el orden de procesamiento.</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../dem/IDemList.ui" line="156"/>
         <source>Activate</source>
-        <translation>Activar</translation>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -2726,7 +2744,12 @@ no es una definición de sistema de coordenadas válido:
     <message>
         <location filename="../gis/wpt/IDetailsGeoCache.ui" line="20"/>
         <source>Dialog</source>
-        <translation type="unfinished"></translation>
+        <translation>Dialog</translation>
+    </message>
+    <message>
+        <location filename="../gis/wpt/IDetailsGeoCache.ui" line="40"/>
+        <source>Position:</source>
+        <translation>Positie:</translation>
     </message>
     <message>
         <location filename="../gis/wpt/IDetailsGeoCache.ui" line="47"/>
@@ -2745,29 +2768,19 @@ no es una definición de sistema de coordenadas válido:
         <translation>-</translation>
     </message>
     <message>
-        <location filename="../gis/wpt/IDetailsGeoCache.ui" line="267"/>
-        <source>about:blank</source>
-        <translation>about:blank</translation>
-    </message>
-    <message>
-        <location filename="../gis/wpt/IDetailsGeoCache.ui" line="40"/>
-        <source>Position:</source>
-        <translation>Posición:</translation>
-    </message>
-    <message>
         <location filename="../gis/wpt/IDetailsGeoCache.ui" line="60"/>
         <source>Difficulty</source>
-        <translation>Dificultad</translation>
+        <translation>Moeilijkheid</translation>
     </message>
     <message>
         <location filename="../gis/wpt/IDetailsGeoCache.ui" line="138"/>
         <source>Terrain</source>
-        <translation>Terreno</translation>
+        <translation>Terrein</translation>
     </message>
     <message>
         <location filename="../gis/wpt/IDetailsGeoCache.ui" line="214"/>
         <source>Update spoilers</source>
-        <translation type="unfinished"></translation>
+        <translation>Spoilers bijwerken</translation>
     </message>
     <message>
         <location filename="../gis/wpt/IDetailsGeoCache.ui" line="217"/>
@@ -2776,14 +2789,19 @@ no es una definición de sistema de coordenadas válido:
         <translation>...</translation>
     </message>
     <message>
+        <location filename="../gis/wpt/IDetailsGeoCache.ui" line="267"/>
+        <source>about:blank</source>
+        <translation>Over:leeg</translation>
+    </message>
+    <message>
         <location filename="../gis/wpt/IDetailsGeoCache.ui" line="293"/>
         <source>Hint:</source>
-        <translation>Consejo:</translation>
+        <translation>Hint:</translation>
     </message>
     <message>
         <location filename="../gis/wpt/IDetailsGeoCache.ui" line="324"/>
         <source>TextLabel</source>
-        <translation type="unfinished"></translation>
+        <translation>Benaming</translation>
     </message>
 </context>
 <context>
@@ -2791,7 +2809,7 @@ no es una definición de sistema de coordenadas válido:
     <message>
         <location filename="../gis/ovl/IDetailsOvlArea.ui" line="14"/>
         <source>Dialog</source>
-        <translation type="unfinished"></translation>
+        <translation>Dialog</translation>
     </message>
     <message>
         <location filename="../gis/ovl/IDetailsOvlArea.ui" line="44"/>
@@ -2801,7 +2819,7 @@ no es una definición de sistema de coordenadas válido:
     <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"><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>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../gis/ovl/IDetailsOvlArea.ui" line="85"/>
@@ -2816,42 +2834,42 @@ no es una definición de sistema de coordenadas válido:
     <message>
         <location filename="../gis/ovl/IDetailsOvlArea.ui" line="118"/>
         <source>Color</source>
-        <translation>Color</translation>
+        <translation>Kleur</translation>
     </message>
     <message>
         <location filename="../gis/ovl/IDetailsOvlArea.ui" line="139"/>
         <source>Border width</source>
-        <translation>Ancho del borde</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../gis/ovl/IDetailsOvlArea.ui" line="153"/>
         <source>Style</source>
-        <translation>Estilo</translation>
+        <translation>Stijl</translation>
     </message>
     <message>
         <location filename="../gis/ovl/IDetailsOvlArea.ui" line="172"/>
         <source>Opacity</source>
-        <translation>Opacidad</translation>
+        <translation>Transparantie</translation>
     </message>
     <message>
         <location filename="../gis/ovl/IDetailsOvlArea.ui" line="185"/>
         <source>Info</source>
-        <translation type="unfinished">Información</translation>
+        <translation>Info</translation>
     </message>
     <message>
         <location filename="../gis/ovl/IDetailsOvlArea.ui" line="214"/>
         <source>Points</source>
-        <translation>Puntos</translation>
+        <translation>Punten</translation>
     </message>
     <message>
         <location filename="../gis/ovl/IDetailsOvlArea.ui" line="241"/>
         <source>Position</source>
-        <translation>Posición</translation>
+        <translation>Positie</translation>
     </message>
     <message>
         <location filename="../gis/ovl/IDetailsOvlArea.ui" line="250"/>
         <source>Hist.</source>
-        <translation>Historial</translation>
+        <translation>Hist.</translation>
     </message>
 </context>
 <context>
@@ -2859,7 +2877,12 @@ no es una definición de sistema de coordenadas válido:
     <message>
         <location filename="../gis/prj/IDetailsPrj.ui" line="14"/>
         <source>Form</source>
-        <translation type="unfinished"></translation>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../gis/prj/IDetailsPrj.ui" line="43"/>
+        <source>Keywords:</source>
+        <translation>Sleutelwoorden:</translation>
     </message>
     <message>
         <location filename="../gis/prj/IDetailsPrj.ui" line="50"/>
@@ -2868,54 +2891,41 @@ no es una definición de sistema de coordenadas válido:
         <translation>-</translation>
     </message>
     <message>
-        <source>Sort By Time</source>
-        <translation type="obsolete">Ordenar por Fecha/Hora</translation>
-    </message>
-    <message>
-        <source>Keep Order of Project</source>
-        <translation type="obsolete">Mantener orden del proyecto</translation>
-    </message>
-    <message>
-        <location filename="../gis/prj/IDetailsPrj.ui" line="115"/>
-        <source>Print diary</source>
-        <translation>Imprimir diario</translation>
-    </message>
-    <message>
-        <location filename="../gis/prj/IDetailsPrj.ui" line="94"/>
-        <location filename="../gis/prj/IDetailsPrj.ui" line="118"/>
-        <location filename="../gis/prj/IDetailsPrj.ui" line="138"/>
-        <source>...</source>
-        <translation>...</translation>
-    </message>
-    <message>
         <location filename="../gis/prj/IDetailsPrj.ui" line="71"/>
         <source>Keep order of project</source>
-        <translation type="unfinished"></translation>
+        <translation>Behoud volgorde van project</translation>
     </message>
     <message>
         <location filename="../gis/prj/IDetailsPrj.ui" line="76"/>
         <source>Sort by time</source>
-        <translation type="unfinished"></translation>
+        <translation>Sorteer op tijd</translation>
     </message>
     <message>
         <location filename="../gis/prj/IDetailsPrj.ui" line="81"/>
         <source>Sort along track (multiple)</source>
-        <translation type="unfinished"></translation>
+        <translation>Sorteer langs route (multi)</translation>
     </message>
     <message>
         <location filename="../gis/prj/IDetailsPrj.ui" line="86"/>
         <source>Sort along track (single)</source>
+        <translation>Sorteer langs route (enkel)</translation>
+    </message>
+    <message>
+        <location filename="../gis/prj/IDetailsPrj.ui" line="94"/>
+        <location filename="../gis/prj/IDetailsPrj.ui" line="118"/>
+        <location filename="../gis/prj/IDetailsPrj.ui" line="138"/>
+        <source>...</source>
+        <translation>...</translation>
+    </message>
+    <message>
+        <location filename="../gis/prj/IDetailsPrj.ui" line="115"/>
+        <source>Print diary</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../gis/prj/IDetailsPrj.ui" line="135"/>
         <source>Rebuild diary.</source>
-        <translation>Recargar diario.</translation>
-    </message>
-    <message>
-        <location filename="../gis/prj/IDetailsPrj.ui" line="43"/>
-        <source>Keywords:</source>
-        <translation>Etiquetas:</translation>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -2923,17 +2933,17 @@ no es una definición de sistema de coordenadas válido:
     <message>
         <location filename="../gis/rte/IDetailsRte.ui" line="36"/>
         <source>Info</source>
-        <translation type="unfinished">Información</translation>
+        <translation>Info</translation>
     </message>
     <message>
         <location filename="../gis/rte/IDetailsRte.ui" line="65"/>
         <source>-</source>
-        <translation type="unfinished">-</translation>
+        <translation>-</translation>
     </message>
     <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"><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>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../gis/rte/IDetailsRte.ui" line="113"/>
@@ -2943,12 +2953,12 @@ no es una definición de sistema de coordenadas válido:
     <message>
         <location filename="../gis/rte/IDetailsRte.ui" line="116"/>
         <source>...</source>
-        <translation type="unfinished">...</translation>
+        <translation>...</translation>
     </message>
     <message>
         <location filename="../gis/rte/IDetailsRte.ui" line="173"/>
         <source>Hist.</source>
-        <translation type="unfinished">Historial</translation>
+        <translation>Hist.</translation>
     </message>
 </context>
 <context>
@@ -2956,7 +2966,7 @@ no es una definición de sistema de coordenadas válido:
     <message>
         <location filename="../gis/trk/IDetailsTrk.ui" line="14"/>
         <source>Form</source>
-        <translation type="unfinished"></translation>
+        <translation>Formulier</translation>
     </message>
     <message>
         <location filename="../gis/trk/IDetailsTrk.ui" line="56"/>
@@ -2970,28 +2980,28 @@ no es una definición de sistema de coordenadas válido:
     <message>
         <location filename="../gis/trk/IDetailsTrk.ui" line="203"/>
         <source>Graph Control</source>
-        <translation type="unfinished"></translation>
+        <translation>Grafieken</translation>
     </message>
     <message>
         <location filename="../gis/trk/IDetailsTrk.ui" line="224"/>
         <source>Profile</source>
-        <translation>Perfil</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../gis/trk/IDetailsTrk.ui" line="231"/>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="473"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="545"/>
         <source>Speed</source>
-        <translation>Velocidad</translation>
+        <translation>Snelheid</translation>
     </message>
     <message>
         <location filename="../gis/trk/IDetailsTrk.ui" line="238"/>
         <source>Progress</source>
-        <translation>Progreso</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../gis/trk/IDetailsTrk.ui" line="248"/>
         <source>Track</source>
-        <translation type="unfinished"></translation>
+        <translation>Track</translation>
     </message>
     <message>
         <location filename="../gis/trk/IDetailsTrk.ui" line="274"/>
@@ -3006,72 +3016,82 @@ no es una definición de sistema de coordenadas válido:
     <message>
         <location filename="../gis/trk/IDetailsTrk.ui" line="307"/>
         <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>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="335"/>
+        <source>-</source>
+        <translation>-</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="377"/>
+        <source>Info</source>
+        <translation>Info</translation>
     </message>
     <message>
         <location filename="../gis/trk/IDetailsTrk.ui" line="405"/>
+        <source>Activity</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="450"/>
+        <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"/>
         <source>Points</source>
-        <translation>Puntos</translation>
+        <translation>Punten</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="453"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="525"/>
         <source>Time</source>
-        <translation>Tiempo</translation>
+        <translation>Tijd</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="458"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="530"/>
         <source>Ele.</source>
-        <translation>Altitud</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="463"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="535"/>
         <source>Delta</source>
-        <translation>Delta</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="468"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="540"/>
         <source>Dist.</source>
-        <translation>Distancia</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="478"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="550"/>
         <source>Slope</source>
-        <translation>Pendiente</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="483"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="555"/>
         <source>Ascend</source>
-        <translation>Ascenso</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="488"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="560"/>
         <source>Descend</source>
-        <translation>Descenso</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="493"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="565"/>
         <source>Position</source>
-        <translation>Posición</translation>
-    </message>
-    <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="377"/>
-        <source>Info</source>
-        <translation>Información</translation>
-    </message>
-    <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="335"/>
-        <source>-</source>
-        <translation>-</translation>
+        <translation>Positie</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="502"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="574"/>
         <source>Filter</source>
-        <translation>Filtro</translation>
+        <translation>Filter</translation>
     </message>
     <message>
-        <location filename="../gis/trk/IDetailsTrk.ui" line="539"/>
+        <location filename="../gis/trk/IDetailsTrk.ui" line="611"/>
         <source>Hist.</source>
-        <translation>Historial</translation>
+        <translation>Hist.</translation>
     </message>
 </context>
 <context>
@@ -3082,27 +3102,14 @@ no es una definición de sistema de coordenadas válido:
         <translation type="unfinished"></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>
-    </message>
-    <message>
-        <location filename="../gis/wpt/IDetailsWpt.ui" line="224"/>
-        <location filename="../gis/wpt/IDetailsWpt.ui" line="279"/>
-        <location filename="../gis/wpt/IDetailsWpt.ui" line="299"/>
-        <location filename="../gis/wpt/IDetailsWpt.ui" line="331"/>
-        <source>...</source>
-        <translation>...</translation>
+        <location filename="../gis/wpt/IDetailsWpt.ui" line="43"/>
+        <source>Info</source>
+        <translation>Info</translation>
     </message>
     <message>
         <location filename="../gis/wpt/IDetailsWpt.ui" line="77"/>
         <source>Position:</source>
-        <translation>Posición:</translation>
-    </message>
-    <message>
-        <location filename="../gis/wpt/IDetailsWpt.ui" line="43"/>
-        <source>Info</source>
-        <translation type="unfinished">Información</translation>
+        <translation>Positie:</translation>
     </message>
     <message>
         <location filename="../gis/wpt/IDetailsWpt.ui" line="84"/>
@@ -3116,41 +3123,50 @@ no es una definición de sistema de coordenadas válido:
     <message>
         <location filename="../gis/wpt/IDetailsWpt.ui" line="97"/>
         <source>Ele.</source>
-        <translation></translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../gis/wpt/IDetailsWpt.ui" line="123"/>
         <source>Proximity:</source>
-        <translation>Proximidad:</translation>
+        <translation type="unfinished"></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><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>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/wpt/IDetailsWpt.ui" line="350"/>
-        <source>Hist.</source>
-        <translation type="unfinished">Historial</translation>
+        <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>
+    </message>
+    <message>
+        <location filename="../gis/wpt/IDetailsWpt.ui" line="224"/>
+        <location filename="../gis/wpt/IDetailsWpt.ui" line="279"/>
+        <location filename="../gis/wpt/IDetailsWpt.ui" line="299"/>
+        <location filename="../gis/wpt/IDetailsWpt.ui" line="331"/>
+        <source>...</source>
+        <translation>...</translation>
     </message>
     <message>
-        <source><html><head/><body><p>Read Only Mode</p></body></html></source>
-        <translation type="obsolete"><html><head/><body><p>Modo Sólo Lectura</p></body></html></translation>
+        <location filename="../gis/wpt/IDetailsWpt.ui" line="258"/>
+        <source>Date/Time:</source>
+        <translation>Datum/Tijd:</translation>
     </message>
     <message>
         <location filename="../gis/wpt/IDetailsWpt.ui" line="276"/>
         <source>Add images.</source>
-        <translation>Añadir imagenes.</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../gis/wpt/IDetailsWpt.ui" line="296"/>
         <source>Delete selected image.</source>
-        <translation>Eliminar imagen seleccionada.</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/wpt/IDetailsWpt.ui" line="258"/>
-        <source>Date/Time:</source>
-        <translation>Fecha/Hora:</translation>
+        <location filename="../gis/wpt/IDetailsWpt.ui" line="350"/>
+        <source>Hist.</source>
+        <translation>Hist.</translation>
     </message>
 </context>
 <context>
@@ -3158,12 +3174,12 @@ no es una definición de sistema de coordenadas válido:
     <message>
         <location filename="../helpers/IElevationDialog.ui" line="14"/>
         <source>Edit elevation...</source>
-        <translation>Editar altitud...</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../helpers/IElevationDialog.ui" line="22"/>
         <source>Elevation</source>
-        <translation>Altitud</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../helpers/IElevationDialog.ui" line="32"/>
@@ -3173,7 +3189,7 @@ no es una definición de sistema de coordenadas válido:
     <message>
         <location filename="../helpers/IElevationDialog.ui" line="39"/>
         <source>Get elevation from active digital elevation model.</source>
-        <translation>Obtener la altitud desde el DEM activo.</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../helpers/IElevationDialog.ui" line="42"/>
@@ -3186,17 +3202,17 @@ no es una definición de sistema de coordenadas válido:
     <message>
         <location filename="../gis/trk/filter/IFilterDelete.ui" line="14"/>
         <source>Form</source>
-        <translation type="unfinished"></translation>
+        <translation>Formulier</translation>
     </message>
     <message>
         <location filename="../gis/trk/filter/IFilterDelete.ui" line="51"/>
         <source><b>Remove Track Points</b></source>
-        <translation><b>Eliminar puntos del Track</b></translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../gis/trk/filter/IFilterDelete.ui" line="63"/>
         <source>Remove all hidden track points permanently.</source>
-        <translation>Eliminar todos los puntos ocultos del track definitavamente.</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../gis/trk/filter/IFilterDelete.ui" line="70"/>
@@ -3209,17 +3225,17 @@ no es una definición de sistema de coordenadas válido:
     <message>
         <location filename="../gis/trk/filter/IFilterDouglasPeuker.ui" line="14"/>
         <source>Form</source>
-        <translation type="unfinished"></translation>
+        <translation>Formulier</translation>
     </message>
     <message>
         <location filename="../gis/trk/filter/IFilterDouglasPeuker.ui" line="45"/>
         <source><b>Hide Points (Douglas Peuker)</b></source>
-        <translation><b>Ocultar Puntos (Douglas Peuker)</b></translation>
+        <translation type="unfinished"></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>Ocultar puntos del track si la distancia a una linea entre puntos vecinos es menor que</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../gis/trk/filter/IFilterDouglasPeuker.ui" line="70"/>
@@ -3229,7 +3245,7 @@ no es una definición de sistema de coordenadas válido:
     <message>
         <location filename="../gis/trk/filter/IFilterDouglasPeuker.ui" line="93"/>
         <source>Apply filter now.</source>
-        <translation>Aplicar filtro ahora.</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../gis/trk/filter/IFilterDouglasPeuker.ui" line="96"/>
@@ -3242,22 +3258,22 @@ no es una definición de sistema de coordenadas válido:
     <message>
         <location filename="../gis/trk/filter/IFilterMedian.ui" line="14"/>
         <source>Form</source>
-        <translation type="unfinished"></translation>
+        <translation>Formulier</translation>
     </message>
     <message>
         <location filename="../gis/trk/filter/IFilterMedian.ui" line="51"/>
         <source><b>Smooth Profile (Median Method)</b></source>
-        <translation><b>Suavizar Perfil (Mediana)</b></translation>
+        <translation type="unfinished"></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>Suavizar el desvio de la elevación de los puntos del track con la Mediana de</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../gis/trk/filter/IFilterMedian.ui" line="76"/>
         <source>points</source>
-        <translation>puntos</translation>
+        <translation>punten</translation>
     </message>
     <message>
         <location filename="../gis/trk/filter/IFilterMedian.ui" line="105"/>
@@ -3270,17 +3286,17 @@ no es una definición de sistema de coordenadas válido:
     <message>
         <location filename="../gis/trk/filter/IFilterNewDate.ui" line="14"/>
         <source>Form</source>
-        <translation type="unfinished"></translation>
+        <translation>Formulier</translation>
     </message>
     <message>
         <location filename="../gis/trk/filter/IFilterNewDate.ui" line="35"/>
         <source><b>Change Time</b></source>
-        <translation><b>Cambiar Fecha/hora</b></translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../gis/trk/filter/IFilterNewDate.ui" line="44"/>
         <source>Change start of track to </source>
-        <translation>Modificar el inicio del track a </translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../gis/trk/filter/IFilterNewDate.ui" line="51"/>
@@ -3290,7 +3306,7 @@ no es una definición de sistema de coordenadas válido:
     <message>
         <location filename="../gis/trk/filter/IFilterNewDate.ui" line="61"/>
         <source>-</source>
-        <translation type="unfinished">-</translation>
+        <translation>-</translation>
     </message>
     <message>
         <location filename="../gis/trk/filter/IFilterNewDate.ui" line="81"/>
@@ -3303,27 +3319,27 @@ no es una definición de sistema de coordenadas válido:
     <message>
         <location filename="../gis/trk/filter/IFilterObscureDate.ui" line="14"/>
         <source>Form</source>
-        <translation type="unfinished"></translation>
+        <translation>Formulier</translation>
     </message>
     <message>
         <location filename="../gis/trk/filter/IFilterObscureDate.ui" line="45"/>
         <source><b>Obscure Timestamps</b></source>
-        <translation><b>Ocultar Marcas de tiempo</b></translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../gis/trk/filter/IFilterObscureDate.ui" line="54"/>
         <source>Increase timestamp by</source>
-        <translation>Incrementar marca de tiempo en</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../gis/trk/filter/IFilterObscureDate.ui" line="61"/>
         <source> sec.</source>
-        <translation></translation>
+        <translation> sec.</translation>
     </message>
     <message>
         <location filename="../gis/trk/filter/IFilterObscureDate.ui" line="68"/>
         <source>with each track point. 0 sec. will remove timestamps.</source>
-        <translation>con cada punto del track. ( 0 sec. eliminará las marcas de tiempo).</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../gis/trk/filter/IFilterObscureDate.ui" line="88"/>
@@ -3336,22 +3352,22 @@ no es una definición de sistema de coordenadas válido:
     <message>
         <location filename="../gis/trk/filter/IFilterOffsetElevation.ui" line="14"/>
         <source>Form</source>
-        <translation type="unfinished"></translation>
+        <translation>Formulier</translation>
     </message>
     <message>
         <location filename="../gis/trk/filter/IFilterOffsetElevation.ui" line="51"/>
         <source><b>Offset Elevation</b></source>
-        <translation><b>Desplazar Elevación</b></translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../gis/trk/filter/IFilterOffsetElevation.ui" line="69"/>
         <source>Add offset of</source>
-        <translation>Añadir corrección de </translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../gis/trk/filter/IFilterOffsetElevation.ui" line="95"/>
         <source>to track points elevation.</source>
-        <translation>a la elevación de los puntos del track.</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../gis/trk/filter/IFilterOffsetElevation.ui" line="115"/>
@@ -3364,17 +3380,17 @@ no es una definición de sistema de coordenadas válido:
     <message>
         <location filename="../gis/trk/filter/IFilterReplaceElevation.ui" line="14"/>
         <source>Form</source>
-        <translation type="unfinished"></translation>
+        <translation>Formulier</translation>
     </message>
     <message>
         <location filename="../gis/trk/filter/IFilterReplaceElevation.ui" line="51"/>
         <source><b>Replace Elevation Data</b></source>
-        <translation><b>Reemplazar Datos de Elevación</b></translation>
+        <translation type="unfinished"></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>Reemplazar elevación de los puntos del track utilizando los valores del fichero DEM cargado.</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../gis/trk/filter/IFilterReplaceElevation.ui" line="70"/>
@@ -3387,17 +3403,17 @@ no es una definición de sistema de coordenadas válido:
     <message>
         <location filename="../gis/trk/filter/IFilterReset.ui" line="14"/>
         <source>Form</source>
-        <translation type="unfinished"></translation>
+        <translation>Formulier</translation>
     </message>
     <message>
         <location filename="../gis/trk/filter/IFilterReset.ui" line="35"/>
         <source><b>Reset Hidden Track Points</b></source>
-        <translation><b>Restaurar Puntos Ocultos del Track</b></translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../gis/trk/filter/IFilterReset.ui" line="47"/>
         <source>Make all trackpoints visible again.</source>
-        <translation>Hacer visibles de nuevo todos los puntos del track.</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../gis/trk/filter/IFilterReset.ui" line="54"/>
@@ -3410,22 +3426,22 @@ no es una definición de sistema de coordenadas válido:
     <message>
         <location filename="../gis/trk/filter/IFilterSpeed.ui" line="14"/>
         <source>Form</source>
-        <translation type="unfinished"></translation>
+        <translation>Formulier</translation>
     </message>
     <message>
         <location filename="../gis/trk/filter/IFilterSpeed.ui" line="35"/>
         <source><b>Change Speed</b></source>
-        <translation><b>Modificar Velocidad</b></translation>
+        <translation><b>Verander snelheid</b></translation>
     </message>
     <message>
         <location filename="../gis/trk/filter/IFilterSpeed.ui" line="44"/>
         <source>Set speed to </source>
-        <translation>Ajustar velocidad a </translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../gis/trk/filter/IFilterSpeed.ui" line="51"/>
         <source> km/h</source>
-        <translation></translation>
+        <translation> km/u</translation>
     </message>
     <message>
         <location filename="../gis/trk/filter/IFilterSpeed.ui" line="102"/>
@@ -3438,18 +3454,18 @@ no es una definición de sistema de coordenadas válido:
     <message>
         <location filename="../gis/IGisWidget.ui" line="14"/>
         <source>Form</source>
-        <translation type="unfinished"></translation>
+        <translation>Formulier</translation>
     </message>
     <message>
         <location filename="../gis/IGisWidget.ui" line="69"/>
         <location filename="../gis/IGisWidget.ui" line="99"/>
         <source>Name</source>
-        <translation>Nombre</translation>
+        <translation>Naam</translation>
     </message>
     <message>
         <location filename="../gis/IGisWidget.ui" line="133"/>
         <source>To add a database do a right click on the database list above.</source>
-        <translation>Para añadir una base de datos haga click-derecho en el espacio superior.  </translation>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -3457,17 +3473,17 @@ no es una definición de sistema de coordenadas válido:
     <message>
         <location filename="../grid/IGridSetup.ui" line="14"/>
         <source>Setup Grid...</source>
-        <translation>Configurar Malla...</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../grid/IGridSetup.ui" line="22"/>
         <source>Projection</source>
-        <translation>Proyección</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../grid/IGridSetup.ui" line="37"/>
         <source>restore default</source>
-        <translation>restaurar predeterminado</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../grid/IGridSetup.ui" line="40"/>
@@ -3480,22 +3496,22 @@ no es una definición de sistema de coordenadas válido:
     <message>
         <location filename="../grid/IGridSetup.ui" line="63"/>
         <source>Get projection from current map.</source>
-        <translation>Obtener la proyección desde el mapa actual.</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../grid/IGridSetup.ui" line="89"/>
         <source>projection wizzard</source>
-        <translation>asistente de proyección</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../grid/IGridSetup.ui" line="130"/>
         <source>Grid color</source>
-        <translation>Color de la malla</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../grid/IGridSetup.ui" line="143"/>
         <source>setup grid color</source>
-        <translation>configurar el color de la malla</translation>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -3503,12 +3519,18 @@ no es una definición de sistema de coordenadas válido:
     <message>
         <location filename="../tool/IImportDatabase.ui" line="14"/>
         <source>Form</source>
-        <translation type="unfinished"></translation>
+        <translation>Formulier</translation>
+    </message>
+    <message>
+        <location filename="../tool/IImportDatabase.ui" line="22"/>
+        <location filename="../tool/IImportDatabase.ui" line="63"/>
+        <source>...</source>
+        <translation>...</translation>
     </message>
     <message>
         <location filename="../tool/IImportDatabase.ui" line="45"/>
         <source>Source Database:</source>
-        <translation>Origen de Base de datos:</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../tool/IImportDatabase.ui" line="52"/>
@@ -3517,20 +3539,14 @@ no es una definición de sistema de coordenadas válido:
         <translation>-</translation>
     </message>
     <message>
-        <location filename="../tool/IImportDatabase.ui" line="22"/>
-        <location filename="../tool/IImportDatabase.ui" line="63"/>
-        <source>...</source>
-        <translation>...</translation>
-    </message>
-    <message>
         <location filename="../tool/IImportDatabase.ui" line="86"/>
         <source>Target Database:</source>
-        <translation>Destino de Base de Datos:</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../tool/IImportDatabase.ui" line="102"/>
         <source>Start</source>
-        <translation>Comenzar</translation>
+        <translation>Start</translation>
     </message>
 </context>
 <context>
@@ -3538,12 +3554,12 @@ no es una definición de sistema de coordenadas válido:
     <message>
         <location filename="../helpers/IInputDialog.ui" line="14"/>
         <source>Edit...</source>
-        <translation>Editar...</translation>
+        <translation>Bewerken...</translation>
     </message>
     <message>
         <location filename="../helpers/IInputDialog.ui" line="20"/>
         <source>TextLabel</source>
-        <translation type="unfinished"></translation>
+        <translation>Benaming</translation>
     </message>
 </context>
 <context>
@@ -3556,17 +3572,17 @@ no es una definición de sistema de coordenadas válido:
     <message>
         <location filename="../helpers/ILinksDialog.ui" line="23"/>
         <source>Type</source>
-        <translation>Tipo</translation>
+        <translation>Soort</translation>
     </message>
     <message>
         <location filename="../helpers/ILinksDialog.ui" line="28"/>
         <source>Text</source>
-        <translation>Texto</translation>
+        <translation>Tekst</translation>
     </message>
     <message>
         <location filename="../helpers/ILinksDialog.ui" line="33"/>
         <source>Uri</source>
-        <translation>Uri</translation>
+        <translation>URL</translation>
     </message>
     <message>
         <location filename="../helpers/ILinksDialog.ui" line="43"/>
@@ -3585,292 +3601,315 @@ no es una definición de sistema de coordenadas válido:
     <message>
         <location filename="../IMainWindow.ui" line="63"/>
         <source>File</source>
-        <translation>Archivo</translation>
+        <translation>Bestand</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="78"/>
+        <location filename="../IMainWindow.ui" line="80"/>
         <source>View</source>
-        <translation>Ver</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="99"/>
+        <location filename="../IMainWindow.ui" line="102"/>
         <source>Window</source>
-        <translation>Ventana</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="104"/>
+        <location filename="../IMainWindow.ui" line="107"/>
         <source>?</source>
         <translation>?</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="111"/>
+        <location filename="../IMainWindow.ui" line="114"/>
         <source>Project</source>
-        <translation>Proyecto</translation>
+        <translation>Project</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="121"/>
+        <location filename="../IMainWindow.ui" line="124"/>
         <source>Tool</source>
-        <translation>Herramientas</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="146"/>
+        <location filename="../IMainWindow.ui" line="149"/>
         <source>Maps</source>
-        <translation>Mapas</translation>
+        <translation>Kaarten</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="189"/>
+        <location filename="../IMainWindow.ui" line="192"/>
         <source>Dig. Elev. Model (DEM)</source>
-        <translation>Modelo Digital del Terreno (DEM)</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="228"/>
+        <location filename="../IMainWindow.ui" line="231"/>
         <source>Data</source>
-        <translation>Datos</translation>
-    </message>
-    <message>
-        <source>Add Map Workspace</source>
-        <translation type="obsolete">Añadir Espacio de Trabajo de Mapa</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="246"/>
+        <location filename="../IMainWindow.ui" line="249"/>
         <source>Route</source>
-        <translation type="unfinished"></translation>
+        <translation>Route</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="280"/>
         <location filename="../IMainWindow.ui" line="283"/>
+        <location filename="../IMainWindow.ui" line="286"/>
         <source>Add Map View</source>
-        <translation>Añadir Vista de Mapa</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="286"/>
+        <location filename="../IMainWindow.ui" line="289"/>
         <source>Ctrl+T</source>
         <translation>Ctrl+T</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="298"/>
+        <location filename="../IMainWindow.ui" line="301"/>
         <source>Show Scale</source>
-        <translation>Mostrar Escala</translation>
+        <translation>Toon schaal</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="307"/>
+        <location filename="../IMainWindow.ui" line="310"/>
         <source>Setup Map Font</source>
-        <translation>Configurar Fuente del Mapa</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="319"/>
+        <location filename="../IMainWindow.ui" line="322"/>
         <source>Show Grid</source>
-        <translation>Mostrar Malla</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="322"/>
+        <location filename="../IMainWindow.ui" line="325"/>
         <source>Ctrl+G</source>
         <translation>Ctrl+G</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="331"/>
+        <location filename="../IMainWindow.ui" line="334"/>
         <source>Setup Grid</source>
-        <translation>Configurar Malla</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="334"/>
+        <location filename="../IMainWindow.ui" line="337"/>
         <source>Ctrl+Alt+G</source>
         <translation>Ctrl+Alt+G</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="346"/>
+        <location filename="../IMainWindow.ui" line="349"/>
         <source>Flip Mouse Wheel</source>
-        <translation>Invertir la Rueda del Ratón</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="355"/>
         <location filename="../IMainWindow.ui" line="358"/>
+        <location filename="../IMainWindow.ui" line="361"/>
         <source>Setup Map Paths</source>
-        <translation>Configurar Rutas de Mapas</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="370"/>
+        <location filename="../IMainWindow.ui" line="373"/>
         <source>POI Text</source>
-        <translation>Texto del POI</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="382"/>
+        <location filename="../IMainWindow.ui" line="385"/>
         <source>Night / Day</source>
-        <translation>Noche / Día</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="394"/>
+        <location filename="../IMainWindow.ui" line="397"/>
         <source>Map Tool Tip</source>
-        <translation>Mostrar Tooltips en los Mapas</translation>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../IMainWindow.ui" line="400"/>
+        <source>Ctrl+I</source>
+        <translation>Ctrl+I</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="403"/>
+        <location filename="../IMainWindow.ui" line="409"/>
         <source>Setup DEM Paths</source>
-        <translation>Configurar Rutas a los DEM</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="412"/>
+        <location filename="../IMainWindow.ui" line="418"/>
         <source>About</source>
-        <translation>Acerca de</translation>
+        <translation>Over</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="421"/>
+        <location filename="../IMainWindow.ui" line="427"/>
         <source>Help</source>
-        <translation>Ayuda</translation>
+        <translation>Help</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="430"/>
-        <location filename="../IMainWindow.ui" line="433"/>
+        <location filename="../IMainWindow.ui" line="436"/>
+        <location filename="../IMainWindow.ui" line="439"/>
         <source>Setup Map View</source>
-        <translation>Configurar Vista de Mapa</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="547"/>
-        <source>VRT Builder</source>
-        <translation>Asistente VRT</translation>
+        <location filename="../IMainWindow.ui" line="448"/>
+        <source>Load GIS Data</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="550"/>
-        <source>GUI front end to gdalbuildvrt</source>
+        <location filename="../IMainWindow.ui" line="451"/>
+        <source>Load projects from file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="559"/>
-        <source>Store Map View</source>
+        <location filename="../IMainWindow.ui" line="454"/>
+        <source>Ctrl+L</source>
+        <translation>Ctrl+L</translation>
+    </message>
+    <message>
+        <location filename="../IMainWindow.ui" line="463"/>
+        <source>Save All GIS Data</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="562"/>
-        <source>Write current active map and DEM list including the properties to a file</source>
+        <location filename="../IMainWindow.ui" line="466"/>
+        <source>Save all projects in the workspace</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="571"/>
-        <source>Load Map View</source>
+        <location filename="../IMainWindow.ui" line="469"/>
+        <source>Ctrl+S</source>
+        <translation>Ctrl+S</translation>
+    </message>
+    <message>
+        <location filename="../IMainWindow.ui" line="478"/>
+        <source>Setup Time Zone</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="574"/>
-        <source>Restore view with active map and DEM list including the properties from a file</source>
+        <location filename="../IMainWindow.ui" line="487"/>
+        <source>Add empty project</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="586"/>
-        <source>Ext. Profile</source>
+        <location filename="../IMainWindow.ui" line="499"/>
+        <source>Search Google</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="589"/>
-        <source>Ctrl+E</source>
-        <translation type="unfinished">Ctrl+E</translation>
+        <location filename="../IMainWindow.ui" line="508"/>
+        <source>Close all projects</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="598"/>
-        <source>Close</source>
-        <translation type="unfinished">Cerrar</translation>
+        <location filename="../IMainWindow.ui" line="511"/>
+        <source>F8</source>
+        <translation>F8</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="607"/>
-        <source>Clone Map View</source>
+        <location filename="../IMainWindow.ui" line="520"/>
+        <source>Setup Units</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="610"/>
-        <source>Ctrl+Shift+T</source>
+        <location filename="../IMainWindow.ui" line="529"/>
+        <source>Setup Workspace</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="619"/>
-        <source>Create Routino Database</source>
+        <location filename="../IMainWindow.ui" line="532"/>
+        <source>Setup save on exit.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Setup Map Workspace</source>
-        <translation type="obsolete">Configurar Espacio de Trabajo de Mapas</translation>
+        <location filename="../IMainWindow.ui" line="541"/>
+        <source>Import Database from QLandkarte</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="442"/>
-        <source>Load GIS Data</source>
-        <translation>Cargar Datos GIS</translation>
+        <location filename="../IMainWindow.ui" line="544"/>
+        <source>Import QLandkarte GT database</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="445"/>
-        <source>Load projects from file</source>
-        <translation>Cargar proyectos desde archivo</translation>
+        <location filename="../IMainWindow.ui" line="553"/>
+        <source>VRT Builder</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="448"/>
-        <source>Ctrl+L</source>
-        <translation>Ctrl+L</translation>
+        <location filename="../IMainWindow.ui" line="556"/>
+        <source>GUI front end to gdalbuildvrt</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="457"/>
-        <source>Save All GIS Data</source>
-        <translation>Guardar Todos los Datos GIS</translation>
+        <location filename="../IMainWindow.ui" line="565"/>
+        <source>Store Map View</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="460"/>
-        <source>Save all projects in the workspace</source>
-        <translation>Guardar todos los proyectos del espacio de trabajo</translation>
+        <location filename="../IMainWindow.ui" line="568"/>
+        <source>Write current active map and DEM list including the properties to a file</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="463"/>
-        <source>Ctrl+S</source>
-        <translation>Ctrl+S</translation>
+        <location filename="../IMainWindow.ui" line="577"/>
+        <source>Load Map View</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="472"/>
-        <source>Setup Time Zone</source>
-        <translation>Configurar Zona Horaria</translation>
+        <location filename="../IMainWindow.ui" line="580"/>
+        <source>Restore view with active map and DEM list including the properties from a file</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="481"/>
-        <source>Add empty project</source>
-        <translation>Añadir proyecto vacío</translation>
+        <location filename="../IMainWindow.ui" line="592"/>
+        <source>Ext. Profile</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="493"/>
-        <source>Search Google</source>
-        <translation>Buscar en Google</translation>
+        <location filename="../IMainWindow.ui" line="595"/>
+        <source>Ctrl+E</source>
+        <translation>Ctrl+E</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="502"/>
-        <source>Close all projects</source>
-        <translation>Cerrar todos los proyectos</translation>
+        <location filename="../IMainWindow.ui" line="604"/>
+        <source>Close</source>
+        <translation>Sluiten</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="505"/>
-        <source>F8</source>
+        <location filename="../IMainWindow.ui" line="607"/>
+        <source>Ctrl+Q</source>
+        <translation>Ctrl+Q</translation>
+    </message>
+    <message>
+        <location filename="../IMainWindow.ui" line="616"/>
+        <source>Clone Map View</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="514"/>
-        <source>Setup Units</source>
-        <translation>Configurar Unidades</translation>
+        <location filename="../IMainWindow.ui" line="619"/>
+        <source>Ctrl+Shift+T</source>
+        <translation>Ctrl+Shift+T</translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="523"/>
-        <source>Setup Workspace</source>
-        <translation>Configurar Espacio de trabajo</translation>
+        <location filename="../IMainWindow.ui" line="628"/>
+        <source>Create Routino Database</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="526"/>
-        <source>Setup save on exit.</source>
+        <location filename="../IMainWindow.ui" line="637"/>
+        <source>Save(Print) Map Screenshot</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="535"/>
-        <source>Import Database from QLandkarte</source>
-        <translation>Importar base de datos de Qlandkarte</translation>
+        <location filename="../IMainWindow.ui" line="640"/>
+        <source>Print a selected area of the map</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../IMainWindow.ui" line="538"/>
-        <source>Import QLandkarte GT database</source>
+        <location filename="../IMainWindow.ui" line="643"/>
+        <source>Ctrl+P</source>
+        <translation>Ctrl+P</translation>
+    </message>
+    <message>
+        <location filename="../IMainWindow.ui" line="652"/>
+        <source>Setup Coord. Format</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Setup Database</source>
-        <translation type="obsolete">Configurar Base de Datos</translation>
+        <location filename="../IMainWindow.ui" line="655"/>
+        <source>Change the format coordinates are displayed</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -3878,17 +3917,17 @@ no es una definición de sistema de coordenadas válido:
     <message>
         <location filename="../map/IMapList.ui" line="14"/>
         <source>Form</source>
-        <translation type="unfinished"></translation>
+        <translation>Formulier</translation>
     </message>
     <message>
         <location filename="../map/IMapList.ui" line="103"/>
         <source>To add maps use File->Setup Map Paths. </source>
-        <translation>Para añadir mapas use Archivo->Configurar Rutas de Mapas. </translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../map/IMapList.ui" line="116"/>
         <source>Use the context menu (right mouse button click on entry) to activate a map. Use drag-n-drop to move the activated map in the draw order. </source>
-        <translation>Use el menú contextual (botón derecho del ratón, y seleccione) para activar un mapa. Use arrastrar y soltar para mover el mapa activado en el orden de dibujado. </translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../map/IMapList.ui" line="129"/>
@@ -3899,7 +3938,7 @@ I don't want to read the documentation!</source>
     <message>
         <location filename="../map/IMapList.ui" line="149"/>
         <source>Activate</source>
-        <translation>Activar</translation>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -3907,7 +3946,7 @@ I don't want to read the documentation!</source>
     <message>
         <location filename="../map/IMapPathSetup.ui" line="14"/>
         <source>Setup map paths</source>
-        <translation>Configurar rutas de mapas</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../map/IMapPathSetup.ui" line="20"/>
@@ -3915,6 +3954,12 @@ I don't want to read the documentation!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location filename="../map/IMapPathSetup.ui" line="29"/>
+        <location filename="../map/IMapPathSetup.ui" line="154"/>
+        <source>-</source>
+        <translation>-</translation>
+    </message>
+    <message>
         <location filename="../map/IMapPathSetup.ui" line="36"/>
         <location filename="../map/IMapPathSetup.ui" line="73"/>
         <location filename="../map/IMapPathSetup.ui" line="93"/>
@@ -3927,29 +3972,23 @@ I don't want to read the documentation!</source>
 I don't want to read the documentation!</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location filename="../map/IMapPathSetup.ui" line="29"/>
-        <location filename="../map/IMapPathSetup.ui" line="154"/>
-        <source>-</source>
-        <translation>-</translation>
-    </message>
 </context>
 <context>
     <name>IMapPropSetup</name>
     <message>
         <location filename="../map/IMapPropSetup.ui" line="14"/>
         <source>Form</source>
-        <translation type="unfinished"></translation>
+        <translation>Formulier</translation>
     </message>
     <message>
         <location filename="../map/IMapPropSetup.ui" line="35"/>
         <source><html><head/><body><p>Change opacity of map</p></body></html></source>
-        <translation><html><head/><body><p>Cambiar la opacidad del mapa</p></body></html></translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../map/IMapPropSetup.ui" line="50"/>
         <source><html><head/><body><p>Click to use current scale as minimum scale to display the map.</p></body></html></source>
-        <translation><html><head/><body><p>Pulse para usar la escala actual como la escala mínima a la que mostrar el mapa.</p></body></html></translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../map/IMapPropSetup.ui" line="53"/>
@@ -3960,27 +3999,37 @@ I don't want to read the documentation!</source>
     <message>
         <location filename="../map/IMapPropSetup.ui" line="74"/>
         <source><html><head/><body><p>Control the range of scale the map is displayed. Use the two buttons left and right to define the actual scale as either minimum or maximum scale.</p></body></html></source>
-        <translation><html><head/><body><p>Controle el rango de escalas para las cuales desea que se muestre el mapa. Use los dos botones a izquierda y derecha para definir la escala actual como bien la escala mínima o máxima para el mapa.</p></body></html></translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../map/IMapPropSetup.ui" line="87"/>
         <source><html><head/><body><p>Click to use current scale as maximum scale to display the map.</p></body></html></source>
-        <translation><html><head/><body><p>Pulse para usar la escala actual como la escala máxima a la que mostrar el mapa.</p></body></html></translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../map/IMapPropSetup.ui" line="137"/>
         <source>Areas</source>
-        <translation>Áreas</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../map/IMapPropSetup.ui" line="144"/>
         <source>Lines</source>
-        <translation>Líneas</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../map/IMapPropSetup.ui" line="151"/>
         <source>Points</source>
-        <translation>Puntos</translation>
+        <translation>Punten</translation>
+    </message>
+    <message>
+        <location filename="../map/IMapPropSetup.ui" line="196"/>
+        <source>Cache Size (MB)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../map/IMapPropSetup.ui" line="216"/>
+        <source>Expiration (Days)</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../map/IMapPropSetup.ui" line="233"/>
@@ -3992,23 +4041,13 @@ I don't want to read the documentation!</source>
         <source>Cache Path</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location filename="../map/IMapPropSetup.ui" line="196"/>
-        <source>Cache Size (MB)</source>
-        <translation>Tamaño de Caché (MiB)</translation>
-    </message>
-    <message>
-        <location filename="../map/IMapPropSetup.ui" line="216"/>
-        <source>Expiration (Days)</source>
-        <translation>Caducidad (Días)</translation>
-    </message>
 </context>
 <context>
     <name>IMapVrtBuilder</name>
     <message>
         <location filename="../tool/IMapVrtBuilder.ui" line="14"/>
         <source>Form</source>
-        <translation type="unfinished"></translation>
+        <translation>Formulier</translation>
     </message>
     <message>
         <location filename="../tool/IMapVrtBuilder.ui" line="22"/>
@@ -4019,12 +4058,12 @@ I don't want to read the documentation!</source>
     <message>
         <location filename="../tool/IMapVrtBuilder.ui" line="39"/>
         <source>Select source files:</source>
-        <translation>Seleccionar ficheros de origen:</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../tool/IMapVrtBuilder.ui" line="79"/>
         <source>Target Filename:</source>
-        <translation>Fichero de destino:</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../tool/IMapVrtBuilder.ui" line="86"/>
@@ -4034,84 +4073,68 @@ I don't want to read the documentation!</source>
     <message>
         <location filename="../tool/IMapVrtBuilder.ui" line="95"/>
         <source>Start</source>
-        <translation>Comenzar</translation>
+        <translation>Start</translation>
     </message>
 </context>
 <context>
     <name>IMouseEditLine</name>
     <message>
-        <source>Add points?</source>
-        <translation type="obsolete">¿Añadir puntos?</translation>
-    </message>
-    <message>
-        <source>Add points to temporary line?</source>
-        <translation type="obsolete">¿Añadir puntos a la línea temporal?</translation>
-    </message>
-    <message>
-        <source>Warning!</source>
-        <translation type="obsolete">¡Cuidado!</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="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="242"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="253"/>
         <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="283"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="293"/>
         <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="292"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="302"/>
         <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="301"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="311"/>
         <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="310"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="320"/>
         <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="319"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="329"/>
         <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="324"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="334"/>
         <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="329"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="339"/>
         <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="485"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="498"/>
         <source><b>%1 Metrics</b></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mouse/line/IMouseEditLine.cpp" line="488"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="501"/>
         <source>Distance:</source>
-        <translation type="unfinished"></translation>
+        <translation>Afstand:</translation>
     </message>
     <message>
-        <location filename="../mouse/line/IMouseEditLine.cpp" line="490"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="503"/>
         <source>Ascend:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mouse/line/IMouseEditLine.cpp" line="492"/>
+        <location filename="../mouse/line/IMouseEditLine.cpp" line="505"/>
         <source>Descend:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4121,7 +4144,7 @@ I don't want to read the documentation!</source>
     <message>
         <location filename="../helpers/IPhotoAlbum.ui" line="20"/>
         <source>Form</source>
-        <translation></translation>
+        <translation>Formulier</translation>
     </message>
     <message>
         <location filename="../helpers/IPhotoAlbum.ui" line="50"/>
@@ -4133,22 +4156,27 @@ I don't want to read the documentation!</source>
 <context>
     <name>IPlot</name>
     <message>
-        <location filename="../plot/IPlot.cpp" line="108"/>
+        <location filename="../plot/IPlot.cpp" line="110"/>
+        <source>Reset Zoom</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../plot/IPlot.cpp" line="111"/>
         <source>Stop Range</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../plot/IPlot.cpp" line="109"/>
+        <location filename="../plot/IPlot.cpp" line="112"/>
         <source>Save...</source>
-        <translation type="unfinished"></translation>
+        <translation>Opslaan...</translation>
     </message>
     <message>
-        <location filename="../plot/IPlot.cpp" line="602"/>
+        <location filename="../plot/IPlot.cpp" line="630"/>
         <source>No or bad data.</source>
-        <translation>Datos incorrectos o inexistentes.</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../plot/IPlot.cpp" line="1128"/>
+        <location filename="../plot/IPlot.cpp" line="1215"/>
         <source>Select output file</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4158,12 +4186,12 @@ I don't want to read the documentation!</source>
     <message>
         <location filename="../helpers/IPositionDialog.ui" line="14"/>
         <source>Position ...</source>
-        <translation>Posición ...</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../helpers/IPositionDialog.ui" line="20"/>
         <source>Enter new position</source>
-        <translation>Introduzca la nueva posición</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../helpers/IPositionDialog.ui" line="30"/>
@@ -4171,10 +4199,35 @@ I don't want to read the documentation!</source>
 "[N|S] ddd mm.sss [W|E] ddd mm.sss"
 or
 "[N|S] ddd.ddd [W|E] ddd.ddd"</source>
-        <translation>Formato de posición incorrecto. Debe ser: 
-"[N|S] ggg mm.sss [W|E] ggg mm.sss"
-o
-"[N|S] ggg.ggg [W|E] ggg.ggg"</translation>
+        <translation>Verkeerde invoer. Moet zijn: 
+"[N|Z] ddd mm.sss [W|O] ddd mm.sss"
+of
+"[N|Z] ddd.ddd [W|O] ddd.ddd"</translation>
+    </message>
+</context>
+<context>
+    <name>IPrintDialog</name>
+    <message>
+        <location filename="../print/IPrintDialog.ui" line="20"/>
+        <source>Print map...</source>
+        <translation>Kaart afdrukken...</translation>
+    </message>
+    <message>
+        <location filename="../print/IPrintDialog.ui" line="50"/>
+        <source>Save</source>
+        <translation>Opslaan</translation>
+    </message>
+    <message>
+        <location filename="../print/IPrintDialog.ui" line="69"/>
+        <location filename="../print/IPrintDialog.ui" line="82"/>
+        <location filename="../print/IPrintDialog.ui" line="131"/>
+        <source>TextLabel</source>
+        <translation>Benaming</translation>
+    </message>
+    <message>
+        <location filename="../print/IPrintDialog.ui" line="98"/>
+        <source>Print</source>
+        <translation>Afdrukken</translation>
     </message>
 </context>
 <context>
@@ -4182,13 +4235,13 @@ o
     <message>
         <location filename="../helpers/IProgressDialog.ui" line="14"/>
         <source>Please wait...</source>
-        <translation type="unfinished"></translation>
+        <translation>Moment geduld...</translation>
     </message>
     <message>
         <location filename="../helpers/IProgressDialog.ui" line="20"/>
         <location filename="../helpers/IProgressDialog.ui" line="27"/>
         <source>TextLabel</source>
-        <translation type="unfinished"></translation>
+        <translation>Benaming</translation>
     </message>
 </context>
 <context>
@@ -4196,12 +4249,12 @@ o
     <message>
         <location filename="../grid/IProjWizard.ui" line="14"/>
         <source>Proj4 Wizzard</source>
-        <translation>Asistente de Proj4</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../grid/IProjWizard.ui" line="29"/>
         <source>Mercator</source>
-        <translation>Mercator</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../grid/IProjWizard.ui" line="38"/>
@@ -4211,42 +4264,42 @@ o
     <message>
         <location filename="../grid/IProjWizard.ui" line="45"/>
         <source>zone</source>
-        <translation>zona</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../grid/IProjWizard.ui" line="82"/>
         <source>user defined</source>
-        <translation>definido por el usuario</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../grid/IProjWizard.ui" line="94"/>
         <source>Datum</source>
-        <translation>Datum</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../grid/IProjWizard.ui" line="104"/>
         <source>World Mercator (OSM)</source>
-        <translation>World Mercator (OSM)</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../grid/IProjWizard.ui" line="124"/>
         <source>Result:</source>
-        <translation>Resultado:</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../grid/IProjWizard.ui" line="138"/>
         <source>UPS North (North Pole)</source>
-        <translation>UPS Norte (Polo Norte)</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../grid/IProjWizard.ui" line="145"/>
         <source>UPS South (South Pole)</source>
-        <translation>UPS Sur (Polo Sur)</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../grid/IProjWizard.ui" line="152"/>
         <source>Projection</source>
-        <translation>Proyección</translation>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -4254,7 +4307,7 @@ o
     <message>
         <location filename="../gis/wpt/IProjWpt.ui" line="14"/>
         <source>Waypoint Projection</source>
-        <translation>Proyección del Waypoint</translation>
+        <translation>Waypoint projectie</translation>
     </message>
     <message>
         <location filename="../gis/wpt/IProjWpt.ui" line="22"/>
@@ -4269,7 +4322,7 @@ o
     <message>
         <location filename="../gis/wpt/IProjWpt.ui" line="54"/>
         <source>Clone waypoint and move by:</source>
-        <translation>Clonar el waypoint y moverlo:</translation>
+        <translation>Kopieer waypoint en verplaats naar:</translation>
     </message>
     <message>
         <location filename="../gis/wpt/IProjWpt.ui" line="66"/>
@@ -4279,7 +4332,7 @@ o
     <message>
         <location filename="../gis/wpt/IProjWpt.ui" line="76"/>
         <source>°</source>
-        <translation>º</translation>
+        <translation>°</translation>
     </message>
 </context>
 <context>
@@ -4287,57 +4340,57 @@ o
     <message>
         <location filename="../gis/rte/router/IRouterMapQuest.ui" line="14"/>
         <source>Form</source>
-        <translation type="unfinished"></translation>
+        <translation>Formulier</translation>
     </message>
     <message>
         <location filename="../gis/rte/router/IRouterMapQuest.ui" line="22"/>
         <source>Highways</source>
-        <translation type="unfinished"></translation>
+        <translation>Snelwegen</translation>
     </message>
     <message>
         <location filename="../gis/rte/router/IRouterMapQuest.ui" line="29"/>
         <source>Seasonal</source>
-        <translation type="unfinished"></translation>
+        <translation>Seizoenswegen</translation>
     </message>
     <message>
         <location filename="../gis/rte/router/IRouterMapQuest.ui" line="36"/>
         <source>Language</source>
-        <translation type="unfinished"></translation>
+        <translation>Taal</translation>
     </message>
     <message>
         <location filename="../gis/rte/router/IRouterMapQuest.ui" line="43"/>
         <source>Country Border</source>
-        <translation type="unfinished"></translation>
+        <translation>Landgrenzen</translation>
     </message>
     <message>
         <location filename="../gis/rte/router/IRouterMapQuest.ui" line="53"/>
         <source>Profile</source>
-        <translation type="unfinished">Perfil</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../gis/rte/router/IRouterMapQuest.ui" line="60"/>
         <source>Avoid:</source>
-        <translation type="unfinished"></translation>
+        <translation>Vermijd:</translation>
     </message>
     <message>
         <location filename="../gis/rte/router/IRouterMapQuest.ui" line="67"/>
         <source>Ferry</source>
-        <translation type="unfinished">Ferry</translation>
+        <translation>Veerboten</translation>
     </message>
     <message>
         <location filename="../gis/rte/router/IRouterMapQuest.ui" line="74"/>
         <source>Toll Road</source>
-        <translation type="unfinished"></translation>
+        <translation>Tolwegen</translation>
     </message>
     <message>
         <location filename="../gis/rte/router/IRouterMapQuest.ui" line="84"/>
         <source>Unpaved</source>
-        <translation type="unfinished"></translation>
+        <translation>Onverhard</translation>
     </message>
     <message>
         <location filename="../gis/rte/router/IRouterMapQuest.ui" line="106"/>
         <source><p>Directions Courtesy of <a href="http://www.mapquest.com/" target="_blank">MapQuest</a> </p></source>
-        <translation type="unfinished"></translation>
+        <translation><p>Routebeschrijving afkomstig van <a href="http://www.mapquest.com/" target="_blank">MapQuest</a> </p></translation>
     </message>
 </context>
 <context>
@@ -4345,12 +4398,12 @@ o
     <message>
         <location filename="../gis/rte/router/IRouterRoutino.ui" line="14"/>
         <source>Form</source>
-        <translation type="unfinished"></translation>
+        <translation>Formulier</translation>
     </message>
     <message>
         <location filename="../gis/rte/router/IRouterRoutino.ui" line="31"/>
         <source>Profile</source>
-        <translation type="unfinished">Perfil</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../gis/rte/router/IRouterRoutino.ui" line="38"/>
@@ -4370,12 +4423,12 @@ o
     <message>
         <location filename="../gis/rte/router/IRouterRoutino.ui" line="55"/>
         <source>...</source>
-        <translation type="unfinished">...</translation>
+        <translation>...</translation>
     </message>
     <message>
         <location filename="../gis/rte/router/IRouterRoutino.ui" line="66"/>
         <source>Language</source>
-        <translation type="unfinished"></translation>
+        <translation>Taal</translation>
     </message>
     <message>
         <location filename="../gis/rte/router/IRouterRoutino.ui" line="131"/>
@@ -4394,12 +4447,12 @@ o
         <location filename="../gis/rte/router/IRouterRoutinoPathSetup.ui" line="27"/>
         <location filename="../gis/rte/router/IRouterRoutinoPathSetup.ui" line="47"/>
         <source>...</source>
-        <translation type="unfinished">...</translation>
+        <translation>...</translation>
     </message>
     <message>
         <location filename="../gis/rte/router/IRouterRoutinoPathSetup.ui" line="99"/>
         <source>-</source>
-        <translation type="unfinished">-</translation>
+        <translation>-</translation>
     </message>
 </context>
 <context>
@@ -4407,7 +4460,7 @@ o
     <message>
         <location filename="../gis/rte/router/IRouterSetup.ui" line="14"/>
         <source>Form</source>
-        <translation type="unfinished"></translation>
+        <translation>Formulier</translation>
     </message>
 </context>
 <context>
@@ -4415,23 +4468,23 @@ o
     <message>
         <location filename="../tool/IRoutinoDatabaseBuilder.ui" line="14"/>
         <source>Form</source>
-        <translation type="unfinished"></translation>
+        <translation>Formulier</translation>
     </message>
     <message>
         <location filename="../tool/IRoutinoDatabaseBuilder.ui" line="22"/>
         <location filename="../tool/IRoutinoDatabaseBuilder.ui" line="63"/>
         <source>...</source>
-        <translation type="unfinished">...</translation>
+        <translation>...</translation>
     </message>
     <message>
         <location filename="../tool/IRoutinoDatabaseBuilder.ui" line="39"/>
         <source>Select source files:</source>
-        <translation type="unfinished">Seleccionar ficheros de origen:</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../tool/IRoutinoDatabaseBuilder.ui" line="54"/>
         <source>Start</source>
-        <translation type="unfinished">Comenzar</translation>
+        <translation>Start</translation>
     </message>
     <message>
         <location filename="../tool/IRoutinoDatabaseBuilder.ui" line="86"/>
@@ -4441,7 +4494,7 @@ o
     <message>
         <location filename="../tool/IRoutinoDatabaseBuilder.ui" line="93"/>
         <source>-</source>
-        <translation type="unfinished">-</translation>
+        <translation>-</translation>
     </message>
     <message>
         <location filename="../tool/IRoutinoDatabaseBuilder.ui" line="100"/>
@@ -4454,22 +4507,22 @@ o
     <message>
         <location filename="../mouse/line/IScrOptEditLine.ui" line="32"/>
         <source>Form</source>
-        <translation></translation>
+        <translation>Formulier</translation>
     </message>
     <message>
         <location filename="../mouse/line/IScrOptEditLine.ui" line="53"/>
         <source>Save to orignal</source>
-        <translation>Guardar al original</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../mouse/line/IScrOptEditLine.ui" line="60"/>
         <source>Save as new</source>
-        <translation>Guardar como nuevo</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../mouse/line/IScrOptEditLine.ui" line="67"/>
         <source>Abort</source>
-        <translation>Abortar</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../mouse/line/IScrOptEditLine.ui" line="102"/>
@@ -4477,9 +4530,19 @@ o
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location filename="../mouse/line/IScrOptEditLine.ui" line="105"/>
+        <location filename="../mouse/line/IScrOptEditLine.ui" line="131"/>
+        <location filename="../mouse/line/IScrOptEditLine.ui" line="154"/>
+        <location filename="../mouse/line/IScrOptEditLine.ui" line="177"/>
+        <location filename="../mouse/line/IScrOptEditLine.ui" line="313"/>
+        <location filename="../mouse/line/IScrOptEditLine.ui" line="330"/>
+        <source>...</source>
+        <translation>...</translation>
+    </message>
+    <message>
         <location filename="../mouse/line/IScrOptEditLine.ui" line="112"/>
         <source>Ctrl+M</source>
-        <translation type="unfinished"></translation>
+        <translation>Ctrl+M</translation>
     </message>
     <message>
         <location filename="../mouse/line/IScrOptEditLine.ui" line="128"/>
@@ -4489,7 +4552,7 @@ o
     <message>
         <location filename="../mouse/line/IScrOptEditLine.ui" line="138"/>
         <source>Ctrl++</source>
-        <translation type="unfinished"></translation>
+        <translation>Ctrl++</translation>
     </message>
     <message>
         <location filename="../mouse/line/IScrOptEditLine.ui" line="151"/>
@@ -4499,7 +4562,7 @@ o
     <message>
         <location filename="../mouse/line/IScrOptEditLine.ui" line="161"/>
         <source>Ctrl+R</source>
-        <translation type="unfinished">Ctrl+R</translation>
+        <translation>Ctrl+R</translation>
     </message>
     <message>
         <location filename="../mouse/line/IScrOptEditLine.ui" line="174"/>
@@ -4509,7 +4572,7 @@ o
     <message>
         <location filename="../mouse/line/IScrOptEditLine.ui" line="184"/>
         <source>Ctrl+D</source>
-        <translation type="unfinished"></translation>
+        <translation>Ctrl+D</translation>
     </message>
     <message>
         <location filename="../mouse/line/IScrOptEditLine.ui" line="228"/>
@@ -4517,9 +4580,14 @@ o
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location filename="../mouse/line/IScrOptEditLine.ui" line="231"/>
+        <source>0</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <location filename="../mouse/line/IScrOptEditLine.ui" line="238"/>
         <source>Ctrl+O</source>
-        <translation type="unfinished"></translation>
+        <translation>Ctrl+O</translation>
     </message>
     <message>
         <location filename="../mouse/line/IScrOptEditLine.ui" line="251"/>
@@ -4527,9 +4595,14 @@ o
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location filename="../mouse/line/IScrOptEditLine.ui" line="254"/>
+        <source>A</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <location filename="../mouse/line/IScrOptEditLine.ui" line="261"/>
         <source>Ctrl+A</source>
-        <translation type="unfinished"></translation>
+        <translation>Ctrl+A</translation>
     </message>
     <message>
         <location filename="../mouse/line/IScrOptEditLine.ui" line="274"/>
@@ -4537,26 +4610,6 @@ o
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mouse/line/IScrOptEditLine.ui" line="105"/>
-        <location filename="../mouse/line/IScrOptEditLine.ui" line="131"/>
-        <location filename="../mouse/line/IScrOptEditLine.ui" line="154"/>
-        <location filename="../mouse/line/IScrOptEditLine.ui" line="177"/>
-        <location filename="../mouse/line/IScrOptEditLine.ui" line="313"/>
-        <location filename="../mouse/line/IScrOptEditLine.ui" line="330"/>
-        <source>...</source>
-        <translation type="unfinished">...</translation>
-    </message>
-    <message>
-        <location filename="../mouse/line/IScrOptEditLine.ui" line="231"/>
-        <source>0</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mouse/line/IScrOptEditLine.ui" line="254"/>
-        <source>A</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../mouse/line/IScrOptEditLine.ui" line="277"/>
         <source>V</source>
         <translation type="unfinished"></translation>
@@ -4564,7 +4617,7 @@ o
     <message>
         <location filename="../mouse/line/IScrOptEditLine.ui" line="284"/>
         <source>Ctrl+V</source>
-        <translation type="unfinished">Ctrl+V</translation>
+        <translation>Ctrl+V</translation>
     </message>
     <message>
         <location filename="../mouse/line/IScrOptEditLine.ui" line="310"/>
@@ -4582,7 +4635,7 @@ o
     <message>
         <location filename="../gis/ovl/IScrOptOvlArea.ui" line="14"/>
         <source>Form</source>
-        <translation></translation>
+        <translation>Formulier</translation>
     </message>
     <message>
         <location filename="../gis/ovl/IScrOptOvlArea.ui" line="40"/>
@@ -4600,7 +4653,7 @@ o
     <message>
         <location filename="../gis/ovl/IScrOptOvlArea.ui" line="54"/>
         <source>Copy area into another project.</source>
-        <translation>Copiar área en otro proyecto.</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../gis/ovl/IScrOptOvlArea.ui" line="68"/>
@@ -4615,45 +4668,7 @@ o
     <message>
         <location filename="../gis/ovl/IScrOptOvlArea.ui" line="121"/>
         <source>TextLabel</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>IScrOptPoint</name>
-    <message>
-        <source>Delete point.</source>
-        <translation type="obsolete">Borrar punto.</translation>
-    </message>
-    <message>
-        <source>Select a range of points.</source>
-        <translation type="obsolete">Selecciones un rango de puntos.</translation>
-    </message>
-    <message>
-        <source>Move selected point.</source>
-        <translation type="obsolete">Mover el punto seleccionado.</translation>
-    </message>
-    <message>
-        <source>Add points before the selected point.</source>
-        <translation type="obsolete">Añadir puntos antes del seleccionado.</translation>
-    </message>
-    <message>
-        <source>Add points after the selected point.</source>
-        <translation type="obsolete">Añadir puntos después del seleccionado.</translation>
-    </message>
-    <message>
-        <source>...</source>
-        <translation type="obsolete">...</translation>
-    </message>
-</context>
-<context>
-    <name>IScrOptRange</name>
-    <message>
-        <source>Delete selected range of points.</source>
-        <translation type="obsolete">Borrar el rango de puntos seleccionado.</translation>
-    </message>
-    <message>
-        <source>...</source>
-        <translation type="obsolete">...</translation>
+        <translation>TextLabel</translation>
     </message>
 </context>
 <context>
@@ -4661,7 +4676,7 @@ o
     <message>
         <location filename="../mouse/line/IScrOptRangeLine.ui" line="14"/>
         <source>Form</source>
-        <translation type="unfinished"></translation>
+        <translation>Formulier</translation>
     </message>
     <message>
         <location filename="../mouse/line/IScrOptRangeLine.ui" line="20"/>
@@ -4672,7 +4687,7 @@ o
         <location filename="../mouse/line/IScrOptRangeLine.ui" line="23"/>
         <location filename="../mouse/line/IScrOptRangeLine.ui" line="37"/>
         <source>...</source>
-        <translation type="unfinished">...</translation>
+        <translation>...</translation>
     </message>
     <message>
         <location filename="../mouse/line/IScrOptRangeLine.ui" line="34"/>
@@ -4685,32 +4700,38 @@ o
     <message>
         <location filename="../mouse/IScrOptRangeTrk.ui" line="14"/>
         <source>Form</source>
-        <translation type="unfinished"></translation>
+        <translation>Formulier</translation>
     </message>
     <message>
         <location filename="../mouse/IScrOptRangeTrk.ui" line="40"/>
         <source>Hide all points.</source>
-        <translation>Ocultar todos los puntos.</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../mouse/IScrOptRangeTrk.ui" line="43"/>
         <location filename="../mouse/IScrOptRangeTrk.ui" line="57"/>
         <location filename="../mouse/IScrOptRangeTrk.ui" line="71"/>
+        <location filename="../mouse/IScrOptRangeTrk.ui" line="85"/>
         <source>...</source>
         <translation>...</translation>
     </message>
     <message>
         <location filename="../mouse/IScrOptRangeTrk.ui" line="54"/>
         <source>Show all points.</source>
-        <translation>Mostrar todos los puntos.</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../mouse/IScrOptRangeTrk.ui" line="68"/>
+        <source>Select an activity for the selected range.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../mouse/IScrOptRangeTrk.ui" line="82"/>
         <source>Copy track points as new track.</source>
-        <translation>Copiar los puntos del track como un nuevo track.</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mouse/IScrOptRangeTrk.ui" line="103"/>
+        <location filename="../mouse/IScrOptRangeTrk.ui" line="117"/>
         <source>TextLabel</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4720,11 +4741,12 @@ o
     <message>
         <location filename="../gis/rte/IScrOptRte.ui" line="14"/>
         <source>Form</source>
-        <translation type="unfinished"></translation>
+        <translation>Formulier</translation>
     </message>
     <message>
-        <source><html><head/><body><p>View details &amp; Edit</p></body></html></source>
-        <translation type="obsolete"><html><head/><body><p>Ver detalles &amp; Editar</p></body></html></translation>
+        <location filename="../gis/rte/IScrOptRte.ui" line="25"/>
+        <source>View details and edit.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../gis/rte/IScrOptRte.ui" line="28"/>
@@ -4740,15 +4762,6 @@ o
     <message>
         <location filename="../gis/rte/IScrOptRte.ui" line="39"/>
         <source>Copy route into another project.</source>
-        <translation>Copiar ruta en otro proyecto.</translation>
-    </message>
-    <message>
-        <source><html><head/><body><p>Delete</p></body></html></source>
-        <translation type="obsolete"><html><head/><body><p>Borrar</p></body></html></translation>
-    </message>
-    <message>
-        <location filename="../gis/rte/IScrOptRte.ui" line="25"/>
-        <source>View details and edit.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
@@ -4774,7 +4787,7 @@ o
     <message>
         <location filename="../gis/rte/IScrOptRte.ui" line="145"/>
         <source>TextLabel</source>
-        <translation type="unfinished"></translation>
+        <translation>Benaming</translation>
     </message>
 </context>
 <context>
@@ -4782,30 +4795,7 @@ o
     <message>
         <location filename="../gis/trk/IScrOptTrk.ui" line="14"/>
         <source>Form</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>View details &amp; Edit properties of track.</source>
-        <translation type="obsolete">Ver detalles / Editar las propiedades del track.</translation>
-    </message>
-    <message>
-        <source>Delete</source>
-        <translation type="obsolete">Eliminar</translation>
-    </message>
-    <message>
-        <location filename="../gis/trk/IScrOptTrk.ui" line="89"/>
-        <source>Show on-screen profile and detailed information about points.</source>
-        <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>
-    </message>
-    <message>
-        <location filename="../gis/trk/IScrOptTrk.ui" line="120"/>
-        <source>Edit position of track points.</source>
-        <translation>Editar la posición de los puntos del track.</translation>
+        <translation>Formulier</translation>
     </message>
     <message>
         <location filename="../gis/trk/IScrOptTrk.ui" line="40"/>
@@ -4828,7 +4818,7 @@ o
     <message>
         <location filename="../gis/trk/IScrOptTrk.ui" line="54"/>
         <source>Copy track into another project.</source>
-        <translation>Copiar track en otro proyecto.</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../gis/trk/IScrOptTrk.ui" line="68"/>
@@ -4836,24 +4826,39 @@ o
         <translation type="unfinished"></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>
+    </message>
+    <message>
         <location filename="../gis/trk/IScrOptTrk.ui" line="106"/>
         <source>Select a range of points.</source>
-        <translation>Seleccionar un rango de puntos.</translation>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/IScrOptTrk.ui" line="120"/>
+        <source>Edit position of track points.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../gis/trk/IScrOptTrk.ui" line="134"/>
         <source>Reverse track.</source>
-        <translation>Invertir track.</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../gis/trk/IScrOptTrk.ui" line="148"/>
         <source>Combine tracks.</source>
-        <translation>Combinar tracks.</translation>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/IScrOptTrk.ui" line="162"/>
+        <source>Cut track at selected point into two tracks.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../gis/trk/IScrOptTrk.ui" line="191"/>
         <source>TextLabel</source>
-        <translation type="unfinished"></translation>
+        <translation>Benaming</translation>
     </message>
 </context>
 <context>
@@ -4861,11 +4866,7 @@ o
     <message>
         <location filename="../gis/wpt/IScrOptWpt.ui" line="20"/>
         <source>Form</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source><html><head/><body><p>View details &amp; Edit</p></body></html></source>
-        <translation type="obsolete">Ver detalles / Editar</translation>
+        <translation>Formulier</translation>
     </message>
     <message>
         <location filename="../gis/wpt/IScrOptWpt.ui" line="49"/>
@@ -4885,7 +4886,7 @@ o
     <message>
         <location filename="../gis/wpt/IScrOptWpt.ui" line="63"/>
         <source>Copy waypoint into another project.</source>
-        <translation><html><head/><body><p>Copiar waypoint en otro proyecto.</p></body></html></translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../gis/wpt/IScrOptWpt.ui" line="77"/>
@@ -4908,21 +4909,9 @@ o
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><html><head/><body><p>Delete</p></body></html></source>
-        <translation type="obsolete">Eliminar</translation>
-    </message>
-    <message>
-        <source><html><head/><body><p>Move waypoint to a new location.</p></body></html></source>
-        <translation type="obsolete"><html><head/><body><p>Mover el waypoint a una nueva ubicación.</p></body></html></translation>
-    </message>
-    <message>
-        <source><html><head/><body><p>Clone waypoint and move clone a given distance and angle.</p></body></html></source>
-        <translation type="obsolete"><html><head/><body><p>Clonar el waypoibt y moverlo una cierta distancia y ángulo.</p></body></html></translation>
-    </message>
-    <message>
         <location filename="../gis/wpt/IScrOptWpt.ui" line="176"/>
         <source>TextLabel</source>
-        <translation type="unfinished"></translation>
+        <translation>Benaming</translation>
     </message>
 </context>
 <context>
@@ -4930,6 +4919,19 @@ o
     <message>
         <location filename="../gis/ISelDevices.ui" line="14"/>
         <source>Select devices...</source>
+        <translation>Selecteer GPS...</translation>
+    </message>
+</context>
+<context>
+    <name>ISelectActivity</name>
+    <message>
+        <location filename="../gis/trk/ISelectActivity.ui" line="14"/>
+        <source>Activities...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/ISelectActivity.ui" line="20"/>
+        <source>Select one:</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -4938,12 +4940,12 @@ o
     <message>
         <location filename="../helpers/ISelectCopyAction.ui" line="14"/>
         <source>Copy item...</source>
-        <translation>Copiar elemento...</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../helpers/ISelectCopyAction.ui" line="23"/>
         <source>Replace existing item</source>
-        <translation>Sustituir el elemento existente</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../helpers/ISelectCopyAction.ui" line="30"/>
@@ -4951,37 +4953,37 @@ o
         <location filename="../helpers/ISelectCopyAction.ui" line="67"/>
         <location filename="../helpers/ISelectCopyAction.ui" line="77"/>
         <source>TextLabel</source>
-        <translation type="unfinished"></translation>
+        <translation>Benaming</translation>
     </message>
     <message>
         <location filename="../helpers/ISelectCopyAction.ui" line="60"/>
         <source>Do not copy item</source>
-        <translation>NO copiar el elemento</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../helpers/ISelectCopyAction.ui" line="97"/>
         <source>Create a clone</source>
-        <translation>Crear un duplicado</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../helpers/ISelectCopyAction.ui" line="104"/>
         <source>Replace with:</source>
-        <translation>Sustituir por:</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../helpers/ISelectCopyAction.ui" line="111"/>
         <source>Keep item:</source>
-        <translation>Mantener:</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../helpers/ISelectCopyAction.ui" line="118"/>
         <source>The clone's name will be appended with '_Clone'</source>
-        <translation>Se añadirá el sufijo '_Clone' al nombre del duplicado</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../helpers/ISelectCopyAction.ui" line="132"/>
         <source>And for all other items, too.</source>
-        <translation>Hacer igual para todos los elementos.</translation>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -4994,7 +4996,7 @@ o
     <message>
         <location filename="../gis/db/ISelectDBFolder.ui" line="26"/>
         <source>Name</source>
-        <translation type="unfinished">Nombre</translation>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -5002,22 +5004,22 @@ o
     <message>
         <location filename="../helpers/ISelectProjectDialog.ui" line="14"/>
         <source>Select a project...</source>
-        <translation>Seleccionar un proyecto...</translation>
+        <translation>Selecteer een project...</translation>
     </message>
     <message>
         <location filename="../helpers/ISelectProjectDialog.ui" line="20"/>
         <source>Select project from list or enter new project name.</source>
-        <translation>Seleccione un proyecto de la lista, o introduzca un nuevo nombre de proyecto.</translation>
+        <translation>Selecteer project uit lijst of maak nieuw project.</translation>
     </message>
     <message>
         <location filename="../helpers/ISelectProjectDialog.ui" line="33"/>
         <source>New project's name</source>
-        <translation type="unfinished"></translation>
+        <translation>Naam nieuw project</translation>
     </message>
     <message>
         <location filename="../helpers/ISelectProjectDialog.ui" line="43"/>
         <source>New project is created as:</source>
-        <translation>El nuevo proyecto se creó como:</translation>
+        <translation>Nieuw project wordt gemaakt als:</translation>
     </message>
     <message>
         <location filename="../helpers/ISelectProjectDialog.ui" line="93"/>
@@ -5032,7 +5034,7 @@ o
     <message>
         <location filename="../helpers/ISelectProjectDialog.ui" line="110"/>
         <source>Database</source>
-        <translation type="unfinished"></translation>
+        <translation>Database</translation>
     </message>
 </context>
 <context>
@@ -5040,17 +5042,17 @@ o
     <message>
         <location filename="../gis/db/ISelectSaveAction.ui" line="14"/>
         <source>Copy item...</source>
-        <translation type="unfinished">Copiar elemento...</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../gis/db/ISelectSaveAction.ui" line="23"/>
         <source>Replace existing item</source>
-        <translation type="unfinished">Sustituir el elemento existente</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../gis/db/ISelectSaveAction.ui" line="30"/>
         <source>Replace with:</source>
-        <translation type="unfinished">Sustituir por:</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../gis/db/ISelectSaveAction.ui" line="37"/>
@@ -5058,7 +5060,7 @@ o
         <location filename="../gis/db/ISelectSaveAction.ui" line="81"/>
         <location filename="../gis/db/ISelectSaveAction.ui" line="91"/>
         <source>TextLabel</source>
-        <translation type="unfinished"></translation>
+        <translation>Benaming</translation>
     </message>
     <message>
         <location filename="../gis/db/ISelectSaveAction.ui" line="67"/>
@@ -5073,34 +5075,7 @@ o
     <message>
         <location filename="../gis/db/ISelectSaveAction.ui" line="111"/>
         <source>And for all other items, too.</source>
-        <translation type="unfinished">Hacer igual para todos los elementos.</translation>
-    </message>
-</context>
-<context>
-    <name>ISetupDB</name>
-    <message>
-        <source>Setup database...</source>
-        <translation type="obsolete">Configurar la base de datos...</translation>
-    </message>
-    <message>
-        <source>save workspace on exit, and every</source>
-        <translation type="obsolete">guardar el espacio de trabajo al salir, y cada</translation>
-    </message>
-    <message>
-        <source>minutes</source>
-        <translation type="obsolete">minutos</translation>
-    </message>
-    <message>
-        <source>Database path</source>
-        <translation type="obsolete">Ruta de la base de datos</translation>
-    </message>
-    <message>
-        <source>...</source>
-        <translation type="obsolete">...</translation>
-    </message>
-    <message>
-        <source>-</source>
-        <translation type="obsolete">-</translation>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -5108,12 +5083,12 @@ o
     <message>
         <location filename="../gis/db/ISetupDatabase.ui" line="14"/>
         <source>Add database...</source>
-        <translation>Añadir Base de Datos...</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../gis/db/ISetupDatabase.ui" line="25"/>
         <source>File</source>
-        <translation>Archivo</translation>
+        <translation>Bestand</translation>
     </message>
     <message>
         <location filename="../gis/db/ISetupDatabase.ui" line="32"/>
@@ -5123,12 +5098,12 @@ o
     <message>
         <location filename="../gis/db/ISetupDatabase.ui" line="39"/>
         <source>Name</source>
-        <translation>Nombre</translation>
+        <translation>Naam </translation>
     </message>
     <message>
         <location filename="../gis/db/ISetupDatabase.ui" line="46"/>
         <source>Add new database.</source>
-        <translation>Añadir nueva base de datos.</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../gis/db/ISetupDatabase.ui" line="49"/>
@@ -5139,20 +5114,12 @@ o
     <message>
         <location filename="../gis/db/ISetupDatabase.ui" line="60"/>
         <source>Open existing database.</source>
-        <translation>Abrir base de datos existente.</translation>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>ISetupFolder</name>
     <message>
-        <source>Folder...</source>
-        <translation type="obsolete">Carpeta...</translation>
-    </message>
-    <message>
-        <source>Name</source>
-        <translation type="obsolete">Nombre</translation>
-    </message>
-    <message>
         <location filename="../gis/db/ISetupFolder.ui" line="14"/>
         <source>Database Folder...</source>
         <translation type="unfinished"></translation>
@@ -5165,17 +5132,17 @@ o
     <message>
         <location filename="../gis/db/ISetupFolder.ui" line="30"/>
         <source>Group</source>
-        <translation>Grupo</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../gis/db/ISetupFolder.ui" line="41"/>
         <source>Project</source>
-        <translation>Proyecto</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../gis/db/ISetupFolder.ui" line="55"/>
         <source>Other</source>
-        <translation>Otros</translation>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -5183,27 +5150,27 @@ o
     <message>
         <location filename="../gis/wpt/ISetupNewWpt.ui" line="14"/>
         <source>New Waypoint...</source>
-        <translation type="unfinished"></translation>
+        <translation>Nieuw waypoint...</translation>
     </message>
     <message>
         <location filename="../gis/wpt/ISetupNewWpt.ui" line="22"/>
         <source>Symbol</source>
-        <translation type="unfinished"></translation>
+        <translation>Symbool</translation>
     </message>
     <message>
         <location filename="../gis/wpt/ISetupNewWpt.ui" line="29"/>
         <source>...</source>
-        <translation type="unfinished">...</translation>
+        <translation>...</translation>
     </message>
     <message>
         <location filename="../gis/wpt/ISetupNewWpt.ui" line="39"/>
         <source>Position</source>
-        <translation type="unfinished">Posición</translation>
+        <translation>Positie</translation>
     </message>
     <message>
         <location filename="../gis/wpt/ISetupNewWpt.ui" line="49"/>
         <source>Name</source>
-        <translation type="unfinished">Nombre</translation>
+        <translation>Naam</translation>
     </message>
     <message>
         <location filename="../gis/wpt/ISetupNewWpt.ui" line="59"/>
@@ -5211,32 +5178,28 @@ o
 "[N|S] ddd mm.sss [W|E] ddd mm.sss"
 or
 "[N|S] ddd.ddd [W|E] ddd.ddd"</source>
-        <translation type="unfinished">Formato de posición incorrecto. Debe ser: 
-"[N|S] ggg mm.sss [W|E] ggg mm.sss"
-o
-"[N|S] ggg.ggg [W|E] ggg.ggg"</translation>
+        <translation>Verkeerde invoer. Moet zijn: 
+"[N|S] ddd mm.sss [W|E] ddd mm.sss"
+of
+"[N|S] ddd.ddd [W|E] ddd.ddd"</translation>
     </message>
 </context>
 <context>
     <name>ISetupWorkspace</name>
     <message>
-        <source>Setup database...</source>
-        <translation type="obsolete">Configurar la base de datos...</translation>
-    </message>
-    <message>
         <location filename="../gis/db/ISetupWorkspace.ui" line="14"/>
         <source>Setup workspace...</source>
-        <translation>Configurar espacio de trabajo...</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../gis/db/ISetupWorkspace.ui" line="35"/>
         <source>save workspace on exit, and every</source>
-        <translation>guardar el espacio de trabajo al salir, y cada</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../gis/db/ISetupWorkspace.ui" line="45"/>
         <source>minutes</source>
-        <translation>minutos</translation>
+        <translation>minuten</translation>
     </message>
 </context>
 <context>
@@ -5244,7 +5207,7 @@ o
     <message>
         <location filename="../helpers/ITextEditWidget.ui" line="14"/>
         <source>Edit text...</source>
-        <translation>Editar texto...</translation>
+        <translation>Bewerk tekst...</translation>
     </message>
     <message>
         <location filename="../helpers/ITextEditWidget.ui" line="25"/>
@@ -5266,7 +5229,7 @@ o
     <message>
         <location filename="../helpers/ITextEditWidget.ui" line="256"/>
         <source>Undo</source>
-        <translation>Deshacer</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../helpers/ITextEditWidget.ui" line="259"/>
@@ -5276,7 +5239,7 @@ o
     <message>
         <location filename="../helpers/ITextEditWidget.ui" line="268"/>
         <source>Redo</source>
-        <translation>Rehacer</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../helpers/ITextEditWidget.ui" line="271"/>
@@ -5286,7 +5249,7 @@ o
     <message>
         <location filename="../helpers/ITextEditWidget.ui" line="280"/>
         <source>Cut</source>
-        <translation>Cortar</translation>
+        <translation>Knippen</translation>
     </message>
     <message>
         <location filename="../helpers/ITextEditWidget.ui" line="283"/>
@@ -5296,7 +5259,7 @@ o
     <message>
         <location filename="../helpers/ITextEditWidget.ui" line="292"/>
         <source>Copy</source>
-        <translation>Copiar</translation>
+        <translation>Kopiëren</translation>
     </message>
     <message>
         <location filename="../helpers/ITextEditWidget.ui" line="295"/>
@@ -5306,7 +5269,7 @@ o
     <message>
         <location filename="../helpers/ITextEditWidget.ui" line="304"/>
         <source>Paste</source>
-        <translation>Pegar</translation>
+        <translation>Plakken</translation>
     </message>
     <message>
         <location filename="../helpers/ITextEditWidget.ui" line="307"/>
@@ -5316,7 +5279,7 @@ o
     <message>
         <location filename="../helpers/ITextEditWidget.ui" line="319"/>
         <source>Align Left</source>
-        <translation>Alinear a la Izquierda</translation>
+        <translation>Links uitlijnen</translation>
     </message>
     <message>
         <location filename="../helpers/ITextEditWidget.ui" line="322"/>
@@ -5326,7 +5289,7 @@ o
     <message>
         <location filename="../helpers/ITextEditWidget.ui" line="334"/>
         <source>Align Right</source>
-        <translation>Alinear a la Derecha</translation>
+        <translation>Rechts uitlijnen</translation>
     </message>
     <message>
         <location filename="../helpers/ITextEditWidget.ui" line="337"/>
@@ -5336,7 +5299,7 @@ o
     <message>
         <location filename="../helpers/ITextEditWidget.ui" line="349"/>
         <source>Align Center</source>
-        <translation>Alinear al Centro</translation>
+        <translation>Gecentreerd</translation>
     </message>
     <message>
         <location filename="../helpers/ITextEditWidget.ui" line="352"/>
@@ -5346,7 +5309,7 @@ o
     <message>
         <location filename="../helpers/ITextEditWidget.ui" line="364"/>
         <source>Align Block</source>
-        <translation>Alinear Bloque</translation>
+        <translation>Uitgevuld</translation>
     </message>
     <message>
         <location filename="../helpers/ITextEditWidget.ui" line="367"/>
@@ -5356,7 +5319,7 @@ o
     <message>
         <location filename="../helpers/ITextEditWidget.ui" line="379"/>
         <source>Underline</source>
-        <translation>Subrayar</translation>
+        <translation>Onderstrepen</translation>
     </message>
     <message>
         <location filename="../helpers/ITextEditWidget.ui" line="382"/>
@@ -5366,7 +5329,7 @@ o
     <message>
         <location filename="../helpers/ITextEditWidget.ui" line="394"/>
         <source>Bold</source>
-        <translation>Negrita</translation>
+        <translation>Vet</translation>
     </message>
     <message>
         <location filename="../helpers/ITextEditWidget.ui" line="397"/>
@@ -5376,7 +5339,7 @@ o
     <message>
         <location filename="../helpers/ITextEditWidget.ui" line="409"/>
         <source>Italic</source>
-        <translation>Cursiva</translation>
+        <translation>Cursief</translation>
     </message>
     <message>
         <location filename="../helpers/ITextEditWidget.ui" line="412"/>
@@ -5389,7 +5352,7 @@ o
     <message>
         <location filename="../units/ITimeZoneSetup.ui" line="14"/>
         <source>Setup Time Zone ...</source>
-        <translation>Configurar la Zona Horaria...</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../units/ITimeZoneSetup.ui" line="22"/>
@@ -5399,12 +5362,12 @@ o
     <message>
         <location filename="../units/ITimeZoneSetup.ui" line="32"/>
         <source>Local</source>
-        <translation>Local</translation>
+        <translation>Lokaal</translation>
     </message>
     <message>
         <location filename="../units/ITimeZoneSetup.ui" line="42"/>
         <source>Automatic</source>
-        <translation>Automático</translation>
+        <translation>Automatisch</translation>
     </message>
     <message>
         <location filename="../units/ITimeZoneSetup.ui" line="75"/>
@@ -5428,7 +5391,7 @@ o
         <location filename="../tool/IToolShell.cpp" line="127"/>
         <source>!!! failed !!!
 </source>
-        <translation type="unfinished">!!! fallo !!!</translation>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -5436,22 +5399,22 @@ o
     <message>
         <location filename="../units/IUnitsSetup.ui" line="14"/>
         <source>Setup units...</source>
-        <translation>Configurar unidades...</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../units/IUnitsSetup.ui" line="22"/>
         <source>Metric</source>
-        <translation>Métrico</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../units/IUnitsSetup.ui" line="29"/>
         <source>Imperial</source>
-        <translation>Imperial</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../units/IUnitsSetup.ui" line="36"/>
         <source>Nautic</source>
-        <translation>Naútico</translation>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -5459,376 +5422,222 @@ o
     <message>
         <location filename="../helpers/IWptIconDialog.ui" line="14"/>
         <source>Icons...</source>
-        <translation>Iconos...</translation>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>QObject</name>
     <message>
-        <location filename="../GeoMath.cpp" line="169"/>
-        <location filename="../GeoMath.cpp" line="175"/>
-        <source>Error</source>
-        <translation>Error</translation>
-    </message>
-    <message>
-        <location filename="../GeoMath.cpp" line="169"/>
-        <source>Bad position format. Must be: "[N|S] ddd mm.sss [W|E] ddd mm.sss" or "[N|S] ddd.ddd [W|E] ddd.ddd"</source>
-        <translation>Formato de coordenadas incorrecto. Debe ser: "[N|S] ggg mm.sss [W|E] ggg mm.sss" o "[N|S] ggg.ggg [W|E] ggg.ggg"</translation>
-    </message>
-    <message>
-        <location filename="../GeoMath.cpp" line="175"/>
-        <source>Position values out of bounds. </source>
-        <translation type="unfinished">Valores de posición fuera del límite.</translation>
-    </message>
-    <message>
-        <source>Bad position format. Must be: [N|S] ddd mm.sss [W|E] ddd mm.sss</source>
-        <translation type="obsolete">Formato de posición incorrecto. Debe ser: "[N|S] ggg mm.sss [W|E] ggg mm.sss"</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>Fallo al leer...</translation>
+        <location filename="../device/CDeviceGarmin.cpp" line="207"/>
+        <source>Picture%1</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/gpx/CGpxProject.cpp" line="111"/>
-        <source>Failed to read: %1
-line %2, column %3:
- %4</source>
-        <translation>Fallo al leer: %1
-línea %2, columna %3.
- %4</translation>
+        <location filename="../device/IDevice.cpp" line="204"/>
+        <source>There is another project with the same name. If you press 'ok' it will be removed and replaced.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/gpx/CGpxProject.cpp" line="120"/>
-        <source>Not a GPX file: </source>
-        <translation>No es un archivo GPX: </translation>
+        <location filename="../gis/CGisListDB.cpp" line="437"/>
+        <source>Are you sure you want to delete '%1' from folder '%2'?</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>
-Filename: %1</source>
-        <translation type="obsolete">
-Nombre del archivo: %1</translation>
+        <location filename="../gis/CGisListDB.cpp" line="438"/>
+        <location filename="../gis/prj/IGisProject.cpp" line="439"/>
+        <source>Delete...</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>
-Waypoints: %1</source>
-        <translation type="obsolete">
-Waypoints: %1</translation>
+        <location filename="../gis/CGisListWks.cpp" line="1097"/>
+        <source>Delete project...</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>
-Tracks: %1</source>
-        <translation type="obsolete">
-Tracks: %1</translation>
+        <location filename="../gis/CGisListWks.cpp" line="1097"/>
+        <source>Do you really want to delete %1?</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>
-Routes: %1</source>
-        <translation type="obsolete">
-Rutas: %1</translation>
+        <location filename="../gis/db/CDBFolderDatabase.cpp" line="28"/>
+        <location filename="../gis/db/CDBFolderLostFound.cpp" line="30"/>
+        <source>All your data grouped by folders.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>
-Areas: %1</source>
-        <translation type="obsolete">
-Áreas: %1</translation>
+        <location filename="../gis/db/CDBFolderLostFound.cpp" line="61"/>
+        <source>Lost & Found (%1)</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="109"/>
-        <source>Save project?</source>
+        <location filename="../gis/db/CDBFolderLostFound.cpp" line="66"/>
+        <location filename="../gis/db/CLostFoundProject.cpp" line="39"/>
+        <source>Lost & Found</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="249"/>
-        <source>%1: Correlate tracks and waypoints.</source>
+        <location filename="../gis/db/CDBProject.cpp" line="151"/>
+        <location filename="../gis/gpx/CGpxProject.cpp" line="223"/>
+        <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/prj/IGisProject.cpp" line="109"/>
-        <source><h3>%1</h3>The project was changed. Save befor closing it?</source>
+        <location filename="../gis/db/CDBProject.cpp" line="255"/>
+        <source>Save ...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="259"/>
-        <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="260"/>
-        <source>Cancelled correlation...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="338"/>
-        <source><br/>
-Filename: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="343"/>
-        <source>Waypoints: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="347"/>
-        <source>Tracks: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="351"/>
-        <source>Routes: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="355"/>
-        <source>Areas: %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../gis/prj/IGisProject.cpp" line="435"/>
-        <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"/>
-        <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="436"/>
-        <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"/>
         <source>Failed to open...</source>
-        <translation>Fallo al abrir...</translation>
+        <translation type="unfinished"></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"/>
         <source>Failed to open %1</source>
-        <translation>Fallo al abrir %1</translation>
+        <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/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>
+        <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>
     </message>
     <message>
-        <location filename="../gis/db/CDBProject.cpp" line="255"/>
-        <source>Save ...</source>
-        <translation>Guardar...</translation>
+        <location filename="../gis/gpx/CGpxProject.cpp" line="111"/>
+        <source>Failed to read: %1
+line %2, column %3:
+ %4</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Abort save</source>
-        <translation type="obsolete">Cancelar guardar</translation>
+        <location filename="../gis/gpx/CGpxProject.cpp" line="120"/>
+        <source>Not a GPX file: </source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../gis/gpx/CGpxProject.cpp" line="298"/>
         <source>File exists ...</source>
-        <translation>El archivo ya existe ...</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../gis/gpx/CGpxProject.cpp" line="299"/>
         <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>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../gis/gpx/CGpxProject.cpp" line="407"/>
         <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="unfinished"></translation>
     </message>
     <message>
         <location filename="../gis/gpx/CGpxProject.cpp" line="416"/>
         <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="449"/>
-        <source>Length: %1 %2</source>
-        <translation>Longitud: %1 %2</translation>
-    </message>
-    <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="456"/>
-        <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="464"/>
-        <source>Time: %1</source>
-        <translation>Tiempo: %1</translation>
-    </message>
-    <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="467"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="477"/>
-        <source>, Speed: %1 %2</source>
-        <translation>, Velocidad: %1 %2</translation>
-    </message>
-    <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="474"/>
-        <source>Moving: %1</source>
-        <translation>En movimiento: %1</translation>
-    </message>
-    <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="483"/>
-        <source>Start: %1</source>
-        <translation>Comienzo: %1</translation>
-    </message>
-    <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="488"/>
-        <source>End: %1</source>
-        <translation>Final: %1</translation>
-    </message>
-    <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="492"/>
-        <source>Points: %1 (%2)</source>
-        <translation>Puntos: %1 (%2)</translation>
-    </message>
-    <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="610"/>
-        <source>Ele.: %1 %2</source>
-        <translation>Altitud: %1 %2</translation>
-    </message>
-    <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="613"/>
-        <source> slope: %1%3 (%2%)</source>
-        <translation> pendiente: %1%3 (%2%)</translation>
-    </message>
-    <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="618"/>
-        <source> speed: %1%2</source>
-        <translation> velocidad: %1%2</translation>
-    </message>
-    <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="630"/>
-        <source>Ascend: %1%2 (%3%)</source>
-        <translation>Ascenso: %1%2 (%3%)</translation>
-    </message>
-    <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="634"/>
-        <source>Ascend: - (-)</source>
-        <translation>Ascenso: - (-)</translation>
-    </message>
-    <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="644"/>
-        <source> Descend: - (-) </source>
-        <translation> Descenso: - (-) </translation>
-    </message>
-    <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="665"/>
-        <source> Moving: - (-) </source>
-        <translation> En movimiento: - (-) </translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="684"/>
-        <source>Ascend: %1%2</source>
+        <location filename="../gis/gpx/CGpxProject.cpp" line="421"/>
+        <source>Saveing GIS data failed...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="689"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="706"/>
-        <source>, %1%2</source>
+        <location filename="../gis/gpx/serialization.cpp" line="691"/>
+        <source>Archived</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="694"/>
-        <source>Ascend: -</source>
-        <translation type="unfinished"></translation>
+        <location filename="../gis/gpx/serialization.cpp" line="695"/>
+        <source>Available</source>
+        <translation>Beschikbaar</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="701"/>
-        <source> Descend: %1%2</source>
-        <translation type="unfinished"></translation>
+        <location filename="../gis/gpx/serialization.cpp" line="699"/>
+        <source>Not Available</source>
+        <translation>Niet beschikbaar</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="711"/>
-        <source>Descend: -</source>
-        <translation type="unfinished"></translation>
+        <location filename="../gis/IGisItem.cpp" line="41"/>
+        <source>[no name]</source>
+        <translation>[geen naam]</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="717"/>
-        <source>Dist.: %1%2</source>
+        <location filename="../gis/IGisItem.cpp" line="327"/>
+        <source>Initial version.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="722"/>
-        <source> Time: %1%2</source>
+        <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/trk/CGisItemTrk.cpp" line="1405"/>
-        <source>Hide points.</source>
-        <translation>Ocultar puntos.</translation>
+        <location filename="../gis/IGisItem.cpp" line="436"/>
+        <source>Read Only Mode...</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1440"/>
-        <source>Show points.</source>
-        <translation>Mostrar puntos.</translation>
+        <location filename="../gis/IGisItem.cpp" line="653"/>
+        <location filename="../gis/IGisItem.cpp" line="712"/>
+        <source><h4>Description:</h4></source>
+        <translation><h4>Beschrijving:</h4></translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="640"/>
-        <source> Descend: %1%2 (%3%)</source>
-        <translation> Descenso: %1%2 (%3%)</translation>
+        <location filename="../gis/IGisItem.cpp" line="656"/>
+        <location filename="../gis/IGisItem.cpp" line="715"/>
+        <source><p>--- no description ---</p></source>
+        <translation><p>--- geen beschrijving ---</p></translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="342"/>
-        <source>Changed trackpoints, sacrificed all previous data.</source>
-        <translation>Se cambiaron los puntos del track, y descartados todos los datos previos.</translation>
+        <location filename="../gis/IGisItem.cpp" line="667"/>
+        <source><h4>Comment:</h4></source>
+        <translation><h4>Notitie:</h4></translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="651"/>
-        <source>Dist.: %1%2 (%3%)</source>
-        <translation>Distancia: %1%2 (%3%)</translation>
+        <location filename="../gis/IGisItem.cpp" line="670"/>
+        <source><p>--- no comment ---</p></source>
+        <translation><p>--- geen notitie ---</p></translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="655"/>
-        <source>Dist.: - (-)</source>
-        <translation>Dist.: - (-)</translation>
+        <location filename="../gis/IGisItem.cpp" line="681"/>
+        <location filename="../gis/IGisItem.cpp" line="726"/>
+        <source><h4>Links:</h4></source>
+        <translation><h4>Links:</h4></translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="661"/>
-        <source> Moving: %1%2 (%3%)</source>
-        <translation> En movimiento: %1%2 (%3%)</translation>
+        <location filename="../gis/IGisItem.cpp" line="684"/>
+        <location filename="../gis/IGisItem.cpp" line="729"/>
+        <source><p>--- no links ---</p></source>
+        <translation><p>--- geen links ---</p></translation>
     </message>
     <message>
         <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="95"/>
         <source>thin</source>
-        <translation>fino</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="96"/>
         <source>normal</source>
-        <translation>normal</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="97"/>
         <source>wide</source>
-        <translation>ancho</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="98"/>
         <source>strong</source>
-        <translation>intenso</translation>
+        <translation type="unfinished"></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="184"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="193"/>
         <location filename="../gis/wpt/CGisItemWpt.cpp" line="130"/>
         <source>_Clone</source>
         <translation type="unfinished"></translation>
@@ -5841,150 +5650,164 @@ Filename: %1</source>
     <message>
         <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="508"/>
         <source>Changed area shape.</source>
-        <translation>Se cambió la forma del área.</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="516"/>
         <location filename="../gis/rte/CGisItemRte.cpp" line="245"/>
         <source>Changed name.</source>
-        <translation>Se cambió el nombre.</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="522"/>
         <source>Changed border width.</source>
-        <translation>Se cambió la anchura del borde.</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="528"/>
         <source>Changed fill pattern.</source>
-        <translation>Se cambió el patró de relleno.</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="534"/>
         <source>Changed opacity.</source>
-        <translation>Se cambió la opacidad.</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="540"/>
         <source>Changed comment.</source>
-        <translation>Se cambió el comentario.</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="546"/>
         <source>Changed description.</source>
-        <translation>Se cambió la descripción.</translation>
+        <translation type="unfinished"></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="1807"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1839"/>
         <location filename="../gis/wpt/CGisItemWpt.cpp" line="456"/>
         <source>Changed links</source>
-        <translation>Se cambió el enlace</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../gis/ovl/CGisItemOvlArea.cpp" line="564"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1819"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1851"/>
         <source>Changed color</source>
-        <translation>Se cambió el color</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/wpt/CGisItemWpt.cpp" line="317"/>
-        <source>Elevation: %1 %2</source>
-        <translation>Altitud: %1 %2</translation>
+        <location filename="../gis/prj/IGisProject.cpp" line="112"/>
+        <source>Save project?</source>
+        <translation>Project opslaan?</translation>
     </message>
     <message>
-        <location filename="../gis/wpt/CGisItemWpt.cpp" line="328"/>
-        <source>Proximity: %1 %2</source>
-        <translation>Proximidad: %1 %2</translation>
+        <location filename="../gis/prj/IGisProject.cpp" line="112"/>
+        <source><h3>%1</h3>The project was changed. Save before closing it?</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1789"/>
-        <location filename="../gis/wpt/CGisItemWpt.cpp" line="402"/>
-        <source>Changed name</source>
-        <translation>Se cambió el nombre</translation>
+        <location filename="../gis/prj/IGisProject.cpp" line="252"/>
+        <source>%1: Correlate tracks and waypoints.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/CCreateRouteFromWpt.cpp" line="65"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1203"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1218"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1237"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1296"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1465"/>
-        <location filename="../mouse/CMouseEditArea.cpp" line="100"/>
-        <location filename="../mouse/CMouseEditRte.cpp" line="111"/>
-        <location filename="../mouse/CMouseEditTrk.cpp" line="117"/>
-        <source>Edit name...</source>
-        <translation>Editar nombre...</translation>
+        <location filename="../gis/prj/IGisProject.cpp" line="262"/>
+        <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>
-        <source>Enter new waypoint name.</source>
-        <translation type="obsolete">Introduzca el nuevo nombre del waypoint.</translation>
+        <location filename="../gis/prj/IGisProject.cpp" line="263"/>
+        <source>Cancelled correlation...</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/wpt/CGisItemWpt.cpp" line="412"/>
-        <source>Changed position</source>
-        <translation>Se cambió la posición</translation>
+        <location filename="../gis/prj/IGisProject.cpp" line="341"/>
+        <source><br/>
+Filename: %1</source>
+        <translation><br/>
+Bestandsnaam: %1</translation>
     </message>
     <message>
-        <location filename="../gis/wpt/CGisItemWpt.cpp" line="418"/>
-        <source>Changed elevation</source>
-        <translation>Se cambió la altitud</translation>
+        <location filename="../gis/prj/IGisProject.cpp" line="346"/>
+        <source>Waypoints: %1</source>
+        <translation>Waypoints: %1</translation>
     </message>
     <message>
-        <location filename="../gis/wpt/CGisItemWpt.cpp" line="424"/>
-        <source>Changed proximity</source>
-        <translation>Se cambió la proximidad</translation>
+        <location filename="../gis/prj/IGisProject.cpp" line="350"/>
+        <source>Tracks: %1</source>
+        <translation>Tracks: %1</translation>
     </message>
     <message>
-        <location filename="../gis/wpt/CGisItemWpt.cpp" line="438"/>
-        <source>Changed icon</source>
-        <translation>Se cambió el icono</translation>
+        <location filename="../gis/prj/IGisProject.cpp" line="354"/>
+        <source>Routes: %1</source>
+        <translation>Routes: %1</translation>
     </message>
     <message>
-        <location filename="../gis/wpt/CGisItemWpt.cpp" line="462"/>
-        <source>Changed images</source>
-        <translation>Se cambió la imagen</translation>
+        <location filename="../gis/prj/IGisProject.cpp" line="358"/>
+        <source>Areas: %1</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/wpt/CGisItemWpt.cpp" line="468"/>
-        <source>Add image</source>
-        <translation>Añadir Imagen</translation>
+        <location filename="../gis/prj/IGisProject.cpp" line="438"/>
+        <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="../mouse/CMouseEditArea.cpp" line="100"/>
+        <location filename="../mouse/CMouseEditRte.cpp" line="111"/>
+        <location filename="../mouse/CMouseEditTrk.cpp" line="117"/>
+        <source>Edit name...</source>
+        <translation>Bewerk naam...</translation>
+    </message>
+    <message>
+        <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>
     </message>
     <message>
         <location filename="../gis/rte/CGisItemRte.cpp" line="251"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1795"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1827"/>
         <location filename="../gis/wpt/CGisItemWpt.cpp" line="444"/>
         <source>Changed comment</source>
-        <translation>Se cambió el comentario</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../gis/rte/CGisItemRte.cpp" line="257"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1801"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1833"/>
         <location filename="../gis/wpt/CGisItemWpt.cpp" line="450"/>
         <source>Changed description</source>
-        <translation>Se cambió la descripción</translation>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/rte/CGisItemRte.cpp" line="286"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="464"/>
+        <source>Length: %1 %2</source>
+        <translation>Lengte: %1 %2</translation>
     </message>
     <message>
         <location filename="../gis/rte/CGisItemRte.cpp" line="290"/>
         <source>Length: -</source>
-        <translation type="unfinished"></translation>
+        <translation>Lengte: -</translation>
     </message>
     <message>
         <location filename="../gis/rte/CGisItemRte.cpp" line="297"/>
-        <location filename="../gis/rte/CGisItemRte.cpp" line="477"/>
+        <location filename="../gis/rte/CGisItemRte.cpp" line="481"/>
         <source>Time: %1 %2</source>
-        <translation type="unfinished">Tiempo: %1 %2</translation>
-    </message>
-    <message>
-        <location filename="../gis/rte/CGisItemRte.cpp" line="479"/>
-        <source>Distance: %1 %2</source>
-        <translation type="unfinished"></translation>
+        <translation>Tijd: %1 %2</translation>
     </message>
     <message>
         <location filename="../gis/rte/CGisItemRte.cpp" line="301"/>
         <source>Time: -</source>
-        <translation type="unfinished"></translation>
+        <translation>Tijd: -</translation>
     </message>
     <message>
         <location filename="../gis/rte/CGisItemRte.cpp" line="307"/>
@@ -5994,279 +5817,472 @@ Filename: %1</source>
     <message>
         <location filename="../gis/rte/CGisItemRte.cpp" line="309"/>
         <source>with %1</source>
-        <translation type="unfinished"></translation>
+        <translation>met %1</translation>
+    </message>
+    <message>
+        <location filename="../gis/rte/CGisItemRte.cpp" line="483"/>
+        <source>Distance: %1 %2</source>
+        <translation>Afstand: %1 %2</translation>
     </message>
     <message>
-        <location filename="../gis/rte/CGisItemRte.cpp" line="608"/>
+        <location filename="../gis/rte/CGisItemRte.cpp" line="612"/>
         <source>Changed route points.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/gpx/serialization.cpp" line="599"/>
-        <source>Archived</source>
-        <translation>Archivado</translation>
+        <location filename="../gis/tnv/CTwoNavProject.cpp" line="87"/>
+        <location filename="../gis/tnv/CTwoNavProject.cpp" line="191"/>
+        <location filename="../gis/tnv/serialization.cpp" line="295"/>
+        <location filename="../gis/tnv/serialization.cpp" line="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"/>
+        <source>Error...</source>
+        <translation>Fout...</translation>
     </message>
     <message>
-        <location filename="../gis/gpx/serialization.cpp" line="603"/>
-        <source>Available</source>
-        <translation>Disponible</translation>
+        <location filename="../gis/tnv/CTwoNavProject.cpp" line="87"/>
+        <location filename="../gis/tnv/CTwoNavProject.cpp" line="191"/>
+        <location filename="../gis/tnv/serialization.cpp" line="295"/>
+        <location filename="../gis/tnv/serialization.cpp" line="431"/>
+        <location filename="../gis/tnv/serialization.cpp" line="644"/>
+        <source>Failed to open %1.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/gpx/serialization.cpp" line="607"/>
-        <source>Not Available</source>
-        <translation>No Disponible</translation>
+        <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"/>
+        <source>Only support lon/lat WGS 84 format.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../map/garmin/CGarminTyp.cpp" line="465"/>
-        <location filename="../map/garmin/CGarminTyp.cpp" line="846"/>
-        <source>Warning...</source>
-        <translation>Aviso...</translation>
+        <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"/>
+        <source>Failed to read data.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../map/garmin/CGarminTyp.cpp" line="465"/>
-        <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>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="28"/>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="94"/>
+        <source>Foot</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../map/garmin/CGarminTyp.cpp" line="846"/>
-        <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>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="35"/>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="95"/>
+        <source>Bicycle</source>
+        <translation>Fiets</translation>
     </message>
     <message>
-        <location filename="../gis/IGisItem.cpp" line="327"/>
-        <source>Initial version.</source>
-        <translation>Versión inicial</translation>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="42"/>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="96"/>
+        <source>Motor Bike</source>
+        <translation>Motorfiets</translation>
     </message>
     <message>
-        <source>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="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>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="49"/>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="97"/>
+        <source>Car</source>
+        <translation>Auto</translation>
     </message>
     <message>
-        <location filename="../gis/IGisItem.cpp" line="436"/>
-        <source>Read Only Mode...</source>
-        <translation>Modo Sólo Lectura...</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>
     </message>
     <message>
-        <location filename="../gis/IGisItem.cpp" line="668"/>
-        <source><h4>Comment:</h4></source>
-        <translation><h4>Comentario:</h4></translation>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="63"/>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="99"/>
+        <source>Swim</source>
+        <translation>Zwemmen</translation>
     </message>
     <message>
-        <location filename="../gis/IGisItem.cpp" line="671"/>
-        <source><p>--- no comment ---</p></source>
-        <translation><p>---sin comentario---</p></translation>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="70"/>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="100"/>
+        <source>Ship</source>
+        <translation>Boot</translation>
     </message>
     <message>
-        <location filename="../gis/IGisItem.cpp" line="654"/>
-        <location filename="../gis/IGisItem.cpp" line="713"/>
-        <source><h4>Description:</h4></source>
-        <translation><h4>Descripción:</h4></translation>
+        <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/IGisItem.cpp" line="41"/>
-        <source>[no name]</source>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="213"/>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="257"/>
+        <source>Distance:</source>
+        <translation>Afstand:</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="215"/>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="279"/>
+        <source>Ascend:</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>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="217"/>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="301"/>
+        <source>Descend:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/IGisItem.cpp" line="657"/>
-        <location filename="../gis/IGisItem.cpp" line="716"/>
-        <source><p>--- no description ---</p></source>
-        <translation><p>---sin descripción---</p></translation>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="219"/>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="323"/>
+        <source>Speed Moving:</source>
+        <translation>Bewogen snelheid:</translation>
     </message>
     <message>
-        <location filename="../gis/IGisItem.cpp" line="682"/>
-        <location filename="../gis/IGisItem.cpp" line="727"/>
-        <source><h4>Links:</h4></source>
-        <translation></translation>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="221"/>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="345"/>
+        <source>Speed Total:</source>
+        <translation>Totale snelheid:</translation>
     </message>
     <message>
-        <location filename="../gis/IGisItem.cpp" line="685"/>
-        <location filename="../gis/IGisItem.cpp" line="730"/>
-        <source><p>--- no links ---</p></source>
-        <translation><p>--- sin links ---</p></translation>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="223"/>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="367"/>
+        <source>Time Moving:</source>
+        <translation>Bewogen tijd:</translation>
     </message>
     <message>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1203"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1218"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1237"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1296"/>
-        <location filename="../gis/trk/CGisItemTrk.cpp" line="1465"/>
-        <location filename="../mouse/CMouseEditTrk.cpp" line="117"/>
-        <source>Enter new track name.</source>
-        <translation>Introduzca el nombre del nuevo track.</translation>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="225"/>
+        <location filename="../gis/trk/CActivityTrk.cpp" line="389"/>
+        <source>Time Total:</source>
+        <translation>Totale tijd:</translation>
     </message>
     <message>
-        <location filename="../mouse/CMouseEditArea.cpp" line="100"/>
-        <source>Enter new area name.</source>
-        <translation>Introduzca el nombre del nuevo área.</translation>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="357"/>
+        <source>Changed trackpoints, sacrificed all previous data.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/db/CDBFolderDatabase.cpp" line="28"/>
-        <location filename="../gis/db/CDBFolderLostFound.cpp" line="30"/>
-        <source>All your data grouped by folders.</source>
-        <translation>Todos tus datos agrupados en carpetas.</translation>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="471"/>
+        <source>, %1%2 %3, %4%5 %6</source>
+        <translation>, %1%2 %3, %4%5 %6</translation>
     </message>
     <message>
-        <location filename="../gis/db/CDBFolderLostFound.cpp" line="66"/>
-        <location filename="../gis/db/CLostFoundProject.cpp" line="39"/>
-        <source>Lost & Found</source>
-        <translation>Objetos Perdidos</translation>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="479"/>
+        <source>Time: %1</source>
+        <translation>Tijd: %1</translation>
     </message>
     <message>
-        <location filename="../gis/db/CDBFolderLostFound.cpp" line="61"/>
-        <source>Lost & Found (%1)</source>
-        <translation>Objetos Perdidos (%1)</translation>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="482"/>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="492"/>
+        <source>, Speed: %1 %2</source>
+        <translation>, Snelheid: %1 %2</translation>
     </message>
     <message>
-        <location filename="../qlgt/converter.cpp" line="194"/>
-        <source>Copy flag information from QLandkarte GT track</source>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="489"/>
+        <source>Moving: %1</source>
+        <translation>Beweging: %1</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="498"/>
+        <source>Start: %1</source>
+        <translation>Start: %1</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="503"/>
+        <source>End: %1</source>
+        <translation>Einde: %1</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="507"/>
+        <source>Points: %1 (%2)</source>
+        <translation>Punten: %1 (%2)</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="625"/>
+        <source>Ele.: %1 %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../qlgt/CQlgtTrack.cpp" line="163"/>
-        <location filename="../qlgt/CQlgtTrack.cpp" line="217"/>
-        <location filename="../qlgt/CQlgtTrack.cpp" line="264"/>
-        <location filename="../qlgt/CQlgtTrack.cpp" line="290"/>
-        <source>Corrupt track ...</source>
-        <translation type="unfinished">Track corrupto...</translation>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="628"/>
+        <source> slope: %1%3 (%2%)</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../qlgt/CQlgtTrack.cpp" line="163"/>
-        <source>Number of trackpoints is not equal the number of training data trackpoints.</source>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="633"/>
+        <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>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../qlgt/CQlgtTrack.cpp" line="217"/>
-        <source>Number of trackpoints is not equal the number of extended data trackpoints.</source>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="657"/>
+        <source>Ascend: - (-)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../qlgt/CQlgtTrack.cpp" line="264"/>
-        <location filename="../qlgt/CQlgtTrack.cpp" line="290"/>
-        <source>Number of trackpoints is not equal the number of shadow data trackpoints.</source>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="663"/>
+        <source> Descend: %1%2 (%3%)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="667"/>
+        <source> Descend: - (-) </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="674"/>
+        <source>Dist.: %1%2 (%3%)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="678"/>
+        <source>Dist.: - (-)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="684"/>
+        <source> Moving: %1%2 (%3%)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="688"/>
+        <source> Moving: - (-) </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="707"/>
+        <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"/>
+        <source>, %1%2</source>
+        <translation>, %1%2</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="717"/>
+        <source>Ascend: -</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="724"/>
+        <source> Descend: %1%2</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="734"/>
+        <source>Descend: -</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="740"/>
+        <source>Dist.: %1%2</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="745"/>
+        <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"/>
+        <source>Enter new track name.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1432"/>
+        <source>Hide points.</source>
+        <translation>Verberg punten.</translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1472"/>
+        <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"/>
+        <source>Changed name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1868"/>
+        <source>Changed activity to '%1' for complete track.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../gis/trk/CGisItemTrk.cpp" line="1942"/>
+        <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"/>
         <source>Hide points by Douglas Peuker algorithm (%1%2)</source>
-        <translation>Ocultar puntos con algoritmo Douglas Peuker (%1%2)</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../gis/trk/filter/filter.cpp" line="112"/>
         <source>Reset all hidden track points to visible</source>
-        <translation>Restaurados todos los puntos a visible</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../gis/trk/filter/filter.cpp" line="137"/>
         <source>Permanently removed all hidden track points</source>
-        <translation>Elminados definitivamente todos los puntos ocultos del track</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../gis/trk/filter/filter.cpp" line="187"/>
         <source>Smoothed profile with a Median filter of size %1</source>
-        <translation>Pefil suavizado con Mediana de %1 puntos</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../gis/trk/filter/filter.cpp" line="223"/>
         <source>Replaced elevation data with data from DEM files.</source>
-        <translation>Datos de elevación sustituidos por valores de fichero DEM.</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../gis/trk/filter/filter.cpp" line="246"/>
         <source>Offset elevation data by %1%2.</source>
-        <translation>Elevación desplazada %1%2.</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../gis/trk/filter/filter.cpp" line="265"/>
         <source>Changed start of track to %1.</source>
-        <translation>Cambiado el inicio de track a %1.</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../gis/trk/filter/filter.cpp" line="284"/>
         <source>Remove timestamps.</source>
-        <translation>Eliminadas las marcas de tiempo.</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../gis/trk/filter/filter.cpp" line="307"/>
         <source>Set artificial timestamps with delta of %1 sec.</source>
-        <translation>Marcas de tiempo ficticias con incremento de %1 sec.</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../gis/trk/filter/filter.cpp" line="340"/>
         <source>Changed speed to %1%2.</source>
-        <translation>Velocidad modificada a %1%2.</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="1009"/>
-        <source>Delete project...</source>
-        <translation>Eliminar Proyecto...</translation>
+        <location filename="../gis/wpt/CGisItemWpt.cpp" line="317"/>
+        <source>Elevation: %1 %2</source>
+        <translation>Hoogte: %1 %2</translation>
     </message>
     <message>
-        <location filename="../gis/CGisListWks.cpp" line="1009"/>
-        <source>Do you really want to delete %1?</source>
-        <translation>¿Desea realmente eliminar %1?</translation>
+        <location filename="../gis/wpt/CGisItemWpt.cpp" line="328"/>
+        <source>Proximity: %1 %2</source>
+        <translation type="unfinished"></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"/>
-        <source>Error...</source>
-        <translation>Error...</translation>
+        <location filename="../gis/wpt/CGisItemWpt.cpp" line="412"/>
+        <source>Changed position</source>
+        <translation type="unfinished"></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"/>
-        <source>Failed to open %1.</source>
-        <translation>Fallo al abrir %1.</translation>
+        <location filename="../gis/wpt/CGisItemWpt.cpp" line="418"/>
+        <source>Changed elevation</source>
+        <translation type="unfinished"></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"/>
-        <source>Only support lon/lat WGS 84 format.</source>
-        <translation type="unfinished">Solamente soporta formato lon/lat WGS84.</translation>
+        <location filename="../gis/wpt/CGisItemWpt.cpp" line="424"/>
+        <source>Changed proximity</source>
+        <translation type="unfinished"></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"/>
-        <source>Failed to read data.</source>
-        <translation>Fallo al leer los datos.</translation>
+        <location filename="../gis/wpt/CGisItemWpt.cpp" line="438"/>
+        <source>Changed icon</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../device/CDeviceGarmin.cpp" line="207"/>
-        <source>Picture%1</source>
+        <location filename="../gis/wpt/CGisItemWpt.cpp" line="462"/>
+        <source>Changed images</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../device/IDevice.cpp" line="204"/>
-        <source>There is another project with the same name. If you press 'ok' it will be removed and replaced.</source>
+        <location filename="../gis/wpt/CGisItemWpt.cpp" line="468"/>
+        <source>Add image</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../gis/rte/CCreateRouteFromWpt.cpp" line="65"/>
-        <location filename="../mouse/CMouseEditRte.cpp" line="111"/>
-        <source>Enter new route name.</source>
+        <location filename="../map/garmin/CGarminTyp.cpp" line="465"/>
+        <location filename="../map/garmin/CGarminTyp.cpp" line="846"/>
+        <source>Warning...</source>
+        <translation>Waarschuwing...</translation>
+    </message>
+    <message>
+        <location filename="../map/garmin/CGarminTyp.cpp" line="465"/>
+        <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"/>
+        <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>
+    </message>
+    <message>
+        <location filename="../qlgt/converter.cpp" line="195"/>
+        <source>Copy flag information from QLandkarte GT track</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../qlgt/CQlgtTrack.cpp" line="163"/>
+        <location filename="../qlgt/CQlgtTrack.cpp" line="217"/>
+        <location filename="../qlgt/CQlgtTrack.cpp" line="264"/>
+        <location filename="../qlgt/CQlgtTrack.cpp" line="290"/>
+        <source>Corrupt track ...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../qlgt/CQlgtTrack.cpp" line="163"/>
+        <source>Number of trackpoints is not equal the number of training data trackpoints.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../qlgt/CQlgtTrack.cpp" line="217"/>
+        <source>Number of trackpoints is not equal the number of extended data trackpoints.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../qlgt/CQlgtTrack.cpp" line="264"/>
+        <location filename="../qlgt/CQlgtTrack.cpp" line="290"/>
+        <source>Number of trackpoints is not equal the number of shadow data trackpoints.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../units/IUnit.cpp" line="745"/>
+        <location filename="../units/IUnit.cpp" line="751"/>
+        <source>Error</source>
+        <translation>Fout</translation>
+    </message>
+    <message>
+        <location filename="../units/IUnit.cpp" line="745"/>
+        <source>Bad position format. Must be: "[N|S] ddd mm.sss [W|E] ddd mm.sss" or "[N|S] ddd.ddd [W|E] ddd.ddd"</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../units/IUnit.cpp" line="751"/>
+        <source>Position values out of bounds. </source>
         <translation type="unfinished"></translation>
     </message>
 </context>
diff --git a/src/map/CMapDraw.cpp b/src/map/CMapDraw.cpp
index 9cc2280..482d863 100644
--- a/src/map/CMapDraw.cpp
+++ b/src/map/CMapDraw.cpp
@@ -325,7 +325,7 @@ void CMapDraw::restoreActiveMapsList(const QStringList& keys)
             if(item && item->key == key)
             {
                 /**
-                    @Note   the item will load it's configuration uppon successful activation
+                    @Note   the item will load it's configuration upon successful activation
                             by calling loadConfigForMapItem().
                  */
                 item->activate();
diff --git a/src/map/CMapDraw.h b/src/map/CMapDraw.h
index 6985737..41a804d 100644
--- a/src/map/CMapDraw.h
+++ b/src/map/CMapDraw.h
@@ -105,7 +105,7 @@ public:
        @brief Find a matching street polyline
 
        The polyline must be close enough in terms of pixel to point 1 and 2. "Close enough" is defined by
-       the threshold. The returned poylline uses lon/lat as coordinates.
+       the threshold. The returned polyline uses lon/lat as coordinates.
 
        @param pt1           first point in [rad]
        @param pt2           second point in [rad]
@@ -136,7 +136,7 @@ private:
     void saveActiveMapsList(QStringList &keys, QSettings &cfg);
 
     /**
-       @brief Open configuration befor saving list
+       @brief Open configuration before saving list
        @param keys the stored map's MD5 keys will be written to keys
      */
     void saveActiveMapsList(QStringList &keys);
@@ -156,7 +156,7 @@ private:
     /// the group label used in QSettings
     QString cfgGroup;
 
-    /// the list of paths to serach maps
+    /// the list of paths to search maps
     static QStringList mapPaths;
 
     static QString cachePath;
diff --git a/src/map/CMapIMG.cpp b/src/map/CMapIMG.cpp
index 3a0950a..4ccf894 100644
--- a/src/map/CMapIMG.cpp
+++ b/src/map/CMapIMG.cpp
@@ -18,6 +18,7 @@
 
 #include "CMainWindow.h"
 #include "canvas/CCanvas.h"
+#include "helpers/CDraw.h"
 #include "helpers/CFileExt.h"
 #include "helpers/CProgressDialog.h"
 #include "helpers/Platform.h"
@@ -859,7 +860,8 @@ void CMapIMG::readSubfileBasics(subfile_desc_t& subfile, CFileExt &file)
         subdiv->lengthPolygons2     = 0;
 
         subdiv_prev = subdiv;
-        ++pSubDivN; ++subdiv;
+        ++pSubDivN;
+        ++subdiv;
     }
 
     // switch to last map level
@@ -907,7 +909,8 @@ void CMapIMG::readSubfileBasics(subfile_desc_t& subfile, CFileExt &file)
         subdiv->lengthPolygons2     = 0;
 
         subdiv_prev = subdiv;
-        ++pSubDivL; ++subdiv;
+        ++pSubDivL;
+        ++subdiv;
     }
     subdivs.last().rgn_end = gar_load(uint32_t, pRgnHdr->hdr_rgn_t::offset) + gar_load(uint32_t, pRgnHdr->hdr_rgn_t::length);
 
@@ -1066,7 +1069,8 @@ void CMapIMG::readSubfileBasics(subfile_desc_t& subfile, CFileExt &file)
             }
             break;
 
-        default:;
+        default:
+            ;
             qWarning() << "Unknown label coding" << hex << pLblHdr->coding;
         }
     }
@@ -1766,7 +1770,8 @@ void CMapIMG::drawPolylines(QPainter& p, polytype_t& lines, const QPointF& scale
     font.setBold(false);
     QFontMetricsF metrics(font);
 
-    QVector<qreal> lengths; lengths.reserve(100);
+    QVector<qreal> lengths;
+    lengths.reserve(100);
 
     int pixmapCount = 0;
     int borderCount = 0;
@@ -2255,7 +2260,7 @@ void CMapIMG::drawLabels(QPainter& p, const QVector<strlbl_t> &lbls)
     QVector<strlbl_t>::const_iterator lbl = lbls.begin();
     while(lbl != lbls.end())
     {
-        CCanvas::drawText(lbl->str, p, lbl->pt, Qt::black, fonts[lbl->type]);
+        CDraw::text(lbl->str, p, lbl->pt, Qt::black, fonts[lbl->type]);
         ++lbl;
     }
 }
diff --git a/src/map/CMapIMG.h b/src/map/CMapIMG.h
index cd5062e..0dda1af 100644
--- a/src/map/CMapIMG.h
+++ b/src/map/CMapIMG.h
@@ -156,7 +156,7 @@ public:
        @brief Find a matching street polyline
 
        The polyline must be close enough in terms of pixel to point 1 and 2. "Close enough" is defined by
-       the threshold. The returned poylline uses lon/lat as coordinates.
+       the threshold. The returned polyline uses lon/lat as coordinates.
 
        @param pt1           first point in [rad]
        @param pt2           second point in [rad]
diff --git a/src/map/CMapJNX.cpp b/src/map/CMapJNX.cpp
index a01f30f..6c3d97b 100644
--- a/src/map/CMapJNX.cpp
+++ b/src/map/CMapJNX.cpp
@@ -16,8 +16,7 @@
 
 **********************************************************************************************/
 
-#include "GeoMath.h"
-#include "canvas/CCanvas.h"
+#include "helpers/CDraw.h"
 #include "inttypes.h"
 #include "map/CMapDraw.h"
 #include "map/CMapJNX.h"
@@ -159,8 +158,8 @@ void CMapJNX::readFile(const QString& fn, qint32& productId)
     qDebug() << hex << "Signature:" <<  hdr.signature << "Offset:" <<  hdr.signature_offset;
 
     QString strTopLeft, strBottomRight;
-    GPS_Math_Deg_To_Str(mapFile.lon1, mapFile.lat1, strTopLeft);
-    GPS_Math_Deg_To_Str(mapFile.lon2, mapFile.lat2, strBottomRight);
+    IUnit::degToStr(mapFile.lon1, mapFile.lat1, strTopLeft);
+    IUnit::degToStr(mapFile.lon2, mapFile.lat2, strBottomRight);
 
     qDebug() << "Levels:";
     mapFile.levels.resize(hdr.details);
diff --git a/src/map/CMapRMAP.cpp b/src/map/CMapRMAP.cpp
index dfc462d..e138ef9 100644
--- a/src/map/CMapRMAP.cpp
+++ b/src/map/CMapRMAP.cpp
@@ -17,7 +17,7 @@
 **********************************************************************************************/
 
 #include "CMainWindow.h"
-#include "canvas/CCanvas.h"
+#include "helpers/CDraw.h"
 #include "map/CMapDraw.h"
 #include "map/CMapRMAP.h"
 #include "units/IUnit.h"
diff --git a/src/map/CMapTMS.cpp b/src/map/CMapTMS.cpp
index dd1d35b..521188b 100644
--- a/src/map/CMapTMS.cpp
+++ b/src/map/CMapTMS.cpp
@@ -17,6 +17,7 @@
 **********************************************************************************************/
 
 #include "CMainWindow.h"
+#include "helpers/CDraw.h"
 #include "map/CMapDraw.h"
 #include "map/CMapTMS.h"
 #include "map/cache/CDiskCache.h"
@@ -54,6 +55,7 @@ CMapTMS::CMapTMS(const QString &filename, CMapDraw *parent)
     : IMap(eFeatVisibility|eFeatTileCache, parent)
     , minZoomLevel(1)
     , maxZoomLevel(21)
+    , mutex(QMutex::Recursive)
     , diskCache(0)
     , lastRequest(false)
 {
@@ -127,6 +129,18 @@ CMapTMS::CMapTMS(const QString &filename, CMapDraw *parent)
         {
             layers[idx].maxZoomLevel = xmlLayer.firstChildElement("MaxZoomLevel").text().toInt();
         }
+
+        if(layers[idx].strUrl.toLower().startsWith("https") && !QSslSocket::supportsSsl())
+        {
+            QString msg = tr(
+                "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."
+                );
+            QMessageBox::critical(CMainWindow::getBestWidgetForParent(),tr("Error..."),msg,QMessageBox::Abort);
+            return;
+        }
     }
 
     const QDomElement& xmlRawHeader = xmlTms.firstChildElement("RawHeader");
@@ -168,6 +182,8 @@ CMapTMS::~CMapTMS()
 
 void CMapTMS::getLayers(QListWidget& list)
 {
+    QMutexLocker lock(&mutex);
+
     list.clear();
     if(layers.size() < 2)
     {
@@ -188,6 +204,8 @@ void CMapTMS::getLayers(QListWidget& list)
 
 void CMapTMS::saveConfig(QSettings& cfg)
 {
+    QMutexLocker lock(&mutex);
+
     IMap::saveConfig(cfg);
     if(layers.size() < 2)
     {
@@ -208,6 +226,8 @@ void CMapTMS::saveConfig(QSettings& cfg)
 
 void CMapTMS::loadConfig(QSettings& cfg)
 {
+    QMutexLocker lock(&mutex);
+
     IMap::loadConfig(cfg);
     if(layers.size() < 2)
     {
@@ -238,6 +258,8 @@ void CMapTMS::loadConfig(QSettings& cfg)
 
 void CMapTMS::configureCache()
 {
+    QMutexLocker lock(&mutex);
+
     delete diskCache;
     diskCache = new CDiskCache(getCachePath(), getCacheSize(), getCacheExpiration(), this);
 }
@@ -296,6 +318,8 @@ void CMapTMS::slotQueueChanged()
 
 void CMapTMS::slotRequestFinished(QNetworkReply* reply)
 {
+    QMutexLocker lock(&mutex);
+
     QString url = reply->url().toString();
     if(urlPending.contains(url))
     {
@@ -327,6 +351,8 @@ void CMapTMS::slotRequestFinished(QNetworkReply* reply)
 
 void CMapTMS::slotLayersChanged(QListWidgetItem * item)
 {
+    QMutexLocker lock(&mutex);
+
     bool isChecked = (item->checkState() == Qt::Checked);
     int idx = item->data(Qt::UserRole).toInt();
     if(idx < 0)
@@ -353,6 +379,8 @@ void CMapTMS::slotLayersChanged(QListWidgetItem * item)
 
 QString CMapTMS::createUrl(const layer_t& layer, int x, int y, int z)
 {
+    QMutexLocker lock(&mutex);
+
     if(layer.strUrl.startsWith("script"))
     {
         QString filename = layer.strUrl.mid(9);
diff --git a/src/map/CMapVRT.cpp b/src/map/CMapVRT.cpp
index e1fe4ea..05a1382 100644
--- a/src/map/CMapVRT.cpp
+++ b/src/map/CMapVRT.cpp
@@ -17,7 +17,7 @@
 **********************************************************************************************/
 
 #include "CMainWindow.h"
-#include "canvas/CCanvas.h"
+#include "helpers/CDraw.h"
 #include "map/CMapDraw.h"
 #include "map/CMapVRT.h"
 #include "units/IUnit.h"
@@ -57,7 +57,8 @@ CMapVRT::CMapVRT(const QString &filename, CMapDraw *parent)
 
         if(pBand == 0)
         {
-            delete dataset; dataset = 0;
+            delete dataset;
+            dataset = 0;
             QMessageBox::warning(CMainWindow::getBestWidgetForParent(), tr("Error..."), tr("Failed to load file: %1").arg(filename));
             return;
         }
@@ -85,7 +86,8 @@ CMapVRT::CMapVRT(const QString &filename, CMapDraw *parent)
         }
         else
         {
-            delete dataset; dataset = 0;
+            delete dataset;
+            dataset = 0;
             QMessageBox::warning(CMainWindow::getBestWidgetForParent(), tr("Error..."), tr("File must be 8 bit palette or gray indexed."));
             return;
         }
@@ -121,7 +123,8 @@ CMapVRT::CMapVRT(const QString &filename, CMapDraw *parent)
     free(ptr);
     if(pjsrc == 0)
     {
-        delete dataset; dataset = 0;
+        delete dataset;
+        dataset = 0;
         QMessageBox::warning(CMainWindow::getBestWidgetForParent(), tr("Error..."), tr("No georeference information found."));
         return;
     }
diff --git a/src/map/CMapWMTS.cpp b/src/map/CMapWMTS.cpp
index d288cd8..d866671 100644
--- a/src/map/CMapWMTS.cpp
+++ b/src/map/CMapWMTS.cpp
@@ -17,6 +17,7 @@
 **********************************************************************************************/
 
 #include "CMainWindow.h"
+#include "helpers/CDraw.h"
 #include "map/CMapDraw.h"
 #include "map/CMapWMTS.h"
 #include "map/cache/CDiskCache.h"
@@ -31,6 +32,7 @@
 
 CMapWMTS::CMapWMTS(const QString &filename, CMapDraw *parent)
     : IMap(eFeatVisibility|eFeatTileCache, parent)
+    , mutex(QMutex::Recursive)
     , diskCache(0)
     , lastRequest(false)
 
@@ -148,6 +150,19 @@ CMapWMTS::CMapWMTS(const QString &filename, CMapDraw *parent)
             layer.resourceURL  = layer.resourceURL.replace("{" + Identifier + "}", Default, Qt::CaseInsensitive);
         }
 
+        if(layer.resourceURL.toLower().startsWith("https") && !QSslSocket::supportsSsl())
+        {
+            QString msg = tr(
+                "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."
+                );
+            QMessageBox::critical(CMainWindow::getBestWidgetForParent(),tr("Error..."),msg,QMessageBox::Abort);
+            return;
+        }
+
+
         // enable layer by default
         layer.enabled     = true;
         layers << layer;
@@ -251,6 +266,8 @@ CMapWMTS::~CMapWMTS()
 
 void CMapWMTS::getLayers(QListWidget& list)
 {
+    QMutexLocker lock(&mutex);
+
     list.clear();
     if(layers.size() < 2)
     {
@@ -270,6 +287,8 @@ void CMapWMTS::getLayers(QListWidget& list)
 
 void CMapWMTS::saveConfig(QSettings& cfg)
 {
+    QMutexLocker lock(&mutex);
+
     IMap::saveConfig(cfg);
     if(layers.size() < 2)
     {
@@ -290,6 +309,8 @@ void CMapWMTS::saveConfig(QSettings& cfg)
 
 void CMapWMTS::loadConfig(QSettings& cfg)
 {
+    QMutexLocker lock(&mutex);
+
     IMap::loadConfig(cfg);
     if(layers.size() < 2)
     {
@@ -319,12 +340,16 @@ void CMapWMTS::loadConfig(QSettings& cfg)
 
 void CMapWMTS::configureCache()
 {
+    QMutexLocker lock(&mutex);
+
     delete diskCache;
     diskCache = new CDiskCache(getCachePath(), getCacheSize(), getCacheExpiration(), this);
 }
 
 void CMapWMTS::slotLayersChanged(QListWidgetItem * item)
 {
+    QMutexLocker lock(&mutex);
+
     bool isChecked = (item->checkState() == Qt::Checked);
     int idx = item->data(Qt::UserRole).toInt();
     if(idx < 0)
@@ -399,6 +424,8 @@ void CMapWMTS::slotQueueChanged()
 
 void CMapWMTS::slotRequestFinished(QNetworkReply* reply)
 {
+    QMutexLocker lock(&mutex);
+
     QString url = reply->url().toString();
     if(urlPending.contains(url))
     {
diff --git a/src/map/IMap.h b/src/map/IMap.h
index 8a55a07..b71b83a 100644
--- a/src/map/IMap.h
+++ b/src/map/IMap.h
@@ -76,7 +76,8 @@ public:
      */
     virtual void getInfo(const QPoint& px, QString& str)
     {
-        Q_UNUSED(px); Q_UNUSED(str);
+        Q_UNUSED(px);
+        Q_UNUSED(str);
     }
     /**
        @brief getToolTip
@@ -85,7 +86,8 @@ public:
      */
     virtual void getToolTip(const QPoint& px, QString& str)
     {
-        Q_UNUSED(px); Q_UNUSED(str);
+        Q_UNUSED(px);
+        Q_UNUSED(str);
     }
 
     /**
@@ -149,7 +151,7 @@ public:
        @brief Find a matching street polyline
 
        The polyline must be close enough in terms of pixel to point 1 and 2. "Close enough" is defined by
-       the threshold. The returned poylline uses lon/lat as coordinates.
+       the threshold. The returned polyline uses lon/lat as coordinates.
 
        @param pt1           first point in [rad]
        @param pt2           second point in [rad]
@@ -175,15 +177,18 @@ public slots:
 
     void slotSetCachePath(const QString& path)
     {
-        cachePath = path; configureCache();
+        cachePath = path;
+        configureCache();
     }
     void slotSetCacheSize(qint32 size)
     {
-        cacheSizeMB = size; configureCache();
+        cacheSizeMB = size;
+        configureCache();
     }
     void slotSetCacheExpiration(qint32 days)
     {
-        cacheExpiration = days; configureCache();
+        cacheExpiration = days;
+        configureCache();
     }
 
 
@@ -193,7 +198,7 @@ protected:
 
 
     /**
-       @brief Reproject (translate, rotate, scale) tile befor drwaing it.
+       @brief Reproject (translate, rotate, scale) tile before drwaing 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
@@ -206,7 +211,7 @@ protected:
     /// source projection of the current map file
     /**
         Has to be set by subclass. Destruction has to be
-        handeled by subclass.
+        handled by subclass.
      */
     projPJ pjsrc;
     /// target projection
diff --git a/src/map/garmin/CGarminPoint.cpp b/src/map/garmin/CGarminPoint.cpp
index 91e3d0a..99fcfaa 100644
--- a/src/map/garmin/CGarminPoint.cpp
+++ b/src/map/garmin/CGarminPoint.cpp
@@ -57,8 +57,10 @@ quint32 CGarminPoint::decode(qint32 iCenterLon, qint32 iCenterLat, quint32 shift
 
     pData += 3;
 
-    dLng = gar_ptr_load(int16_t, pData); pData += 2;
-    dLat = gar_ptr_load(int16_t, pData); pData += 2;
+    dLng = gar_ptr_load(int16_t, pData);
+    pData += 2;
+    dLat = gar_ptr_load(int16_t, pData);
+    pData += 2;
 
     qint32 x1,y1;
 
@@ -98,8 +100,10 @@ quint32 CGarminPoint::decode2(qint32 iCenterLon, qint32 iCenterLat, quint32 shif
         byte_size += 1;
     }
 
-    dLng = gar_ptr_load(int16_t, pData); pData += 2;
-    dLat = gar_ptr_load(int16_t, pData); pData += 2;
+    dLng = gar_ptr_load(int16_t, pData);
+    pData += 2;
+    dLat = gar_ptr_load(int16_t, pData);
+    pData += 2;
 
     qint32 x1,y1;
 
diff --git a/src/map/garmin/CGarminPolygon.cpp b/src/map/garmin/CGarminPolygon.cpp
index 35e7324..bd5bac0 100644
--- a/src/map/garmin/CGarminPolygon.cpp
+++ b/src/map/garmin/CGarminPolygon.cpp
@@ -134,13 +134,16 @@ quint32 CGarminPolygon::decode(qint32 iCenterLon, qint32 iCenterLat, quint32 shi
     //     qDebug() << hex << lbl_in_NET << extra_bit << lbl_info;
 
     // delta longitude and latitude
-    dLng = gar_ptr_load(uint16_t, pData); pData += 2;
-    dLat = gar_ptr_load(uint16_t, pData); pData += 2;
+    dLng = gar_ptr_load(uint16_t, pData);
+    pData += 2;
+    dLat = gar_ptr_load(uint16_t, pData);
+    pData += 2;
 
     // bitstream length
     if(two_byte_len)
     {
-        bs_len = gar_ptr_load(uint16_t, pData); pData += 2;
+        bs_len = gar_ptr_load(uint16_t, pData);
+        pData += 2;
         bytes_total += bs_len + 1;
     }
     else
@@ -162,7 +165,8 @@ quint32 CGarminPolygon::decode(qint32 iCenterLon, qint32 iCenterLat, quint32 shi
         bit 0..3    base bits longitude
         bit 4..7    base bits latitude
      */
-    bs_info = *pData++;;
+    bs_info = *pData++;
+    ;
 
     //if(extra_bit) qWarning("extrabit");
 
@@ -249,13 +253,16 @@ quint32 CGarminPolygon::decode2(qint32 iCenterLon, qint32 iCenterLat, quint32 sh
     coords.reserve(maxVecSize);
 
     type        = *pData++;
-    subtype     = *pData++;;
+    subtype     = *pData++;
+    ;
 
     type        = 0x10000 + (quint16(type) << 8) + (subtype & 0x1f);
     hasV2Label  = subtype & 0x20;
     // delta longitude and latitude
-    dLng = gar_ptr_load(uint16_t, pData); pData += 2;
-    dLat = gar_ptr_load(uint16_t, pData); pData += 2;
+    dLng = gar_ptr_load(uint16_t, pData);
+    pData += 2;
+    dLat = gar_ptr_load(uint16_t, pData);
+    pData += 2;
 
     if((*pData & 0x1) == 0)
     {
@@ -372,13 +379,15 @@ void CGarminPolygon::bits_per_coord(quint8 base, quint8 bfirst, quint32& bx, qui
     quint8 mask = 0x1;
 
     //     x_sign_same = bfirst & 0x1;
-    x_sign_same = bfirst & mask; mask <<= 1;
+    x_sign_same = bfirst & mask;
+    mask <<= 1;
 
     if(x_sign_same)
     {
         signinfo.x_has_sign = false;
         //         signinfo.nx         = bfirst & 0x2;
-        signinfo.nx         = bfirst & mask; mask <<= 1;
+        signinfo.nx         = bfirst & mask;
+        mask <<= 1;
         ++signinfo.sign_info_bits;
     }
     else
@@ -388,13 +397,15 @@ void CGarminPolygon::bits_per_coord(quint8 base, quint8 bfirst, quint32& bx, qui
     bx = bits_per_coord(base & 0x0F, signinfo.x_has_sign);
 
     //     y_sign_same = x_sign_same ? (bfirst & 0x04) : (bfirst & 0x02);
-    y_sign_same = bfirst & mask; mask <<= 1;
+    y_sign_same = bfirst & mask;
+    mask <<= 1;
 
     if(y_sign_same)
     {
         signinfo.y_has_sign = false;
         //         signinfo.ny         = x_sign_same ? bfirst & 0x08 : bfirst & 0x04;
-        signinfo.ny         = bfirst & mask; mask <<= 1;
+        signinfo.ny         = bfirst & mask;
+        mask <<= 1;
         ++signinfo.sign_info_bits;
     }
     else
diff --git a/src/map/garmin/CGarminStrTbl6.cpp b/src/map/garmin/CGarminStrTbl6.cpp
index c8ddd9e..2f8246f 100644
--- a/src/map/garmin/CGarminStrTbl6.cpp
+++ b/src/map/garmin/CGarminStrTbl6.cpp
@@ -100,7 +100,10 @@ void CGarminStrTbl6::get(CFileExt& file, quint32 offset, type_e t, QStringList&
     fill();
     while(idx < sizeof(buffer))
     {
-        c1 = reg >> 26; reg <<= 6; bits -= 6; fill();
+        c1 = reg >> 26;
+        reg <<= 6;
+        bits -= 6;
+        fill();
         //terminator
         if(c1 > 0x2F)
         {
@@ -112,12 +115,18 @@ void CGarminStrTbl6::get(CFileExt& file, quint32 offset, type_e t, QStringList&
         {
             if(c1 == 0x1C)
             {
-                c1 = reg >> 26; reg <<= 6; bits -= 6; fill();
+                c1 = reg >> 26;
+                reg <<= 6;
+                bits -= 6;
+                fill();
                 buffer[idx++] = str6tbl2[c1];
             }
             else if(c1 == 0x1B)
             {
-                c1 = reg >> 26; reg <<= 6; bits -= 6; fill();
+                c1 = reg >> 26;
+                reg <<= 6;
+                bits -= 6;
+                fill();
                 buffer[idx++] = str6tbl3[c1];
             }
             else if(c1 > 0x1C && c1 < 0x20)
diff --git a/src/map/garmin/CGarminStrTbl8.cpp b/src/map/garmin/CGarminStrTbl8.cpp
index f2819cd..a0dcff0 100644
--- a/src/map/garmin/CGarminStrTbl8.cpp
+++ b/src/map/garmin/CGarminStrTbl8.cpp
@@ -52,7 +52,8 @@ void CGarminStrTbl8::get(CFileExt& file, quint32 offset, type_e t, QStringList&
     readFile(file, offsetLBL1 + offset, size, data);
     char * lbl = data.data();
 
-    char * pBuffer = buffer; *pBuffer = 0;
+    char * pBuffer = buffer;
+    *pBuffer = 0;
     while(*lbl != 0)
     {
         if((unsigned)*lbl >= 0x1B && (unsigned)*lbl <= 0x1F)
@@ -68,7 +69,8 @@ void CGarminStrTbl8::get(CFileExt& file, quint32 offset, type_e t, QStringList&
                 {
                     info << buffer;
                 }
-                pBuffer = buffer; *pBuffer = 0;
+                pBuffer = buffer;
+                *pBuffer = 0;
             }
             ++lbl;
             continue;
diff --git a/src/map/garmin/CGarminStrTblUtf8.cpp b/src/map/garmin/CGarminStrTblUtf8.cpp
index 55c7b7d..da5d89e 100644
--- a/src/map/garmin/CGarminStrTblUtf8.cpp
+++ b/src/map/garmin/CGarminStrTblUtf8.cpp
@@ -51,7 +51,8 @@ void CGarminStrTblUtf8::get(CFileExt& file, quint32 offset, type_e t, QStringLis
     readFile(file, offsetLBL1 + offset, size, data);
     char * lbl = data.data();
 
-    char * pBuffer = buffer; *pBuffer = 0;
+    char * pBuffer = buffer;
+    *pBuffer = 0;
     while(*lbl != 0)
     {
         if((unsigned)*lbl >= 0x1B && (unsigned)*lbl <= 0x1F)
@@ -60,7 +61,8 @@ void CGarminStrTblUtf8::get(CFileExt& file, quint32 offset, type_e t, QStringLis
             if(strlen(buffer))
             {
                 labels << codec->toUnicode(buffer);
-                pBuffer = buffer; *pBuffer = 0;
+                pBuffer = buffer;
+                *pBuffer = 0;
             }
             ++lbl;
             continue;
diff --git a/src/map/garmin/CGarminTyp.cpp b/src/map/garmin/CGarminTyp.cpp
index 5bd225b..bfc6eaf 100644
--- a/src/map/garmin/CGarminTyp.cpp
+++ b/src/map/garmin/CGarminTyp.cpp
@@ -850,6 +850,7 @@ bool CGarminTyp::parsePolyline(QDataStream& in, QMap<quint32, polyline_property>
             qDebug() << "Failed polyline" <<  hex << ":" << typ <<  ctyp << rows;
             continue;
         }
+
         property.imgDay     = property.imgDay.convertToFormat(QImage::Format_ARGB32_Premultiplied);
         property.imgNight   = property.imgNight.convertToFormat(QImage::Format_ARGB32_Premultiplied);
         if(hasLocalization)
diff --git a/src/map/garmin/IGarminStrTbl.h b/src/map/garmin/IGarminStrTbl.h
index d82ec61..1f1ed27 100644
--- a/src/map/garmin/IGarminStrTbl.h
+++ b/src/map/garmin/IGarminStrTbl.h
@@ -35,15 +35,20 @@ public:
 
     void registerLBL1(const quint32 offset, const quint32 size, const quint8 shift)
     {
-        offsetLBL1 = offset; sizeLBL1 = size; addrshift1 = shift;
+        offsetLBL1 = offset;
+        sizeLBL1 = size;
+        addrshift1 = shift;
     }
     void registerLBL6(const quint32 offset, const quint32 size)
     {
-        offsetLBL6 = offset; sizeLBL6 = size;
+        offsetLBL6 = offset;
+        sizeLBL6 = size;
     }
     void registerNET1(const quint32 offset, const quint32 size, const quint8 shift)
     {
-        offsetNET1 = offset; sizeNET1 = size; addrshift2 = shift;
+        offsetNET1 = offset;
+        sizeNET1 = size;
+        addrshift2 = shift;
     }
 
     virtual void get(CFileExt& file, quint32 offset, type_e t, QStringList& info) = 0;
diff --git a/src/mouse/CMouseEditTrk.cpp b/src/mouse/CMouseEditTrk.cpp
index cb96724..668a88b 100644
--- a/src/mouse/CMouseEditTrk.cpp
+++ b/src/mouse/CMouseEditTrk.cpp
@@ -78,7 +78,7 @@ void CMouseEditTrk::slotCopyToOrig()
 
     if(!isNewLine)
     {
-        int res = QMessageBox::warning(canvas, tr("Warning!"), tr("This will replace all data of the orignal by a simple line of coordinates. All other data will be lost permanently."), QMessageBox::Ok|QMessageBox::Abort, QMessageBox::Ok);
+        int res = QMessageBox::warning(canvas, tr("Warning!"), tr("This will replace all data of the original by a simple line of coordinates. All other data will be lost permanently."), QMessageBox::Ok|QMessageBox::Abort, QMessageBox::Ok);
 
         if(res != QMessageBox::Ok)
         {
diff --git a/src/mouse/CMouseMoveWpt.cpp b/src/mouse/CMouseMoveWpt.cpp
index 10b7502..1cdbe31 100644
--- a/src/mouse/CMouseMoveWpt.cpp
+++ b/src/mouse/CMouseMoveWpt.cpp
@@ -22,6 +22,7 @@
 #include "gis/CGisWidget.h"
 #include "gis/WptIcons.h"
 #include "gis/wpt/CGisItemWpt.h"
+#include "helpers/CDraw.h"
 #include "mouse/CMouseMoveWpt.h"
 #include "units/IUnit.h"
 
@@ -79,7 +80,7 @@ void CMouseMoveWpt::draw(QPainter& p,  CCanvas::redraw_e needsRedraw, const QRec
     p.drawPolygon(arrow);
     p.restore();
 
-    CCanvas::drawText(str, p, (p2 + QPoint(0, -30)).toPoint(), Qt::darkBlue);
+    CDraw::text(str, p, (p2 + QPoint(0, -30)).toPoint(), Qt::darkBlue);
 
     p.drawPixmap(p1 - focus, icon);
     p.drawPixmap(p2 - focus, icon);
diff --git a/src/mouse/CMouseNormal.cpp b/src/mouse/CMouseNormal.cpp
index d596748..2b93ed4 100644
--- a/src/mouse/CMouseNormal.cpp
+++ b/src/mouse/CMouseNormal.cpp
@@ -16,7 +16,6 @@
 
 **********************************************************************************************/
 
-#include "GeoMath.h"
 #include "canvas/CCanvas.h"
 #include "gis/CGisDraw.h"
 #include "gis/CGisWidget.h"
@@ -137,8 +136,10 @@ void CMouseNormal::mouseMoveEvent(QMouseEvent * e)
             break;
         }
 
-        default:;
+        default:
+            ;
         }
+
         canvas->displayInfo(point);
         canvas->update();
     }
@@ -214,8 +215,10 @@ void CMouseNormal::mouseReleaseEvent(QMouseEvent *e)
                 break;
             }
 
-            default:;
+            default:
+                ;
             }
+
             canvas->update();
         }
         mapMove     = false;
@@ -328,7 +331,8 @@ void CMouseNormal::draw(QPainter& p, CCanvas::redraw_e needsRedraw, const QRect
         break;
     }
 
-    default:;
+    default:
+        ;
     }
 }
 
@@ -393,7 +397,7 @@ void CMouseNormal::slotCopyPosition()
     gis->convertPx2Rad(pt);
 
     QString position;
-    GPS_Math_Deg_To_Str(pt.x() * RAD_TO_DEG, pt.y() * RAD_TO_DEG, position);
+    IUnit::degToStr(pt.x() * RAD_TO_DEG, pt.y() * RAD_TO_DEG, position);
 
     QClipboard *clipboard = QApplication::clipboard();
     clipboard->setText(position);
diff --git a/src/mouse/CMousePrint.cpp b/src/mouse/CMousePrint.cpp
new file mode 100644
index 0000000..12d686f
--- /dev/null
+++ b/src/mouse/CMousePrint.cpp
@@ -0,0 +1,326 @@
+/**********************************************************************************************
+    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/CGisDraw.h"
+#include "mouse/CMousePrint.h"
+#include "print/CPrintDialog.h"
+
+#include <QtWidgets>
+
+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);
+
+    canvas->reportStatus("CMousePrint", tr("<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."));
+}
+
+CMousePrint::~CMousePrint()
+{
+    canvas->reportStatus("CMousePrint", "");
+}
+
+void CMousePrint::draw(QPainter& p, CCanvas::redraw_e needsRedraw, const QRect &rect)
+{
+    if(rectSelection.isNull())
+    {
+        return;
+    }
+
+    QPointF pt1 = rectSelection.topLeft();
+    QPointF pt2 = rectSelection.bottomRight();
+
+    gis->convertRad2Px(pt1);
+    gis->convertRad2Px(pt2);
+
+    QRectF rectSel(pt1,pt2);
+    QRectF rectScr = canvas->rect();
+
+    rectTopLeft.moveTopLeft(rectSel.topLeft());
+    rectTopRight.moveTopRight(rectSel.topRight());
+    rectBottomLeft.moveBottomLeft(rectSel.bottomLeft());
+    rectBottomRight.moveBottomRight(rectSel.bottomRight());
+
+
+    QPainterPath path;
+    path.addRect(rectScr);
+    path.addRect(rectSel);
+
+    p.setPen(Qt::black);
+    p.setBrush(QColor(0,0,0,128));
+    p.drawPath(path);
+
+    p.setBrush(Qt::lightGray);
+    p.drawRect(rectTopLeft);
+    p.drawRect(rectTopRight);
+    p.drawRect(rectBottomLeft);
+    p.drawRect(rectBottomRight);
+
+    p.setBrush(Qt::red);
+    switch(corner)
+    {
+    case eCornerTopLeft:
+        p.drawRect(rectTopLeft);
+        break;
+
+    case eCornerTopRight:
+        p.drawRect(rectTopRight);
+        break;
+
+    case eCornerBottomLeft:
+        p.drawRect(rectBottomLeft);
+        break;
+
+    case eCornerBottomRight:
+        p.drawRect(rectBottomRight);
+        break;
+    }
+
+    if(rectSel.width() > 100 && rectSel.height() > 50)
+    {
+        rectPrintButton.moveCenter(rectSel.center() + QPointF(30,0));
+        p.setPen(corner == eCornerPrint ? QPen(Qt::red,3) : QPen(Qt::darkBlue,2));
+        p.setBrush(Qt::white);
+        p.drawRect(rectPrintButton.adjusted(-3,-3,3,3));
+        p.drawPixmap(rectPrintButton.topLeft(), QPixmap("://icons/48x48/Print.png"));
+
+        rectImageButton.moveCenter(rectSel.center() - QPointF(30,0));
+        p.setPen(corner == eCornerImage ? QPen(Qt::red,3) : QPen(Qt::darkBlue,2));
+        p.setBrush(Qt::white);
+        p.drawRect(rectImageButton.adjusted(-3,-3,3,3));
+        p.drawPixmap(rectImageButton.topLeft(), QPixmap("://icons/48x48/Save.png"));
+    }
+}
+
+void CMousePrint::mousePressEvent(QMouseEvent * e)
+{
+    e->accept();
+
+    canvas->reportStatus("CMousePrint", "");
+
+    if(e->button() == Qt::RightButton)
+    {
+        canvas->resetMouse();
+        canvas->update();
+    }
+    else if(e->button() == Qt::LeftButton)
+    {
+        switch(state)
+        {
+        case eStateIdle:
+        {
+            QPointF pos = e->pos();
+            gis->convertPx2Rad(pos);
+            rectSelection.setTopLeft(pos);
+            rectSelection.setBottomRight(pos);
+            posInitial = pos;
+            state = eStateInitial;
+            break;
+        }
+
+        case eStateMap:
+        {
+            if(corner != eCornerNone)
+            {
+                if(corner == eCornerPrint)
+                {
+                    CPrintDialog dlg(CPrintDialog::eTypePrint, rectSelection, canvas);
+                    dlg.exec();
+                    canvas->resetMouse();
+                    canvas->slotTriggerCompleteUpdate(CCanvas::eRedrawAll);
+                }
+                else if(corner == eCornerImage)
+                {
+                    CPrintDialog dlg(CPrintDialog::eTypeImage, rectSelection, canvas);
+                    dlg.exec();
+                    canvas->resetMouse();
+                    canvas->slotTriggerCompleteUpdate(CCanvas::eRedrawAll);
+                }
+                else
+                {
+                    state = eStateResize;
+                }
+            }
+            else
+            {
+                lastPos = e->pos();
+                state = eStateMapMoving;
+            }
+            break;
+        }
+        }
+    }
+}
+
+void CMousePrint::mouseMoveEvent(QMouseEvent * e)
+{
+    e->accept();
+
+    switch(state)
+    {
+    case eStateInitial:
+    {
+        QPointF pos = e->pos();
+        gis->convertPx2Rad(pos);
+
+        if(pos.x() < posInitial.x())
+        {
+            rectSelection.setLeft(pos.x());
+        }
+        else
+        {
+            rectSelection.setRight(pos.x());
+        }
+
+        if(pos.y() < posInitial.y())
+        {
+            rectSelection.setBottom(pos.y());
+        }
+        else
+        {
+            rectSelection.setTop(pos.y());
+        }
+
+        canvas->update();
+        break;
+    }
+
+    case eStateMap:
+    {
+        corner_e _corner = corner;
+        QPoint pos = e->pos();
+        if(rectTopLeft.contains(pos))
+        {
+            offset = pos - rectTopLeft.topLeft();
+            corner = eCornerTopLeft;
+        }
+        else if(rectTopRight.contains(pos))
+        {
+            offset = pos - rectTopRight.topRight();
+            corner = eCornerTopRight;
+        }
+        else if(rectBottomLeft.contains(pos))
+        {
+            offset = pos - rectBottomLeft.bottomLeft();
+            corner = eCornerBottomLeft;
+        }
+        else if(rectBottomRight.contains(pos))
+        {
+            offset = pos - rectBottomRight.bottomRight();
+            corner = eCornerBottomRight;
+        }
+        else if(rectPrintButton.contains(pos))
+        {
+            corner = eCornerPrint;
+        }
+        else if(rectImageButton.contains(pos))
+        {
+            corner = eCornerImage;
+        }
+        else
+        {
+            corner = eCornerNone;
+        }
+
+        if(corner != _corner)
+        {
+            canvas->update();
+        }
+        break;
+    }
+
+    case eStateMapMoving:
+    {
+        QPoint pos = e->pos();
+
+        if(pos != lastPos)
+        {
+            QPoint delta = pos - lastPos;
+            canvas->moveMap(delta);
+            lastPos     = pos;
+        }
+        break;
+    }
+
+    case eStateResize:
+    {
+        QPointF pos = e->pos() - offset;
+        gis->convertPx2Rad(pos);
+        switch(corner)
+        {
+        case eCornerTopLeft:
+            rectSelection.setTopLeft(pos);
+            break;
+
+        case eCornerTopRight:
+            rectSelection.setTopRight(pos);
+            break;
+
+        case eCornerBottomLeft:
+            rectSelection.setBottomLeft(pos);
+            break;
+
+        case eCornerBottomRight:
+            rectSelection.setBottomRight(pos);
+            break;
+        }
+
+        canvas->update();
+        break;
+    }
+    }
+}
+
+void CMousePrint::mouseReleaseEvent(QMouseEvent *e)
+{
+    e->accept();
+
+    if(!rectSelection.isNull())
+    {
+        QPointF pt1 = rectSelection.topLeft();
+        QPointF pt2 = rectSelection.bottomRight();
+
+        gis->convertRad2Px(pt1);
+        gis->convertRad2Px(pt2);
+
+        QRectF rectSel(pt1,pt2);
+
+        if(rectSel.width() < 40 || rectSel.height() < 40)
+        {
+            rectSelection = QRectF();
+        }
+    }
+
+    state = rectSelection.isNull() ? eStateIdle : eStateMap;
+
+    canvas->update();
+}
+
+void CMousePrint::wheelEvent(QWheelEvent * e)
+{
+}
+
+
diff --git a/src/mouse/CMouseRangeTrk.h b/src/mouse/CMousePrint.h
similarity index 57%
copy from src/mouse/CMouseRangeTrk.h
copy to src/mouse/CMousePrint.h
index 3693e58..4b0b5e3 100644
--- a/src/mouse/CMouseRangeTrk.h
+++ b/src/mouse/CMousePrint.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,55 +16,64 @@
 
 **********************************************************************************************/
 
-#ifndef CMOUSERANGETRK_H
-#define CMOUSERANGETRK_H
+#ifndef CMOUSEPRINT_H
+#define CMOUSEPRINT_H
 
-#include "gis/IGisItem.h"
 #include "mouse/IMouse.h"
-#include <QPointer>
 
-class CGisItemTrk;
 class CGisDraw;
 class CCanvas;
-class CScrOptRangeTrk;
 
-class CMouseRangeTrk : public IMouse
+class CMousePrint : public IMouse
 {
     Q_OBJECT
 public:
-    CMouseRangeTrk(CGisItemTrk& trk, CGisDraw * gis, CCanvas * parent);
-    virtual ~CMouseRangeTrk();
+    CMousePrint(CGisDraw * gis, CCanvas * parent);
+    virtual ~CMousePrint();
 
-    void draw(QPainter& p, CCanvas::redraw_e, const QRect &);
+    void draw(QPainter& p, CCanvas::redraw_e needsRedraw, const QRect &rect);
     void mousePressEvent(QMouseEvent * e);
     void mouseMoveEvent(QMouseEvent * e);
     void mouseReleaseEvent(QMouseEvent *e);
     void wheelEvent(QWheelEvent * e);
 
-private slots:
-    void slotHidePoints();
-    void slotShowPoints();
-    void slotCopy();
-
 private:
-    IGisItem::key_t key;
+    QPoint lastPos;
+    QPointF offset;
+    QPointF posInitial;
+
+    QRectF rectSelection;
+    QRectF rectTopLeft;
+    QRectF rectTopRight;
+    QRectF rectBottomLeft;
+    QRectF rectBottomRight;
+    QRectF rectPrintButton;
+    QRectF rectImageButton;
 
     enum state_e
     {
         eStateIdle
-        ,eStateMoveMap
-        ,eStateSelectRange
-        ,eStateRangeSelected
+        ,eStateInitial
+        ,eStateMap
+        ,eStateMapMoving
+        ,eStateResize
     };
 
     state_e state;
 
-    QPointF anchor;
-
-    QPoint lastPoint;
+    enum corner_e
+    {
+        eCornerNone
+        , eCornerTopLeft
+        , eCornerTopRight
+        , eCornerBottomLeft
+        , eCornerBottomRight
+        , eCornerPrint
+        , eCornerImage
+    };
 
-    QPointer<CScrOptRangeTrk> scrOptRange;
+    corner_e corner;
 };
 
-#endif //CMOUSERANGETRK_H
+#endif //CMOUSEPRINT_H
 
diff --git a/src/mouse/CMouseRangeTrk.cpp b/src/mouse/CMouseRangeTrk.cpp
index 65bd7c2..5a077c6 100644
--- a/src/mouse/CMouseRangeTrk.cpp
+++ b/src/mouse/CMouseRangeTrk.cpp
@@ -124,6 +124,7 @@ void CMouseRangeTrk::mousePressEvent(QMouseEvent * e)
                 scrOptRange = new CScrOptRangeTrk(pt, trk, this);
                 connect(scrOptRange->toolHidePoints, SIGNAL(clicked()), this, SLOT(slotHidePoints()));
                 connect(scrOptRange->toolShowPoints, SIGNAL(clicked()), this, SLOT(slotShowPoints()));
+                connect(scrOptRange->toolActivity, SIGNAL(clicked()), this, SLOT(slotActivity()));
                 connect(scrOptRange->toolCopy, SIGNAL(clicked()), this, SLOT(slotCopy()));
 
                 state = eStateRangeSelected;
@@ -147,7 +148,8 @@ void CMouseRangeTrk::mousePressEvent(QMouseEvent * e)
             break;
         }
 
-        default:;
+        default:
+            ;
         }
     }
 }
@@ -191,7 +193,8 @@ void CMouseRangeTrk::mouseMoveEvent(QMouseEvent * e)
         break;
     }
 
-    default:;
+    default:
+        ;
     }
 
     lastPoint = point;
@@ -219,10 +222,6 @@ void CMouseRangeTrk::slotHidePoints()
     CGisItemTrk * trk = dynamic_cast<CGisItemTrk*>(CGisWidget::self().getItemByKey(key));
     if(trk != 0)
     {
-        if(!trk->setReadOnlyMode(false))
-        {
-            return;
-        }
         trk->hideSelectedPoints();
         canvas->slotTriggerCompleteUpdate(CCanvas::eRedrawGis);
     }
@@ -238,11 +237,6 @@ void CMouseRangeTrk::slotShowPoints()
     CGisItemTrk * trk = dynamic_cast<CGisItemTrk*>(CGisWidget::self().getItemByKey(key));
     if(trk != 0)
     {
-        if(!trk->setReadOnlyMode(false))
-        {
-            return;
-        }
-
         trk->showSelectedPoints();
         canvas->slotTriggerCompleteUpdate(CCanvas::eRedrawGis);
     }
@@ -251,6 +245,21 @@ void CMouseRangeTrk::slotShowPoints()
     canvas->resetMouse();
 }
 
+void CMouseRangeTrk::slotActivity()
+{
+    QMutexLocker lock(&IGisItem::mutexItems);
+
+    CGisItemTrk * trk = dynamic_cast<CGisItemTrk*>(CGisWidget::self().getItemByKey(key));
+    if(trk != 0)
+    {
+        trk->setActivity();
+        canvas->slotTriggerCompleteUpdate(CCanvas::eRedrawGis);
+    }
+
+    scrOptRange->deleteLater();
+    canvas->resetMouse();
+}
+
 void CMouseRangeTrk::slotCopy()
 {
     QMutexLocker lock(&IGisItem::mutexItems);
diff --git a/src/mouse/CMouseRangeTrk.h b/src/mouse/CMouseRangeTrk.h
index 3693e58..405eb33 100644
--- a/src/mouse/CMouseRangeTrk.h
+++ b/src/mouse/CMouseRangeTrk.h
@@ -44,6 +44,7 @@ public:
 private slots:
     void slotHidePoints();
     void slotShowPoints();
+    void slotActivity();
     void slotCopy();
 
 private:
diff --git a/src/mouse/CScrOptRangeTrk.cpp b/src/mouse/CScrOptRangeTrk.cpp
index 9b08e80..c8da226 100644
--- a/src/mouse/CScrOptRangeTrk.cpp
+++ b/src/mouse/CScrOptRangeTrk.cpp
@@ -18,6 +18,7 @@
 
 #include "CMainWindow.h"
 #include "gis/trk/CGisItemTrk.h"
+#include "helpers/CDraw.h"
 #include "mouse/CScrOptRangeTrk.h"
 
 #include <QtWidgets>
@@ -41,6 +42,7 @@ 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()));
 }
 
@@ -52,7 +54,7 @@ void CScrOptRangeTrk::draw(QPainter& p)
 {
     if(isVisible())
     {
-        drawBubble2(origin, p);
+        CDraw::bubble2(*this, origin, p);
     }
 }
 
diff --git a/src/mouse/CScrOptUnclutter.cpp b/src/mouse/CScrOptUnclutter.cpp
index 69ea929..537af8e 100644
--- a/src/mouse/CScrOptUnclutter.cpp
+++ b/src/mouse/CScrOptUnclutter.cpp
@@ -20,6 +20,7 @@
 #include "canvas/CCanvas.h"
 #include "gis/IGisItem.h"
 #include "gis/trk/CGisItemTrk.h"
+#include "helpers/CDraw.h"
 #include "mouse/CScrOptUnclutter.h"
 
 #include <QtWidgets>
@@ -208,7 +209,7 @@ void CScrOptUnclutter::draw(QPainter& p)
         p.drawEllipse(item.area.center(), 18,18);
 
         p.drawPixmap(item.area, item.icon);
-        CCanvas::drawText(item.name, p, item.text, Qt::darkBlue);
+        CDraw::text(item.name, p, item.text, Qt::darkBlue);
     }
 }
 
diff --git a/src/mouse/IMouse.cpp b/src/mouse/IMouse.cpp
index 611d7c2..5fca8b9 100644
--- a/src/mouse/IMouse.cpp
+++ b/src/mouse/IMouse.cpp
@@ -53,29 +53,30 @@ void IMouse::slotPanCanvas()
 }
 
 #define SENSITIVE_FRAME 100
+#define DAMPING_FACTOR  0.25
 void IMouse::panCanvas(const QPoint& pos)
 {
     if(pos.x() < SENSITIVE_FRAME)
     {
-        int d = SENSITIVE_FRAME - pos.x();
+        int d = (SENSITIVE_FRAME - pos.x()) * DAMPING_FACTOR;
         canvas->moveMap(QPointF(d/2, 0));
         timer->start();
     }
     else if(pos.x() > canvas->width() - SENSITIVE_FRAME)
     {
-        int d = canvas->width() - SENSITIVE_FRAME - pos.x();
+        int d = (canvas->width() - SENSITIVE_FRAME - pos.x()) * DAMPING_FACTOR;
         canvas->moveMap(QPointF(d/2, 0));
         timer->start();
     }
     else if(pos.y() < SENSITIVE_FRAME)
     {
-        int d = SENSITIVE_FRAME - pos.y();
+        int d = (SENSITIVE_FRAME - pos.y()) * DAMPING_FACTOR;
         canvas->moveMap(QPointF(0, d/2));
         timer->start();
     }
     else if(pos.y() > canvas->height() - SENSITIVE_FRAME)
     {
-        int d = canvas->height() - SENSITIVE_FRAME - pos.y();
+        int d = (canvas->height() - SENSITIVE_FRAME - pos.y()) * DAMPING_FACTOR;
         canvas->moveMap(QPointF(0, d/2));
         timer->start();
     }
diff --git a/src/mouse/IScrOpt.cpp b/src/mouse/IScrOpt.cpp
index 5ee8aa9..ae01a4a 100644
--- a/src/mouse/IScrOpt.cpp
+++ b/src/mouse/IScrOpt.cpp
@@ -16,7 +16,7 @@
 
 **********************************************************************************************/
 
-#include "canvas/CCanvas.h"
+#include "helpers/CDraw.h"
 #include "mouse/IMouse.h"
 #include "mouse/IScrOpt.h"
 #include "units/IUnit.h"
@@ -61,40 +61,21 @@ void IScrOpt::leaveEvent(QEvent * e)
 }
 
 
-void IScrOpt::drawBubble1(const QPointF& pt, QPainter& p)
-{
-    QRectF r = rect();
-    r.moveTopLeft(QPoint(x(), y()));
-    QPainterPath path1;
-    path1.addRoundedRect(r,5,5);
-
-    QPolygonF poly2;
-    poly2 << pt << (r.topLeft() + QPointF(10,0)) << (r.topLeft() + QPointF(0,10)) << pt;
-    QPainterPath path2;
-    path2.addPolygon(poly2);
-
-    path1 = path1.united(path2);
-
-    p.setPen(CCanvas::penBorderGray);
-    p.setBrush(CCanvas::brushBackWhite);
-    p.drawPolygon(path1.toFillPolygon());
-}
-
-void IScrOpt::drawBubble2(const QPointF &pt, QPainter& p)
-{
-    QRectF r = rect();
-    r.moveTopLeft(QPoint(x(), y()));
-    QPainterPath path1;
-    path1.addRoundedRect(r,5,5);
+//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);
+//    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);
+//    path1 = path1.united(path2);
 
-    p.setPen(CCanvas::penBorderGray);
-    p.setBrush(CCanvas::brushBackWhite);
-    p.drawPolygon(path1.toFillPolygon());
-}
+//    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 edbbf01..95aa14b 100644
--- a/src/mouse/IScrOpt.h
+++ b/src/mouse/IScrOpt.h
@@ -52,8 +52,7 @@ protected:
     void enterEvent(QEvent * e);
     void leaveEvent(QEvent * e);
 
-    void drawBubble1(const QPointF &pt, QPainter& p);
-    void drawBubble2(const QPointF &pt, QPainter& p);
+//    void drawBubble2(const QPointF &pt, QPainter& p);
 
     QPoint origin;
     QPoint mousePos;
diff --git a/src/mouse/IScrOptRangeTrk.ui b/src/mouse/IScrOptRangeTrk.ui
index 01ab623..8b0dd16 100644
--- a/src/mouse/IScrOptRangeTrk.ui
+++ b/src/mouse/IScrOptRangeTrk.ui
@@ -6,7 +6,7 @@
    <rect>
     <x>0</x>
     <y>0</y>
-    <width>100</width>
+    <width>116</width>
     <height>100</height>
    </rect>
   </property>
@@ -63,6 +63,20 @@
       </widget>
      </item>
      <item>
+      <widget class="QToolButton" name="toolActivity">
+       <property name="toolTip">
+        <string>Select an activity for the selected range.</string>
+       </property>
+       <property name="text">
+        <string>...</string>
+       </property>
+       <property name="icon">
+        <iconset resource="../resources.qrc">
+         <normaloff>:/icons/32x32/Activity.png</normaloff>:/icons/32x32/Activity.png</iconset>
+       </property>
+      </widget>
+     </item>
+     <item>
       <widget class="QToolButton" name="toolCopy">
        <property name="toolTip">
         <string>Copy track points as new track.</string>
diff --git a/src/mouse/line/CLineOpAddPoint.cpp b/src/mouse/line/CLineOpAddPoint.cpp
index 245a5d3..6965b82 100644
--- a/src/mouse/line/CLineOpAddPoint.cpp
+++ b/src/mouse/line/CLineOpAddPoint.cpp
@@ -39,7 +39,7 @@ void CLineOpAddPoint::append()
 {
     // this is called on construction when creating a complete new line
     // A new point is appended to what ever line already exists,
-    // and add point mode is enetred imediately.
+    // and add point mode is entered immediately.
     idxFocus = points.size();
     points.insert(idxFocus, IGisLine::point_t(points.last()));
     addPoint = true;
@@ -113,15 +113,7 @@ void CLineOpAddPoint::mousePressEventEx(QMouseEvent * e)
     }
     else if(e->button() == Qt::RightButton)
     {
-        if(addPoint)
-        {
-            // cancel action and restore last state of line
-            cancelDelayedRouting();
-            parentHandler->restoreFromHistory(points);
-
-            addPoint = false;
-            idxFocus = NOIDX;
-        }
+        abortStep();
         idxFocus = NOIDX;
     }
 
@@ -129,6 +121,25 @@ void CLineOpAddPoint::mousePressEventEx(QMouseEvent * e)
     canvas->slotTriggerCompleteUpdate(CCanvas::eRedrawMouse);
 }
 
+bool CLineOpAddPoint::abortStep()
+{
+    if(addPoint)
+    {
+        // cancel action and restore last state of line
+        cancelDelayedRouting();
+        parentHandler->restoreFromHistory(points);
+
+        addPoint = false;
+        idxFocus = NOIDX;
+
+        parentHandler->setCanvasPanning(addPoint);
+        canvas->slotTriggerCompleteUpdate(CCanvas::eRedrawMouse);
+
+        return true;
+    }
+    return false;
+}
+
 void CLineOpAddPoint::mouseMoveEventEx(QMouseEvent * e)
 {
     if(addPoint)
@@ -140,7 +151,7 @@ void CLineOpAddPoint::mouseMoveEventEx(QMouseEvent * e)
         // update position of point
         pt.coord = coord;
 
-        // clear subpoints, as they have to be recalulated
+        // clear subpoints, as they have to be recalculated
         // by the routing, if any
         pt.subpts.clear();
         if(idxFocus > 0)
diff --git a/src/mouse/line/CLineOpAddPoint.h b/src/mouse/line/CLineOpAddPoint.h
index df96928..7b14725 100644
--- a/src/mouse/line/CLineOpAddPoint.h
+++ b/src/mouse/line/CLineOpAddPoint.h
@@ -39,6 +39,8 @@ public:
 
     void append();
 
+    bool abortStep();
+
 private:
     bool addPoint;
     bool isPoint;
diff --git a/src/mouse/line/CLineOpMovePoint.cpp b/src/mouse/line/CLineOpMovePoint.cpp
index 3f3f108..4a7f112 100644
--- a/src/mouse/line/CLineOpMovePoint.cpp
+++ b/src/mouse/line/CLineOpMovePoint.cpp
@@ -71,15 +71,7 @@ void CLineOpMovePoint::mousePressEventEx(QMouseEvent * e)
     }
     else if(e->button() == Qt::RightButton)
     {
-        if(movePoint)
-        {
-            // cancel action and restore last state of line
-            cancelDelayedRouting();
-            parentHandler->restoreFromHistory(points);
-
-            movePoint = false;
-            idxFocus  = NOIDX;
-        }
+        abortStep();
     }
 
     // switch on map panning if move operation is in progress
@@ -87,6 +79,26 @@ void CLineOpMovePoint::mousePressEventEx(QMouseEvent * e)
     canvas->slotTriggerCompleteUpdate(CCanvas::eRedrawMouse);
 }
 
+bool CLineOpMovePoint::abortStep()
+{
+    if(movePoint)
+    {
+        // cancel action and restore last state of line
+        cancelDelayedRouting();
+        parentHandler->restoreFromHistory(points);
+
+        movePoint = false;
+        idxFocus  = NOIDX;
+
+        // switch on map panning if move operation is in progress
+        parentHandler->setCanvasPanning(movePoint);
+        canvas->slotTriggerCompleteUpdate(CCanvas::eRedrawMouse);
+
+        return true;
+    }
+    return false;
+}
+
 void CLineOpMovePoint::mouseMoveEventEx(QMouseEvent * e)
 {
     if(movePoint)
@@ -99,7 +111,7 @@ void CLineOpMovePoint::mouseMoveEventEx(QMouseEvent * e)
         // update position of point
         pt.coord = coord;
 
-        // clear subpoints, as they have to be recalulated
+        // clear subpoints, as they have to be recalculated
         // by the routing, if any
         pt.subpts.clear();
         if(idxFocus > 0)
@@ -147,4 +159,3 @@ void CLineOpMovePoint::drawFg(QPainter& p)
     }
 }
 
-
diff --git a/src/mouse/line/CLineOpMovePoint.h b/src/mouse/line/CLineOpMovePoint.h
index 6edab86..287f266 100644
--- a/src/mouse/line/CLineOpMovePoint.h
+++ b/src/mouse/line/CLineOpMovePoint.h
@@ -37,6 +37,8 @@ public:
 
     void canvasPanned(QPointF pos);
 
+    bool abortStep();
+
 private:
     bool movePoint;
 };
diff --git a/src/mouse/line/CLineOpSelectRange.cpp b/src/mouse/line/CLineOpSelectRange.cpp
index 38f9a1f..0491463 100644
--- a/src/mouse/line/CLineOpSelectRange.cpp
+++ b/src/mouse/line/CLineOpSelectRange.cpp
@@ -86,6 +86,18 @@ void CLineOpSelectRange::mousePressEventEx(QMouseEvent * e)
     }
     canvas->slotTriggerCompleteUpdate(CCanvas::eRedrawMouse);
 }
+
+bool CLineOpSelectRange::abortStep()
+{
+    if(state != eStateIdle)
+    {
+        resetState();
+        canvas->slotTriggerCompleteUpdate(CCanvas::eRedrawMouse);
+        return true;
+    }
+    return false;
+}
+
 void CLineOpSelectRange::mouseMoveEventEx(QMouseEvent * e)
 {
     switch(state)
diff --git a/src/mouse/line/CLineOpSelectRange.h b/src/mouse/line/CLineOpSelectRange.h
index 9e6e337..050fe13 100644
--- a/src/mouse/line/CLineOpSelectRange.h
+++ b/src/mouse/line/CLineOpSelectRange.h
@@ -40,6 +40,8 @@ public:
 
     void drawFg(QPainter& p);
 
+    bool abortStep();
+
 private slots:
     void slotDelete();
     void slotCalc();
diff --git a/src/mouse/line/CScrOptRangeLine.cpp b/src/mouse/line/CScrOptRangeLine.cpp
index 343487d..db6d9f4 100644
--- a/src/mouse/line/CScrOptRangeLine.cpp
+++ b/src/mouse/line/CScrOptRangeLine.cpp
@@ -16,7 +16,8 @@
 
 **********************************************************************************************/
 
-#include "CScrOptRangeLine.h"
+#include "helpers/CDraw.h"
+#include "mouse/line/CScrOptRangeLine.h"
 
 CScrOptRangeLine::CScrOptRangeLine(const QPointF &point, IMouse *mouse, QWidget * parent)
     : IScrOpt(mouse)
@@ -43,5 +44,5 @@ CScrOptRangeLine::~CScrOptRangeLine()
 
 void CScrOptRangeLine::draw(QPainter& p)
 {
-    drawBubble2(origin, p);
+    CDraw::bubble2(*this, origin, p);
 }
diff --git a/src/mouse/line/ILineOp.h b/src/mouse/line/ILineOp.h
index f871ef5..4d865f1 100644
--- a/src/mouse/line/ILineOp.h
+++ b/src/mouse/line/ILineOp.h
@@ -58,6 +58,20 @@ public:
     {
     }
 
+    /**
+       @brief   (try to) abort a step in the current operation
+
+       Method called, if a step in the current operation should be aborted, such as
+       adding or moving a(n already) selected waypoint.
+       This dummy implementation does not do anything and therefore always returns `false`.
+
+       @return  `true` if a step in the current operation was  successfully, `false` otherwise
+     */
+    virtual bool abortStep()
+    {
+        return false;
+    }
+
     void updateStatus();
 
 protected slots:
diff --git a/src/mouse/line/IMouseEditLine.cpp b/src/mouse/line/IMouseEditLine.cpp
index d3589f8..ffa5b55 100644
--- a/src/mouse/line/IMouseEditLine.cpp
+++ b/src/mouse/line/IMouseEditLine.cpp
@@ -25,6 +25,7 @@
 #include "gis/IGisLine.h"
 #include "gis/rte/router/CRouterSetup.h"
 #include "gis/trk/CGisItemTrk.h"
+#include "helpers/CDraw.h"
 #include "helpers/CSettings.h"
 #include "mouse/line/CLineOpAddPoint.h"
 #include "mouse/line/CLineOpDeletePoint.h"
@@ -34,7 +35,6 @@
 #include "mouse/line/IMouseEditLine.h"
 #include "units/IUnit.h"
 
-
 #include <QtWidgets>
 
 IMouseEditLine::IMouseEditLine(const IGisItem::key_t &key, const QPointF& point, bool enableStatus, const QString &type, CGisDraw * gis, CCanvas * parent)
@@ -76,6 +76,7 @@ IMouseEditLine::IMouseEditLine(const IGisItem::key_t &key, IGisLine &src, bool e
 IMouseEditLine::~IMouseEditLine()
 {
     canvas->reportStatus("IMouseEditLine","");
+    canvas->reportStatus(key.item,"");
 
     int mode = 0;
     if(scrOptEditLine->toolNoRoute->isChecked())
@@ -101,21 +102,21 @@ void IMouseEditLine::commonSetup()
 {
     // create permanent line edit on screen options
     scrOptEditLine = new CScrOptEditLine(this);
-    connect(scrOptEditLine->pushSaveOrig, SIGNAL(clicked()), this, SLOT(slotCopyToOrig()));
-    connect(scrOptEditLine->pushSaveNew, SIGNAL(clicked()), this, SLOT(slotCopyToNew()));
-    connect(scrOptEditLine->pushAbort, SIGNAL(clicked()), this, SLOT(slotAbort()));
+    connect(scrOptEditLine->pushSaveOrig,    SIGNAL(clicked()), this, SLOT(slotCopyToOrig()   ));
+    connect(scrOptEditLine->pushSaveNew,     SIGNAL(clicked()), this, SLOT(slotCopyToNew()    ));
+    connect(scrOptEditLine->pushAbort,       SIGNAL(clicked()), this, SLOT(slotAbort()        ));
 
-    connect(scrOptEditLine->toolMovePoint, SIGNAL(clicked()), this, SLOT(slotMovePoint()));
-    connect(scrOptEditLine->toolSelectRange, SIGNAL(clicked()), this, SLOT(slotSelectRange()));
-    connect(scrOptEditLine->toolAddPoint, SIGNAL(clicked()), this, SLOT(slotAddPoint()));
-    connect(scrOptEditLine->toolDeletePoint, SIGNAL(clicked()), this, SLOT(slotDeletePoint()));
+    connect(scrOptEditLine->toolMovePoint,   SIGNAL(clicked()), this, SLOT(slotMovePoint()    ));
+    connect(scrOptEditLine->toolSelectRange, SIGNAL(clicked()), this, SLOT(slotSelectRange()  ));
+    connect(scrOptEditLine->toolAddPoint,    SIGNAL(clicked()), this, SLOT(slotAddPoint()     ));
+    connect(scrOptEditLine->toolDeletePoint, SIGNAL(clicked()), this, SLOT(slotDeletePoint()  ));
 
-    connect(scrOptEditLine->toolNoRoute, SIGNAL(clicked()), this, SLOT(slotNoRouting()));
-    connect(scrOptEditLine->toolAutoRoute, SIGNAL(clicked()), this, SLOT(slotAutoRouting()));
+    connect(scrOptEditLine->toolNoRoute,     SIGNAL(clicked()), this, SLOT(slotNoRouting()    ));
+    connect(scrOptEditLine->toolAutoRoute,   SIGNAL(clicked()), this, SLOT(slotAutoRouting()  ));
     connect(scrOptEditLine->toolVectorRoute, SIGNAL(clicked()), this, SLOT(slotVectorRouting()));
 
-    connect(scrOptEditLine->toolUndo, SIGNAL(clicked()), this, SLOT(slotUndo()));
-    connect(scrOptEditLine->toolRedo, SIGNAL(clicked()), this, SLOT(slotRedo()));
+    connect(scrOptEditLine->toolUndo,        SIGNAL(clicked()), this, SLOT(slotUndo()         ));
+    connect(scrOptEditLine->toolRedo,        SIGNAL(clicked()), this, SLOT(slotRedo()         ));
 
     SETTINGS;
     int mode = cfg.value("Route/drawMode",0).toInt();
@@ -137,6 +138,17 @@ void IMouseEditLine::commonSetup()
     slotMovePoint();
 }
 
+void IMouseEditLine::abortStep()
+{
+    // at first try to abort a step within the current operation (px. stop adding a new waypoint)
+    if(!lineOp->abortStep())
+    {
+        // if within operation nothing can be aborted, then abort the whole operation
+        // this equals clicking the `abort` button
+        slotAbort(true);
+    }
+}
+
 bool IMouseEditLine::useAutoRouting()
 {
     return scrOptEditLine->toolAutoRoute->isChecked();
@@ -188,6 +200,10 @@ void IMouseEditLine::draw(QPainter& p, CCanvas::redraw_e needsRedraw, const QRec
 
     drawLine(pixelLine, Qt::white, 7, p);
 
+    // draw magenta arrows (with white background)
+    p.setBrush(Qt::magenta);
+    CDraw::arrows(pixelLine, QRectF(), p, 10, 80);
+
     p.setPen(Qt::NoPen);
     p.setBrush(Qt::white);
     QRect r1(0,0,9,9);
@@ -271,7 +287,6 @@ void IMouseEditLine::wheelEvent(QWheelEvent * e)
     canvas->update();
 }
 
-
 void IMouseEditLine::slotPanCanvas()
 {
     IMouse::slotPanCanvas();
@@ -333,13 +348,26 @@ void IMouseEditLine::slotVectorRouting()
 void IMouseEditLine::changeCursor()
 {
     cursor = lineOp->getCursor();
-    //CCanvas::changeOverrideCursor(cursor,"IMouseEditLine::changeCursor");
+    if(QApplication::overrideCursor() != 0)
+    {
+        CCanvas::changeOverrideCursor(cursor,"IMouseEditLine::changeCursor");
+    }
 }
 
-void IMouseEditLine::slotAbort()
+void IMouseEditLine::slotAbort(bool showMB)
 {
-    canvas->resetMouse();
-    canvas->update();
+    // ask if the current operation should be aborted (only in case there are things to be saved)
+    bool doAbort = ( idxHistory == 0 ) || !showMB;
+    if(!doAbort)
+    {
+        doAbort = (QMessageBox::Yes == QMessageBox::question(NULL, "Abort", "Do you really want to abort?\nAny modifications done will be discarded.", QMessageBox::Yes | QMessageBox::No));
+    }
+
+    if(doAbort)
+    {
+        canvas->resetMouse();
+        canvas->update();
+    }
 }
 
 void IMouseEditLine::slotCopyToOrig()
diff --git a/src/mouse/line/IMouseEditLine.h b/src/mouse/line/IMouseEditLine.h
index 3f4b1e8..8056612 100644
--- a/src/mouse/line/IMouseEditLine.h
+++ b/src/mouse/line/IMouseEditLine.h
@@ -64,6 +64,8 @@ public:
     void mouseReleaseEvent(QMouseEvent *e);
     void wheelEvent(QWheelEvent * e);
 
+    void abortStep();
+
     bool useAutoRouting();
     bool useVectorRouting();
 
@@ -100,7 +102,7 @@ protected slots:
     void slotVectorRouting();
 
 
-    virtual void slotAbort();
+    virtual void slotAbort(bool showMB = false);
     virtual void slotCopyToOrig();
     virtual void slotCopyToNew() = 0;
 
diff --git a/src/plot/CPlotAxis.h b/src/plot/CPlotAxis.h
index 65b3ab3..418ea4d 100644
--- a/src/plot/CPlotAxis.h
+++ b/src/plot/CPlotAxis.h
@@ -35,7 +35,8 @@ public:
     {
         tic_t()
         {
-            val=0; lbl="";
+            val=0;
+            lbl="";
         }
         qreal val;
         QString lbl;
diff --git a/src/plot/CPlotTrack.cpp b/src/plot/CPlotTrack.cpp
index 7435ac4..bd46a5a 100644
--- a/src/plot/CPlotTrack.cpp
+++ b/src/plot/CPlotTrack.cpp
@@ -16,7 +16,7 @@
 
 **********************************************************************************************/
 
-#include "canvas/IDrawContext.h"
+#include "helpers/CDraw.h"
 #include "plot/CPlotTrack.h"
 
 #include <QtWidgets>
diff --git a/src/plot/IPlot.cpp b/src/plot/IPlot.cpp
index fdd07b7..7bf93e7 100644
--- a/src/plot/IPlot.cpp
+++ b/src/plot/IPlot.cpp
@@ -20,12 +20,14 @@
 #include "plot/IPlot.h"
 
 #include "CMainWindow.h"
-#include "canvas/CCanvas.h"
 #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 <QKeyEvent>
 #include <QtWidgets>
 
 QPen IPlot::pens[] =
@@ -275,6 +277,20 @@ void IPlot::draw(QPainter& p)
     drawDecoration(p);
 }
 
+void IPlot::keyPressEvent(QKeyEvent *e)
+{
+    // close the current window if `Esc` was pressed
+    if(Qt::Key_Escape == e->key())
+    {
+        e->accept();
+        deleteLater();
+    }
+    else
+    {
+        QWidget::keyPressEvent(e);
+    }
+}
+
 void IPlot::mouseMoveEvent(QMouseEvent * e)
 {
     if(data->lines.isEmpty() || data->badData || !data->x().isValid() || !data->y().isValid())
@@ -388,6 +404,7 @@ void IPlot::mousePressEvent(QMouseEvent * e)
                 scrOptRange = new CScrOptRangeTrk(e->pos(), trk, &dummyMouse, this);
                 connect(scrOptRange->toolHidePoints, SIGNAL(clicked()), this, SLOT(slotHidePoints()));
                 connect(scrOptRange->toolShowPoints, SIGNAL(clicked()), this, SLOT(slotShowPoints()));
+                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*/
@@ -597,12 +614,12 @@ void IPlot::draw()
         r.adjust(2,2,-2,-2);
         if(underMouse() || posMouse != NOPOINT || solid)
         {
-            p.setPen(solid ? CCanvas::penBorderBlack : CCanvas::penBorderBlue);
+            p.setPen(solid ? CDraw::penBorderBlack : CDraw::penBorderBlue);
             p.setOpacity(1.0);
         }
         else
         {
-            p.setPen(CCanvas::penBorderBlack);
+            p.setPen(CDraw::penBorderBlack);
             p.setOpacity(0.6);
         }
         p.setBrush(QColor(255,255,255,255));
@@ -630,6 +647,7 @@ void IPlot::draw()
     }
     drawGridX(p);
     drawGridY(p);
+    drawActivities(p);
     drawXTic(p);
     drawYTic(p);
     p.setPen(QPen(Qt::black,2));
@@ -1115,6 +1133,63 @@ void IPlot::drawTags(QPainter& p)
     }
 }
 
+void IPlot::drawActivities(QPainter& p)
+{
+    if((mode == eModeIcon) || (trk->getActivities().getAllFlags() == 0))
+    {
+        return;
+    }
+
+    const QList<CActivityTrk::activity_range_t>& ranges = trk->getActivities().getActivityRanges();
+
+
+    QRect rectClipping = QRect(0,0,right - left,22);
+    p.save();
+    p.translate(left, bottom - 22);
+    p.setClipRect(rectClipping);
+    p.setBrush(QColor(0,170,0,100));
+    p.setPen(Qt::NoPen);
+    p.drawRect(rectClipping);
+
+    QRect rectIconFrame(0,0,20,20);
+    QRect rectIcon(2,2,16,16);
+    foreach(const CActivityTrk::activity_range_t& range, ranges)
+    {
+        int x1, x2;
+        if(data->axisType == CPlotData::eAxisTime)
+        {
+            x1 = data->x().val2pt(range.t1);
+            x2 = data->x().val2pt(range.t2);
+        }
+        else
+        {
+            x1 = data->x().val2pt(range.d1);
+            x2 = data->x().val2pt(range.d2);
+        }
+
+        p.setPen(QPen(Qt::darkGreen,2));
+        p.drawLine(x1,0,x1,20);
+        p.drawLine(x2,0,x2,20);
+
+        int d = (x2 - x1);
+        if(d < 20)
+        {
+            continue;
+        }
+
+        int c = x1 + d/2;
+
+        rectIconFrame.moveCenter(QPoint(c,10));
+        p.setBrush(QColor(255,255,255,100));
+        p.drawRoundedRect(rectIconFrame,3,3);
+
+        rectIcon.moveCenter(QPoint(c,10));
+        p.drawPixmap(rectIcon, QPixmap(range.icon));
+    }
+
+    p.restore();
+}
+
 void IPlot::save(QImage& image)
 {
     resize(image.size());
@@ -1169,51 +1244,30 @@ void IPlot::slotSave()
 void IPlot::slotHidePoints()
 {
     trk->hideSelectedPoints();
-    scrOptRange->deleteLater();
-
-    CCanvas * canvas = CMainWindow::self().getVisibleCanvas();
-    if(canvas)
-    {
-        canvas->slotTriggerCompleteUpdate(CCanvas::eRedrawGis);
-    }
-
-    trk->setMode(CGisItemTrk::eModeNormal, objectName());
-    mouseClickState = eMouseClickIdle;
+    slotStopRange();
 }
 
 void IPlot::slotShowPoints()
 {
     trk->showSelectedPoints();
-    scrOptRange->deleteLater();
-
-    CCanvas * canvas = CMainWindow::self().getVisibleCanvas();
-    if(canvas)
-    {
-        canvas->slotTriggerCompleteUpdate(CCanvas::eRedrawGis);
-    }
+    slotStopRange();
+}
 
-    trk->setMode(CGisItemTrk::eModeNormal, objectName());
-    mouseClickState = eMouseClickIdle;
+void IPlot::slotActivity()
+{
+    trk->setActivity();
+    slotStopRange();
 }
 
 void IPlot::slotCopy()
 {
     trk->copySelectedPoints();
-    scrOptRange->deleteLater();
-
-    CCanvas * canvas = CMainWindow::self().getVisibleCanvas();
-    if(canvas)
-    {
-        canvas->slotTriggerCompleteUpdate(CCanvas::eRedrawGis);
-    }
-
-    trk->setMode(CGisItemTrk::eModeNormal, objectName());
-    mouseClickState = eMouseClickIdle;
+    slotStopRange();
 }
 
 void IPlot::slotStopRange()
 {
-    delete scrOptRange;
+    scrOptRange->deleteLater();
     trk->setMode(CGisItemTrk::eModeNormal, objectName());
     idxSel1 = idxSel2 = NOIDX;
     mouseClickState = eMouseClickIdle;
diff --git a/src/plot/IPlot.h b/src/plot/IPlot.h
index da6e4c8..2c918c1 100644
--- a/src/plot/IPlot.h
+++ b/src/plot/IPlot.h
@@ -62,6 +62,7 @@ private slots:
     void slotSave();
     void slotHidePoints();
     void slotShowPoints();
+    void slotActivity();
     void slotCopy();
     void slotStopRange();
     void slotResetZoom();
@@ -80,6 +81,7 @@ protected:
     void resizeEvent(QResizeEvent * e);
     void leaveEvent(QEvent * e);
     void enterEvent(QEvent * e);
+    void keyPressEvent(QKeyEvent *e);
     void mouseMoveEvent(QMouseEvent * e);
     void mousePressEvent(QMouseEvent * e);
     void wheelEvent( QWheelEvent * e);
@@ -106,6 +108,7 @@ protected:
     void drawLegend(QPainter& p);
     void drawDecoration( QPainter &p );
     void drawTags(QPainter& p);
+    void drawActivities(QPainter& p);
 
     static int cnt;
 
diff --git a/src/plot/ITrack.cpp b/src/plot/ITrack.cpp
index 0c63683..ca96cf2 100644
--- a/src/plot/ITrack.cpp
+++ b/src/plot/ITrack.cpp
@@ -16,8 +16,8 @@
 
 **********************************************************************************************/
 
-#include "canvas/IDrawContext.h"
 #include "gis/trk/CGisItemTrk.h"
+#include "helpers/CDraw.h"
 #include "plot/ITrack.h"
 
 #include <QtWidgets>
@@ -179,7 +179,7 @@ void ITrack::draw()
     USE_ANTI_ALIASING(p, true);
 
 
-    p.setPen(CCanvas::penBorderBlack);
+    p.setPen(CDraw::penBorderBlack);
     p.setBrush(QColor(255,255,255,255));
     PAINT_ROUNDED_RECT(p,buffer.rect().adjusted(1,1,-1,-1));
 
diff --git a/src/print/CPrintDialog.cpp b/src/print/CPrintDialog.cpp
new file mode 100644
index 0000000..c446779
--- /dev/null
+++ b/src/print/CPrintDialog.cpp
@@ -0,0 +1,277 @@
+/**********************************************************************************************
+    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 "CMainWindow.h"
+#include "GeoMath.h"
+#include "canvas/CCanvas.h"
+#include "gis/CGisWidget.h"
+#include "gis/rte/CGisItemRte.h"
+#include "gis/trk/CGisItemTrk.h"
+#include "helpers/CDraw.h"
+#include "helpers/CProgressDialog.h"
+#include "helpers/CSettings.h"
+#include "print/CPrintDialog.h"
+
+#include <QtPrintSupport>
+#include <QtWidgets>
+
+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);
+
+    // clone canvas by a temporary configuration file
+    QTemporaryFile temp;
+    temp.open();
+    temp.close();
+
+    QSettings view(temp.fileName(), QSettings::IniFormat);
+    view.clear();
+
+    source->saveConfig(view);
+
+    canvas = new CCanvas(this, "print");
+    canvas->loadConfig(view);
+    canvas->show();
+
+    // add canvas canvas to dialog
+    QLayout * layout = new QVBoxLayout(frameCanvas);
+    layout->addWidget(canvas);
+    layout->setSpacing(0);
+    layout->setContentsMargins(0,0,0,0);
+
+    connect(canvas, SIGNAL(sigZoom()), this, SLOT(slotUpdateMetrics()));
+    connect(canvas, SIGNAL(sigMove()), this, SLOT(slotUpdateMetrics()));
+    connect(pushPrint, SIGNAL(pressed()), this, SLOT(slotPrint()));
+    connect(pushSave, SIGNAL(pressed()), this, SLOT(slotSave()));
+
+    if(type == eTypePrint)
+    {
+        setWindowTitle(tr("Print Map..."));
+        frameImage->hide();
+        // update zoom info and print metrics
+        QTimer::singleShot(100, this, SLOT(slotGetPrinter()));
+    }
+    else
+    {
+        setWindowTitle(tr("Save Map as Image..."));
+        framePrint->hide();
+    }
+}
+
+CPrintDialog::~CPrintDialog()
+{
+}
+
+void CPrintDialog::resizeEvent(QResizeEvent * e)
+{
+    QDialog::resizeEvent(e);
+    slotUpdateMetrics();
+}
+
+void CPrintDialog::slotGetPrinter()
+{
+    printer.setOrientation(QPrinter::Landscape);
+
+    QPrintDialog dlg(&printer, this);
+    dlg.setWindowTitle(tr("Printer Properties..."));
+    dlg.exec();
+
+    slotUpdateMetrics();
+}
+
+void CPrintDialog::slotUpdateMetrics()
+{
+    // get corner points of selected area
+    QPointF pt1 = rectSelArea.topLeft();
+    QPointF pt2 = rectSelArea.bottomRight();
+
+    // calculate real meter dimensions from corenr 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());
+
+    // get pixel coordinates of corner points
+    canvas->convertRad2Px(pt1);
+    canvas->convertRad2Px(pt2);
+
+    // the map area in [pixel]
+    rectSelAreaPixel = QRectF(pt1, pt2);
+    // the printer page in [pixel]
+    rectPrinterPage  = printer.pageRect(QPrinter::DevicePixel);
+    // the label to show the page matrix in [pixel]
+    QRectF rectLabel = labelPages->rect();
+
+    // calculate number of pages
+    xPages = rectSelAreaPixel.width()  / rectPrinterPage.width();
+    yPages = rectSelAreaPixel.height() / rectPrinterPage.height();
+
+    // width and hight of page matrix for full pages
+    qreal wPages = rectPrinterPage.width()  * qCeil(xPages);
+    qreal hPages = rectPrinterPage.height() * qCeil(yPages);
+
+    // derive scale for map area to page canvas either from x axis or
+    // y axis. What ever fits better
+    qreal scale = rectLabel.width() / wPages;
+    if(hPages * scale > rectLabel.height())
+    {
+        scale = rectLabel.height() / hPages;
+    }
+
+    // create the canvas image
+    QPixmap img(wPages * scale, hPages * scale);
+    img.fill(Qt::lightGray);
+
+    // scaled page canvas width and height
+    qreal w = rectPrinterPage.width() * scale;
+    qreal h = rectPrinterPage.height() * scale;
+
+    // the page rectangle
+    QRectF rectTile(1,1, w-2, h-2);
+
+    // paint page matrix
+    QPainter p(&img);
+    p.setPen(Qt::black);
+    p.setBrush(Qt::white);
+
+    for(int y  = 0; y < qCeil(yPages); y++)
+    {
+        for(int x = 0; x < qCeil(xPages); x++)
+        {
+            rectTile.moveCenter(QPointF(w/2 + x * w, h/2 + y * h));
+            p.drawRect(rectTile);
+        }
+    }
+    p.setBrush(Qt::NoBrush);
+    p.drawRect(img.rect().adjusted(0,0,-1,-1));
+
+    p.setPen(QPen(Qt::darkGreen,2));
+    p.setBrush(Qt::BDiagPattern);
+    p.drawRect(0,0, rectSelAreaPixel.width() * scale, rectSelAreaPixel.height() * scale);
+
+    labelPages->setPixmap(img);
+    labelPagesText->setText(tr("Pages: %1 x %2").arg(xPages,0,'f',1).arg(yPages,0,'f',1));
+    labelMapInfo->setText(tr("Zoom with mouse wheel on map below to change resolution:\n\n%1x%2 pixel\nx: %3 m/px\ny: %4 m/px").arg(rectSelAreaPixel.width()).arg(rectSelAreaPixel.height()).arg(mWidth/rectSelAreaPixel.width(),0,'f',1).arg(mHeight/rectSelAreaPixel.height(),0,'f',1));
+}
+
+void CPrintDialog::slotPrint()
+{
+    qreal wPage = rectPrinterPage.width();
+    qreal hPage = rectPrinterPage.height();
+
+    QPointF p11 = rectSelAreaPixel.topLeft();
+    QPointF p22 = p11 + QPointF(wPage, hPage);
+
+    canvas->convertPx2Rad(p11);
+    canvas->convertPx2Rad(p22);
+
+
+    QPointF pxCenter0 = QRectF(p11, p22).center();
+    canvas->convertRad2Px(pxCenter0);
+
+    QList<QPointF> centers;
+
+    qreal yoff = 0;
+    for(int y = 0; y < qCeil(yPages); y++)
+    {
+        qreal xoff = 0;
+        for(int x = 0; x < qCeil(xPages); x++)
+        {
+            QPointF center = pxCenter0 + QPointF(xoff,yoff);
+            canvas->convertPx2Rad(center);
+            centers << center;
+
+            xoff += wPage;
+        }
+
+        yoff += hPage;
+    }
+
+    QRectF rectPage(0,0,wPage, hPage);
+
+    bool first = true;
+    QPainter p;
+    p.begin(&printer);
+    p.setClipRect(rectPage);
+    USE_ANTI_ALIASING(p,true);
+
+    int N = centers.size();
+    int n = 0;
+    PROGRESS_SETUP(tr("Printing pages."), 0, N, this);
+
+    foreach(const QPointF &pt, centers)
+    {
+        if(!first)
+        {
+            printer.newPage();
+        }
+        else
+        {
+            first = false;
+        }
+
+        canvas->print(p, rectPage, pt);
+        PROGRESS(++n, break);
+    }
+
+    p.end();
+
+    QDialog::accept();
+}
+
+void CPrintDialog::slotSave()
+{
+    QPointF pt1 = rectSelArea.topLeft();
+    QPointF pt2 = rectSelArea.bottomRight();
+
+    canvas->convertRad2Px(pt1);
+    canvas->convertRad2Px(pt2);
+
+    QRectF rect(pt1, pt2);
+    QImage img(rect.size().toSize(), QImage::Format_ARGB32);
+
+    QPainter p(&img);
+    USE_ANTI_ALIASING(p,true);
+
+    canvas->print(p, rect, rectSelArea.center());
+
+    SETTINGS;
+    QString path = cfg.value("Paths/lastImagePath", "./").toString();
+
+    QString filter = "*.png";
+    QString filename = QFileDialog::getSaveFileName(this, tr("Save map..."), path, "*.png;;*.jpg", &filter);
+    if(filename.isEmpty())
+    {
+        return;
+    }
+
+    QFileInfo fi(filename);
+    if(fi.suffix().toLower() != filter.mid(2))
+    {
+        filename += filter.mid(1);
+    }
+
+    img.save(filename);
+
+    cfg.setValue("Paths/lastImagePath", fi.absolutePath());
+
+    QDialog::accept();
+}
diff --git a/src/mouse/line/CLineOpSelectRange.h b/src/print/CPrintDialog.h
similarity index 51%
copy from src/mouse/line/CLineOpSelectRange.h
copy to src/print/CPrintDialog.h
index 9e6e337..9a090ed 100644
--- a/src/mouse/line/CLineOpSelectRange.h
+++ b/src/print/CPrintDialog.h
@@ -16,49 +16,59 @@
 
 **********************************************************************************************/
 
-#ifndef CLINEOPSELECTRANGE_H
-#define CLINEOPSELECTRANGE_H
+#ifndef CPRINTDIALOG_H
+#define CPRINTDIALOG_H
 
-#include "mouse/line/ILineOp.h"
+#include "ui_IPrintDialog.h"
+#include <QDialog>
+#include <QPrinter>
 
-#include <QPointer>
+class CCanvas;
 
-class CScrOptRangeLine;
-
-class CLineOpSelectRange : public ILineOp
+class CPrintDialog : public QDialog, private Ui::IPrintDialog
 {
     Q_OBJECT
 public:
-    CLineOpSelectRange(SGisLine& points, CGisDraw *gis, CCanvas *canvas, IMouseEditLine *parent);
-    virtual ~CLineOpSelectRange();
-
-    void mousePressEventEx(QMouseEvent * e);
-    void mouseMoveEventEx(QMouseEvent * e);
-    void mouseReleaseEventEx(QMouseEvent *e)
+    enum type_e
     {
-    }
+        eTypePrint
+        ,eTypeImage
+    };
+
+    CPrintDialog(type_e type, const QRectF &area, CCanvas * source);
+    virtual ~CPrintDialog();
+
 
-    void drawFg(QPainter& p);
+protected:
+    void resizeEvent(QResizeEvent * e);
 
 private slots:
-    void slotDelete();
-    void slotCalc();
+    void slotGetPrinter();
+    void slotUpdateMetrics();
+    void slotPrint();
+    void slotSave();
 
 private:
-    void resetState();
-    enum state_e
-    {
-        eStateIdle
-        , eState1st
-        , eState2nd
-    };
+    void updateMetrics();
+
+    type_e type;
+
+    CCanvas * canvas;
 
-    state_e state;
+    /// the selected area in coordinated of lon/lat
+    QRectF rectSelArea;
+    /// the selected area in coordinated of pixel
+    QRectF rectSelAreaPixel;
+    /// the page rectangle in pixel
+    QRectF rectPrinterPage;
 
-    qint32 idx2nd;
+    QPrinter printer;
 
-    QPointer<CScrOptRangeLine>  scrOptRangeLine;
+    /// number of pages in x dimension
+    qreal xPages;
+    /// number of pages in y dimension
+    qreal yPages;
 };
 
-#endif //CLINEOPSELECTRANGE_H
+#endif //CPRINTDIALOG_H
 
diff --git a/src/print/IPrintDialog.ui b/src/print/IPrintDialog.ui
new file mode 100644
index 0000000..2af39b7
--- /dev/null
+++ b/src/print/IPrintDialog.ui
@@ -0,0 +1,170 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>IPrintDialog</class>
+ <widget class="QDialog" name="IPrintDialog">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>500</width>
+    <height>450</height>
+   </rect>
+  </property>
+  <property name="minimumSize">
+   <size>
+    <width>200</width>
+    <height>200</height>
+   </size>
+  </property>
+  <property name="windowTitle">
+   <string>Print map...</string>
+  </property>
+  <layout class="QHBoxLayout" name="horizontalLayout">
+   <item>
+    <layout class="QVBoxLayout" name="verticalLayout_2">
+     <item>
+      <widget class="QFrame" name="frameImage">
+       <property name="frameShape">
+        <enum>QFrame::StyledPanel</enum>
+       </property>
+       <property name="frameShadow">
+        <enum>QFrame::Raised</enum>
+       </property>
+       <layout class="QVBoxLayout" name="verticalLayout_4">
+        <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="QPushButton" name="pushSave">
+          <property name="text">
+           <string>Save</string>
+          </property>
+         </widget>
+        </item>
+       </layout>
+      </widget>
+     </item>
+     <item>
+      <widget class="QFrame" name="framePrint">
+       <property name="frameShape">
+        <enum>QFrame::StyledPanel</enum>
+       </property>
+       <property name="frameShadow">
+        <enum>QFrame::Raised</enum>
+       </property>
+       <layout class="QVBoxLayout" name="verticalLayout_3">
+        <item>
+         <widget class="QLabel" name="labelPagesText">
+          <property name="text">
+           <string>TextLabel</string>
+          </property>
+         </widget>
+        </item>
+        <item>
+         <widget class="QLabel" name="labelPages">
+          <property name="sizePolicy">
+           <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
+            <horstretch>0</horstretch>
+            <verstretch>0</verstretch>
+           </sizepolicy>
+          </property>
+          <property name="text">
+           <string>TextLabel</string>
+          </property>
+          <property name="alignment">
+           <set>Qt::AlignCenter</set>
+          </property>
+         </widget>
+        </item>
+        <item>
+         <widget class="QPushButton" name="pushPrint">
+          <property name="sizePolicy">
+           <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
+            <horstretch>0</horstretch>
+            <verstretch>0</verstretch>
+           </sizepolicy>
+          </property>
+          <property name="text">
+           <string>Print</string>
+          </property>
+         </widget>
+        </item>
+       </layout>
+      </widget>
+     </item>
+    </layout>
+   </item>
+   <item>
+    <widget class="QFrame" name="frame">
+     <property name="frameShape">
+      <enum>QFrame::StyledPanel</enum>
+     </property>
+     <property name="frameShadow">
+      <enum>QFrame::Raised</enum>
+     </property>
+     <layout class="QVBoxLayout" name="verticalLayout">
+      <item>
+       <widget class="QLabel" name="labelMapInfo">
+        <property name="minimumSize">
+         <size>
+          <width>200</width>
+          <height>200</height>
+         </size>
+        </property>
+        <property name="maximumSize">
+         <size>
+          <width>200</width>
+          <height>16777215</height>
+         </size>
+        </property>
+        <property name="text">
+         <string>TextLabel</string>
+        </property>
+        <property name="alignment">
+         <set>Qt::AlignCenter</set>
+        </property>
+        <property name="wordWrap">
+         <bool>true</bool>
+        </property>
+       </widget>
+      </item>
+      <item>
+       <widget class="QFrame" name="frameCanvas">
+        <property name="minimumSize">
+         <size>
+          <width>200</width>
+          <height>200</height>
+         </size>
+        </property>
+        <property name="maximumSize">
+         <size>
+          <width>200</width>
+          <height>200</height>
+         </size>
+        </property>
+        <property name="frameShape">
+         <enum>QFrame::StyledPanel</enum>
+        </property>
+        <property name="frameShadow">
+         <enum>QFrame::Raised</enum>
+        </property>
+       </widget>
+      </item>
+     </layout>
+    </widget>
+   </item>
+  </layout>
+ </widget>
+ <resources/>
+ <connections/>
+</ui>
diff --git a/src/qlgt/CQlgtDb.cpp b/src/qlgt/CQlgtDb.cpp
index 9fbf81c..b92a210 100644
--- a/src/qlgt/CQlgtDb.cpp
+++ b/src/qlgt/CQlgtDb.cpp
@@ -119,7 +119,7 @@ void CQlgtDb::initDB()
     {
         query.prepare( "INSERT INTO versioninfo (version) VALUES(:version)");
         query.bindValue(":version", DB_QLGT_VERSION);
-        QUERY_EXEC(; );
+        QUERY_EXEC();
     }
 
     if(!query.exec( "CREATE TABLE folders ("
@@ -528,7 +528,7 @@ void CQlgtDb::migrateDB(int version)
     }
     query.prepare( "UPDATE versioninfo set version=:version");
     query.bindValue(":version", version - 1);
-    QUERY_EXEC(; );
+    QUERY_EXEC();
 }
 
 void CQlgtDb::printStatistic()
@@ -540,7 +540,7 @@ void CQlgtDb::printStatistic()
     nItems = 0;
 
     query.prepare("SELECT COUNT() FROM folders");
-    QUERY_EXEC(; );
+    QUERY_EXEC();
     if(query.next())
     {
         nFolders = query.value(0).toInt();
@@ -549,7 +549,7 @@ void CQlgtDb::printStatistic()
 
     query.prepare("SELECT COUNT() FROM items WHERE type=:type");
     query.bindValue(":type", eTrk);
-    QUERY_EXEC(; );
+    QUERY_EXEC();
     if(query.next())
     {
         nItems += query.value(0).toInt();
@@ -557,7 +557,7 @@ void CQlgtDb::printStatistic()
     }
     query.prepare("SELECT COUNT() FROM items WHERE type=:type");
     query.bindValue(":type", eRte);
-    QUERY_EXEC(; );
+    QUERY_EXEC();
     if(query.next())
     {
         nItems += query.value(0).toInt();
@@ -565,7 +565,7 @@ void CQlgtDb::printStatistic()
     }
     query.prepare("SELECT COUNT() FROM items WHERE type=:type");
     query.bindValue(":type", eWpt);
-    QUERY_EXEC(; );
+    QUERY_EXEC();
     if(query.next())
     {
         nItems += query.value(0).toInt();
@@ -573,7 +573,7 @@ void CQlgtDb::printStatistic()
     }
     query.prepare("SELECT COUNT() FROM items WHERE type=:type");
     query.bindValue(":type", eOvl);
-    QUERY_EXEC(; );
+    QUERY_EXEC();
     if(query.next())
     {
         nItems += query.value(0).toInt();
@@ -581,14 +581,14 @@ void CQlgtDb::printStatistic()
     }
     query.prepare("SELECT COUNT() FROM diarys");
     query.bindValue(":type", eDry);
-    QUERY_EXEC(; );
+    QUERY_EXEC();
     if(query.next())
     {
         gui->stdOut(tr("Diaries:          %1").arg(query.value(0).toInt()));
     }
     query.prepare("SELECT COUNT() FROM items WHERE type=:type");
     query.bindValue(":type", eMap);
-    QUERY_EXEC(; );
+    QUERY_EXEC();
     if(query.next())
     {
         gui->stdErr(tr("Map selections:   %1 (can't be converted to QMapShack)").arg(query.value(0).toInt()));
@@ -612,7 +612,7 @@ void CQlgtDb::start(const QString& filename)
 
     QSqlQuery query(db);
     query.prepare("Select parent, child FROM folder2folder");
-    QUERY_EXEC(return; );
+    QUERY_EXEC(return );
     while(query.next())
     {
         quint64 idParent    = query.value(0).toULongLong();
@@ -621,7 +621,7 @@ void CQlgtDb::start(const QString& filename)
     }
 
     query.prepare("Select parent, child FROM folder2item");
-    QUERY_EXEC(return; );
+    QUERY_EXEC(return );
     while(query.next())
     {
         quint64 idParent    = query.value(0).toULongLong();
@@ -642,7 +642,7 @@ void CQlgtDb::xferFolders()
 
     QSqlQuery query(db);
     query.prepare("SELECT id FROM folders");
-    QUERY_EXEC(return; );
+    QUERY_EXEC(return );
     while(query.next())
     {
         PROGRESS(cnt++, break);
@@ -674,7 +674,7 @@ void CQlgtDb::xferItems()
 
     QSqlQuery query(db);
     query.prepare("SELECT id FROM items");
-    QUERY_EXEC(return; );
+    QUERY_EXEC(return );
     while(query.next())
     {
         PROGRESS(cnt++, break);
@@ -686,7 +686,7 @@ void CQlgtDb::xferItems()
     gui->stdOut(tr("Import folders..."));
 
     query.prepare("SELECT id FROM folders");
-    QUERY_EXEC(return; );
+    QUERY_EXEC(return );
 }
 
 void CQlgtDb::xferItem(quint64 id)
@@ -694,7 +694,7 @@ void CQlgtDb::xferItem(quint64 id)
     QSqlQuery query(db);
     query.prepare("SELECT type, data FROM items WHERE id=:id");
     query.bindValue(":id", id);
-    QUERY_EXEC(return; );
+    QUERY_EXEC(return );
 
     if(query.next())
     {
diff --git a/src/qlgt/CQlgtDiary.cpp b/src/qlgt/CQlgtDiary.cpp
index d208a41..5955738 100644
--- a/src/qlgt/CQlgtDiary.cpp
+++ b/src/qlgt/CQlgtDiary.cpp
@@ -127,7 +127,8 @@ QDataStream& operator >>(QDataStream& s, CQlgtDiary& diary)
 //                break;
 
 //            }
-        default:;
+        default:
+            ;
         }
 
         ++entry;
diff --git a/src/qlgt/CQlgtFolder.cpp b/src/qlgt/CQlgtFolder.cpp
index 5a88e40..4f18951 100644
--- a/src/qlgt/CQlgtFolder.cpp
+++ b/src/qlgt/CQlgtFolder.cpp
@@ -33,7 +33,7 @@ CQlgtFolder::CQlgtFolder(quint64 id, QSqlDatabase &db)
 
     query.prepare("SELECT type, name, comment, locked FROM folders WHERE id=:id");
     query.bindValue(":id", id);
-    QUERY_EXEC(return; );
+    QUERY_EXEC(return );
 
     if(query.next())
     {
@@ -45,7 +45,7 @@ CQlgtFolder::CQlgtFolder(quint64 id, QSqlDatabase &db)
 
     query.prepare("SELECT id, data FROM diarys WHERE parent=:id");
     query.bindValue(":id", id);
-    QUERY_EXEC(return; );
+    QUERY_EXEC(return );
 
     if(query.next())
     {
@@ -60,7 +60,7 @@ CQlgtFolder::CQlgtFolder(quint64 id, QSqlDatabase &db)
 
     query.prepare("SELECT child FROM folder2item WHERE parent=:folder");
     query.bindValue(":folder", id);
-    QUERY_EXEC(return; );
+    QUERY_EXEC(return );
     while(query.next())
     {
         items << query.value(0).toULongLong();
diff --git a/src/qlgt/CQlgtRoute.cpp b/src/qlgt/CQlgtRoute.cpp
index a3aeb5a..17740c2 100644
--- a/src/qlgt/CQlgtRoute.cpp
+++ b/src/qlgt/CQlgtRoute.cpp
@@ -133,7 +133,8 @@ QDataStream& operator >>(QDataStream& s, CQlgtRoute& route)
 //                }
 //                break;
 //            }
-        default:;
+        default:
+            ;
         }
 
         ++entry;
diff --git a/src/qlgt/CQlgtTrack.cpp b/src/qlgt/CQlgtTrack.cpp
index 63e1e5c..b51b301 100644
--- a/src/qlgt/CQlgtTrack.cpp
+++ b/src/qlgt/CQlgtTrack.cpp
@@ -307,7 +307,8 @@ QDataStream& operator >>(QDataStream& s, CQlgtTrack& track)
             break;
         }
 
-        default:;
+        default:
+            ;
         }
 
         ++entry;
diff --git a/src/qlgt/CQlgtTrack.h b/src/qlgt/CQlgtTrack.h
index 3bded23..4067dbd 100644
--- a/src/qlgt/CQlgtTrack.h
+++ b/src/qlgt/CQlgtTrack.h
@@ -29,7 +29,8 @@ class CFlags
 public:
     CFlags(quint32 f=0)
     {
-        flags = f; changed = true;
+        flags = f;
+        changed = true;
     }
     virtual ~CFlags()
     {
@@ -56,7 +57,8 @@ public:
         {
             changed = true;
         }
-        flags|=f; return flags;
+        flags|=f;
+        return flags;
     }
     quint32 operator &= (quint32 f)
     {
@@ -64,7 +66,8 @@ public:
         {
             changed = true;
         }
-        flags&=f; return flags;
+        flags&=f;
+        return flags;
     }
     quint32 operator >> (quint32 & f)
     {
@@ -72,7 +75,8 @@ public:
         {
             changed = true;
         }
-        flags = f; return flags;
+        flags = f;
+        return flags;
     }
     const bool isChanged() const
     {
diff --git a/src/qlgt/CQlgtWpt.cpp b/src/qlgt/CQlgtWpt.cpp
index 1da1529..e346e83 100644
--- a/src/qlgt/CQlgtWpt.cpp
+++ b/src/qlgt/CQlgtWpt.cpp
@@ -183,7 +183,8 @@ QDataStream& operator >>(QDataStream& s, CQlgtWpt& wpt)
             break;
         }
 
-        default:;
+        default:
+            ;
         }
 
         ++entry;
diff --git a/src/qlgt/CQmsDb.cpp b/src/qlgt/CQmsDb.cpp
index 11c353e..be3c899 100644
--- a/src/qlgt/CQmsDb.cpp
+++ b/src/qlgt/CQmsDb.cpp
@@ -154,7 +154,8 @@ void CQmsDb::addFolder(CQlgtFolder& folder)
                 new CGisItemOvlArea(idChild, db, &project);
                 break;
 
-            default:;
+            default:
+                ;
             }
         }
         else
diff --git a/src/qlgt/IQlgtOverlay.cpp b/src/qlgt/IQlgtOverlay.cpp
index 31327b5..89871ba 100644
--- a/src/qlgt/IQlgtOverlay.cpp
+++ b/src/qlgt/IQlgtOverlay.cpp
@@ -114,8 +114,10 @@ QDataStream& operator >>(QDataStream& s, IQlgtOverlay& ovl)
             break;
         }
 
-        default:;
+        default:
+            ;
         }
+
         ++entry;
     }
 
diff --git a/src/qlgt/converter.cpp b/src/qlgt/converter.cpp
index e3ae610..58d802d 100644
--- a/src/qlgt/converter.cpp
+++ b/src/qlgt/converter.cpp
@@ -106,9 +106,12 @@ CGisItemWpt::CGisItemWpt(const CQlgtWpt& wpt1)
             CGisItemWpt::geocachelog_t log;
             log.id          = log1.id;
             IUnit::parseTimestamp(log1.date, log.date);
-            log.type        = log1.type;;
-            log.finderId    = log1.finderId;;
-            log.finder      = log1.finder;;
+            log.type        = log1.type;
+            ;
+            log.finderId    = log1.finderId;
+            ;
+            log.finder      = log1.finder;
+            ;
             log.textIsHtml  = log1.text.contains("</");
             log.text        = log1.text;
             geocache.logs << log;
@@ -135,6 +138,7 @@ CGisItemWpt::CGisItemWpt(const CQlgtWpt& wpt1)
 
 CGisItemTrk::CGisItemTrk(const CQlgtTrack &trk1)
     : IGisItem(0, eTypeTrk, NOIDX)
+    , activities(this)
 {
     trk.name        = trk1.name;
     trk.cmt         = trk1.comment;
@@ -210,6 +214,7 @@ CGisItemTrk::CGisItemTrk(const CQlgtTrack &trk1)
 
 CGisItemTrk::CGisItemTrk(const IQlgtOverlay& ovl)
     : IGisItem(0, eTypeTrk, NOIDX)
+    , activities(this)
 {
     trk.name    = ovl.name;
     trk.cmt     = ovl.comment;
diff --git a/src/resources.qrc b/src/resources.qrc
index ef7d7b0..21e0bd1 100644
--- a/src/resources.qrc
+++ b/src/resources.qrc
@@ -18,6 +18,15 @@
         <file>icons/8x8/bullet_red.png</file>
         <file>icons/8x8/bullet_white.png</file>
         <file>icons/8x8/bullet_yellow.png</file>
+        <file>icons/16x16/ActNone.png</file>
+        <file>icons/16x16/ActFoot.png</file>
+        <file>icons/16x16/ActCycle.png</file>
+        <file>icons/16x16/ActBike.png</file>
+        <file>icons/16x16/ActCar.png</file>
+        <file>icons/16x16/ActCable.png</file>
+        <file>icons/16x16/ActShip.png</file>
+        <file>icons/16x16/ActSwim.png</file>
+        <file>icons/16x16/ActAero.png</file>
         <file>icons/32x32/2DFix.png</file>
         <file>icons/32x32/3DFix.png</file>
         <file>icons/32x32/Add.png</file>
@@ -63,6 +72,7 @@
         <file>icons/32x32/ToolTip.png</file>
         <file>icons/32x32/Up.png</file>
         <file>icons/32x32/SetupMapWorkspace.png</file>
+        <file>icons/32x32/SetupCoordFormat.png</file>
         <file>icons/32x32/SaveGIS.png</file>
         <file>icons/32x32/SaveGISAs.png</file>
         <file>icons/32x32/SaveAllGIS.png</file>
@@ -73,6 +83,8 @@
         <file>icons/32x32/Route.png</file>
         <file>icons/32x32/RouteSetup.png</file>
         <file>icons/32x32/Close.png</file>
+        <file>icons/32x32/ShowAll.png</file>
+        <file>icons/32x32/ShowNone.png</file>
         <file>icons/32x32/Track.png</file>
         <file>icons/32x32/EditDetails.png</file>
         <file>icons/32x32/EditText.png</file>
@@ -150,6 +162,17 @@
         <file>icons/32x32/O.png</file>
         <file>icons/32x32/RteInstr.png</file>
         <file>icons/32x32/Zoom.png</file>
+        <file>icons/32x32/PrintSave.png</file>
+        <file>icons/32x32/ActNone.png</file>
+        <file>icons/32x32/ActFoot.png</file>
+        <file>icons/32x32/ActCycle.png</file>
+        <file>icons/32x32/ActBike.png</file>
+        <file>icons/32x32/ActCar.png</file>
+        <file>icons/32x32/ActCable.png</file>
+        <file>icons/32x32/ActShip.png</file>
+        <file>icons/32x32/ActSwim.png</file>
+        <file>icons/32x32/ActAero.png</file>
+        <file>icons/32x32/Activity.png</file>
         <file>icons/48x48/2DFix.png</file>
         <file>icons/48x48/3DFix.png</file>
         <file>icons/48x48/Add.png</file>
@@ -195,6 +218,7 @@
         <file>icons/48x48/ToolTip.png</file>
         <file>icons/48x48/Up.png</file>
         <file>icons/48x48/SetupMapWorkspace.png</file>
+        <file>icons/48x48/SetupCoordFormat.png</file>
         <file>icons/48x48/SaveGIS.png</file>
         <file>icons/48x48/SaveGISAs.png</file>
         <file>icons/48x48/SaveAllGIS.png</file>
@@ -205,6 +229,8 @@
         <file>icons/48x48/Route.png</file>
         <file>icons/48x48/RouteSetup.png</file>
         <file>icons/48x48/Close.png</file>
+        <file>icons/48x48/ShowAll.png</file>
+        <file>icons/48x48/ShowNone.png</file>
         <file>icons/48x48/Track.png</file>
         <file>icons/48x48/EditDetails.png</file>
         <file>icons/48x48/EditText.png</file>
@@ -282,6 +308,17 @@
         <file>icons/48x48/O.png</file>
         <file>icons/48x48/RteInstr.png</file>
         <file>icons/48x48/Zoom.png</file>
+        <file>icons/48x48/PrintSave.png</file>
+        <file>icons/48x48/ActNone.png</file>
+        <file>icons/48x48/ActFoot.png</file>
+        <file>icons/48x48/ActCycle.png</file>
+        <file>icons/48x48/ActBike.png</file>
+        <file>icons/48x48/ActCar.png</file>
+        <file>icons/48x48/ActCable.png</file>
+        <file>icons/48x48/ActShip.png</file>
+        <file>icons/48x48/ActSwim.png</file>
+        <file>icons/48x48/ActAero.png</file>
+        <file>icons/48x48/Activity.png</file>
         <file>icons/cache/32x32/bluepin.png</file>
         <file>icons/cache/32x32/cito.png</file>
         <file>icons/cache/32x32/corrected.png</file>
@@ -349,6 +386,8 @@
         <file>cursors/cursorDelete.png</file>
         <file>cursors/cursorSelectRange.png</file>
         <file>cursors/cursorAdd.png</file>
+        <file>cursors/cursorPrint.png</file>
+        <file>cursors/cursorSave.png</file>
         <file>cursors/wptHighlight.png</file>
         <file>animation/loader.gif</file>
         <file>animation/loader2.gif</file>
diff --git a/src/tool/CRoutinoDatabaseBuilder.cpp b/src/tool/CRoutinoDatabaseBuilder.cpp
index e5fca4e..8ba2f55 100644
--- a/src/tool/CRoutinoDatabaseBuilder.cpp
+++ b/src/tool/CRoutinoDatabaseBuilder.cpp
@@ -16,16 +16,13 @@
 
 **********************************************************************************************/
 
+#include "helpers/CAppSetup.h"
 #include "helpers/CSettings.h"
+
 #include "tool/CRoutinoDatabaseBuilder.h"
 
 #include <QtWidgets>
 
-#ifndef _MKSTR_1
-#define _MKSTR_1(x)    #x
-#define _MKSTR(x)      _MKSTR_1(x)
-#endif
-
 
 CRoutinoDatabaseBuilder::CRoutinoDatabaseBuilder(QWidget * parent)
     : IToolShell(textBrowser, parent)
@@ -149,20 +146,13 @@ void CRoutinoDatabaseBuilder::finished(int exitCode, QProcess::ExitStatus status
         return;
     }
 
+    CAppSetup* instance = CAppSetup::getPlattformInstance();
     if(sourceFiles.isEmpty())
     {
-#ifdef WIN32
-        QString apppath = QCoreApplication::applicationDirPath();
-        apppath = apppath.replace("/", "\\");
-        QDir dirXml(QString("%1\\routino-xml").arg(apppath).toUtf8());
-#else
-        QDir dirXml(_MKSTR(ROUTINO_XML_PATH));
-#endif
         QStringList args;
-
         args << QString("--dir=%1").arg(targetPath);
         args << QString("--prefix=%1").arg(targetPrefix);
-        args << QString("--tagging=%1").arg(dirXml.absoluteFilePath("tagging.xml"));
+        args << QString("--tagging=%1").arg(instance->routinoPath("tagging.xml"));
         args << "--process-only";
 
         stdOut("planetsplitter " +  args.join(" ") + "\n");
@@ -172,18 +162,10 @@ void CRoutinoDatabaseBuilder::finished(int exitCode, QProcess::ExitStatus status
     }
     else
     {
-#ifdef WIN32
-        QString apppath = QCoreApplication::applicationDirPath();
-        apppath = apppath.replace("/", "\\");
-        QDir dirXml(QString("%1\\routino-xml").arg(apppath).toUtf8());
-#else
-        QDir dirXml(_MKSTR(ROUTINO_XML_PATH));
-#endif
         QStringList args;
-
         args << QString("--dir=%1").arg(targetPath);
         args << QString("--prefix=%1").arg(targetPrefix);
-        args << QString("--tagging=%1").arg(dirXml.absoluteFilePath("tagging.xml"));
+        args << QString("--tagging=%1").arg(instance->routinoPath("tagging.xml"));
 
         if(first)
         {
diff --git a/src/units/CCoordFormatSetup.cpp b/src/units/CCoordFormatSetup.cpp
new file mode 100644
index 0000000..28bffb9
--- /dev/null
+++ b/src/units/CCoordFormatSetup.cpp
@@ -0,0 +1,68 @@
+/**********************************************************************************************
+    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 "units/CCoordFormatSetup.h"
+#include "units/IUnit.h"
+
+CCoordFormatSetup::CCoordFormatSetup(QWidget * parent)
+    : QDialog(parent)
+{
+    setupUi(this);
+
+    IUnit::coord_format_e coordFormat;
+    IUnit::getCoordFormat(coordFormat);
+    switch(coordFormat)
+    {
+    case IUnit::eCoordFormat1:
+        radioFormat1->setChecked(true);
+        break;
+
+    case IUnit::eCoordFormat2:
+        radioFormat2->setChecked(true);
+        break;
+
+    case IUnit::eCoordFormat3:
+        radioFormat3->setChecked(true);
+        break;
+    }
+}
+
+CCoordFormatSetup::~CCoordFormatSetup()
+{
+}
+
+void CCoordFormatSetup::accept()
+{
+    IUnit::coord_format_e coordFormat = IUnit::eCoordFormat1;
+
+    if(radioFormat1->isChecked())
+    {
+        coordFormat = IUnit::eCoordFormat1;
+    }
+    else if(radioFormat2->isChecked())
+    {
+        coordFormat = IUnit::eCoordFormat2;
+    }
+    else if(radioFormat3->isChecked())
+    {
+        coordFormat = IUnit::eCoordFormat3;
+    }
+
+    IUnit::setCoordFormat(coordFormat);
+    QDialog::accept();
+}
diff --git a/src/mouse/line/CLineOpMovePoint.h b/src/units/CCoordFormatSetup.h
similarity index 63%
copy from src/mouse/line/CLineOpMovePoint.h
copy to src/units/CCoordFormatSetup.h
index 6edab86..3e37468 100644
--- a/src/mouse/line/CLineOpMovePoint.h
+++ b/src/units/CCoordFormatSetup.h
@@ -16,30 +16,22 @@
 
 **********************************************************************************************/
 
-#ifndef CLINEOPMOVEPOINT_H
-#define CLINEOPMOVEPOINT_H
+#ifndef CCOORDFORMATSETUP_H
+#define CCOORDFORMATSETUP_H
 
-#include "mouse/line/ILineOp.h"
+#include "ui_ICoordFormatSetup.h"
+#include <QDialog>
 
-class CLineOpMovePoint : public ILineOp
+class CCoordFormatSetup : public QDialog, private Ui::ICoordFormatSetup
 {
+    Q_OBJECT
 public:
-    CLineOpMovePoint(SGisLine& points, CGisDraw *gis, CCanvas *canvas, IMouseEditLine *parent);
-    virtual ~CLineOpMovePoint();
+    CCoordFormatSetup(QWidget * parent);
+    virtual ~CCoordFormatSetup();
 
-    void mousePressEventEx(QMouseEvent * e);
-    void mouseMoveEventEx(QMouseEvent * e);
-    void mouseReleaseEventEx(QMouseEvent * e)
-    {
-    }
-
-    void drawFg(QPainter& p);
-
-    void canvasPanned(QPointF pos);
-
-private:
-    bool movePoint;
+public slots:
+    void accept();
 };
 
-#endif //CLINEOPMOVEPOINT_H
+#endif //CCOORDFORMATSETUP_H
 
diff --git a/src/units/CTimeZoneSetup.cpp b/src/units/CTimeZoneSetup.cpp
index 0b71611..d6f849b 100644
--- a/src/units/CTimeZoneSetup.cpp
+++ b/src/units/CTimeZoneSetup.cpp
@@ -16,7 +16,7 @@
 
 **********************************************************************************************/
 
-#include "CTimeZoneSetup.h"
+#include "units/CTimeZoneSetup.h"
 #include "units/IUnit.h"
 
 CTimeZoneSetup::CTimeZoneSetup(QWidget *parent)
diff --git a/src/units/CUnitImperial.cpp b/src/units/CUnitImperial.cpp
index be4b19a..fa4eec6 100644
--- a/src/units/CUnitImperial.cpp
+++ b/src/units/CUnitImperial.cpp
@@ -17,7 +17,7 @@
 
 **********************************************************************************************/
 
-#include "CUnitImperial.h"
+#include "units/CUnitImperial.h"
 
 CUnitImperial::CUnitImperial(QObject * parent)
     : IUnit(eTypeImperial, "ft", 3.28084, "ml/h", 2.23693164, parent)
diff --git a/src/units/CUnitMetric.cpp b/src/units/CUnitMetric.cpp
index 7e912c5..fd714e1 100644
--- a/src/units/CUnitMetric.cpp
+++ b/src/units/CUnitMetric.cpp
@@ -16,7 +16,7 @@
     Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA
 
 **********************************************************************************************/
-#include "CUnitMetric.h"
+#include "units/CUnitMetric.h"
 
 CUnitMetric::CUnitMetric(QObject * parent)
     : IUnit(eTypeMetric, "m", 1.0, "km/h", 3.6, parent)
diff --git a/src/units/CUnitNautic.cpp b/src/units/CUnitNautic.cpp
index e782f41..fedd4a7 100644
--- a/src/units/CUnitNautic.cpp
+++ b/src/units/CUnitNautic.cpp
@@ -17,7 +17,7 @@
 
 **********************************************************************************************/
 
-#include "CUnitNautic.h"
+#include "units/CUnitNautic.h"
 
 CUnitNautic::CUnitNautic(QObject * parent)
     : IUnit(eTypeNautic, "nm", 0.00053989, "nm/h", 1.94361780, parent)
diff --git a/src/units/IUnitsSetup.ui b/src/units/ICoordFormatSetup.ui
similarity index 72%
copy from src/units/IUnitsSetup.ui
copy to src/units/ICoordFormatSetup.ui
index 7b8fe56..d0e6472 100644
--- a/src/units/IUnitsSetup.ui
+++ b/src/units/ICoordFormatSetup.ui
@@ -1,39 +1,39 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <ui version="4.0">
- <class>IUnitsSetup</class>
- <widget class="QDialog" name="IUnitsSetup">
+ <class>ICoordFormatSetup</class>
+ <widget class="QDialog" name="ICoordFormatSetup">
   <property name="geometry">
    <rect>
     <x>0</x>
     <y>0</y>
-    <width>400</width>
-    <height>92</height>
+    <width>287</width>
+    <height>126</height>
    </rect>
   </property>
   <property name="windowTitle">
-   <string>Setup units...</string>
+   <string>Coordinate Format...</string>
   </property>
   <layout class="QVBoxLayout" name="verticalLayout">
    <item>
-    <layout class="QHBoxLayout" name="horizontalLayout">
+    <layout class="QVBoxLayout" name="verticalLayout_2">
      <item>
-      <widget class="QRadioButton" name="radioMetric">
+      <widget class="QRadioButton" name="radioFormat3">
        <property name="text">
-        <string>Metric</string>
+        <string>N48° 53' 39.6" E13° 31' 6.78"</string>
        </property>
       </widget>
      </item>
      <item>
-      <widget class="QRadioButton" name="radioImperial">
+      <widget class="QRadioButton" name="radioFormat2">
        <property name="text">
-        <string>Imperial</string>
+        <string>N48.8943° E013.51855°</string>
        </property>
       </widget>
      </item>
      <item>
-      <widget class="QRadioButton" name="radioNautic">
+      <widget class="QRadioButton" name="radioFormat1">
        <property name="text">
-        <string>Nautic</string>
+        <string>N48° 53.660 E013° 31.113</string>
        </property>
       </widget>
      </item>
@@ -47,7 +47,7 @@
      <property name="sizeHint" stdset="0">
       <size>
        <width>20</width>
-       <height>7</height>
+       <height>40</height>
       </size>
      </property>
     </spacer>
@@ -69,7 +69,7 @@
   <connection>
    <sender>buttonBox</sender>
    <signal>accepted()</signal>
-   <receiver>IUnitsSetup</receiver>
+   <receiver>ICoordFormatSetup</receiver>
    <slot>accept()</slot>
    <hints>
     <hint type="sourcelabel">
@@ -85,7 +85,7 @@
   <connection>
    <sender>buttonBox</sender>
    <signal>rejected()</signal>
-   <receiver>IUnitsSetup</receiver>
+   <receiver>ICoordFormatSetup</receiver>
    <slot>reject()</slot>
    <hints>
     <hint type="sourcelabel">
diff --git a/src/units/IUnit.cpp b/src/units/IUnit.cpp
index 4a49313..561ecf4 100644
--- a/src/units/IUnit.cpp
+++ b/src/units/IUnit.cpp
@@ -16,9 +16,11 @@
     Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA
 
 **********************************************************************************************/
-#include "CUnitImperial.h"
-#include "CUnitMetric.h"
-#include "CUnitNautic.h"
+#include "CMainWindow.h"
+#include "GeoMath.h"
+#include "units/CUnitImperial.h"
+#include "units/CUnitMetric.h"
+#include "units/CUnitNautic.h"
 
 #include <QtWidgets>
 #include <proj_api.h>
@@ -28,6 +30,7 @@ const QPointF NOPOINTF(NOFLOAT, NOFLOAT);
 const QPoint NOPOINT (NOINT, NOINT);
 
 IUnit::tz_mode_e IUnit::timeZoneMode = IUnit::eTZUtc;
+IUnit::coord_format_e IUnit::coordFormat = IUnit::eCoordFormat1;
 QByteArray IUnit::timeZone = "UTC";
 bool IUnit::useShortFormat = false;
 
@@ -418,6 +421,15 @@ const char * IUnit::tblTimezone[] =
 
 const int N_TIMEZONES = sizeof(IUnit::tblTimezone)/sizeof(const char*);
 
+QRegExp IUnit::reCoord1("^\\s*([N|S]){1}\\W*([0-9]+)\\W*([0-9]+\\.[0-9]+)\\s+([E|W|O]){1}\\W*([0-9]+)\\W*([0-9]+\\.[0-9]+)\\s*$");
+
+QRegExp IUnit::reCoord2("^\\s*([N|S]){1}\\s*([0-9]+\\.[0-9]+)\\W*\\s+([E|W|O]){1}\\s*([0-9]+\\.[0-9]+)\\W*\\s*$");
+
+QRegExp IUnit::reCoord3("^\\s*([-0-9]+\\.[0-9]+)\\s+([-0-9]+\\.[0-9]+)\\s*$");
+
+QRegExp IUnit::reCoord4("^\\s*([N|S]){1}\\s*([0-9]+)\\W+([0-9]+)\\W+([0-9]+\\.[0-9]+)\\W*([E|W|O]){1}\\W*([0-9]+)\\W+([0-9]+)\\W+([0-9]+\\.[0-9]+)\\W*\\s*$");
+
+QRegExp IUnit::reCoord5("^\\s*([-0-9]+\\.[0-9]+)([N|S])\\s+([-0-9]+\\.[0-9]+)([W|E])\\s*$");
 
 IUnit::IUnit(const type_e &type, const QString& baseunit, const qreal basefactor, const QString& speedunit, const qreal speedfactor, QObject * parent)
     : QObject(parent)
@@ -613,3 +625,160 @@ QByteArray IUnit::pos2timezone(const QPointF& pos)
 
     return tblTimezone[tz];
 }
+
+void IUnit::degToStr(const qreal& x, const qreal& y, QString& str)
+{
+    switch(coordFormat)
+    {
+    case eCoordFormat1:
+    {
+        qint32 degN,degE;
+        qreal minN,minE;
+
+        bool signLat = GPS_Math_Deg_To_DegMin(y, &degN, &minN);
+        bool signLon = GPS_Math_Deg_To_DegMin(x, &degE, &minE);
+
+        QString lat,lng;
+        lat = signLat ? "S" : "N";
+        lng = signLon ? "W" : "E";
+        str.sprintf("%s%02d° %06.3f %s%03d° %06.3f",lat.toUtf8().data(),qAbs(degN),minN,lng.toUtf8().data(),qAbs(degE),minE);
+        break;
+    }
+
+    case eCoordFormat2:
+    {
+        bool signLat = y < 0;
+        bool signLon = x < 0;
+
+        QString lat,lng;
+        lat = signLat ? "S" : "N";
+        lng = signLon ? "W" : "E";
+        str.sprintf("%s%02.6f° %s%03.6f°",lat.toUtf8().data(),qAbs(y),lng.toUtf8().data(),qAbs(x));
+        break;
+    }
+
+    case eCoordFormat3:
+    {
+        qint32 degN,degE;
+        qreal minN,minE;
+
+        bool signLat = GPS_Math_Deg_To_DegMin(y, &degN, &minN);
+        bool signLon = GPS_Math_Deg_To_DegMin(x, &degE, &minE);
+
+        qreal secN = (minN - qFloor(minN)) * 60;
+        qreal secE = (minE - qFloor(minE)) * 60;
+
+        QString lat,lng;
+        lat = signLat ? "S" : "N";
+        lng = signLon ? "W" : "E";
+        str.sprintf("%s%02d° %02d' %02.2f'' %s%03d° %02d' %02.2f''",lat.toUtf8().data(),qAbs(degN),qFloor(minN),secN,lng.toUtf8().data(),qAbs(degE),qFloor(minE),secE);
+        break;
+    }
+    }
+}
+
+bool IUnit::strToDeg(const QString& str, qreal& lon, qreal& lat)
+{
+    if(reCoord2.exactMatch(str))
+    {
+        bool signLat    = reCoord2.cap(1) == "S";
+        qreal absLat    = reCoord2.cap(2).toDouble();
+        lat = signLat ? -absLat : absLat;
+
+        bool signLon    = reCoord2.cap(3) == "W";
+        qreal absLon    = reCoord2.cap(4).toDouble();
+        lon = signLon ? -absLon : absLon;
+    }
+    else if(reCoord1.exactMatch(str))
+    {
+        bool signLat    = reCoord1.cap(1) == "S";
+        int degLat      = reCoord1.cap(2).toInt();
+        qreal minLat    = reCoord1.cap(3).toDouble();
+
+        GPS_Math_DegMin_To_Deg(signLat, degLat, minLat, lat);
+
+        bool signLon    = reCoord1.cap(4) == "W";
+        int degLon      = reCoord1.cap(5).toInt();
+        qreal minLon    = reCoord1.cap(6).toDouble();
+
+        GPS_Math_DegMin_To_Deg(signLon, degLon, minLon, lon);
+    }
+    else if(reCoord3.exactMatch(str))
+    {
+        lat             = reCoord3.cap(1).toDouble();
+        lon             = reCoord3.cap(2).toDouble();
+    }
+    else if(reCoord4.exactMatch(str))
+    {
+        bool signLat    = reCoord4.cap(1) == "S";
+        int degLat      = reCoord4.cap(2).toInt();
+        int minLat      = reCoord4.cap(3).toInt();
+        qreal secLat    = reCoord4.cap(4).toFloat();
+
+        GPS_Math_DegMinSec_To_Deg(signLat, degLat, minLat, secLat, lat);
+
+        bool signLon    = reCoord4.cap(5) == "W";
+        int degLon      = reCoord4.cap(6).toInt();
+        int minLon      = reCoord4.cap(7).toInt();
+        qreal secLon    = reCoord4.cap(8).toFloat();
+
+        GPS_Math_DegMinSec_To_Deg(signLon, degLon, minLon, secLon, lon);
+    }
+    else if(reCoord5.exactMatch(str))
+    {
+        bool signLon    = reCoord4.cap(4) == "W";
+        bool signLat    = reCoord4.cap(2) == "S";
+        lat             = reCoord5.cap(1).toDouble();
+        lon             = reCoord5.cap(3).toDouble();
+
+        if(signLon)
+        {
+            lon = -lon;
+        }
+        if(signLat)
+        {
+            lat = -lat;
+        }
+    }
+    else
+    {
+        QMessageBox::warning(CMainWindow::getBestWidgetForParent(),QObject::tr("Error"),QObject::tr("Bad position format. Must be: \"[N|S] ddd mm.sss [W|E] ddd mm.sss\" or \"[N|S] ddd.ddd [W|E] ddd.ddd\""),QMessageBox::Ok,QMessageBox::NoButton);
+        return false;
+    }
+
+    if(fabs(lon) > 180.0 || fabs(lat) > 90.0)
+    {
+        QMessageBox::warning(CMainWindow::getBestWidgetForParent(),QObject::tr("Error"),QObject::tr("Position values out of bounds. "),QMessageBox::Ok,QMessageBox::NoButton);
+        return false;
+    }
+
+    return true;
+}
+
+bool IUnit::isValidCoordString(const QString& str)
+{
+    if(reCoord1.exactMatch(str))
+    {
+        return true;
+    }
+    else if(reCoord2.exactMatch(str))
+    {
+        return true;
+    }
+    else if(reCoord3.exactMatch(str))
+    {
+        return true;
+    }
+    else if(reCoord4.exactMatch(str))
+    {
+        return true;
+    }
+    else if(reCoord5.exactMatch(str))
+    {
+        return true;
+    }
+    else
+    {
+        return false;
+    }
+}
diff --git a/src/units/IUnit.h b/src/units/IUnit.h
index a3946d9..67441c6 100644
--- a/src/units/IUnit.h
+++ b/src/units/IUnit.h
@@ -46,14 +46,20 @@ public:
     virtual void meter2distance(qreal meter, QString& val, QString& unit) = 0;
     /// convert meter per second to a speed value string and unit label
     virtual void meter2speed(qreal meter, QString& val, QString& unit);
+    /// convert square meter to string and unit label
     virtual void meter2area(qreal meter, QString& val, QString& unit) = 0;
+    /// convert seconds to a timespan of days, hours, minutes and seconds
     virtual void seconds2time(quint32 ttime, QString& val, QString& unit);
+
+    /// convert an elevation string to a float
     virtual qreal elevation2meter(const QString& val) = 0;
 
 
     enum type_e {eTypeMetric, eTypeImperial, eTypeNautic};
+    /// instantiate the correct unit object
     static void setUnitType(type_e t, QObject *parent);
 
+    /// parse a string for a timestamp
     static bool parseTimestamp(const QString &time, QDateTime &datetime);
 
     /**
@@ -67,6 +73,7 @@ public:
      */
     static QString datetime2string(const QDateTime& time, bool shortDate, const QPointF& pos = NOPOINTF);
 
+    /// find the timezone setup by position
     static QByteArray pos2timezone(const QPointF& pos);
 
     const type_e type;
@@ -86,13 +93,47 @@ public:
 
     static void getTimeZoneSetup(tz_mode_e& mode, QByteArray& zone, bool& format)
     {
-        mode = timeZoneMode; zone = timeZone; format = useShortFormat;
+        mode = timeZoneMode;
+        zone = timeZone;
+        format = useShortFormat;
     }
     static void setTimeZoneSetup(tz_mode_e mode, const QByteArray& zone, bool format)
     {
-        timeZoneMode = mode; timeZone = zone; useShortFormat = format;
+        timeZoneMode = mode;
+        timeZone = zone;
+        useShortFormat = format;
+    }
+
+    enum coord_format_e
+    {
+        eCoordFormat1
+        ,eCoordFormat2
+        ,eCoordFormat3
+    };
+
+    static void getCoordFormat(coord_format_e& format)
+    {
+        format = coordFormat;
     }
 
+    static void setCoordFormat(const coord_format_e format)
+    {
+        coordFormat = format;
+    }
+
+
+    static void degToStr(const qreal& x, const qreal& y, QString& str);
+
+    static bool strToDeg(const QString& str, qreal& lon, qreal& lat);
+
+    static bool isValidCoordString(const QString& str);
+
+    static QRegExp reCoord1;
+    static QRegExp reCoord2;
+    static QRegExp reCoord3;
+    static QRegExp reCoord4;
+    static QRegExp reCoord5;
+
 protected:
     IUnit(const type_e& type, const QString& baseunit, const qreal basefactor, const QString& speedunit, const qreal speedfactor, QObject * parent);
 
@@ -102,6 +143,7 @@ protected:
     static QByteArray timeZone;
     static bool useShortFormat;
 
+    static coord_format_e coordFormat;
 
 private:
     static IUnit * m_self;
diff --git a/src/units/IUnitsSetup.ui b/src/units/IUnitsSetup.ui
index 7b8fe56..afe44ea 100644
--- a/src/units/IUnitsSetup.ui
+++ b/src/units/IUnitsSetup.ui
@@ -6,8 +6,8 @@
    <rect>
     <x>0</x>
     <y>0</y>
-    <width>400</width>
-    <height>92</height>
+    <width>201</width>
+    <height>126</height>
    </rect>
   </property>
   <property name="windowTitle">
@@ -15,11 +15,11 @@
   </property>
   <layout class="QVBoxLayout" name="verticalLayout">
    <item>
-    <layout class="QHBoxLayout" name="horizontalLayout">
+    <layout class="QVBoxLayout" name="verticalLayout_2">
      <item>
-      <widget class="QRadioButton" name="radioMetric">
+      <widget class="QRadioButton" name="radioNautic">
        <property name="text">
-        <string>Metric</string>
+        <string>Nautic</string>
        </property>
       </widget>
      </item>
@@ -31,9 +31,9 @@
       </widget>
      </item>
      <item>
-      <widget class="QRadioButton" name="radioNautic">
+      <widget class="QRadioButton" name="radioMetric">
        <property name="text">
-        <string>Nautic</string>
+        <string>Metric</string>
        </property>
       </widget>
      </item>

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