From 0ba0977aa266083d8592a5ca261e578f275c59d8 Mon Sep 17 00:00:00 2001 From: Bill Somerville Date: Sat, 2 Jan 2016 22:30:12 +0000 Subject: [PATCH] User Guide localization git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6341 ab8295b8-cf94-4d9e-aec4-7959e3be5d79 --- CMakeLists.txt | 3 +- DisplayManual.cpp | 152 +++++++++++ DisplayManual.hpp | 27 ++ doc/CMakeLists.txt | 235 ++++++++++-------- doc/user_guide/{ => en}/acknowledgements.adoc | 0 doc/user_guide/{ => en}/compiling.adoc | 0 doc/user_guide/{ => en}/config-details.adoc | 0 .../{ => en}/controls-functions-center.adoc | 0 .../{ => en}/controls-functions-left.adoc | 0 .../controls-functions-main-window.adoc | 0 .../{ => en}/controls-functions-menus.adoc | 0 .../{ => en}/controls-functions-messages.adoc | 0 .../controls-functions-status-bar.adoc | 0 .../controls-functions-wide-graph.adoc | 0 .../{ => en}/cooperating-programs.adoc | 0 doc/user_guide/{ => en}/docinfo.html | 0 doc/user_guide/{ => en}/docinfo.xml | 0 doc/user_guide/{ => en}/faq.adoc | 0 doc/user_guide/{ => en}/font-sizes.adoc | 0 .../{ => en}/images/130610_2343-wav-80.png | Bin .../{ => en}/images/Add_station_info.png | Bin .../{ => en}/images/Astronomical_data.png | Bin doc/user_guide/{ => en}/images/MacAppMenu.png | Bin doc/user_guide/{ => en}/images/RadioTab.png | Bin .../{ => en}/images/VHF_controls.png | Bin doc/user_guide/{ => en}/images/WSPR.png | Bin .../{ => en}/images/band-settings.png | Bin .../{ => en}/images/band_hopping.png | Bin doc/user_guide/{ => en}/images/colors.png | Bin .../{ => en}/images/decode-menu.png | Bin doc/user_guide/{ => en}/images/decodes.png | Bin .../{ => en}/images/decoding_depth.png | Bin doc/user_guide/{ => en}/images/echo_144.png | Bin doc/user_guide/{ => en}/images/file-menu.png | Bin doc/user_guide/{ => en}/images/freemsg.png | Bin doc/user_guide/{ => en}/images/help-menu.png | Bin doc/user_guide/{ => en}/images/jtalert.png | Bin .../{ => en}/images/keyboard-shortcuts.png | Bin doc/user_guide/{ => en}/images/log-qso.png | Bin .../{ => en}/images/main-ui-1.5.png | Bin .../{ => en}/images/main-ui-1.6.png | Bin .../{ => en}/images/main-ui-controls.png | Bin .../{ => en}/images/misc-controls-center.png | Bin .../{ => en}/images/misc-main-ui.png | Bin doc/user_guide/{ => en}/images/mode-menu.png | Bin .../{ => en}/images/new-msg-box.png | Bin .../{ => en}/images/open_sample_file.png | Bin .../{ => en}/images/psk-reporter.png | Bin .../images/r3666-config-screen-80.png | Bin .../{ => en}/images/r3666-main-ui-80.png | Bin .../{ => en}/images/r4148-txmac-ui.png | Bin doc/user_guide/{ => en}/images/reporting.png | Bin doc/user_guide/{ => en}/images/save-menu.png | Bin .../{ => en}/images/settings-audio.png | Bin .../{ => en}/images/settings-frequencies.png | Bin .../{ => en}/images/settings-general.png | Bin doc/user_guide/{ => en}/images/setup-menu.png | Bin .../images/special-mouse-commands.png | Bin .../{ => en}/images/status-bar-a.png | Bin .../{ => en}/images/traditional-msg-box.png | Bin doc/user_guide/{ => en}/images/tx-macros.png | Bin doc/user_guide/{ => en}/images/view-menu.png | Bin .../{ => en}/images/wide-graph-controls.png | Bin doc/user_guide/{ => en}/implementation.adoc | 0 .../{ => en}/install-from-source.adoc | 0 doc/user_guide/{ => en}/install-linux.adoc | 0 doc/user_guide/{ => en}/install-mac.adoc | 0 doc/user_guide/{ => en}/install-windows.adoc | 0 doc/user_guide/{ => en}/introduction.adoc | 0 doc/user_guide/{ => en}/logging.adoc | 0 doc/user_guide/{ => en}/make-qso.adoc | 0 doc/user_guide/{ => en}/new_features.adoc | 0 .../{ => en}/platform-dependencies.adoc | 0 doc/user_guide/{ => en}/protocols.adoc | 0 doc/user_guide/{ => en}/settings-audio.adoc | 0 doc/user_guide/{ => en}/settings-colors.adoc | 0 .../{ => en}/settings-frequencies.adoc | 0 doc/user_guide/{ => en}/settings-general.adoc | 0 doc/user_guide/{ => en}/settings-radio.adoc | 0 .../{ => en}/settings-reporting.adoc | 0 .../{ => en}/settings-txmacros.adoc | 0 doc/user_guide/{ => en}/support.adoc | 0 .../{ => en}/system-requirements.adoc | 0 .../{ => en}/transceiver-setup.adoc | 0 .../{ => en}/tutorial-example1.adoc | 0 .../{ => en}/tutorial-example2.adoc | 0 .../{ => en}/tutorial-main-window.adoc | 0 .../tutorial-wide-graph-settings.adoc | 0 doc/user_guide/{ => en}/utilities.adoc | 0 doc/user_guide/{ => en}/vhf-features.adoc | 0 doc/user_guide/{ => en}/wsjtx-main.adoc | 0 doc/user_guide/{ => en}/wspr.adoc | 0 mainwindow.cpp | 8 +- mainwindow.h | 2 + 94 files changed, 316 insertions(+), 111 deletions(-) create mode 100644 DisplayManual.cpp create mode 100644 DisplayManual.hpp rename doc/user_guide/{ => en}/acknowledgements.adoc (100%) rename doc/user_guide/{ => en}/compiling.adoc (100%) rename doc/user_guide/{ => en}/config-details.adoc (100%) rename doc/user_guide/{ => en}/controls-functions-center.adoc (100%) rename doc/user_guide/{ => en}/controls-functions-left.adoc (100%) rename doc/user_guide/{ => en}/controls-functions-main-window.adoc (100%) rename doc/user_guide/{ => en}/controls-functions-menus.adoc (100%) rename doc/user_guide/{ => en}/controls-functions-messages.adoc (100%) rename doc/user_guide/{ => en}/controls-functions-status-bar.adoc (100%) rename doc/user_guide/{ => en}/controls-functions-wide-graph.adoc (100%) rename doc/user_guide/{ => en}/cooperating-programs.adoc (100%) rename doc/user_guide/{ => en}/docinfo.html (100%) rename doc/user_guide/{ => en}/docinfo.xml (100%) rename doc/user_guide/{ => en}/faq.adoc (100%) rename doc/user_guide/{ => en}/font-sizes.adoc (100%) rename doc/user_guide/{ => en}/images/130610_2343-wav-80.png (100%) rename doc/user_guide/{ => en}/images/Add_station_info.png (100%) rename doc/user_guide/{ => en}/images/Astronomical_data.png (100%) rename doc/user_guide/{ => en}/images/MacAppMenu.png (100%) rename doc/user_guide/{ => en}/images/RadioTab.png (100%) rename doc/user_guide/{ => en}/images/VHF_controls.png (100%) rename doc/user_guide/{ => en}/images/WSPR.png (100%) rename doc/user_guide/{ => en}/images/band-settings.png (100%) rename doc/user_guide/{ => en}/images/band_hopping.png (100%) rename doc/user_guide/{ => en}/images/colors.png (100%) rename doc/user_guide/{ => en}/images/decode-menu.png (100%) rename doc/user_guide/{ => en}/images/decodes.png (100%) rename doc/user_guide/{ => en}/images/decoding_depth.png (100%) rename doc/user_guide/{ => en}/images/echo_144.png (100%) rename doc/user_guide/{ => en}/images/file-menu.png (100%) rename doc/user_guide/{ => en}/images/freemsg.png (100%) rename doc/user_guide/{ => en}/images/help-menu.png (100%) rename doc/user_guide/{ => en}/images/jtalert.png (100%) rename doc/user_guide/{ => en}/images/keyboard-shortcuts.png (100%) rename doc/user_guide/{ => en}/images/log-qso.png (100%) rename doc/user_guide/{ => en}/images/main-ui-1.5.png (100%) rename doc/user_guide/{ => en}/images/main-ui-1.6.png (100%) rename doc/user_guide/{ => en}/images/main-ui-controls.png (100%) rename doc/user_guide/{ => en}/images/misc-controls-center.png (100%) rename doc/user_guide/{ => en}/images/misc-main-ui.png (100%) rename doc/user_guide/{ => en}/images/mode-menu.png (100%) rename doc/user_guide/{ => en}/images/new-msg-box.png (100%) rename doc/user_guide/{ => en}/images/open_sample_file.png (100%) rename doc/user_guide/{ => en}/images/psk-reporter.png (100%) rename doc/user_guide/{ => en}/images/r3666-config-screen-80.png (100%) rename doc/user_guide/{ => en}/images/r3666-main-ui-80.png (100%) rename doc/user_guide/{ => en}/images/r4148-txmac-ui.png (100%) rename doc/user_guide/{ => en}/images/reporting.png (100%) rename doc/user_guide/{ => en}/images/save-menu.png (100%) rename doc/user_guide/{ => en}/images/settings-audio.png (100%) rename doc/user_guide/{ => en}/images/settings-frequencies.png (100%) rename doc/user_guide/{ => en}/images/settings-general.png (100%) rename doc/user_guide/{ => en}/images/setup-menu.png (100%) rename doc/user_guide/{ => en}/images/special-mouse-commands.png (100%) rename doc/user_guide/{ => en}/images/status-bar-a.png (100%) rename doc/user_guide/{ => en}/images/traditional-msg-box.png (100%) rename doc/user_guide/{ => en}/images/tx-macros.png (100%) rename doc/user_guide/{ => en}/images/view-menu.png (100%) rename doc/user_guide/{ => en}/images/wide-graph-controls.png (100%) rename doc/user_guide/{ => en}/implementation.adoc (100%) rename doc/user_guide/{ => en}/install-from-source.adoc (100%) rename doc/user_guide/{ => en}/install-linux.adoc (100%) rename doc/user_guide/{ => en}/install-mac.adoc (100%) rename doc/user_guide/{ => en}/install-windows.adoc (100%) rename doc/user_guide/{ => en}/introduction.adoc (100%) rename doc/user_guide/{ => en}/logging.adoc (100%) rename doc/user_guide/{ => en}/make-qso.adoc (100%) rename doc/user_guide/{ => en}/new_features.adoc (100%) rename doc/user_guide/{ => en}/platform-dependencies.adoc (100%) rename doc/user_guide/{ => en}/protocols.adoc (100%) rename doc/user_guide/{ => en}/settings-audio.adoc (100%) rename doc/user_guide/{ => en}/settings-colors.adoc (100%) rename doc/user_guide/{ => en}/settings-frequencies.adoc (100%) rename doc/user_guide/{ => en}/settings-general.adoc (100%) rename doc/user_guide/{ => en}/settings-radio.adoc (100%) rename doc/user_guide/{ => en}/settings-reporting.adoc (100%) rename doc/user_guide/{ => en}/settings-txmacros.adoc (100%) rename doc/user_guide/{ => en}/support.adoc (100%) rename doc/user_guide/{ => en}/system-requirements.adoc (100%) rename doc/user_guide/{ => en}/transceiver-setup.adoc (100%) rename doc/user_guide/{ => en}/tutorial-example1.adoc (100%) rename doc/user_guide/{ => en}/tutorial-example2.adoc (100%) rename doc/user_guide/{ => en}/tutorial-main-window.adoc (100%) rename doc/user_guide/{ => en}/tutorial-wide-graph-settings.adoc (100%) rename doc/user_guide/{ => en}/utilities.adoc (100%) rename doc/user_guide/{ => en}/vhf-features.adoc (100%) rename doc/user_guide/{ => en}/wsjtx-main.adoc (100%) rename doc/user_guide/{ => en}/wspr.adoc (100%) diff --git a/CMakeLists.txt b/CMakeLists.txt index a6a3cb187..4a1dd6a63 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -52,7 +52,7 @@ set (PROJECT_VENDOR "Joe Taylor, K1JT") set (PROJECT_CONTACT "Joe Taylor ") set (PROJECT_COPYRIGHT "Copyright (C) 2001-2015 by Joe Taylor, K1JT") set (PROJECT_HOMEPAGE http://www.physics.princeton.edu/pulsar/K1JT/wsjtx.html) -set (PROJECT_MANUAL wsjtx-main-${wsjtx_VERSION}.html) +set (PROJECT_MANUAL wsjtx-main) set (PROJECT_MANUAL_DIRECTORY_URL http://www.physics.princeton.edu/pulsar/K1JT/wsjtx-doc) set (PROJECT_SAMPLES_URL http://downloads.sourceforge.net/project/wsjt/) set (PROJECT_SAMPLES_UPLOAD_DEST frs.sourceforge.net:/home/frs/project/wsjt/) @@ -215,6 +215,7 @@ set (wsjt_qt_CXXSRCS SampleDownloader/Directory.cpp SampleDownloader/FileNode.cpp SampleDownloader/RemoteFile.cpp + DisplayManual.cpp ) set (wsjt_qtmm_CXXSRCS diff --git a/DisplayManual.cpp b/DisplayManual.cpp new file mode 100644 index 000000000..caea2ebc6 --- /dev/null +++ b/DisplayManual.cpp @@ -0,0 +1,152 @@ +#include "DisplayManual.hpp" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "revision_utils.hpp" + +#include "pimpl_impl.hpp" + +namespace +{ + class token + : public QObject + { + Q_OBJECT + public: + token (QUrl const& url, QString const& lang, QString const& name_we, QObject * parent = nullptr) + : QObject {parent} + , url_ {url} + , lang_ {lang} + , name_we_ {name_we} + { + } + + QUrl url_; + QString lang_; + QString name_we_; + }; +} + +class DisplayManual::impl final + : public QObject +{ + Q_OBJECT +public: + impl (QNetworkAccessManager * qnam) + : qnam_ {qnam} + { + connect (qnam_, &QNetworkAccessManager::finished, this, &DisplayManual::impl::reply_finished); + } + + void display (QUrl const& url, QString const& name_we) + { + // try and find a localized manual + auto lang = QLocale::system ().name (); + // try for language and country first + auto file = name_we + '_' + lang + '-' + version () + ".html"; + auto target = url.resolved (file); + QNetworkRequest request {target}; + request.setRawHeader ("User-Agent", "WSJT-X Manual Checker"); + request.setOriginatingObject (new token {url, lang, name_we, this}); + auto * reply = qnam_->head (request); + outstanding_requests_ << reply; + } + + void reply_finished (QNetworkReply * reply) + { + if (outstanding_requests_.contains (reply)) + { + QUrl target; + if (reply->error ()) + { + if (auto * tok = qobject_cast (reply->request ().originatingObject ())) + { + auto pos = tok->lang_.lastIndexOf ('_'); + QString file; + if (pos >= 0) + { + tok->lang_.truncate (pos); + file = tok->name_we_ + '_' + tok->lang_ + '-' + version () + ".html"; + target = tok->url_.resolved (file); + QNetworkRequest request {target}; + request.setRawHeader ("User-Agent", "WSJT-X Manual Checker"); + request.setOriginatingObject (tok); + auto * reply = qnam_->head (request); + outstanding_requests_ << reply; + } + else + { + // give up looking and request the default + file = tok->name_we_ + '-' + version () + ".html"; + target = tok->url_.resolved (file); + QDesktopServices::openUrl (target); + delete tok; + } + } + } + else + { + // found it + if (auto * tok = qobject_cast (reply->request ().originatingObject ())) + { + delete tok; + } + QDesktopServices::openUrl (reply->request ().url ()); + } + + outstanding_requests_.removeOne (reply); + reply->deleteLater (); + } + } + + QNetworkAccessManager * qnam_; + QList outstanding_requests_; +}; + +#include "DisplayManual.moc" + +DisplayManual::DisplayManual (QNetworkAccessManager * qnam, QObject * parent) + : QObject {parent} + , m_ {qnam} +{ +} + +DisplayManual::~DisplayManual () +{ +} + +void DisplayManual::display_html_url (QUrl const& url, QString const& name_we) +{ + m_->display (url, name_we); +} + +void DisplayManual::display_html_file (QDir const& dir, QString const& name_we) +{ + // try and find a localized manual + auto lang = QLocale::system ().name (); + // try for language and country first + auto file = dir.absoluteFilePath (name_we + '_' + lang + '-' + version () + ".html"); + if (!QFileInfo::exists (file)) + { + // try for language + lang.truncate (lang.lastIndexOf ('_')); + file = dir.absoluteFilePath (name_we + '_' + lang + '-' + version () + ".html"); + if (!QFileInfo::exists (file)) + { + // use default + file = dir.absoluteFilePath (name_we + '-' + version () + ".html"); + } + } + // may fail but browser 404 error is a good as anything + QDesktopServices::openUrl (QUrl {"file:///" + file}); +} + diff --git a/DisplayManual.hpp b/DisplayManual.hpp new file mode 100644 index 000000000..521353c81 --- /dev/null +++ b/DisplayManual.hpp @@ -0,0 +1,27 @@ +#ifndef DISPLAY_MANUAL_HPP__ +#define DISPLAY_MANUAL_HPP__ + +#include + +#include "pimpl_h.hpp" + +class QNetworkAccessManager; +class QDir; +class QUrl; +class QString; + +class DisplayManual + : public QObject +{ +public: + DisplayManual (QNetworkAccessManager *, QObject * = nullptr); + ~DisplayManual (); + void display_html_url (QUrl const& url, QString const& name_we); + void display_html_file (QDir const& dir, QString const& name_we); + +private: + class impl; + pimpl m_; +}; + +#endif diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt index b8e3df790..e3cb88d98 100644 --- a/doc/CMakeLists.txt +++ b/doc/CMakeLists.txt @@ -1,3 +1,7 @@ +set (LANGUAGES + en + ) + set (common_SRCS common/communication.adoc common/license.adoc @@ -5,88 +9,88 @@ set (common_SRCS ) set (UG_SRCS - user_guide/docinfo.html - user_guide/docinfo.xml - user_guide/acknowledgements.adoc - user_guide/compiling.adoc - user_guide/config-details.adoc - user_guide/controls-functions-center.adoc - user_guide/controls-functions-left.adoc - user_guide/controls-functions-main-window.adoc - user_guide/controls-functions-menus.adoc - user_guide/controls-functions-messages.adoc - user_guide/controls-functions-status-bar.adoc - user_guide/controls-functions-wide-graph.adoc - user_guide/cooperating-programs.adoc - user_guide/faq.adoc - user_guide/font-sizes.adoc - user_guide/implementation.adoc - user_guide/install-from-source.adoc - user_guide/install-linux.adoc - user_guide/install-mac.adoc - user_guide/install-windows.adoc - user_guide/introduction.adoc - user_guide/protocols.adoc - user_guide/logging.adoc - user_guide/make-qso.adoc - user_guide/new_features.adoc - user_guide/platform-dependencies.adoc - user_guide/settings-audio.adoc - user_guide/settings-colors.adoc - user_guide/settings-frequencies.adoc - user_guide/settings-general.adoc - user_guide/settings-radio.adoc - user_guide/settings-reporting.adoc - user_guide/settings-txmacros.adoc - user_guide/support.adoc - user_guide/system-requirements.adoc - user_guide/transceiver-setup.adoc - user_guide/tutorial-example1.adoc - user_guide/tutorial-example2.adoc - user_guide/tutorial-main-window.adoc - user_guide/tutorial-wide-graph-settings.adoc - user_guide/utilities.adoc - user_guide/vhf-features.adoc - user_guide/wsjtx-main.adoc - user_guide/wspr.adoc + docinfo.html + docinfo.xml + acknowledgements.adoc + compiling.adoc + config-details.adoc + controls-functions-center.adoc + controls-functions-left.adoc + controls-functions-main-window.adoc + controls-functions-menus.adoc + controls-functions-messages.adoc + controls-functions-status-bar.adoc + controls-functions-wide-graph.adoc + cooperating-programs.adoc + faq.adoc + font-sizes.adoc + implementation.adoc + install-from-source.adoc + install-linux.adoc + install-mac.adoc + install-windows.adoc + introduction.adoc + protocols.adoc + logging.adoc + make-qso.adoc + new_features.adoc + platform-dependencies.adoc + settings-audio.adoc + settings-colors.adoc + settings-frequencies.adoc + settings-general.adoc + settings-radio.adoc + settings-reporting.adoc + settings-txmacros.adoc + support.adoc + system-requirements.adoc + transceiver-setup.adoc + tutorial-example1.adoc + tutorial-example2.adoc + tutorial-main-window.adoc + tutorial-wide-graph-settings.adoc + utilities.adoc + vhf-features.adoc + wsjtx-main.adoc + wspr.adoc ) set (UG_IMGS - user_guide/images/130610_2343-wav-80.png - user_guide/images/band-settings.png - user_guide/images/colors.png - user_guide/images/decode-menu.png - user_guide/images/decodes.png - user_guide/images/file-menu.png - user_guide/images/freemsg.png - user_guide/images/help-menu.png - user_guide/images/jtalert.png - user_guide/images/keyboard-shortcuts.png - user_guide/images/log-qso.png - user_guide/images/MacAppMenu.png - user_guide/images/main-ui-1.5.png - user_guide/images/main-ui-controls.png - user_guide/images/misc-controls-center.png - user_guide/images/misc-main-ui.png - user_guide/images/mode-menu.png - user_guide/images/new-msg-box.png - user_guide/images/psk-reporter.png - user_guide/images/r3666-config-screen-80.png - user_guide/images/r3666-main-ui-80.png - user_guide/images/r4148-txmac-ui.png - user_guide/images/RadioTab.png - user_guide/images/reporting.png - user_guide/images/save-menu.png - user_guide/images/settings-audio.png - user_guide/images/settings-frequencies.png - user_guide/images/settings-general.png - user_guide/images/setup-menu.png - user_guide/images/special-mouse-commands.png - user_guide/images/status-bar-a.png - user_guide/images/traditional-msg-box.png - user_guide/images/tx-macros.png - user_guide/images/view-menu.png - user_guide/images/wide-graph-controls.png + images/130610_2343-wav-80.png + images/band-settings.png + images/colors.png + images/decode-menu.png + images/decodes.png + images/file-menu.png + images/freemsg.png + images/help-menu.png + images/jtalert.png + images/keyboard-shortcuts.png + images/log-qso.png + images/MacAppMenu.png + images/main-ui-1.5.png + images/main-ui-controls.png + images/misc-controls-center.png + images/misc-main-ui.png + images/mode-menu.png + images/new-msg-box.png + images/psk-reporter.png + images/r3666-config-screen-80.png + images/r3666-main-ui-80.png + images/r4148-txmac-ui.png + images/RadioTab.png + images/reporting.png + images/save-menu.png + images/settings-audio.png + images/settings-frequencies.png + images/settings-general.png + images/setup-menu.png + images/special-mouse-commands.png + images/status-bar-a.png + images/traditional-msg-box.png + images/tx-macros.png + images/view-menu.png + images/wide-graph-controls.png ) @@ -110,17 +114,17 @@ include (CMakeParseArguments) # ASCIIDOCTOR_OPTIONS - asciidoctor command options # DEPENDS - dependent files function (document) - cmake_parse_arguments (_args "HTML" "SOURCE;OUTPUT" "ASCIIDOCTOR_OPTIONS;PDF;DEPENDS" ${ARGN}) + cmake_parse_arguments (_args "HTML" "SOURCE;LANG;OUTPUT" "ASCIIDOCTOR_OPTIONS;PDF;DEPENDS" ${ARGN}) get_filename_component (_source_path ${_args_SOURCE} PATH) get_filename_component (_source_name ${_args_SOURCE} NAME) get_filename_component (_output_name_we ${_args_SOURCE} NAME_WE) # HTML if (${_args_HTML}) - set (_html_file ${CMAKE_CURRENT_BINARY_DIR}/${_output_name_we}.html) + set (_html_file ${CMAKE_CURRENT_BINARY_DIR}/${_output_name_we}_${lang}.html) add_custom_command ( OUTPUT ${_html_file} - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/${_source_path} + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/${_source_path}/${lang} COMMAND ${ASCIIDOCTOR_EXECUTABLE} ${_args_ASCIIDOCTOR_OPTIONS} -b html5 -a VERSION_MAJOR=${WSJTX_VERSION_MAJOR} @@ -136,11 +140,11 @@ function (document) # PDF if (_args_PDF AND EXISTS ${FOPUB_EXECUTABLE}) - set (_docbook_file ${CMAKE_CURRENT_BINARY_DIR}/${_output_name_we}.xml) - set (_pdf_file_we ${CMAKE_CURRENT_BINARY_DIR}/${_output_name_we}) + set (_docbook_file ${CMAKE_CURRENT_BINARY_DIR}/${_output_name_we}_${lang}.xml) + set (_pdf_file_we ${CMAKE_CURRENT_BINARY_DIR}/${_output_name_we}_${lang}) add_custom_command ( OUTPUT ${_docbook_file} "${_pdf_file_we} (USLetter).pdf" "${_pdf_file_we} (A4).pdf" - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/${_source_path} + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/${_source_path}/${lang} COMMAND ${ASCIIDOCTOR_EXECUTABLE} ARGS ${_args_ASCIIDOCTOR_OPTIONS} -b docbook -a data-uri! @@ -163,25 +167,44 @@ function (document) set (${_args_OUTPUT} ${_output_files} PARENT_SCOPE) endfunction (document) -document( - HTML - SOURCE user_guide/wsjtx-main.adoc - OUTPUT html - ASCIIDOCTOR_OPTIONS -d book -a data-uri -a toc=left -a max-width=1024px - DEPENDS ${common_SRCS} ${UG_SRCS} ${UG_IMGS} - ) -document( - PDF -param body.font.master 11 -param body.font.family "'Noto Sans, Helvetica, sans-serif'" -param title.font.family "'Noto Serif, Times New Roman, serif'" -param page.margin.inner 1cm -param page.margin.outer 1cm -param page.margin.top 0.75cm -param page.margin.bottom 0.5cm -param generate.toc 0 - SOURCE user_guide/wsjtx-main.adoc - OUTPUT pdf - ASCIIDOCTOR_OPTIONS -d book - DEPENDS ${common_SRCS} ${UG_SRCS} ${UG_IMGS} - ) -add_custom_target (docs ALL DEPENDS ${html} ${pdf}) +set (htmls) +set (pdfs) +foreach (lang ${LANGUAGES}) + set (_sources) + foreach (_src ${UG_SRCS} ${UG_IMGS}) + list (APPEND _sources "user_guide/${lang}/${_src}") + endforeach () + document( + HTML + SOURCE user_guide/wsjtx-main.adoc + LANG "${lang}" + OUTPUT html + ASCIIDOCTOR_OPTIONS -d book -a data-uri -a toc=left -a max-width=1024px + DEPENDS ${common_SRCS} ${_sources} + ) + document( + PDF -param body.font.master 11 -param body.font.family "'Noto Sans, Helvetica, sans-serif'" -param title.font.family "'Noto Serif, Times New Roman, serif'" -param page.margin.inner 1cm -param page.margin.outer 1cm -param page.margin.top 0.75cm -param page.margin.bottom 0.5cm -param generate.toc 0 + SOURCE user_guide/wsjtx-main.adoc + LANG "${lang}" + OUTPUT pdf + ASCIIDOCTOR_OPTIONS -d book + DEPENDS ${common_SRCS} ${_sources} + ) + list (APPEND htmls "${html}") + list (APPEND pdfs "${pdf}") +endforeach () -install (FILES - ${html} - DESTINATION ${WSJT_SHARE_DESTINATION}/${WSJT_DOC_DESTINATION} - RENAME ${PROJECT_MANUAL} - #COMPONENT runtime - ) +add_custom_target (docs ALL DEPENDS ${htmls} ${pdfs}) + +foreach (_html ${htmls}) + get_filename_component (_path ${_html} PATH) + get_filename_component (_nwe ${_html} NAME_WE) + get_filename_component (_ext ${_html} EXT) + string (REGEX REPLACE "_en$" "" _nwe ${_nwe}) + install (FILES + ${_html} + DESTINATION ${WSJT_SHARE_DESTINATION}/${WSJT_DOC_DESTINATION} + RENAME ${_nwe}-${wsjtx_VERSION}${_ext} + #COMPONENT runtime + ) +endforeach () \ No newline at end of file diff --git a/doc/user_guide/acknowledgements.adoc b/doc/user_guide/en/acknowledgements.adoc similarity index 100% rename from doc/user_guide/acknowledgements.adoc rename to doc/user_guide/en/acknowledgements.adoc diff --git a/doc/user_guide/compiling.adoc b/doc/user_guide/en/compiling.adoc similarity index 100% rename from doc/user_guide/compiling.adoc rename to doc/user_guide/en/compiling.adoc diff --git a/doc/user_guide/config-details.adoc b/doc/user_guide/en/config-details.adoc similarity index 100% rename from doc/user_guide/config-details.adoc rename to doc/user_guide/en/config-details.adoc diff --git a/doc/user_guide/controls-functions-center.adoc b/doc/user_guide/en/controls-functions-center.adoc similarity index 100% rename from doc/user_guide/controls-functions-center.adoc rename to doc/user_guide/en/controls-functions-center.adoc diff --git a/doc/user_guide/controls-functions-left.adoc b/doc/user_guide/en/controls-functions-left.adoc similarity index 100% rename from doc/user_guide/controls-functions-left.adoc rename to doc/user_guide/en/controls-functions-left.adoc diff --git a/doc/user_guide/controls-functions-main-window.adoc b/doc/user_guide/en/controls-functions-main-window.adoc similarity index 100% rename from doc/user_guide/controls-functions-main-window.adoc rename to doc/user_guide/en/controls-functions-main-window.adoc diff --git a/doc/user_guide/controls-functions-menus.adoc b/doc/user_guide/en/controls-functions-menus.adoc similarity index 100% rename from doc/user_guide/controls-functions-menus.adoc rename to doc/user_guide/en/controls-functions-menus.adoc diff --git a/doc/user_guide/controls-functions-messages.adoc b/doc/user_guide/en/controls-functions-messages.adoc similarity index 100% rename from doc/user_guide/controls-functions-messages.adoc rename to doc/user_guide/en/controls-functions-messages.adoc diff --git a/doc/user_guide/controls-functions-status-bar.adoc b/doc/user_guide/en/controls-functions-status-bar.adoc similarity index 100% rename from doc/user_guide/controls-functions-status-bar.adoc rename to doc/user_guide/en/controls-functions-status-bar.adoc diff --git a/doc/user_guide/controls-functions-wide-graph.adoc b/doc/user_guide/en/controls-functions-wide-graph.adoc similarity index 100% rename from doc/user_guide/controls-functions-wide-graph.adoc rename to doc/user_guide/en/controls-functions-wide-graph.adoc diff --git a/doc/user_guide/cooperating-programs.adoc b/doc/user_guide/en/cooperating-programs.adoc similarity index 100% rename from doc/user_guide/cooperating-programs.adoc rename to doc/user_guide/en/cooperating-programs.adoc diff --git a/doc/user_guide/docinfo.html b/doc/user_guide/en/docinfo.html similarity index 100% rename from doc/user_guide/docinfo.html rename to doc/user_guide/en/docinfo.html diff --git a/doc/user_guide/docinfo.xml b/doc/user_guide/en/docinfo.xml similarity index 100% rename from doc/user_guide/docinfo.xml rename to doc/user_guide/en/docinfo.xml diff --git a/doc/user_guide/faq.adoc b/doc/user_guide/en/faq.adoc similarity index 100% rename from doc/user_guide/faq.adoc rename to doc/user_guide/en/faq.adoc diff --git a/doc/user_guide/font-sizes.adoc b/doc/user_guide/en/font-sizes.adoc similarity index 100% rename from doc/user_guide/font-sizes.adoc rename to doc/user_guide/en/font-sizes.adoc diff --git a/doc/user_guide/images/130610_2343-wav-80.png b/doc/user_guide/en/images/130610_2343-wav-80.png similarity index 100% rename from doc/user_guide/images/130610_2343-wav-80.png rename to doc/user_guide/en/images/130610_2343-wav-80.png diff --git a/doc/user_guide/images/Add_station_info.png b/doc/user_guide/en/images/Add_station_info.png similarity index 100% rename from doc/user_guide/images/Add_station_info.png rename to doc/user_guide/en/images/Add_station_info.png diff --git a/doc/user_guide/images/Astronomical_data.png b/doc/user_guide/en/images/Astronomical_data.png similarity index 100% rename from doc/user_guide/images/Astronomical_data.png rename to doc/user_guide/en/images/Astronomical_data.png diff --git a/doc/user_guide/images/MacAppMenu.png b/doc/user_guide/en/images/MacAppMenu.png similarity index 100% rename from doc/user_guide/images/MacAppMenu.png rename to doc/user_guide/en/images/MacAppMenu.png diff --git a/doc/user_guide/images/RadioTab.png b/doc/user_guide/en/images/RadioTab.png similarity index 100% rename from doc/user_guide/images/RadioTab.png rename to doc/user_guide/en/images/RadioTab.png diff --git a/doc/user_guide/images/VHF_controls.png b/doc/user_guide/en/images/VHF_controls.png similarity index 100% rename from doc/user_guide/images/VHF_controls.png rename to doc/user_guide/en/images/VHF_controls.png diff --git a/doc/user_guide/images/WSPR.png b/doc/user_guide/en/images/WSPR.png similarity index 100% rename from doc/user_guide/images/WSPR.png rename to doc/user_guide/en/images/WSPR.png diff --git a/doc/user_guide/images/band-settings.png b/doc/user_guide/en/images/band-settings.png similarity index 100% rename from doc/user_guide/images/band-settings.png rename to doc/user_guide/en/images/band-settings.png diff --git a/doc/user_guide/images/band_hopping.png b/doc/user_guide/en/images/band_hopping.png similarity index 100% rename from doc/user_guide/images/band_hopping.png rename to doc/user_guide/en/images/band_hopping.png diff --git a/doc/user_guide/images/colors.png b/doc/user_guide/en/images/colors.png similarity index 100% rename from doc/user_guide/images/colors.png rename to doc/user_guide/en/images/colors.png diff --git a/doc/user_guide/images/decode-menu.png b/doc/user_guide/en/images/decode-menu.png similarity index 100% rename from doc/user_guide/images/decode-menu.png rename to doc/user_guide/en/images/decode-menu.png diff --git a/doc/user_guide/images/decodes.png b/doc/user_guide/en/images/decodes.png similarity index 100% rename from doc/user_guide/images/decodes.png rename to doc/user_guide/en/images/decodes.png diff --git a/doc/user_guide/images/decoding_depth.png b/doc/user_guide/en/images/decoding_depth.png similarity index 100% rename from doc/user_guide/images/decoding_depth.png rename to doc/user_guide/en/images/decoding_depth.png diff --git a/doc/user_guide/images/echo_144.png b/doc/user_guide/en/images/echo_144.png similarity index 100% rename from doc/user_guide/images/echo_144.png rename to doc/user_guide/en/images/echo_144.png diff --git a/doc/user_guide/images/file-menu.png b/doc/user_guide/en/images/file-menu.png similarity index 100% rename from doc/user_guide/images/file-menu.png rename to doc/user_guide/en/images/file-menu.png diff --git a/doc/user_guide/images/freemsg.png b/doc/user_guide/en/images/freemsg.png similarity index 100% rename from doc/user_guide/images/freemsg.png rename to doc/user_guide/en/images/freemsg.png diff --git a/doc/user_guide/images/help-menu.png b/doc/user_guide/en/images/help-menu.png similarity index 100% rename from doc/user_guide/images/help-menu.png rename to doc/user_guide/en/images/help-menu.png diff --git a/doc/user_guide/images/jtalert.png b/doc/user_guide/en/images/jtalert.png similarity index 100% rename from doc/user_guide/images/jtalert.png rename to doc/user_guide/en/images/jtalert.png diff --git a/doc/user_guide/images/keyboard-shortcuts.png b/doc/user_guide/en/images/keyboard-shortcuts.png similarity index 100% rename from doc/user_guide/images/keyboard-shortcuts.png rename to doc/user_guide/en/images/keyboard-shortcuts.png diff --git a/doc/user_guide/images/log-qso.png b/doc/user_guide/en/images/log-qso.png similarity index 100% rename from doc/user_guide/images/log-qso.png rename to doc/user_guide/en/images/log-qso.png diff --git a/doc/user_guide/images/main-ui-1.5.png b/doc/user_guide/en/images/main-ui-1.5.png similarity index 100% rename from doc/user_guide/images/main-ui-1.5.png rename to doc/user_guide/en/images/main-ui-1.5.png diff --git a/doc/user_guide/images/main-ui-1.6.png b/doc/user_guide/en/images/main-ui-1.6.png similarity index 100% rename from doc/user_guide/images/main-ui-1.6.png rename to doc/user_guide/en/images/main-ui-1.6.png diff --git a/doc/user_guide/images/main-ui-controls.png b/doc/user_guide/en/images/main-ui-controls.png similarity index 100% rename from doc/user_guide/images/main-ui-controls.png rename to doc/user_guide/en/images/main-ui-controls.png diff --git a/doc/user_guide/images/misc-controls-center.png b/doc/user_guide/en/images/misc-controls-center.png similarity index 100% rename from doc/user_guide/images/misc-controls-center.png rename to doc/user_guide/en/images/misc-controls-center.png diff --git a/doc/user_guide/images/misc-main-ui.png b/doc/user_guide/en/images/misc-main-ui.png similarity index 100% rename from doc/user_guide/images/misc-main-ui.png rename to doc/user_guide/en/images/misc-main-ui.png diff --git a/doc/user_guide/images/mode-menu.png b/doc/user_guide/en/images/mode-menu.png similarity index 100% rename from doc/user_guide/images/mode-menu.png rename to doc/user_guide/en/images/mode-menu.png diff --git a/doc/user_guide/images/new-msg-box.png b/doc/user_guide/en/images/new-msg-box.png similarity index 100% rename from doc/user_guide/images/new-msg-box.png rename to doc/user_guide/en/images/new-msg-box.png diff --git a/doc/user_guide/images/open_sample_file.png b/doc/user_guide/en/images/open_sample_file.png similarity index 100% rename from doc/user_guide/images/open_sample_file.png rename to doc/user_guide/en/images/open_sample_file.png diff --git a/doc/user_guide/images/psk-reporter.png b/doc/user_guide/en/images/psk-reporter.png similarity index 100% rename from doc/user_guide/images/psk-reporter.png rename to doc/user_guide/en/images/psk-reporter.png diff --git a/doc/user_guide/images/r3666-config-screen-80.png b/doc/user_guide/en/images/r3666-config-screen-80.png similarity index 100% rename from doc/user_guide/images/r3666-config-screen-80.png rename to doc/user_guide/en/images/r3666-config-screen-80.png diff --git a/doc/user_guide/images/r3666-main-ui-80.png b/doc/user_guide/en/images/r3666-main-ui-80.png similarity index 100% rename from doc/user_guide/images/r3666-main-ui-80.png rename to doc/user_guide/en/images/r3666-main-ui-80.png diff --git a/doc/user_guide/images/r4148-txmac-ui.png b/doc/user_guide/en/images/r4148-txmac-ui.png similarity index 100% rename from doc/user_guide/images/r4148-txmac-ui.png rename to doc/user_guide/en/images/r4148-txmac-ui.png diff --git a/doc/user_guide/images/reporting.png b/doc/user_guide/en/images/reporting.png similarity index 100% rename from doc/user_guide/images/reporting.png rename to doc/user_guide/en/images/reporting.png diff --git a/doc/user_guide/images/save-menu.png b/doc/user_guide/en/images/save-menu.png similarity index 100% rename from doc/user_guide/images/save-menu.png rename to doc/user_guide/en/images/save-menu.png diff --git a/doc/user_guide/images/settings-audio.png b/doc/user_guide/en/images/settings-audio.png similarity index 100% rename from doc/user_guide/images/settings-audio.png rename to doc/user_guide/en/images/settings-audio.png diff --git a/doc/user_guide/images/settings-frequencies.png b/doc/user_guide/en/images/settings-frequencies.png similarity index 100% rename from doc/user_guide/images/settings-frequencies.png rename to doc/user_guide/en/images/settings-frequencies.png diff --git a/doc/user_guide/images/settings-general.png b/doc/user_guide/en/images/settings-general.png similarity index 100% rename from doc/user_guide/images/settings-general.png rename to doc/user_guide/en/images/settings-general.png diff --git a/doc/user_guide/images/setup-menu.png b/doc/user_guide/en/images/setup-menu.png similarity index 100% rename from doc/user_guide/images/setup-menu.png rename to doc/user_guide/en/images/setup-menu.png diff --git a/doc/user_guide/images/special-mouse-commands.png b/doc/user_guide/en/images/special-mouse-commands.png similarity index 100% rename from doc/user_guide/images/special-mouse-commands.png rename to doc/user_guide/en/images/special-mouse-commands.png diff --git a/doc/user_guide/images/status-bar-a.png b/doc/user_guide/en/images/status-bar-a.png similarity index 100% rename from doc/user_guide/images/status-bar-a.png rename to doc/user_guide/en/images/status-bar-a.png diff --git a/doc/user_guide/images/traditional-msg-box.png b/doc/user_guide/en/images/traditional-msg-box.png similarity index 100% rename from doc/user_guide/images/traditional-msg-box.png rename to doc/user_guide/en/images/traditional-msg-box.png diff --git a/doc/user_guide/images/tx-macros.png b/doc/user_guide/en/images/tx-macros.png similarity index 100% rename from doc/user_guide/images/tx-macros.png rename to doc/user_guide/en/images/tx-macros.png diff --git a/doc/user_guide/images/view-menu.png b/doc/user_guide/en/images/view-menu.png similarity index 100% rename from doc/user_guide/images/view-menu.png rename to doc/user_guide/en/images/view-menu.png diff --git a/doc/user_guide/images/wide-graph-controls.png b/doc/user_guide/en/images/wide-graph-controls.png similarity index 100% rename from doc/user_guide/images/wide-graph-controls.png rename to doc/user_guide/en/images/wide-graph-controls.png diff --git a/doc/user_guide/implementation.adoc b/doc/user_guide/en/implementation.adoc similarity index 100% rename from doc/user_guide/implementation.adoc rename to doc/user_guide/en/implementation.adoc diff --git a/doc/user_guide/install-from-source.adoc b/doc/user_guide/en/install-from-source.adoc similarity index 100% rename from doc/user_guide/install-from-source.adoc rename to doc/user_guide/en/install-from-source.adoc diff --git a/doc/user_guide/install-linux.adoc b/doc/user_guide/en/install-linux.adoc similarity index 100% rename from doc/user_guide/install-linux.adoc rename to doc/user_guide/en/install-linux.adoc diff --git a/doc/user_guide/install-mac.adoc b/doc/user_guide/en/install-mac.adoc similarity index 100% rename from doc/user_guide/install-mac.adoc rename to doc/user_guide/en/install-mac.adoc diff --git a/doc/user_guide/install-windows.adoc b/doc/user_guide/en/install-windows.adoc similarity index 100% rename from doc/user_guide/install-windows.adoc rename to doc/user_guide/en/install-windows.adoc diff --git a/doc/user_guide/introduction.adoc b/doc/user_guide/en/introduction.adoc similarity index 100% rename from doc/user_guide/introduction.adoc rename to doc/user_guide/en/introduction.adoc diff --git a/doc/user_guide/logging.adoc b/doc/user_guide/en/logging.adoc similarity index 100% rename from doc/user_guide/logging.adoc rename to doc/user_guide/en/logging.adoc diff --git a/doc/user_guide/make-qso.adoc b/doc/user_guide/en/make-qso.adoc similarity index 100% rename from doc/user_guide/make-qso.adoc rename to doc/user_guide/en/make-qso.adoc diff --git a/doc/user_guide/new_features.adoc b/doc/user_guide/en/new_features.adoc similarity index 100% rename from doc/user_guide/new_features.adoc rename to doc/user_guide/en/new_features.adoc diff --git a/doc/user_guide/platform-dependencies.adoc b/doc/user_guide/en/platform-dependencies.adoc similarity index 100% rename from doc/user_guide/platform-dependencies.adoc rename to doc/user_guide/en/platform-dependencies.adoc diff --git a/doc/user_guide/protocols.adoc b/doc/user_guide/en/protocols.adoc similarity index 100% rename from doc/user_guide/protocols.adoc rename to doc/user_guide/en/protocols.adoc diff --git a/doc/user_guide/settings-audio.adoc b/doc/user_guide/en/settings-audio.adoc similarity index 100% rename from doc/user_guide/settings-audio.adoc rename to doc/user_guide/en/settings-audio.adoc diff --git a/doc/user_guide/settings-colors.adoc b/doc/user_guide/en/settings-colors.adoc similarity index 100% rename from doc/user_guide/settings-colors.adoc rename to doc/user_guide/en/settings-colors.adoc diff --git a/doc/user_guide/settings-frequencies.adoc b/doc/user_guide/en/settings-frequencies.adoc similarity index 100% rename from doc/user_guide/settings-frequencies.adoc rename to doc/user_guide/en/settings-frequencies.adoc diff --git a/doc/user_guide/settings-general.adoc b/doc/user_guide/en/settings-general.adoc similarity index 100% rename from doc/user_guide/settings-general.adoc rename to doc/user_guide/en/settings-general.adoc diff --git a/doc/user_guide/settings-radio.adoc b/doc/user_guide/en/settings-radio.adoc similarity index 100% rename from doc/user_guide/settings-radio.adoc rename to doc/user_guide/en/settings-radio.adoc diff --git a/doc/user_guide/settings-reporting.adoc b/doc/user_guide/en/settings-reporting.adoc similarity index 100% rename from doc/user_guide/settings-reporting.adoc rename to doc/user_guide/en/settings-reporting.adoc diff --git a/doc/user_guide/settings-txmacros.adoc b/doc/user_guide/en/settings-txmacros.adoc similarity index 100% rename from doc/user_guide/settings-txmacros.adoc rename to doc/user_guide/en/settings-txmacros.adoc diff --git a/doc/user_guide/support.adoc b/doc/user_guide/en/support.adoc similarity index 100% rename from doc/user_guide/support.adoc rename to doc/user_guide/en/support.adoc diff --git a/doc/user_guide/system-requirements.adoc b/doc/user_guide/en/system-requirements.adoc similarity index 100% rename from doc/user_guide/system-requirements.adoc rename to doc/user_guide/en/system-requirements.adoc diff --git a/doc/user_guide/transceiver-setup.adoc b/doc/user_guide/en/transceiver-setup.adoc similarity index 100% rename from doc/user_guide/transceiver-setup.adoc rename to doc/user_guide/en/transceiver-setup.adoc diff --git a/doc/user_guide/tutorial-example1.adoc b/doc/user_guide/en/tutorial-example1.adoc similarity index 100% rename from doc/user_guide/tutorial-example1.adoc rename to doc/user_guide/en/tutorial-example1.adoc diff --git a/doc/user_guide/tutorial-example2.adoc b/doc/user_guide/en/tutorial-example2.adoc similarity index 100% rename from doc/user_guide/tutorial-example2.adoc rename to doc/user_guide/en/tutorial-example2.adoc diff --git a/doc/user_guide/tutorial-main-window.adoc b/doc/user_guide/en/tutorial-main-window.adoc similarity index 100% rename from doc/user_guide/tutorial-main-window.adoc rename to doc/user_guide/en/tutorial-main-window.adoc diff --git a/doc/user_guide/tutorial-wide-graph-settings.adoc b/doc/user_guide/en/tutorial-wide-graph-settings.adoc similarity index 100% rename from doc/user_guide/tutorial-wide-graph-settings.adoc rename to doc/user_guide/en/tutorial-wide-graph-settings.adoc diff --git a/doc/user_guide/utilities.adoc b/doc/user_guide/en/utilities.adoc similarity index 100% rename from doc/user_guide/utilities.adoc rename to doc/user_guide/en/utilities.adoc diff --git a/doc/user_guide/vhf-features.adoc b/doc/user_guide/en/vhf-features.adoc similarity index 100% rename from doc/user_guide/vhf-features.adoc rename to doc/user_guide/en/vhf-features.adoc diff --git a/doc/user_guide/wsjtx-main.adoc b/doc/user_guide/en/wsjtx-main.adoc similarity index 100% rename from doc/user_guide/wsjtx-main.adoc rename to doc/user_guide/en/wsjtx-main.adoc diff --git a/doc/user_guide/wspr.adoc b/doc/user_guide/en/wspr.adoc similarity index 100% rename from doc/user_guide/wspr.adoc rename to doc/user_guide/en/wspr.adoc diff --git a/mainwindow.cpp b/mainwindow.cpp index 61a5c70cf..a4e0619c8 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -183,7 +183,8 @@ MainWindow::MainWindow(bool multiple, QSettings * settings, QSharedMemory *shdme m_messageClient {new MessageClient {QApplication::applicationName (), m_config.udp_server_name (), m_config.udp_server_port (), this}}, - psk_Reporter {new PSK_Reporter {m_messageClient, this}} + psk_Reporter {new PSK_Reporter {m_messageClient, this}}, + m_manual {network_manager} { ui->setupUi(this); @@ -1479,7 +1480,7 @@ void MainWindow::msgBox(QString t) //msgBox void MainWindow::on_actionOnline_User_Guide_triggered() //Display manual { #if defined (CMAKE_BUILD) - QDesktopServices::openUrl (QUrl (PROJECT_MANUAL_DIRECTORY_URL "/" PROJECT_MANUAL)); + m_manual.display_html_url (QUrl {PROJECT_MANUAL_DIRECTORY_URL}, PROJECT_MANUAL); #endif } @@ -1487,8 +1488,7 @@ void MainWindow::on_actionOnline_User_Guide_triggered() //Display manual void MainWindow::on_actionLocal_User_Guide_triggered() { #if defined (CMAKE_BUILD) - auto file = m_config.doc_dir ().absoluteFilePath (PROJECT_MANUAL); - QDesktopServices::openUrl (QUrl {"file:///" + file}); + m_manual.display_html_file (m_config.doc_dir (), PROJECT_MANUAL); #endif } diff --git a/mainwindow.h b/mainwindow.h index e2b52eafd..97bef15cf 100644 --- a/mainwindow.h +++ b/mainwindow.h @@ -25,6 +25,7 @@ #include "Configuration.hpp" #include "WSPRBandHopping.hpp" #include "Transceiver.hpp" +#include "DisplayManual.hpp" #include "psk_reporter.h" #include "logbook/logbook.h" #include "decodedtext.h" @@ -521,6 +522,7 @@ private: QTimer m_heartbeat; MessageClient * m_messageClient; PSK_Reporter *psk_Reporter; + DisplayManual m_manual; //---------------------------------------------------- private functions void readSettings();