Two new environment variables to control special testing behaviour:
* WSJT_TX_BOTH - set to "1" to force transmission on both periods.
* WSJT_REVERSE_DOPPLER - set to "1" to transpose Tx and Rx Doppler
corrections. Use this to test Doppler tracking on a terrestrial
link.
Version information and more in the Windows resources for main
applications, installer and un-installer.
Update CMake policies for new project() command, and DEB
dependency changes
Support older libgfortran packages, and other Linux package
dependencies.
Use new project description file in Debian packaging.
Linux packaging dependency adjustments for Debian style packages,
including a machine readable Debian copyright format, project
description in separate file for CPack compatibility, and use for
DEB packaging.
Configure check for need to link libm Standard C Math Library.
CMake compatibility for <3.17.
uses a settings file to define log sink back-ends, by default uses
:/wsjtx_log_config.ini from the resources file-system. Users may
override by placing their own wsjtx_log_config.ini into the WSJT-X
config location. The settings file format is as described in the Boost
log
documentation (https://www.boost.org/doc/libs/1_74_0/libs/log/doc/html/log/detailed/utilities.html#log.detailed.utilities.setup.settings_file)
with the additional feature that allows some pre-defined variables to
be expanded. The predefined variables refer to standard locations in
the file-system, and allow log files and rotation target directory
paths to be specified. The pre-defined variables are:
DesktopLocation
DocumentsLocation
TempLocation
HomeLocation
CacheLocation
GenericCacheLocation
GenericDataLocation
AppDataLocation
and must be used enclosed on braces and preceded by a '$'
character. E.g. to define the pattern for a sink's log file:
FileName="${AppLocalDataLocation}/wsjtx_syslog.log"
this would place the log file wsjtx_syslog.log in the WSJT-X log files
directory, on all platforms.
This is a first cut at this to evaluate buffer size adjustments on
supported platforms. A final version might limit status bar reports to
>1000 dropped frames or similar.
Passing `--language en', '-l en-US', or `-l en_US` now takes a special
action to not load any translations using the current locale. This
allows the current system UI language not to influence an translations
loaded via the command line override when the native en-US is wanted.
Load a base language translation file if found. E.g. if locale
language is es-AR then wsjtx_es.qm will be loaded before
wsjtx_es_AR.qm. this allows partial translations for languages where
variants or dialects only require some translated strings to be
different from the base language translations. the aim is to greatly
simplify the work of translators, particularly when doing updates to
translations.
Windows makes this more complex than necessary.
On all systems the packaged translation file in the resources
:/Translations directory wsjtx_<lang>.qm will be loaded if <lang>
matches the current system locale. Otherwise the native translatable
strings will be used (en_US is assumed for the native language).
On all systems a wsjtx_<lang>.qm compiled translation file in the
current working directory will be loaded if <lang> matches the current
system locale language and country (wsjtx_en_GB.qm for a locale of
en-GB).
On non-Windows systems the locale used above can be set for just the
wsjtx instance being tested by setting the LANG environment variable,
e.g.
LANG=ca-ES wsjtx
On Windows systems the current locale can only be changed by
installing the relevant Windows Language Pack, selecting the UI
language either as the default or as an
override (Set-WinUILanguageOverride -Language ca-ES) and the signing
out and back in.
The two translations file sources above cam be overridden using a new
command line option:
[-l | -language] <language-code>[-<country-code>]
e.g. -language ca-ES which will load the first readable translation
file as found in the following order: :/Translations/wsjtx_ca_ES.qm,
:/Translation/wsjtx_ca.qm, :/Translations/wsjtx.qm. This search will
be preceded by the normal translation file load from resources
described above. Following that and the normal load from the current
working directory described above, the first readable translation file
as found in the following order: $cwd/wsjtx_ca_ES.qm,
$cwd/wsjtx_ca.qm, $cwd/wsjtx.qm.
This allows Windows testers to change the WSJT-X UI language without
having to change the system UI language and installing the relevant
language pack. Note that using this method will only change the
translated strings, number and date formatting will not change.
Because of this it should only be used for basic testing.
Re-enabling the WSJT-X i18n facilities. This allows translation files
to be created for languages that are automatically used to lookup
translatable strings. To enable a new language the language name must
be added to the CMakeLists.txt LANGUAGES list variable in BCP47 format
(i.e. en_US, en_GB, pt_PT, ...). Do one build with the CMake option
UPDATE_TRANSLATIONS enabled (do not leave it enabled as there is a
danger of loosing existing translated texts), that will create a fresh
translations/wsjtx_<lang>.ts file which should be immediately checked
in with the CMakeLists.txt change. The .ts should then be updated by
the translator using the Qt Linguist tool to add translations. Check
in the updated .ts file to complete the initial translation process
for that language.
To aid translators their WIP .ts file may be tested by releasing
(using the lrelease tool or from the Linguist menu) a .qm file and
placing that .qm file in the current directory before starting
WSJT-X. The translations will be used if the system locale matches the
file name. If the system locale does not match the file name; the
language may be overridden by setting the LANG environment variable.
For example if a wsjtx_pt_PT.qm file is in the current directory
WSJT-X will use it for translation lookups, regardless of the current
system locale setting, if the LANG variable is set to pt_PT or pt-PT.
On MS Windows from a command prompt:
set LANG=pt_PT
C:\WSJT\wsjtx\bin\wsjtx
elsewhere:
LANG=pt_PT wsjtx
This include inverting the order of table view rows so the newest is
at the top, without that the Qt MVC interactions when using a database
table based model is too slow and complex to manage.
The table views now have sort by column capability in the normal way
(click column header to reverse sort order) for timely logging and
non-disruption of Tx starts the log view should be sorted in
descending time order and scrolled to the last row added. Without that
Fox and contest logging will work but serious delays may be invoked
that disrupt operation.
This change incorporates a reorganization of the GUI code with
widgets, validators, models, and item delegates being moved to
sub-directories.
Relax the requirements of the ForeignKeyDelegate and related
CandidateKeyFilter classes to allow them to work with constant model
pointers for both referenced and referencing models.