summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Wildemann <metalstrolch@users.noreply.github.com>2017-12-04 09:52:52 +0100
committerGitHub <noreply@github.com>2017-12-04 09:52:52 +0100
commit2723aba74958ec2201511737978e9d0e91a8b7a5 (patch)
tree16e971700ae6554f3c5442bd9e24d212deb28cbe
parent49274bcd2cf0355ebc6e6d9292fc173abda72198 (diff)
parentd0d48666cb1dcfe53a1649e1153bbf884951a9c1 (diff)
downloadnavit-2723aba74958ec2201511737978e9d0e91a8b7a5.tar.gz
Merge branch 'trunk' into icon_dam
-rw-r--r--.circleci/config.yml42
-rw-r--r--CHANGELOG.md110
-rwxr-xr-xCMakeLists.txt6
-rw-r--r--ChangeLog4
-rw-r--r--ci/build_android.sh11
-rw-r--r--ci/build_linux.sh11
-rw-r--r--ci/setup_android.sh8
-rw-r--r--cmake/copy_files.cmake5
-rw-r--r--config.h.cmake2
-rw-r--r--man/maptool.17
-rw-r--r--navit/CMakeLists.txt97
-rw-r--r--navit/Doxyfile14
-rw-r--r--navit/android/src/org/navitproject/navit/FileBrowserActivity.java2
-rw-r--r--navit/android/src/org/navitproject/navit/Navit.java43
-rw-r--r--navit/android/src/org/navitproject/navit/NavitAddressSearchActivity.java10
-rw-r--r--navit/android/src/org/navitproject/navit/NavitDialogs.java2
-rw-r--r--navit/android/src/org/navitproject/navit/NavitDownloadSelectMapActivity.java21
-rw-r--r--navit/android/src/org/navitproject/navit/NavitGraphics.java6
-rw-r--r--navit/android/src/org/navitproject/navit/NavitMapDownloader.java431
-rw-r--r--navit/attr_def.h2
-rw-r--r--navit/file.c83
-rw-r--r--navit/file.h1
-rw-r--r--navit/gui/gtk/gui_gtk_action.c23
-rw-r--r--navit/gui/gtk/gui_gtk_statusbar.c30
-rw-r--r--navit/icons/CMakeLists.txt3
-rw-r--r--navit/icons/bowling.svg56
-rw-r--r--navit/icons/bridge.svg106
-rw-r--r--navit/icons/communication.svg59
-rw-r--r--navit/icons/concert.svg79
-rw-r--r--navit/icons/diving.svg182
-rw-r--r--navit/icons/emergency.svg535
-rw-r--r--navit/icons/fish.svg124
-rw-r--r--navit/icons/ghost_town.svg124
-rw-r--r--navit/icons/hotspring.svg131
-rwxr-xr-xnavit/icons/navit_svg2png36
-rw-r--r--navit/map.h12
-rw-r--r--navit/map/binfile/binfile.c24
-rw-r--r--navit/maptool/maptool.c19
-rw-r--r--navit/maptool/maptool.h5
-rw-r--r--navit/maptool/zip.c123
-rw-r--r--navit/navigation.c16
-rw-r--r--navit/navigation.h12
-rw-r--r--navit/navit.c37
-rw-r--r--navit/plugin.c9
-rw-r--r--navit/route.c49
-rw-r--r--navit/transform.c31
-rw-r--r--navit/util.c17
-rw-r--r--navit/vehicle.c3
-rw-r--r--navit/vehicle/android/vehicle_android.c17
-rw-r--r--navit/vehicle/demo/vehicle_demo.c12
-rw-r--r--navit/vehicle/file/vehicle_file.c330
-rw-r--r--navit/vehicle/gpsd/vehicle_gpsd.c14
-rw-r--r--navit/vehicle/gpsd_dbus/vehicle_gpsd_dbus.c10
-rw-r--r--navit/vehicle/gypsy/vehicle_gypsy.c16
-rw-r--r--navit/vehicle/iphone/vehicle_iphone.c10
-rw-r--r--navit/vehicle/maemo/vehicle_maemo.c23
-rw-r--r--navit/vehicle/null/vehicle_null.c10
-rw-r--r--navit/vehicle/qt5/vehicle_qt5.cpp12
-rw-r--r--navit/vehicle/webos/vehicle_webos.c10
-rw-r--r--navit/vehicle/wince/vehicle_wince.c114
-rw-r--r--navit/xmlconfig.h57
-rw-r--r--po/cs.po.in57
-rw-r--r--po/es.po.in56
-rw-r--r--po/fr.po.in37
64 files changed, 1952 insertions, 1596 deletions
diff --git a/.circleci/config.yml b/.circleci/config.yml
index 4f8a82d39..b2a27c13e 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -9,10 +9,42 @@ jobs:
steps:
- checkout
- run:
- name: Build for Linux
+ name: Setup requirements
command: |
bash ci/setup_common_requirements.sh
- bash ci/build_linux.sh
+ apt-get install -y libpng12-dev librsvg2-bin libfreetype6-dev libdbus-glib-1-dev libgtk2.0-dev curl
+ - run:
+ name: Build for Linux
+ command: bash ci/build_linux.sh
+ run_doxygen:
+ <<: *defaults
+ steps:
+ - checkout
+ - run:
+ name: Install doxygen
+ command: apt-get update && apt-get -y install doxygen ca-certificates git
+ - run:
+ name: Run doxygen
+ command: cd navit && doxygen
+ - run:
+ name: Update results to Github
+ command: |
+ mkdir /root/.ssh
+ chmod 0600 /root/.ssh
+ echo 'github.com ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ==' >> ~/.ssh/known_hosts
+ git clone -b gh-pages git@github.com:navit-gps/navit.git /root/navit-doc
+ cd /root/navit-doc
+ git config --global push.default simple
+ git config user.name "Circle CI"
+ git config user.email "circleci@navit-project.org"
+ rsync -vrtza --exclude '.git' --delete /root/project/doc/html/ /root/navit-doc/
+ echo "" > .nojekyll
+ echo "doxygen.navit-project.org" > CNAME
+ git add .
+ git commit -am "update:doc:Doxygen update for commit ${CIRCLE_SHA1} [ci skip]" || true
+ git push
+ - store_artifacts:
+ path: /root/project/doc
build_android_arm:
<<: *defaults
steps:
@@ -102,6 +134,12 @@ jobs:
workflows:
version: 2
+ doxygen:
+ jobs:
+ - run_doxygen:
+ filters:
+ branches:
+ only: /^trunk$/
build_all:
jobs:
- build_linux
diff --git a/CHANGELOG.md b/CHANGELOG.md
new file mode 100644
index 000000000..bd2cdf1c1
--- /dev/null
+++ b/CHANGELOG.md
@@ -0,0 +1,110 @@
+# Change Log
+All notable changes to this project will be documented in this file.
+
+Changes and documentation about Navit can be found in the wiki at:
+ http://wiki.navit-project.org
+A timeline of opened and closed issue tickets can be found at our trac instance:
+ http://trac.navit-project.org
+
+Navit follows the semantic versioning:
+* `x.y.Z` (patch): only bug fixes or refactoring, no changes in functionality
+* `x.Y.z` (minor): added or changed functionality but can be used as a drop-in
+ replacement for the previous version (all data formats and interfaces are still
+ supported); minor UI changes (such as moving individual menu items) are also
+ allowed
+* X.y.z (major): at least one of the following:
+ * Major new functionality (such as Augmented Reality, inertial navigation or
+ support for live traffic services): de-facto standard for end-user apps
+ * New user interface (such as moving from the old pulldown menu UI to the Internal
+ GUI): this is definitely the UI equivalent of a breaking API change
+ * Dropped support for a data format or interface: also a breaking change and
+ usually tends to occur along with larger changes which would warrant a new major
+ version anyway
+
+## [Unreleased]
+
+The list of changes that happened between the release 0.5.0 and the creation of
+this changelog is too long to fit there so only a subset has been put here.
+
+For the full list of changes, see [Github full commit list](https://github.com/navit-gps/navit/compare/v0.5.0...HEAD)
+
+
+### Added
+- core: Allow zipcode or town seamless search (#211)
+- core: Add feature poly_reservoir (#251)
+- core: Add grass, grassland, wetland and sand (#247)
+- core: Add poly_basin (#248)
+- gui_internal: Add auto zoom toggle to gui_internal (#237)
+- gui_internal: Add network info menu in gui/internal for Linux (#228)
+- graphics: RaspberryPI hardware accelerated graphics support (#208)
+- graphics: Add Qt5 support
+- graphics: add multiple icons
+- gtk: Add menu entry to toggle vehicle tracking (#362)
+- espeak: Add speech module using espeak on QMultimedia. (#233)
+- contrib/sailfish: Add rules to build sailfish package (#221)
+- contrib/sailfish: Add autozoom switch to sailfosh config (#238)
+- contrib/sailfish: Add desktop icons in sizes required by Sailfish OS. (#220)
+- install: Allow unusual building (#215)
+- doc: Improved follow vehicle toggle doc function for GTK (#363)
+- doc: Added download links for PlayStore and F-Droid in the README
+- ci: Added automatic publishing to Playstore Beta
+
+### Changed
+
+- core: Removed autotools lefotover (#204)
+- core: sunrise near poles simplification (#206)
+- core: keep active vehicle profile when deactivating vehicle (#217)
+- core: Hide impossible keys at the internal keyboard instead of highlighting the possible ones (leftover from PR5) (#210)
+- core: Reduce POST_SHIFT to avoid int overflow
+- core: Remove dependency on OpenSSL
+- port/android: ask permissions on sdk >= 23
+- i18n: Update of about all the translations available for the software
+- ci: Updated the CI builds and tests
+- ci: update zlib to 1.2.11
+- doc: Added some usage images to the README.md
+
+### Fixed
+- port/android:moved Taiwan into its own map download entry #348
+- maptool:Remove option -5 (MD5 checksum) from maptool
+- gtk: fixed missing imperial units in the GTK ui (#359)
+- core: Remove binfile map encryption support
+- core: Fix iPhone build broken by plugin refactoring
+- core: Fix Car layout issues with wood and water (#240)
+- core: TRAC-1246: Draw background color even if text label is empty. (#234)
+- core: TRAC-981: Add Align-Attr to osd type Odometer (#230)
+- core: navigation_analyze_roundabout : central_angle may lead to division by 0 (#218)
+- core: Fix POI toggle bug with Car-dark layout (#223)
+- core: TRAC-1347 Add 'Follow' and 'Active' to vehicle_demo to remove the corresponding error messages (Unsupported Attribute) (#229)
+- gui_internal: Rename new option to hide_impossible_next_keys
+- gui_internal: Don't crash if LANG environment not set (#232)
+- xml:Change colors for wetland in Car and Car-dark (#257)
+- port/android: Fix "invalid DT_NEEDED" warnings on API 23+, fixes #1348 (#205)
+- port/android: Fix apk signing and bump sdk to 25 - nougat (#209)
+- port/android: Fix #1345 crash on Android
+- port/android: TRAC-1071 'Toggle POIs' button also toggle POI labels (#226)
+- ci: Tomtom:Switching to mirrored toolchain
+
+### Removed
+
+## [0.5.0] - 2015-12-31
+
+This release was done before the adoption of this changelog format. Click
+[here](https://github.com/navit-gps/navit/compare/v0.5.0-rc.2...v0.5.0)
+to view the corresponding changes.
+
+## [0.5.0-rc2] - 2015-09-02
+
+This release was done before the adoption of this changelog format. Click
+[here](https://github.com/navit-gps/navit/compare/v0.5.0-rc.1...v0.5.0-rc.2)
+to view the corresponding changes.
+
+## [0.5.0-rc1] - 2015-08-08
+
+This release was done before the adoption of this changelog format. Click
+[here](https://github.com/navit-gps/navit/compare/v0.5.0-beta.1...v0.5.0-rc.1)
+to view the corresponding changes.
+
+[Unreleased]: https://github.com/navit-gps/navit/compare/v0.5.0...HEAD
+[0.5.0]: https://github.com/navit-gps/navit/compare/v0.5.0-rc.2...v0.5.0
+[0.5.0-rc.2]: https://github.com/navit-gps/navit/compare/v0.5.0-rc.1...v0.5.0-rc.2
+[0.5.0-rc.1]: https://github.com/navit-gps/navit/compare/v0.5.0-beta.1...v0.5.0-rc.1
diff --git a/CMakeLists.txt b/CMakeLists.txt
index d3d764d36..763f75bed 100755
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -163,7 +163,6 @@ find_package(Gettext)
find_package(PNG)
find_package(DBusGLib)
find_package(PythonLibs)
-find_package(OpenSSL)
find_package(Threads)
libfind_pkg_check_modules(FONTCONFIG fontconfig)
#Qt detection
@@ -276,11 +275,6 @@ else(ZLIB_FOUND)
message(STATUS "using internal zlib")
set_with_reason(support/zlib "native zlib missing" TRUE)
endif(ZLIB_FOUND)
-if(OPENSSL_CRYPTO_LIBRARIES)
- set(HAVE_LIBCRYPTO 1)
- include_directories(${OPENSSL_INCLUDE_DIR})
- list(APPEND NAVIT_LIBS ${OPENSSL_CRYPTO_LIBRARIES})
-endif()
if(PNG_FOUND)
set(HAVE_PNG 1)
include_directories(${PNG_INCLUDE_DIR})
diff --git a/ChangeLog b/ChangeLog
deleted file mode 100644
index 411115f00..000000000
--- a/ChangeLog
+++ /dev/null
@@ -1,4 +0,0 @@
-Changes and documentation about Navit can be found in the wiki at:
- http://wiki.navit-project.org
-A timeline of opened and closed issue tickets can be found at our trac instance:
- http://trac.navit-project.org
diff --git a/ci/build_android.sh b/ci/build_android.sh
index ad42c78c2..bf992fd2c 100644
--- a/ci/build_android.sh
+++ b/ci/build_android.sh
@@ -30,12 +30,5 @@ cmake -DCMAKE_TOOLCHAIN_FILE=../Toolchain/arm-eabi.cmake -DCACHE_SIZE='(20*1024*
make -j $(nproc --all)
-if [[ "${CIRCLE_BRANCH}" == "master" ]]; then
- make -j $(nproc --all) apkg-release && mv navit/android/bin/Navit-release-unsigned.apk navit/android/bin/navit-$CIRCLE_SHA1-${ARCH}-release-unsigned.apk || exit 1
-else
- make -j $(nproc --all) apkg && mv navit/android/bin/Navit-debug.apk navit/android/bin/navit-$CIRCLE_SHA1-${ARCH}-debug.apk || exit 1
-fi
-
-echo
-echo "Build leftovers :"
-find .
+make -j $(nproc --all) apkg-release && mv navit/android/bin/Navit-release-unsigned.apk navit/android/bin/navit-$CIRCLE_SHA1-${ARCH}-release-unsigned.apk || exit 1
+make -j $(nproc --all) apkg && mv navit/android/bin/Navit-debug.apk navit/android/bin/navit-$CIRCLE_SHA1-${ARCH}-debug.apk || exit 1
diff --git a/ci/build_linux.sh b/ci/build_linux.sh
index 14abb7597..4105cc1d7 100644
--- a/ci/build_linux.sh
+++ b/ci/build_linux.sh
@@ -1,12 +1,13 @@
+#!/bin/bash
set -e
COVERITY_VERSION="2017.07"
-
-apt-get install -y libpng12-dev librsvg2-bin libfreetype6-dev libdbus-glib-1-dev libgtk2.0-dev curl
+BUILD_PATH="linux"
cmake_opts="-Dgraphics/qt_qpainter:BOOL=FALSE -Dgui/qml:BOOL=FALSE -DSVG2PNG:BOOL=FALSE -DSAMPLE_MAP=n -Dgraphics/gtk_drawing_area:BOOL=TRUE"
-mkdir ${CIRCLE_WORKING_DIRECTORY}/linux-bin && cd ${CIRCLE_WORKING_DIRECTORY}/linux-bin
+[ -d $BUILD_PATH ] || mkdir -p $BUILD_PATH
+pushd $BUILD_PATH
if [[ "${CIRCLE_PROJECT_USERNAME}" == "navit-gps" && "${CIRCLE_BRANCH}" == "trunk" ]]; then
# If we are building the official trunk code, push an update to coverity
@@ -14,7 +15,7 @@ if [[ "${CIRCLE_PROJECT_USERNAME}" == "navit-gps" && "${CIRCLE_BRANCH}" == "trun
tar xfz /tmp/cov-analysis-linux64-${COVERITY_VERSION}.tar.gz --no-same-owner -C /usr/local/share/
export PATH=/usr/local/share/cov-analysis-linux64-${COVERITY_VERSION}/bin:$PATH
- cov-build --dir cov-int cmake ${CIRCLE_WORKING_DIRECTORY}/ ${cmake_opts}
+ cov-build --dir cov-int cmake ${cmake_opts} ../
cov-build --dir cov-int make -j $(nproc --all) || exit -1
tar czvf navit.tgz cov-int
@@ -31,7 +32,7 @@ if [[ "${CIRCLE_PROJECT_USERNAME}" == "navit-gps" && "${CIRCLE_BRANCH}" == "trun
curl "https://translations.launchpad.net/navit/${CIRCLE_BRANCH}/+translations-upload" -H "$lp_cookie" -H "Referer: https://translations.launchpad.net/navit/${CIRCLE_BRANCH}/+translations-upload" -F file=@po/navit.pot | grep title
else
- cmake ${CIRCLE_WORKING_DIRECTORY}/ ${cmake_opts} || exit -1
+ cmake ${cmake_opts} ../ || exit -1
make -j $(nproc --all) || exit -1
fi
diff --git a/ci/setup_android.sh b/ci/setup_android.sh
index 64e250635..f3ae96900 100644
--- a/ci/setup_android.sh
+++ b/ci/setup_android.sh
@@ -13,6 +13,14 @@ cd /opt && rm -f android-sdk.tgz
export PATH=${PATH}:${ANDROID_SDK_HOME}/tools:${ANDROID_SDK_HOME}/platform-tools:/opt/tools
echo y | android update sdk --no-ui --all --filter platform-tools | grep 'package installed'
+
+# This is only an workaround to make sure the platform tools are installed
+if [ ! -d ${ANDROID_SDK_HOME}/platform-tools ] && [ -f ${ANDROID_SDK_HOME}/temp/platform-tools_r26.0.2-linux.zip ]; then
+ if [ "$(md5sum ${ANDROID_SDK_HOME}/temp/platform-tools_r26.0.2-linux.zip | cut -d" " -f1)" == "ef952bb31497f7535e061ad0e712bed8" ]; then
+ cd ${ANDROID_SDK_HOME} && unzip ${ANDROID_SDK_HOME}/temp/platform-tools_r26.0.2-linux.zip
+ fi
+fi
+
#RUN echo y | android update sdk --no-ui --all --filter extra-android-support | grep 'package installed'
echo y | android update sdk --no-ui --all --filter android-25 | grep 'package installed'
diff --git a/cmake/copy_files.cmake b/cmake/copy_files.cmake
index f9dca52f6..03ad8d14f 100644
--- a/cmake/copy_files.cmake
+++ b/cmake/copy_files.cmake
@@ -7,9 +7,10 @@ if ( SRC_FILES )
if ( LOWER )
get_filename_component(FILEN_NAME ${FILE} NAME)
string(TOLOWER ${FILEN_NAME} FILEN_NAME_LOWER)
- execute_process(COMMAND ${CMAKE_COMMAND} -E copy_if_different ${FILE} ${DST}/${FILEN_NAME_LOWER})
+ file(COPY ${FILE} DESTINATION ${DST}/)
+ file(RENAME ${DST}/${FILEN_NAME} ${DST}/${FILEN_NAME_LOWER})
else()
- execute_process(COMMAND ${CMAKE_COMMAND} -E copy_if_different ${FILE} ${DST}/)
+ file(COPY ${FILE} DESTINATION ${DST})
endif( LOWER )
endforeach()
endif()
diff --git a/config.h.cmake b/config.h.cmake
index fa096b58c..dd27d1ee5 100644
--- a/config.h.cmake
+++ b/config.h.cmake
@@ -21,8 +21,6 @@
#cmakedefine PACKAGE "@PACKAGE@"
#cmakedefine LOCALEDIR "@LOCALEDIR@"
-#cmakedefine HAVE_LIBCRYPTO 1
-
#cmakedefine HAVE_ZLIB 1
#cmakedefine USE_ROUTING 1
diff --git a/man/maptool.1 b/man/maptool.1
index 4112d0b15..8705f648e 100644
--- a/man/maptool.1
+++ b/man/maptool.1
@@ -4,13 +4,13 @@ maptool \- parse osm textfile and convert to Navit binfile format
.SH SYNOPSIS
.B For OSM XML data:
.B bzcat planet.osm.bz2 | maptool mymap.bin
-[\-h] [\-5 <file>] [\-6] [\-a <level>] [\-c] -[\-d <connect string]
+[\-h] [\-6] [\-a <level>] [\-c] -[\-d <connect string]
[\-e <phase>] [\-i <file>] [\-k] [\-M] [\-N] [\-o] [\-r <file>] [\-s <phase>]
[\-S <size>] [\-w] [\-W] [\-U] [\-z <level>]
.B For OSM Protobuf/PBF data:
.B maptool \-\-protobuf \-i planet.osm.pbf planet.bin
-[\-h] [\-5 <file>] [\-6] [\-a <level>] [\-c] [\-e <phase>]
+[\-h] [\-6] [\-a <level>] [\-c] [\-e <phase>]
[\-i <file>] [\-k] [\-M] [\-N] [\-o] [\-P] [\-r <file>] [\-s <phase>]
[\-S <size>] [\-w] [\-W] [\-U] [\-z <level>]
.SH DESCRIPTION
@@ -20,9 +20,6 @@ maptool parses osm textfile and converts it to Navit binfile format
\-h (\-\-help)
display a short help message
.TP
-\-5 (\-\-md5)
-set file where to write md5 sum
-.TP
\-6 (\-\-64bit)
set zip 64 bit compression
.TP
diff --git a/navit/CMakeLists.txt b/navit/CMakeLists.txt
index cac127531..2c1006b94 100644
--- a/navit/CMakeLists.txt
+++ b/navit/CMakeLists.txt
@@ -4,7 +4,7 @@ include_directories( "${CMAKE_CURRENT_SOURCE_DIR}")
include_directories( "${CMAKE_CURRENT_BINARY_DIR}")
include_directories( "${CMAKE_CURRENT_SOURCE_DIR}/support")
-# navit cre
+# navit core
set(NAVIT_SRC announcement.c atom.c attr.c cache.c callback.c command.c config_.c coord.c country.c data_window.c debug.c
event.c file.c geom.c graphics.c gui.c item.c layout.c log.c main.c map.c maps.c
linguistics.c mapset.c maptype.c menu.c messages.c bookmarks.c navit.c navit_nls.c navigation.c osd.c param.c phrase.c plugin.c popup.c
@@ -12,7 +12,7 @@ set(NAVIT_SRC announcement.c atom.c attr.c cache.c callback.c command.c config_.
search_houseno_interpol.c util.c vehicle.c vehicleprofile.c xmlconfig.c )
if(NOT USE_PLUGINS)
- list(APPEND NAVIT_SRC ${CMAKE_CURRENT_BINARY_DIR}/builtin.c)
+ list(APPEND NAVIT_SRC ${CMAKE_CURRENT_BINARY_DIR}/builtin.c)
endif(NOT USE_PLUGINS)
if (${HAVE_GLIB})
@@ -82,7 +82,7 @@ if(NOT ANDROID)
add_executable(navit ${NAVIT_START_SRC})
target_link_libraries (navit ${NAVIT_LIBNAME})
if(DEFINED NAVIT_BINARY)
- set_target_properties(navit PROPERTIES OUTPUT_NAME ${NAVIT_BINARY})
+ set_target_properties(navit PROPERTIES OUTPUT_NAME ${NAVIT_BINARY})
endif(DEFINED NAVIT_BINARY)
if (BUILD_BUNDLE)
add_custom_command(OUTPUT resources/share COMMAND mkdir -p resources/share)
@@ -96,12 +96,12 @@ if(NOT ANDROID)
endif()
if (SHARED_LIBNAVIT)
- add_library (${NAVIT_LIBNAME} SHARED ${NAVIT_SRC} )
+ add_library (${NAVIT_LIBNAME} SHARED ${NAVIT_SRC} )
else(SHARED_LIBNAVIT)
- add_library (${NAVIT_LIBNAME} STATIC ${NAVIT_SRC} )
+ add_library (${NAVIT_LIBNAME} STATIC ${NAVIT_SRC} )
endif(SHARED_LIBNAVIT)
if(NOT MSVC)
- SET(NAVIT_LIBS ${NAVIT_LIBS} m)
+ SET(NAVIT_LIBS ${NAVIT_LIBS} m)
endif(NOT MSVC)
target_link_libraries(${NAVIT_LIBNAME} ${MODULES_NAME} ${NAVIT_SUPPORT_LIBS} fib ${NAVIT_LIBS} )
set_target_properties(${NAVIT_LIBNAME} PROPERTIES COMPILE_DEFINITIONS "MODULE=navit;LIBDIR=\"${CMAKE_INSTALL_PREFIX}/${LIB_DIR}\";PREFIX=\"${CMAKE_INSTALL_PREFIX}\"")
@@ -113,50 +113,59 @@ ADD_CUSTOM_TARGET(
git_version
${CMAKE_COMMAND} -D SRC=${CMAKE_CURRENT_SOURCE_DIR}/version.h.in
-D DST=${CMAKE_CURRENT_BINARY_DIR}/version.h
- -D NAME="GIT_VERSION"
+ -D NAME="GIT_VERSION"
-P ${PROJECT_SOURCE_DIR}/cmake/version.cmake
)
+add_custom_command(
+ OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/navit.dtd"
+ COMMENT "Copy navit.dtd to ${CMAKE_CURRENT_BINARY_DIR}/navit.dtd"
+ COMMAND ${CMAKE_COMMAND} -E copy "${PROJECT_SOURCE_DIR}/navit/navit.dtd" "${CMAKE_CURRENT_BINARY_DIR}/navit.dtd"
+)
+
# additional parameter are passed to the stylesheet processor as parameter
macro(process_xslt SRC_XML DEST_XML)
- set(XSLT_COMMANDS COMMAND ${CMAKE_COMMAND} -E copy ${SRC_XML} ${DEST_XML}
- COMMAND ${CMAKE_COMMAND} -E copy ${PROJECT_SOURCE_DIR}/navit/navit.dtd ${CMAKE_CURRENT_BINARY_DIR}/navit.dtd)
- if(XSL_PROCESSING AND XSLTS)
- string(REPLACE "," ";" XSLTS "${XSLTS}")
- foreach(tmp ${XSLTS})
- set(XSLT_FILE "${PROJECT_SOURCE_DIR}/navit/xslt/${tmp}.xslt")
- list(APPEND XSLT_FILES "${XSLT_FILE}")
- list(APPEND XSLT_COMMANDS COMMAND ${CMAKE_COMMAND} -E echo Applying ${tmp}.xslt)
- compose_xslt_transform_command(CMD "${XSLT_FILE}" "${DEST_XML}" "${DEST_XML}.tmp" "${ARGN}")
- list(APPEND XSLT_COMMANDS ${CMD})
- list(APPEND XSLT_COMMANDS COMMAND ${CMAKE_COMMAND} -E rename ${DEST_XML}.tmp ${DEST_XML})
- endforeach()
- endif()
+ set(XSLT_COMMANDS COMMAND ${CMAKE_COMMAND} -E copy "${PROJECT_SOURCE_DIR}/navit/navit_shipped.xml" "${CMAKE_CURRENT_BINARY_DIR}/${DEST_XML}" )
+ if(XSL_PROCESSING)
+ if(NOT XSLTS STREQUAL "")
+ string(REPLACE "," ";" XSLTS "${XSLTS}")
+ foreach(tmp ${XSLTS})
+ set(XSLT_FILE "${PROJECT_SOURCE_DIR}/navit/xslt/${tmp}.xslt")
+ list(APPEND XSLT_FILES "${XSLT_FILE}")
+ list(APPEND XSLT_COMMANDS COMMAND ${CMAKE_COMMAND} -E echo Applying ${tmp}.xslt)
+ compose_xslt_transform_command(CMD "${XSLT_FILE}" "${CMAKE_CURRENT_BINARY_DIR}/${DEST_XML}" "${CMAKE_CURRENT_BINARY_DIR}/${DEST_XML}.tmp" "${ARGN}")
+ list(APPEND XSLT_COMMANDS ${CMD})
+ list(APPEND XSLT_COMMANDS COMMAND ${CMAKE_COMMAND} -E rename "${CMAKE_CURRENT_BINARY_DIR}/${DEST_XML}.tmp" ${CMAKE_CURRENT_BINARY_DIR}/${DEST_XML})
+ endforeach()
+ endif()
+ endif(XSL_PROCESSING)
# Depend on all XSLT files, because the main XSLT file may pull in other files.
# Ideally we'd parse the main XSLT file for includes, but that is tricky to do reliably.
# Note that this list of files is only updated when (re)running CMake, so if files are
# added/deleted, CMake must be re-run manually.
file(GLOB ALL_XSLT_FILES "${PROJECT_SOURCE_DIR}/navit/xslt/*.xslt")
+ #message(FATAL_ERROR ${CMAKE_CURRENT_BINARY_DIR}/${DEST_XML})
ADD_CUSTOM_COMMAND(
- OUTPUT ${DEST_XML}
- DEPENDS ${SRC_XML} ${ALL_XSLT_FILES}
+ OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${DEST_XML}
+ WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/navit/xslt/
+ DEPENDS ${SRC_XML} "${CMAKE_CURRENT_BINARY_DIR}/navit.dtd" ${ALL_XSLT_FILES}
${XSLT_COMMANDS}
)
endmacro()
if(ANDROID)
- process_xslt(${CMAKE_CURRENT_SOURCE_DIR}/navit_shipped.xml ${CMAKE_CURRENT_BINARY_DIR}/navitxxxhdpi.xml OSD_SIZE=5.33 ICON_SMALL=128 ICON_MEDIUM=192 ICON_BIG=256)
- process_xslt(${CMAKE_CURRENT_SOURCE_DIR}/navit_shipped.xml ${CMAKE_CURRENT_BINARY_DIR}/navitxxhdpi.xml OSD_SIZE=4 ICON_SMALL=96 ICON_MEDIUM=128 ICON_BIG=192)
- process_xslt(${CMAKE_CURRENT_SOURCE_DIR}/navit_shipped.xml ${CMAKE_CURRENT_BINARY_DIR}/navitxhdpi.xml OSD_SIZE=2.67 ICON_SMALL=64 ICON_MEDIUM=96 ICON_BIG=128)
- process_xslt(${CMAKE_CURRENT_SOURCE_DIR}/navit_shipped.xml ${CMAKE_CURRENT_BINARY_DIR}/navithdpi.xml OSD_SIZE=2 ICON_SMALL=48 ICON_MEDIUM=64 ICON_BIG=96)
- process_xslt(${CMAKE_CURRENT_SOURCE_DIR}/navit_shipped.xml ${CMAKE_CURRENT_BINARY_DIR}/navitmdpi.xml OSD_SIZE=1.33 ICON_SMALL=32 ICON_MEDIUM=48 ICON_BIG=64)
- process_xslt(${CMAKE_CURRENT_SOURCE_DIR}/navit_shipped.xml ${CMAKE_CURRENT_BINARY_DIR}/navitldpi.xml OSD_SIZE=1 ICON_SMALL=24 ICON_MEDIUM=32 ICON_BIG=48)
+ process_xslt(${CMAKE_CURRENT_SOURCE_DIR}/navit_shipped.xml navitxxxhdpi.xml OSD_SIZE=5.33 ICON_SMALL=128 ICON_MEDIUM=192 ICON_BIG=256)
+ process_xslt(${CMAKE_CURRENT_SOURCE_DIR}/navit_shipped.xml navitxxhdpi.xml OSD_SIZE=4 ICON_SMALL=96 ICON_MEDIUM=128 ICON_BIG=192)
+ process_xslt(${CMAKE_CURRENT_SOURCE_DIR}/navit_shipped.xml navitxhdpi.xml OSD_SIZE=2.67 ICON_SMALL=64 ICON_MEDIUM=96 ICON_BIG=128)
+ process_xslt(${CMAKE_CURRENT_SOURCE_DIR}/navit_shipped.xml navithdpi.xml OSD_SIZE=2 ICON_SMALL=48 ICON_MEDIUM=64 ICON_BIG=96)
+ process_xslt(${CMAKE_CURRENT_SOURCE_DIR}/navit_shipped.xml navitmdpi.xml OSD_SIZE=1.33 ICON_SMALL=32 ICON_MEDIUM=48 ICON_BIG=64)
+ process_xslt(${CMAKE_CURRENT_SOURCE_DIR}/navit_shipped.xml navitldpi.xml OSD_SIZE=1 ICON_SMALL=24 ICON_MEDIUM=32 ICON_BIG=48)
add_custom_target( navit_config_xml ALL DEPENDS navitxxxhdpi.xml navitxxhdpi.xml navitxhdpi.xml navithdpi.xml navitmdpi.xml navitldpi.xml)
else()
- process_xslt(${CMAKE_CURRENT_SOURCE_DIR}/navit_shipped.xml ${CMAKE_CURRENT_BINARY_DIR}/navit.xml "")
+ process_xslt(${CMAKE_CURRENT_SOURCE_DIR}/navit_shipped.xml navit.xml "")
add_custom_target( navit_config_xml_resource DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/navit.xml COMMAND mkdir -p resources/share/navit COMMAND cp ${CMAKE_CURRENT_BINARY_DIR}/navit.xml resources/share/navit)
add_custom_target( locale_resource DEPENDS locales COMMAND mkdir -p resources/share COMMAND cp -a ${CMAKE_CURRENT_BINARY_DIR}/../locale resources/share/locale)
- add_custom_target( navit_config_xml ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/navit.xml)
+ add_custom_target( navit_config_xml ALL DEPENDS navit.xml)
endif()
ADD_DEPENDENCIES(${NAVIT_LIBNAME} git_version)
@@ -182,17 +191,17 @@ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/navit.xml
get_directory_property(INCLUDE_DIRECTORIES INCLUDE_DIRECTORIES)
WRITE_FILE("cmake_plugin_settings.txt"
- "set(APPLE ${APPLE} CACHE BOOL init)\n"
- "set(ANDROID ${ANDROID} CACHE BOOL init)\n"
- "set(USE_PLUGINS ${USE_PLUGINS} CACHE BOOL init)\n"
- "set(MODULE_BUILD_TYPE \"${MODULE_BUILD_TYPE}\" CACHE STRING init)\n"
- "set(NAVIT_COMPILE_FLAGS \"${NAVIT_COMPILE_FLAGS}\" CACHE STRING init)\n"
- "set(navit_SOURCE_DIR \"${navit_SOURCE_DIR}\" CACHE STRING init)\n"
- "set(NAVIT_LIBNAME \"${NAVIT_LIBNAME}\" CACHE STRING init)\n"
- "set(ANDROID_API_VERSION \"${ANDROID_API_VERSION}\" CACHE STRING init)\n"
- "set(ANDROID_NDK_API_VERSION \"${ANDROID_NDK_API_VERSION}\" CACHE STRING init)\n"
- "set(CMAKE_TOOLCHAIN_FILE \"${CMAKE_TOOLCHAIN_FILE}\" CACHE STRING init)\n"
- "set(INCLUDE_DIRECTORIES \"${INCLUDE_DIRECTORIES}\" CACHE STRING init)\n"
- "set(LIB_DIR \"${LIB_DIR}\" CACHE STRING init)\n"
- "set(CMAKE_INSTALL_PREFIX \"${CMAKE_INSTALL_PREFIX}\" CACHE STRING init)\n"
- )
+ "set(APPLE ${APPLE} CACHE BOOL init)\n"
+ "set(ANDROID ${ANDROID} CACHE BOOL init)\n"
+ "set(USE_PLUGINS ${USE_PLUGINS} CACHE BOOL init)\n"
+ "set(MODULE_BUILD_TYPE \"${MODULE_BUILD_TYPE}\" CACHE STRING init)\n"
+ "set(NAVIT_COMPILE_FLAGS \"${NAVIT_COMPILE_FLAGS}\" CACHE STRING init)\n"
+ "set(navit_SOURCE_DIR \"${navit_SOURCE_DIR}\" CACHE STRING init)\n"
+ "set(NAVIT_LIBNAME \"${NAVIT_LIBNAME}\" CACHE STRING init)\n"
+ "set(ANDROID_API_VERSION \"${ANDROID_API_VERSION}\" CACHE STRING init)\n"
+ "set(ANDROID_NDK_API_VERSION \"${ANDROID_NDK_API_VERSION}\" CACHE STRING init)\n"
+ "set(CMAKE_TOOLCHAIN_FILE \"${CMAKE_TOOLCHAIN_FILE}\" CACHE STRING init)\n"
+ "set(INCLUDE_DIRECTORIES \"${INCLUDE_DIRECTORIES}\" CACHE STRING init)\n"
+ "set(LIB_DIR \"${LIB_DIR}\" CACHE STRING init)\n"
+ "set(CMAKE_INSTALL_PREFIX \"${CMAKE_INSTALL_PREFIX}\" CACHE STRING init)\n"
+)
diff --git a/navit/Doxyfile b/navit/Doxyfile
index b7e049301..6b3bc777a 100644
--- a/navit/Doxyfile
+++ b/navit/Doxyfile
@@ -38,7 +38,7 @@ PROJECT_NAME = navit
# could be handy for archiving the generated documentation or if some version
# control system is used.
-PROJECT_NUMBER = 0.0
+PROJECT_NUMBER = 0.5.1-trunk
# Using the PROJECT_BRIEF tag one can provide an optional one line description
# for a project that appears at the top of each page and should give viewer a
@@ -409,25 +409,25 @@ LOOKUP_CACHE_SIZE = 0
# normally produced when WARNINGS is set to YES.
# The default value is: NO.
-EXTRACT_ALL = NO
+EXTRACT_ALL = YES
# If the EXTRACT_PRIVATE tag is set to YES, all private members of a class will
# be included in the documentation.
# The default value is: NO.
-EXTRACT_PRIVATE = NO
+EXTRACT_PRIVATE = YES
# If the EXTRACT_PACKAGE tag is set to YES, all members with package or internal
# scope will be included in the documentation.
# The default value is: NO.
-EXTRACT_PACKAGE = NO
+EXTRACT_PACKAGE = YES
# If the EXTRACT_STATIC tag is set to YES, all static members of a file will be
# included in the documentation.
# The default value is: NO.
-EXTRACT_STATIC = NO
+EXTRACT_STATIC = YES
# If the EXTRACT_LOCAL_CLASSES tag is set to YES, classes (and structs) defined
# locally in source files will be included in the documentation. If set to NO,
@@ -809,7 +809,7 @@ EXCLUDE_SYMLINKS = NO
# Note that the wildcards are matched against the file with absolute path, so to
# exclude all test directories for example use the pattern */test/*
-EXCLUDE_PATTERNS =
+EXCLUDE_PATTERNS = */support/*
# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names
# (namespaces, classes, functions, etc.) that should be excluded from the
@@ -1504,7 +1504,7 @@ MATHJAX_CODEFILE =
# The default value is: YES.
# This tag requires that the tag GENERATE_HTML is set to YES.
-SEARCHENGINE = NO
+SEARCHENGINE = YES
# When the SERVER_BASED_SEARCH tag is enabled the search engine will be
# implemented using a web server instead of a web client using Javascript. There
diff --git a/navit/android/src/org/navitproject/navit/FileBrowserActivity.java b/navit/android/src/org/navitproject/navit/FileBrowserActivity.java
index ab3c47376..f3dac4894 100644
--- a/navit/android/src/org/navitproject/navit/FileBrowserActivity.java
+++ b/navit/android/src/org/navitproject/navit/FileBrowserActivity.java
@@ -213,7 +213,6 @@ public class FileBrowserActivity extends Activity {
private void initializeFileListView() {
ListView lView = (ListView) this.findViewById(R.id.fileListView);
- lView.setBackgroundColor(Color.LTGRAY);
LinearLayout.LayoutParams lParam = new LinearLayout.LayoutParams(
LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT);
lParam.setMargins(15, 5, 15, 5);
@@ -357,7 +356,6 @@ public class FileBrowserActivity extends Activity {
// TODO: change next line for empty directory, so text will be
// centered
textView.setCompoundDrawablePadding(dp3);
- textView.setBackgroundColor(Color.LTGRAY);
return view;
}// public View getView(int position, View convertView, ViewGroup
};// adapter = new ArrayAdapter<Item>(this,
diff --git a/navit/android/src/org/navitproject/navit/Navit.java b/navit/android/src/org/navitproject/navit/Navit.java
index 77a54bc30..7505e7ff7 100644
--- a/navit/android/src/org/navitproject/navit/Navit.java
+++ b/navit/android/src/org/navitproject/navit/Navit.java
@@ -80,6 +80,7 @@ import android.view.inputmethod.InputMethodManager;
import android.widget.RelativeLayout;
import android.widget.TextView;
import android.widget.Toast;
+import android.support.v4.app.NotificationCompat;
public class Navit extends Activity
@@ -119,6 +120,7 @@ public class Navit extends Activity
public static final String NAVIT_PREFS = "NavitPrefs";
Boolean isFullscreen = false;
private static final int MY_PERMISSIONS_REQUEST_ALL = 101;
+ public static NotificationManager nm;
/**
@@ -174,7 +176,7 @@ public class Navit extends Activity
}
- public static String _(String in)
+ public static String T(String in)
{
return NavitTextTranslations.get_text(in);
}
@@ -238,18 +240,8 @@ public class Navit extends Activity
AlertDialog.Builder infobox = new AlertDialog.Builder(this);
infobox.setTitle(getString(R.string.initial_info_box_title)); // TRANS
infobox.setCancelable(false);
- final TextView message = new TextView(this);
- message.setFadingEdgeLength(20);
- message.setVerticalFadingEdgeEnabled(true);
- // message.setVerticalScrollBarEnabled(true);
- RelativeLayout.LayoutParams rlp = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.FILL_PARENT, RelativeLayout.LayoutParams.FILL_PARENT);
-
- message.setLayoutParams(rlp);
- final SpannableString s = new SpannableString(getString(R.string.initial_info_box_message)); // TRANS
- Linkify.addLinks(s, Linkify.WEB_URLS);
- message.setText(s);
- message.setMovementMethod(LinkMovementMethod.getInstance());
- infobox.setView(message);
+
+ infobox.setMessage(R.string.initial_info_box_message);
// TRANS
infobox.setPositiveButton(getString(R.string.initial_info_box_OK), new DialogInterface.OnClickListener() {
@@ -302,13 +294,17 @@ public class Navit extends Activity
// NOTIFICATION
// Setup the status bar notification
// This notification is removed in the exit() function
- NotificationManager nm = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); // Grab a handle to the NotificationManager
- Notification NavitNotification = new Notification(R.drawable.ic_notify, getString(R.string.notification_ticker), System.currentTimeMillis()); // Create a new notification, with the text string to show when the notification first appears
+ nm = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); // Grab a handle to the NotificationManager
PendingIntent appIntent = PendingIntent.getActivity(getApplicationContext(), 0, getIntent(), 0);
-// FIXME : needs a fix for sdk 23
-// NavitNotification.setLatestEventInfo(getApplicationContext(), "Navit", getString(R.string.notification_event_default), appIntent); // Set the text in the notification
-// NavitNotification.flags|=Notification.FLAG_ONGOING_EVENT; // Ensure that the notification appears in Ongoing
-// nm.notify(R.string.app_name, NavitNotification); // Set the notification
+
+ NotificationCompat.Builder builder = new NotificationCompat.Builder(this);
+ builder.setContentIntent(appIntent);
+ builder.setAutoCancel(false).setOngoing(true);
+ builder.setContentTitle(getString(R.string.app_name));
+ builder.setContentText(getString(R.string.notification_event_default));
+ builder.setSmallIcon(R.drawable.ic_notify);
+ Notification NavitNotification = builder.build();
+ nm.notify(R.string.app_name, NavitNotification);// Show the notification
// Status and navigation bar sizes
// These are platform defaults and do not change with rotation, but we have to figure out which ones apply
@@ -583,6 +579,10 @@ public class Navit extends Activity
ActivityResults[requestCode] = ActivityResult;
}
+ /*
+ * This is unused since we dont have the dropdown
+ * TODO: recheck if this is right and remove this!
+ */
@Override
public boolean onPrepareOptionsMenu(Menu menu)
{
@@ -824,7 +824,7 @@ public class Navit extends Activity
SharedPreferences.Editor prefs_editor = prefs.edit();
prefs_editor.putString("filenamePath", newDir);
prefs_editor.commit();
- Toast.makeText(this, String.format(Navit._("New location set to %s\nRestart Navit to apply the changes."),newDir),Toast.LENGTH_LONG).show();
+ Toast.makeText(this, String.format(Navit.T("New location set to %s\nRestart Navit to apply the changes."),newDir),Toast.LENGTH_LONG).show();
}
else Log.w(TAG, "select path failed");
break;
@@ -912,8 +912,7 @@ public class Navit extends Activity
public void exit()
{
-// NotificationManager nm = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
-// nm.cancel(R.string.app_name);
+ nm.cancelAll();
NavitVehicle.removeListener();
NavitDestroy();
}
diff --git a/navit/android/src/org/navitproject/navit/NavitAddressSearchActivity.java b/navit/android/src/org/navitproject/navit/NavitAddressSearchActivity.java
index d3989cf48..80d285fa5 100644
--- a/navit/android/src/org/navitproject/navit/NavitAddressSearchActivity.java
+++ b/navit/android/src/org/navitproject/navit/NavitAddressSearchActivity.java
@@ -167,14 +167,14 @@ public class NavitAddressSearchActivity extends Activity {
// address: label and text field
TextView addr_view = new TextView(this);
- addr_view.setText(Navit._("Enter Destination")); // TRANS
+ addr_view.setText(Navit.T("Enter Destination")); // TRANS
addr_view.setTextSize(TypedValue.COMPLEX_UNIT_SP, 20f);
addr_view.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
addr_view.setPadding(4, 4, 4, 4);
// partial match checkbox
final CheckBox checkboxPartialMatch = new CheckBox(this);
- checkboxPartialMatch.setText(Navit._("partial match")); // TRANS
+ checkboxPartialMatch.setText(Navit.T("partial match")); // TRANS
checkboxPartialMatch.setChecked(last_address_partial_match);
checkboxPartialMatch.setGravity(Gravity.CENTER);
@@ -184,7 +184,7 @@ public class NavitAddressSearchActivity extends Activity {
// search button
final Button btnSearch = new Button(this);
- btnSearch.setText(Navit._("Search")); // TRANS
+ btnSearch.setText(Navit.T("Search")); // TRANS
btnSearch.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT));
btnSearch.setGravity(Gravity.CENTER);
btnSearch.setOnClickListener(new OnClickListener() {
@@ -298,8 +298,8 @@ public class NavitAddressSearchActivity extends Activity {
break;
}
- search_results_wait.setMessage(Navit._("Towns") + ":" + search_results_towns + " "
- + Navit._("Streets") + ":" + search_results_streets + "/"
+ search_results_wait.setMessage(Navit.T("Towns") + ":" + search_results_towns + " "
+ + Navit.T("Streets") + ":" + search_results_streets + "/"
+ search_results_streets_hn);
search_results_wait.setProgress(Addresses_found.size() % (ADDRESS_RESULT_PROGRESS_MAX + 1));
diff --git a/navit/android/src/org/navitproject/navit/NavitDialogs.java b/navit/android/src/org/navitproject/navit/NavitDialogs.java
index f50672ebd..10f30d5b3 100644
--- a/navit/android/src/org/navitproject/navit/NavitDialogs.java
+++ b/navit/android/src/org/navitproject/navit/NavitDialogs.java
@@ -148,7 +148,7 @@ public class NavitDialogs extends Handler{
mapdownloader_dialog.setOnDismissListener(onDismissListener);
// show license for OSM maps
Toast.makeText(mActivity.getApplicationContext(),
- Navit._("Map data (c) OpenStreetMap contributors, ODBL"),
+ Navit.T("Map data (c) OpenStreetMap contributors, ODBL"),
Toast.LENGTH_LONG).show(); //TRANS
return mapdownloader_dialog;
diff --git a/navit/android/src/org/navitproject/navit/NavitDownloadSelectMapActivity.java b/navit/android/src/org/navitproject/navit/NavitDownloadSelectMapActivity.java
index fd117a376..9cc056e31 100644
--- a/navit/android/src/org/navitproject/navit/NavitDownloadSelectMapActivity.java
+++ b/navit/android/src/org/navitproject/navit/NavitDownloadSelectMapActivity.java
@@ -64,7 +64,7 @@ public class NavitDownloadSelectMapActivity extends ExpandableListActivity {
} catch (Exception e) {
Log.e("Navit","Exception "+e.getClass().getName()+" during getFreeSpace, reporting 'no sdcard present'");
NavitDialogs.sendDialogMessage(NavitDialogs.MSG_TOAST_LONG, null,
- String.format(Navit._("Current map location %s is not available\nPlease restart Navit after you attach an SD card or select a different map location."),Navit.map_filename_path),
+ String.format(Navit.T("Current map location %s is not available\nPlease restart Navit after you attach an SD card or select a different map location."),Navit.map_filename_path),
-1, 0, 0);
finish();
}
@@ -134,7 +134,7 @@ public class NavitDownloadSelectMapActivity extends ExpandableListActivity {
// add already downloaded maps (group and empty child list
HashMap<String, String> downloaded_maps_hash = new HashMap<String, String>();
- downloaded_maps_hash.put("category_name", Navit._("Downloaded maps"));
+ downloaded_maps_hash.put("category_name", Navit.T("Downloaded maps"));
resultGroups.add(downloaded_maps_hash);
downloaded_maps_childs = new ArrayList<HashMap<String, String>>();
resultChilds.add(downloaded_maps_childs);
@@ -188,7 +188,7 @@ public class NavitDownloadSelectMapActivity extends ExpandableListActivity {
int mi=Integer.parseInt(map_index);
if(NavitMapDownloader.osm_maps[mi].est_size_bytes/1024/1024/950>=4) {
NavitDialogs.sendDialogMessage(NavitDialogs.MSG_TOAST_LONG, null,
- Navit._("Sorry, we currently do not support maps above 3.8G on Android, please select a smaller one."),
+ Navit.T("Sorry, we currently do not support maps above 3.8G on Android, please select a smaller one."),
-1, 0, 0);
return true;
}
@@ -205,19 +205,12 @@ public class NavitDownloadSelectMapActivity extends ExpandableListActivity {
private void askForMapDeletion(final String map_location) {
AlertDialog.Builder deleteMapBox = new AlertDialog.Builder(this);
- deleteMapBox.setTitle(getString(R.string.map_delete)); // TRANS
+ deleteMapBox.setTitle(R.string.map_delete); // Android also takes recource id
deleteMapBox.setCancelable(true);
- final TextView message = new TextView(this);
- message.setFadingEdgeLength(20);
- message.setVerticalFadingEdgeEnabled(true);
- RelativeLayout.LayoutParams layoutParams =
- new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.FILL_PARENT,
- RelativeLayout.LayoutParams.FILL_PARENT);
-
- message.setLayoutParams(layoutParams);
+
NavitMap maptoDelete = new NavitMap(map_location);
- message.setText(maptoDelete.mapName + " " + String.valueOf(maptoDelete.size() / 1024 / 1024) + "MB");
- deleteMapBox.setView(message);
+ deleteMapBox.setMessage(maptoDelete.mapName + " " + String.valueOf(maptoDelete.size() / 1024 / 1024) + "MB");
+
// TRANS
deleteMapBox.setPositiveButton(getString(R.string.yes), new DialogInterface.OnClickListener() {
diff --git a/navit/android/src/org/navitproject/navit/NavitGraphics.java b/navit/android/src/org/navitproject/navit/NavitGraphics.java
index a41ab52be..a2d8e405f 100644
--- a/navit/android/src/org/navitproject/navit/NavitGraphics.java
+++ b/navit/android/src/org/navitproject/navit/NavitGraphics.java
@@ -156,9 +156,9 @@ public class NavitGraphics
protected void onCreateContextMenu(ContextMenu menu) {
super.onCreateContextMenu(menu);
- menu.setHeaderTitle(Navit._("Position")+"..");
- menu.add(1, 1, NONE, Navit._("Route to here")).setOnMenuItemClickListener(this);
- menu.add(1, 2, NONE, Navit._("Cancel")).setOnMenuItemClickListener(this);
+ menu.setHeaderTitle(Navit.T("Position")+"..");
+ menu.add(1, 1, NONE, Navit.T("Route to here")).setOnMenuItemClickListener(this);
+ menu.add(1, 2, NONE, Navit.T("Cancel")).setOnMenuItemClickListener(this);
}
@Override
diff --git a/navit/android/src/org/navitproject/navit/NavitMapDownloader.java b/navit/android/src/org/navitproject/navit/NavitMapDownloader.java
index eb9cd6a4e..feda451b8 100644
--- a/navit/android/src/org/navitproject/navit/NavitMapDownloader.java
+++ b/navit/android/src/org/navitproject/navit/NavitMapDownloader.java
@@ -95,208 +95,209 @@ public class NavitMapDownloader extends Thread
// size estimations updated 2017-06-22
//
public static final osm_map_values[] osm_maps = {
- new osm_map_values(Navit._("Whole Planet"), "-180", "-90", "180", "90", 23992258630L, 0),
- new osm_map_values(Navit._("Africa"), "-30.89", "-36.17", "61.68", "38.40", 2070076339L, 0),
- new osm_map_values(Navit._("Angola"), "11.4", "-18.1", "24.2", "-5.3", 127557789L, 1),
- new osm_map_values(Navit._("Burundi"), "28.9", "-4.5", "30.9", "-2.2", 124049667L, 1),
- new osm_map_values(Navit._("Canary Islands"), "-18.69", "26.52", "-12.79", "29.99", 133565815L, 1),
- new osm_map_values(Navit._("Congo, Democratic Republic of the"), "11.7", "-13.6", "31.5", "5.7", 244228485L, 1),
- new osm_map_values(Navit._("Ethiopia"), "32.89", "3.33", "48.07", "14.97", 153067406L, 1),
- new osm_map_values(Navit._("Guinea"), "-15.47", "7.12", "-7.58", "12.74", 188047126L, 1),
- new osm_map_values(Navit._("Cote d'Ivoire"), "-8.72", "4.09", "-2.43", "10.80", 132187496L, 1),
- new osm_map_values(Navit._("Kenya"), "33.8", "-5.2", "42.4", "4.9", 190073089L, 1),
- new osm_map_values(Navit._("Lesotho"), "26.9", "-30.7", "29.6", "-28.4", 196189429L, 1),
- new osm_map_values(Navit._("Liberia"), "-15.00", "-0.73", "-7.20", "8.65", 156257253L, 1),
- new osm_map_values(Navit._("Libya"), "9.32", "19.40", "25.54", "33.63", 126046917L, 1),
- new osm_map_values(Navit._("Madagascar"), "42.25", "-26.63", "51.20", "-11.31", 145210721L, 1),
- new osm_map_values(Navit._("Namibia")+"+"+Navit._("Botswana"), "11.4", "-29.1", "29.5", "-16.9", 248970987L, 1),
- new osm_map_values(Navit._("Reunion"), "55.2", "-21.4", "55.9", "-20.9", 126008774L, 1),
- new osm_map_values(Navit._("Rwanda"), "28.8", "-2.9", "30.9", "-1.0", 128267595L, 1),
- new osm_map_values(Navit._("South Africa")+"+"+Navit._("Lesotho"), "15.93", "-36.36", "33.65", "-22.08", 307280006L, 1),
- new osm_map_values(Navit._("Tanzania, United Republic of"), "29.19", "-11.87", "40.74", "-0.88", 253621029L, 1),
- new osm_map_values(Navit._("Uganda"), "29.3", "-1.6", "35.1", "4.3", 179134521L, 1),
- new osm_map_values(Navit._("Asia"), "23.8", "0.1", "195.0", "82.4", 5113673780L, 0),
- new osm_map_values(Navit._("Azerbaijan"), "44.74", "38.34", "51.69", "42.37", 138346406L, 1),
- new osm_map_values(Navit._("China"), "67.3", "5.3", "135.0", "54.5", 1718108758L, 1),
- new osm_map_values(Navit._("Cyprus"), "32.0", "34.5", "34.9", "35.8", 118472448L, 1),
- new osm_map_values(Navit._("India")+"+"+Navit._("Nepal"), "67.9", "5.5", "89.6", "36.0", 601877877L, 1),
- new osm_map_values(Navit._("Indonesia"), "93.7", "-17.3", "155.5", "7.6", 420741405L, 1),
- new osm_map_values(Navit._("Iran, Islamic Republic of"), "43.5", "24.4", "63.6", "40.4", 242016066L, 1),
- new osm_map_values(Navit._("Iraq"), "38.7", "28.5", "49.2", "37.4", 160751805L, 1),
- new osm_map_values(Navit._("Israel"), "33.99", "29.8", "35.95", "33.4", 155685778L, 1),
- new osm_map_values(Navit._("Japan")+"+"+Navit._("Korea")+"+"+Navit._("Taiwan"), "117.6", "20.5", "151.3", "47.1", 1029080156L, 1),
- new osm_map_values(Navit._("Kazakhstan"), "46.44", "40.89", "87.36", "55.45", 407633007L, 1),
- new osm_map_values(Navit._("Kyrgyzstan"), "69.23", "39.13", "80.33", "43.29", 147997835L, 1),
- new osm_map_values(Navit._("Malaysia")+"+"+Navit._("Singapore"), "94.3", "-5.9", "108.6", "6.8", 168816435L, 1),
- new osm_map_values(Navit._("Mongolia"), "87.5", "41.4", "120.3", "52.7", 153534851L, 1),
- new osm_map_values(Navit._("Pakistan"), "60.83", "23.28", "77.89", "37.15", 217644321L, 1),
- new osm_map_values(Navit._("Philippines"), "115.58", "4.47", "127.85", "21.60", 281428307L, 1),
- new osm_map_values(Navit._("Saudi Arabia"), "33.2", "16.1", "55.9", "33.5", 242648303L, 1),
- new osm_map_values(Navit._("Thailand"), "97.5", "5.7", "105.2", "19.7", 185135492L, 1),
- new osm_map_values(Navit._("Turkey"), "25.1", "35.8", "46.4", "42.8", 331087441L, 1),
- new osm_map_values(Navit._("Turkmenistan"), "51.78", "35.07", "66.76", "42.91", 131045087L, 1),
- new osm_map_values(Navit._("UAE+Other"), "51.5", "22.6", "56.7", "26.5", 128934674L, 1),
- new osm_map_values(Navit._("Australia")+"+"+Navit._("Oceania"), "89.84", "-57.39", "179.79", "7.26", 782722650L, 0),
- new osm_map_values(Navit._("Australia"), "110.5", "-44.2", "154.9", "-9.2", 348652900L, 0),
- new osm_map_values(Navit._("Tasmania"), "144.0", "-45.1", "155.3", "-24.8", 253231890L, 1),
- new osm_map_values(Navit._("Victoria")+"+"+Navit._("New South Wales"), "140.7", "-39.4", "153.7", "-26.9", 241500829L, 1),
- new osm_map_values(Navit._("New Caledonia"), "157.85", "-25.05", "174.15", "-16.85", 115512336L, 1),
- new osm_map_values(Navit._("New Zealand"), "165.2", "-47.6", "179.1", "-33.7", 239264192L, 1),
- new osm_map_values(Navit._("Europe"), "-12.97", "33.59", "34.15", "72.10", 11984126789L, 0),
- new osm_map_values(Navit._("Western Europe"), "-17.6", "34.5", "42.9", "70.9", 12648810717L, 1),
- new osm_map_values(Navit._("Austria"), "9.4", "46.32", "17.21", "49.1", 898273634L, 1),
- new osm_map_values(Navit._("Azores"), "-31.62", "36.63", "-24.67", "40.13", 112687225L, 1),
- new osm_map_values(Navit._("BeNeLux"), "2.08", "48.87", "7.78", "54.52", 1771971595L, 1),
- new osm_map_values(Navit._("Netherlands"), "3.07", "50.75", "7.23", "53.73", 1191828033L, 1),
- new osm_map_values(Navit._("Denmark"), "7.65", "54.32", "15.58", "58.07", 365606979L, 1),
- new osm_map_values(Navit._("Faroe Islands"), "-7.8", "61.3", "-6.1", "62.5", 109377568L, 1),
- new osm_map_values(Navit._("France"), "-5.45", "42.00", "8.44", "51.68", 3907969744L, 1),
- new osm_map_values(Navit._("Alsace"), "6.79", "47.27", "8.48", "49.17", 354249349L, 2),
- new osm_map_values(Navit._("Aquitaine"), "-2.27", "42.44", "1.50", "45.76", 443715019L, 2),
- new osm_map_values(Navit._("Auvergne"), "2.01", "44.57", "4.54", "46.85", 287663213L, 2),
- new osm_map_values(Navit._("Basse-Normandie"), "-2.09", "48.13", "1.03", "49.98", 262352354L, 2),
- new osm_map_values(Navit._("Bourgogne"), "2.80", "46.11", "5.58", "48.45", 298868796L, 2),
- new osm_map_values(Navit._("Bretagne"), "-5.58", "46.95", "-0.96", "48.99", 382770794L, 2),
- new osm_map_values(Navit._("Centre"), "0.01", "46.29", "3.18", "48.99", 474224721L, 2),
- new osm_map_values(Navit._("Champagne-Ardenne"), "3.34", "47.53", "5.94", "50.28", 269947824L, 2),
- new osm_map_values(Navit._("Corse"), "8.12", "41.32", "9.95", "43.28", 129902146L, 2),
- new osm_map_values(Navit._("Franche-Comte"), "5.20", "46.21", "7.83", "48.07", 324476070L, 2),
- new osm_map_values(Navit._("Haute-Normandie"), "-0.15", "48.62", "1.85", "50.18", 202782876L, 2),
- new osm_map_values(Navit._("Ile-de-France"), "1.40", "48.07", "3.61", "49.29", 311052699L, 2),
- new osm_map_values(Navit._("Languedoc-Roussillon"), "1.53", "42.25", "4.89", "45.02", 380145667L, 2),
- new osm_map_values(Navit._("Limousin"), "0.58", "44.87", "2.66", "46.50", 206696539L, 2),
- new osm_map_values(Navit._("Lorraine"), "4.84", "47.77", "7.72", "49.73", 330777318L, 2),
- new osm_map_values(Navit._("Midi-Pyrenees"), "-0.37", "42.18", "3.50", "45.10", 462618363L, 2),
- new osm_map_values(Navit._("Nord-pas-de-Calais"), "1.42", "49.92", "4.49", "51.31", 368467511L, 2),
- new osm_map_values(Navit._("Pays-de-la-Loire"), "-2.88", "46.20", "0.97", "48.62", 499471143L, 2),
- new osm_map_values(Navit._("Picardie"), "1.25", "48.79", "4.31", "50.43", 374308041L, 2),
- new osm_map_values(Navit._("Poitou-Charentes"), "-1.69", "45.04", "1.26", "47.23", 342125526L, 2),
- new osm_map_values(Navit._("Provence-Alpes-Cote-d-Azur"), "4.21", "42.91", "7.99", "45.18", 390306134L, 2),
- new osm_map_values(Navit._("Rhone-Alpes"), "3.65", "44.07", "7.88", "46.64", 510797942L, 2),
- new osm_map_values(Navit._("Germany"), "5.18", "46.84", "15.47", "55.64", 3521359466L, 1),
- new osm_map_values(Navit._("Baden-Wuerttemberg"), "7.32", "47.14", "10.57", "49.85", 674361124L, 2),
- new osm_map_values(Navit._("Bayern"), "8.92", "47.22", "13.90", "50.62", 860161150L, 2),
- new osm_map_values(Navit._("Mittelfranken"), "9.86", "48.78", "11.65", "49.84", 203055195L, 2),
- new osm_map_values(Navit._("Niederbayern"), "11.55", "47.75", "14.12", "49.42", 312924770L, 2),
- new osm_map_values(Navit._("Oberbayern"), "10.67", "47.05", "13.57", "49.14", 382734883L, 2),
- new osm_map_values(Navit._("Oberfranken"), "10.31", "49.54", "12.49", "50.95", 235258691L, 2),
- new osm_map_values(Navit._("Oberpfalz"), "11.14", "48.71", "13.47", "50.43", 264536012L, 2),
- new osm_map_values(Navit._("Schwaben"), "9.27", "47.10", "11.36", "49.09", 321141607L, 2),
- new osm_map_values(Navit._("Unterfranken"), "8.59", "49.16", "10.93", "50.67", 303720890L, 2),
- new osm_map_values(Navit._("Berlin"), "13.03", "52.28", "13.81", "52.73", 169019946L, 2),
- new osm_map_values(Navit._("Brandenburg"), "11.17", "51.30", "14.83", "53.63", 323497599L, 2),
- new osm_map_values(Navit._("Bremen"), "8.43", "52.96", "9.04", "53.66", 150963608L, 2),
- new osm_map_values(Navit._("Hamburg"), "9.56", "53.34", "10.39", "53.80", 156284421L, 2),
- new osm_map_values(Navit._("Hessen"), "7.72", "49.34", "10.29", "51.71", 432279328L, 2),
- new osm_map_values(Navit._("Mecklenburg-Vorpommern"), "10.54", "53.05", "14.48", "55.05", 213183908L, 2),
- new osm_map_values(Navit._("Niedersachsen"), "6.40", "51.24", "11.69", "54.22", 819766939L, 2),
- new osm_map_values(Navit._("Nordrhein-westfalen"), "5.46", "50.26", "9.52", "52.59", 967053517L, 2),
- new osm_map_values(Navit._("Rheinland-Pfalz"), "6.06", "48.91", "8.56", "51.00", 442868899L, 2),
- new osm_map_values(Navit._("Saarland"), "6.30", "49.06", "7.46", "49.69", 157721162L, 2),
- new osm_map_values(Navit._("Sachsen-Anhalt"), "10.50", "50.88", "13.26", "53.11", 287785088L, 2),
- new osm_map_values(Navit._("Sachsen"), "11.82", "50.11", "15.10", "51.73", 342620834L, 2),
- new osm_map_values(Navit._("Schleswig-Holstein"), "7.41", "53.30", "11.98", "55.20", 280293910L, 2),
- new osm_map_values(Navit._("Thueringen"), "9.81", "50.15", "12.72", "51.70", 269428239L, 2),
- new osm_map_values(Navit._("Germany")+"+"+Navit._("Austria")+"+"+Navit._("Switzerland"), "3.4", "44.5", "18.6", "55.1", 5746126429L, 1),
- new osm_map_values(Navit._("Iceland"), "-25.3", "62.8", "-11.4", "67.5", 124837162L, 1),
- new osm_map_values(Navit._("Ireland"), "-11.17", "51.25", "-5.23", "55.9", 234750271L, 1),
- new osm_map_values(Navit._("Italy"), "6.52", "36.38", "18.96", "47.19", 1610171395L, 1),
- new osm_map_values(Navit._("Spain")+"+"+Navit._("Portugal"), "-11.04", "34.87", "4.62", "44.41", 1039624918L, 1),
- new osm_map_values(Navit._("Mallorca"), "2.2", "38.8", "4.7", "40.2", 137200636L, 2),
- new osm_map_values(Navit._("Galicia"), "-10.0", "41.7", "-6.3", "44.1", 174549553L, 2),
- new osm_map_values(Navit._("Scandinavia"), "4.0", "54.4", "32.1", "71.5", 1398661090L, 1),
- new osm_map_values(Navit._("Finland"), "18.6", "59.2", "32.3", "70.3", 460997178L, 1),
- new osm_map_values(Navit._("Denmark"), "7.49", "54.33", "13.05", "57.88", 321870414L, 1),
- new osm_map_values(Navit._("Switzerland"), "5.79", "45.74", "10.59", "47.84", 552565332L, 1),
- new osm_map_values(Navit._("United Kingdom"), "-9.7", "49.6", "2.2", "61.2", 901724648L, 1),
- new osm_map_values(Navit._("England"), "-7.80", "48.93", "2.41", "56.14", 937728414L, 1),
- new osm_map_values(Navit._("Buckinghamshire"), "-1.19", "51.44", "-0.43", "52.25", 142256978L, 2),
- new osm_map_values(Navit._("Cambridgeshire"), "-0.55", "51.96", "0.56", "52.79", 142334001L, 2),
- new osm_map_values(Navit._("Cumbria"), "-3.96", "53.85", "-2.11", "55.24", 144422460L, 2),
- new osm_map_values(Navit._("East yorkshire with hull"), "-1.16", "53.50", "0.54", "54.26", 141518744L, 2),
- new osm_map_values(Navit._("Essex"), "-0.07", "51.40", "1.36", "52.14", 162542730L, 2),
- new osm_map_values(Navit._("Herefordshire"), "-3.19", "51.78", "-2.29", "52.45", 129368660L, 2),
- new osm_map_values(Navit._("Kent"), "-0.02", "50.81", "1.65", "51.53", 145482562L, 2),
- new osm_map_values(Navit._("Lancashire"), "-3.20", "53.43", "-2.00", "54.29", 148964975L, 2),
- new osm_map_values(Navit._("Leicestershire"), "-1.65", "52.34", "-0.61", "53.03", 154199956L, 2),
- new osm_map_values(Navit._("Norfolk"), "0.10", "52.30", "2.04", "53.41", 146017009L, 2),
- new osm_map_values(Navit._("Nottinghamshire"), "-1.39", "52.73", "-0.62", "53.55", 147986548L, 2),
- new osm_map_values(Navit._("Oxfordshire"), "-1.77", "51.41", "-0.82", "52.22", 142240992L, 2),
- new osm_map_values(Navit._("Shropshire"), "-3.29", "52.26", "-2.18", "53.05", 136909363L, 2),
- new osm_map_values(Navit._("Somerset"), "-3.89", "50.77", "-2.20", "51.40", 145186096L, 2),
- new osm_map_values(Navit._("South yorkshire"), "-1.88", "53.25", "-0.80", "53.71", 145902650L, 2),
- new osm_map_values(Navit._("Suffolk"), "0.29", "51.88", "1.81", "52.60", 143799697L, 2),
- new osm_map_values(Navit._("Surrey"), "-0.90", "51.02", "0.10", "51.52", 157987139L, 2),
- new osm_map_values(Navit._("Wiltshire"), "-2.41", "50.90", "-1.44", "51.76", 138652346L, 2),
- new osm_map_values(Navit._("Scotland"), "-8.13", "54.49", "-0.15", "61.40", 258853845L, 2),
- new osm_map_values(Navit._("Wales"), "-5.56", "51.28", "-2.60", "53.60", 193593409L, 2),
- new osm_map_values(Navit._("Albania"), "19.09", "39.55", "21.12", "42.72", 146199817L, 1),
- new osm_map_values(Navit._("Belarus"), "23.12", "51.21", "32.87", "56.23", 324470696L, 1),
- new osm_map_values(Navit._("Russian Federation"), "27.9", "41.5", "190.4", "77.6", 2148314279L, 1),
- new osm_map_values(Navit._("Bulgaria"), "24.7", "42.1", "24.8", "42.1", 109869373L, 1),
- new osm_map_values(Navit._("Bosnia and Herzegovina"), "15.69", "42.52", "19.67", "45.32", 187122485L, 1),
- new osm_map_values(Navit._("Czech Republic"), "11.91", "48.48", "19.02", "51.17", 904838442L, 1),
- new osm_map_values(Navit._("Croatia"), "13.4", "42.1", "19.4", "46.9", 460854751L, 1),
- new osm_map_values(Navit._("Estonia"), "21.5", "57.5", "28.2", "59.6", 173378927L, 1),
- new osm_map_values(Navit._("Greece"), "28.9", "37.8", "29.0", "37.8", 109435051L, 1),
- new osm_map_values(Navit._("Crete"), "23.3", "34.5", "26.8", "36.0", 115985063L, 1),
- new osm_map_values(Navit._("Hungary"), "16.08", "45.57", "23.03", "48.39", 350318541L, 1),
- new osm_map_values(Navit._("Latvia"), "20.7", "55.6", "28.3", "58.1", 188188140L, 1),
- new osm_map_values(Navit._("Lithuania"), "20.9", "53.8", "26.9", "56.5", 217852597L, 1),
- new osm_map_values(Navit._("Poland"), "13.6", "48.8", "24.5", "55.0", 1464968657L, 1),
- new osm_map_values(Navit._("Romania"), "20.3", "43.5", "29.9", "48.4", 347931565L, 1),
- new osm_map_values(Navit._("Ukraine"), "22.0", "44.3", "40.4", "52.4", 793611912L, 1),
- new osm_map_values(Navit._("North America"), "-178.1", "6.5", "-10.4", "84.0", 5601866516L, 0),
- new osm_map_values(Navit._("Alaska"), "-179.5", "49.5", "-129", "71.6", 207746039L, 1),
- new osm_map_values(Navit._("Canada"), "-141.3", "41.5", "-52.2", "70.2", 2635719651L, 1),
- new osm_map_values(Navit._("Hawaii"), "-161.07", "18.49", "-154.45", "22.85", 115016656L, 1),
- new osm_map_values(Navit._("USA")+Navit._(" (except Alaska and Hawaii)"), "-125.4", "24.3", "-66.5", "49.3", 4060487198L, 1),
- new osm_map_values(Navit._("Midwest"), "-104.11", "35.92", "-80.46", "49.46", 1145596450L, 2),
- new osm_map_values(Navit._("Michigan"), "-90.47", "41.64", "-79.00", "49.37", 538247019L, 2),
- new osm_map_values(Navit._("Ohio"), "-84.87", "38.05", "-79.85", "43.53", 277022336L, 2),
- new osm_map_values(Navit._("Northeast"), "-80.58", "38.72", "-66.83", "47.53", 1017160709L, 2),
- new osm_map_values(Navit._("Massachusetts"), "-73.56", "40.78", "-68.67", "42.94", 340055487L, 2),
- new osm_map_values(Navit._("Vermont"), "-73.49", "42.68", "-71.41", "45.07", 139626067L, 2),
- new osm_map_values(Navit._("Pacific"), "-180.05", "15.87", "-129.75", "73.04", 207090640L, 2),
- new osm_map_values(Navit._("South"), "-106.70", "23.98", "-71.46", "40.70", 1747935356L, 2),
- new osm_map_values(Navit._("Arkansas"), "-94.67", "32.95", "-89.59", "36.60", 155658661L, 2),
- new osm_map_values(Navit._("District of Columbia"), "-77.17", "38.74", "-76.86", "39.05", 129235755L, 2),
- new osm_map_values(Navit._("Florida"), "-88.75", "23.63", "-77.67", "31.05", 224022108L, 2),
- new osm_map_values(Navit._("Louisiana"), "-94.09", "28.09", "-88.62", "33.07", 210120605L, 2),
- new osm_map_values(Navit._("Maryland"), "-79.54", "37.83", "-74.99", "40.22", 276462622L, 2),
- new osm_map_values(Navit._("Mississippi"), "-91.71", "29.99", "-88.04", "35.05", 177858031L, 2),
- new osm_map_values(Navit._("Oklahoma"), "-103.41", "33.56", "-94.38", "37.38", 200061473L, 2),
- new osm_map_values(Navit._("Texas"), "-106.96", "25.62", "-92.97", "36.58", 430089141L, 2),
- new osm_map_values(Navit._("Virginia"), "-83.73", "36.49", "-74.25", "39.52", 384187569L, 2),
- new osm_map_values(Navit._("West Virginia"), "-82.70", "37.15", "-77.66", "40.97", 220552071L, 2),
- new osm_map_values(Navit._("West"), "-133.11", "31.28", "-101.99", "49.51", 1152909162L, 2),
- new osm_map_values(Navit._("Arizona"), "-114.88", "30.01", "-108.99", "37.06", 182826833L, 2),
- new osm_map_values(Navit._("California"), "-125.94", "32.43", "-114.08", "42.07", 586923326L, 2),
- new osm_map_values(Navit._("Colorado"), "-109.11", "36.52", "-100.41", "41.05", 228623724L, 2),
- new osm_map_values(Navit._("Idaho"), "-117.30", "41.93", "-110.99", "49.18", 170684507L, 2),
- new osm_map_values(Navit._("Montana"), "-116.10", "44.31", "-102.64", "49.74", 176229800L, 2),
- new osm_map_values(Navit._("New Mexico"), "-109.10", "26.98", "-96.07", "37.05", 361793070L, 2),
- new osm_map_values(Navit._("Nevada"), "-120.2", "35.0", "-113.8", "42.1", 200614482L, 2),
- new osm_map_values(Navit._("Oregon"), "-124.8", "41.8", "-116.3", "46.3", 211462685L, 2),
- new osm_map_values(Navit._("Utah"), "-114.11", "36.95", "-108.99", "42.05", 151590197L, 2),
- new osm_map_values(Navit._("Washington State"), "-125.0", "45.5", "-116.9", "49.0", 222553768L, 2),
- new osm_map_values(Navit._("South+Middle America"), "-83.5", "-56.3", "-30.8", "13.7", 958895383L, 0),
- new osm_map_values(Navit._("Argentina"), "-73.9", "-57.3", "-51.6", "-21.0", 376857648L, 1),
- new osm_map_values(Navit._("Argentina")+"+"+Navit._("Chile"), "-77.2", "-56.3", "-52.7", "-16.1", 420275812L, 1),
- new osm_map_values(Navit._("Bolivia"), "-70.5", "-23.1", "-57.3", "-9.3", 175937824L, 1),
- new osm_map_values(Navit._("Brazil"), "-71.4", "-34.7", "-32.8", "5.4", 664872975L, 1),
- new osm_map_values(Navit._("Chile"), "-81.77", "-58.50", "-65.46", "-17.41", 241657330L, 1),
- new osm_map_values(Navit._("Cuba"), "-85.3", "19.6", "-74.0", "23.6", 129043575L, 1),
- new osm_map_values(Navit._("Colombia"), "-79.1", "-4.0", "-66.7", "12.6", 212016580L, 1),
- new osm_map_values(Navit._("Ecuador"), "-82.6", "-5.4", "-74.4", "2.3", 158857591L, 1),
- new osm_map_values(Navit._("Guyana")+"+"+Navit._("Suriname")+"+"+Navit._("Guyane Francaise"), "-62.0", "1.0", "-51.2", "8.9", 123000072L, 1),
- new osm_map_values(Navit._("Haiti")+"+"+Navit._("Dominican Republic"), "-74.8", "17.3", "-68.2", "20.1", 149925689L, 1),
- new osm_map_values(Navit._("Jamaica"), "-78.6", "17.4", "-75.9", "18.9", 113961998L, 1),
- new osm_map_values(Navit._("Mexico"), "-117.6", "14.1", "-86.4", "32.8", 551307973L, 1),
- new osm_map_values(Navit._("Paraguay"), "-63.8", "-28.1", "-53.6", "-18.8", 159498397L, 1),
- new osm_map_values(Navit._("Peru"), "-82.4", "-18.1", "-67.5", "0.4", 212490557L, 1),
- new osm_map_values(Navit._("Uruguay"), "-59.2", "-36.5", "-51.7", "-29.7", 157482719L, 1),
- new osm_map_values(Navit._("Venezuela"), "-73.6", "0.4", "-59.7", "12.8", 167295729L, 1)
+ new osm_map_values(Navit.T("Whole Planet"), "-180", "-90", "180", "90", 23992258630L, 0),
+ new osm_map_values(Navit.T("Africa"), "-30.89", "-36.17", "61.68", "38.40", 2070076339L, 0),
+ new osm_map_values(Navit.T("Angola"), "11.4", "-18.1", "24.2", "-5.3", 127557789L, 1),
+ new osm_map_values(Navit.T("Burundi"), "28.9", "-4.5", "30.9", "-2.2", 124049667L, 1),
+ new osm_map_values(Navit.T("Canary Islands"), "-18.69", "26.52", "-12.79", "29.99", 133565815L, 1),
+ new osm_map_values(Navit.T("Congo, Democratic Republic of the"), "11.7", "-13.6", "31.5", "5.7", 244228485L, 1),
+ new osm_map_values(Navit.T("Ethiopia"), "32.89", "3.33", "48.07", "14.97", 153067406L, 1),
+ new osm_map_values(Navit.T("Guinea"), "-15.47", "7.12", "-7.58", "12.74", 188047126L, 1),
+ new osm_map_values(Navit.T("Cote d'Ivoire"), "-8.72", "4.09", "-2.43", "10.80", 132187496L, 1),
+ new osm_map_values(Navit.T("Kenya"), "33.8", "-5.2", "42.4", "4.9", 190073089L, 1),
+ new osm_map_values(Navit.T("Lesotho"), "26.9", "-30.7", "29.6", "-28.4", 196189429L, 1),
+ new osm_map_values(Navit.T("Liberia"), "-15.00", "-0.73", "-7.20", "8.65", 156257253L, 1),
+ new osm_map_values(Navit.T("Libya"), "9.32", "19.40", "25.54", "33.63", 126046917L, 1),
+ new osm_map_values(Navit.T("Madagascar"), "42.25", "-26.63", "51.20", "-11.31", 145210721L, 1),
+ new osm_map_values(Navit.T("Namibia")+"+"+Navit.T("Botswana"), "11.4", "-29.1", "29.5", "-16.9", 248970987L, 1),
+ new osm_map_values(Navit.T("Reunion"), "55.2", "-21.4", "55.9", "-20.9", 126008774L, 1),
+ new osm_map_values(Navit.T("Rwanda"), "28.8", "-2.9", "30.9", "-1.0", 128267595L, 1),
+ new osm_map_values(Navit.T("South Africa")+"+"+Navit.T("Lesotho"), "15.93", "-36.36", "33.65", "-22.08", 307280006L, 1),
+ new osm_map_values(Navit.T("Tanzania, United Republic of"), "29.19", "-11.87", "40.74", "-0.88", 253621029L, 1),
+ new osm_map_values(Navit.T("Uganda"), "29.3", "-1.6", "35.1", "4.3", 179134521L, 1),
+ new osm_map_values(Navit.T("Asia"), "23.8", "0.1", "195.0", "82.4", 5113673780L, 0),
+ new osm_map_values(Navit.T("Azerbaijan"), "44.74", "38.34", "51.69", "42.37", 138346406L, 1),
+ new osm_map_values(Navit.T("China"), "67.3", "5.3", "135.0", "54.5", 1718108758L, 1),
+ new osm_map_values(Navit.T("Cyprus"), "32.0", "34.5", "34.9", "35.8", 118472448L, 1),
+ new osm_map_values(Navit.T("India")+"+"+Navit.T("Nepal"), "67.9", "5.5", "89.6", "36.0", 601877877L, 1),
+ new osm_map_values(Navit.T("Indonesia"), "93.7", "-17.3", "155.5", "7.6", 420741405L, 1),
+ new osm_map_values(Navit.T("Iran, Islamic Republic of"), "43.5", "24.4", "63.6", "40.4", 242016066L, 1),
+ new osm_map_values(Navit.T("Iraq"), "38.7", "28.5", "49.2", "37.4", 160751805L, 1),
+ new osm_map_values(Navit.T("Israel"), "33.99", "29.8", "35.95", "33.4", 155685778L, 1),
+ new osm_map_values(Navit.T("Japan")+"+"+Navit.T("Korea"), "123.6", "25.2", "151.3", "47.1", 1029080156L, 1),
+ new osm_map_values(Navit.T("Kazakhstan"), "46.44", "40.89", "87.36", "55.45", 407633007L, 1),
+ new osm_map_values(Navit.T("Kyrgyzstan"), "69.23", "39.13", "80.33", "43.29", 147997835L, 1),
+ new osm_map_values(Navit.T("Malaysia")+"+"+Navit.T("Singapore"), "94.3", "-5.9", "108.6", "6.8", 168816435L, 1),
+ new osm_map_values(Navit.T("Mongolia"), "87.5", "41.4", "120.3", "52.7", 153534851L, 1),
+ new osm_map_values(Navit.T("Pakistan"), "60.83", "23.28", "77.89", "37.15", 217644321L, 1),
+ new osm_map_values(Navit.T("Philippines"), "115.58", "4.47", "127.85", "21.60", 281428307L, 1),
+ new osm_map_values(Navit.T("Saudi Arabia"), "33.2", "16.1", "55.9", "33.5", 242648303L, 1),
+ new osm_map_values(Navit.T("Taiwan"), "119.1", "21.5", "122.5", "25.2", 1029080156L, 1),
+ new osm_map_values(Navit.T("Thailand"), "97.5", "5.7", "105.2", "19.7", 185135492L, 1),
+ new osm_map_values(Navit.T("Turkey"), "25.1", "35.8", "46.4", "42.8", 331087441L, 1),
+ new osm_map_values(Navit.T("Turkmenistan"), "51.78", "35.07", "66.76", "42.91", 131045087L, 1),
+ new osm_map_values(Navit.T("UAE+Other"), "51.5", "22.6", "56.7", "26.5", 128934674L, 1),
+ new osm_map_values(Navit.T("Australia")+"+"+Navit.T("Oceania"), "89.84", "-57.39", "179.79", "7.26", 782722650L, 0),
+ new osm_map_values(Navit.T("Australia"), "110.5", "-44.2", "154.9", "-9.2", 348652900L, 0),
+ new osm_map_values(Navit.T("Tasmania"), "144.0", "-45.1", "155.3", "-24.8", 253231890L, 1),
+ new osm_map_values(Navit.T("Victoria")+"+"+Navit.T("New South Wales"), "140.7", "-39.4", "153.7", "-26.9", 241500829L, 1),
+ new osm_map_values(Navit.T("New Caledonia"), "157.85", "-25.05", "174.15", "-16.85", 115512336L, 1),
+ new osm_map_values(Navit.T("New Zealand"), "165.2", "-47.6", "179.1", "-33.7", 239264192L, 1),
+ new osm_map_values(Navit.T("Europe"), "-12.97", "33.59", "34.15", "72.10", 11984126789L, 0),
+ new osm_map_values(Navit.T("Western Europe"), "-17.6", "34.5", "42.9", "70.9", 12648810717L, 1),
+ new osm_map_values(Navit.T("Austria"), "9.4", "46.32", "17.21", "49.1", 898273634L, 1),
+ new osm_map_values(Navit.T("Azores"), "-31.62", "36.63", "-24.67", "40.13", 112687225L, 1),
+ new osm_map_values(Navit.T("BeNeLux"), "2.08", "48.87", "7.78", "54.52", 1771971595L, 1),
+ new osm_map_values(Navit.T("Netherlands"), "3.07", "50.75", "7.23", "53.73", 1191828033L, 1),
+ new osm_map_values(Navit.T("Denmark"), "7.65", "54.32", "15.58", "58.07", 365606979L, 1),
+ new osm_map_values(Navit.T("Faroe Islands"), "-7.8", "61.3", "-6.1", "62.5", 109377568L, 1),
+ new osm_map_values(Navit.T("France"), "-5.45", "42.00", "8.44", "51.68", 3907969744L, 1),
+ new osm_map_values(Navit.T("Alsace"), "6.79", "47.27", "8.48", "49.17", 354249349L, 2),
+ new osm_map_values(Navit.T("Aquitaine"), "-2.27", "42.44", "1.50", "45.76", 443715019L, 2),
+ new osm_map_values(Navit.T("Auvergne"), "2.01", "44.57", "4.54", "46.85", 287663213L, 2),
+ new osm_map_values(Navit.T("Basse-Normandie"), "-2.09", "48.13", "1.03", "49.98", 262352354L, 2),
+ new osm_map_values(Navit.T("Bourgogne"), "2.80", "46.11", "5.58", "48.45", 298868796L, 2),
+ new osm_map_values(Navit.T("Bretagne"), "-5.58", "46.95", "-0.96", "48.99", 382770794L, 2),
+ new osm_map_values(Navit.T("Centre"), "0.01", "46.29", "3.18", "48.99", 474224721L, 2),
+ new osm_map_values(Navit.T("Champagne-Ardenne"), "3.34", "47.53", "5.94", "50.28", 269947824L, 2),
+ new osm_map_values(Navit.T("Corse"), "8.12", "41.32", "9.95", "43.28", 129902146L, 2),
+ new osm_map_values(Navit.T("Franche-Comte"), "5.20", "46.21", "7.83", "48.07", 324476070L, 2),
+ new osm_map_values(Navit.T("Haute-Normandie"), "-0.15", "48.62", "1.85", "50.18", 202782876L, 2),
+ new osm_map_values(Navit.T("Ile-de-France"), "1.40", "48.07", "3.61", "49.29", 311052699L, 2),
+ new osm_map_values(Navit.T("Languedoc-Roussillon"), "1.53", "42.25", "4.89", "45.02", 380145667L, 2),
+ new osm_map_values(Navit.T("Limousin"), "0.58", "44.87", "2.66", "46.50", 206696539L, 2),
+ new osm_map_values(Navit.T("Lorraine"), "4.84", "47.77", "7.72", "49.73", 330777318L, 2),
+ new osm_map_values(Navit.T("Midi-Pyrenees"), "-0.37", "42.18", "3.50", "45.10", 462618363L, 2),
+ new osm_map_values(Navit.T("Nord-pas-de-Calais"), "1.42", "49.92", "4.49", "51.31", 368467511L, 2),
+ new osm_map_values(Navit.T("Pays-de-la-Loire"), "-2.88", "46.20", "0.97", "48.62", 499471143L, 2),
+ new osm_map_values(Navit.T("Picardie"), "1.25", "48.79", "4.31", "50.43", 374308041L, 2),
+ new osm_map_values(Navit.T("Poitou-Charentes"), "-1.69", "45.04", "1.26", "47.23", 342125526L, 2),
+ new osm_map_values(Navit.T("Provence-Alpes-Cote-d-Azur"), "4.21", "42.91", "7.99", "45.18", 390306134L, 2),
+ new osm_map_values(Navit.T("Rhone-Alpes"), "3.65", "44.07", "7.88", "46.64", 510797942L, 2),
+ new osm_map_values(Navit.T("Germany"), "5.18", "46.84", "15.47", "55.64", 3521359466L, 1),
+ new osm_map_values(Navit.T("Baden-Wuerttemberg"), "7.32", "47.14", "10.57", "49.85", 674361124L, 2),
+ new osm_map_values(Navit.T("Bayern"), "8.92", "47.22", "13.90", "50.62", 860161150L, 2),
+ new osm_map_values(Navit.T("Mittelfranken"), "9.86", "48.78", "11.65", "49.84", 203055195L, 2),
+ new osm_map_values(Navit.T("Niederbayern"), "11.55", "47.75", "14.12", "49.42", 312924770L, 2),
+ new osm_map_values(Navit.T("Oberbayern"), "10.67", "47.05", "13.57", "49.14", 382734883L, 2),
+ new osm_map_values(Navit.T("Oberfranken"), "10.31", "49.54", "12.49", "50.95", 235258691L, 2),
+ new osm_map_values(Navit.T("Oberpfalz"), "11.14", "48.71", "13.47", "50.43", 264536012L, 2),
+ new osm_map_values(Navit.T("Schwaben"), "9.27", "47.10", "11.36", "49.09", 321141607L, 2),
+ new osm_map_values(Navit.T("Unterfranken"), "8.59", "49.16", "10.93", "50.67", 303720890L, 2),
+ new osm_map_values(Navit.T("Berlin"), "13.03", "52.28", "13.81", "52.73", 169019946L, 2),
+ new osm_map_values(Navit.T("Brandenburg"), "11.17", "51.30", "14.83", "53.63", 323497599L, 2),
+ new osm_map_values(Navit.T("Bremen"), "8.43", "52.96", "9.04", "53.66", 150963608L, 2),
+ new osm_map_values(Navit.T("Hamburg"), "9.56", "53.34", "10.39", "53.80", 156284421L, 2),
+ new osm_map_values(Navit.T("Hessen"), "7.72", "49.34", "10.29", "51.71", 432279328L, 2),
+ new osm_map_values(Navit.T("Mecklenburg-Vorpommern"), "10.54", "53.05", "14.48", "55.05", 213183908L, 2),
+ new osm_map_values(Navit.T("Niedersachsen"), "6.40", "51.24", "11.69", "54.22", 819766939L, 2),
+ new osm_map_values(Navit.T("Nordrhein-westfalen"), "5.46", "50.26", "9.52", "52.59", 967053517L, 2),
+ new osm_map_values(Navit.T("Rheinland-Pfalz"), "6.06", "48.91", "8.56", "51.00", 442868899L, 2),
+ new osm_map_values(Navit.T("Saarland"), "6.30", "49.06", "7.46", "49.69", 157721162L, 2),
+ new osm_map_values(Navit.T("Sachsen-Anhalt"), "10.50", "50.88", "13.26", "53.11", 287785088L, 2),
+ new osm_map_values(Navit.T("Sachsen"), "11.82", "50.11", "15.10", "51.73", 342620834L, 2),
+ new osm_map_values(Navit.T("Schleswig-Holstein"), "7.41", "53.30", "11.98", "55.20", 280293910L, 2),
+ new osm_map_values(Navit.T("Thueringen"), "9.81", "50.15", "12.72", "51.70", 269428239L, 2),
+ new osm_map_values(Navit.T("Germany")+"+"+Navit.T("Austria")+"+"+Navit.T("Switzerland"), "3.4", "44.5", "18.6", "55.1", 5746126429L, 1),
+ new osm_map_values(Navit.T("Iceland"), "-25.3", "62.8", "-11.4", "67.5", 124837162L, 1),
+ new osm_map_values(Navit.T("Ireland"), "-11.17", "51.25", "-5.23", "55.9", 234750271L, 1),
+ new osm_map_values(Navit.T("Italy"), "6.52", "36.38", "18.96", "47.19", 1610171395L, 1),
+ new osm_map_values(Navit.T("Spain")+"+"+Navit.T("Portugal"), "-11.04", "34.87", "4.62", "44.41", 1039624918L, 1),
+ new osm_map_values(Navit.T("Mallorca"), "2.2", "38.8", "4.7", "40.2", 137200636L, 2),
+ new osm_map_values(Navit.T("Galicia"), "-10.0", "41.7", "-6.3", "44.1", 174549553L, 2),
+ new osm_map_values(Navit.T("Scandinavia"), "4.0", "54.4", "32.1", "71.5", 1398661090L, 1),
+ new osm_map_values(Navit.T("Finland"), "18.6", "59.2", "32.3", "70.3", 460997178L, 1),
+ new osm_map_values(Navit.T("Denmark"), "7.49", "54.33", "13.05", "57.88", 321870414L, 1),
+ new osm_map_values(Navit.T("Switzerland"), "5.79", "45.74", "10.59", "47.84", 552565332L, 1),
+ new osm_map_values(Navit.T("United Kingdom"), "-9.7", "49.6", "2.2", "61.2", 901724648L, 1),
+ new osm_map_values(Navit.T("England"), "-7.80", "48.93", "2.41", "56.14", 937728414L, 1),
+ new osm_map_values(Navit.T("Buckinghamshire"), "-1.19", "51.44", "-0.43", "52.25", 142256978L, 2),
+ new osm_map_values(Navit.T("Cambridgeshire"), "-0.55", "51.96", "0.56", "52.79", 142334001L, 2),
+ new osm_map_values(Navit.T("Cumbria"), "-3.96", "53.85", "-2.11", "55.24", 144422460L, 2),
+ new osm_map_values(Navit.T("East yorkshire with hull"), "-1.16", "53.50", "0.54", "54.26", 141518744L, 2),
+ new osm_map_values(Navit.T("Essex"), "-0.07", "51.40", "1.36", "52.14", 162542730L, 2),
+ new osm_map_values(Navit.T("Herefordshire"), "-3.19", "51.78", "-2.29", "52.45", 129368660L, 2),
+ new osm_map_values(Navit.T("Kent"), "-0.02", "50.81", "1.65", "51.53", 145482562L, 2),
+ new osm_map_values(Navit.T("Lancashire"), "-3.20", "53.43", "-2.00", "54.29", 148964975L, 2),
+ new osm_map_values(Navit.T("Leicestershire"), "-1.65", "52.34", "-0.61", "53.03", 154199956L, 2),
+ new osm_map_values(Navit.T("Norfolk"), "0.10", "52.30", "2.04", "53.41", 146017009L, 2),
+ new osm_map_values(Navit.T("Nottinghamshire"), "-1.39", "52.73", "-0.62", "53.55", 147986548L, 2),
+ new osm_map_values(Navit.T("Oxfordshire"), "-1.77", "51.41", "-0.82", "52.22", 142240992L, 2),
+ new osm_map_values(Navit.T("Shropshire"), "-3.29", "52.26", "-2.18", "53.05", 136909363L, 2),
+ new osm_map_values(Navit.T("Somerset"), "-3.89", "50.77", "-2.20", "51.40", 145186096L, 2),
+ new osm_map_values(Navit.T("South yorkshire"), "-1.88", "53.25", "-0.80", "53.71", 145902650L, 2),
+ new osm_map_values(Navit.T("Suffolk"), "0.29", "51.88", "1.81", "52.60", 143799697L, 2),
+ new osm_map_values(Navit.T("Surrey"), "-0.90", "51.02", "0.10", "51.52", 157987139L, 2),
+ new osm_map_values(Navit.T("Wiltshire"), "-2.41", "50.90", "-1.44", "51.76", 138652346L, 2),
+ new osm_map_values(Navit.T("Scotland"), "-8.13", "54.49", "-0.15", "61.40", 258853845L, 2),
+ new osm_map_values(Navit.T("Wales"), "-5.56", "51.28", "-2.60", "53.60", 193593409L, 2),
+ new osm_map_values(Navit.T("Albania"), "19.09", "39.55", "21.12", "42.72", 146199817L, 1),
+ new osm_map_values(Navit.T("Belarus"), "23.12", "51.21", "32.87", "56.23", 324470696L, 1),
+ new osm_map_values(Navit.T("Russian Federation"), "27.9", "41.5", "190.4", "77.6", 2148314279L, 1),
+ new osm_map_values(Navit.T("Bulgaria"), "24.7", "42.1", "24.8", "42.1", 109869373L, 1),
+ new osm_map_values(Navit.T("Bosnia and Herzegovina"), "15.69", "42.52", "19.67", "45.32", 187122485L, 1),
+ new osm_map_values(Navit.T("Czech Republic"), "11.91", "48.48", "19.02", "51.17", 904838442L, 1),
+ new osm_map_values(Navit.T("Croatia"), "13.4", "42.1", "19.4", "46.9", 460854751L, 1),
+ new osm_map_values(Navit.T("Estonia"), "21.5", "57.5", "28.2", "59.6", 173378927L, 1),
+ new osm_map_values(Navit.T("Greece"), "28.9", "37.8", "29.0", "37.8", 109435051L, 1),
+ new osm_map_values(Navit.T("Crete"), "23.3", "34.5", "26.8", "36.0", 115985063L, 1),
+ new osm_map_values(Navit.T("Hungary"), "16.08", "45.57", "23.03", "48.39", 350318541L, 1),
+ new osm_map_values(Navit.T("Latvia"), "20.7", "55.6", "28.3", "58.1", 188188140L, 1),
+ new osm_map_values(Navit.T("Lithuania"), "20.9", "53.8", "26.9", "56.5", 217852597L, 1),
+ new osm_map_values(Navit.T("Poland"), "13.6", "48.8", "24.5", "55.0", 1464968657L, 1),
+ new osm_map_values(Navit.T("Romania"), "20.3", "43.5", "29.9", "48.4", 347931565L, 1),
+ new osm_map_values(Navit.T("Ukraine"), "22.0", "44.3", "40.4", "52.4", 793611912L, 1),
+ new osm_map_values(Navit.T("North America"), "-178.1", "6.5", "-10.4", "84.0", 5601866516L, 0),
+ new osm_map_values(Navit.T("Alaska"), "-179.5", "49.5", "-129", "71.6", 207746039L, 1),
+ new osm_map_values(Navit.T("Canada"), "-141.3", "41.5", "-52.2", "70.2", 2635719651L, 1),
+ new osm_map_values(Navit.T("Hawaii"), "-161.07", "18.49", "-154.45", "22.85", 115016656L, 1),
+ new osm_map_values(Navit.T("USA")+Navit.T(" (except Alaska and Hawaii)"), "-125.4", "24.3", "-66.5", "49.3", 4060487198L, 1),
+ new osm_map_values(Navit.T("Midwest"), "-104.11", "35.92", "-80.46", "49.46", 1145596450L, 2),
+ new osm_map_values(Navit.T("Michigan"), "-90.47", "41.64", "-79.00", "49.37", 538247019L, 2),
+ new osm_map_values(Navit.T("Ohio"), "-84.87", "38.05", "-79.85", "43.53", 277022336L, 2),
+ new osm_map_values(Navit.T("Northeast"), "-80.58", "38.72", "-66.83", "47.53", 1017160709L, 2),
+ new osm_map_values(Navit.T("Massachusetts"), "-73.56", "40.78", "-68.67", "42.94", 340055487L, 2),
+ new osm_map_values(Navit.T("Vermont"), "-73.49", "42.68", "-71.41", "45.07", 139626067L, 2),
+ new osm_map_values(Navit.T("Pacific"), "-180.05", "15.87", "-129.75", "73.04", 207090640L, 2),
+ new osm_map_values(Navit.T("South"), "-106.70", "23.98", "-71.46", "40.70", 1747935356L, 2),
+ new osm_map_values(Navit.T("Arkansas"), "-94.67", "32.95", "-89.59", "36.60", 155658661L, 2),
+ new osm_map_values(Navit.T("District of Columbia"), "-77.17", "38.74", "-76.86", "39.05", 129235755L, 2),
+ new osm_map_values(Navit.T("Florida"), "-88.75", "23.63", "-77.67", "31.05", 224022108L, 2),
+ new osm_map_values(Navit.T("Louisiana"), "-94.09", "28.09", "-88.62", "33.07", 210120605L, 2),
+ new osm_map_values(Navit.T("Maryland"), "-79.54", "37.83", "-74.99", "40.22", 276462622L, 2),
+ new osm_map_values(Navit.T("Mississippi"), "-91.71", "29.99", "-88.04", "35.05", 177858031L, 2),
+ new osm_map_values(Navit.T("Oklahoma"), "-103.41", "33.56", "-94.38", "37.38", 200061473L, 2),
+ new osm_map_values(Navit.T("Texas"), "-106.96", "25.62", "-92.97", "36.58", 430089141L, 2),
+ new osm_map_values(Navit.T("Virginia"), "-83.73", "36.49", "-74.25", "39.52", 384187569L, 2),
+ new osm_map_values(Navit.T("West Virginia"), "-82.70", "37.15", "-77.66", "40.97", 220552071L, 2),
+ new osm_map_values(Navit.T("West"), "-133.11", "31.28", "-101.99", "49.51", 1152909162L, 2),
+ new osm_map_values(Navit.T("Arizona"), "-114.88", "30.01", "-108.99", "37.06", 182826833L, 2),
+ new osm_map_values(Navit.T("California"), "-125.94", "32.43", "-114.08", "42.07", 586923326L, 2),
+ new osm_map_values(Navit.T("Colorado"), "-109.11", "36.52", "-100.41", "41.05", 228623724L, 2),
+ new osm_map_values(Navit.T("Idaho"), "-117.30", "41.93", "-110.99", "49.18", 170684507L, 2),
+ new osm_map_values(Navit.T("Montana"), "-116.10", "44.31", "-102.64", "49.74", 176229800L, 2),
+ new osm_map_values(Navit.T("New Mexico"), "-109.10", "26.98", "-96.07", "37.05", 361793070L, 2),
+ new osm_map_values(Navit.T("Nevada"), "-120.2", "35.0", "-113.8", "42.1", 200614482L, 2),
+ new osm_map_values(Navit.T("Oregon"), "-124.8", "41.8", "-116.3", "46.3", 211462685L, 2),
+ new osm_map_values(Navit.T("Utah"), "-114.11", "36.95", "-108.99", "42.05", 151590197L, 2),
+ new osm_map_values(Navit.T("Washington State"), "-125.0", "45.5", "-116.9", "49.0", 222553768L, 2),
+ new osm_map_values(Navit.T("South+Middle America"), "-83.5", "-56.3", "-30.8", "13.7", 958895383L, 0),
+ new osm_map_values(Navit.T("Argentina"), "-73.9", "-57.3", "-51.6", "-21.0", 376857648L, 1),
+ new osm_map_values(Navit.T("Argentina")+"+"+Navit.T("Chile"), "-77.2", "-56.3", "-52.7", "-16.1", 420275812L, 1),
+ new osm_map_values(Navit.T("Bolivia"), "-70.5", "-23.1", "-57.3", "-9.3", 175937824L, 1),
+ new osm_map_values(Navit.T("Brazil"), "-71.4", "-34.7", "-32.8", "5.4", 664872975L, 1),
+ new osm_map_values(Navit.T("Chile"), "-81.77", "-58.50", "-65.46", "-17.41", 241657330L, 1),
+ new osm_map_values(Navit.T("Cuba"), "-85.3", "19.6", "-74.0", "23.6", 129043575L, 1),
+ new osm_map_values(Navit.T("Colombia"), "-79.1", "-4.0", "-66.7", "12.6", 212016580L, 1),
+ new osm_map_values(Navit.T("Ecuador"), "-82.6", "-5.4", "-74.4", "2.3", 158857591L, 1),
+ new osm_map_values(Navit.T("Guyana")+"+"+Navit.T("Suriname")+"+"+Navit.T("Guyane Francaise"), "-62.0", "1.0", "-51.2", "8.9", 123000072L, 1),
+ new osm_map_values(Navit.T("Haiti")+"+"+Navit.T("Dominican Republic"), "-74.8", "17.3", "-68.2", "20.1", 149925689L, 1),
+ new osm_map_values(Navit.T("Jamaica"), "-78.6", "17.4", "-75.9", "18.9", 113961998L, 1),
+ new osm_map_values(Navit.T("Mexico"), "-117.6", "14.1", "-86.4", "32.8", 551307973L, 1),
+ new osm_map_values(Navit.T("Paraguay"), "-63.8", "-28.1", "-53.6", "-18.8", 159498397L, 1),
+ new osm_map_values(Navit.T("Peru"), "-82.4", "-18.1", "-67.5", "0.4", 212490557L, 1),
+ new osm_map_values(Navit.T("Uruguay"), "-59.2", "-36.5", "-51.7", "-29.7", 157482719L, 1),
+ new osm_map_values(Navit.T("Venezuela"), "-73.6", "0.4", "-59.7", "12.8", 167295729L, 1)
};
private String map_filename_path;
@@ -349,7 +350,7 @@ public class NavitMapDownloader extends Thread
retry_counter = 0;
Log.v(TAG, "start download " + map_values.map_name);
- updateProgress(0, map_values.est_size_bytes, Navit._("downloading") + ": " + map_values.map_name);
+ updateProgress(0, map_values.est_size_bytes, Navit.T("downloading") + ": " + map_values.map_name);
boolean success;
do {
@@ -364,7 +365,7 @@ public class NavitMapDownloader extends Thread
&& !stop_me);
if (success) {
- toast(map_values.map_name + " " + Navit._("ready"));
+ toast(map_values.map_name + " " + Navit.T("ready"));
getMapInfoFile().delete();
Log.d(TAG, "success");
}
@@ -390,10 +391,10 @@ public class NavitMapDownloader extends Thread
String msg;
Log.e(TAG, "Not enough free space or media not available. Please free at least " + needed_bytes / 1024 /1024 + "Mb.");
if(free_space<0)
- msg=Navit._("Media selected for map storage is not available");
+ msg=Navit.T("Media selected for map storage is not available");
else
- msg=Navit._("Not enough free space");
- updateProgress(free_space, needed_bytes, Navit._("Error downloading map!") + "\n" + msg);
+ msg=Navit.T("Not enough free space");
+ updateProgress(free_space, needed_bytes, Navit.T("Error downloading map!") + "\n" + msg);
return false;
}
return true;
@@ -603,11 +604,11 @@ public class NavitMapDownloader extends Thread
if (deleteMap()) {
enableRetry();
} else {
- updateProgress(already_read, real_size_bytes, Navit._("Error downloading map!") + "\n"
- + Navit._("Not enough free space"));
+ updateProgress(already_read, real_size_bytes, Navit.T("Error downloading map!") + "\n"
+ + Navit.T("Not enough free space"));
}
} else {
- updateProgress(already_read, real_size_bytes, Navit._("Error writing map!"));
+ updateProgress(already_read, real_size_bytes, Navit.T("Error writing map!"));
}
return false;
@@ -615,7 +616,7 @@ public class NavitMapDownloader extends Thread
}
if (stop_me) {
- toast(Navit._("Map download aborted!"));
+ toast(Navit.T("Map download aborted!"));
} else if ( already_read < real_size_bytes ) {
Log.d(TAG, "Server send only " + already_read + " bytes of " + real_size_bytes);
enableRetry();
@@ -626,7 +627,7 @@ public class NavitMapDownloader extends Thread
Log.d(TAG, "Error: " + e);
enableRetry();
- updateProgress(already_read, real_size_bytes, Navit._("Error downloading map!"));
+ updateProgress(already_read, real_size_bytes, Navit.T("Error downloading map!"));
}
return success;
@@ -668,9 +669,9 @@ public class NavitMapDownloader extends Thread
eta_string = eta_seconds + " s";
}
String info =
- String.format("%s: %s\n %dMb / %dMb\n %.1f kb/s %s: %s", Navit._("downloading")
+ String.format("%s: %s\n %dMb / %dMb\n %.1f kb/s %s: %s", Navit.T("downloading")
, map_values.map_name, readBytes / 1024 / 1024, maxBytes / 1024 / 1024,
- per_second_overall / 1024f, Navit._("ETA"), eta_string);
+ per_second_overall / 1024f, Navit.T("ETA"), eta_string);
if (retry_counter > 0) {
info += "\n Retry " + retry_counter + "/" + MAX_RETRIES;
@@ -683,7 +684,7 @@ public class NavitMapDownloader extends Thread
}
protected void updateProgress(long positionBytes, long maximumBytes, String infoText) {
- NavitDialogs.sendDialogMessage(NavitDialogs.MSG_PROGRESS_BAR, Navit._("Map download"), infoText
+ NavitDialogs.sendDialogMessage(NavitDialogs.MSG_PROGRESS_BAR, Navit.T("Map download"), infoText
, NavitDialogs.DIALOG_MAPDOWNLOAD, (int) (maximumBytes / 1024),
(int) (positionBytes / 1024));
}
diff --git a/navit/attr_def.h b/navit/attr_def.h
index 7e66ac3d2..9276e4d60 100644
--- a/navit/attr_def.h
+++ b/navit/attr_def.h
@@ -348,7 +348,7 @@ ATTR_UNUSED
ATTR_UNUSED
ATTR(status_text)
ATTR(log_gpx_desc)
-ATTR(map_pass)
+ATTR_UNUSED
ATTR_UNUSED
ATTR(socket)
/* These attributes for house number interpolation are only written by
diff --git a/navit/file.c b/navit/file.c
index 6764eafe1..8363b6a8b 100644
--- a/navit/file.c
+++ b/navit/file.c
@@ -46,14 +46,6 @@
extern char *version;
-#ifdef HAVE_LIBCRYPTO
-#include <openssl/sha.h>
-#include <openssl/hmac.h>
-#include <openssl/aes.h>
-#include <openssl/evp.h>
-#include <openssl/rand.h>
-#endif
-
#ifdef CACHE_SIZE
static GHashTable *file_name_hash;
#endif
@@ -555,81 +547,6 @@ file_data_read_compressed(struct file *file, long long offset, int size, int siz
return ret;
}
-unsigned char *
-file_data_read_encrypted(struct file *file, long long offset, int size, int size_uncomp, int compressed, char *passwd)
-{
-#ifdef HAVE_LIBCRYPTO
- void *ret;
- unsigned char *buffer = 0;
- uLongf destLen=size_uncomp;
-
- if (file->cache) {
- struct file_cache_id id={offset,size,file->name_id,1};
- ret=cache_lookup(file_cache,&id);
- if (ret)
- return ret;
- ret=cache_insert_new(file_cache,&id,size_uncomp);
- } else
- ret=g_malloc(size_uncomp);
- lseek(file->fd, offset, SEEK_SET);
-
- buffer = (unsigned char *)g_malloc(size);
- if (read(file->fd, buffer, size) != size) {
- g_free(ret);
- ret=NULL;
- } else {
- unsigned char key[34], salt[8], verify[2], counter[16], xor[16], mac[10], *datap;
- int overhead=sizeof(salt)+sizeof(verify)+sizeof(mac);
- int esize=size-overhead;
- PKCS5_PBKDF2_HMAC_SHA1(passwd, strlen(passwd), (unsigned char *)buffer, 8, 1000, 34, key);
- if (key[32] == buffer[8] && key[33] == buffer[9] && esize >= 0) {
- AES_KEY aeskey;
- AES_set_encrypt_key(key, 128, &aeskey);
- datap=buffer+sizeof(salt)+sizeof(verify);
- memset(counter, 0, sizeof(counter));
- while (esize > 0) {
- int i,curr_size,idx=0;
- do {
- counter[idx]++;
- } while (!counter[idx++]);
- AES_encrypt(counter, xor, &aeskey);
- curr_size=esize;
- if (curr_size > sizeof(xor))
- curr_size=sizeof(xor);
- for (i = 0 ; i < curr_size ; i++)
- *datap++^=xor[i];
- esize-=curr_size;
- }
- size-=overhead;
- datap=buffer+sizeof(salt)+sizeof(verify);
- if (compressed) {
- if (uncompress_int(ret, &destLen, (Bytef *)datap, size) != Z_OK) {
- dbg(lvl_error,"uncompress failed\n");
- g_free(ret);
- ret=NULL;
- }
- } else {
- if (size == destLen)
- memcpy(ret, buffer, destLen);
- else {
- dbg(lvl_error,"memcpy failed\n");
- g_free(ret);
- ret=NULL;
- }
- }
- } else {
- g_free(ret);
- ret=NULL;
- }
- }
- g_free(buffer);
-
- return ret;
-#else
- return NULL;
-#endif
-}
-
void
file_data_free(struct file *file, unsigned char *data)
{
diff --git a/navit/file.h b/navit/file.h
index bb8b8bdd8..46dbc4c99 100644
--- a/navit/file.h
+++ b/navit/file.h
@@ -76,7 +76,6 @@ void file_data_flush(struct file *file, long long offset, int size);
int file_data_write(struct file *file, long long offset, int size, const void *data);
int file_get_contents(char *name, unsigned char **buffer, int *size);
unsigned char *file_data_read_compressed(struct file *file, long long offset, int size, int size_uncomp);
-unsigned char *file_data_read_encrypted(struct file *file, long long offset, int size, int size_uncomp, int compressed, char *passwd);
void file_data_free(struct file *file, unsigned char *data);
int file_exists(char const *name);
void file_remap_readonly(struct file *f);
diff --git a/navit/gui/gtk/gui_gtk_action.c b/navit/gui/gtk/gui_gtk_action.c
index 951f1138a..0d6acee48 100644
--- a/navit/gui/gtk/gui_gtk_action.c
+++ b/navit/gui/gtk/gui_gtk_action.c
@@ -126,6 +126,27 @@ tracking_action(GtkWidget *w, struct gui_priv *gui, void *dummy)
}
}
+/** @brief Toggles the ability to follow the vehicle at the
+ * cursor. Suitable for use in the GTK menu as below.
+ *
+ * @param GtkWidget is the generic storage type for widgets.
+ * @param gui The gui. I think, I'm new here.
+ * @param dummy Ignore the pointer behind the curtain.
+ * @return void
+ */
+
+static void
+follow_vehicle_action(GtkWidget *w, struct gui_priv *gui, void *dummy)
+{
+ struct attr attr;
+
+ attr.type=attr_follow_cursor;
+ attr.u.num=gtk_toggle_action_get_active(GTK_TOGGLE_ACTION(w));
+ if(!navit_set_attr(gui->nav, &attr)) {
+ dbg(lvl_error, "Failed to set attr_follow_gps\n");
+ }
+}
+
static void
orient_north_action(GtkWidget *w, struct gui_priv *gui, void *dummy)
{
@@ -232,6 +253,7 @@ static GtkToggleActionEntry toggleentries[] =
{
{ "CursorAction", "cursor_icon",_n("Show position _cursor"), NULL, NULL, G_CALLBACK(cursor_action),TRUE },
{ "TrackingAction", NULL ,_n("_Lock on Road"), NULL, NULL, G_CALLBACK(tracking_action),TRUE },
+ { "FollowVehicleAction", NULL ,_n("_Follow Vehicle"), NULL, NULL, G_CALLBACK(follow_vehicle_action),TRUE },
{ "OrientationAction", "orientation_icon", _n("_Keep orientation to the North"), NULL, _n("Switches map orientation to the north or the vehicle"), G_CALLBACK(orient_north_action),FALSE },
{ "RoadbookAction", GTK_STOCK_JUSTIFY_FILL, _n("_Roadbook"), "<control>B", _n("Show/hide route description"), G_CALLBACK(roadbook_action), FALSE },
{ "AutozoomAction", GTK_STOCK_ZOOM_FIT, _n("_Autozoom"), "<control>A", _n("Enable/disable automatic zoom level changing"), G_CALLBACK(autozoom_action), FALSE },
@@ -383,6 +405,7 @@ static char layout[] =
<menuitem name=\"Zoom out\" action=\"ZoomOutAction\" />\
<menuitem name=\"Cursor\" action=\"CursorAction\"/>\
<menuitem name=\"Tracking\" action=\"TrackingAction\"/>\
+ <menuitem name=\"Follow Vehicle\" action=\"FollowVehicleAction\"/>\
<menuitem name=\"Orientation\" action=\"OrientationAction\"/>\
<menuitem name=\"Roadbook\" action=\"RoadbookAction\"/>\
<menuitem name=\"Autozoom\" action=\"AutozoomAction\"/>\
diff --git a/navit/gui/gtk/gui_gtk_statusbar.c b/navit/gui/gtk/gui_gtk_statusbar.c
index 0f0dcc0e8..6e5c9980d 100644
--- a/navit/gui/gtk/gui_gtk_statusbar.c
+++ b/navit/gui/gtk/gui_gtk_statusbar.c
@@ -87,7 +87,7 @@ statusbar_route_update(struct statusbar_priv *this, struct navit *navit, struct
struct map_rect *mr=NULL;
struct item *item=NULL;
struct attr attr;
- double route_len=0;
+ double route_len=0; /* Distance to destination. We get it in kilometers. */
time_t eta;
struct tm *eta_tm=NULL;
char buffer[128];
@@ -98,6 +98,11 @@ statusbar_route_update(struct statusbar_priv *this, struct navit *navit, struct
const char *dir;
int dir_idx;
+ /* Respect the Imperial attribute as we enlighten the user. */
+ int imperial = FALSE; /* default to using metric measures. */
+ if (navit_get_attr(navit, attr_imperial, &attr, NULL))
+ imperial=attr.u.num;
+
if (navit)
nav=navit_get_navigation(navit);
if (nav)
@@ -116,7 +121,13 @@ statusbar_route_update(struct statusbar_priv *this, struct navit *navit, struct
}
if (mr)
map_rect_destroy(mr);
- sprintf(buffer,_("Route %4.0fkm %02d:%02d ETA" ),route_len/1000, eta_tm ? eta_tm->tm_hour : 0 , eta_tm ? eta_tm->tm_min : 0);
+
+ sprintf(buffer,_("Route %4.1f%s %02d:%02d ETA" ),
+ imperial == TRUE ? route_len * (KILOMETERS_TO_MILES/1000.00) : route_len/1000,
+ imperial == TRUE ? "mi" : "km",
+ eta_tm ? eta_tm->tm_hour : 0 ,
+ eta_tm ? eta_tm->tm_min : 0);
+
if (strcmp(buffer, this->route_text)) {
strcpy(this->route_text, buffer);
gtk_label_set_text(GTK_LABEL(this->route), this->route_text);
@@ -145,10 +156,17 @@ statusbar_route_update(struct statusbar_priv *this, struct navit *navit, struct
if (vehicle_get_attr(v, attr_position_qual, &attr, NULL))
qual=attr.u.num;
coord_format(lat,lng,DEGREES_MINUTES_SECONDS,buffer,sizeof(buffer));
- sprintf(this->gps_text,"GPS:%s %02d/%02d HD:%02.2f %s %4.0fm %3.0f°%-2s %3.0fkm/h",
- status_fix2str(status),
- sats, qual, hdop, buffer, height,
- direction, dir, speed);
+
+ sprintf(this->gps_text,"GPS:%s %02d/%02d HD:%02.2f %s %4.0f%s %3.0f°%-2s %3.1f%s",
+ status_fix2str(status),
+ sats, qual, hdop, buffer,
+ imperial ? height * FEET_PER_METER : height,
+ imperial == TRUE ? "\'" : "m",
+ direction, dir,
+ imperial == TRUE ? speed * KILOMETERS_TO_MILES : speed,
+ imperial == TRUE ? " mph" : "km/h"
+ );
+
gtk_label_set_text(GTK_LABEL(this->gps), this->gps_text);
}
diff --git a/navit/icons/CMakeLists.txt b/navit/icons/CMakeLists.txt
index 6d40f2a92..040f0ee5e 100644
--- a/navit/icons/CMakeLists.txt
+++ b/navit/icons/CMakeLists.txt
@@ -20,7 +20,8 @@ macro(convert_to_png IMAGE_INPUT IMAGE_OUTPUT SCALE)
set (NEW_SCALE ${SCALE})
if (${SCALE} EQUAL 0)
file(STRINGS ${IMAGE_INPUT} NEW_SCALE_LINE REGEX "[^-]width=\"[0-9pxt.]*\"")
- string(REGEX REPLACE ".*width=\"([0-9]*).*" "\\1" NEW_SCALE ${NEW_SCALE_LINE})
+ string(REGEX MATCH "width=\"([0-9]*)[pxt]*\"" NEW_SCALE_LINE ${NEW_SCALE_LINE})
+ set(NEW_SCALE ${CMAKE_MATCH_1})
endif()
set(COMMAND_ARGS ${NEW_SCALE} ${NEW_SCALE} ${IMAGE_INPUT} ${IMAGE_OUTPUT})
elseif(${IMAGE_CONVERTER_${FILE_TYPE}} MATCHES "inkscape")
diff --git a/navit/icons/bowling.svg b/navit/icons/bowling.svg
index 5399c594b..ebc02d520 100644
--- a/navit/icons/bowling.svg
+++ b/navit/icons/bowling.svg
@@ -9,14 +9,14 @@
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"
- height="22"
+ height="200"
id="svg2"
inkscape:output_extension="org.inkscape.output.svg.inkscape"
inkscape:version="0.92.2 (5c3e80d, 2017-08-06)"
sodipodi:docname="bowling.svg"
sodipodi:version="0.32"
version="1.0"
- width="22">
+ width="200">
<defs
id="defs22">
<inkscape:perspective
@@ -49,15 +49,15 @@
guidetolerance="10.0"
id="base"
inkscape:current-layer="svg2"
- inkscape:cx="12.823529"
- inkscape:cy="9.1530784"
+ inkscape:cx="88.343465"
+ inkscape:cy="3.213385"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:window-height="725"
inkscape:window-width="1024"
inkscape:window-x="0"
inkscape:window-y="20"
- inkscape:zoom="21.018182"
+ inkscape:zoom="1"
objecttolerance="10.0"
pagecolor="#ffffff"
showgrid="false"
@@ -66,16 +66,16 @@
inkscape:measure-end="0,0" />
<g
id="g1327"
- transform="matrix(0.04083073,0,0,0.04083073,-0.1767767,-1.0602338)">
+ transform="matrix(0.33403911,0,0,0.33403911,3.8232233,2.6463362)">
<path
- d="M 66.275,1.768 C 24.94,1.768 1.704,23.139 1.704,66.804 l 0,450.123 c 0,40.844 20.894,62.229 62.192,62.229 l 452.024,0 c 41.307,0 62.229,-20.316 62.229,-62.229 l 0,-450.123 c 0,-42.601 -20.922,-65.036 -63.522,-65.036 -0.003,0 -448.494,-0.143 -448.352,0 z"
+ d="M 66.275,1.768 C 24.94,1.768 1.704,23.139 1.704,66.804 v 450.123 c 0,40.844 20.894,62.229 62.192,62.229 H 515.92 c 41.307,0 62.229,-20.316 62.229,-62.229 V 66.804 c 0,-42.601 -20.922,-65.036 -63.522,-65.036 -0.003,0 -448.494,-0.143 -448.352,0 z"
id="path1329"
style="fill:#111111;fill-opacity:0;stroke:#eeeeee;stroke-width:3.40799999;stroke-opacity:0"
inkscape:connector-curvature="0" />
</g>
<g
id="g2319"
- transform="matrix(0.04083073,0,0,0.04083073,35.725326,0.442546)">
+ transform="matrix(0.04083073,0,0,0.04083073,35.725326,178.44255)">
<path
d=""
id="path2323"
@@ -84,7 +84,7 @@
</g>
<g
id="g2325"
- transform="matrix(0.04083073,0,0,0.04083073,35.725326,0.442546)">
+ transform="matrix(0.04083073,0,0,0.04083073,35.725326,178.44255)">
<path
d=""
id="path2329"
@@ -92,30 +92,30 @@
inkscape:connector-curvature="0" />
</g>
<circle
- style="fill:#0089cd;fill-opacity:1;stroke:#0089cd;stroke-width:1.07299995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ style="fill:#0089cd;fill-opacity:1;stroke:#0089cd;stroke-width:11.72280502;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path4536"
- cx="10.847751"
- cy="10.771626"
- r="8.3433704" />
+ cx="101.80831"
+ cy="100.42613"
+ r="91.153503" />
<ellipse
- style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1.27539206;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:13.93399143;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path4538"
- cx="13.571632"
- cy="5.7164307"
- rx="0.86230391"
- ry="0.86230397" />
+ cx="131.56744"
+ cy="45.196854"
+ rx="9.4208956"
+ ry="9.4208965" />
<ellipse
- style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1.27539206;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:13.93399143;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path4538-4"
- cx="16.271626"
- cy="8.6306229"
- rx="0.86230391"
- ry="0.86230397" />
+ cx="161.06557"
+ cy="77.03508"
+ rx="9.4208956"
+ ry="9.4208965" />
<ellipse
- style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1.27539206;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:13.93399143;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path4538-4-4"
- cx="12.655709"
- cy="9.0588236"
- rx="0.86230391"
- ry="0.86230397" />
+ cx="121.56072"
+ cy="81.713364"
+ rx="9.4208956"
+ ry="9.4208965" />
</svg>
diff --git a/navit/icons/bridge.svg b/navit/icons/bridge.svg
index 992f03e7d..0cce35558 100644
--- a/navit/icons/bridge.svg
+++ b/navit/icons/bridge.svg
@@ -9,14 +9,17 @@
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"
- height="22"
+ height="200"
id="svg2"
inkscape:output_extension="org.inkscape.output.svg.inkscape"
inkscape:version="0.92.2 (5c3e80d, 2017-08-06)"
sodipodi:docname="bridge.svg"
sodipodi:version="0.32"
version="1.0"
- width="22">
+ width="200"
+ inkscape:export-filename="C:\Users\jeremy\Pictures\svg\bridge.png"
+ inkscape:export-xdpi="96"
+ inkscape:export-ydpi="96">
<defs
id="defs22">
<inkscape:perspective
@@ -49,7 +52,7 @@
guidetolerance="10.0"
id="base"
inkscape:current-layer="svg2"
- inkscape:cx="11.711456"
+ inkscape:cx="9.0803371"
inkscape:cy="11.667262"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
@@ -57,7 +60,7 @@
inkscape:window-width="1366"
inkscape:window-x="-8"
inkscape:window-y="-8"
- inkscape:zoom="31.82205"
+ inkscape:zoom="1"
objecttolerance="10.0"
pagecolor="#ffffff"
showgrid="false"
@@ -66,16 +69,16 @@
inkscape:measure-end="0,0" />
<g
id="g1327"
- transform="matrix(0.04083073,0,0,0.04083073,-0.1767767,-1.0602338)">
+ transform="matrix(0.34319043,0,0,0.34319043,0.8232233,2.3111151)">
<path
- d="M 66.275,1.768 C 24.94,1.768 1.704,23.139 1.704,66.804 l 0,450.123 c 0,40.844 20.894,62.229 62.192,62.229 l 452.024,0 c 41.307,0 62.229,-20.316 62.229,-62.229 l 0,-450.123 c 0,-42.601 -20.922,-65.036 -63.522,-65.036 -0.003,0 -448.494,-0.143 -448.352,0 z"
+ d="M 66.275,1.768 C 24.94,1.768 1.704,23.139 1.704,66.804 v 450.123 c 0,40.844 20.894,62.229 62.192,62.229 H 515.92 c 41.307,0 62.229,-20.316 62.229,-62.229 V 66.804 c 0,-42.601 -20.922,-65.036 -63.522,-65.036 -0.003,0 -448.494,-0.143 -448.352,0 z"
id="path1329"
style="fill:#111111;fill-opacity:0;stroke:#eeeeee;stroke-width:3.40799999;stroke-opacity:0"
inkscape:connector-curvature="0" />
</g>
<g
id="g2319"
- transform="matrix(0.04083073,0,0,0.04083073,35.725326,0.442546)">
+ transform="matrix(0.04083073,0,0,0.04083073,35.725326,178.44255)">
<path
d=""
id="path2323"
@@ -84,7 +87,7 @@
</g>
<g
id="g2325"
- transform="matrix(0.04083073,0,0,0.04083073,35.725326,0.442546)">
+ transform="matrix(0.04083073,0,0,0.04083073,35.725326,178.44255)">
<path
d=""
id="path2329"
@@ -92,66 +95,67 @@
inkscape:connector-curvature="0" />
</g>
<ellipse
- style="fill:#ffffff;fill-opacity:0;stroke:none;stroke-width:1.07299995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ style="fill:#ffffff;fill-opacity:0;stroke:none;stroke-width:8.83749676;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path5130"
- cx="11.490052"
- cy="16.147924"
- rx="8.3499136"
- ry="3.948962" />
+ cx="96.940178"
+ cy="147.61621"
+ rx="68.77198"
+ ry="32.524643" />
<path
- style="fill:#0089cd;fill-opacity:1;stroke:#0089cd;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- d="m 0.47725717,11.030944 20.93572883,0.0059 v 6.476088 c 0,0 -1.702822,-0.0306 -2.144525,-0.03142 -0.01596,-4.621507 -5.724722,-5.218489 -8.030421,-5.205035 -2.1116789,0.01232 -7.9665318,0.09086 -8.0304209,5.236456 -0.4724108,-0.0081 -2.73036193,0 -2.73036193,0 z"
+ style="fill:#0089cd;fill-opacity:1;stroke:#0089cd;stroke-width:8.85758495px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 6.5467015,96.228144 185.4400085,0.05311 v 57.362526 c 0,0 -15.08288,-0.27104 -18.99532,-0.27813 -0.14136,-40.93542 -50.70721,-46.22322 -71.13014,-46.104 -18.704369,0.10895 -70.56423,0.80515 -71.130133,46.38231 -4.18442,-0.0708 -24.1844155,0 -24.1844155,0 z"
id="path5142"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccsccc" />
<rect
- style="fill:#0089cd;fill-opacity:1;stroke:#0089cd;stroke-width:1.07299995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ style="fill:#0089cd;fill-opacity:1;stroke:#0089cd;stroke-width:9.50418949;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect5144"
- width="0.251398"
- height="2.671104"
- x="1.9797593"
- y="7.7534037" />
+ width="2.2267792"
+ height="23.659534"
+ x="19.855244"
+ y="67.197083" />
<rect
- style="fill:#0089cd;fill-opacity:1;stroke:#0089cd;stroke-width:1.07299995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ style="fill:#0089cd;fill-opacity:1;stroke:#0089cd;stroke-width:9.50418949;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect5144-7"
- width="0.251398"
- height="2.671104"
- x="5.4804759"
- y="7.7534037" />
+ width="2.2267792"
+ height="23.659534"
+ x="50.86314"
+ y="67.197083" />
<rect
- style="fill:#0089cd;fill-opacity:1;stroke:#0089cd;stroke-width:1.07299995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ style="fill:#0089cd;fill-opacity:1;stroke:#0089cd;stroke-width:9.50418949;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect5144-1"
- width="0.251398"
- height="2.671104"
- x="8.9811935"
- y="7.7534037" />
+ width="2.2267792"
+ height="23.659534"
+ x="81.871048"
+ y="67.197083" />
<rect
- style="fill:#0089cd;fill-opacity:1;stroke:#0089cd;stroke-width:1.07299995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ style="fill:#0089cd;fill-opacity:1;stroke:#0089cd;stroke-width:9.50418949;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect5144-8"
- width="0.251398"
- height="2.671104"
- x="12.481911"
- y="7.7534037" />
+ width="2.2267792"
+ height="23.659534"
+ x="112.87896"
+ y="67.197083" />
<rect
- style="fill:#0089cd;fill-opacity:1;stroke:#0089cd;stroke-width:1.07299995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ style="fill:#0089cd;fill-opacity:1;stroke:#0089cd;stroke-width:9.50418949;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect5144-11"
- width="0.251398"
- height="2.671104"
- x="15.982629"
- y="7.7534037" />
+ width="2.2267792"
+ height="23.659534"
+ x="143.88687"
+ y="67.197083" />
<rect
- style="fill:#0089cd;fill-opacity:1;stroke:#0089cd;stroke-width:1.07299995;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ style="fill:#0089cd;fill-opacity:1;stroke:#0089cd;stroke-width:9.50418949;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect5144-74"
- width="0.251398"
- height="2.671104"
- x="19.483345"
- y="7.7534037"
- inkscape:transform-center-x="0.062849458" />
+ width="2.2267792"
+ height="23.659534"
+ x="174.89474"
+ y="67.197083"
+ inkscape:transform-center-x="0.55670278"
+ inkscape:transform-center-y="6.2928732e-006" />
<rect
- style="fill:#0089cd;fill-opacity:1;stroke:#0089cd;stroke-width:1.05754387;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ style="fill:#0089cd;fill-opacity:1;stroke:#0089cd;stroke-width:9.36728573;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect5185"
- width="20.91246"
- height="0.063668601"
- x="0.55105257"
- y="7.1559234" />
+ width="185.23392"
+ height="0.56395012"
+ x="7.2003508"
+ y="61.904907" />
</svg>
diff --git a/navit/icons/communication.svg b/navit/icons/communication.svg
index bad45d89a..35596b3c7 100644
--- a/navit/icons/communication.svg
+++ b/navit/icons/communication.svg
@@ -9,14 +9,17 @@
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"
- height="22"
+ height="200"
id="svg2"
inkscape:output_extension="org.inkscape.output.svg.inkscape"
inkscape:version="0.92.2 (5c3e80d, 2017-08-06)"
sodipodi:docname="communication.svg"
sodipodi:version="0.32"
version="1.0"
- width="22">
+ width="200"
+ inkscape:export-filename="C:\Users\jeremy\Pictures\svg\communication.png"
+ inkscape:export-xdpi="96"
+ inkscape:export-ydpi="96">
<defs
id="defs22">
<inkscape:perspective
@@ -49,7 +52,7 @@
guidetolerance="10.0"
id="base"
inkscape:current-layer="svg2"
- inkscape:cx="14.450743"
+ inkscape:cx="9.6858801"
inkscape:cy="12.141264"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
@@ -57,7 +60,7 @@
inkscape:window-width="1366"
inkscape:window-x="-8"
inkscape:window-y="-8"
- inkscape:zoom="17.57188"
+ inkscape:zoom="1"
objecttolerance="10.0"
pagecolor="#ffffff"
showgrid="false"
@@ -66,16 +69,16 @@
inkscape:measure-end="0,0" />
<g
id="g1327"
- transform="matrix(0.04083073,0,0,0.04083073,-0.1767767,-1.0602338)">
+ transform="matrix(0.34431731,0,0,0.34431731,-0.1767767,0.6565548)">
<path
- d="M 66.275,1.768 C 24.94,1.768 1.704,23.139 1.704,66.804 l 0,450.123 c 0,40.844 20.894,62.229 62.192,62.229 l 452.024,0 c 41.307,0 62.229,-20.316 62.229,-62.229 l 0,-450.123 c 0,-42.601 -20.922,-65.036 -63.522,-65.036 -0.003,0 -448.494,-0.143 -448.352,0 z"
+ d="M 66.275,1.768 C 24.94,1.768 1.704,23.139 1.704,66.804 v 450.123 c 0,40.844 20.894,62.229 62.192,62.229 H 515.92 c 41.307,0 62.229,-20.316 62.229,-62.229 V 66.804 c 0,-42.601 -20.922,-65.036 -63.522,-65.036 -0.003,0 -448.494,-0.143 -448.352,0 z"
id="path1329"
style="fill:#111111;fill-opacity:0;stroke:#eeeeee;stroke-width:3.40799999;stroke-opacity:0"
inkscape:connector-curvature="0" />
</g>
<g
id="g2319"
- transform="matrix(0.04083073,0,0,0.04083073,35.725326,0.442546)">
+ transform="matrix(0.04083073,0,0,0.04083073,35.725326,178.44255)">
<path
d=""
id="path2323"
@@ -84,7 +87,7 @@
</g>
<g
id="g2325"
- transform="matrix(0.04083073,0,0,0.04083073,35.725326,0.442546)">
+ transform="matrix(0.04083073,0,0,0.04083073,35.725326,178.44255)">
<path
d=""
id="path2329"
@@ -92,39 +95,39 @@
inkscape:connector-curvature="0" />
</g>
<circle
- style="fill:#0089cd;fill-opacity:1;stroke:none;stroke-width:2.10489988;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ style="fill:#0089cd;fill-opacity:1;stroke:none;stroke-width:19.34242439;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path898"
- cx="7.4564438"
- cy="6.1999226"
- r="2.5702684" />
+ cx="70.480728"
+ cy="55.175976"
+ r="23.618807" />
<path
- style="fill:#0089cd;fill-opacity:1;stroke:none;stroke-width:1.2851342px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- d="M 1.7888865,21.595802 C 1.7472225,18.024565 2.7605344,9.5386167 5.2788818,9.3760639 c 1.9139241,-0.076555 2.6380187,-0.132203 4.1544689,0 2.1751583,0.1782276 3.9757453,7.8313611 3.9921953,12.2197371 h -1.607697 c -0.229376,-3.388486 -0.611612,-5.480113 -1.301468,-7.693975 -0.153114,1.071798 -0.229671,7.693976 -0.229671,7.693976 H 4.9277222 L 4.6214943,13.901826 c -1.1217852,2.785041 -1.3214048,5.746992 -1.3014684,7.770533 z"
+ style="fill:#0089cd;fill-opacity:1;stroke:none;stroke-width:11.80940342px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 18.400196,196.65238 C 18.017335,163.8354 27.328899,85.85608 50.470592,84.362277 c 17.587504,-0.702977 24.241381,-1.214817 38.176402,0 19.988056,1.637799 36.534076,71.964233 36.685236,112.290103 h -14.77352 c -2.10778,-31.13765 -5.62024,-50.35805 -11.959493,-70.70173 -1.407001,9.84894 -2.110502,70.70173 -2.110502,70.70173 H 47.243703 l -2.814001,-70.70173 c -10.308351,25.5924 -12.142703,52.81047 -11.959503,71.40525 z"
id="path900"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccccccccc" />
<path
- style="fill:#0089cd;fill-opacity:1;stroke:none;stroke-width:1.2851342px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- d="m 10.036017,7.7333484 c 0.706308,0.4985691 2.617492,-1.4126154 3.406895,-1.3710679 0.789403,0.041547 4.071655,0.9971401 5.027247,-0.1661899 C 19.425753,5.0327605 19.010277,1.2103904 17.680758,0.91955782 16.351238,0.62872539 10.243755,-0.32686724 9.4959004,1.7920554 8.7480459,3.910978 11.240895,5.3651405 11.656369,5.5313305 11.781013,6.320733 10.036017,7.7333484 10.036017,7.7333484 Z"
+ style="fill:#0089cd;fill-opacity:1;stroke:none;stroke-width:11.80940342px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 94.185039,69.267024 c 6.490431,4.581479 24.052751,-12.9809 31.306761,-12.599087 7.25402,0.382272 37.41541,9.162956 46.19657,-1.527159 8.78119,-10.690116 4.96328,-45.8147836 -7.254,-48.4872889 -12.21726,-2.6725063 -68.340379,-11.453742 -75.212592,8.0176089 -6.872212,19.47126 16.035162,32.833882 19.853062,34.361041 1.14538,7.253985 -14.889801,20.234885 -14.889801,20.234885 z"
id="path902"
inkscape:connector-curvature="0"
sodipodi:nodetypes="csssscc" />
<circle
- style="fill:#0089cd;fill-opacity:1;stroke:#ffffff;stroke-width:0.50433594;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ style="fill:#0089cd;fill-opacity:1;stroke:#ffffff;stroke-width:4.63446236;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path904"
- cx="12.427114"
- cy="3.3160748"
- r="0.24783203" />
+ cx="116.1574"
+ cy="28.675596"
+ r="2.2773874" />
<circle
- style="fill:#0089cd;fill-opacity:1;stroke:#ffffff;stroke-width:0.50433594;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ style="fill:#0089cd;fill-opacity:1;stroke:#ffffff;stroke-width:4.63446236;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path904-5"
- cx="14.454914"
- cy="3.3160748"
- r="0.24783203" />
+ cx="134.79134"
+ cy="28.675596"
+ r="2.2773874" />
<circle
- style="fill:#0089cd;fill-opacity:1;stroke:#ffffff;stroke-width:0.50433594;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ style="fill:#0089cd;fill-opacity:1;stroke:#ffffff;stroke-width:4.63446236;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path904-5-5"
- cx="16.446732"
- cy="3.3160748"
- r="0.24783203" />
+ cx="153.09462"
+ cy="28.675596"
+ r="2.2773874" />
</svg>
diff --git a/navit/icons/concert.svg b/navit/icons/concert.svg
index d226e4c2d..c908b056f 100644
--- a/navit/icons/concert.svg
+++ b/navit/icons/concert.svg
@@ -9,14 +9,17 @@
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"
- height="22"
+ height="200"
id="svg2"
inkscape:output_extension="org.inkscape.output.svg.inkscape"
inkscape:version="0.92.2 (5c3e80d, 2017-08-06)"
sodipodi:docname="concert.svg"
sodipodi:version="0.32"
version="1.0"
- width="22">
+ width="200"
+ inkscape:export-filename="C:\Users\jeremy\Pictures\svg\concert.png"
+ inkscape:export-xdpi="96"
+ inkscape:export-ydpi="96">
<defs
id="defs22">
<inkscape:perspective
@@ -49,7 +52,7 @@
guidetolerance="10.0"
id="base"
inkscape:current-layer="svg2"
- inkscape:cx="20.75586"
+ inkscape:cx="14.153144"
inkscape:cy="4.6274553"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
@@ -57,7 +60,7 @@
inkscape:window-width="1366"
inkscape:window-x="-8"
inkscape:window-y="-8"
- inkscape:zoom="12.680782"
+ inkscape:zoom="1"
objecttolerance="10.0"
pagecolor="#ffffff"
showgrid="false"
@@ -67,16 +70,16 @@
inkscape:lockguides="true" />
<g
id="g1327"
- transform="matrix(0.04083073,0,0,0.04083073,-0.1767767,-1.0602338)">
+ transform="matrix(0.34431731,0,0,0.34431731,-0.1767767,0.6565548)">
<path
- d="M 66.275,1.768 C 24.94,1.768 1.704,23.139 1.704,66.804 l 0,450.123 c 0,40.844 20.894,62.229 62.192,62.229 l 452.024,0 c 41.307,0 62.229,-20.316 62.229,-62.229 l 0,-450.123 c 0,-42.601 -20.922,-65.036 -63.522,-65.036 -0.003,0 -448.494,-0.143 -448.352,0 z"
+ d="M 66.275,1.768 C 24.94,1.768 1.704,23.139 1.704,66.804 v 450.123 c 0,40.844 20.894,62.229 62.192,62.229 H 515.92 c 41.307,0 62.229,-20.316 62.229,-62.229 V 66.804 c 0,-42.601 -20.922,-65.036 -63.522,-65.036 -0.003,0 -448.494,-0.143 -448.352,0 z"
id="path1329"
style="fill:#111111;fill-opacity:0;stroke:#eeeeee;stroke-width:3.40799999;stroke-opacity:0"
inkscape:connector-curvature="0" />
</g>
<g
id="g2319"
- transform="matrix(0.04083073,0,0,0.04083073,35.725326,0.442546)">
+ transform="matrix(0.04083073,0,0,0.04083073,35.725326,178.44255)">
<path
d=""
id="path2323"
@@ -85,62 +88,42 @@
</g>
<g
id="g2325"
- transform="matrix(0.04083073,0,0,0.04083073,35.725326,0.442546)">
+ transform="matrix(0.04083073,0,0,0.04083073,35.725326,178.44255)">
<path
d=""
id="path2329"
style="fill:#0089cd;stroke:none"
inkscape:connector-curvature="0" />
</g>
- <path
- style="fill:#0089cd;fill-opacity:1;stroke:none;stroke-width:1.16406763px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- d="M 11.89298,0.29824419 C 6.7920335,0.36448969 3.0245422,3.9744881 3.0160085,9.208339 c -0.00777,4.764226 8.8769715,12.089905 8.8769715,12.089905 0,0 8.399996,-7.12183 8.41325,-12.089905 C 20.3186,4.5706582 16.993926,0.29824419 11.89298,0.29824419 Z"
- id="path1492"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cscsc" />
- <path
- style="fill:#0089cd;fill-opacity:1;stroke:#ffffff;stroke-width:0.30000001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- d="M 11.875679,1.0590326 C 7.1553836,1.1203346 3.669036,4.4609421 3.6611391,9.3042242 3.6539491,13.712926 11.875679,20.491937 11.875679,20.491937 c 0,0 7.773159,-6.590374 7.785423,-11.1877128 0.01145,-4.2916004 -3.065128,-8.2451916 -7.785423,-8.2451916 z"
- id="path1492-2"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cscsc"
- inkscape:transform-center-x="-1.3165584"
- inkscape:transform-center-y="3.1070785" />
- <circle
- style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1.25710332;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- id="path1494"
- cx="11.661134"
- cy="8.7982445"
- r="7" />
<circle
- style="fill:#0089cd;fill-opacity:1;stroke:none;stroke-width:0.50632137;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ style="fill:#0089cd;fill-opacity:1;stroke:none;stroke-width:9.95306969;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path1511"
- cx="8.9422398"
- cy="12.313624"
- r="1.313432" />
+ cx="54.465088"
+ cy="171.69257"
+ r="25.818937" />
<circle
- style="fill:#0089cd;fill-opacity:1;stroke:none;stroke-width:0.50632137;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ style="fill:#0089cd;fill-opacity:1;stroke:none;stroke-width:9.95306969;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path1511-2"
- cx="13.315376"
- cy="10.128977"
- r="1.313432" />
+ cx="140.43051"
+ cy="128.74763"
+ r="25.818937" />
<rect
- style="fill:#0089cd;fill-opacity:1;stroke:none;stroke-width:0.47141925;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ style="fill:#0089cd;fill-opacity:1;stroke:none;stroke-width:9.26697731;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect1530"
- width="1.1041681"
- height="5.7941589"
- x="9.1515036"
- y="6.3877821" />
+ width="21.705309"
+ height="113.89934"
+ x="58.578712"
+ y="55.204674" />
<rect
- style="fill:#0089cd;fill-opacity:1;stroke:none;stroke-width:0.47141925;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ style="fill:#0089cd;fill-opacity:1;stroke:none;stroke-width:9.26697731;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect1530-1"
- width="1.1041681"
- height="5.7941589"
- x="13.52464"
- y="4.2824731" />
+ width="21.705309"
+ height="113.89934"
+ x="144.54413"
+ y="13.819176" />
<path
- style="fill:#0089cd;fill-opacity:1;stroke:none;stroke-width:1.75124252px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- d="M 9.1557652,6.3877811 14.628808,3.7072399 V 5.1514704 L 9.1557652,7.8504332 Z"
+ style="fill:#0089cd;fill-opacity:1;stroke:none;stroke-width:34.42524719px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 58.662477,55.204534 166.24943,2.511515 V 30.901629 L 58.662477,83.956741 Z"
id="path1547"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccc" />
diff --git a/navit/icons/diving.svg b/navit/icons/diving.svg
index 6d152305d..66f16c2dc 100644
--- a/navit/icons/diving.svg
+++ b/navit/icons/diving.svg
@@ -41,7 +41,7 @@
<cc:license
rdf:resource="http://web.resource.org/cc/PublicDomain" />
<dc:language>en</dc:language>
- <dc:title></dc:title>
+ <dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
@@ -52,7 +52,7 @@
guidetolerance="10.0"
id="base"
inkscape:current-layer="svg2"
- inkscape:cx="8.2895468"
+ inkscape:cx="-75.438052"
inkscape:cy="15.403137"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
@@ -96,161 +96,141 @@
inkscape:connector-curvature="0" />
</g>
<path
- style="fill:#0089cd;fill-opacity:1;stroke:none;stroke-width:10.5320406px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- d="M 105.71659,7.77381 C 59.565172,8.3727616 25.478346,41.035119 25.401136,88.388999 c -0.0703,43.104841 80.315454,109.384811 80.315454,109.384811 0,0 75.99996,-64.43561 76.11988,-109.384811 C 181.94839,46.429038 151.868,7.77381 105.71659,7.77381 Z"
- id="path1492"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cscsc" />
- <path
- style="fill:#0089cd;fill-opacity:1;stroke:#ffffff;stroke-width:2.71428585;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- d="M 105.56006,14.657148 C 62.852625,15.211767 31.309481,45.436333 31.238033,89.256485 31.172981,129.14482 105.56006,190.47871 105.56006,190.47871 c 0,0 70.32858,-59.62725 70.43954,-101.222225 0.10359,-38.828761 -27.73211,-74.599337 -70.43954,-74.599337 z"
- id="path1492-2"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cscsc"
- inkscape:transform-center-x="-11.911719"
- inkscape:transform-center-y="28.111661" />
- <circle
- style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:11.37379265;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- id="path1494"
- cx="103.61893"
- cy="84.678642"
- r="63.333332" />
- <path
- style="fill:none;fill-opacity:1;stroke:#0089cd;stroke-width:2.62517977;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ style="fill:none;fill-opacity:1;stroke:#0089cd;stroke-width:4.22586489;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path830"
sodipodi:type="arc"
- sodipodi:cx="51.743343"
- sodipodi:cy="106.26794"
- sodipodi:rx="7.3207736"
- sodipodi:ry="7.4351912"
+ sodipodi:cx="18.007557"
+ sodipodi:cy="143.67285"
+ sodipodi:rx="11.784565"
+ sodipodi:ry="11.968748"
sodipodi:start="0"
sodipodi:end="3.1415927"
sodipodi:open="true"
- d="m 59.064117,106.26794 a 7.3207736,7.4351912 0 0 1 -3.660387,6.43906 7.3207736,7.4351912 0 0 1 -7.320774,0 7.3207736,7.4351912 0 0 1 -3.660386,-6.43906" />
+ d="m 29.792122,143.67285 a 11.784565,11.968748 0 0 1 -5.892283,10.36524 11.784565,11.968748 0 0 1 -11.784565,0 11.784565,11.968748 0 0 1 -5.8922821,-10.36524" />
<path
- style="fill:none;fill-opacity:1;stroke:#0089cd;stroke-width:2.62517977;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ style="fill:none;fill-opacity:1;stroke:#0089cd;stroke-width:4.22586489;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path830-0"
sodipodi:type="arc"
- sodipodi:cx="66.556892"
- sodipodi:cy="106.26794"
- sodipodi:rx="7.3207736"
- sodipodi:ry="7.4351912"
+ sodipodi:cx="41.853569"
+ sodipodi:cy="143.67285"
+ sodipodi:rx="11.784565"
+ sodipodi:ry="11.968748"
sodipodi:start="0"
sodipodi:end="3.1415927"
sodipodi:open="true"
- d="m 73.877666,106.26794 a 7.3207736,7.4351912 0 0 1 -3.660387,6.43906 7.3207736,7.4351912 0 0 1 -7.320774,0 7.3207736,7.4351912 0 0 1 -3.660386,-6.43906" />
+ d="m 53.638134,143.67285 a 11.784565,11.968748 0 0 1 -5.892283,10.36524 11.784565,11.968748 0 0 1 -11.784565,0 11.784565,11.968748 0 0 1 -5.892282,-10.36524" />
<path
- style="fill:none;fill-opacity:1;stroke:#0089cd;stroke-width:2.62517977;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ style="fill:none;fill-opacity:1;stroke:#0089cd;stroke-width:4.22586489;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path830-0-3"
sodipodi:type="arc"
- sodipodi:cx="81.295563"
- sodipodi:cy="106.26794"
- sodipodi:rx="7.3207736"
- sodipodi:ry="7.4351912"
+ sodipodi:cx="65.579041"
+ sodipodi:cy="143.67285"
+ sodipodi:rx="11.784565"
+ sodipodi:ry="11.968748"
sodipodi:start="6.2639059"
sodipodi:end="3.1415927"
sodipodi:open="true"
- d="m 88.614976,106.1246 a 7.3207736,7.4351912 0 0 1 -3.577844,6.53409 7.3207736,7.4351912 0 0 1 -7.361137,0.0721 7.3207736,7.4351912 0 0 1 -3.701206,-6.46282" />
+ d="m 77.361415,143.44212 a 11.784565,11.968748 0 0 1 -5.759409,10.5182 11.784565,11.968748 0 0 1 -11.84954,0.11602 11.784565,11.968748 0 0 1 -5.95799,-10.40349" />
<path
- style="fill:none;fill-opacity:1;stroke:#0089cd;stroke-width:2.62517977;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ style="fill:none;fill-opacity:1;stroke:#0089cd;stroke-width:4.22586489;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path830-8"
sodipodi:type="arc"
- sodipodi:cx="96.486855"
- sodipodi:cy="106.26794"
- sodipodi:rx="7.3207736"
- sodipodi:ry="7.4351912"
+ sodipodi:cx="90.033112"
+ sodipodi:cy="143.67285"
+ sodipodi:rx="11.784565"
+ sodipodi:ry="11.968748"
sodipodi:start="0"
sodipodi:end="3.1415927"
sodipodi:open="true"
- d="m 103.80763,106.26794 a 7.3207736,7.4351912 0 0 1 -3.66039,6.43906 7.3207736,7.4351912 0 0 1 -7.320772,0 7.3207736,7.4351912 0 0 1 -3.660387,-6.43906" />
+ d="m 101.81768,143.67285 a 11.784565,11.968748 0 0 1 -5.892286,10.36524 11.784565,11.968748 0 0 1 -11.784565,0 11.784565,11.968748 0 0 1 -5.892282,-10.36524" />
<path
- style="fill:none;fill-opacity:1;stroke:#0089cd;stroke-width:2.62517977;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ style="fill:none;fill-opacity:1;stroke:#0089cd;stroke-width:4.22586489;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path830-0-7"
sodipodi:type="arc"
- sodipodi:cx="111.30039"
- sodipodi:cy="106.26794"
- sodipodi:rx="7.3207736"
- sodipodi:ry="7.4351912"
+ sodipodi:cx="113.8791"
+ sodipodi:cy="143.67285"
+ sodipodi:rx="11.784565"
+ sodipodi:ry="11.968748"
sodipodi:start="0"
sodipodi:end="3.1415927"
sodipodi:open="true"
- d="m 118.62117,106.26794 a 7.3207736,7.4351912 0 0 1 -3.66039,6.43906 7.3207736,7.4351912 0 0 1 -7.32077,0 7.3207736,7.4351912 0 0 1 -3.66039,-6.43906" />
+ d="m 125.66366,143.67285 a 11.784565,11.968748 0 0 1 -5.89228,10.36524 11.784565,11.968748 0 0 1 -11.78457,0 11.784565,11.968748 0 0 1 -5.89228,-10.36524" />
<path
- style="fill:none;fill-opacity:1;stroke:#0089cd;stroke-width:2.62517977;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ style="fill:none;fill-opacity:1;stroke:#0089cd;stroke-width:4.22586489;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path830-0-3-0"
sodipodi:type="arc"
- sodipodi:cx="126.03909"
- sodipodi:cy="106.26794"
- sodipodi:rx="7.3207736"
- sodipodi:ry="7.4351912"
+ sodipodi:cx="137.60463"
+ sodipodi:cy="143.67285"
+ sodipodi:rx="11.784565"
+ sodipodi:ry="11.968748"
sodipodi:start="6.2639059"
sodipodi:end="3.1415927"
sodipodi:open="true"
- d="m 133.35851,106.1246 a 7.3207736,7.4351912 0 0 1 -3.57785,6.53409 7.3207736,7.4351912 0 0 1 -7.36114,0.0721 7.3207736,7.4351912 0 0 1 -3.7012,-6.46282" />
+ d="m 149.387,143.44212 a 11.784565,11.968748 0 0 1 -5.7594,10.5182 11.784565,11.968748 0 0 1 -11.84955,0.11602 11.784565,11.968748 0 0 1 -5.95799,-10.40349" />
<path
- style="fill:none;fill-opacity:1;stroke:#0089cd;stroke-width:2.62517977;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ style="fill:none;fill-opacity:1;stroke:#0089cd;stroke-width:4.22586489;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path830-9"
sodipodi:type="arc"
- sodipodi:cx="140.80014"
- sodipodi:cy="106.69812"
- sodipodi:rx="7.3207736"
- sodipodi:ry="7.4351912"
+ sodipodi:cx="161.36612"
+ sodipodi:cy="144.36534"
+ sodipodi:rx="11.784565"
+ sodipodi:ry="11.968748"
sodipodi:start="0"
sodipodi:end="3.1415927"
sodipodi:open="true"
- d="m 148.12091,106.69812 a 7.3207736,7.4351912 0 0 1 -3.66038,6.43906 7.3207736,7.4351912 0 0 1 -7.32078,0 7.3207736,7.4351912 0 0 1 -3.66038,-6.43906" />
+ d="m 173.15068,144.36534 a 11.784565,11.968748 0 0 1 -5.89228,10.36524 11.784565,11.968748 0 0 1 -11.78456,0 11.784565,11.968748 0 0 1 -5.89229,-10.36524" />
<path
- style="fill:none;fill-opacity:1;stroke:#0089cd;stroke-width:2.62517977;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ style="fill:none;fill-opacity:1;stroke:#0089cd;stroke-width:4.22586489;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path830-0-31"
sodipodi:type="arc"
- sodipodi:cx="155.61369"
- sodipodi:cy="106.69812"
- sodipodi:rx="7.3207736"
- sodipodi:ry="7.4351912"
+ sodipodi:cx="185.21214"
+ sodipodi:cy="144.36534"
+ sodipodi:rx="11.784565"
+ sodipodi:ry="11.968748"
sodipodi:start="0"
sodipodi:end="3.1415927"
sodipodi:open="true"
- d="m 162.93447,106.69812 a 7.3207736,7.4351912 0 0 1 -3.66039,6.43906 7.3207736,7.4351912 0 0 1 -7.32077,0 7.3207736,7.4351912 0 0 1 -3.66039,-6.43906" />
+ d="m 196.99671,144.36534 a 11.784565,11.968748 0 0 1 -5.89228,10.36524 11.784565,11.968748 0 0 1 -11.78457,0 11.784565,11.968748 0 0 1 -5.89228,-10.36524" />
<circle
- style="fill:#0089cd;fill-opacity:1;stroke:none;stroke-width:2.54270792;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ style="fill:#0089cd;fill-opacity:1;stroke:none;stroke-width:4.09310675;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path1643"
- cx="129.37593"
- cy="70.390434"
- r="6.7857141" />
+ cx="142.97609"
+ cy="85.919296"
+ r="10.923257" />
<rect
- style="fill:#0089cd;fill-opacity:1;stroke:none;stroke-width:1.05734622;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ style="fill:#0089cd;fill-opacity:1;stroke:none;stroke-width:1.70205581;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect1645"
- width="32.729244"
- height="6.0114937"
- x="120.18913"
- y="-64.555145"
- ry="2.748287"
- rx="2.6472816"
+ width="52.685677"
+ height="9.6769609"
+ x="135.44214"
+ y="-63.360096"
+ ry="4.424036"
+ rx="4.2614436"
transform="rotate(57.709826)"
- inkscape:transform-center-y="0.64987615"
- inkscape:transform-center-x="0.15432644" />
+ inkscape:transform-center-y="1.0461464"
+ inkscape:transform-center-x="0.24843131" />
<rect
- style="fill:#0089cd;fill-opacity:1;stroke:none;stroke-width:1.05734622;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ style="fill:#0089cd;fill-opacity:1;stroke:none;stroke-width:1.70205581;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect1645-8"
- width="32.729244"
- height="6.0114937"
- x="77.826042"
- y="-36.33596"
- ry="2.748287"
- rx="2.6472816"
+ width="52.685677"
+ height="9.6769609"
+ x="64.138474"
+ y="-22.794872"
+ ry="4.424036"
+ rx="4.2614436"
transform="rotate(53.038857)"
- inkscape:transform-center-y="0.66027451"
- inkscape:transform-center-x="0.10088982" />
+ inkscape:transform-center-y="1.0628748"
+ inkscape:transform-center-x="0.16240914" />
<rect
- style="fill:#0089cd;fill-opacity:1;stroke:none;stroke-width:1.19884491;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ style="fill:#0089cd;fill-opacity:1;stroke:none;stroke-width:1.92983234;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect1645-8-8"
- width="33.038124"
- height="7.6558709"
- x="97.159592"
- y="40.117359"
- ry="3.5000503"
- rx="2.6722651"
+ width="53.182892"
+ height="12.323986"
+ x="87.769211"
+ y="52.05463"
+ ry="5.634182"
+ rx="4.3016605"
transform="matrix(0.9758835,0.21829199,-0.135073,0.99083565,0,0)"
- inkscape:transform-center-y="0.70558839"
- inkscape:transform-center-x="-0.37780337" />
+ inkscape:transform-center-y="1.135816"
+ inkscape:transform-center-x="-0.60816508" />
</svg>
diff --git a/navit/icons/emergency.svg b/navit/icons/emergency.svg
index c88c6aaa0..acffcc96b 100644
--- a/navit/icons/emergency.svg
+++ b/navit/icons/emergency.svg
@@ -9,16 +9,29 @@
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"
- height="22"
+ height="200"
id="svg2"
inkscape:output_extension="org.inkscape.output.svg.inkscape"
- inkscape:version="0.91 r13725"
+ inkscape:version="0.92.2 (5c3e80d, 2017-08-06)"
sodipodi:docname="emergency.svg"
sodipodi:version="0.32"
version="1.0"
- width="22">
+ width="200"
+ inkscape:export-filename="C:\Users\jeremy\Pictures\svg\emergency.png"
+ inkscape:export-xdpi="96"
+ inkscape:export-ydpi="96">
+ <defs
+ id="defs22">
+ <inkscape:perspective
+ id="perspective24"
+ inkscape:persp3d-origin="290 : 193.33333 : 1"
+ inkscape:vp_x="0 : 290 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="580 : 290 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ </defs>
<metadata
- id="metadata2975">
+ id="metadata10">
<rdf:RDF>
<cc:Work
rdf:about="">
@@ -26,20 +39,10 @@
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<cc:license
- rdf:resource="http://creativecommons.org/publicdomain/zero/1.0/" />
+ rdf:resource="http://web.resource.org/cc/PublicDomain" />
<dc:language>en</dc:language>
<dc:title />
- <dc:description>jfitie@gmail.com</dc:description>
</cc:Work>
- <cc:License
- rdf:about="http://creativecommons.org/publicdomain/zero/1.0/">
- <cc:permits
- rdf:resource="http://creativecommons.org/ns#Reproduction" />
- <cc:permits
- rdf:resource="http://creativecommons.org/ns#Distribution" />
- <cc:permits
- rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
- </cc:License>
</rdf:RDF>
</metadata>
<sodipodi:namedview
@@ -49,456 +52,68 @@
guidetolerance="10.0"
id="base"
inkscape:current-layer="svg2"
- inkscape:cx="78.817949"
- inkscape:cy="44.555593"
- inkscape:pageopacity="0"
+ inkscape:cx="63.25448"
+ inkscape:cy="100.6273"
+ inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
- inkscape:window-height="874"
- inkscape:window-width="1440"
- inkscape:window-x="0"
- inkscape:window-y="0"
- inkscape:zoom="3.6867085"
+ inkscape:window-height="705"
+ inkscape:window-width="1366"
+ inkscape:window-x="-8"
+ inkscape:window-y="-8"
+ inkscape:zoom="2.1796875"
objecttolerance="10.0"
- pagecolor="#ff1dff"
+ pagecolor="#ffffff"
showgrid="false"
- inkscape:snap-global="true"
- inkscape:snap-nodes="false"
- inkscape:snap-grids="false"
- inkscape:snap-to-guides="false"
- inkscape:window-maximized="1" />
- <defs
- id="defs4">
- <inkscape:perspective
- id="perspective2441"
- inkscape:persp3d-origin="290 : 193.33333 : 1"
- inkscape:vp_x="0 : 290 : 1"
- inkscape:vp_y="0 : 1000 : 0"
- inkscape:vp_z="580 : 290 : 1"
- sodipodi:type="inkscape:persp3d" />
- <inkscape:perspective
- id="perspective3452"
- inkscape:persp3d-origin="30 : 20 : 1"
- inkscape:vp_x="0 : 30 : 1"
- inkscape:vp_y="0 : 1000 : 0"
- inkscape:vp_z="60 : 30 : 1"
- sodipodi:type="inkscape:persp3d" />
- <symbol
- id="symbol-university"
- viewBox="244.5 110 489 219.9">
- <path
- d="m 79,43 57,119 c 0,0 21,-96 104,-96 83,0 124,106 124,106 L 407,39 489,22 0,17 79,43 Z"
- id="path4460"
- inkscape:connector-curvature="0" />
- <path
- d="M 94,176 73,215"
- id="path4462"
- inkscape:connector-curvature="0"
- style="fill:none;stroke:#000000;stroke-width:20" />
- <path
- d="M 300,19 C 300,29.5 277.4,38 249.5,38 221.6,38 199,29.5 199,19 199,8.5 221.6,0 249.5,0 277.4,0 300,8.5 300,19 Z"
- id="path4464"
- inkscape:connector-curvature="0" />
- <path
- d="M 112,216 96,178 64,88 C 64,88 55,80 60,53 65,26 76,29 76,29"
- id="path4466"
- ill="none"
- inkscape:connector-curvature="0"
- style="stroke:#000000;stroke-width:20" />
- </symbol>
- <inkscape:perspective
- id="perspective4471"
- inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
- inkscape:vp_x="0 : 526.18109 : 1"
- inkscape:vp_y="0 : 1000 : 0"
- inkscape:vp_z="744.09448 : 526.18109 : 1"
- sodipodi:type="inkscape:persp3d" />
- <inkscape:perspective
- id="perspective4668"
- inkscape:persp3d-origin="6 : 4 : 1"
- inkscape:vp_x="0 : 6 : 1"
- inkscape:vp_y="0 : 1000 : 0"
- inkscape:vp_z="12 : 6 : 1"
- sodipodi:type="inkscape:persp3d" />
- <inkscape:perspective
- id="perspective4904"
- inkscape:persp3d-origin="16 : 10.666667 : 1"
- inkscape:vp_x="0 : 16 : 1"
- inkscape:vp_y="0 : 1000 : 0"
- inkscape:vp_z="32 : 16 : 1"
- sodipodi:type="inkscape:persp3d" />
- <marker
- id="Arrow2Lend"
- inkscape:stockid="Arrow2Lend"
- orient="auto"
- refX="0"
- refY="0"
- style="overflow:visible">
- <path
- d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
- id="path4137"
- style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
- transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
- inkscape:connector-curvature="0" />
- </marker>
- <marker
- id="Arrow1Mend"
- inkscape:stockid="Arrow1Mend"
- orient="auto"
- refX="0"
- refY="0"
- style="overflow:visible">
- <path
- d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z"
- id="path4125"
- style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
- transform="matrix(-0.4,0,0,-0.4,-4,0)"
- inkscape:connector-curvature="0" />
- </marker>
- <marker
- id="TriangleOutL"
- inkscape:stockid="TriangleOutL"
- orient="auto"
- refX="0"
- refY="0"
- style="overflow:visible">
- <path
- d="m 5.77,0 -8.65,5 0,-10 8.65,5 z"
- id="path4214"
- style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
- transform="scale(0.8,0.8)"
- inkscape:connector-curvature="0" />
- </marker>
- <marker
- id="Arrow1Lend"
- inkscape:stockid="Arrow1Lend"
- orient="auto"
- refX="0"
- refY="0"
- style="overflow:visible">
- <path
- d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z"
- id="path4119"
- style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
- transform="matrix(-0.8,0,0,-0.8,-10,0)"
- inkscape:connector-curvature="0" />
- </marker>
- <marker
- id="Tail"
- inkscape:stockid="Tail"
- orient="auto"
- refX="0"
- refY="0"
- style="overflow:visible">
- <g
- id="g4152"
- transform="scale(-1.2,-1.2)">
- <path
- d="M -3.8048674,-3.9585227 0.54352094,0"
- id="path4154"
- style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.80000001;stroke-linecap:round;marker-start:none;marker-end:none"
- inkscape:connector-curvature="0" />
- <path
- d="M -1.2866832,-3.9585227 3.0617053,0"
- id="path4156"
- style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.80000001;stroke-linecap:round;marker-start:none;marker-end:none"
- inkscape:connector-curvature="0" />
- <path
- d="M 1.3053582,-3.9585227 5.6537466,0"
- id="path4158"
- style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.80000001;stroke-linecap:round;marker-start:none;marker-end:none"
- inkscape:connector-curvature="0" />
- <path
- d="M -3.8048674,4.1775838 0.54352094,0.21974226"
- id="path4160"
- style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.80000001;stroke-linecap:round;marker-start:none;marker-end:none"
- inkscape:connector-curvature="0" />
- <path
- d="M -1.2866832,4.1775838 3.0617053,0.21974226"
- id="path4162"
- style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.80000001;stroke-linecap:round;marker-start:none;marker-end:none"
- inkscape:connector-curvature="0" />
- <path
- d="M 1.3053582,4.1775838 5.6537466,0.21974226"
- id="path4164"
- style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.80000001;stroke-linecap:round;marker-start:none;marker-end:none"
- inkscape:connector-curvature="0" />
- </g>
- </marker>
- <marker
- id="Arrow1Sstart"
- inkscape:stockid="Arrow1Sstart"
- orient="auto"
- refX="0"
- refY="0"
- style="overflow:visible">
- <path
- d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z"
- id="path4128"
- style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
- transform="matrix(0.2,0,0,0.2,1.2,0)"
- inkscape:connector-curvature="0" />
- </marker>
- <marker
- id="Arrow1Send"
- inkscape:stockid="Arrow1Send"
- orient="auto"
- refX="0"
- refY="0"
- style="overflow:visible">
- <path
- d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z"
- id="path4131"
- style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
- transform="matrix(-0.2,0,0,-0.2,-1.2,0)"
- inkscape:connector-curvature="0" />
- </marker>
- <marker
- id="SemiCircleOut"
- inkscape:stockid="SemiCircleOut"
- orient="auto"
- refX="0"
- refY="0"
- style="overflow:visible">
- <path
- d="m -2.5,-0.80913858 c 0,2.75999998 -2.24,4.99999998 -5,4.99999998 l 0,-10 c 2.76,0 5,2.24 5,5.00000002 z"
- id="path4235"
- style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
- transform="matrix(0.6,0,0,0.6,4.2752958,0.4580676)"
- inkscape:connector-curvature="0" />
- </marker>
- <marker
- id="Arrow2Send"
- inkscape:stockid="Arrow2Send"
- orient="auto"
- refX="0"
- refY="0"
- style="overflow:visible">
- <path
- d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
- id="path4149"
- style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
- transform="matrix(-0.3,0,0,-0.3,0.69,0)"
- inkscape:connector-curvature="0" />
- </marker>
- <marker
- id="TriangleOutS"
- inkscape:stockid="TriangleOutS"
- orient="auto"
- refX="0"
- refY="0"
- style="overflow:visible">
- <path
- d="m 5.77,0 -8.65,5 0,-10 8.65,5 z"
- id="path4220"
- style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
- transform="scale(0.2,0.2)"
- inkscape:connector-curvature="0" />
- </marker>
- <marker
- id="CurveIn"
- inkscape:stockid="CurveIn"
- orient="auto"
- refX="0"
- refY="0"
- style="overflow:visible">
- <path
- d="m 4.625493,-5.0456926 c -2.76,0 -5.00000002,2.24 -5.00000002,5.00000002 0,2.75999998 2.24000002,4.99999998 5.00000002,4.99999998"
- id="path4238"
- style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none;marker-end:none"
- transform="scale(0.6,0.6)"
- inkscape:connector-curvature="0" />
- </marker>
- <marker
- id="InfiniteLineStart"
- inkscape:stockid="InfiniteLineStart"
- orient="auto"
- refX="0"
- refY="0"
- style="overflow:visible">
- <g
- id="g4298"
- transform="translate(-13,0)">
- <circle
- cx="3"
- cy="0"
- id="circle4300"
- r="0.80000001" />
- <circle
- cx="6.5"
- cy="0"
- id="circle4302"
- r="0.80000001" />
- <circle
- cx="10"
- cy="0"
- id="circle4304"
- r="0.80000001" />
- </g>
- </marker>
- <marker
- id="StopS"
- inkscape:stockid="StopS"
- orient="auto"
- refX="0"
- refY="0"
- style="overflow:visible">
- <path
- d="M 0,5.65 0,-5.65"
- id="path4229"
- style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
- transform="scale(0.2,0.2)"
- inkscape:connector-curvature="0" />
- </marker>
- <marker
- id="Arrow2Sstart"
- inkscape:stockid="Arrow2Sstart"
- orient="auto"
- refX="0"
- refY="0"
- style="overflow:visible">
- <path
- d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
- id="path4146"
- style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
- transform="matrix(0.3,0,0,0.3,-0.69,0)"
- inkscape:connector-curvature="0" />
- </marker>
- <marker
- id="DiamondS"
- inkscape:stockid="DiamondS"
- orient="auto"
- refX="0"
- refY="0"
- style="overflow:visible">
- <path
- d="M 0,-7.0710768 -7.0710894,0 0,7.0710589 7.0710462,0 0,-7.0710768 Z"
- id="path4202"
- style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
- transform="scale(0.2,0.2)"
- inkscape:connector-curvature="0" />
- </marker>
- <marker
- id="RazorWire"
- inkscape:stockid="RazorWire"
- orient="auto"
- refX="0"
- refY="0">
- style=&quot;overflow:visible&quot;&gt;
- <path
- d="m 0.02272727,-0.74009011 0,1.4375 -7.78124997,2.31250001 18.4374997,0 -7.1874997,-2.31250001 0,-1.4375 7.2499997,-2.15624999 -18.4687497,0 7.74999997,2.15624999 z"
- id="path4286"
- style="fill:#808080;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.1pt"
- transform="scale(0.8,0.8)"
- inkscape:connector-curvature="0" />
-</marker>
- <inkscape:perspective
- id="perspective5233"
- inkscape:persp3d-origin="16 : 10.666667 : 1"
- inkscape:vp_x="0 : 16 : 1"
- inkscape:vp_y="0 : 1000 : 0"
- inkscape:vp_z="32 : 16 : 1"
- sodipodi:type="inkscape:persp3d" />
- <inkscape:perspective
- id="perspective5412"
- inkscape:persp3d-origin="250 : 166.66667 : 1"
- inkscape:vp_x="0 : 250 : 1"
- inkscape:vp_y="0 : 1000 : 0"
- inkscape:vp_z="500 : 250 : 1"
- sodipodi:type="inkscape:persp3d" />
- </defs>
+ inkscape:window-maximized="1"
+ inkscape:measure-start="0,0"
+ inkscape:measure-end="0,0"
+ inkscape:lockguides="true" />
+ <g
+ id="g1327"
+ transform="matrix(0.04083073,0,0,0.04083073,-0.1767767,176.93977)">
+ <path
+ d="M 66.275,1.768 C 24.94,1.768 1.704,23.139 1.704,66.804 v 450.123 c 0,40.844 20.894,62.229 62.192,62.229 H 515.92 c 41.307,0 62.229,-20.316 62.229,-62.229 V 66.804 c 0,-42.601 -20.922,-65.036 -63.522,-65.036 -0.003,0 -448.494,-0.143 -448.352,0 z"
+ id="path1329"
+ style="fill:#111111;fill-opacity:0;stroke:#eeeeee;stroke-width:3.40799999;stroke-opacity:0"
+ inkscape:connector-curvature="0" />
+ </g>
<g
- id="layer3"
- inkscape:label="Layout"
- style="display:none;stroke:#757575;stroke-opacity:1"
- transform="matrix(48.14969,0,0,48.14969,-536.27327,44.693248)">
- <rect
- height="10"
- id="rect4134"
- style="display:inline;fill:none;stroke:#757575;stroke-width:0.1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- width="10"
- x="1"
- y="1" />
- <rect
- height="8"
- id="rect4136"
- style="display:inline;fill:none;stroke:#757575;stroke-width:0.1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- width="8"
- x="2"
- y="2" />
+ id="g2319"
+ transform="matrix(0.04083073,0,0,0.04083073,35.725326,178.44255)">
+ <path
+ d=""
+ id="path2323"
+ style="fill:#0089cd;stroke:none"
+ inkscape:connector-curvature="0" />
</g>
<g
- id="g3448"
- transform="matrix(0.21007753,0,0,0.21007654,0.15074743,0.8225434)">
- <g
- transform="translate(-119.6189,31.193137)"
- id="g3440">
- <g
- id="g1327-3"
- transform="matrix(0.18023212,0,0,0.18023212,118.90132,-35.074477)"
- style="fill:#ffffff;stroke:#ffffff">
- <path
- d="M 66.275,1.768 C 24.94,1.768 1.704,23.139 1.704,66.804 l 0,450.123 c 0,40.844 20.895,62.229 62.192,62.229 l 452.024,0 c 41.307,0 62.229,-20.315 62.229,-62.229 l 0,-450.123 c 0,-42.601 -20.922,-65.036 -63.521,-65.036 -0.004,0 -448.495,-0.143 -448.353,0 z"
- id="path1329-6"
- style="fill:#ffffff;fill-opacity:0;stroke:#ffffff;stroke-width:3.40799999;stroke-opacity:0"
- inkscape:connector-curvature="0" />
- </g>
- <path
- style="fill:#ffffff;stroke:#ffffff;stroke-width:3.47710228;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
- d="m 168.77539,-26.714844 c -24.90882,0.65124 -45.67473,25.94229543 -41.17383,50.535156 3.15319,24.278992 29.43702,42.421637 53.26172,36.228516 C 205.34548,55.121653 221.58756,26.483972 212.6543,3.0039062 206.68201,-15.179354 187.88727,-27.91809 168.77539,-26.714844 Z"
- id="path2207-7"
- inkscape:connector-curvature="0" />
- <path
- style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:1.74868536;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
- d="m 135.40625,8.0332031 c 0,6.7701819 0,13.5403649 0,20.3105469 23.78385,0 47.56771,0 71.35156,0 -1.21558,-6.573853 1.68803,-13.539405 -0.66992,-19.890625 -3.17978,-5.0668552 -10.53922,-1.2344481 -15.33008,-2.4199219 -18.45052,0 -36.90104,0 -55.35156,0 l 0,1 0,1 z"
- id="rect3180-5"
- inkscape:connector-curvature="0" />
- <path
- style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:1.74868536;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
- d="m 159.92773,-16.488281 c 0,23.1171873 0,46.234375 0,69.351562 6.6053,-1.239496 13.63591,1.748711 19.99805,-0.724609 5.07576,-3.54689 1.01531,-11.203263 2.31055,-16.275391 0,-18.117187 0,-36.23437475 0,-54.351562 -7.4362,0 -14.8724,0 -22.3086,0 l 0,1 0,1 z"
- id="rect3182-3"
- inkscape:connector-curvature="0" />
- <path
- style="fill:#ffffff;stroke:#ffffff;stroke-width:3.47710252;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
- d="m 168.58789,-33.037109 c -26.875,0.732101 -50.02432,26.3501216 -47.70508,53.222656 1.03022,26.672013 26.49775,49.507971 53.19727,47.201172 27.06213,-1.027335 50.08523,-27.229656 47.11701,-54.273425 -1.67559,-26.180886 -26.35425,-48.021089 -52.6092,-46.150403 z"
- id="path2438-5"
- inkscape:connector-curvature="0" />
- </g>
- <g
- transform="matrix(0.18023212,0,0,0.18023212,-0.6781117,-3.9155248)"
- id="g1327">
- <path
- inkscape:connector-curvature="0"
- style="fill:#111111;fill-opacity:0;stroke:#eeeeee;stroke-width:3.40799999;stroke-opacity:0"
- id="path1329"
- d="M 66.275,1.768 C 24.94,1.768 1.704,23.139 1.704,66.804 l 0,450.123 c 0,40.844 20.895,62.229 62.192,62.229 l 452.024,0 c 41.307,0 62.229,-20.315 62.229,-62.229 l 0,-450.123 c 0,-42.601 -20.922,-65.036 -63.521,-65.036 -0.004,0 -448.495,-0.143 -448.353,0 z" />
- </g>
- <circle
- r="39.915974"
- cy="48.346523"
- cx="51.502563"
- style="fill:none;stroke:#da0092;stroke-width:3.47710228;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
- id="path2207" />
- <rect
- y="-55.501747"
- x="-83.177666"
- width="63.350189"
- transform="scale(-1,-1)"
- style="fill:#da0092;fill-opacity:1;stroke:#da0092;stroke-width:1.74868536;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
- id="rect3180"
- height="14.310408" />
- <rect
- y="44.34737"
- x="-80.021637"
- width="63.350189"
- transform="matrix(0,-1,1,0,0,0)"
- style="fill:#da0092;fill-opacity:1;stroke:#da0092;stroke-width:1.74868536;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
- id="rect3182"
- height="14.310408" />
- <circle
- r="46.242443"
- cy="48.346523"
- cx="51.502567"
- style="fill:none;stroke:#da0092;stroke-width:3.47710252;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
- id="path2438" />
+ id="g2325"
+ transform="matrix(0.04083073,0,0,0.04083073,35.725326,178.44255)">
+ <path
+ d=""
+ id="path2329"
+ style="fill:#0089cd;stroke:none"
+ inkscape:connector-curvature="0" />
</g>
+ <circle
+ style="fill:#ff0000;fill-opacity:1;stroke:none;stroke-width:17.50965309;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="path1494"
+ cx="101.07435"
+ cy="100.33749"
+ r="97.5" />
+ <rect
+ style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:14.25435543;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="rect1712"
+ width="125.35715"
+ height="41.785713"
+ x="38.395782"
+ y="79.444618" />
+ <rect
+ style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:14.25435543;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="rect1712-5"
+ width="125.35715"
+ height="41.785713"
+ x="37.658913"
+ y="-121.9672"
+ transform="rotate(90)" />
</svg>
diff --git a/navit/icons/fish.svg b/navit/icons/fish.svg
new file mode 100644
index 000000000..d0abd3a4c
--- /dev/null
+++ b/navit/icons/fish.svg
@@ -0,0 +1,124 @@
+<?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"
+ height="200"
+ id="svg2"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape"
+ inkscape:version="0.92.2 (5c3e80d, 2017-08-06)"
+ sodipodi:docname="fish.svg"
+ sodipodi:version="0.32"
+ version="1.0"
+ width="200"
+ inkscape:export-filename="C:\Users\jeremy\Pictures\svg\fish.png"
+ inkscape:export-xdpi="96"
+ inkscape:export-ydpi="96">
+ <defs
+ id="defs22">
+ <inkscape:perspective
+ id="perspective24"
+ inkscape:persp3d-origin="290 : 193.33333 : 1"
+ inkscape:vp_x="0 : 290 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="580 : 290 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ </defs>
+ <metadata
+ id="metadata10">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <cc:license
+ rdf:resource="http://web.resource.org/cc/PublicDomain" />
+ <dc:language>en</dc:language>
+ <dc:title />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <sodipodi:namedview
+ bordercolor="#666666"
+ borderopacity="1.0"
+ gridtolerance="10.0"
+ guidetolerance="10.0"
+ id="base"
+ inkscape:current-layer="svg2"
+ inkscape:cx="173.26216"
+ inkscape:cy="73.026273"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:window-height="705"
+ inkscape:window-width="1366"
+ inkscape:window-x="-8"
+ inkscape:window-y="-8"
+ inkscape:zoom="2.1796875"
+ objecttolerance="10.0"
+ pagecolor="#ffffff"
+ showgrid="false"
+ inkscape:window-maximized="1"
+ inkscape:measure-start="0,0"
+ inkscape:measure-end="0,0"
+ inkscape:lockguides="true" />
+ <g
+ id="g1327"
+ transform="matrix(0.04083073,0,0,0.04083073,-0.1767767,176.93977)">
+ <path
+ d="M 66.275,1.768 C 24.94,1.768 1.704,23.139 1.704,66.804 v 450.123 c 0,40.844 20.894,62.229 62.192,62.229 H 515.92 c 41.307,0 62.229,-20.316 62.229,-62.229 V 66.804 c 0,-42.601 -20.922,-65.036 -63.522,-65.036 -0.003,0 -448.494,-0.143 -448.352,0 z"
+ id="path1329"
+ style="fill:#111111;fill-opacity:0;stroke:#eeeeee;stroke-width:3.40799999;stroke-opacity:0"
+ inkscape:connector-curvature="0" />
+ </g>
+ <g
+ id="g2319"
+ transform="matrix(0.04083073,0,0,0.04083073,35.725326,178.44255)">
+ <path
+ d=""
+ id="path2323"
+ style="fill:#0089cd;stroke:none"
+ inkscape:connector-curvature="0" />
+ </g>
+ <g
+ id="g2325"
+ transform="matrix(0.04083073,0,0,0.04083073,35.725326,178.44255)">
+ <path
+ d=""
+ id="path2329"
+ style="fill:#0089cd;stroke:none"
+ inkscape:connector-curvature="0" />
+ </g>
+ <path
+ style="fill:#0089cd;fill-opacity:1;stroke:#0089cd;stroke-width:6.33289146;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 8.2249053,49.048542 C 30.777046,82.994317 71.553818,142.06288 121.68921,142.06288 c 50.13538,0 73.88372,-42.219274 73.88372,-42.219274 0,0 -26.26574,-51.881787 -80.48049,-50.795064 C 65.142738,50.049139 30.022314,103.05523 6.9055533,142.06288 11.156769,112.34642 9.3916793,75.312309 8.2249053,49.048542 Z"
+ id="path1729"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cscscc" />
+ <ellipse
+ style="fill:#0089cd;fill-opacity:1;stroke:#ffffff;stroke-width:5.6151638;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="path1731"
+ cx="172.80457"
+ cy="87.727531"
+ rx="4.5818696"
+ ry="4.5818691"
+ inkscape:transform-center-x="-0.30408871"
+ inkscape:transform-center-y="1.001269e-006" />
+ <path
+ style="fill:none;stroke:#ffffff;stroke-width:2.11096382;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 193.21381,112.55034 c 0,0 -14.29218,0.91194 -24.93527,-3.64901"
+ id="path1733"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#ffffff;stroke-width:2.11096382;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 145.16779,58.499749 c -20.98211,23.718999 -21.89437,55.648381 0.3042,76.630301"
+ id="path1735"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cc" />
+</svg>
diff --git a/navit/icons/ghost_town.svg b/navit/icons/ghost_town.svg
new file mode 100644
index 000000000..864193db3
--- /dev/null
+++ b/navit/icons/ghost_town.svg
@@ -0,0 +1,124 @@
+<?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"
+ height="200"
+ id="svg2"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape"
+ inkscape:version="0.92.2 (5c3e80d, 2017-08-06)"
+ sodipodi:docname="ghost_town.svg"
+ sodipodi:version="0.32"
+ version="1.0"
+ width="200"
+ inkscape:export-filename="C:\Users\jeremy\Pictures\svg\ghost_town.png"
+ inkscape:export-xdpi="96"
+ inkscape:export-ydpi="96">
+ <defs
+ id="defs22">
+ <inkscape:perspective
+ id="perspective24"
+ inkscape:persp3d-origin="290 : 193.33333 : 1"
+ inkscape:vp_x="0 : 290 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="580 : 290 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ </defs>
+ <metadata
+ id="metadata10">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <cc:license
+ rdf:resource="http://web.resource.org/cc/PublicDomain" />
+ <dc:language>en</dc:language>
+ <dc:title />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <sodipodi:namedview
+ bordercolor="#666666"
+ borderopacity="1.0"
+ gridtolerance="10.0"
+ guidetolerance="10.0"
+ id="base"
+ inkscape:current-layer="svg2"
+ inkscape:cx="108.52408"
+ inkscape:cy="89.612292"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:window-height="705"
+ inkscape:window-width="1366"
+ inkscape:window-x="-8"
+ inkscape:window-y="-8"
+ inkscape:zoom="2.1796875"
+ objecttolerance="10.0"
+ pagecolor="#ffffff"
+ showgrid="false"
+ inkscape:window-maximized="1"
+ inkscape:measure-start="0,0"
+ inkscape:measure-end="0,0"
+ inkscape:lockguides="true" />
+ <g
+ id="g2319"
+ transform="matrix(0.04083073,0,0,0.04083073,35.725326,178.44255)">
+ <path
+ d=""
+ id="path2323"
+ style="fill:#0089cd;stroke:none"
+ inkscape:connector-curvature="0" />
+ </g>
+ <g
+ id="g2325"
+ transform="matrix(0.04083073,0,0,0.04083073,35.725326,178.44255)">
+ <path
+ d=""
+ id="path2329"
+ style="fill:#0089cd;stroke:none"
+ inkscape:connector-curvature="0" />
+ </g>
+ <circle
+ style="fill:#323232;fill-opacity:1;stroke:none;stroke-width:17.50965309;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="path1494"
+ cx="98.991913"
+ cy="99.878708"
+ r="97.5" />
+ <path
+ style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:3.92267895;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 123.36122,18.558431 -48.152432,33.289147 -29.688226,36.87088 1.015127,74.757012 c 0,0 1.700314,11.31404 7.680633,15.36125 6.905494,-2.8917 3.74148,-24.1956 6.665489,-26.62376 4.311778,-1.27167 7.165717,14.85941 11.262377,16.39561 4.09666,1.53632 -0.3322,-18.21148 5.11404,-21.50962 3.67801,-2.22732 -0.49641,28.67642 11.28153,34.82143 11.777912,6.14501 10.51393,-10.84451 10.51393,-10.84451 l -1.81204,-15.22769 c -1.37767,-6.38709 3.099792,-10.78977 6.142232,-7.73411 6.90551,2.49474 -2.05004,13.82842 5.63118,21.50961 7.68125,7.68133 6.6497,-9.40304 6.78105,-14.95317 0.59392,-4.62497 -0.46451,-13.00551 7.04794,-14.23708 7.25195,-1.1895 2.52321,21.47675 15.36127,18.94313 10.80322,-2.13219 11.77953,-19.46016 11.77953,-19.46016 V 61.577661 Z"
+ id="path851"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccccccsscccscssccc" />
+ <rect
+ style="fill:#323232;fill-opacity:1;stroke:none;stroke-width:4.42024088;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="rect858"
+ width="13.928572"
+ height="13.928572"
+ x="55.059704"
+ y="99.090843" />
+ <rect
+ style="fill:#323232;fill-opacity:1;stroke:none;stroke-width:4.42024088;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="rect858-0"
+ width="13.928572"
+ height="13.928572"
+ x="80.097389"
+ y="99.090843"
+ inkscape:transform-center-x="14.064738"
+ inkscape:transform-center-y="-5.625892" />
+ <rect
+ style="fill:#323232;fill-opacity:1;stroke:none;stroke-width:4.49845934;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="rect858-4"
+ width="9.411725"
+ height="21.349106"
+ x="69.626968"
+ y="122.25526" />
+</svg>
diff --git a/navit/icons/hotspring.svg b/navit/icons/hotspring.svg
new file mode 100644
index 000000000..b599a2124
--- /dev/null
+++ b/navit/icons/hotspring.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"
+ height="200"
+ id="svg2"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape"
+ inkscape:version="0.92.2 (5c3e80d, 2017-08-06)"
+ sodipodi:docname="hotspring.svg"
+ sodipodi:version="0.32"
+ version="1.0"
+ width="200"
+ inkscape:export-filename="C:\Users\jeremy\Pictures\svg\hotspring.png"
+ inkscape:export-xdpi="96"
+ inkscape:export-ydpi="96">
+ <defs
+ id="defs22">
+ <inkscape:perspective
+ id="perspective24"
+ inkscape:persp3d-origin="290 : 193.33333 : 1"
+ inkscape:vp_x="0 : 290 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="580 : 290 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ </defs>
+ <metadata
+ id="metadata10">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <cc:license
+ rdf:resource="http://web.resource.org/cc/PublicDomain" />
+ <dc:language>en</dc:language>
+ <dc:title />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <sodipodi:namedview
+ bordercolor="#666666"
+ borderopacity="1.0"
+ gridtolerance="10.0"
+ guidetolerance="10.0"
+ id="base"
+ inkscape:current-layer="svg2"
+ inkscape:cx="111.45288"
+ inkscape:cy="153.74159"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:window-height="705"
+ inkscape:window-width="1366"
+ inkscape:window-x="-8"
+ inkscape:window-y="-8"
+ inkscape:zoom="1.4142136"
+ objecttolerance="10.0"
+ pagecolor="#ffffff"
+ showgrid="false"
+ inkscape:window-maximized="1"
+ inkscape:measure-start="0,0"
+ inkscape:measure-end="0,0"
+ inkscape:lockguides="true" />
+ <g
+ id="g1327"
+ transform="matrix(0.04083073,0,0,0.04083073,-0.1767767,176.93977)">
+ <path
+ d="M 66.275,1.768 C 24.94,1.768 1.704,23.139 1.704,66.804 v 450.123 c 0,40.844 20.894,62.229 62.192,62.229 H 515.92 c 41.307,0 62.229,-20.316 62.229,-62.229 V 66.804 c 0,-42.601 -20.922,-65.036 -63.522,-65.036 -0.003,0 -448.494,-0.143 -448.352,0 z"
+ id="path1329"
+ style="fill:#111111;fill-opacity:0;stroke:#eeeeee;stroke-width:3.40799999;stroke-opacity:0"
+ inkscape:connector-curvature="0" />
+ </g>
+ <g
+ id="g2319"
+ transform="matrix(0.04083073,0,0,0.04083073,35.725326,178.44255)">
+ <path
+ d=""
+ id="path2323"
+ style="fill:#0089cd;stroke:none"
+ inkscape:connector-curvature="0" />
+ </g>
+ <g
+ id="g2325"
+ transform="matrix(0.04083073,0,0,0.04083073,35.725326,178.44255)">
+ <path
+ d=""
+ id="path2329"
+ style="fill:#0089cd;stroke:none"
+ inkscape:connector-curvature="0" />
+ </g>
+ <path
+ style="fill:#0089cd;fill-opacity:1;stroke:none;stroke-width:11.36141205;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 34.810274,85.967742 a 97.499586,42.536584 0 0 0 -31.1265883,31.110308 97.499586,42.536584 0 0 0 97.4979743,42.53709 97.499586,42.536584 0 0 0 97.50202,-42.53709 97.499586,42.536584 0 0 0 -30.89871,-30.992296 83.340637,36.359397 0 0 1 16.73732,21.795526 83.340637,36.359397 0 0 1 -83.34063,36.3598 83.340637,36.359397 0 0 1 -83.340646,-36.3598 83.340637,36.359397 0 0 1 16.96926,-21.913538 z"
+ id="path839"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;fill-opacity:1;stroke:#0089cd;stroke-width:4.16703176;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 64.414602,41.752013 c -10.78766,10.430467 -14.38354,13.559606 -14.38354,21.556298 0,7.996677 17.97942,10.082769 17.46572,16.341046 -0.5137,6.258278 -17.46572,22.599343 -16.95203,25.033113"
+ id="path858"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cssc" />
+ <path
+ style="fill:none;fill-opacity:1;stroke:#0089cd;stroke-width:4.16703176;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 93.527762,25.866212 c -10.78766,10.430463 -14.38354,13.559599 -14.38354,21.556297 0,7.996673 17.97942,10.082764 17.46572,16.341041 -0.5137,6.258278 -17.46572,22.59934 -16.95202,25.033109"
+ id="path858-9"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cssc" />
+ <path
+ style="fill:none;fill-opacity:1;stroke:#0089cd;stroke-width:4.16703176;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 122.64091,40.204384 c -10.78765,10.430462 -14.38353,13.559601 -14.38353,21.556293 0,7.996678 17.97941,10.082769 17.46572,16.341046 -0.51369,6.258278 -17.46572,22.599337 -16.95203,25.033107"
+ id="path858-9-4"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cssc"
+ inkscape:transform-center-x="17.205763"
+ inkscape:transform-center-y="-14.340942" />
+ <path
+ style="fill:none;fill-opacity:1;stroke:#0089cd;stroke-width:4.16703176;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 151.75406,27.777961 c -10.78765,10.430463 -14.38353,13.559609 -14.38353,21.556298 0,7.996678 17.97941,10.08277 17.46572,16.341046 -0.51369,6.258278 -17.46572,22.59934 -16.95202,25.033109"
+ id="path858-9-4-0"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cssc"
+ inkscape:transform-center-x="17.205768"
+ inkscape:transform-center-y="-14.340945" />
+</svg>
diff --git a/navit/icons/navit_svg2png b/navit/icons/navit_svg2png
index 675207561..668613a61 100755
--- a/navit/icons/navit_svg2png
+++ b/navit/icons/navit_svg2png
@@ -1,5 +1,14 @@
#!/bin/sh
+exitwithhelp()
+{
+ echo "Usage: navit_svg2png <conversion_tool> <output_png_filename> [<width_px> <height_px>]"
+ echo "The input filename is the same than the output png one with svg or svgz extension"
+ echo "Possible conversion tools: ksvgtopng, ksvgtopng4, rsvg-convert, inkscape and convert"
+ echo "width_px and height_px arguments can be omitted if output png size is specified in the filename, like this: imagename_WIDTH_HEIGHT.png (ex. myPng_100_100.png)"
+ exit
+}
+
svgtopng()
{
case $svgtopng in
@@ -15,6 +24,10 @@ svgtopng()
*convert)
$svgtopng -alpha on -background none $3 -resize $1x$2 $4
;;
+ *)
+ echo "Error: unknown conversion tool"
+ exitwithhelp # unknown conversion tool
+ ;;
esac
}
@@ -26,8 +39,27 @@ svgtopng=$1
png=$2
w=$3
h=$4
+
+# if -h or --help arg is passed, print help and exit
+case "$1" in
+ '-h'|'--help'|'')
+ exitwithhelp
+ ;;
+esac
+
+# args num must be == 2 or == 4
+if [ "$#" -ne 2 ] && [ "$#" -ne 4 ];
+then
+ echo "Error: wrong number of arguments"
+ exitwithhelp
+fi
+
case "$png" in
*_[1-9]*_[1-9]*.png)
+ if [ "$#" -ne 2 ]; then
+ echo "Error: output png size is specified by filename and by arguments, plese use only one"
+ exitwithhelp # png size musn't be specifed, only in filename
+ fi
svg=${png%_*_*.png};
h=${png##*_}
w=${png%_$h}
@@ -35,6 +67,10 @@ case "$png" in
w=${w##*_}
;;
*)
+ if [ "$#" -ne 4 ]; then
+ echo "Error: please, specify output png size"
+ exitwithhelp # filename doesn't specify png size, must be done with args 3 and 4
+ fi
svg=${png%.png}
;;
esac
diff --git a/navit/map.h b/navit/map.h
index 305c26b96..4ffe0d401 100644
--- a/navit/map.h
+++ b/navit/map.h
@@ -79,13 +79,13 @@ struct map_methods {
struct map_rect_priv * (*map_rect_new)(struct map_priv *map, struct map_selection *sel); /**< Function to create a new map rect on the map. */
void (*map_rect_destroy)(struct map_rect_priv *mr); /**< Function to destroy a map rect */
struct item * (*map_rect_get_item)(struct map_rect_priv *mr); /**< Function to return the next item from a map rect */
- struct item * (*map_rect_get_item_byid)(struct map_rect_priv *mr, int id_hi, int id_lo); /**< Function to get an item with a specific ID from a map rect */
- struct map_search_priv *(*map_search_new)(struct map_priv *map, struct item *item, struct attr *search, int partial); /**< Function to start a new search on the map */
- void (*map_search_destroy)(struct map_search_priv *ms); /**< Function to destroy a map search struct */
- struct item * (*map_search_get_item)(struct map_search_priv *ms); /**< Function to get the next item of a search on the map */
+ struct item * (*map_rect_get_item_byid)(struct map_rect_priv *mr, int id_hi, int id_lo); /**< Function to get an item with a specific ID from a map rect, can be NULL */
+ struct map_search_priv *(*map_search_new)(struct map_priv *map, struct item *item, struct attr *search, int partial); /**< Function to start a new search on the map, can be NULL */
+ void (*map_search_destroy)(struct map_search_priv *ms); /**< Function to destroy a map search struct, ignored if `map_search_new` is NULL */
+ struct item * (*map_search_get_item)(struct map_search_priv *ms); /**< Function to get the next item of a search on the map, ignored if `map_search_new` is NULL */
struct item * (*map_rect_create_item)(struct map_rect_priv *mr, enum item_type type); /**< Function to create a new item in the map */
- int (*map_get_attr)(struct map_priv *priv, enum attr_type type, struct attr *attr);
- int (*map_set_attr)(struct map_priv *priv, struct attr *attr);
+ int (*map_get_attr)(struct map_priv *priv, enum attr_type type, struct attr *attr); /**< Function to get a map attribute, can be NULL */
+ int (*map_set_attr)(struct map_priv *priv, struct attr *attr); /**< Function to set a map attribute, can be NULL */
};
diff --git a/navit/map/binfile/binfile.c b/navit/map/binfile/binfile.c
index 9c6d9a2ef..93cbbd466 100644
--- a/navit/map/binfile/binfile.c
+++ b/navit/map/binfile/binfile.c
@@ -121,7 +121,6 @@ struct map_priv {
int check_version;
int map_version;
GHashTable *changes;
- char *passwd;
char *map_release;
int flags;
char *url;
@@ -363,7 +362,6 @@ binfile_read_lfh(struct file *fi, long long offset)
static unsigned char *
binfile_read_content(struct map_priv *m, struct file *fi, long long offset, struct zip_lfh *lfh)
{
- struct zip_enc *enc;
unsigned char *ret=NULL;
offset+=sizeof(struct zip_lfh)+lfh->zipfnln;
@@ -376,23 +374,6 @@ binfile_read_content(struct map_priv *m, struct file *fi, long long offset, stru
offset+=lfh->zipxtraln;
ret=file_data_read_compressed(fi,offset, lfh->zipsize, lfh->zipuncmp);
break;
- case 99:
- if (!m->passwd)
- break;
- enc=(struct zip_enc *)file_data_read(fi, offset, sizeof(*enc));
- offset+=lfh->zipxtraln;
- switch (enc->compress_method) {
- case 0:
- ret=file_data_read_encrypted(fi, offset, lfh->zipsize, lfh->zipuncmp, 0, m->passwd);
- break;
- case 8:
- ret=file_data_read_encrypted(fi, offset, lfh->zipsize, lfh->zipuncmp, 1, m->passwd);
- break;
- default:
- dbg(lvl_error,"map file %s: unknown encrypted compression method %d\n", fi->name, enc->compress_method);
- }
- file_data_free(fi, (unsigned char *)enc);
- break;
default:
dbg(lvl_error,"map file %s: unknown compression method %d\n", fi->name, lfh->zipmthd);
}
@@ -2822,7 +2803,7 @@ map_new_binfile(struct map_methods *meth, struct attr **attrs, struct callback_l
{
struct map_priv *m;
struct attr *data=attr_search(attrs, NULL, attr_data);
- struct attr *check_version,*map_pass,*flags,*url,*download_enabled;
+ struct attr *check_version,*flags,*url,*download_enabled;
struct file_wordexp *wexp;
char **wexp_data;
if (! data)
@@ -2841,9 +2822,6 @@ map_new_binfile(struct map_methods *meth, struct attr **attrs, struct callback_l
check_version=attr_search(attrs, NULL, attr_check_version);
if (check_version)
m->check_version=check_version->u.num;
- map_pass=attr_search(attrs, NULL, attr_map_pass);
- if (map_pass)
- m->passwd=g_strdup(map_pass->u.str);
flags=attr_search(attrs, NULL, attr_flags);
if (flags)
m->flags=flags->u.num;
diff --git a/navit/maptool/maptool.c b/navit/maptool/maptool.c
index 2d35fe516..b1db65eeb 100644
--- a/navit/maptool/maptool.c
+++ b/navit/maptool/maptool.c
@@ -279,7 +279,6 @@ usage(void)
fprintf(f,"maptool --protobuf -i planet.osm.pbf planet.bin\n");
fprintf(f,"Available switches:\n");
fprintf(f,"-h (--help) : this screen\n");
- fprintf(f,"-5 (--md5) <file> : set file where to write md5 sum\n");
fprintf(f,"-6 (--64bit) : set zip 64 bit compression\n");
fprintf(f,"-a (--attr-debug-level) <level> : control which data is included in the debug attribute\n");
fprintf(f,"-c (--dump-coordinates) : dump coordinates after phase 1\n");
@@ -324,7 +323,6 @@ struct maptool_params {
int process_relations;
char *protobufdb;
char *protobufdb_operation;
- char *md5file;
int start;
int end;
int dump;
@@ -357,7 +355,6 @@ parse_option(struct maptool_params *p, char **argv, int argc, int *option_index)
int pos,c,i;
static struct option long_options[] = {
- {"md5", 1, 0, '5'},
{"64bit", 0, 0, '6'},
{"attr-debug-level", 1, 0, 'a'},
{"binfile", 0, 0, 'b'},
@@ -389,7 +386,7 @@ parse_option(struct maptool_params *p, char **argv, int argc, int *option_index)
{"index-size", 0, 0, 'x'},
{0, 0, 0, 0}
};
- c = getopt_long (argc, argv, "5:6B:DEMNO:PS:Wa:bc"
+ c = getopt_long (argc, argv, "6B:DEMNO:PS:Wa:bc"
#ifdef HAVE_POSTGRESQL
"d:"
#endif
@@ -397,9 +394,6 @@ parse_option(struct maptool_params *p, char **argv, int argc, int *option_index)
if (c == -1)
return 1;
switch (c) {
- case '5':
- p->md5file=optarg;
- break;
case '6':
p->zip64=1;
break;
@@ -812,8 +806,6 @@ maptool_assemble_map(struct maptool_params *p, char *suffix, char **filenames, c
zip_set_timestamp(zip_info, p->timestamp);
zip_set_maxnamelen(zip_info, 14+strlen(suffix0));
zip_set_compression_level(zip_info, p->compression_level);
- if (p->md5file)
- zip_set_md5(zip_info, 1);
if(!zip_open(zip_info, p->result, zipdir, zipindex)) {
fprintf(stderr,"Fatal: Could not write output file.\n");
exit(1);
@@ -860,7 +852,6 @@ maptool_assemble_map(struct maptool_params *p, char *suffix, char **filenames, c
unlink("coords.tmp");
}
if (last) {
- unsigned char md5_data[16];
zipnum=zip_get_zipnum(zip_info);
add_aux_tiles("auxtiles.txt", zip_info);
write_countrydir(zip_info,p->max_index_size);
@@ -869,14 +860,6 @@ maptool_assemble_map(struct maptool_params *p, char *suffix, char **filenames, c
zip_write_index(zip_info);
zip_write_directory(zip_info);
zip_close(zip_info);
- if (p->md5file && zip_get_md5(zip_info, md5_data)) {
- FILE *md5=fopen(p->md5file,"w");
- int i;
- for (i = 0 ; i < 16 ; i++)
- fprintf(md5,"%02x",md5_data[i]);
- fprintf(md5,"\n");
- fclose(md5);
- }
if (!p->keep_tmpfiles) {
remove_countryfiles();
tempfile_unlink("index","");
diff --git a/navit/maptool/maptool.h b/navit/maptool/maptool.h
index f1f45fff7..ce147b1a4 100644
--- a/navit/maptool/maptool.h
+++ b/navit/maptool/maptool.h
@@ -23,9 +23,6 @@
#include "attr.h"
#include "geom.h"
#include "types.h"
-#ifdef HAVE_LIBCRYPTO
-#include <openssl/md5.h>
-#endif
#define sq(x) ((double)(x)*(x))
@@ -404,8 +401,6 @@ void write_zipmember(struct zip_info *zip_info, char *name, int filelen, char *d
void zip_write_index(struct zip_info *info);
int zip_write_directory(struct zip_info *info);
struct zip_info *zip_new(void);
-void zip_set_md5(struct zip_info *info, int on);
-int zip_get_md5(struct zip_info *info, unsigned char *out);
void zip_set_zip64(struct zip_info *info, int on);
void zip_set_compression_level(struct zip_info *info, int level);
void zip_set_maxnamelen(struct zip_info *info, int max);
diff --git a/navit/maptool/zip.c b/navit/maptool/zip.c
index f352e6353..a4e040974 100644
--- a/navit/maptool/zip.c
+++ b/navit/maptool/zip.c
@@ -25,15 +25,6 @@
#include "config.h"
#include "zipfile.h"
-#ifdef HAVE_LIBCRYPTO
-#include <openssl/sha.h>
-#include <openssl/hmac.h>
-#include <openssl/aes.h>
-#include <openssl/evp.h>
-#include <openssl/rand.h>
-#include <openssl/md5.h>
-#endif
-
struct zip_info {
int zipnum;
int dir_size;
@@ -43,14 +34,9 @@ struct zip_info {
int zip64;
short date;
short time;
- char *passwd;
FILE *res2;
FILE *index;
FILE *dir;
-#ifdef HAVE_LIBCRYPTO
- MD5_CTX md5_ctx;
-#endif
- int md5;
};
static int
@@ -58,10 +44,6 @@ zip_write(struct zip_info *info, void *data, int len)
{
if (fwrite(data, len, 1, info->res2) != 1)
return 0;
-#ifdef HAVE_LIBCRYPTO
- if (info->md5)
- MD5_Update(&info->md5_ctx, data, len);
-#endif
return 1;
}
@@ -139,17 +121,6 @@ write_zipmember(struct zip_info *zip_info, char *name, int filelen, char *data,
0x8,
zip_info->offset,
};
-#ifdef HAVE_LIBCRYPTO
- struct zip_enc enc = {
- 0x9901,
- 0x7,
- 0x2,
- 'A','E',
- 0x1,
- 0x0,
- };
- unsigned char salt[8], key[34], verify[2], mac[10];
-#endif
char *filename;
int crc=0,len,comp_size=data_size;
uLongf destlen=data_size+data_size/500+12;
@@ -160,19 +131,8 @@ write_zipmember(struct zip_info *zip_info, char *name, int filelen, char *data,
fprintf(stderr, "No more memory.\n");
exit (1);
}
-#ifdef HAVE_LIBCRYPTO
- if (zip_info->passwd) {
- RAND_bytes(salt, sizeof(salt));
- PKCS5_PBKDF2_HMAC_SHA1(zip_info->passwd, strlen(zip_info->passwd), salt, sizeof(salt), 1000, sizeof(key), key);
- verify[0]=key[32];
- verify[1]=key[33];
- } else {
-#endif
- crc=crc32(0, NULL, 0);
- crc=crc32(crc, (unsigned char *)data, data_size);
-#ifdef HAVE_LIBCRYPTO
- }
-#endif
+ crc=crc32(0, NULL, 0);
+ crc=crc32(crc, (unsigned char *)data, data_size);
lfh.zipmthd=zip_info->compression_level ? 8:0;
#ifdef HAVE_ZLIB
if (zip_info->compression_level) {
@@ -191,15 +151,6 @@ write_zipmember(struct zip_info *zip_info, char *name, int filelen, char *data,
lfh.zipcrc=crc;
lfh.zipsize=comp_size;
lfh.zipuncmp=data_size;
-#ifdef HAVE_LIBCRYPTO
- if (zip_info->passwd) {
- enc.compress_method=lfh.zipmthd;
- lfh.zipmthd=99;
- lfh.zipxtraln+=sizeof(enc);
- lfh.zipgenfld|=1;
- lfh.zipsize+=sizeof(salt)+sizeof(verify)+sizeof(mac);
- }
-#endif
cd.zipccrc=crc;
cd.zipcsiz=lfh.zipsize;
cd.zipcunc=data_size;
@@ -208,13 +159,6 @@ write_zipmember(struct zip_info *zip_info, char *name, int filelen, char *data,
cd.zipofst=0xffffffff;
cd.zipcxtl+=sizeof(cd_ext);
}
-#ifdef HAVE_LIBCRYPTO
- if (zip_info->passwd) {
- cd.zipcmthd=99;
- cd.zipcxtl+=sizeof(enc);
- cd.zipcflg|=1;
- }
-#endif
filename=g_alloca(filelen+1);
strcpy(filename, name);
len=strlen(filename);
@@ -225,43 +169,8 @@ write_zipmember(struct zip_info *zip_info, char *name, int filelen, char *data,
zip_write(zip_info, &lfh, sizeof(lfh));
zip_write(zip_info, filename, filelen);
zip_info->offset+=sizeof(lfh)+filelen;
-#ifdef HAVE_LIBCRYPTO
- if (zip_info->passwd) {
- unsigned char counter[16], xor[16], *datap=(unsigned char *)data;
- int size=comp_size;
- AES_KEY aeskey;
- zip_write(zip_info, &enc, sizeof(enc));
- zip_write(zip_info, salt, sizeof(salt));
- zip_write(zip_info, verify, sizeof(verify));
- zip_info->offset+=sizeof(enc)+sizeof(salt)+sizeof(verify);
- AES_set_encrypt_key(key, 128, &aeskey);
- memset(counter, 0, sizeof(counter));
- while (size > 0) {
- int i,curr_size,idx=0;
- do {
- counter[idx]++;
- } while (!counter[idx++]);
- AES_encrypt(counter, xor, &aeskey);
- curr_size=size;
- if (curr_size > sizeof(xor))
- curr_size=sizeof(xor);
- for (i = 0 ; i < curr_size ; i++)
- *datap++^=xor[i];
- size-=curr_size;
- }
- }
-#endif
zip_write(zip_info, data, comp_size);
zip_info->offset+=comp_size;
-#ifdef HAVE_LIBCRYPTO
- if (zip_info->passwd) {
- unsigned int maclen=sizeof(mac);
- unsigned char mactmp[maclen*2];
- HMAC(EVP_sha1(), key+16, 16, (unsigned char *)data, comp_size, mactmp, &maclen);
- zip_write(zip_info, mactmp, sizeof(mac));
- zip_info->offset+=sizeof(mac);
- }
-#endif
dbg_assert(fwrite(&cd, sizeof(cd), 1, zip_info->dir)==1);
dbg_assert(fwrite(filename, filelen, 1, zip_info->dir)==1);
zip_info->dir_size+=sizeof(cd)+filelen;
@@ -269,12 +178,6 @@ write_zipmember(struct zip_info *zip_info, char *name, int filelen, char *data,
dbg_assert(fwrite(&cd_ext, sizeof(cd_ext), 1, zip_info->dir)==1);
zip_info->dir_size+=sizeof(cd_ext);
}
-#ifdef HAVE_LIBCRYPTO
- if (zip_info->passwd) {
- dbg_assert(fwrite(&enc, sizeof(enc), 1, zip_info->dir)==1);
- zip_info->dir_size+=sizeof(enc);
- }
-#endif
free(compbuffer);
}
@@ -364,28 +267,6 @@ zip_new(void)
}
void
-zip_set_md5(struct zip_info *info, int on)
-{
-#ifdef HAVE_LIBCRYPTO
- info->md5=on;
- if (on)
- MD5_Init(&info->md5_ctx);
-#endif
-}
-
-int
-zip_get_md5(struct zip_info *info, unsigned char *out)
-{
- if (!info->md5)
- return 0;
-#ifdef HAVE_LIBCRYPTO
- MD5_Final(out, &info->md5_ctx);
- return 1;
-#endif
- return 0;
-}
-
-void
zip_set_zip64(struct zip_info *info, int on)
{
info->zip64=on;
diff --git a/navit/navigation.c b/navit/navigation.c
index 0812093d1..cc1b47bc2 100644
--- a/navit/navigation.c
+++ b/navit/navigation.c
@@ -1014,11 +1014,11 @@ round_distance_reduced( int dist )
* 'imperial' if set distinguishes the distance statement between miles and feet. Maximum distance in feet is 500.
* 'vocabulary_distances' if set constrains the distance values to a set of simple pronounceable numbers.
*
-* @param nav The navigation object.
-* @param dist Distance in meters.
-* @param type The type of announcement precision.
-* @param is_length 1 for length statement, 0 for distance statement.
-* @return String with length/distance statement.
+* @param nav The navigation object.
+* @param dist_meters Distance in meters.
+* @param type The type of announcement precision.
+* @param is_length 1 for length statement, 0 for distance statement.
+* @return String with length/distance statement.
*/
static char *
get_distance_str(struct navigation *nav, int dist_meters, enum attr_type type, int is_length)
@@ -1058,7 +1058,7 @@ get_distance_str(struct navigation *nav, int dist_meters, enum attr_type type, i
return g_strdup_printf(_("in %d feet"), dist_feet);
}
- int dist_miles = (double) dist_meters / (double)METERS_PER_MILE + 0.5;
+ int dist_miles = (double) dist_meters * (double)METERS_TO_MILES + 0.5;
if (vocabulary == 0)
{
@@ -1066,10 +1066,10 @@ get_distance_str(struct navigation *nav, int dist_meters, enum attr_type type, i
dist_miles = round_distance_reduced(dist_miles);
}
- if ((dist_meters < METERS_PER_MILE) && (vocabulary > 0))
+ if ((dist_meters < METERS_TO_MILES) && (vocabulary > 0))
{
/* values smaller than one need extra treatment for one decimal place. For reduced vocabulary it shall remain 'one'. */
- int rem = (((double)dist_meters / (double)METERS_PER_MILE) + 0.05) * 10.0;
+ int rem = (((double)dist_meters * (double)METERS_TO_MILES) + 0.05) * 10.0;
dist_miles= 0;
if (is_length)
return g_strdup_printf(_("%d.%d miles"), dist_miles, rem);
diff --git a/navit/navigation.h b/navit/navigation.h
index 28faa015c..0651dbc79 100644
--- a/navit/navigation.h
+++ b/navit/navigation.h
@@ -22,7 +22,17 @@
#define FEET_PER_METER 3.2808399
#define FEET_PER_MILE 5280
-#define METERS_PER_MILE 1609
+#define KILOMETERS_TO_MILES 0.62137119 /* Kilometers to miles */
+
+/* It appears that distances to be displayed, such as distances to
+ * maneuvers, are in meters. Multiply that by METERS_PER_MILE and you
+ * have miles. */
+#define METERS_TO_MILES (KILOMETERS_TO_MILES/1000.0) /* Meters to miles */
+/* #define METERS_PER_MILE (1000.0/KILOMETERS_TO_MILES) */
+
+/* Meters per second to kilometers per hour. GPSD delivers speeds in
+ * meters per second. */
+#define MPS_TO_KPH 3.6
#ifdef __cplusplus
extern "C" {
diff --git a/navit/navit.c b/navit/navit.c
index fa2db9926..a32de161e 100644
--- a/navit/navit.c
+++ b/navit/navit.c
@@ -1947,6 +1947,11 @@ navit_window_roadbook_update(struct navit *this_)
struct param_list param[5];
int secs;
+ /* Respect the Imperial attribute as we enlighten the user. */
+ int imperial = FALSE; /* default to using metric measures. */
+ if (navit_get_attr(this_, attr_imperial, &attr, NULL))
+ imperial=attr.u.num;
+
dbg(lvl_debug,"enter\n");
datawindow_mode(this_->roadbook_window, 1);
if (nav)
@@ -1970,44 +1975,60 @@ navit_window_roadbook_update(struct navit *this_)
param[0].value=_("Position");
param[0].name=_("Command");
+ /* Distance to the next maneuver. */
item_attr_get(item, attr_length, &attr);
- dbg(lvl_info, "Length=%ld\n", attr.u.num);
+ dbg(lvl_info, "Length=%ld in meters\n", attr.u.num);
param[1].name=_("Length");
if ( attr.u.num >= 2000 )
{
- param[1].value=g_strdup_printf("%5.1f %s",(float)attr.u.num / 1000, _("km") );
+ param[1].value=g_strdup_printf("%5.1f %s",
+ imperial == TRUE ? (float)attr.u.num * METERS_TO_MILES : (float)attr.u.num / 1000,
+ imperial == TRUE ? _("mi") : _("km")
+ );
}
else
{
- param[1].value=g_strdup_printf("%7ld %s",attr.u.num, _("m"));
+ param[1].value=g_strdup_printf("%7.0f %s",
+ imperial == TRUE ? (attr.u.num * FEET_PER_METER) : attr.u.num,
+ imperial == TRUE ? _("feet") : _("m")
+ );
}
+ /* Time to next maneuver. */
item_attr_get(item, attr_time, &attr);
dbg(lvl_info, "Time=%ld\n", attr.u.num);
secs=attr.u.num/10;
param[2].name=_("Time");
if ( secs >= 3600 )
{
- param[2].value=g_strdup_printf("%d:%02d:%02d",secs / 60, ( secs / 60 ) % 60 , secs % 60);
+ param[2].value=g_strdup_printf("%d:%02d:%02d",secs / 60, ( secs / 60 ) % 60 , secs % 60);
}
else
{
- param[2].value=g_strdup_printf("%d:%02d",secs / 60, secs % 60);
+ param[2].value=g_strdup_printf("%d:%02d",secs / 60, secs % 60);
}
+ /* Distance from next maneuver to destination. */
item_attr_get(item, attr_destination_length, &attr);
- dbg(lvl_info, "Destlength=%ld\n", attr.u.num);
+ dbg(lvl_info, "Destlength=%ld in meters.\n", attr.u.num);
param[3].name=_("Destination Length");
if ( attr.u.num >= 2000 )
{
- param[3].value=g_strdup_printf("%5.1f %s",(float)attr.u.num / 1000, _("km") );
+ param[3].value=g_strdup_printf("%5.1f %s",
+ imperial == TRUE ? (float)attr.u.num * METERS_TO_MILES : (float)attr.u.num / 1000,
+ imperial == TRUE ? _("mi") : _("km")
+ );
}
else
{
- param[3].value=g_strdup_printf("%ld %s",attr.u.num, _("m"));
+ param[3].value=g_strdup_printf("%7.0f %s",
+ imperial == TRUE ? (attr.u.num * FEET_PER_METER) : attr.u.num,
+ imperial == TRUE ? _("feet") : _("m")
+ );
}
+ /* Time from next maneuver to destination. */
item_attr_get(item, attr_destination_time, &attr);
dbg(lvl_info, "Desttime=%ld\n", attr.u.num);
secs=attr.u.num/10;
diff --git a/navit/plugin.c b/navit/plugin.c
index 8c61bc9b7..aae09c470 100644
--- a/navit/plugin.c
+++ b/navit/plugin.c
@@ -1,4 +1,4 @@
-/**
+/*
* Navit, a modular navigation system.
* Copyright (C) 2005-2008 Navit Team
*
@@ -38,6 +38,13 @@
#include "item.h"
#include "debug.h"
+/**
+ * @defgroup plugins
+ * @brief A interface to handle all plugins inside navit
+ *
+ * @{
+ */
+
#ifdef USE_PLUGINS
#ifndef HAVE_GMODULE
typedef void * GModule;
diff --git a/navit/route.c b/navit/route.c
index e367c3855..c67455902 100644
--- a/navit/route.c
+++ b/navit/route.c
@@ -94,7 +94,9 @@ struct route_graph_point {
* least costs */
struct fibheap_el *el; /**< When this point is put on a Fibonacci heap, this is a pointer
* to this point's heap-element */
- int value; /**< The cost at which one can reach the destination from this point on */
+ int value; /**< The cost at which one can reach the destination from this point on.
+ * {@code INT_MAX} indicates that the destination is unreachable from this
+ * point, or that this point has not yet been examined. */
struct coord c; /**< Coordinates of this point */
int flags; /**< Flags for this point (eg traffic distortion) */
};
@@ -112,7 +114,7 @@ struct route_graph_point {
struct route_segment_data {
struct item item; /**< The item (e.g. street) that this segment represents. */
int flags;
- int len; /**< Length of this segment */
+ int len; /**< Length of this segment, in meters */
/*NOTE: After a segment, various fields may follow, depending on what flags are set. Order of fields:
1.) maxspeed Maximum allowed speed on this segment. Present if AF_SPEED_LIMIT is set.
2.) offset If the item is segmented (i.e. represented by more than one segment), this
@@ -215,7 +217,8 @@ struct route_info {
/**
* @brief A complete route path
*
- * This structure describes a whole routing path
+ * A route path is an ordered set of segments describing the route from the current position (or previous
+ * destination) to the next destination.
*/
struct route_path {
int in_use; /**< The path is in use and can not be updated */
@@ -247,8 +250,8 @@ struct route {
struct route_graph *graph; /**< Pointer to the route graph */
struct route_path *path2; /**< Pointer to the route path */
- struct map *map;
- struct map *graph_map;
+ struct map *map; /**< The map containing the route path */
+ struct map *graph_map; /**< The map containing the route graph */
struct callback * route_graph_done_cb ; /**< Callback when route graph is done */
struct callback * route_graph_flood_done_cb ; /**< Callback when route graph flooding is done */
struct callback_list *cbl2; /**< Callback list to call when route changes */
@@ -263,7 +266,8 @@ struct route {
/**
* @brief A complete route graph
*
- * This structure describes a whole routing graph
+ * The route graph holds all routable segments along with the connections between them and the cost of
+ * each segment.
*/
struct route_graph {
int busy; /**< The graph is being built */
@@ -1165,8 +1169,9 @@ route_clear_destinations(struct route *this_)
* and updates the route.
*
* @param this The route to set the destination for
- * @param dst Coordinates to set as destination
- * @param count Number of destinations (last one is final)
+ * @param dst Points to an array of coordinates to set as destinations, which will be visited in the
+ * order in which they appear in the array (the last one is the final destination)
+ * @param count Number of items in {@code dst}, 0 to clear all destinations
* @param async If set, do routing asynchronously
*/
@@ -2150,6 +2155,15 @@ route_value_seg(struct vehicleprofile *profile, struct route_graph_point *from,
return ret;
}
+/**
+ * @brief Whether two route graph segments match.
+ *
+ * Two segments match if both start and end at the exact same points. Other points are not considered.
+ *
+ * @param s1 The first segment
+ * @param s2 The second segment
+ * @return true if both segments match, false if not
+ */
static int
route_graph_segment_match(struct route_graph_segment *s1, struct route_graph_segment *s2)
{
@@ -2162,11 +2176,13 @@ route_graph_segment_match(struct route_graph_segment *s1, struct route_graph_seg
/**
* @brief Sets or clears a traffic distortion for a segment.
*
- * This sets or clears a delay. It cannot be used to set speed.
+ * This sets a delay (setting speed is not supported) or clears an existing traffic distortion.
+ * Note that, although setting a speed is not supported, calling this function with a delay of 0
+ * will also clear an existing speed constraint.
*
* @param this The route graph
* @param seg The segment to which the traffic distortion applies
- * @param delay Delay in tenths of a second
+ * @param delay Delay in tenths of a second, or 0 to clear an existing traffic distortion
*/
static void
route_graph_set_traffic_distortion(struct route_graph *this, struct route_graph_segment *seg, int delay)
@@ -2199,10 +2215,10 @@ route_graph_set_traffic_distortion(struct route_graph *this, struct route_graph_
}
/**
- * @brief Adds a route distortion item to the route graph
+ * @brief Adds a traffic distortion item to the route graph
*
* @param this The route graph to add to
- * @param item The item to add
+ * @param item The item to add, must be of {@code type_traffic_distortion}
*/
static void
route_process_traffic_distortion(struct route_graph *this, struct item *item)
@@ -2932,6 +2948,15 @@ route_graph_process_restrictions(struct route_graph *this)
}
}
+/**
+ * @brief Releases all resources needed to build the route graph.
+ *
+ * If {@code cancel} is false, this function will start processing restrictions and ultimately call
+ * the route graph's {@code done_cb} callback.
+ *
+ * @param rg Points to the route graph
+ * @param cancel True if the process was aborted before completing, false if it completed normally
+ */
static void
route_graph_build_done(struct route_graph *rg, int cancel)
{
diff --git a/navit/transform.c b/navit/transform.c
index 1c6eeae67..8a6713ab6 100644
--- a/navit/transform.c
+++ b/navit/transform.c
@@ -1187,6 +1187,14 @@ transform_overflow_possible_if_squared(int count, ...) {
return result;
}
+/**
+ * @brief Determines the squared Mercator distance between two points.
+ *
+ * @param c0 The first coordinate
+ * @param c1 The second coordinate
+ *
+ * @return The squared distance between `c1` and `c2`, or `INT_MAX` if an overflow occurs.
+ */
int
transform_distance_sq(struct coord *c1, struct coord *c2)
{
@@ -1216,6 +1224,17 @@ transform_distance_sq_pc(struct pcoord *c1, struct pcoord *c2)
return transform_distance_sq(&p1, &p2);
}
+/**
+ * @brief Determines the point on a line segment that is closest to a reference point, and its distance
+ * from the reference point.
+ *
+ * @param l0 The first coordinate of the line segment
+ * @param l1 The second coordinate of the line segment
+ * @param ref The reference point
+ * @param lpnt Receives the coordinates of the point on the line segment that is closest to `ref`, can be `NULL`
+ *
+ * @return The square of the Mercator distance between `ref` and `lpnt`, or `INT_MAX` if an overflow occurred
+ */
int
transform_distance_line_sq(struct coord *l0, struct coord *l1, struct coord *ref, struct coord *lpnt)
{
@@ -1287,6 +1306,18 @@ transform_distance_line_sq_float(struct coord *l0, struct coord *l1, struct coor
return transform_distance_sq_float(&l, ref);
}
+/**
+ * @brief Determines the point on a polyline that is closest to a reference point, and its distance
+ * from the reference point.
+ *
+ * @param c An array containing the coordinates of the polyline
+ * @param count Number of elements in `c`
+ * @param ref The reference point
+ * @param lpnt Receives the coordinates of the point on the polyline that is closest to `ref`, can be `NULL`
+ * @param pos Receives the index of the line segment containing `lpnt`, can be NULL
+ *
+ * @return The square of the Mercator distance between `ref` and `lpnt`, or `INT_MAX` if an overflow occurred
+ */
int
transform_distance_polyline_sq(struct coord *c, int count, struct coord *ref, struct coord *lpnt, int *pos)
{
diff --git a/navit/util.c b/navit/util.c
index 2cceae460..79c92379e 100644
--- a/navit/util.c
+++ b/navit/util.c
@@ -709,7 +709,22 @@ void spawn_process_init()
return;
}
-/** Get printable compass direction from an angle. */
+/**
+ * @brief Get printable compass direction from an angle.
+ *
+ * This function supports three different modes:
+ *
+ * In mode 0, the angle in degrees is output as a string.
+ *
+ * In mode 1, the angle is output as a cardinal direction (N, SE etc.).
+ *
+ * In mode 2, the angle is output in analog clock notation (6 o'clock).
+ *
+ * @param buffer Buffer to hold the result string (up to 5 characters, including the terminating null
+ * character, may be required)
+ * @param angle The angle to convert
+ * @param mode The conversion mode, see description
+ */
void
get_compass_direction(char *buffer, int angle, int mode)
{
diff --git a/navit/vehicle.c b/navit/vehicle.c
index 33cecb0e9..26dc457cb 100644
--- a/navit/vehicle.c
+++ b/navit/vehicle.c
@@ -18,6 +18,8 @@
*/
/** @file vehicle.c
+ * @defgroup vehicle-plugins vehicle plugins
+ * @ingroup plugins
* @brief Generic components of the vehicle object.
*
* This file implements the generic vehicle interface, i.e. everything which is
@@ -52,6 +54,7 @@
#include "vehicle.h"
#include "navit_nls.h"
+
struct vehicle {
NAVIT_OBJECT
struct vehicle_methods meth;
diff --git a/navit/vehicle/android/vehicle_android.c b/navit/vehicle/android/vehicle_android.c
index 89882d048..4165b9b31 100644
--- a/navit/vehicle/android/vehicle_android.c
+++ b/navit/vehicle/android/vehicle_android.c
@@ -1,6 +1,4 @@
-/** @file vehicle_android.c
- * @brief android uses dbus signals
- *
+/*
* Navit, a modular navigation system.
* Copyright (C) 2005-2008 Navit Team
*
@@ -18,8 +16,6 @@
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301, USA.
*
- * @Author Tim Niemeyer <reddog@mastersword.de>
- * @date 2008-2009
*/
#include <config.h>
@@ -35,6 +31,15 @@
#include "android.h"
#include "vehicle.h"
+/**
+ * @defgroup vehicle-android Vehicle Android
+ * @ingroup vehicle-plugins
+ * @brief The Vehicle to gain position data from android. Android uses dbus signals
+ * @author Tim Niemeyer <reddog@mastersword.de>
+ * @date 2008-2009
+ *
+ */
+
struct vehicle_priv {
struct callback_list *cbl;
struct coord_geo geo; /**< The last known position of the vehicle **/
@@ -294,3 +299,5 @@ plugin_init(void)
dbg(lvl_debug, "enter\n");
plugin_register_category_vehicle("android", vehicle_android_new_android);
}
+
+/** @} */
diff --git a/navit/vehicle/demo/vehicle_demo.c b/navit/vehicle/demo/vehicle_demo.c
index 4a47c1476..1e2991300 100644
--- a/navit/vehicle/demo/vehicle_demo.c
+++ b/navit/vehicle/demo/vehicle_demo.c
@@ -1,4 +1,4 @@
-/**
+/*
* Navit, a modular navigation system.
* Copyright (C) 2005-2008 Navit Team
*
@@ -34,6 +34,13 @@
#include "event.h"
#include "util.h"
+/**
+ * @defgroup vehicle-demo Vehicle Demo
+ * @ingroup vehicle-plugins
+ * @brief The Vehicle for a demo. It followes the route automatically
+ *
+ */
+
struct vehicle_priv {
int interval;
int position_set;
@@ -302,3 +309,6 @@ plugin_init(void)
dbg(lvl_debug, "enter\n");
plugin_register_category_vehicle("demo", vehicle_demo_new);
}
+
+
+/** @} */
diff --git a/navit/vehicle/file/vehicle_file.c b/navit/vehicle/file/vehicle_file.c
index 10bce942b..81b99f829 100644
--- a/navit/vehicle/file/vehicle_file.c
+++ b/navit/vehicle/file/vehicle_file.c
@@ -1,4 +1,4 @@
-/**
+/*
* Navit, a modular navigation system.
* Copyright (C) 2005-2008 Navit Team
*
@@ -59,6 +59,14 @@ int inet_aton(const char *cp, struct in_addr *inp)
}
#endif
+/**
+ * @defgroup vehicle-file Vehicle File
+ * @ingroup vehicle-plugins
+ * @brief The Vehicle to gain position data from a file, pipe, serial interface or a socket
+ *
+ * @{
+ */
+
static void vehicle_file_disable_watch(struct vehicle_priv *priv);
static void vehicle_file_enable_watch(struct vehicle_priv *priv);
static int vehicle_file_parse(struct vehicle_priv *priv, char *buffer);
@@ -84,7 +92,7 @@ struct vehicle_priv {
char *source;
struct callback_list *cbl;
int fd;
- struct callback *cb,*cbt;
+ struct callback *cb,*cbt,*cb_fix_timeout;
char *buffer;
int buffer_pos;
char *nmea_data;
@@ -114,6 +122,7 @@ struct vehicle_priv {
enum file_type file_type;
FILE *file;
struct event_watch *watch;
+ struct event_timeout *ev_fix_timeout;
speed_t baudrate;
struct attr ** attrs;
char fixiso8601[128];
@@ -129,16 +138,13 @@ struct vehicle_priv {
int process_statefile;
};
-//***************************************************************************
-/** @fn static int vehicle_win32_serial_track(struct vehicle_priv *priv)
-*****************************************************************************
-* @b Description: Callback of the plugin
-*****************************************************************************
-* @param priv : pointer on the private data of the plugin
-*****************************************************************************
-* @return always 1
-*****************************************************************************
-**/
+/**
+* @brief Callback of the plugin
+*
+* @param priv Pointer on the private data of the plugin
+*
+* @return Always 1
+*/
#ifdef _WIN32
static int vehicle_win32_serial_track(struct vehicle_priv *priv)
{
@@ -207,17 +213,13 @@ static int vehicle_win32_serial_track(struct vehicle_priv *priv)
}
#endif
-//***************************************************************************
-/** @fn static int vehicle_file_open(struct vehicle_priv *priv)
-*****************************************************************************
-* @b Description: open dialogue with the GPS
-*****************************************************************************
-* @param priv : pointer on the private data of the plugin
-*****************************************************************************
-* @return 1 if ok
-* 0 if error
-*****************************************************************************
-**/
+/**
+* @brief Open dialogue with the GPS
+*
+* @param priv Pointer on the private data of the plugin
+*
+* @return 1 if ok, 0 if error
+*/
static int
vehicle_file_open(struct vehicle_priv *priv)
{
@@ -318,14 +320,11 @@ vehicle_file_open(struct vehicle_priv *priv)
return(priv->fd != -1);
}
-//***************************************************************************
-/** @fn static void vehicle_file_close(struct vehicle_priv *priv)
-*****************************************************************************
-* @b Description: close dialogue with the GPS
-*****************************************************************************
-* @param priv : pointer on the private data of the plugin
-*****************************************************************************
-**/
+/**
+* @brief Close dialogue with the GPS
+*
+* @param priv Pointer on the private data of the plugin
+*/
static void
vehicle_file_close(struct vehicle_priv *priv)
{
@@ -356,16 +355,13 @@ vehicle_file_close(struct vehicle_priv *priv)
}
}
-//***************************************************************************
-/** @fn static int vehicle_file_enable_watch_timer(struct vehicle_priv *priv)
-*****************************************************************************
-* @b Description: Enable watch timer to get GPS data
-*****************************************************************************
-* @param priv : pointer on the private data of the plugin
-*****************************************************************************
-* @return always 0
-*****************************************************************************
-**/
+/**
+* @brief Enable watch timer to get GPS data
+*
+* @param priv Pointer on the private data of the plugin
+*
+* @return Always 0
+*/
static int
vehicle_file_enable_watch_timer(struct vehicle_priv *priv)
{
@@ -376,19 +372,44 @@ vehicle_file_enable_watch_timer(struct vehicle_priv *priv)
}
-//***************************************************************************
-/** @fn static int vehicle_file_parse( struct vehicle_priv *priv,
-* char *buffer)
-*****************************************************************************
-* @b Description: Parse the buffer
-*****************************************************************************
-* @param priv : pointer on the private data of the plugin
-* @param buffer : data buffer (null terminated)
-*****************************************************************************
-* @return 1 if The GPRMC Sentence is found
-* 0 if not found
-*****************************************************************************
-**/
+/**
+* @brief This is a callback function, called when the fix timeout
+* is done. Set the position to invalid.
+*
+* @param priv Pointer on the private data of the plugin
+*/
+static void
+vehicle_file_fix_timeout_cb(struct vehicle_priv *priv)
+{
+ priv->valid = attr_position_valid_invalid;
+ priv->ev_fix_timeout = NULL;
+ callback_list_call_attr_0(priv->cbl, attr_position_coord_geo);
+}
+
+
+/**
+* @brief Cancel previous fix timeout event and add a new one
+*
+* @param priv Pointer on the private data of the plugin
+*/
+static void
+vehicle_file_restart_fix_timeout(struct vehicle_priv *priv)
+{
+ if (priv->ev_fix_timeout != NULL)
+ event_remove_timeout(priv->ev_fix_timeout);
+ priv->ev_fix_timeout = event_add_timeout(10000, 0, priv->cb_fix_timeout);
+}
+
+
+/**
+* @brief Parse the buffer
+*
+* @param priv Pointer on the private data of the plugin
+* @param buffer Data buffer (null terminated)
+*
+* @return 1 if new coords were received (fixtime changed) or changed to invalid,
+* 0 if not found
+*/
static int
vehicle_file_parse(struct vehicle_priv *priv, char *buffer)
{
@@ -458,7 +479,7 @@ vehicle_file_parse(struct vehicle_priv *priv, char *buffer)
UTC of Fix[1],Latitude[2],N/S[3],Longitude[4],E/W[5],Quality(0=inv,1=gps,2=dgps)[6],Satelites used[7],
HDOP[8],Altitude[9],"M"[10],height of geoid[11], "M"[12], time since dgps update[13], dgps ref station [14]
*/
- if (*item[2] && *item[3] && *item[4] && *item[5]) {
+ if (*item[2] && *item[3] && *item[4] && *item[5] && *item[6] > 0) {
lat = g_ascii_strtod(item[2], NULL);
priv->geo.lat = floor(lat / 100);
lat -= priv->geo.lat * 100;
@@ -474,20 +495,31 @@ vehicle_file_parse(struct vehicle_priv *priv, char *buffer)
if (!g_ascii_strcasecmp(item[5],"W"))
priv->geo.lng=-priv->geo.lng;
- priv->valid=attr_position_valid_valid;
+
+ if (priv->valid == attr_position_valid_invalid)
+ ret = 1;
+ priv->valid = attr_position_valid_valid;
+ vehicle_file_restart_fix_timeout(priv);
+
+ if (*item[1] && strncmp(priv->fixtime, item[1], sizeof(priv->fixtime))) {
+ ret = 1;
+ strncpy(priv->fixtime, item[1], sizeof(priv->fixtime));
+ }
dbg(lvl_info, "latitude '%2.4f' longitude %2.4f\n", priv->geo.lat, priv->geo.lng);
- } else
+ } else {
+ if (priv->valid == attr_position_valid_valid)
+ ret = 1;
priv->valid=attr_position_valid_invalid;
+ }
+
if (*item[6])
sscanf(item[6], "%d", &priv->status);
if (*item[7])
sscanf(item[7], "%d", &priv->sats_used);
if (*item[8])
sscanf(item[8], "%lf", &priv->hdop);
- if (*item[1])
- strncpy(priv->fixtime, item[1], sizeof(priv->fixtime));
if (*item[9])
sscanf(item[9], "%lf", &priv->height);
@@ -537,8 +569,40 @@ vehicle_file_parse(struct vehicle_priv *priv, char *buffer)
&priv->fixmonth,
&priv->fixyear);
priv->fixyear += 2000;
+
+ lat = g_ascii_strtod(item[3], NULL);
+ priv->geo.lat = floor(lat / 100);
+ lat -= priv->geo.lat * 100;
+ priv->geo.lat += lat / 60;
+
+ if (!g_ascii_strcasecmp(item[4],"S"))
+ priv->geo.lat=-priv->geo.lat;
+
+ lng = g_ascii_strtod(item[5], NULL);
+ priv->geo.lng = floor(lng / 100);
+ lng -= priv->geo.lng * 100;
+ priv->geo.lng += lng / 60;
+
+ if (!g_ascii_strcasecmp(item[6],"W"))
+ priv->geo.lng=-priv->geo.lng;
+
+ if (priv->valid == attr_position_valid_invalid)
+ ret = 1;
+ priv->valid=attr_position_valid_valid;
+ vehicle_file_restart_fix_timeout(priv);
+
+ if (*item[1] && strncmp(priv->fixtime, item[1], sizeof(priv->fixtime))) {
+ ret = 1;
+ strncpy(priv->fixtime, item[1], sizeof(priv->fixtime));
+ }
+
+ dbg(lvl_info, "latitude '%2.4f' longitude %2.4f\n", priv->geo.lat, priv->geo.lng);
+
+ } else {
+ if (priv->valid == attr_position_valid_valid)
+ ret = 1;
+ priv->valid=attr_position_valid_invalid;
}
- ret = 1;
}
if (!strncmp(buffer, "$GPGSV", 6) && i >= 4) {
/*
@@ -610,16 +674,11 @@ vehicle_file_parse(struct vehicle_priv *priv, char *buffer)
return ret;
}
-//***************************************************************************
-/** @fn static void vehicle_file_io(struct vehicle_priv *priv)
-*****************************************************************************
-* @b Description: function to get data from GPS
-*****************************************************************************
-* @param priv : pointer on the private data of the plugin
-*****************************************************************************
-* @remarks
-*****************************************************************************
-**/
+/**
+* @brief Function to get data from GPS
+*
+* @param priv Pointer on the private data of the plugin
+*/
static void
vehicle_file_io(struct vehicle_priv *priv)
{
@@ -685,14 +744,11 @@ vehicle_file_io(struct vehicle_priv *priv)
callback_list_call_attr_0(priv->cbl, attr_position_coord_geo);
}
-//***************************************************************************
-/** @fn static void vehicle_file_enable_watch(struct vehicle_priv *priv)
-*****************************************************************************
-* @b Description: Enable watch
-*****************************************************************************
-* @param priv : pointer on the private data of the plugin
-*****************************************************************************
-**/
+/**
+* @brief Enable watch
+*
+* @param priv Pointer on the private data of the plugin
+*/
static void
vehicle_file_enable_watch(struct vehicle_priv *priv)
{
@@ -713,14 +769,11 @@ vehicle_file_enable_watch(struct vehicle_priv *priv)
}
}
-//***************************************************************************
-/** @fn static void vehicle_file_disable_watch(struct vehicle_priv *priv)
-*****************************************************************************
-* @b Description: Disable watch
-*****************************************************************************
-* @param priv : pointer on the private data of the plugin
-*****************************************************************************
-**/
+/**
+* @brief Disable watch
+*
+* @param priv Pointer on the private data of the plugin
+*/
static void
vehicle_file_disable_watch(struct vehicle_priv *priv)
{
@@ -742,16 +795,13 @@ vehicle_file_disable_watch(struct vehicle_priv *priv)
}
}
-//***************************************************************************
-/** @fn static void vehicle_priv vehicle_file_destroy(struct vehicle_priv *priv)
-*****************************************************************************
-* @b Description: Function called to uninitialize the plugin
-*****************************************************************************
-* @param priv : pointer on the private data of the plugin
-*****************************************************************************
+/**
+* @brief Function called to uninitialize the plugin
+*
+* @param priv Pointer on the private data of the plugin
+*
* @remarks private data is freed by this function (g_free)
-*****************************************************************************
-**/
+*/
static void
vehicle_file_destroy(struct vehicle_priv *priv)
{
@@ -781,21 +831,15 @@ vehicle_file_destroy(struct vehicle_priv *priv)
g_free(priv);
}
-//***************************************************************************
-/** @fn static int vehicle_file_position_attr_get(struct vehicle_priv *priv,
-* enum attr_type type,
-* struct attr *attr)
-*****************************************************************************
-* @b Description: Function called to get attribute
-*****************************************************************************
-* @param priv : pointer on the private data of the plugin
-* @param type : attribute type called
-* @param attr : structure to return the attribute value
-*****************************************************************************
-* @return 1 if ok
-* 0 for unkown or invalid attribute
-*****************************************************************************
-**/
+/**
+* @brief Function called to get attribute
+*
+* @param priv Pointer on the private data of the plugin
+* @param type Attribute type called
+* @param attr Structure to return the attribute value
+*
+* @return 1 if ok, 0 for unkown or invalid attribute
+*/
static int
vehicle_file_position_attr_get(struct vehicle_priv *priv,
enum attr_type type, struct attr *attr)
@@ -865,21 +909,15 @@ vehicle_file_position_attr_get(struct vehicle_priv *priv,
return 1;
}
-//***************************************************************************
-/** @fn static int vehicle_file_sat_attr_get(struct vehicle_priv *priv,
-* enum attr_type type,
-* struct attr *attr)
-*****************************************************************************
-* @b Description: Function called to get satellite attribute
-*****************************************************************************
-* @param priv : pointer on the private data of the plugin
-* @param type : attribute type called
-* @param attr : structure to return the attribute value
-*****************************************************************************
-* @return 1 if ok
-* 0 for unkown attribute
-*****************************************************************************
-**/
+/**
+* @brief Function called to get satellite attribute
+*
+* @param priv Pointer on the private data of the plugin
+* @param type Attribute type called
+* @param attr Structure to return the attribute value
+*
+* @return 1 if ok, 0 for unkown attribute
+*/
static int
vehicle_file_sat_attr_get(void *priv_data, enum attr_type type, struct attr *attr)
{
@@ -922,23 +960,17 @@ static struct vehicle_methods vehicle_file_methods = {
vehicle_file_position_attr_get,
};
-//***************************************************************************
-/** @fn static struct vehicle_priv * vehicle_file_new_file(
-* struct vehicle_methods *meth,
-* struct callback_list *cbl,
-* struct attr **attrs)
-*****************************************************************************
-* @b Description: Function called to initialize the plugin
-*****************************************************************************
-* @param meth : ?
-* @param cbl : ?
-* @param attrs : ?
-*****************************************************************************
-* @return pointer on the private data of the plugin
-*****************************************************************************
-* @remarks private data is allocated by this function (g_new0)
-*****************************************************************************
-**/
+/**
+* @brief Function called to initialize the plugin
+*
+* @param meth ?
+* @param cbl ?
+* @param attrs ?
+*
+* @return Pointer on the private data of the plugin
+*
+* @remarks Private data is allocated by this function (g_new0)
+*/
static struct vehicle_priv *
vehicle_file_new_file(struct vehicle_methods
*meth, struct callback_list
@@ -958,7 +990,7 @@ vehicle_file_new_file(struct vehicle_methods
if(source == NULL){
dbg(lvl_error,"Missing source attribute");
return NULL;
- }
+ }
ret = g_new0(struct vehicle_priv, 1); // allocate and initialize to 0
ret->fd = -1;
ret->cbl = cbl;
@@ -966,6 +998,8 @@ vehicle_file_new_file(struct vehicle_methods
ret->buffer = g_malloc(buffer_size);
ret->time=1000;
ret->baudrate=B4800;
+ ret->fixtime[0] = '\0';
+ ret->ev_fix_timeout = NULL;
state_file=attr_search(attrs, NULL, attr_state_file);
if (state_file)
ret->statefile=g_strdup(state_file->u.str);
@@ -1014,6 +1048,7 @@ vehicle_file_new_file(struct vehicle_methods
*meth = vehicle_file_methods;
ret->cb=callback_new_1(callback_cast(vehicle_file_io), ret);
ret->cbt=callback_new_1(callback_cast(vehicle_file_enable_watch_timer), ret);
+ ret->cb_fix_timeout=callback_new_1(callback_cast(vehicle_file_fix_timeout_cb), ret);
if (ret->statefile && file_exists(ret->statefile)) {
ret->process_statefile=1;
event_add_timeout(1000, 0, ret->cb);
@@ -1038,12 +1073,9 @@ vehicle_file_new_file(struct vehicle_methods
return ret;
}
-//***************************************************************************
-/** @fn void plugin_init(void)
-*****************************************************************************
-* @b Description: Initialisation of vehicle_file plugin
-*****************************************************************************
-**/
+/**
+* @brief Initialisation of vehicle_file plugin
+*/
void plugin_init(void)
{
dbg(lvl_debug, "vehicle_file:plugin_init:enter\n");
diff --git a/navit/vehicle/gpsd/vehicle_gpsd.c b/navit/vehicle/gpsd/vehicle_gpsd.c
index a8c29cd97..975d9c68a 100644
--- a/navit/vehicle/gpsd/vehicle_gpsd.c
+++ b/navit/vehicle/gpsd/vehicle_gpsd.c
@@ -1,4 +1,4 @@
-/**
+/*
* Navit, a modular navigation system.
* Copyright (C) 2005-2008 Navit Team
*
@@ -35,6 +35,14 @@
#include "event.h"
#include "types.h"
+/**
+ * @defgroup vehicle-gpsd Vehicle Gpsd
+ * @ingroup vehicle-plugins
+ * @brief The Vehicle to gain position data from the gpsd service
+ *
+ * @{
+ */
+
static struct vehicle_priv {
char *source;
char *gpsd_query;
@@ -101,13 +109,15 @@ vehicle_gpsd_callback(struct gps_data_t *data, const char *buf, size_t len,
}
}
}
+
dbg(lvl_debug,"data->set="LONGLONG_HEX_FMT"\n", (unsigned long long)data->set);
if (data->set & SPEED_SET) {
- priv->speed = data->fix.speed * 3.6;
+ priv->speed = data->fix.speed * MPS_TO_KPH;
if(!isnan(data->fix.speed))
callback_list_call_attr_0(priv->cbl, attr_position_speed);
data->set &= ~SPEED_SET;
}
+
if (data->set & TRACK_SET) {
priv->direction = data->fix.track;
data->set &= ~TRACK_SET;
diff --git a/navit/vehicle/gpsd_dbus/vehicle_gpsd_dbus.c b/navit/vehicle/gpsd_dbus/vehicle_gpsd_dbus.c
index fa5eb8780..ebdf08707 100644
--- a/navit/vehicle/gpsd_dbus/vehicle_gpsd_dbus.c
+++ b/navit/vehicle/gpsd_dbus/vehicle_gpsd_dbus.c
@@ -1,4 +1,4 @@
-/**
+/*
* Navit, a modular navigation system.
* Copyright (C) 2005-2008 Navit Team
*
@@ -34,6 +34,14 @@
#include "vehicle.h"
#include "event.h"
+/**
+ * @defgroup vehicle-gpsd-dbus Vehicle Gpsd DBus
+ * @ingroup vehicle-plugins
+ * @brief The Vehicle to gain position data from Gpsd over DBus
+ *
+ * @{
+ */
+
static char *vehicle_gpsd_dbus_prefix="gpsd_dbus:";
struct vehicle_priv {
diff --git a/navit/vehicle/gypsy/vehicle_gypsy.c b/navit/vehicle/gypsy/vehicle_gypsy.c
index 589e53a3f..16175f2e8 100644
--- a/navit/vehicle/gypsy/vehicle_gypsy.c
+++ b/navit/vehicle/gypsy/vehicle_gypsy.c
@@ -1,6 +1,4 @@
-/** @file vehicle_gypsy.c
- * @brief gypsy uses dbus signals
- *
+/*
* Navit, a modular navigation system.
* Copyright (C) 2005-2008 Navit Team
*
@@ -18,8 +16,6 @@
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301, USA.
*
- * @Author Tim Niemeyer <reddog@mastersword.de>
- * @date 2008-2009
*/
#include <config.h>
@@ -47,6 +43,16 @@
#include "item.h"
#include "vehicle.h"
+/**
+ * @defgroup vehicle-gypsy Vehicle gypsy
+ * @ingroup vehicle-plugins
+ * @brief The Vehicle to gain position data from gypsy. gypsy uses dbus signals
+ * @Author Tim Niemeyer <reddog@mastersword.de>
+ * @date 2008-2009
+ *
+ * @{
+ */
+
static struct vehicle_priv {
char *source;
GypsyControl *control;
diff --git a/navit/vehicle/iphone/vehicle_iphone.c b/navit/vehicle/iphone/vehicle_iphone.c
index 94fec114a..f8ce5b644 100644
--- a/navit/vehicle/iphone/vehicle_iphone.c
+++ b/navit/vehicle/iphone/vehicle_iphone.c
@@ -1,4 +1,4 @@
-/**
+/*
* Navit, a modular navigation system.
* Copyright (C) 2005-2008 Navit Team
*
@@ -33,6 +33,14 @@
#include "event.h"
#include "corelocation.h"
+/**
+ * @defgroup vehicle-iphone Vehicle iPhone
+ * @ingroup vehicle-plugins
+ * @brief The Vehicle to gain position data from iPhone.
+ *
+ * @{
+ */
+
struct vehicle_priv {
int interval;
int position_set;
diff --git a/navit/vehicle/maemo/vehicle_maemo.c b/navit/vehicle/maemo/vehicle_maemo.c
index d686a6a03..015f1c8e3 100644
--- a/navit/vehicle/maemo/vehicle_maemo.c
+++ b/navit/vehicle/maemo/vehicle_maemo.c
@@ -1,4 +1,4 @@
-/**
+/*
* Navit, a modular navigation system.
* Copyright (C) 2005-2008 Navit Team
*
@@ -18,14 +18,6 @@
*/
-/*
- Plugin for new Maemo's liblocation API.
-
- <vehicle source="maemo://any" retry_interval="1"/>
- source cound be on of "any","cwp","acwp","gnss","agnss"
- retry_interval could be one of "1","2","5","10","20","30","60","120" measured in seconds
-*/
-
#include <config.h>
#include <string.h>
#include <glib.h>
@@ -40,6 +32,19 @@
#include "vehicle.h"
#include "event.h"
+/**
+ * @defgroup vehicle-iphone Vehicle Maemo
+ * @ingroup vehicle-plugins
+ * @brief The Vehicle to gain position data from Maemo.
+ *
+ * Plugin for new Maemo's liblocation API.
+ * <vehicle source="maemo://any" retry_interval="1"/>
+ * source cound be on of "any","cwp","acwp","gnss","agnss"
+ * retry_interval could be one of "1","2","5","10","20","30","60","120" measured in seconds
+ *
+ * @{
+ */
+
static struct vehicle_priv {
LocationGPSDControl *control;
LocationGPSDevice *device;
diff --git a/navit/vehicle/null/vehicle_null.c b/navit/vehicle/null/vehicle_null.c
index 643945c71..6b723f9ff 100644
--- a/navit/vehicle/null/vehicle_null.c
+++ b/navit/vehicle/null/vehicle_null.c
@@ -1,4 +1,4 @@
-/** @file vehicle_null.c
+/*
* @brief null uses dbus signals
*
* Navit, a modular navigation system.
@@ -34,6 +34,14 @@
#include "item.h"
#include "vehicle.h"
+/**
+ * @defgroup vehicle-null Vehicle Null
+ * @ingroup vehicle-plugins
+ * @brief A dummy Vehicle to have a null movement.
+ *
+ * @{
+ */
+
struct vehicle_priv {
struct callback_list *cbl;
struct coord_geo geo;
diff --git a/navit/vehicle/qt5/vehicle_qt5.cpp b/navit/vehicle/qt5/vehicle_qt5.cpp
index 2a2b6f5cf..fc8a6635a 100644
--- a/navit/vehicle/qt5/vehicle_qt5.cpp
+++ b/navit/vehicle/qt5/vehicle_qt5.cpp
@@ -1,5 +1,4 @@
-/** @file vehicle_null.c
- * @brief null uses dbus signals
+/*
*
* Navit, a modular navigation system.
* Copyright (C) 2005-2017 Navit Team
@@ -41,6 +40,15 @@ extern "C" {
#include "vehicle_qt5.h"
#include "vehicle_qt5.moc"
#include <QDateTime>
+
+/**
+ * @defgroup vehicle-qt5 Vehicle QT5
+ * @ingroup vehicle-plugins
+ * @brief The Vehicle to gain position data from qt5
+ *
+ * @{
+ */
+
QNavitGeoReceiver::QNavitGeoReceiver(QObject* parent, struct vehicle_priv* c)
: QObject(parent)
{
diff --git a/navit/vehicle/webos/vehicle_webos.c b/navit/vehicle/webos/vehicle_webos.c
index a5bba4bce..c4bdcbaf2 100644
--- a/navit/vehicle/webos/vehicle_webos.c
+++ b/navit/vehicle/webos/vehicle_webos.c
@@ -1,4 +1,4 @@
-/**
+/*
* vim: sw=3 ts=3
*
* Navit, a modular navigation system.
@@ -37,6 +37,14 @@
#include "vehicle_webos.h"
#include "bluetooth.h"
+/**
+ * @defgroup vehicle-webos Vehicle WebOS
+ * @ingroup vehicle-plugins
+ * @brief The Vehicle to gain position data from WebOS
+ *
+ * @{
+ */
+
static char *vehicle_webos_prefix="webos:";
/*******************************************************************/
diff --git a/navit/vehicle/wince/vehicle_wince.c b/navit/vehicle/wince/vehicle_wince.c
index d43c516f7..49f90b1f5 100644
--- a/navit/vehicle/wince/vehicle_wince.c
+++ b/navit/vehicle/wince/vehicle_wince.c
@@ -1,4 +1,4 @@
-/**
+/*
* Navit, a modular navigation system.
* Copyright (C) 2005-2008 Navit Team
*
@@ -44,6 +44,14 @@
#include <wchar.h>
#include "support/win32/ConvertUTF.h"
+/**
+ * @defgroup vehicle-wince Vehicle WinCE
+ * @ingroup vehicle-plugins
+ * @brief The Vehicle to gain position data from WinCE
+ *
+ * @{
+ */
+
#define SwitchToThread() Sleep(0)
typedef int (WINAPI *PFN_BthSetMode)(DWORD pBthMode);
@@ -83,6 +91,8 @@ struct vehicle_priv {
char *source;
struct callback_list *cbl;
struct callback_list *priv_cbl;
+ struct callback *cb_fix_timeout;
+ struct event_timeout *ev_fix_timeout;
int is_running;
int thread_up;
int fd;
@@ -365,6 +375,36 @@ vehicle_wince_available_ports(void)
}
+/**
+* @brief This is a callback function, called when the fix timeout
+* is done. Set the position to invalid.
+*
+* @param priv Pointer on the private data of the plugin
+*/
+static void
+vehicle_wince_fix_timeout_cb(struct vehicle_priv *priv)
+{
+ priv->valid = attr_position_valid_invalid;
+ priv->ev_fix_timeout = NULL;
+ callback_list_call_attr_0(priv->cbl, attr_position_coord_geo);
+}
+
+
+/**
+* @brief Cancel previous fix timeout event and add a new one
+*
+* @param priv Pointer on the private data of the plugin
+*/
+static void
+vehicle_wince_restart_fix_timeout(struct vehicle_priv *priv)
+{
+ if (priv->ev_fix_timeout != NULL)
+ event_remove_timeout(priv->ev_fix_timeout);
+ priv->ev_fix_timeout = event_add_timeout(10000, 0, priv->cb_fix_timeout);
+}
+
+
+
static int
vehicle_wince_open(struct vehicle_priv *priv)
{
@@ -474,7 +514,7 @@ vehicle_wince_parse(struct vehicle_priv *priv, char *buffer)
UTC of Fix[1],Latitude[2],N/S[3],Longitude[4],E/W[5],Quality(0=inv,1=gps,2=dgps)[6],Satelites used[7],
HDOP[8],Altitude[9],"M"[10],height of geoid[11], "M"[12], time since dgps update[13], dgps ref station [14]
*/
- if (*item[2] && *item[3] && *item[4] && *item[5]) {
+ if (*item[2] && *item[3] && *item[4] && *item[5] && *item[6] > 0) {
lat = g_ascii_strtod(item[2], NULL);
priv->geo.lat = floor(lat / 100);
lat -= priv->geo.lat * 100;
@@ -490,20 +530,31 @@ vehicle_wince_parse(struct vehicle_priv *priv, char *buffer)
if (!g_strcasecmp(item[5],"W"))
priv->geo.lng=-priv->geo.lng;
- priv->valid=attr_position_valid_valid;
+
+ if (priv->valid == attr_position_valid_invalid)
+ ret = 1;
+ priv->valid = attr_position_valid_valid;
+ vehicle_wince_restart_fix_timeout(priv);
+
+ if (*item[1] && strncmp(priv->fixtime, item[1], sizeof(priv->fixtime))) {
+ ret = 1;
+ strncpy(priv->fixtime, item[1], sizeof(priv->fixtime));
+ }
dbg(lvl_info, "latitude '%2.4f' longitude %2.4f\n", priv->geo.lat, priv->geo.lng);
- } else
+ } else {
+ if (priv->valid == attr_position_valid_valid)
+ ret = 1;
priv->valid=attr_position_valid_invalid;
+ }
+
if (*item[6])
sscanf(item[6], "%d", &priv->status);
if (*item[7])
- sscanf(item[7], "%d", &priv->sats_used);
+ sscanf(item[7], "%d", &priv->sats_used);
if (*item[8])
sscanf(item[8], "%lf", &priv->hdop);
- if (*item[1])
- strncpy(priv->fixtime, item[1], sizeof(priv->fixtime));
if (*item[9])
sscanf(item[9], "%lf", &priv->height);
@@ -547,8 +598,40 @@ vehicle_wince_parse(struct vehicle_priv *priv, char *buffer)
&priv->fixmonth,
&priv->fixyear);
priv->fixyear += 2000;
+
+ lat = g_ascii_strtod(item[3], NULL);
+ priv->geo.lat = floor(lat / 100);
+ lat -= priv->geo.lat * 100;
+ priv->geo.lat += lat / 60;
+
+ if (!g_ascii_strcasecmp(item[4],"S"))
+ priv->geo.lat=-priv->geo.lat;
+
+ lng = g_ascii_strtod(item[5], NULL);
+ priv->geo.lng = floor(lng / 100);
+ lng -= priv->geo.lng * 100;
+ priv->geo.lng += lng / 60;
+
+ if (!g_ascii_strcasecmp(item[6],"W"))
+ priv->geo.lng=-priv->geo.lng;
+
+ if (priv->valid == attr_position_valid_invalid)
+ ret = 1;
+ priv->valid=attr_position_valid_valid;
+ vehicle_wince_restart_fix_timeout(priv);
+
+ if (*item[1] && strncmp(priv->fixtime, item[1], sizeof(priv->fixtime))) {
+ ret = 1;
+ strncpy(priv->fixtime, item[1], sizeof(priv->fixtime));
+ }
+
+ dbg(lvl_info, "latitude '%2.4f' longitude %2.4f\n", priv->geo.lat, priv->geo.lng);
+
+ } else {
+ if (priv->valid == attr_position_valid_valid)
+ ret = 1;
+ priv->valid=attr_position_valid_invalid;
}
- ret = 1;
}
if (!strncmp(buffer, "$GPGSV", 6) && i >= 4) {
/*
@@ -741,7 +824,8 @@ vehicle_wince_destroy(struct vehicle_priv *priv)
* @param priv vehicle_priv structure for the vehicle
* @param type The attribute type to retrieve
* @param attr Points to an attr structure that will receive the attribute data
- * @returns True for success, false for failure
+ *
+ * @return True for success, false for failure
*/
static int
vehicle_wince_position_attr_get(struct vehicle_priv *priv,
@@ -863,10 +947,11 @@ struct vehicle_methods vehicle_wince_methods = {
/**
* @brief Creates a new wince_vehicle
*
- * @param meth
- * @param cbl
- * @param attrs
- * @returns vehicle_priv
+ * @param meth ?
+ * @param cbl ?
+ * @param attrs ?
+ *
+ * @return vehicle_priv
*/
static struct vehicle_priv *
vehicle_wince_new(struct vehicle_methods
@@ -902,6 +987,8 @@ vehicle_wince_new(struct vehicle_methods
ret->buffer = g_malloc(buffer_size);
ret->time=1000;
ret->baudrate=0; // do not change the rate if not configured
+ ret->fixtime[0] = '\0';
+ ret->ev_fix_timeout = NULL;
time = attr_search(attrs, NULL, attr_time);
if (time)
@@ -923,6 +1010,7 @@ vehicle_wince_new(struct vehicle_methods
*meth = vehicle_wince_methods;
ret->priv_cbl = callback_list_new();
callback_list_add(ret->priv_cbl, callback_new_1(callback_cast(vehicle_wince_io), ret));
+ ret->cb_fix_timeout=callback_new_1(callback_cast(vehicle_wince_fix_timeout_cb), ret);
ret->sat_item.type=type_position_sat;
ret->sat_item.id_hi=ret->sat_item.id_lo=0;
ret->sat_item.priv_data=ret;
diff --git a/navit/xmlconfig.h b/navit/xmlconfig.h
index 2a2600473..483f215d0 100644
--- a/navit/xmlconfig.h
+++ b/navit/xmlconfig.h
@@ -65,20 +65,51 @@ typedef void *(*object_func_ref)(void *);
typedef void *(*object_func_unref)(void *);
+/**
+ * @brief Basic functions for Navit objects
+ *
+ * This is the minimal list of functions which is supported by every Navit object.
+ *
+ * Some members can be NULL for certain object types: while Navit does not mandate this function to be
+ * implemented for every object class, the function may need to be defined for some object classes.
+ *
+ * Default implementations are available for every function in the list except `create`, `init` and
+ * `dup`. These can be set directly, or type-specific implementations can call through to them as they
+ * see fit.
+ */
struct object_func {
- enum attr_type type;
- void *(*create)(struct attr *parent, struct attr **attrs);
- int (*get_attr)(void *, enum attr_type type, struct attr *attr, struct attr_iter *iter);
- struct attr_iter *(*iter_new)(void *);
- void (*iter_destroy)(struct attr_iter *);
- int (*set_attr)(void *, struct attr *attr);
- int (*add_attr)(void *, struct attr *attr);
- int (*remove_attr)(void *, struct attr *attr);
- int (*init)(void *);
- void (*destroy)(void *);
- void *(*dup)(void *);
- void *(*ref)(void *);
- void *(*unref)(void *);
+ enum attr_type type; /**< The object type */
+ void *(*create)(struct attr *parent, struct attr **attrs); /**< Function to create a new object instance */
+ int (*get_attr)(void *, enum attr_type type, struct attr *attr, struct attr_iter *iter); /**< Function
+ * to get an attribute of the object,
+ * set to `navit_object_get_attr` for default behavior */
+ struct attr_iter *(*iter_new)(void *); /**< Function to obtain a new attribute iterator,
+ * set to `navit_object_attr_iter_new` for default
+ * behavior, can be NULL for some object types */
+ void (*iter_destroy)(struct attr_iter *); /**< Function to destroy an attribute iterator,
+ * set to `navit_object_attr_iter_destroy` for default
+ * behavior, can be NULL for some object types */
+ int (*set_attr)(void *, struct attr *attr); /**< Function to set an attribute,
+ * set to `navit_object_set_attr` for default behavior,
+ * can be NULL for some object types */
+ int (*add_attr)(void *, struct attr *attr); /**< Function to add an attribute,
+ * set to `navit_object_add_attr` for default behavior,
+ * can be NULL for some object types */
+ int (*remove_attr)(void *, struct attr *attr); /**< Function to remove an attribute,
+ * set to `navit_object_remove_attr` for default behavior,
+ * can be NULL for some object types */
+ int (*init)(void *); /**< TODO,
+ * can be NULL for some object types */
+ void (*destroy)(void *); /**< Function to destroy an object instance,
+ * set to `navit_object_destroy` for default behavior,
+ * can be NULL */
+ void *(*dup)(void *); /**< Function to create a copy of an object instance */
+ void *(*ref)(void *); /**< Function to increase the reference count for an
+ * object instance, set to `navit_object_ref` for
+ * default behavior, can be NULL for some object types */
+ void *(*unref)(void *); /**< Function to decrease the reference count for an
+ * object instance, set to `navit_object_unref` for
+ * default behavior, can be NULL for some object types */
};
extern struct object_func map_func, mapset_func, navit_func, osd_func, tracking_func, vehicle_func, maps_func, layout_func, roadprofile_func, vehicleprofile_func, layer_func, config_func, profile_option_func, script_func, log_func, speech_func, navigation_func, route_func;
diff --git a/po/cs.po.in b/po/cs.po.in
index ab05a9c48..28a3ec959 100644
--- a/po/cs.po.in
+++ b/po/cs.po.in
@@ -1,11 +1,12 @@
# Čeština translations for navit
-# Copyright (C) 2006-2016 The Navit Team
+# Copyright (C) 2006-2017 The Navit Team
# This file is distributed under the same license as the navit package.
# Many thanks to the contributors of this translation:
# 72ka https://launchpad.net/~2hp
# Aleš Janda https://launchpad.net/~kyblicek
# Ivan Kološ https://launchpad.net/~ivan-kolos
# Jakuje https://launchpad.net/~jakuje
+# Jiří Holubčík https://launchpad.net/~jery
# MMlosh https://launchpad.net/~mmlosh
# Marc0 https://launchpad.net/~z-ubuntuone-y
# Mike Crash https://launchpad.net/~mike-mikecrash
@@ -22,7 +23,7 @@ msgid ""
msgstr ""
"Project-Id-Version: navit 0.5.0\n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2016-07-12 16:13+0000\n"
+"PO-Revision-Date: 2017-09-24 10:28+0000\n"
"Last-Translator: Pavel Borecki <Unknown>\n"
"Language-Team: Čeština\n"
"MIME-Version: 1.0\n"
@@ -33,7 +34,7 @@ msgstr ""
"X-Report-Errors: https://translations.launchpad.net/navit/trunk/+pots/navit\n"
msgid "Running from source directory\n"
-msgstr "Běží ze zdrojového adresáře\n"
+msgstr "Spuštěné ze zdrojové složky\n"
#, c-format
msgid "setting '%s' to '%s'\n"
@@ -203,7 +204,7 @@ msgstr "Až to bude možné, otočte se"
#. TRANSLATORS: the argument is the destination to follow
#, c-format
msgid "towards %s"
-msgstr ""
+msgstr "směrem na %s"
#, c-format
msgid "Follow the road for the next %s"
@@ -215,7 +216,7 @@ msgstr "Brzy najeďte na kruhový objezd"
#. TRANSLATORS: %s is the distance to the roundabout
#, c-format
msgid "Enter the roundabout %s"
-msgstr ""
+msgstr "Vjeďte na kruhový objezd po %s"
msgid "then enter the roundabout"
msgstr "poté vjeďte na kruhový objezd"
@@ -272,7 +273,7 @@ msgstr "Opusťte komunikaci na sjezdu %1$s %2$s%3$s"
#. TRANSLATORS: as in "Keep right at interchange 42 Greenmond-West"
msgid "at interchange"
-msgstr ""
+msgstr "sjeďte"
msgid "at exit"
msgstr "na konci"
@@ -285,7 +286,7 @@ msgstr "poté pokračujte přímo %1$s"
#. TRANSLATORS: the first arg. is distance, the second is where to do the maneuver, the third is destination
#, c-format
msgid "Continue straight %1$s%2$s%3$s"
-msgstr ""
+msgstr "Pokračujte rovně %1$s%2$s%3$s"
#. TRANSLATORS: the arg. is where to do the maneuver
#, c-format
@@ -295,7 +296,7 @@ msgstr "poté se držte vpravo%1$s"
#. TRANSLATORS: the first arg. is distance, the second is where to do the maneuver, the third is destination
#, c-format
msgid "Keep right %1$s%2$s%3$s"
-msgstr ""
+msgstr "Držte se vpravo %1$s%2$s%3$s"
#. TRANSLATORS: the arg. is where to do the maneuver
#, c-format
@@ -305,7 +306,7 @@ msgstr "poté se držte vlevo%1$s"
#. TRANSLATORS: the first arg. is distance, the second is where to do the maneuver, the third is destination
#, c-format
msgid "Keep left %1$s%2$s%3$s"
-msgstr ""
+msgstr "Držte se vlevo %1$s%2$s%3$s"
#. TRANSLATORS: "right" as in "turn right"
msgid "right"
@@ -371,7 +372,7 @@ msgstr "Otočte se %1$s"
#. *
#.
msgid "follow"
-msgstr ""
+msgstr "následujte"
msgid "then you have reached your destination."
msgstr "pak budete v cíli."
@@ -383,7 +384,7 @@ msgstr "%s dorazíte do cíle"
#. TRANSLATORS: Exit as a noun, as in "Exit 43 Greenmound-East"
msgid "Interchange"
-msgstr ""
+msgstr "Sjezd"
msgid "Exit"
msgstr "Ukončit"
@@ -1592,7 +1593,7 @@ msgid "Opens address search dialog"
msgstr "Otevře vyhledávání adres"
msgid "_POI search"
-msgstr ""
+msgstr "_POI hledat"
msgid "Opens POI search dialog"
msgstr "Otevře dialog vyhledávání POI"
@@ -1689,7 +1690,7 @@ msgstr "Vzdálenost od středu mapy (km)"
#, c-format
msgid "POI %s. %s"
-msgstr ""
+msgstr "POI %s. %s"
#, c-format
msgid "Set destination to %ld, %ld \n"
@@ -1983,7 +1984,7 @@ msgid "Height Profile"
msgstr "Výškový profil"
msgid "please install a map *.heightlines.bin to provide elevationdata"
-msgstr ""
+msgstr "pro výškové údaje nainstalujte mapu *.heightlines.bin"
msgid "The route must cross at least 2 heightlines"
msgstr ""
@@ -1994,6 +1995,9 @@ msgstr "Popis trasy"
msgid "Show Locale"
msgstr "Zobrazit jazyk"
+msgid "Network info"
+msgstr "Informace o síti"
+
msgid "Former Destinations"
msgstr "Minulé cíle"
@@ -2448,7 +2452,7 @@ msgid "ready"
msgstr "mapa připravena"
msgid "Media selected for map storage is not available"
-msgstr ""
+msgstr "Médium zvolené pro uchovávání map není k dispozici"
#. Android resource: @strings/map_download_not_enough_free_space
msgid "Not enough free space"
@@ -2528,8 +2532,17 @@ msgstr "Celá obrazovka"
msgid "Window Mode"
msgstr "V okně"
+msgid "Auto zoom"
+msgstr "Automatické přiblížení"
+
+msgid "Manual zoom"
+msgstr "Ruční přiblížení"
+
msgid "Layers"
-msgstr ""
+msgstr "Vrstvy"
+
+msgid "Zoom to route"
+msgstr "Přiblížit trasu"
msgid "Description"
msgstr "Popis"
@@ -2641,7 +2654,7 @@ msgstr "Zálohovat / Obnovit"
#. Android resource: @strings/optionsmenu_set_map_location
msgid "Set map location"
-msgstr ""
+msgstr "Nastavit umístění mapy"
#. Android resource: @strings/map_delete
msgid "Delete this map?"
@@ -2782,6 +2795,16 @@ msgid ""
"Should we ask the system to show voice download dialog?"
msgstr ""
+#. Android resource: @strings/permissions_not_granted
+msgid ""
+"Navit needs permission to access GPS and read the map.\n"
+"If you change your mind please restart Navit and grant the permissions"
+msgstr ""
+
+#. Android resource: @strings/permissions_info_box_title
+msgid "One or more ungranted permissions"
+msgstr "Chybí přinejmenším jedno oprávnění"
+
#, c-format
#~ msgid "then leave the roundabout at the %1$s %2$s"
#~ msgstr "pak sjeďte na %1$s %2$s"
diff --git a/po/es.po.in b/po/es.po.in
index 4946a6233..bbd11a961 100644
--- a/po/es.po.in
+++ b/po/es.po.in
@@ -1,5 +1,5 @@
# Spanish translations for navit
-# Copyright (C) 2006-2016 The Navit Team
+# Copyright (C) 2006-2017 The Navit Team
# This file is distributed under the same license as the navit package.
# Many thanks to the contributors of this translation:
# Benjamín Valero Espinosa https://launchpad.net/~benjavalero
@@ -8,6 +8,7 @@
# Emilio Gomez Fernandez https://launchpad.net/~egofer
# Feder Sáiz https://launchpad.net/~federsaiz-deactivatedaccount
# Inaki Saez https://launchpad.net/~inaki-saez
+# Iñigo Huguet https://launchpad.net/~inigohuguet
# Jonay https://launchpad.net/~jonay-santana
# KaZeR https://launchpad.net/~kazer
# Kenneth Belitzky https://launchpad.net/~r-kenny
@@ -26,8 +27,8 @@ msgid ""
msgstr ""
"Project-Id-Version: navit 0.5.0\n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2016-06-21 22:51+0000\n"
-"Last-Translator: Kenneth Belitzky <kenny@belitzky.com>\n"
+"PO-Revision-Date: 2017-09-26 07:01+0000\n"
+"Last-Translator: Iñigo Huguet <inigohuguet@hotmail.com>\n"
"Language-Team: Chris Eubank <cteubank@gmail.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -174,7 +175,7 @@ msgstr "en el carril de entrada"
#. TRANSLATORS: Arguments: 1: Prefix (Space if required) 2: Street Name 3: Separator (Space if required), 4: Systematic Street Name
#, c-format
msgid "%sinto %s%s%s"
-msgstr "%sen la calle %s%s%s"
+msgstr "%sen %s%s%s"
#. TRANSLATORS: Arguments: 1: Prefix (Space if required) 2: Street Name 3: Separator (Space if required), 4: Systematic Street Name. Masculine form. The stuff after | doesn't have to be included
#, c-format
@@ -189,7 +190,7 @@ msgstr "%sen la %s%s%s"
#. TRANSLATORS: Arguments: 1: Prefix (Space if required) 2: Street Name 3: Separator (Space if required), 4: Systematic Street Name. Neuter form. The stuff after | doesn't have to be included
#, c-format
msgid "%sinto %s%s%s|neuter form"
-msgstr "%sen la calle %s%s%s"
+msgstr "%sen %s%s%s"
#. TRANSLATORS: gives the name of the next road to turn into (into the E17)
#, c-format
@@ -214,10 +215,10 @@ msgstr "Entre en la próxima rotonda"
#. TRANSLATORS: %s is the distance to the roundabout
#, c-format
msgid "Enter the roundabout %s"
-msgstr "Entrar en la rotonda de %s"
+msgstr "Entre en la rotonda %s"
msgid "then enter the roundabout"
-msgstr "luego entrar en la rotonda"
+msgstr "luego entre en la rotonda"
#. TRANSLATORS: first arg. is the manieth exit, second arg. is the destination to follow
#, c-format
@@ -1453,6 +1454,16 @@ msgid ""
"\t-h: print this usage info and exit.\n"
"\t-v: print the version and exit.\n"
msgstr ""
+"uso de navit:\n"
+"navit [opciones][archivo config]\n"
+"\t-c <archivo>: usa <archivo> como archivo de configuración en lugar del "
+"archivo por defecto.\n"
+"\t-d <n>: fija el nivel global de salida de debug a <n> (0=error, 1=warning, "
+"2=info, 3=debug).\n"
+"\tLas configuraciones del archivo de configuración aún tendrán efecto donde "
+"fijen un nivel mayor.\n"
+"\t-h: muestra este mensaje de ayuda y termina.\n"
+"\t-v: muestra la versión y termina.\n"
#. We have not found an existing config file from all possibilities
msgid "No config file navit.xml, navit.xml.local found\n"
@@ -1470,6 +1481,7 @@ msgstr "Usando el fichero de configuración '%s'\n"
#, c-format
msgid "Error: No configuration found in config file '%s'\n"
msgstr ""
+"Error: No se encontró la configuración en el archivo de configuración '%s'\n"
msgid ""
"Internal initialization failed, exiting. Check previous error messages.\n"
@@ -1716,7 +1728,7 @@ msgid "Select a POI"
msgstr "Seleccionar un POI"
msgid " "
-msgstr ""
+msgstr " "
msgid "Category"
msgstr "Categoría"
@@ -1984,9 +1996,11 @@ msgstr "Perfil de altura"
msgid "please install a map *.heightlines.bin to provide elevationdata"
msgstr ""
+"por favor, instale un mapa *.heightlines.bin para suministrar información de "
+"altimetría."
msgid "The route must cross at least 2 heightlines"
-msgstr ""
+msgstr "La ruta cruza al menos 2 curvas de nivel"
msgid "Route Description"
msgstr "Descripción de ruta"
@@ -1994,6 +2008,9 @@ msgstr "Descripción de ruta"
msgid "Show Locale"
msgstr "Mostrar locale"
+msgid "Network info"
+msgstr "Info. de red"
+
msgid "Former Destinations"
msgstr "Destinos anteriores"
@@ -2535,9 +2552,18 @@ msgstr "Pantalla completa"
msgid "Window Mode"
msgstr "Modo ventana"
+msgid "Auto zoom"
+msgstr "Zoom automático"
+
+msgid "Manual zoom"
+msgstr "Zoom manual"
+
msgid "Layers"
msgstr ""
+msgid "Zoom to route"
+msgstr "Zoom a ruta"
+
msgid "Description"
msgstr "Descripción"
@@ -2789,6 +2815,18 @@ msgid ""
"Should we ask the system to show voice download dialog?"
msgstr ""
+#. Android resource: @strings/permissions_not_granted
+msgid ""
+"Navit needs permission to access GPS and read the map.\n"
+"If you change your mind please restart Navit and grant the permissions"
+msgstr ""
+"Navit necesita permiso para acceder al GPS y abrir el mapa.\n"
+"Si cambia de opinión, por favor reinicie Navit y conceda los permisos."
+
+#. Android resource: @strings/permissions_info_box_title
+msgid "One or more ungranted permissions"
+msgstr "Uno o más permisos rechazados"
+
#, c-format
#~ msgid "then leave the roundabout at the %1$s %2$s"
#~ msgstr "después salga de la rotonda por la %1$s %2$s"
diff --git a/po/fr.po.in b/po/fr.po.in
index 5300b85d2..17c40e85c 100644
--- a/po/fr.po.in
+++ b/po/fr.po.in
@@ -1,11 +1,12 @@
# French (fr) translations for navit
-# Copyright (C) 2006-2016 The Navit Team
+# Copyright (C) 2006-2017 The Navit Team
# This file is distributed under the same license as the navit package.
# Many thanks to the contributors of this translation:
# Arnaud https://launchpad.net/~arnaud-lemeur
# Breizh_Punisher https://launchpad.net/~lemeura
# Deuchnord https://launchpad.net/~jerome-logiciels-id
# Elodie https://launchpad.net/~elodie
+# Francois.Mocq https://launchpad.net/~francois-mocq
# Fred https://launchpad.net/~frederi1
# Fred https://launchpad.net/~jelk
# Gaël Ecorchard https://launchpad.net/~galou-breizh
@@ -31,8 +32,8 @@ msgid ""
msgstr ""
"Project-Id-Version: navit 0.5.0\n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2016-09-29 12:45+0000\n"
-"Last-Translator: Fred <frederi1@gmail.com>\n"
+"PO-Revision-Date: 2017-10-08 23:54+0000\n"
+"Last-Translator: KaZeR <Unknown>\n"
"Language-Team: KaZeR <kazer@altern.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -2013,6 +2014,9 @@ msgstr "Description de la route"
msgid "Show Locale"
msgstr "Afficher la locale"
+msgid "Network info"
+msgstr ""
+
msgid "Former Destinations"
msgstr "Destinations précédentes"
@@ -2484,7 +2488,7 @@ msgid "Error writing map!"
msgstr "Erreur d'écriture de carte !"
msgid "Map download aborted!"
-msgstr "Téléchargement de carte abondonné !"
+msgstr "Téléchargement de la carte abandonné!"
#. Android resource: @strings/map_download_eta
msgid "ETA"
@@ -2492,7 +2496,7 @@ msgstr "Temps restant"
#. Android resource: @strings/map_download_title
msgid "Map download"
-msgstr "Carte téléchargement"
+msgstr "Télécharger la carte"
msgid "Vehicle Position"
msgstr "Position du véhicule"
@@ -2551,9 +2555,18 @@ msgstr "Plein écran"
msgid "Window Mode"
msgstr "Mode fenêtré"
+msgid "Auto zoom"
+msgstr ""
+
+msgid "Manual zoom"
+msgstr ""
+
msgid "Layers"
msgstr "Couches"
+msgid "Zoom to route"
+msgstr ""
+
msgid "Description"
msgstr "Description"
@@ -2656,7 +2669,7 @@ msgstr "Basculer POIs"
#. Android resource: @strings/optionsmenu_exit_navit
msgid "Exit Navit"
-msgstr "Quittez Navit"
+msgstr "Quitter Navit"
#. Android resource: @strings/optionsmenu_backup_restore
msgid "Backup / Restore"
@@ -2680,7 +2693,7 @@ msgstr "Erreur de téléchargement carte"
#. Android resource: @strings/map_download_download_aborted
msgid "Map download aborted"
-msgstr "Carte télécharger avortée"
+msgstr "Téléchargement de la carte abandonné"
#. Android resource: @strings/map_no_fix
msgid "No location. Reopen after location fix."
@@ -2809,6 +2822,16 @@ msgstr ""
"parler dans votre langue. Devons nous demander au système d'afficher le menu "
"de téléchargement des voix?"
+#. Android resource: @strings/permissions_not_granted
+msgid ""
+"Navit needs permission to access GPS and read the map.\n"
+"If you change your mind please restart Navit and grant the permissions"
+msgstr ""
+
+#. Android resource: @strings/permissions_info_box_title
+msgid "One or more ungranted permissions"
+msgstr ""
+
#, c-format
#~ msgid "then leave the roundabout at the %1$s %2$s"
#~ msgstr "puis sortez du rond-point à la %1$s %2$s"