diff -Nru opencpn-plugin-launcher-1.0.0/buildosx/InstallOSX/launcher_pi.pkgproj.in opencpn-plugin-launcher-1.1.1/buildosx/InstallOSX/launcher_pi.pkgproj.in --- opencpn-plugin-launcher-1.0.0/buildosx/InstallOSX/launcher_pi.pkgproj.in 2015-01-01 21:21:26.000000000 +0000 +++ opencpn-plugin-launcher-1.1.1/buildosx/InstallOSX/launcher_pi.pkgproj.in 2016-02-24 17:20:31.000000000 +0000 @@ -74,122 +74,56 @@ CHILDREN + + GID + 80 + PATH + Resources + PATH_TYPE + 3 + PERMISSIONS + 493 + TYPE + 3 + UID + 0 + + + CHILDREN CHILDREN CHILDREN - - GID - 80 - PATH - Resources/de.lproj/opencpn-${PACKAGE_NAME}.mo - PATH_TYPE - 3 - PERMISSIONS - 420 - TYPE - 3 - UID - 0 - - - GID - 80 - PATH - de.lproj - PATH_TYPE - 0 - PERMISSIONS - 509 - TYPE - 2 - UID - 0 - - - CHILDREN - - - CHILDREN - - GID - 80 - PATH - Resources/es.lproj/opencpn-${PACKAGE_NAME}.mo - PATH_TYPE - 3 - PERMISSIONS - 420 - TYPE - 3 - UID - 0 - - - GID - 80 - PATH - es.lproj - PATH_TYPE - 0 - PERMISSIONS - 509 - TYPE - 2 - UID - 0 - - - CHILDREN - - - CHILDREN - + + + CHILDREN + + GID + 80 + PATH + ../data + PATH_TYPE + 3 + PERMISSIONS + 493 + TYPE + 3 + UID + 0 + + GID 80 PATH - Resources/et.lproj/opencpn-${PACKAGE_NAME}.mo + ${PACKAGE_NAME} PATH_TYPE - 3 - PERMISSIONS - 420 - TYPE - 3 - UID 0 - - - GID - 80 - PATH - et.lproj - PATH_TYPE - 0 - PERMISSIONS - 509 - TYPE - 2 - UID - 0 - - - CHILDREN - - - CHILDREN - - GID - 80 - PATH - Resources/fr.lproj/opencpn-${PACKAGE_NAME}.mo - PATH_TYPE - 3 PERMISSIONS - 420 + 509 TYPE - 3 + 2 UID 0 @@ -197,40 +131,7 @@ GID 80 PATH - fr.lproj - PATH_TYPE - 0 - PERMISSIONS - 509 - TYPE - 2 - UID - 0 - - - CHILDREN - - - CHILDREN - - GID - 80 - PATH - Resources/pl.lproj/opencpn-${PACKAGE_NAME}.mo - PATH_TYPE - 3 - PERMISSIONS - 420 - TYPE - 3 - UID - 0 - - - GID - 80 - PATH - pl.lproj + plugins PATH_TYPE 0 PERMISSIONS @@ -244,7 +145,7 @@ GID 80 PATH - Resources + SharedSupport PATH_TYPE 0 PERMISSIONS diff -Nru opencpn-plugin-launcher-1.0.0/cmake/PluginConfigure.cmake opencpn-plugin-launcher-1.1.1/cmake/PluginConfigure.cmake --- opencpn-plugin-launcher-1.0.0/cmake/PluginConfigure.cmake 2015-01-01 21:21:26.000000000 +0000 +++ opencpn-plugin-launcher-1.1.1/cmake/PluginConfigure.cmake 2016-02-24 17:20:31.000000000 +0000 @@ -19,7 +19,7 @@ SET(PACKAGE_VERSION "${VERSION_MAJOR}.${VERSION_MINOR}" ) #SET(CMAKE_BUILD_TYPE Debug) -#SET(CMAKE_VERBOSE_MAKEFILE ON) +SET(CMAKE_VERBOSE_MAKEFILE ON) INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/include ${PROJECT_SOURCE_DIR}/src) @@ -48,18 +48,29 @@ ADD_DEFINITIONS(-D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_SECURE_NO_DEPRECATE) ENDIF(MSVC) -SET(wxWidgets_USE_LIBS base core net xml html adv aui) -SET(BUILD_SHARED_LIBS TRUE) +SET_PROPERTY(GLOBAL PROPERTY TARGET_SUPPORTS_SHARED_LIBS TRUE) +SET(BUILD_SHARED_LIBS "ON") + -FIND_PACKAGE(wxWidgets REQUIRED) +# QT_ANDROID is a cross-build, so the native FIND_PACKAGE(wxWidgets...) and wxWidgets_USE_FILE is not useful. +IF(NOT QT_ANDROID) +IF(NOT DEFINED wxWidgets_USE_FILE) + SET(wxWidgets_USE_LIBS base core net xml html adv) + SET(BUILD_SHARED_LIBS TRUE) + FIND_PACKAGE(wxWidgets REQUIRED) +ENDIF(NOT DEFINED wxWidgets_USE_FILE) + + INCLUDE(${wxWidgets_USE_FILE}) +ENDIF(NOT QT_ANDROID) IF(MSYS) # this is just a hack. I think the bug is in FindwxWidgets.cmake STRING( REGEX REPLACE "/usr/local" "\\\\;C:/MinGW/msys/1.0/usr/local" wxWidgets_INCLUDE_DIRS ${wxWidgets_INCLUDE_DIRS} ) ENDIF(MSYS) -INCLUDE(${wxWidgets_USE_FILE}) - +# QT_ANDROID is a cross-build, so the native FIND_PACKAGE(OpenGL) is not useful. +# +IF (NOT QT_ANDROID ) FIND_PACKAGE(OpenGL) IF(OPENGL_GLU_FOUND) @@ -73,6 +84,39 @@ ELSE(OPENGL_GLU_FOUND) MESSAGE (STATUS "OpenGL not found..." ) ENDIF(OPENGL_GLU_FOUND) +ENDIF(NOT QT_ANDROID) + +# On Android, PlugIns need a specific linkage set.... +IF (QT_ANDROID ) + # These libraries are needed to create PlugIns on Android. + + SET(OCPN_Core_LIBRARIES + # Presently, Android Plugins are built in the core tree, so the variables {wxQT_BASE}, etc. + # flow to this module from above. If we want to build Android plugins out-of-core, this will need improvement. + + # TODO This is pretty ugly, but there seems no way to avoid specifying a full path in a cross build.... + /home/dsr/Projects/opencpn_sf/opencpn/build-opencpn-Android_for_armeabi_v7a_GCC_4_8_Qt_5_5_0-Debug/libopencpn.so + + ${wxQt_Base}/${wxQt_Build}/lib/libwx_baseu-3.1-arm-linux-androideabi.a + ${wxQt_Base}/${wxQt_Build}/lib/libwx_qtu_core-3.1-arm-linux-androideabi.a + ${wxQt_Base}/${wxQt_Build}/lib/libwx_qtu_html-3.1-arm-linux-androideabi.a + ${wxQt_Base}/${wxQt_Build}/lib/libwx_baseu_xml-3.1-arm-linux-androideabi.a + ${wxQt_Base}/${wxQt_Build}/lib/libwx_qtu_qa-3.1-arm-linux-androideabi.a + ${wxQt_Base}/${wxQt_Build}/lib/libwx_qtu_adv-3.1-arm-linux-androideabi.a + ${wxQt_Base}/${wxQt_Build}/lib/libwx_qtu_aui-3.1-arm-linux-androideabi.a + ${wxQt_Base}/${wxQt_Build}/lib/libwx_baseu_net-3.1-arm-linux-androideabi.a + ${wxQt_Base}/${wxQt_Build}/lib/libwx_qtu_gl-3.1-arm-linux-androideabi.a + ${Qt_Base}/android_armv7/lib/libQt5Core.so + ${Qt_Base}/android_armv7/lib/libQt5OpenGL.so + ${Qt_Base}/android_armv7/lib/libQt5Widgets.so + ${Qt_Base}/android_armv7/lib/libQt5Gui.so + ${Qt_Base}/android_armv7/lib/libQt5AndroidExtras.so + + #${NDK_Base}/sources/cxx-stl/gnu-libstdc++/4.8/libs/armeabi-v7a/libgnustl_shared.so + ) + +ENDIF(QT_ANDROID) + SET(BUILD_SHARED_LIBS TRUE) diff -Nru opencpn-plugin-launcher-1.0.0/cmake/PluginInstall.cmake opencpn-plugin-launcher-1.1.1/cmake/PluginInstall.cmake --- opencpn-plugin-launcher-1.0.0/cmake/PluginInstall.cmake 2015-01-01 21:21:26.000000000 +0000 +++ opencpn-plugin-launcher-1.1.1/cmake/PluginInstall.cmake 2016-02-24 17:20:31.000000000 +0000 @@ -49,6 +49,11 @@ FIND_PACKAGE(ZLIB REQUIRED) TARGET_LINK_LIBRARIES( ${PACKAGE_NAME} ${ZLIB_LIBRARIES} ) INSTALL(TARGETS ${PACKAGE_NAME} RUNTIME LIBRARY DESTINATION ${CMAKE_BINARY_DIR}/OpenCPN.app/Contents/PlugIns) + + IF(EXISTS ${PROJECT_SOURCE_DIR}/data) + INSTALL(DIRECTORY data DESTINATION ${CMAKE_BINARY_DIR}/OpenCPN.app/Contents/SharedSupport/plugins/${PACKAGE_NAME}) + ENDIF() + ENDIF(APPLE) IF(UNIX AND NOT APPLE) @@ -82,8 +87,10 @@ IF(UNIX AND NOT APPLE) SET(PREFIX_PARENTDATA ${PREFIX_DATA}/${PARENT}) - SET(PREFIX_PARENTLIB ${PREFIX_LIB}/${PARENT}) - INSTALL(TARGETS ${PACKAGE_NAME} RUNTIME LIBRARY DESTINATION ${PREFIX_PARENTLIB}) + IF(NOT DEFINED PREFIX_PLUGINS) + SET(PREFIX_PLUGINS ${PREFIX_LIB}/${PARENT}) + ENDIF(NOT DEFINED PREFIX_PLUGINS) + INSTALL(TARGETS ${PACKAGE_NAME} RUNTIME LIBRARY DESTINATION ${PREFIX_PLUGINS}) IF(EXISTS ${PROJECT_SOURCE_DIR}/data) INSTALL(DIRECTORY data DESTINATION ${PREFIX_PARENTDATA}/plugins/${PACKAGE_NAME}) diff -Nru opencpn-plugin-launcher-1.0.0/cmake/PluginPackage.cmake opencpn-plugin-launcher-1.1.1/cmake/PluginPackage.cmake --- opencpn-plugin-launcher-1.0.0/cmake/PluginPackage.cmake 2015-01-01 21:21:26.000000000 +0000 +++ opencpn-plugin-launcher-1.1.1/cmake/PluginPackage.cmake 2016-02-24 17:20:31.000000000 +0000 @@ -6,6 +6,9 @@ # build a CPack driven installer package #include (InstallRequiredSystemLibraries) +IF (COMMAND cmake_policy) + CMAKE_POLICY(SET CMP0002 OLD) +ENDIF (COMMAND cmake_policy) SET(CPACK_PACKAGE_NAME "${PACKAGE_NAME}") SET(CPACK_PACKAGE_VENDOR "opencpn.org") @@ -35,7 +38,7 @@ # These lines set the name of the Windows Start Menu shortcut and the icon that goes with it # SET(CPACK_NSIS_INSTALLED_ICON_NAME "${PACKAGE_NAME}") -# SET(CPACK_NSIS_DISPLAY_NAME "OpenCPN ${PACKAGE_NAME}") +SET(CPACK_NSIS_DISPLAY_NAME "OpenCPN ${PACKAGE_NAME}") # SET(CPACK_PACKAGE_FILE_NAME "${PACKAGE_NAME}_${VERSION_MAJOR}.${VERSION_MINOR}_setup" ) @@ -147,12 +150,13 @@ INCLUDE(CPack) - +IF(NOT STANDALONE MATCHES "BUNDLED") IF(APPLE) +MESSAGE (STATUS "*** Staging to build PlugIn OSX Package ***") # Copy a bunch of files so the Packages installer builder can find them # relative to ${CMAKE_CURRENT_BINARY_DIR} - # This avoids absolute paths in the wmm.pkgproj file + # This avoids absolute paths in the chartdldr_pi.pkgproj file configure_file(${PROJECT_SOURCE_DIR}/cmake/gpl.txt ${CMAKE_CURRENT_BINARY_DIR}/license.txt COPYONLY) @@ -181,3 +185,4 @@ ENDIF(APPLE) +ENDIF(NOT STANDALONE MATCHES "BUNDLED") diff -Nru opencpn-plugin-launcher-1.0.0/CMakeLists.txt opencpn-plugin-launcher-1.1.1/CMakeLists.txt --- opencpn-plugin-launcher-1.0.0/CMakeLists.txt 2015-01-01 21:21:26.000000000 +0000 +++ opencpn-plugin-launcher-1.1.1/CMakeLists.txt 2016-02-24 17:20:31.000000000 +0000 @@ -15,12 +15,18 @@ SET(CPACK_PACKAGE_CONTACT "Pavel Kalian") SET(VERSION_MAJOR "1") -SET(VERSION_MINOR "0") +SET(VERSION_MINOR "1") #SET(CMAKE_BUILD_TYPE Debug) +OPTION(LAUNCHER_USE_SVG "Use SVG graphics" ON) + INCLUDE("cmake/PluginConfigure.cmake") +IF(LAUNCHER_USE_SVG) + ADD_DEFINITIONS(-DLAUNCHER_USE_SVG) +ENDIF(LAUNCHER_USE_SVG) + SET(SRC_LAUNCHER src/launcher_pi.h src/launcher_pi.cpp diff -Nru opencpn-plugin-launcher-1.0.0/data/launcher_pi_rollover.svg opencpn-plugin-launcher-1.1.1/data/launcher_pi_rollover.svg --- opencpn-plugin-launcher-1.0.0/data/launcher_pi_rollover.svg 1970-01-01 00:00:00.000000000 +0000 +++ opencpn-plugin-launcher-1.1.1/data/launcher_pi_rollover.svg 2016-02-24 17:20:31.000000000 +0000 @@ -0,0 +1,114 @@ + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + diff -Nru opencpn-plugin-launcher-1.0.0/data/launcher_pi.svg opencpn-plugin-launcher-1.1.1/data/launcher_pi.svg --- opencpn-plugin-launcher-1.0.0/data/launcher_pi.svg 1970-01-01 00:00:00.000000000 +0000 +++ opencpn-plugin-launcher-1.1.1/data/launcher_pi.svg 2016-02-24 17:20:31.000000000 +0000 @@ -0,0 +1,135 @@ + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + diff -Nru opencpn-plugin-launcher-1.0.0/data/launcher_pi_toggled.svg opencpn-plugin-launcher-1.1.1/data/launcher_pi_toggled.svg --- opencpn-plugin-launcher-1.0.0/data/launcher_pi_toggled.svg 1970-01-01 00:00:00.000000000 +0000 +++ opencpn-plugin-launcher-1.1.1/data/launcher_pi_toggled.svg 2016-02-24 17:20:31.000000000 +0000 @@ -0,0 +1,99 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + diff -Nru opencpn-plugin-launcher-1.0.0/debian/changelog opencpn-plugin-launcher-1.1.1/debian/changelog --- opencpn-plugin-launcher-1.0.0/debian/changelog 2015-04-22 00:47:33.000000000 +0000 +++ opencpn-plugin-launcher-1.1.1/debian/changelog 2016-02-24 22:23:38.000000000 +0000 @@ -1,3 +1,58 @@ +opencpn-plugin-launcher (1.1.1-0~trusty1) trusty; urgency=low + + * Version 1.1.1 + + -- Pavel Kalian Wed, 24 Feb 2016 16:21:39 -0600 +opencpn-plugin-launcher (1.1.1-0~vivid1) vivid; urgency=low + + * Version 1.1.1 + + -- Pavel Kalian Wed, 24 Feb 2016 16:21:39 -0600 +opencpn-plugin-launcher (1.1.1-0~wily1) wily; urgency=low + + * Version 1.1.1 + + -- Pavel Kalian Wed, 24 Feb 2016 16:21:39 -0600 +opencpn-plugin-launcher (1.1.1-0~xenial1) xenial; urgency=low + + * Version 1.1.1 + + -- Pavel Kalian Wed, 24 Feb 2016 16:21:39 -0600 +opencpn-plugin-launcher (1.1.0-0~precise1) precise; urgency=low + + * Version 1.1 + + -- Pavel Kalian Wed, 03 Jun 2015 13:22:17 -0500 +opencpn-plugin-launcher (1.1.0-0~trusty1) trusty; urgency=low + + * Version 1.1 + + -- Pavel Kalian Wed, 03 Jun 2015 13:22:17 -0500 +opencpn-plugin-launcher (1.1.0-0~utopic1) utopic; urgency=low + + * Version 1.1 + + -- Pavel Kalian Wed, 03 Jun 2015 13:22:17 -0500 +opencpn-plugin-launcher (1.1.0-0~vivid1) vivid; urgency=low + + * Version 1.1 + + -- Pavel Kalian Wed, 03 Jun 2015 13:22:17 -0500 +opencpn-plugin-launcher (1.1.0-0~wily1) wily; urgency=low + + * Version 1.1 + + -- Pavel Kalian Wed, 03 Jun 2015 13:22:17 -0500 +opencpn-plugin-launcher (1.0.0-0~lucid1) lucid; urgency=low + + * Version 1.0 + + -- Pavel Kalian Tue, 21 Apr 2015 19:46:49 -0500 +opencpn-plugin-launcher (1.0.0-0~precise1) precise; urgency=low + + * Version 1.0 + + -- Pavel Kalian Tue, 21 Apr 2015 19:46:49 -0500 opencpn-plugin-launcher (1.0.0-0~trusty1) trusty; urgency=low * Version 1.0 diff -Nru opencpn-plugin-launcher-1.0.0/debian/control opencpn-plugin-launcher-1.1.1/debian/control --- opencpn-plugin-launcher-1.0.0/debian/control 2015-04-22 00:47:33.000000000 +0000 +++ opencpn-plugin-launcher-1.1.1/debian/control 2016-02-24 22:23:38.000000000 +0000 @@ -2,7 +2,7 @@ Section: misc Priority: extra Maintainer: Pavel Kalian -Build-Depends: debhelper (>= 8.0.0), cmake, cdbs, libgtk2.0-dev, gettext, gpsd, gpsd-clients, libgps-dev, wx-common, libwxgtk2.8-dev, libglu1-mesa-dev, libgtk2.0-dev, wx2.8-headers, libbz2-dev, libtinyxml-dev, libsdl1.2debian, libportaudio2, portaudio19-dev +Build-Depends: debhelper (>= 8.0.0), cmake, cdbs, libgtk2.0-dev, gettext, gpsd, gpsd-clients, libgps-dev, wx-common, libwxgtk3.0-dev, libglu1-mesa-dev, libgtk2.0-dev, wx3.0-headers, libbz2-dev, libtinyxml-dev, libsdl1.2debian, libportaudio2, portaudio19-dev Standards-Version: 3.9.3 Homepage: http://www.opencpn.org #Vcs-Git: git://git.debian.org/collab-maint/opencpn.git @@ -10,6 +10,6 @@ Package: opencpn-plugin-launcher Architecture: any -Depends: ${shlibs:Depends}, ${misc:Depends}, wx2.8-i18n, opencpn +Depends: ${shlibs:Depends}, ${misc:Depends}, wx3.0-i18n, opencpn (>= 4.1.0) Description: Plugin for OpenCPN OpenCPN is a free software (GPLv2) project to create a concise chartplotter and navigation software for use as an underway or planning tool. OpenCPN is developed by a team of active sailors using real world conditions for program testing and refinement. diff -Nru opencpn-plugin-launcher-1.0.0/po/ca.po opencpn-plugin-launcher-1.1.1/po/ca.po --- opencpn-plugin-launcher-1.0.0/po/ca.po 2015-01-01 21:21:26.000000000 +0000 +++ opencpn-plugin-launcher-1.1.1/po/ca.po 2016-02-24 17:20:31.000000000 +0000 @@ -3,16 +3,18 @@ "Project-Id-Version: opencpn\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-12-14 17:39-0600\n" -"PO-Revision-Date: 2014-11-25 14:06-0500\n" +"PO-Revision-Date: 2015-12-31 15:36-0500\n" "Last-Translator: nohal \n" "Language-Team: Catalan\n" "Language: ca_ES\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" +"X-Crowdin-Project: opencpn\n" +"X-Crowdin-Language: ca\n" +"X-Crowdin-File: /plugins/launcher_pi/po/launcher_pi.pot\n" #: src/launcher_pi.cpp:180 src/LauncherUIDialog.h:70 msgid "Launcher" @@ -23,8 +25,10 @@ msgstr "Carregar Connector per a OpenCPN" #: src/launcher_pi.cpp:253 -msgid "Launcher PlugIn for OpenCPN\nProvides a simple configurable dialog to launch external programs." -msgstr "Carregar Connector per a OpenCPN\nProporciona una finestra de diàleg per carregar programes externs." +msgid "Launcher PlugIn for OpenCPN\n" +"Provides a simple configurable dialog to launch external programs." +msgstr "Carregar Connector per a OpenCPN\n" +"Proporciona una finestra de diàleg per carregar programes externs." #: src/LauncherSettingsDialog.h:76 msgid "Launcher Settings" diff -Nru opencpn-plugin-launcher-1.0.0/po/cs.po opencpn-plugin-launcher-1.1.1/po/cs.po --- opencpn-plugin-launcher-1.0.0/po/cs.po 2015-01-01 21:21:26.000000000 +0000 +++ opencpn-plugin-launcher-1.1.1/po/cs.po 2016-02-24 17:20:31.000000000 +0000 @@ -3,17 +3,17 @@ "Project-Id-Version: opencpn\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-12-14 17:39-0600\n" -"PO-Revision-Date: 2014-12-13 12:37-0500\n" +"PO-Revision-Date: 2016-02-23 15:02-0500\n" "Last-Translator: nohal \n" "Language-Team: Czech\n" "Language: cs_CZ\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: opencpn\n" +"X-Crowdin-Language: cs\n" "X-Crowdin-File: /plugins/launcher_pi/po/launcher_pi.pot\n" #: src/launcher_pi.cpp:180 src/LauncherUIDialog.h:70 @@ -25,8 +25,10 @@ msgstr "Doplněk Spouštěč pro OpenCPN" #: src/launcher_pi.cpp:253 -msgid "Launcher PlugIn for OpenCPN\nProvides a simple configurable dialog to launch external programs." -msgstr "Doplněk Spouštěč pro OpenCPN\nPoskytuje jednoduchý konfigurovatelný dialog pro spouštění externích programů." +msgid "Launcher PlugIn for OpenCPN\n" +"Provides a simple configurable dialog to launch external programs." +msgstr "Doplněk Spouštěč pro OpenCPN\n" +"Poskytuje jednoduchý konfigurovatelný dialog pro spouštění externích programů." #: src/LauncherSettingsDialog.h:76 msgid "Launcher Settings" diff -Nru opencpn-plugin-launcher-1.0.0/po/da.po opencpn-plugin-launcher-1.1.1/po/da.po --- opencpn-plugin-launcher-1.0.0/po/da.po 2015-01-01 21:21:26.000000000 +0000 +++ opencpn-plugin-launcher-1.1.1/po/da.po 2016-02-24 17:20:31.000000000 +0000 @@ -3,64 +3,66 @@ "Project-Id-Version: opencpn\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-12-14 17:39-0600\n" -"PO-Revision-Date: 2014-12-13 12:37-0500\n" +"PO-Revision-Date: 2016-01-16 20:59-0500\n" "Last-Translator: nohal \n" "Language-Team: Danish\n" "Language: da_DK\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: opencpn\n" +"X-Crowdin-Language: da\n" "X-Crowdin-File: /plugins/launcher_pi/po/launcher_pi.pot\n" #: src/launcher_pi.cpp:180 src/LauncherUIDialog.h:70 msgid "Launcher" -msgstr "" +msgstr "Launcher" #: src/launcher_pi.cpp:247 msgid "Launcher PlugIn for OpenCPN" -msgstr "" +msgstr "Launcher PlugIn for OpenCPN" #: src/launcher_pi.cpp:253 -msgid "Launcher PlugIn for OpenCPN\nProvides a simple configurable dialog to launch external programs." -msgstr "" +msgid "Launcher PlugIn for OpenCPN\n" +"Provides a simple configurable dialog to launch external programs." +msgstr "Launcher PlugIn for OpenCPN\n" +"Giver en simpel konfigurerbar dialog til at starte eksterne programmer." #: src/LauncherSettingsDialog.h:76 msgid "Launcher Settings" -msgstr "" +msgstr "Launcher indstillinger" #: src/LauncherSettingsDialog.h:104 msgid "Launcher Item" -msgstr "" +msgstr "Launcher enhed" #: src/LauncherSettingsDialog.cpp:50 src/LauncherSettingsDialog.cpp:245 msgid "Label" -msgstr "" +msgstr "Label" #: src/LauncherSettingsDialog.cpp:51 src/LauncherSettingsDialog.cpp:252 msgid "Command" -msgstr "" +msgstr "Kommando" #: src/LauncherSettingsDialog.cpp:58 msgid "Add" -msgstr "" +msgstr "Tilføj" #: src/LauncherSettingsDialog.cpp:61 msgid "Edit" -msgstr "" +msgstr "Rediger" #: src/LauncherSettingsDialog.cpp:64 msgid "Remove" -msgstr "" +msgstr "Fjern" #: src/LauncherSettingsDialog.cpp:173 msgid "Do you really want to remove this launcher action?" -msgstr "" +msgstr "Vil du fjerne denne launcher handling?" #: src/LauncherSettingsDialog.cpp:173 msgid "Really remove?" -msgstr "" +msgstr "Virkelig fjerne?" diff -Nru opencpn-plugin-launcher-1.0.0/po/de.po opencpn-plugin-launcher-1.1.1/po/de.po --- opencpn-plugin-launcher-1.0.0/po/de.po 2015-01-01 21:21:26.000000000 +0000 +++ opencpn-plugin-launcher-1.1.1/po/de.po 2016-02-24 17:20:31.000000000 +0000 @@ -3,17 +3,17 @@ "Project-Id-Version: opencpn\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-12-14 17:39-0600\n" -"PO-Revision-Date: 2014-12-10 11:24-0500\n" +"PO-Revision-Date: 2016-02-23 15:02-0500\n" "Last-Translator: nohal \n" "Language-Team: German\n" "Language: de_DE\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: opencpn\n" +"X-Crowdin-Language: de\n" "X-Crowdin-File: /plugins/launcher_pi/po/launcher_pi.pot\n" #: src/launcher_pi.cpp:180 src/LauncherUIDialog.h:70 @@ -25,7 +25,8 @@ msgstr "" #: src/launcher_pi.cpp:253 -msgid "Launcher PlugIn for OpenCPN\nProvides a simple configurable dialog to launch external programs." +msgid "Launcher PlugIn for OpenCPN\n" +"Provides a simple configurable dialog to launch external programs." msgstr "" #: src/LauncherSettingsDialog.h:76 diff -Nru opencpn-plugin-launcher-1.0.0/po/el.po opencpn-plugin-launcher-1.1.1/po/el.po --- opencpn-plugin-launcher-1.0.0/po/el.po 2015-01-01 21:21:26.000000000 +0000 +++ opencpn-plugin-launcher-1.1.1/po/el.po 2016-02-24 17:20:31.000000000 +0000 @@ -3,7 +3,7 @@ "Project-Id-Version: opencpn\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-12-14 17:39-0600\n" -"PO-Revision-Date: 2014-12-30 08:59-0500\n" +"PO-Revision-Date: 2016-02-18 16:08-0500\n" "Last-Translator: nohal \n" "Language-Team: Greek\n" "Language: el_GR\n" @@ -13,6 +13,7 @@ "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: opencpn\n" +"X-Crowdin-Language: el\n" "X-Crowdin-File: /plugins/launcher_pi/po/launcher_pi.pot\n" #: src/launcher_pi.cpp:180 src/LauncherUIDialog.h:70 @@ -24,8 +25,10 @@ msgstr "" #: src/launcher_pi.cpp:253 -msgid "Launcher PlugIn for OpenCPN\nProvides a simple configurable dialog to launch external programs." -msgstr "" +msgid "Launcher PlugIn for OpenCPN\n" +"Provides a simple configurable dialog to launch external programs." +msgstr "Πρόσθετο Launcher για to OpenCPN\n" +"Παρέχει έναν απλό διαμορφώσιμο διάλογο για να τρέχουν εξωτερικά προγράμματα." #: src/LauncherSettingsDialog.h:76 msgid "Launcher Settings" diff -Nru opencpn-plugin-launcher-1.0.0/po/es.po opencpn-plugin-launcher-1.1.1/po/es.po --- opencpn-plugin-launcher-1.0.0/po/es.po 2015-01-01 21:21:26.000000000 +0000 +++ opencpn-plugin-launcher-1.1.1/po/es.po 2016-02-24 17:20:31.000000000 +0000 @@ -3,7 +3,7 @@ "Project-Id-Version: opencpn\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-12-14 17:39-0600\n" -"PO-Revision-Date: 2014-12-30 08:59-0500\n" +"PO-Revision-Date: 2016-02-18 16:08-0500\n" "Last-Translator: nohal \n" "Language-Team: Spanish\n" "Language: es_ES\n" @@ -13,53 +13,56 @@ "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: opencpn\n" +"X-Crowdin-Language: es-ES\n" "X-Crowdin-File: /plugins/launcher_pi/po/launcher_pi.pot\n" #: src/launcher_pi.cpp:180 src/LauncherUIDialog.h:70 msgid "Launcher" -msgstr "" +msgstr "Lanzador" #: src/launcher_pi.cpp:247 msgid "Launcher PlugIn for OpenCPN" -msgstr "" +msgstr "PlugIn Lanzador para OpenCPN" #: src/launcher_pi.cpp:253 -msgid "Launcher PlugIn for OpenCPN\nProvides a simple configurable dialog to launch external programs." -msgstr "" +msgid "Launcher PlugIn for OpenCPN\n" +"Provides a simple configurable dialog to launch external programs." +msgstr "PlugIn Lanzador para OpenCPN\n" +"Proporciona un sistema que con una fácil selección configurable puede iniciar programas externos." #: src/LauncherSettingsDialog.h:76 msgid "Launcher Settings" -msgstr "" +msgstr "Ajustes del Lanzador" #: src/LauncherSettingsDialog.h:104 msgid "Launcher Item" -msgstr "" +msgstr "Artículo de Lanzador" #: src/LauncherSettingsDialog.cpp:50 src/LauncherSettingsDialog.cpp:245 msgid "Label" -msgstr "" +msgstr "Etiqueta" #: src/LauncherSettingsDialog.cpp:51 src/LauncherSettingsDialog.cpp:252 msgid "Command" -msgstr "" +msgstr "Comando" #: src/LauncherSettingsDialog.cpp:58 msgid "Add" -msgstr "" +msgstr "Añadir" #: src/LauncherSettingsDialog.cpp:61 msgid "Edit" -msgstr "" +msgstr "Editar" #: src/LauncherSettingsDialog.cpp:64 msgid "Remove" -msgstr "" +msgstr "Eliminar" #: src/LauncherSettingsDialog.cpp:173 msgid "Do you really want to remove this launcher action?" -msgstr "" +msgstr "¿Realmente desea eliminar esta acción de Lanzador?" #: src/LauncherSettingsDialog.cpp:173 msgid "Really remove?" -msgstr "" +msgstr "¿Realmente desea quitar?" diff -Nru opencpn-plugin-launcher-1.0.0/po/et.po opencpn-plugin-launcher-1.1.1/po/et.po --- opencpn-plugin-launcher-1.0.0/po/et.po 2015-01-01 21:21:26.000000000 +0000 +++ opencpn-plugin-launcher-1.1.1/po/et.po 2016-02-24 17:20:31.000000000 +0000 @@ -3,7 +3,7 @@ "Project-Id-Version: opencpn\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-12-14 17:39-0600\n" -"PO-Revision-Date: 2014-12-30 08:58-0500\n" +"PO-Revision-Date: 2016-02-18 16:10-0500\n" "Last-Translator: nohal \n" "Language-Team: Estonian\n" "Language: et_EE\n" @@ -13,6 +13,7 @@ "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: opencpn\n" +"X-Crowdin-Language: et\n" "X-Crowdin-File: /plugins/launcher_pi/po/launcher_pi.pot\n" #: src/launcher_pi.cpp:180 src/LauncherUIDialog.h:70 @@ -24,8 +25,10 @@ msgstr "Käivitaja plugin OpenCPNile" #: src/launcher_pi.cpp:253 -msgid "Launcher PlugIn for OpenCPN\nProvides a simple configurable dialog to launch external programs." -msgstr "Käivitaja plugIn OpenCPNile\nLihtne seadistatav dialoog väliste programmide käivitamiseks." +msgid "Launcher PlugIn for OpenCPN\n" +"Provides a simple configurable dialog to launch external programs." +msgstr "Käivitaja plugIn OpenCPNile\n" +"Lihtne seadistatav dialoog väliste programmide käivitamiseks." #: src/LauncherSettingsDialog.h:76 msgid "Launcher Settings" diff -Nru opencpn-plugin-launcher-1.0.0/po/fi.po opencpn-plugin-launcher-1.1.1/po/fi.po --- opencpn-plugin-launcher-1.0.0/po/fi.po 2015-01-01 21:21:26.000000000 +0000 +++ opencpn-plugin-launcher-1.1.1/po/fi.po 2016-02-24 17:20:31.000000000 +0000 @@ -3,7 +3,7 @@ "Project-Id-Version: opencpn\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-12-14 17:39-0600\n" -"PO-Revision-Date: 2015-01-01 15:19-0500\n" +"PO-Revision-Date: 2016-02-24 11:05-0500\n" "Last-Translator: nohal \n" "Language-Team: Finnish\n" "Language: fi_FI\n" @@ -13,6 +13,7 @@ "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: opencpn\n" +"X-Crowdin-Language: fi\n" "X-Crowdin-File: /plugins/launcher_pi/po/launcher_pi.pot\n" #: src/launcher_pi.cpp:180 src/LauncherUIDialog.h:70 @@ -24,8 +25,10 @@ msgstr "OpenCPN:n lisäosasovitin" #: src/launcher_pi.cpp:253 -msgid "Launcher PlugIn for OpenCPN\nProvides a simple configurable dialog to launch external programs." -msgstr "OpenCPN:n lisäosasovitin\nAvaa yksinkertaisen asetusvalikon ulkopuolisten ohjelmien sovitukseen." +msgid "Launcher PlugIn for OpenCPN\n" +"Provides a simple configurable dialog to launch external programs." +msgstr "OpenCPN:n lisäosasovitin\n" +"Avaa yksinkertaisen asetusvalikon ulkopuolisten ohjelmien sovitukseen." #: src/LauncherSettingsDialog.h:76 msgid "Launcher Settings" diff -Nru opencpn-plugin-launcher-1.0.0/po/fr.po opencpn-plugin-launcher-1.1.1/po/fr.po --- opencpn-plugin-launcher-1.0.0/po/fr.po 2015-01-01 21:21:26.000000000 +0000 +++ opencpn-plugin-launcher-1.1.1/po/fr.po 2016-02-24 17:20:31.000000000 +0000 @@ -3,7 +3,7 @@ "Project-Id-Version: opencpn\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-12-14 17:39-0600\n" -"PO-Revision-Date: 2014-12-30 20:14-0500\n" +"PO-Revision-Date: 2016-02-18 16:08-0500\n" "Last-Translator: nohal \n" "Language-Team: French\n" "Language: fr_FR\n" @@ -13,6 +13,7 @@ "Plural-Forms: nplurals=2; plural=(n > 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: opencpn\n" +"X-Crowdin-Language: fr\n" "X-Crowdin-File: /plugins/launcher_pi/po/launcher_pi.pot\n" #: src/launcher_pi.cpp:180 src/LauncherUIDialog.h:70 @@ -24,8 +25,10 @@ msgstr "Complément chargeur pour OpenCPN" #: src/launcher_pi.cpp:253 -msgid "Launcher PlugIn for OpenCPN\nProvides a simple configurable dialog to launch external programs." -msgstr "Complément \"Chargeur\" pour openCPN\nIl fournit une fenêtre de dialogue pour charger des programmes extérieurs." +msgid "Launcher PlugIn for OpenCPN\n" +"Provides a simple configurable dialog to launch external programs." +msgstr "Complément \"Chargeur\" pour openCPN\n" +"Il fournit une fenêtre de dialogue pour charger des programmes extérieurs." #: src/LauncherSettingsDialog.h:76 msgid "Launcher Settings" diff -Nru opencpn-plugin-launcher-1.0.0/po/gl.po opencpn-plugin-launcher-1.1.1/po/gl.po --- opencpn-plugin-launcher-1.0.0/po/gl.po 2015-01-01 21:21:26.000000000 +0000 +++ opencpn-plugin-launcher-1.1.1/po/gl.po 2016-02-24 17:20:31.000000000 +0000 @@ -3,16 +3,18 @@ "Project-Id-Version: opencpn\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-12-14 17:39-0600\n" -"PO-Revision-Date: 2014-09-19 18:33-0400\n" +"PO-Revision-Date: 2015-12-31 15:39-0500\n" "Last-Translator: nohal \n" "Language-Team: Galician\n" "Language: gl_ES\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" +"X-Crowdin-Project: opencpn\n" +"X-Crowdin-Language: gl\n" +"X-Crowdin-File: /plugins/launcher_pi/po/launcher_pi.pot\n" #: src/launcher_pi.cpp:180 src/LauncherUIDialog.h:70 msgid "Launcher" @@ -23,7 +25,8 @@ msgstr "" #: src/launcher_pi.cpp:253 -msgid "Launcher PlugIn for OpenCPN\nProvides a simple configurable dialog to launch external programs." +msgid "Launcher PlugIn for OpenCPN\n" +"Provides a simple configurable dialog to launch external programs." msgstr "" #: src/LauncherSettingsDialog.h:76 diff -Nru opencpn-plugin-launcher-1.0.0/po/hu.po opencpn-plugin-launcher-1.1.1/po/hu.po --- opencpn-plugin-launcher-1.0.0/po/hu.po 2015-01-01 21:21:26.000000000 +0000 +++ opencpn-plugin-launcher-1.1.1/po/hu.po 2016-02-24 17:20:31.000000000 +0000 @@ -3,16 +3,18 @@ "Project-Id-Version: opencpn\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-12-14 17:39-0600\n" -"PO-Revision-Date: 2014-12-02 08:46-0500\n" +"PO-Revision-Date: 2015-09-20 20:30-0400\n" "Last-Translator: nohal \n" "Language-Team: Hungarian\n" "Language: hu_HU\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" +"X-Crowdin-Project: opencpn\n" +"X-Crowdin-Language: hu\n" +"X-Crowdin-File: /plugins/launcher_pi/po/launcher_pi.pot\n" #: src/launcher_pi.cpp:180 src/LauncherUIDialog.h:70 msgid "Launcher" @@ -23,7 +25,8 @@ msgstr "" #: src/launcher_pi.cpp:253 -msgid "Launcher PlugIn for OpenCPN\nProvides a simple configurable dialog to launch external programs." +msgid "Launcher PlugIn for OpenCPN\n" +"Provides a simple configurable dialog to launch external programs." msgstr "" #: src/LauncherSettingsDialog.h:76 diff -Nru opencpn-plugin-launcher-1.0.0/po/it.po opencpn-plugin-launcher-1.1.1/po/it.po --- opencpn-plugin-launcher-1.0.0/po/it.po 2015-01-01 21:21:26.000000000 +0000 +++ opencpn-plugin-launcher-1.1.1/po/it.po 2016-02-24 17:20:31.000000000 +0000 @@ -3,7 +3,7 @@ "Project-Id-Version: opencpn\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-12-14 17:39-0600\n" -"PO-Revision-Date: 2014-12-30 08:59-0500\n" +"PO-Revision-Date: 2016-02-07 02:49-0500\n" "Last-Translator: nohal \n" "Language-Team: Italian\n" "Language: it_IT\n" @@ -13,6 +13,7 @@ "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: opencpn\n" +"X-Crowdin-Language: it\n" "X-Crowdin-File: /plugins/launcher_pi/po/launcher_pi.pot\n" #: src/launcher_pi.cpp:180 src/LauncherUIDialog.h:70 @@ -24,7 +25,8 @@ msgstr "" #: src/launcher_pi.cpp:253 -msgid "Launcher PlugIn for OpenCPN\nProvides a simple configurable dialog to launch external programs." +msgid "Launcher PlugIn for OpenCPN\n" +"Provides a simple configurable dialog to launch external programs." msgstr "" #: src/LauncherSettingsDialog.h:76 diff -Nru opencpn-plugin-launcher-1.0.0/po/ja.po opencpn-plugin-launcher-1.1.1/po/ja.po --- opencpn-plugin-launcher-1.0.0/po/ja.po 1970-01-01 00:00:00.000000000 +0000 +++ opencpn-plugin-launcher-1.1.1/po/ja.po 2016-02-24 17:20:31.000000000 +0000 @@ -0,0 +1,67 @@ +msgid "" +msgstr "" +"Project-Id-Version: opencpn\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-12-14 17:39-0600\n" +"PO-Revision-Date: 2016-01-06 09:11-0500\n" +"Last-Translator: nohal \n" +"Language-Team: Japanese\n" +"Language: ja_JP\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: crowdin.com\n" +"X-Crowdin-Project: opencpn\n" +"X-Crowdin-Language: ja\n" +"X-Crowdin-File: /plugins/launcher_pi/po/launcher_pi.pot\n" + +#: src/launcher_pi.cpp:180 src/LauncherUIDialog.h:70 +msgid "Launcher" +msgstr "ランチャー" + +#: src/launcher_pi.cpp:247 +msgid "Launcher PlugIn for OpenCPN" +msgstr "" + +#: src/launcher_pi.cpp:253 +msgid "Launcher PlugIn for OpenCPN\n" +"Provides a simple configurable dialog to launch external programs." +msgstr "" + +#: src/LauncherSettingsDialog.h:76 +msgid "Launcher Settings" +msgstr "ランチャー設定" + +#: src/LauncherSettingsDialog.h:104 +msgid "Launcher Item" +msgstr "" + +#: src/LauncherSettingsDialog.cpp:50 src/LauncherSettingsDialog.cpp:245 +msgid "Label" +msgstr "ラベル" + +#: src/LauncherSettingsDialog.cpp:51 src/LauncherSettingsDialog.cpp:252 +msgid "Command" +msgstr "コマンド" + +#: src/LauncherSettingsDialog.cpp:58 +msgid "Add" +msgstr "追加" + +#: src/LauncherSettingsDialog.cpp:61 +msgid "Edit" +msgstr "編集" + +#: src/LauncherSettingsDialog.cpp:64 +msgid "Remove" +msgstr "削除" + +#: src/LauncherSettingsDialog.cpp:173 +msgid "Do you really want to remove this launcher action?" +msgstr "" + +#: src/LauncherSettingsDialog.cpp:173 +msgid "Really remove?" +msgstr "本当に削除しますか?" + diff -Nru opencpn-plugin-launcher-1.0.0/po/nb.po opencpn-plugin-launcher-1.1.1/po/nb.po --- opencpn-plugin-launcher-1.0.0/po/nb.po 2015-01-01 21:21:26.000000000 +0000 +++ opencpn-plugin-launcher-1.1.1/po/nb.po 2016-02-24 17:20:31.000000000 +0000 @@ -3,7 +3,7 @@ "Project-Id-Version: opencpn\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-12-14 17:39-0600\n" -"PO-Revision-Date: 2014-12-30 08:59-0500\n" +"PO-Revision-Date: 2016-01-25 19:59-0500\n" "Last-Translator: nohal \n" "Language-Team: Norwegian Bokmal\n" "Language: nb_NO\n" @@ -13,27 +13,30 @@ "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: opencpn\n" +"X-Crowdin-Language: nb\n" "X-Crowdin-File: /plugins/launcher_pi/po/launcher_pi.pot\n" #: src/launcher_pi.cpp:180 src/LauncherUIDialog.h:70 msgid "Launcher" -msgstr "Launcher" +msgstr "App-Starter" #: src/launcher_pi.cpp:247 msgid "Launcher PlugIn for OpenCPN" -msgstr "Launcher utvidelsen for OpenCPN" +msgstr "App-Starter utvidelsen for OpenCPN" #: src/launcher_pi.cpp:253 -msgid "Launcher PlugIn for OpenCPN\nProvides a simple configurable dialog to launch external programs." -msgstr "Launcher utvidelsen for OpenCPN\nGir deg en enkel konfigurerbar dialog for å starte eksterne programmer." +msgid "Launcher PlugIn for OpenCPN\n" +"Provides a simple configurable dialog to launch external programs." +msgstr "App-Starter utvidelsen for OpenCPN\n" +"Gir deg en enkel konfigurerbar dialog for å starte eksterne programmer." #: src/LauncherSettingsDialog.h:76 msgid "Launcher Settings" -msgstr "Innstillinger for Launcher" +msgstr "Innstillinger for App-Starter" #: src/LauncherSettingsDialog.h:104 msgid "Launcher Item" -msgstr "Launcher enhet" +msgstr "App-Starter enhet" #: src/LauncherSettingsDialog.cpp:50 src/LauncherSettingsDialog.cpp:245 msgid "Label" @@ -57,7 +60,7 @@ #: src/LauncherSettingsDialog.cpp:173 msgid "Do you really want to remove this launcher action?" -msgstr "Vil du virkelig fjerne denne Launcher oppføringen?" +msgstr "Vil du virkelig fjerne denne App-Starter oppføringen?" #: src/LauncherSettingsDialog.cpp:173 msgid "Really remove?" diff -Nru opencpn-plugin-launcher-1.0.0/po/nl.po opencpn-plugin-launcher-1.1.1/po/nl.po --- opencpn-plugin-launcher-1.0.0/po/nl.po 2015-01-01 21:21:26.000000000 +0000 +++ opencpn-plugin-launcher-1.1.1/po/nl.po 2016-02-24 17:20:31.000000000 +0000 @@ -3,7 +3,7 @@ "Project-Id-Version: opencpn\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-12-14 17:39-0600\n" -"PO-Revision-Date: 2014-12-24 19:04-0500\n" +"PO-Revision-Date: 2016-02-24 11:05-0500\n" "Last-Translator: nohal \n" "Language-Team: Dutch\n" "Language: nl_NL\n" @@ -13,6 +13,7 @@ "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: opencpn\n" +"X-Crowdin-Language: nl\n" "X-Crowdin-File: /plugins/launcher_pi/po/launcher_pi.pot\n" #: src/launcher_pi.cpp:180 src/LauncherUIDialog.h:70 @@ -24,8 +25,10 @@ msgstr "Launcher PlugIn voor OpenCPN" #: src/launcher_pi.cpp:253 -msgid "Launcher PlugIn for OpenCPN\nProvides a simple configurable dialog to launch external programs." -msgstr "De PlugIn Starter voor OpenCPN\nmaakt het mogelijk om via een simpel en aanpasbaar dialoogvenster externe programma's (PlugIns) te starten." +msgid "Launcher PlugIn for OpenCPN\n" +"Provides a simple configurable dialog to launch external programs." +msgstr "De PlugIn Starter voor OpenCPN\n" +"maakt het mogelijk om via een simpel en aanpasbaar dialoogvenster externe programma's (PlugIns) te starten." #: src/LauncherSettingsDialog.h:76 msgid "Launcher Settings" diff -Nru opencpn-plugin-launcher-1.0.0/po/pl.po opencpn-plugin-launcher-1.1.1/po/pl.po --- opencpn-plugin-launcher-1.0.0/po/pl.po 2015-01-01 21:21:26.000000000 +0000 +++ opencpn-plugin-launcher-1.1.1/po/pl.po 2016-02-24 17:20:31.000000000 +0000 @@ -3,16 +3,18 @@ "Project-Id-Version: opencpn\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-12-14 17:39-0600\n" -"PO-Revision-Date: 2014-12-02 10:39-0500\n" +"PO-Revision-Date: 2016-02-18 16:09-0500\n" "Last-Translator: nohal \n" "Language-Team: Polish\n" "Language: pl_PL\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"\n" "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" "X-Generator: crowdin.com\n" +"X-Crowdin-Project: opencpn\n" +"X-Crowdin-Language: pl\n" +"X-Crowdin-File: /plugins/launcher_pi/po/launcher_pi.pot\n" #: src/launcher_pi.cpp:180 src/LauncherUIDialog.h:70 msgid "Launcher" @@ -23,7 +25,8 @@ msgstr "" #: src/launcher_pi.cpp:253 -msgid "Launcher PlugIn for OpenCPN\nProvides a simple configurable dialog to launch external programs." +msgid "Launcher PlugIn for OpenCPN\n" +"Provides a simple configurable dialog to launch external programs." msgstr "" #: src/LauncherSettingsDialog.h:76 diff -Nru opencpn-plugin-launcher-1.0.0/po/pt.po opencpn-plugin-launcher-1.1.1/po/pt.po --- opencpn-plugin-launcher-1.0.0/po/pt.po 2015-01-01 21:21:26.000000000 +0000 +++ opencpn-plugin-launcher-1.1.1/po/pt.po 2016-02-24 17:20:31.000000000 +0000 @@ -3,7 +3,7 @@ "Project-Id-Version: opencpn\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-12-14 17:39-0600\n" -"PO-Revision-Date: 2015-01-01 15:19-0500\n" +"PO-Revision-Date: 2016-02-22 08:44-0500\n" "Last-Translator: nohal \n" "Language-Team: Portuguese, Brazilian\n" "Language: pt_BR\n" @@ -13,53 +13,56 @@ "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: opencpn\n" +"X-Crowdin-Language: pt-BR\n" "X-Crowdin-File: /plugins/launcher_pi/po/launcher_pi.pot\n" #: src/launcher_pi.cpp:180 src/LauncherUIDialog.h:70 msgid "Launcher" -msgstr "" +msgstr "Launcher" #: src/launcher_pi.cpp:247 msgid "Launcher PlugIn for OpenCPN" -msgstr "" +msgstr "PlugIn Launcher para OpenCPN" #: src/launcher_pi.cpp:253 -msgid "Launcher PlugIn for OpenCPN\nProvides a simple configurable dialog to launch external programs." -msgstr "" +msgid "Launcher PlugIn for OpenCPN\n" +"Provides a simple configurable dialog to launch external programs." +msgstr "PlugIn Launcher para OpenCPN\n" +"Disponibiliza uma simples janela configurável para lançar programas externos." #: src/LauncherSettingsDialog.h:76 msgid "Launcher Settings" -msgstr "" +msgstr "Configurações Launcher" #: src/LauncherSettingsDialog.h:104 msgid "Launcher Item" -msgstr "" +msgstr "Items do Launcher" #: src/LauncherSettingsDialog.cpp:50 src/LauncherSettingsDialog.cpp:245 msgid "Label" -msgstr "" +msgstr "Etiqueta" #: src/LauncherSettingsDialog.cpp:51 src/LauncherSettingsDialog.cpp:252 msgid "Command" -msgstr "" +msgstr "Comando" #: src/LauncherSettingsDialog.cpp:58 msgid "Add" -msgstr "" +msgstr "Adicionar" #: src/LauncherSettingsDialog.cpp:61 msgid "Edit" -msgstr "" +msgstr "Editar" #: src/LauncherSettingsDialog.cpp:64 msgid "Remove" -msgstr "" +msgstr "Remover" #: src/LauncherSettingsDialog.cpp:173 msgid "Do you really want to remove this launcher action?" -msgstr "" +msgstr "Pretende realmente remover este comando do Launcher?" #: src/LauncherSettingsDialog.cpp:173 msgid "Really remove?" -msgstr "" +msgstr "Remover realmente?" diff -Nru opencpn-plugin-launcher-1.0.0/po/ru.po opencpn-plugin-launcher-1.1.1/po/ru.po --- opencpn-plugin-launcher-1.0.0/po/ru.po 2015-01-01 21:21:26.000000000 +0000 +++ opencpn-plugin-launcher-1.1.1/po/ru.po 2016-02-24 17:20:31.000000000 +0000 @@ -3,16 +3,18 @@ "Project-Id-Version: opencpn\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-12-14 17:39-0600\n" -"PO-Revision-Date: 2014-11-08 14:29-0500\n" +"PO-Revision-Date: 2016-01-25 19:58-0500\n" "Last-Translator: nohal \n" "Language-Team: Russian\n" "Language: ru_RU\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" "X-Generator: crowdin.com\n" +"X-Crowdin-Project: opencpn\n" +"X-Crowdin-Language: ru\n" +"X-Crowdin-File: /plugins/launcher_pi/po/launcher_pi.pot\n" #: src/launcher_pi.cpp:180 src/LauncherUIDialog.h:70 msgid "Launcher" @@ -23,7 +25,8 @@ msgstr "" #: src/launcher_pi.cpp:253 -msgid "Launcher PlugIn for OpenCPN\nProvides a simple configurable dialog to launch external programs." +msgid "Launcher PlugIn for OpenCPN\n" +"Provides a simple configurable dialog to launch external programs." msgstr "" #: src/LauncherSettingsDialog.h:76 diff -Nru opencpn-plugin-launcher-1.0.0/po/sv.po opencpn-plugin-launcher-1.1.1/po/sv.po --- opencpn-plugin-launcher-1.0.0/po/sv.po 2015-01-01 21:21:26.000000000 +0000 +++ opencpn-plugin-launcher-1.1.1/po/sv.po 2016-02-24 17:20:31.000000000 +0000 @@ -3,7 +3,7 @@ "Project-Id-Version: opencpn\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-12-14 17:39-0600\n" -"PO-Revision-Date: 2014-12-30 20:14-0500\n" +"PO-Revision-Date: 2016-02-18 16:09-0500\n" "Last-Translator: nohal \n" "Language-Team: Swedish\n" "Language: sv_SE\n" @@ -13,6 +13,7 @@ "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: opencpn\n" +"X-Crowdin-Language: sv-SE\n" "X-Crowdin-File: /plugins/launcher_pi/po/launcher_pi.pot\n" #: src/launcher_pi.cpp:180 src/LauncherUIDialog.h:70 @@ -24,8 +25,10 @@ msgstr "Genvägsmodul för OpenCPN" #: src/launcher_pi.cpp:253 -msgid "Launcher PlugIn for OpenCPN\nProvides a simple configurable dialog to launch external programs." -msgstr "Genvägsmodulen för OpenCPN\nErbjuder enkla konfigurerbara dialogrutor för att starta externa program." +msgid "Launcher PlugIn for OpenCPN\n" +"Provides a simple configurable dialog to launch external programs." +msgstr "Genvägsmodulen för OpenCPN\n" +"Erbjuder enkla konfigurerbara dialogrutor för att starta externa program." #: src/LauncherSettingsDialog.h:76 msgid "Launcher Settings" diff -Nru opencpn-plugin-launcher-1.0.0/po/tr.po opencpn-plugin-launcher-1.1.1/po/tr.po --- opencpn-plugin-launcher-1.0.0/po/tr.po 2015-01-01 21:21:26.000000000 +0000 +++ opencpn-plugin-launcher-1.1.1/po/tr.po 2016-02-24 17:20:31.000000000 +0000 @@ -3,16 +3,18 @@ "Project-Id-Version: opencpn\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-12-14 17:39-0600\n" -"PO-Revision-Date: 2014-12-02 11:05-0500\n" +"PO-Revision-Date: 2015-12-31 15:38-0500\n" "Last-Translator: nohal \n" "Language-Team: Turkish\n" "Language: tr_TR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"\n" -"Plural-Forms: nplurals=1; plural=0;\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n\n" "X-Generator: crowdin.com\n" +"X-Crowdin-Project: opencpn\n" +"X-Crowdin-Language: tr\n" +"X-Crowdin-File: /plugins/launcher_pi/po/launcher_pi.pot\n" #: src/launcher_pi.cpp:180 src/LauncherUIDialog.h:70 msgid "Launcher" @@ -23,7 +25,8 @@ msgstr "" #: src/launcher_pi.cpp:253 -msgid "Launcher PlugIn for OpenCPN\nProvides a simple configurable dialog to launch external programs." +msgid "Launcher PlugIn for OpenCPN\n" +"Provides a simple configurable dialog to launch external programs." msgstr "" #: src/LauncherSettingsDialog.h:76 diff -Nru opencpn-plugin-launcher-1.0.0/po/vi.po opencpn-plugin-launcher-1.1.1/po/vi.po --- opencpn-plugin-launcher-1.0.0/po/vi.po 2015-01-01 21:21:26.000000000 +0000 +++ opencpn-plugin-launcher-1.1.1/po/vi.po 2016-02-24 17:20:31.000000000 +0000 @@ -3,7 +3,7 @@ "Project-Id-Version: opencpn\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-12-14 17:39-0600\n" -"PO-Revision-Date: 2015-01-01 15:19-0500\n" +"PO-Revision-Date: 2016-02-24 11:05-0500\n" "Last-Translator: nohal \n" "Language-Team: Vietnamese\n" "Language: vi_VN\n" @@ -13,6 +13,7 @@ "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: crowdin.com\n" "X-Crowdin-Project: opencpn\n" +"X-Crowdin-Language: vi\n" "X-Crowdin-File: /plugins/launcher_pi/po/launcher_pi.pot\n" #: src/launcher_pi.cpp:180 src/LauncherUIDialog.h:70 @@ -24,7 +25,8 @@ msgstr "" #: src/launcher_pi.cpp:253 -msgid "Launcher PlugIn for OpenCPN\nProvides a simple configurable dialog to launch external programs." +msgid "Launcher PlugIn for OpenCPN\n" +"Provides a simple configurable dialog to launch external programs." msgstr "" #: src/LauncherSettingsDialog.h:76 diff -Nru opencpn-plugin-launcher-1.0.0/po/zh.po opencpn-plugin-launcher-1.1.1/po/zh.po --- opencpn-plugin-launcher-1.0.0/po/zh.po 2015-01-01 21:21:26.000000000 +0000 +++ opencpn-plugin-launcher-1.1.1/po/zh.po 2016-02-24 17:20:31.000000000 +0000 @@ -3,16 +3,18 @@ "Project-Id-Version: opencpn\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-12-14 17:39-0600\n" -"PO-Revision-Date: 2014-09-19 18:33-0400\n" +"PO-Revision-Date: 2015-11-08 22:35-0500\n" "Last-Translator: nohal \n" "Language-Team: Chinese Traditional\n" "Language: zh_TW\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: crowdin.com\n" +"X-Crowdin-Project: opencpn\n" +"X-Crowdin-Language: zh-TW\n" +"X-Crowdin-File: /plugins/launcher_pi/po/launcher_pi.pot\n" #: src/launcher_pi.cpp:180 src/LauncherUIDialog.h:70 msgid "Launcher" @@ -23,7 +25,8 @@ msgstr "" #: src/launcher_pi.cpp:253 -msgid "Launcher PlugIn for OpenCPN\nProvides a simple configurable dialog to launch external programs." +msgid "Launcher PlugIn for OpenCPN\n" +"Provides a simple configurable dialog to launch external programs." msgstr "" #: src/LauncherSettingsDialog.h:76 diff -Nru opencpn-plugin-launcher-1.0.0/src/icons.cpp opencpn-plugin-launcher-1.1.1/src/icons.cpp --- opencpn-plugin-launcher-1.0.0/src/icons.cpp 2015-01-01 21:21:26.000000000 +0000 +++ opencpn-plugin-launcher-1.1.1/src/icons.cpp 2016-02-24 17:20:31.000000000 +0000 @@ -1,14 +1,21 @@ -/* Autogenerated by png2wx.pl on Sat Dec 14 08:45:42 2013 */ #include #ifndef WX_PRECOMP # include #endif #include +#include #include "icons.h" wxBitmap *_img_launcher_pi; wxBitmap *_img_launcher; +#ifdef LAUNCHER_USE_SVG +#include "ocpn_plugin.h" +wxString _svg_launcher; +wxString _svg_launcher_rollover; +wxString _svg_launcher_toggled; +#endif + void initialize_images(void) { { @@ -19,5 +26,20 @@ wxMemoryInputStream sm("\211PNG\r\n\032\n\000\000\000\rIHDR\000\000\000 \000\000\000 \b\006\000\000\000szz\364\000\000\000\004sBIT\b\b\b\b|\bd\210\000\000\000\011pHYs\000\000\r\327\000\000\r\327\001B(\233x\000\000\000\031tEXtSoftware\000www.inkscape.org\233\356<\032\000\000\a\351IDATX\205\275WkL\034\327\025>wf\030f\002\263\336\a\260\336\345\231Z5\324\255\"\227\006Y\256\235\3266\002\367\241`\233\037\366Vrd\334&m\324X\266\225\215Y\254\245N\254\262\024\022\a\214-\227\207T\307\371\021\307AM\375\022n\nv\244\2708(]\214\242(\306\244hk\036\336\r\330\260/v\231\273\313\314\334\376\200\331]\326\006\301\217\366HW\232\231{\276s\316\375\316\271\347\336A\204\020\270u\353\2261\030\014\236\"\204l\a\200l\370\337\212\233\242\250\317\004Ax\275\264\264t\022\335\274y\323\350\367\373\357\362<\377\225\331l\276l6\233G\031\206!+\261T__\277\201\246i\331f\263}\263\022}I\222\220\307\343\311\367x<{DQ|N\253\325\376\buvv~\300q\234n\363\346\315\215\253YFUU\325\216\256\256\256?\000\000\332\277\177\177uss\363\277V\203\357\353\353\263a\214}\214\242(?5\030\014'\261\204W\203\207\301\301\301\215\000\200\000\000\356\334\271\263\025KxU\001\030\014\206\313\343\343\343o2\262,gk4\232Q\214\227\017`\344\301\bW{\274\366\027\343\017\307\277\347\363\372\212DQ\314Q\347\036\376\362\354\354\354\272\004\203\244\264\254\324~\361\243\213'\032\336n\270\312s\374cu\202\347\370\307\ro7\\\275\370\321\305\023\245e\245v\000\210m\343\331\331\331u\307\253\217\277\234l?\202#K3\320\336\332\276alt\2542\2115\324\357\354\337\355v\273Y\2141\020\022o\025\204\020\300\030\203\333\355f\373\235\375\273aaw\25026:V\331\336\332\276ai\006\"q\006&&&R\272\256wU'\320\036\363\024\360\aJ\216\036:\352\360\270=\254\242(\361|*\nx\334\036\366\350\241\243\216\200?P\222\310\232\232\216\256\353]\325\023\023\023)1\006\"\221\244\024H\030\260\204\241\351T\323.\214q\201ja\313\013[j5k4\316X\020\201@I\365\033\325\016Y\221Y\365\233\254\310l\365\033\325\216@ \356\\\263F\343\334\362\302\226Z\365\035c\\\320t\252i\227\352GM\001\243(\n`\031\003\221\346\203\235\374v\362\373*H\253\323\336>\360\312\201;>\257\317\3518\341p\004\203\301\022\000\200` X\002\0001\n\036?z\\\236\300\030h4\032\247\375\244\335\256\323\353\242\367\276\276w\333\357\363\377D\265\2151\376+\000\000B\350\351E\030\016\207\327\253\206\262LY\375\030c\340\237\341\243V\273\325.h\204\030\023\260x[\306\236\005\215\340\264\332\255v\376\031>\2121\206,SV\277:\027\016\207\327'\027!j9\333B\346\320\\\371\245\017.m\034q\215l\235z4\365\",\024\221\240\021\372R\271\324X\265+\222\302z\275\336r\000\240\212\213\213\241\261q\376\370\260\331l000\000\000\240\350\365\372n\212\241\242*&\202#\2313\301\231\315jMdde\\7\232\214_\036|\345`o\nI\351\206\346\226f\262c\347\216C\013\005\263\342\321\323\323CT\351\351\351Y\025\026\000\224me\333\2164\2674\023\212\020\002\222$\321\220P\355\377\aA\024\241dB\b0\b\020\354,\3379851\365\307\311\211\311\215\323\323\323\361\024\bB\037\313\262\361\024(\n\353\363\371\312\001\200\262\331l\213R\240\252\350t\272n\212\212\247 \032\215f\316\314\304S`0\030\256\347?\233\337[ZV\372\r\002\004\014 \000\240\001,\a,\237\002\300\247u\265u\033\243\321h\036\000@\2461\263\257\352\267U\327\000\000\002\376\000\333\326\322\346\200\205\202\033\030\030\200\262\262\262\344\225Q\321h\324\360\352\221W\355k\264k\242\000\000\027:.T\250\001\260,;~\304v\244i^\023X@\000\324|\024\0140\314\374HKO\033R\255MOM\0273\014\003\241P\210m;\333\346\b\207\303\211MFy\332s8\034.i;\333\346\b\205B,\30300=5]\254\316\245\245\247\r\251~\030`\000\001\002\006!\0044C\003\242\346\273\247!\303p\317\347\365\225/\254z\333\307\037~\274yhh\2502<\023w\236&\2449SSR\247\275^\357\317\000\000\364z}wd.bPu\3023\341\222s\315\347\034EEE\177\013\370\003\333T\234!\303p\217a\230y\002\024\n\020B@!\204\200\341\342\014X^\262|\302\246\262\343*\350\256\363n}\242sA\020\234\326\032\253=q\253Q\014\025\265\326X\355\202\020\357\023\341\231p\311]\347\335z\365\235Me\307-/Y>\2111\3001\013\001P\b8\232\003\216\231\037f\2439\262\275t{}\002\255\261\203E\320\b\316\232\332\032\373\332\314\265Q*\241\017Q@\301\332\314\265\321\232\332\232\344f\245b\225\355\245\333\353\315FsD\365\303\321\034 \n\001E!\nh\216\006\216\343bc\237e\337\375\234\334\234K\220$\205E\2057L&S\224\3438@(~\340!\204\200\34380\231L\321\302\242\302\033\311\270\234\334\234K\373,\373\356'\372\2409\032(D\001jmk%\351\232\364r\302\220h\"\310\357\367\247\330\216\330\376,\212\342w\023\277\353t\272^\243\3118\340q{6\005\003\301M\000\000\2325\232/\314\331\346/&\277\235,\366\371|[\023\365y\236\037nli\374\275V\253]t+B\022bC\301P7j\357h'\272\014]90\260(\000\000\000\277\317\237\342x\323qptt\324\002d\345W\262y\017\240\344\347\347_\262\237\264\277\247\325i\237\270\222\201\004\254o\312\327\315\3204\riii\213(U%\335\224>\327\332\321\332q\341\374\205\177^\273z\315\206\305\3701\275\234p<7R\261\253\242\261\352\327U\367\227\322!\204@\320\027\004t\376\275\363$'/g'\307s\221\345\214z\275\336\224\272\267\352~\356v\2737\370\375\376\r\242(\346B\274\310\b\317\363\343Z\255v0;;{\260\366\255\332\277?\355\"\232(X\304\251\017\307\036\376\203\241(\312-\315I\371\351\272\364\177/\aH7\247\317utt\\\003\200k\000\000\273w\357~}ll\254\002\000 //\357\372\225+W\232\226\303'K(\030\312\247(\312\315H\262\324\033\016\205\367\b\353\204U\375\232m\332\264\251w!\000RXX\370\245 \b\253\201\203\353?\256=\222,\365\242\206\226\206\274\202\265\005\237\363\034\377UVV\326e\243\3218J\323\364\212N\306\323\247O\027\316\315\315\321\307\216\035\033\\\211\276,\313hrr2\377\321\243G{D,>721\362cD\b\2013g\316\344i\265\332w8\236\333JS\264yUKY\245\310\212\354\301\021\374\271\337\353\267\036>|x\354\277\263\317%y\254\011\001u\000\000\000\000IEND\256B`\202", 2156); _img_launcher = new wxBitmap(wxImage(sm)); } + +#ifdef LAUNCHER_USE_SVG + wxFileName fn; + fn.SetPath(*GetpSharedDataLocation()); + fn.AppendDir(_T("plugins")); + fn.AppendDir(_T("launcher_pi")); + fn.AppendDir(_T("data")); + fn.SetFullName(_T("launcher_pi.svg")); + _svg_launcher = fn.GetFullPath(); + fn.SetFullName(_T("launcher_pi_rollover.svg")); + _svg_launcher_rollover = fn.GetFullPath(); + fn.SetFullName(_T("launcher_pi_toggled.svg")); + _svg_launcher_toggled = fn.GetFullPath(); +#endif + return; } diff -Nru opencpn-plugin-launcher-1.0.0/src/icons.h opencpn-plugin-launcher-1.1.1/src/icons.h --- opencpn-plugin-launcher-1.0.0/src/icons.h 2015-01-01 21:21:26.000000000 +0000 +++ opencpn-plugin-launcher-1.1.1/src/icons.h 2016-02-24 17:20:31.000000000 +0000 @@ -1,4 +1,3 @@ -/* Autogenerated by png2wx.pl on Sat Dec 14 08:45:42 2013 */ #ifndef ICONS_H #define ICONS_H 1 @@ -12,4 +11,10 @@ extern wxBitmap *_img_launcher_pi; extern wxBitmap *_img_launcher; +#ifdef LAUNCHER_USE_SVG +extern wxString _svg_launcher; +extern wxString _svg_launcher_rollover; +extern wxString _svg_launcher_toggled; +#endif + #endif /* ICONS_H */ diff -Nru opencpn-plugin-launcher-1.0.0/src/launcher_pi.cpp opencpn-plugin-launcher-1.1.1/src/launcher_pi.cpp --- opencpn-plugin-launcher-1.0.0/src/launcher_pi.cpp 2015-01-01 21:21:26.000000000 +0000 +++ opencpn-plugin-launcher-1.1.1/src/launcher_pi.cpp 2016-02-24 17:20:31.000000000 +0000 @@ -150,7 +150,7 @@ //--------------------------------------------------------------------------------------------------------- launcher_pi::launcher_pi ( void *ppimgr ) - : opencpn_plugin_17 ( ppimgr ) + : opencpn_plugin_113 ( ppimgr ) { // Create the PlugIn icons initialize_images(); @@ -177,9 +177,13 @@ // Get a pointer to the opencpn display canvas, to use as a parent for the LAUNCHER dialog m_parent_window = GetOCPNCanvasWindow(); +#ifdef LAUNCHER_USE_SVG + m_leftclick_tool_id = InsertPlugInToolSVG( _T( "Launcher" ), _svg_launcher, _svg_launcher_rollover, _svg_launcher_toggled, wxITEM_CHECK, _( "Launcher" ), _T( "" ), NULL, LAUNCHER_TOOL_POSITION, 0, this); +#else m_leftclick_tool_id = InsertPlugInTool ( _T ( "" ), _img_launcher, _img_launcher, wxITEM_CHECK, _ ( "Launcher" ), _T ( "" ), NULL, LAUNCHER_TOOL_POSITION, 0, this ); +#endif m_pLauncherDialog = new LauncherUIDialog( m_parent_window ); m_pLauncherDialog->CreateButtons( m_alauncher_labels, m_alauncher_commands ); diff -Nru opencpn-plugin-launcher-1.0.0/src/launcher_pi.h opencpn-plugin-launcher-1.1.1/src/launcher_pi.h --- opencpn-plugin-launcher-1.0.0/src/launcher_pi.h 2015-01-01 21:21:26.000000000 +0000 +++ opencpn-plugin-launcher-1.1.1/src/launcher_pi.h 2016-02-24 17:20:31.000000000 +0000 @@ -39,7 +39,7 @@ #include "version.h" #define MY_API_VERSION_MAJOR 1 -#define MY_API_VERSION_MINOR 7 +#define MY_API_VERSION_MINOR 13 #include "ocpn_plugin.h" @@ -52,7 +52,7 @@ #define LAUNCHER_TOOL_POSITION -1 // Request default positioning of toolbar tool -class launcher_pi : public opencpn_plugin_17 +class launcher_pi : public opencpn_plugin_113 { public: launcher_pi ( void *ppimgr ); diff -Nru opencpn-plugin-launcher-1.0.0/src/ocpn_plugin.h opencpn-plugin-launcher-1.1.1/src/ocpn_plugin.h --- opencpn-plugin-launcher-1.0.0/src/ocpn_plugin.h 2015-01-01 21:21:26.000000000 +0000 +++ opencpn-plugin-launcher-1.1.1/src/ocpn_plugin.h 2016-02-24 17:20:31.000000000 +0000 @@ -1,11 +1,11 @@ -/****************************************************************************** +/*************************************************************************** * * Project: OpenCPN * Purpose: PlugIn Object Definition/API * Author: David Register * *************************************************************************** - * Copyright (C) 2010 by David S. Register * + * Copyright (C) 2010 by David S. Register * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -20,43 +20,44 @@ * You should have received a copy of the GNU General Public License * * along with this program; if not, write to the * * Free Software Foundation, Inc., * - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * - *************************************************************************** - * - */ + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * + **************************************************************************/ + #ifndef _PLUGIN_H_ #define _PLUGIN_H_ - #ifndef DECL_EXP #ifdef __WXMSW__ # define DECL_EXP __declspec(dllexport) #else -# define DECL_EXP +# ifdef __GNUC__ +# define DECL_EXP __attribute__((visibility("default"))) +# endif #endif #endif -#ifdef __GNUC__ -#undef DECL_EXP -#define DECL_EXP __attribute__((visibility("default"))) -#endif - #include -#include + +#ifdef ocpnUSE_SVG +#include "wxsvg/include/wxSVG/svg.h" +#endif // ocpnUSE_SVG + +class wxGLContext; // This is the most modern API Version number // It is expected that the API will remain downward compatible, meaning that // PlugIns conforming to API Version less then the most modern will also // be correctly supported. #define API_VERSION_MAJOR 1 -#define API_VERSION_MINOR 9 +#define API_VERSION_MINOR 13 // Fwd Definitions class wxFileConfig; class wxNotebook; class wxFont; class wxAuiManager; +class wxScrolledWindow; //--------------------------------------------------------------------------------------------------------- // @@ -80,6 +81,11 @@ #define WANTS_PLUGIN_MESSAGING 0x00004000 #define WANTS_OPENGL_OVERLAY_CALLBACK 0x00008000 #define WANTS_DYNAMIC_OPENGL_OVERLAY_CALLBACK 0x00010000 +#define WANTS_LATE_INIT 0x00020000 +#define INSTALLS_PLUGIN_CHART_GL 0x00040000 +#define WANTS_MOUSE_EVENTS 0x00080000 +#define WANTS_VECTOR_CHART_OBJECT_INFO 0x00100000 +#define WANTS_KEYBOARD_EVENTS 0x00200000 //---------------------------------------------------------------------------------------------------------- // Some PlugIn API interface object class definitions @@ -219,7 +225,13 @@ PI_PROJECTION_UNKNOWN, PI_PROJECTION_MERCATOR, PI_PROJECTION_TRANSVERSE_MERCATOR, - PI_PROJECTION_POLYCONIC + PI_PROJECTION_POLYCONIC, + + PI_PROJECTION_ORTHOGRAPHIC, + PI_PROJECTION_POLAR, + PI_PROJECTION_STEREOGRAPHIC, + PI_PROJECTION_GNOMONIC, + PI_PROJECTION_EQUIRECTANGULAR }_OcpnProjTypePI; typedef struct _ExtentPI{ @@ -299,7 +311,8 @@ virtual int GetSize_X(); virtual int GetSize_Y(); virtual void latlong_to_chartpix(double lat, double lon, double &pixx, double &pixy); - + virtual void chartpix_to_latlong(double pixx, double pixy, double *plat, double *plon); + protected: ChartTypeEnumPI m_ChartType; ChartFamilyEnumPI m_ChartFamily; @@ -408,7 +421,6 @@ virtual void UpdateAuiStatus(void); virtual wxArrayString GetDynamicChartClassNameArray(void); - }; @@ -464,6 +476,119 @@ virtual void OnSetupOptions(void); }; +class DECL_EXP opencpn_plugin_110 : public opencpn_plugin_19 +{ + public: + opencpn_plugin_110(void *pmgr); + virtual ~opencpn_plugin_110(); + + virtual void LateInit(void); // If WANTS_LATE_INIT is returned by Init() +}; + +class DECL_EXP opencpn_plugin_111 : public opencpn_plugin_110 +{ +public: + opencpn_plugin_111(void *pmgr); + virtual ~opencpn_plugin_111(); + +}; + +class DECL_EXP opencpn_plugin_112 : public opencpn_plugin_111 +{ +public: + opencpn_plugin_112(void *pmgr); + virtual ~opencpn_plugin_112(); + + virtual bool MouseEventHook( wxMouseEvent &event ); + virtual void SendVectorChartObjectInfo(wxString &chart, wxString &feature, wxString &objname, double lat, double lon, double scale, int nativescale); + +}; + +class DECL_EXP opencpn_plugin_113 : public opencpn_plugin_112 +{ +public: + opencpn_plugin_113(void *pmgr); + virtual ~opencpn_plugin_113(); + + virtual bool KeyboardEventHook( wxKeyEvent &event ); + virtual void OnToolbarToolDownCallback(int id); + virtual void OnToolbarToolUpCallback(int id); +}; + +//------------------------------------------------------------------ +// Route and Waypoint PlugIn support +// +//------------------------------------------------------------------ + +class DECL_EXP Plugin_Hyperlink +{ +public: + wxString DescrText; + wxString Link; + wxString Type; +}; + +WX_DECLARE_LIST(Plugin_Hyperlink, Plugin_HyperlinkList); + + + +class DECL_EXP PlugIn_Waypoint +{ +public: + PlugIn_Waypoint(); + PlugIn_Waypoint(double lat, double lon, + const wxString& icon_ident, const wxString& wp_name, + const wxString& GUID = _T("") ); + ~PlugIn_Waypoint(); + + double m_lat; + double m_lon; + + wxString m_GUID; + + wxString m_MarkName; + wxString m_MarkDescription; + wxDateTime m_CreateTime; + bool m_IsVisible; + + wxString m_IconName; + + Plugin_HyperlinkList *m_HyperlinkList; + +}; + +WX_DECLARE_LIST(PlugIn_Waypoint, Plugin_WaypointList); + +class DECL_EXP PlugIn_Route +{ +public: + PlugIn_Route(void); + ~PlugIn_Route(void); + + wxString m_NameString; + wxString m_StartString; + wxString m_EndString; + wxString m_GUID; + + Plugin_WaypointList *pWaypointList; +}; + +class DECL_EXP PlugIn_Track +{ +public: + PlugIn_Track(void); + ~PlugIn_Track(void); + + wxString m_NameString; + wxString m_StartString; + wxString m_EndString; + wxString m_GUID; + + Plugin_WaypointList *pWaypointList; +}; + + + //---------------------------------------------------------------------------------------------------------- // The PlugIn CallBack API Definition // @@ -473,13 +598,20 @@ //---------------------------------------------------------------------------------------------------------- -extern "C" DECL_EXP int InsertPlugInTool(wxString label, wxBitmap *bitmap, wxBitmap *bmpDisabled, wxItemKind kind, +extern "C" DECL_EXP int InsertPlugInTool(wxString label, wxBitmap *bitmap, wxBitmap *bmpRollover, wxItemKind kind, wxString shortHelp, wxString longHelp, wxObject *clientData, int position, int tool_sel, opencpn_plugin *pplugin); extern "C" DECL_EXP void RemovePlugInTool(int tool_id); extern "C" DECL_EXP void SetToolbarToolViz(int item, bool viz); // Temporarily change toolbar tool viz extern "C" DECL_EXP void SetToolbarItemState(int item, bool toggle); -extern "C" DECL_EXP void SetToolbarToolBitmaps(int item, wxBitmap *bitmap, wxBitmap *bmpDisabled); +extern "C" DECL_EXP void SetToolbarToolBitmaps(int item, wxBitmap *bitmap, wxBitmap *bmpRollover); + +extern "C" DECL_EXP int InsertPlugInToolSVG(wxString label, wxString SVGfile, wxString SVGfileRollover, wxString SVGfileToggled, + wxItemKind kind, wxString shortHelp, wxString longHelp, + wxObject *clientData, int position, int tool_sel, opencpn_plugin *pplugin); +extern "C" DECL_EXP void SetToolbarToolBitmapsSVG(int item, wxString SVGfile, + wxString SVGfileRollover, + wxString SVGfileToggled ); extern "C" DECL_EXP int AddCanvasContextMenuItem(wxMenuItem *pitem, opencpn_plugin *pplugin ); extern "C" DECL_EXP void RemoveCanvasContextMenuItem(int item); // Fully remove this item @@ -522,20 +654,24 @@ extern "C" DECL_EXP void JumpToPosition(double lat, double lon, double scale); -/* API 1.9 adds some common cartographic fucntions to avoid unnecessary code duplication */ +/* API 1.9 adds some common cartographic functions to avoid unnecessary code duplication */ /* Study the original OpenCPN source (georef.c) for functional definitions */ -extern "C" void DistanceBearingMercator(double lat0, double lon0, double lat1, double lon1, double *brg, double *dist); -extern "C" double DistGreatCircle(double slat, double slon, double dlat, double dlon); - -extern "C" void toTM(float lat, float lon, float lat0, float lon0, double *x, double *y); -extern "C" void fromTM(double x, double y, double lat0, double lon0, double *lat, double *lon); -extern "C" void toSM(double lat, double lon, double lat0, double lon0, double *x, double *y); -extern "C" void fromSM(double x, double y, double lat0, double lon0, double *lat, double *lon); -extern "C" void toSM_ECC(double lat, double lon, double lat0, double lon0, double *x, double *y); -extern "C" void fromSM_ECC(double x, double y, double lat0, double lon0, double *lat, double *lon); +extern "C" DECL_EXP void PositionBearingDistanceMercator_Plugin(double lat, double lon, double brg, double dist, double *dlat, double *dlon); +extern "C" DECL_EXP void DistanceBearingMercator_Plugin(double lat0, double lon0, double lat1, double lon1, double *brg, double *dist); +extern "C" DECL_EXP double DistGreatCircle_Plugin(double slat, double slon, double dlat, double dlon); + +extern "C" DECL_EXP void toTM_Plugin(float lat, float lon, float lat0, float lon0, double *x, double *y); +extern "C" DECL_EXP void fromTM_Plugin(double x, double y, double lat0, double lon0, double *lat, double *lon); +extern "C" DECL_EXP void toSM_Plugin(double lat, double lon, double lat0, double lon0, double *x, double *y); +extern "C" DECL_EXP void fromSM_Plugin(double x, double y, double lat0, double lon0, double *lat, double *lon); +extern "C" DECL_EXP void toSM_ECC_Plugin(double lat, double lon, double lat0, double lon0, double *x, double *y); +extern "C" DECL_EXP void fromSM_ECC_Plugin(double x, double y, double lat0, double lon0, double *lat, double *lon); extern "C" DECL_EXP bool DecodeSingleVDOMessage( const wxString& str, PlugIn_Position_Fix_Ex *pos, wxString *acc ); +extern "C" DECL_EXP int GetChartbarHeight( void ); +extern "C" DECL_EXP bool GetActiveRoutepointGPX( char *buffer, unsigned int buffer_length ); + /* API 1.9 */ @@ -548,11 +684,486 @@ PI_OPTIONS_PARENT_UI, PI_OPTIONS_PARENT_PLUGINS }_OptionsParentPI; -extern DECL_EXP wxScrolledWindow *AddOptionsPage( OptionsParentPI parent, wxString title ); +extern DECL_EXP wxScrolledWindow *AddOptionsPage( OptionsParentPI parent, wxString title ); extern DECL_EXP bool DeleteOptionsPage( wxScrolledWindow* page ); -extern "C" DECL_EXP int GetChartbarHeight( void ); -extern "C" DECL_EXP bool GetActiveRoutepointGPX( char *buffer, unsigned int buffer_length ); -#endif // _PLUGIN_H_ +/* API 1.10 */ + +/* API 1.10 adds some common functions to avoid unnecessary code duplication */ +/* Study the original OpenCPN source for functional definitions */ +extern "C" DECL_EXP double toUsrDistance_Plugin( double nm_distance, int unit = -1 ); +extern "C" DECL_EXP double fromUsrDistance_Plugin( double usr_distance, int unit = -1 ); +extern "C" DECL_EXP double toUsrSpeed_Plugin( double kts_speed, int unit = -1 ); +extern "C" DECL_EXP double fromUsrSpeed_Plugin( double usr_speed, int unit = -1 ); +extern DECL_EXP wxString getUsrDistanceUnit_Plugin( int unit = -1 ); +extern DECL_EXP wxString getUsrSpeedUnit_Plugin( int unit = -1 ); +extern DECL_EXP wxString GetNewGUID(); +extern "C" DECL_EXP bool PlugIn_GSHHS_CrossesLand(double lat1, double lon1, double lat2, double lon2); +extern DECL_EXP void PlugInPlaySound( wxString &sound_file ); + + + + +// API 1.10 Route and Waypoint Support +extern DECL_EXP wxBitmap *FindSystemWaypointIcon( wxString& icon_name ); +extern DECL_EXP bool AddCustomWaypointIcon( wxBitmap *pimage, wxString key, wxString description ); + +extern DECL_EXP bool AddSingleWaypoint( PlugIn_Waypoint *pwaypoint, bool b_permanent = true); +extern DECL_EXP bool DeleteSingleWaypoint( wxString &GUID ); +extern DECL_EXP bool UpdateSingleWaypoint( PlugIn_Waypoint *pwaypoint ); + +extern DECL_EXP bool AddPlugInRoute( PlugIn_Route *proute, bool b_permanent = true ); +extern DECL_EXP bool DeletePlugInRoute( wxString& GUID ); +extern DECL_EXP bool UpdatePlugInRoute ( PlugIn_Route *proute ); + +extern DECL_EXP bool AddPlugInTrack( PlugIn_Track *ptrack, bool b_permanent = true ); +extern DECL_EXP bool DeletePlugInTrack( wxString& GUID ); +extern DECL_EXP bool UpdatePlugInTrack ( PlugIn_Track *ptrack ); + +/* API 1.11 */ + +/* API 1.11 adds some more common functions to avoid unnecessary code duplication */ +wxColour DECL_EXP GetBaseGlobalColor(wxString colorName); +int DECL_EXP OCPNMessageBox_PlugIn(wxWindow *parent, + const wxString& message, + const wxString& caption = _T("Message"), + int style = wxOK, int x = -1, int y = -1); + +extern DECL_EXP wxString toSDMM_PlugIn(int NEflag, double a, bool hi_precision = true); + +extern "C" DECL_EXP wxString *GetpPrivateApplicationDataLocation(); +extern DECL_EXP wxString GetOCPN_ExePath( void ); +extern "C" DECL_EXP wxString *GetpPlugInLocation(); +extern DECL_EXP wxString GetPlugInPath(opencpn_plugin *pplugin); + +extern "C" DECL_EXP int AddChartToDBInPlace( wxString &full_path, bool b_RefreshCanvas ); +extern "C" DECL_EXP int RemoveChartFromDBInPlace( wxString &full_path ); +extern DECL_EXP wxString GetLocaleCanonicalName(); + +// API 1.11 adds access to S52 Presentation library +//Types + +// A flag field that defines the object capabilities passed by a chart to the S52 PLIB + +#define PLIB_CAPS_LINE_VBO 1 +#define PLIB_CAPS_LINE_BUFFER 1 << 1 +#define PLIB_CAPS_SINGLEGEO_BUFFER 1 << 2 +#define PLIB_CAPS_OBJSEGLIST 1 << 3 +#define PLIB_CAPS_OBJCATMUTATE 1 << 4 + + +class PI_S57Obj; + +WX_DECLARE_LIST(PI_S57Obj, ListOfPI_S57Obj); + +// ---------------------------------------------------------------------------- +// PlugInChartBaseGL +// Derived from PlugInChartBase, add OpenGL Vector chart support +// ---------------------------------------------------------------------------- + +class DECL_EXP PlugInChartBaseGL : public PlugInChartBase +{ +public: + PlugInChartBaseGL(); + virtual ~PlugInChartBaseGL(); + + virtual int RenderRegionViewOnGL( const wxGLContext &glc, const PlugIn_ViewPort& VPoint, + const wxRegion &Region, bool b_use_stencil ); + + virtual ListOfPI_S57Obj *GetObjRuleListAtLatLon(float lat, float lon, float select_radius, PlugIn_ViewPort *VPoint); + virtual wxString CreateObjDescriptions( ListOfPI_S57Obj* obj_list ); + + virtual int GetNoCOVREntries(); + virtual int GetNoCOVRTablePoints(int iTable); + virtual int GetNoCOVRTablenPoints(int iTable); + virtual float *GetNoCOVRTableHead(int iTable); + +}; + + + + + + + +class wxArrayOfS57attVal; + +// name of the addressed look up table set (fifth letter) +typedef enum _PI_LUPname{ + PI_SIMPLIFIED = 'L', // points + PI_PAPER_CHART = 'R', // points + PI_LINES = 'S', // lines + PI_PLAIN_BOUNDARIES = 'N', // areas + PI_SYMBOLIZED_BOUNDARIES = 'O', // areas + PI_LUPNAME_NUM = 5 +}PI_LUPname; + +// display category type +typedef enum _PI_DisCat{ + PI_DISPLAYBASE = 'D', // + PI_STANDARD = 'S', // + PI_OTHER = 'O', // O for OTHER + PI_MARINERS_STANDARD = 'M', // Mariner specified + PI_MARINERS_OTHER, // value not defined + PI_DISP_CAT_NUM, // value not defined +}PI_DisCat; + +// Display Priority +typedef enum _PI_DisPrio{ + PI_PRIO_NODATA = '0', // no data fill area pattern + PI_PRIO_GROUP1 = '1', // S57 group 1 filled areas + PI_PRIO_AREA_1 = '2', // superimposed areas + PI_PRIO_AREA_2 = '3', // superimposed areas also water features + PI_PRIO_SYMB_POINT = '4', // point symbol also land features + PI_PRIO_SYMB_LINE = '5', // line symbol also restricted areas + PI_PRIO_SYMB_AREA = '6', // area symbol also traffic areas + PI_PRIO_ROUTEING = '7', // routeing lines + PI_PRIO_HAZARDS = '8', // hazards + PI_PRIO_MARINERS = '9', // VRM, EBL, own ship + PI_PRIO_NUM = 10 // number of priority levels + +}PI_DisPrio; + +typedef enum PI_InitReturn +{ + PI_INIT_OK = 0, + PI_INIT_FAIL_RETRY, // Init failed, retry suggested + PI_INIT_FAIL_REMOVE, // Init failed, suggest remove from further use + PI_INIT_FAIL_NOERROR // Init failed, request no explicit error message +}_PI_InitReturn; + +class PI_line_segment_element +{ +public: + size_t vbo_offset; + size_t n_points; + int priority; + float lat_max; // segment bounding box + float lat_min; + float lon_max; + float lon_min; + int type; + void *private0; + + PI_line_segment_element *next; +}; + + +class DECL_EXP PI_S57Obj +{ +public: + + // Public Methods + PI_S57Obj(); + ~PI_S57Obj(); + +public: + // Instance Data + char FeatureName[8]; + int Primitive_type; + + char *att_array; + wxArrayOfS57attVal *attVal; + int n_attr; + + int iOBJL; + int Index; + + double x; // for POINT + double y; + double z; + int npt; // number of points as needed by arrays + void *geoPt; // for LINE & AREA not described by PolyTessGeo + double *geoPtz; // an array[3] for MultiPoint, SM with Z, i.e. depth + double *geoPtMulti; // an array[2] for MultiPoint, lat/lon to make bbox + // of decomposed points + + void *pPolyTessGeo; + + double m_lat; // The lat/lon of the object's "reference" point + double m_lon; + + double chart_ref_lat; + double chart_ref_lon; + + double lat_min; + double lat_max; + double lon_min; + double lon_max; + + int Scamin; // SCAMIN attribute decoded during load + + bool bIsClone; + int nRef; // Reference counter, to signal OK for deletion + + bool bIsAton; // This object is an aid-to-navigation + bool bIsAssociable; // This object is DRGARE or DEPARE + + int m_n_lsindex; + int *m_lsindex_array; + int m_n_edge_max_points; + void *m_chart_context; + + PI_DisCat m_DisplayCat; + + void * S52_Context; + PI_S57Obj *child; // child list, used only for MultiPoint Soundings + + PI_S57Obj *next; // List linkage + + // This transform converts from object geometry + // to SM coordinates. + double x_rate; // These auxiliary transform coefficients are + double y_rate; // to be used in GetPointPix() and friends + double x_origin; // on a per-object basis if necessary + double y_origin; + + int auxParm0; // some per-object auxiliary parameters, used for OpenGL + int auxParm1; + int auxParm2; + int auxParm3; + + PI_line_segment_element *m_ls_list; + bool m_bcategory_mutable; + int m_DPRI; +}; + + + +wxString DECL_EXP PI_GetPLIBColorScheme(); +int DECL_EXP PI_GetPLIBDepthUnitInt(); +int DECL_EXP PI_GetPLIBSymbolStyle(); +int DECL_EXP PI_GetPLIBBoundaryStyle(); +int DECL_EXP PI_GetPLIBStateHash(); +double DECL_EXP PI_GetPLIBMarinerSafetyContour(); +bool DECL_EXP PI_GetObjectRenderBox( PI_S57Obj *pObj, double *lat_min, double *lat_max, double *lon_min, double *lon_max); +void DECL_EXP PI_UpdateContext(PI_S57Obj *pObj); + +bool DECL_EXP PI_PLIBObjectRenderCheck( PI_S57Obj *pObj, PlugIn_ViewPort *vp ); +PI_LUPname DECL_EXP PI_GetObjectLUPName( PI_S57Obj *pObj ); +PI_DisPrio DECL_EXP PI_GetObjectDisplayPriority( PI_S57Obj *pObj ); +PI_DisCat DECL_EXP PI_GetObjectDisplayCategory( PI_S57Obj *pObj ); +void DECL_EXP PI_PLIBSetLineFeaturePriority( PI_S57Obj *pObj, int prio ); +void DECL_EXP PI_PLIBPrepareForNewRender(void); +void DECL_EXP PI_PLIBFreeContext( void *pContext ); +void DECL_EXP PI_PLIBSetRenderCaps( unsigned int flags ); + +bool DECL_EXP PI_PLIBSetContext( PI_S57Obj *pObj ); + +int DECL_EXP PI_PLIBRenderObjectToDC( wxDC *pdc, PI_S57Obj *pObj, PlugIn_ViewPort *vp ); +int DECL_EXP PI_PLIBRenderAreaToDC( wxDC *pdc, PI_S57Obj *pObj, PlugIn_ViewPort *vp, wxRect rect, unsigned char *pixbuf ); + + +int DECL_EXP PI_PLIBRenderAreaToGL( const wxGLContext &glcc, PI_S57Obj *pObj, + PlugIn_ViewPort *vp, wxRect &render_rect ); + +int DECL_EXP PI_PLIBRenderObjectToGL( const wxGLContext &glcc, PI_S57Obj *pObj, + PlugIn_ViewPort *vp, wxRect &render_rect ); + +/* API 1.11 OpenGL Display List and vertex buffer object routines + + Effectively these two routines cancel each other so all + of the translation, scaling and rotation can be done by opengl. + + Display lists need only be built infrequently, but used in each frame + greatly accelerates the speed of rendering. This avoids costly calculations, + and also allows the vertexes to be stored in graphics memory. + + static int dl = 0; + glPushMatrix(); + PlugInMultMatrixViewport(current_viewport); + if(dl) + glCallList(dl); + else { + dl = glGenLists(1); + PlugInViewPort norm_viewport = current_viewport; + NormalizeViewPort(norm_viewport); + glNewList(dl, GL_COMPILE_AND_EXECUTE); + ... // use norm_viewport with GetCanvasLLPix here + glEndList(); + } + glPopMatrix(); + ... // use current_viewport with GetCanvasLLPix again +*/ + +extern DECL_EXP bool PlugInHasNormalizedViewPort ( PlugIn_ViewPort *vp ); +extern DECL_EXP void PlugInMultMatrixViewport ( PlugIn_ViewPort *vp, float lat=0, float lon=0 ); +extern DECL_EXP void PlugInNormalizeViewport ( PlugIn_ViewPort *vp, float lat=0, float lon=0 ); + +class wxPoint2DDouble; +extern "C" DECL_EXP void GetDoubleCanvasPixLL(PlugIn_ViewPort *vp, wxPoint2DDouble *pp, double lat, double lon); + +/* API 1.13 */ +/* API 1.13 adds some more common functions to avoid unnecessary code duplication */ + + +extern DECL_EXP double fromDMM_Plugin( wxString sdms ); +extern DECL_EXP void SetCanvasRotation(double rotation); +extern DECL_EXP void SetCanvasProjection(int projection); +extern DECL_EXP bool GetSingleWaypoint( wxString GUID, PlugIn_Waypoint *pwaypoint ); +extern DECL_EXP bool CheckEdgePan_PlugIn( int x, int y, bool dragging, int margin, int delta ); +extern DECL_EXP wxBitmap GetIcon_PlugIn(const wxString & name); +extern DECL_EXP void SetCursor_PlugIn( wxCursor *pPlugin_Cursor = NULL ); +extern DECL_EXP wxFont *GetOCPNScaledFont_PlugIn(wxString TextElement, int default_size = 0); +extern DECL_EXP wxFont GetOCPNGUIScaledFont_PlugIn(wxString item); +extern DECL_EXP double GetOCPNGUIToolScaleFactor_PlugIn(int GUIScaledFactor); +extern DECL_EXP double GetOCPNGUIToolScaleFactor_PlugIn(); +extern DECL_EXP float GetOCPNChartScaleFactor_Plugin(); +extern DECL_EXP wxColour GetFontColour_PlugIn(wxString TextElement); + +extern DECL_EXP double GetCanvasTilt(); +extern DECL_EXP void SetCanvasTilt(double tilt); + +extern DECL_EXP bool PlugInPlaySoundEx( wxString &sound_file, int deviceIndex=-1 ); +extern DECL_EXP void AddChartDirectory( wxString &path ); +extern DECL_EXP void ForceChartDBUpdate(); + +extern DECL_EXP wxString GetWritableDocumentsDir( void ); +extern DECL_EXP wxDialog *GetActiveOptionsDialog(); +extern DECL_EXP wxArrayString GetWaypointGUIDArray( void ); + +extern DECL_EXP bool AddPersistentFontKey(wxString TextElement); +extern DECL_EXP wxString GetActiveStyleName(); + +extern DECL_EXP wxBitmap GetBitmapFromSVGFile(wxString filename, unsigned int width, unsigned int height); +extern DECL_EXP bool IsTouchInterface_PlugIn(void); + +/* Platform optimized File/Dir selector dialogs */ +extern DECL_EXP int PlatformDirSelectorDialog( wxWindow *parent, wxString *file_spec, wxString Title, wxString initDir); + +extern DECL_EXP int PlatformFileSelectorDialog( wxWindow *parent, wxString *file_spec, wxString Title, wxString initDir, + wxString suggestedName, wxString wildcard); + + +/* OpenCPN HTTP File Download PlugIn Interface */ + +/* Various method Return Codes, etc */ +typedef enum _OCPN_DLStatus{ + OCPN_DL_UNKNOWN =-1, + OCPN_DL_NO_ERROR = 0, + OCPN_DL_FAILED = 1, + OCPN_DL_ABORTED = 2, + OCPN_DL_USER_TIMEOUT = 4, + OCPN_DL_STARTED = 8 +}OCPN_DLStatus; + + +typedef enum _OCPN_DLCondition{ + OCPN_DL_EVENT_TYPE_UNKNOWN = -1, + OCPN_DL_EVENT_TYPE_START = 80, + OCPN_DL_EVENT_TYPE_PROGRESS = 81, + OCPN_DL_EVENT_TYPE_END = 82 +}OCPN_DLCondition; + +// Style definitions for Synchronous file download modal dialogs, if desired. +// Abstracted from wxCURL package +enum OCPN_DLDialogStyle +{ + OCPN_DLDS_ELAPSED_TIME = 0x0001, //!< The dialog shows the elapsed time. + OCPN_DLDS_ESTIMATED_TIME = 0x0002, //!< The dialog shows the estimated total time. + OCPN_DLDS_REMAINING_TIME = 0x0004, //!< The dialog shows the remaining time. + OCPN_DLDS_SPEED = 0x0008, //!< The dialog shows the transfer speed. + OCPN_DLDS_SIZE = 0x0010, //!< The dialog shows the size of the resource to download/upload. + OCPN_DLDS_URL = 0x0020, //!< The dialog shows the URL involved in the transfer. + + // styles related to the use of wxCurlConnectionSettingsDialog: + + OCPN_DLDS_CONN_SETTINGS_AUTH = 0x0040, //!< The dialog allows the user to change the authentication settings. + OCPN_DLDS_CONN_SETTINGS_PORT = 0x0080, //!< The dialog allows the user to change the port for the transfer. + OCPN_DLDS_CONN_SETTINGS_PROXY = 0x0100, //!< The dialog allows the user to change the proxy settings. + + OCPN_DLDS_CONN_SETTINGS_ALL = OCPN_DLDS_CONN_SETTINGS_AUTH|OCPN_DLDS_CONN_SETTINGS_PORT|OCPN_DLDS_CONN_SETTINGS_PROXY, + + OCPN_DLDS_SHOW_ALL =OCPN_DLDS_ELAPSED_TIME|OCPN_DLDS_ESTIMATED_TIME|OCPN_DLDS_REMAINING_TIME| + OCPN_DLDS_SPEED|OCPN_DLDS_SIZE|OCPN_DLDS_URL|OCPN_DLDS_CONN_SETTINGS_ALL, + + OCPN_DLDS_CAN_ABORT = 0x0200, //!< The transfer can be aborted by the user. + OCPN_DLDS_CAN_START = 0x0400, //!< The transfer won't start automatically. The user needs to start it. + OCPN_DLDS_CAN_PAUSE = 0x0800, //!< The transfer can be paused. + + OCPN_DLDS_AUTO_CLOSE = 0x1000, //!< The dialog auto closes when transfer is complete. + + // by default all available features are enabled: + OCPN_DLDS_DEFAULT_STYLE = OCPN_DLDS_CAN_START|OCPN_DLDS_CAN_PAUSE|OCPN_DLDS_CAN_ABORT|OCPN_DLDS_SHOW_ALL|OCPN_DLDS_AUTO_CLOSE +}; + +#define ONLINE_CHECK_RETRY 30 // Recheck the Internet connection availability every ONLINE_CHECK_RETRY s + +/* Synchronous (Blocking) download of a single file */ + +extern DECL_EXP _OCPN_DLStatus OCPN_downloadFile( const wxString& url, const wxString &outputFile, + const wxString &title, const wxString &message, + const wxBitmap& bitmap, + wxWindow *parent, long style, int timeout_secs); + + +/* Asynchronous (Background) download of a single file */ + +extern DECL_EXP _OCPN_DLStatus OCPN_downloadFileBackground( const wxString& url, const wxString &outputFile, + wxEvtHandler *handler, long *handle); + +extern DECL_EXP void OCPN_cancelDownloadFileBackground( long handle ); + +/* Synchronous (Blocking) HTTP POST operation for small amounts of data */ + +extern DECL_EXP _OCPN_DLStatus OCPN_postDataHttp( const wxString& url, const wxString& parameters, wxString& result, int timeout_secs ); + +/* Check whether connection to the Internet is working */ + +extern DECL_EXP bool OCPN_isOnline(); + +/* Supporting Event for Background downloading */ +/* OCPN_downloadEvent Definition */ + +/* PlugIn should be ready/able to handle this event after initiating a background file transfer + * + * The event as received should be parsed primarily by the getDLEventCondition() method. + * This will allow identification of download start, progress, and end states. + * + * Other accessor methods contain status, byte counts, etc. + * + * A PlugIn may safely destroy its EvtHandler after receipt of an OCPN_downloadEvent with + * getDLEventCondition == OCPN_DL_EVENT_TYPE_END + */ + +class DECL_EXP OCPN_downloadEvent: public wxEvent +{ +public: + OCPN_downloadEvent( wxEventType commandType = wxEVT_NULL, int id = 0 ); + ~OCPN_downloadEvent( ); + + // accessors + _OCPN_DLStatus getDLEventStatus(){ return m_stat; } + OCPN_DLCondition getDLEventCondition(){ return m_condition; } + + void setDLEventStatus( _OCPN_DLStatus stat ){ m_stat = stat; } + void setDLEventCondition( OCPN_DLCondition cond ){ m_condition = cond; } + + void setTotal( long bytes ){m_totalBytes = bytes; } + void setTransferred( long bytes ){m_sofarBytes = bytes; } + long getTotal(){ return m_totalBytes; } + long getTransferred(){ return m_sofarBytes; } + + void setComplete(bool b_complete){ m_b_complete = b_complete; } + bool getComplete(){ return m_b_complete; } + + + // required for sending with wxPostEvent() + wxEvent *Clone() const; + +private: + OCPN_DLStatus m_stat; + OCPN_DLCondition m_condition; + + long m_totalBytes; + long m_sofarBytes; + bool m_b_complete; +}; + +//DECLARE_EVENT_TYPE(wxEVT_DOWNLOAD_EVENT, -1) +//extern const wxEventType DECL_EXP wxEVT_DOWNLOAD_EVENT; + +extern WXDLLIMPEXP_CORE const wxEventType wxEVT_DOWNLOAD_EVENT; +#endif //_PLUGIN_H_