the decoders. Also, an experimental change to the FT4 decoder to base
AP decoding passes on 4-symbol block detection instead of single symbol
detection. This provides about 1 dB improvement on the AWGN channel.
Sensitivity changes on other channels are TBD.
This change may break N1MM Logger+ integration, notably the CLASS ADIF
field is populated which may not be recognized by N1MM Logger+, nor
interfaces to it.
One exception to ADIF conformance is that the ARRL_SECT field may be
populated with the value DX despite it not being a valid ARRL_SECT
enumeration value. This is done for consistency with N1MM Logger+ ADIF
exports.
Basic validation, must have non-empty exchange sent and received.
Abstracted log view window widget behaviour into a base class. Turned
on auto resize to row height in log view windows and enabled
alternating colours. Convert empty fields to NULL when inserting new
log table rows to signify missing data. Trap insert row errors when
adding to contest log table so that logging can be held back if
constraints are not met. Re-factored log QSO processing to try insert
row into log table first and pop up a message box if constraints are
not met, this pops up the Log QSO window in case it was initiated by
an auto log event.
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.