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 @@
+
+
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 @@
+
+
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 @@
+
+
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_