The Rx meter is now a better Qt citizen and can be resized. Added a
more obvious peak signal indicator. It is now a custom widget derived
from QFrame and is now directly added via promotion in Designer.
Added a custom widget to act as a letter spin box, this is used for
sub mode control. Switched the frequency tolerance widget to a combo
box with preset values so that it is more uniform across systems and
font sizes.
Added container widgets for group control of various UI widgets such
as QSO controls, DX call controls and WSPR controls. Introduced a
stacked widget to allow the WSPR controls to be swapped in in place of
the "QSO" controls. The "QSO" controls are are the Rx, Tx and related
controls along with the main tab widget with the message buttons and
fields. This means that the WSPR version of the main window (and EME
Echo mode) are now much cleaner.
Increased the size of the rig control widget and styled its colour
using a dynamic property so that it can be defined in the Designer UI
definition. Reinstated it as a push button to do a rig control reset
and retry after an error.
Reset most UI widgets to default properties, particularly removing any
fixed sizes so that they can resize freely when fonts are changed. The
overall layout is now controlled almost exclusively by stretch factors
on some of the rows and columns of the various grid layout managers.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@5630 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Also changed the default for the "Tx messages to Rx window" setting
true.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@5521 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Provide a dialog for band hopping scheduling which replaces tab
four. Ensure that split mode is not used for WSPR. Select the correct
tab for WSPR operation. Shift WSPR band hopping code out of the
MainWindow class.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@5517 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Access in CMake via ${WSJT_SHARE_DESTINATION}/${WSJT_DATA_DESTINATION}
Access in wsjtx.exe using Configuration::data_dir()
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@5487 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Somehow I had decided that the offset could be determined from the
frequency coming from the rig, this is of course impossible so the
code now reverts to saving the offset used for the last frequency set
and sticks with it until another frequency is set.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@5485 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Trying to find the sweet spot for completeness, usefulness, safety
and, performance from the various custom item models and item
delegates.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@5474 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Working frequencies are mode dependent and a reset to defaults button
has been added.
Also re-factored much of the model and item delegate code to simplify
several of the model implementations. Introduced a single routine
called from main to register the custom types with Qt.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@5453 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This merge brings the WSPR feature development into the main line
ready for release in a future v1.6 release.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@5424 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
The settings are a linear calibration correction for the
rig. Calibration constants are supplied as an intercept error in Hertz
and a slope error in parts per million.
The correction is applied only to the final frequencies going to and
from the radio. This means that any transverter offsets are not
corrected. This is appropriate as each transverter will have its own
error factors. Transvertor and other individual band specific errors
can only be corrected by adjusting the offset for the band.
Thanks to Mike W9MDB for an initial implementation of Joe K1JT's
suggestion. See also the WSPR documentation for details of calculating
the required calibration constants.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@5396 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Windows systems sometimes don't have localhost defined in the hosts
file so use the IP address 127.0.0.1 instead.
Merged from the wsjtx-1.5 branch
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@5326 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
The loaction of the documentation directory should not be effected by
the current working directory when the application is started.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@5324 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
r5297 | bsomervi | 2015-04-26 17:26:54 +0100 (Sun, 26 Apr 2015) | 49 lines
Various defect repairs and ambigous behaviour clarifications
A regression introduced in v1.5.0-rc1 where PTT on an alternate serial
port when using no CAT control is resolved.
A regression introduced in v1.5.0-rc1 where the network server field
was not being restored in the settings dialog has been resolved.
In settings the "Test PTT" button is now styled by checked state.
The "Test PTT" button is enabled without needing click "Test CAT"
first when no CAT rig control is selected.
Various parts of the settings dialog are now disabled when no CAT rig
control is selected. These are the "Mode" group, the "Split Operation"
group and the "Monitor returns to last used frequency" check box. None
of these have any visible impact nor make sense without CAT rig
control.
Initialization and teardown of rig control internals has been revised
to avoid several problems related to timing and when switching between
different CAT settings. This includes improvements in having the
operating frequency restored between sessions when not using CAT rig
control.
The initialization of OmniRig connections has been improved,
unfortunately it is still possible to get an exception when clicking
the "Test CAT" button where just clicking "OK" and leaving the
settings dialog will probably work.
Some unnecessary CAT commands output during direct rig control have
been elided to reduce the level of traffic a little.
The handling of some automatically generated free text messages used
when the station is a type 2 compound callsign or is working a type 2
compound callsign has been improved. This is related to how a double
click on a message of the form "DE TI4/N0URE 73" is double
clicked. The new behaviour depends on whether the current "DX Call"
matches the call in the message. This resolves the ambiguity as to
whether this message is a sign off at the end of a QSO with current
operator (a 73 message is generated) or a tail end opportunity where
the message should be treated the same as a CQ or QRZ message (WSJT-X
QSYs to the frequency, generates messages and selects message one
ready to call). This still leaves some potential ambiguous behaviors
in this complex area but selecting "Clear DX call and grid after
logging" should resolve most of them.
Rig control trace messages have been cleaned up and are now more
helpful, less verbose and, tidier in the source code.
------------------------------------------------------------------------
Merged from the wsjtx-1.5 branch.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@5298 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
To facilitate interaction with other applications WSJT-X now sends
status updates to a predefined UDP server or multicast group
address. The status updates include the information currently posted
to the decodes.txt and wsjtx_status.txt files. An optional back
communications channel is also implemented allowing the UDP server
application to control some basic actions in WSJT-X.
A reference implementaion of a typical UDP server written in C++ using
Qt is provided to demonstrate these facilities. This application is
not intended as a user tool but only as an example of how a third
party application may interact with WSJT-X.
The UDP messages Use QDataStream based serialization. Messages are
documented in NetworkMessage.hpp along with some helper classes that
simplify the building and decoding of messages.
Two message handling classes are introduced, MessageClient and
MessageServer. WSJT-X uses the MessageClient class to manage outgoing
and incoming UDP messages that allow communication with other
applications. The MessageServer class implements the kind of code
that a potential cooperating application might use. Although these
classes use Qt serialization facilities, the message formats are
easily read and written by applications that do not use the Qt
framework.
MessageAggregator is a demonstration application that uses
MessageServer and presents a GUI that displays messages from one or
more WSJT-X instances and allows sending back a CQ or QRZ reply
invocation by double clicking a decode. This application is not
intended as a user facing tool but rather as a demonstration of the
WSJT-X UDP messaging facility. It also demonstrates being a multicast
UDP server by allowing multiple instances to run concurrently. This is
enabled by using an appropriate multicast group address as the server
address. Cooperating applications need not implement multicast
techniques but it is recomended otherwise only a single appliaction
can act as a broadcast message (from WSJT-X) recipient.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@5225 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Made the force control lines group box in the Configuration UI
checkable which allows the DTR and RTS checkboxes to mean either force
low or force high.
Also improved UI control logic to only allow valid setting
combintions. Disabled network port text edit for OmniRig. Cleared
network port combo box list for network interfaces like HRD and DXLab
Commander, was erroneously showing COM ports.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@5222 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Several issues mainly related to the rather complex interaction of
style sheets and widget properties with respect to fonts.
Font setting on the astro window should now be consistent and not
overridden by application style sheet driven font settings.
Decoded text font setting should now be consistent and not revert back
to Courier 10 on the next decode after a font change.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@5179 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Due to what appears to be a Qt bug, any in progress user edit to a
table fields is not updated in the underlying data models until
QDialog::accept() is called, this means that model validation before
calling QDialog::accept() is tricky.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@5164 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This fixes a defect where station detail changes are not saved.
The Qt sort and filter proxy models utilize an item cache that must be
flushed by callig submit() before accessing the underlying model if
the proxy model has been used for updates.
Also separated the item model candidate key filter from the
implementation internals of the foreign key item delegate so that
candidate key filtered models can be used directly as view models.
Make the insert new station details band combo box use a candidate key
filtered item model to avoid constraint violations. Constraint is zero
or one station records per band.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@5161 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This file is created at run time and is not needed in the deployment
package. Also removed from source control to avoid further
misunderstandings.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@5139 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Option to control standard message generation for type 2 compound
callsign holders.
Process decoded messages based on either base or full callsign for
both DE and DX callsigns.
Change CW id when callsign changed in settings.
Merged from wsjtx-1.4 branch.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@5000 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
The above member opens the port and that twiddles DTR/RTS which is
unhelpful if they are connected to PTT. Instead a primitive port name
filter to try and detect unuseable ends of serial port pairs is
employed. This may need further tests to exclude similar devices yet
to be discovered.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4994 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Except on Windows where the obscure \\.\ device root is removed
because Windows users will not be used to it.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4978 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Colours behave like other configuration items and changes are only
applied when the Settings UI is dismissed via the "OK" button.
Simplified font settings and use style sheets consistently to set the
application and decoded text fonts. This is necessary because any UI
widget that has a style sheet applied does not honor a font set by
QWidget::setFont() even if there is no font setting in the style
sheet, this is broken behaviour IMHO but that is the way Qt currently
works.
Use a style sheet to style the frequency display and clock. This is
necessary to allow fonts to be cascaded through parent style sheets
and still be overridden on these widgets.
Simplify the decoded text widgets, there is no need to use the
QTextBrowser as a super class since the simpler QTextEdit set as
read-only is sufficient. Also removed colour setting via a background
brush as it doesn't work and the HTML 'bgcolor' attribute works
correctly.
Change to UI properties of the decoded text widgets to allow
horizontal scrolling if required, this allows larger fonts to be used
without truncating decoded messages.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4957 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Description and instructions to help those adding or amending settings
values.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4952 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
procedure; better window functions for some FFTs, resulting in
better decoder performance; User-selectable colors for backgrounds
of decoded messages. NB: more testing is desirable!
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4951 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Also cleaned up duplicate trace output.
Using the DX Lab Suite Commander CAT interface with rigs like the
TS-2000 requires that split mode be set after changing the Tx
frequency. This is because setting teh Tx frequency disables split
mode.
With some Icom rigs the rig must be in split mode before setting the
Tx frequency otherwise the Tx frequency change will not be honoured.
To fix this the sequence set-split, set-tx-frequency, set-split must
always be used to change the Tx frequency.
Support for new DX Lab Suite Commander TCP/IP commands
Dave AA6YQ has added two new commands to the Commander server to allow
more reliable control.
Requires DX Lab Suite Commander 11.1.4 or later.
Ensure split Tx frequency agrees with UI before transmitting
Ensure split works on Yaesu via Hamlib without breaking others
Also improved class HamlibTransceiver debug trace messages.
Merged r4776-r4779 from wsjtx-1.4 branch.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4780 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Pass the temporary directory to jt9 and use it to give the correct
paths to temporary files. Also jt9 passes the absolute path to
kvasd.dat in the temporary directory to kvasd.
Clear out all the annoying cruft that has accumulated due to having to
run with $CWD as the temporary directory.
Use QStandardPaths to find the writable data directory where needed
rather than passing it around between objects. This now works because
the $CWD hasn't been changed.
Do away with the CMake option WSJT_STANDARD_FILE_LOCATIONS as it is no
longer needed.
Fix astro status file azel.dat formatting.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4732 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Split mode was inadvertently disabled in a prior change to disallow
split mode on the "None" rig.
Allow OmniRig to report a rig offline status for up to 5s since short
periods of "rig not responding" seem to happen regularly for no good
reason.
Use high level OmniRig SetSimplexMode()/SetSplitMode() functions to
initialize rig.
Merged from wsjtx-1.4 branch.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4578 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Because of confilicts using the shared memory to communicate with jt9
only one instance of WSJT-X may run with each unique key (rig name).
Added a QLockFile for each unique key in the temp directory and logic
to deal with stale locks and retries.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4465 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
If built with qmake the version string will now be "Not for Release"
since some many features essential to making a complete package are
currently only build when using CMake.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4372 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
The location of documentation files on Linux distributions is
controlled to a certain extent. Using the QStandardPaths::locate()
method helps us with this.
Work round the misbehaviour of QCoreApplication::applicationDirPath()
when the CWD has been changed by working out the documentation
location before changing the CWD to a temporary directory. This path
is now provided by the Configuration settings class which also manages
other run time paths.
Updated Debian packaging to move a little nearer a conforming DEB
file.
Added a basic manpage for rigctld-wsjtx.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4364 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
All message entry fields on the mainscreen and in the macro editing
facilities are now restricted to valid characters in the JT65/JT9 free
text message alphabet.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4362 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
The Plus 2 kHz check box should not be enabled during transmit if the
"Allow Tx Frequency Changes While Transmitting" is not checked.
Also fixed a defect that caused the disabled during Tx state of some
widgets to not clear due to transmit or tune period being shorter than
a poll interval. Fixed by ensuring PTT changes are always signalled
rather than waiting for the next poll.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4352 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Some rigs either do not honour some CAT commands while transmitting or
interpret them incorrectly. To deal with this a settings option to
allow TX frequency changes while transmitting has been added with a
default value of off.
Any UI actions that directly or indirectly change the TX frequency are
guarded according to this new option. As well as this band changes and
use of the +2kHz check box are disabled and guarded respectively in
transmit mode.
Mode changes via the menu are now disabled while transmitting.
When TX frequency changes are allowed; frequency changes are correctly
implemented while in tune mode.
Double clicking decodes while transmitting now correctly regenerate
and change the message sent on the fly.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4349 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
The frequency offset (transverter offset) was not being applied to the
setting of a split TX frequency.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4348 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
To aid rapid diagnosis of missing HRD support in WSJT-X for untested
rigs the HRD interface now writes a text file with the available HRD
facilities for the rig to the data directory. The intent is to have
users experiencing problems interfacing untested rigs to sub,it the
file to us (the developers) for analysis and updating the regexps in
teh HRD interface to support their rig in the next release.
The text file is called "HRD Interface Information.txt".
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4330 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Split mode was not being enabled when enabling monitor mode for the
first time if the rig split VFO was already at the required frequency.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4269 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Enhanced the logic for saving and restoring to/from settings of the
shared configuration field for CAT serial port and CAT network port so
that old values are not discarded and new values are correctly
recovered on restart.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4245 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
The CAT/network port name was being overwritten with the CAT port name
during startup so if the port was a network device it was not being
persistent across restarts.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4243 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
The Qt test mode that uses special paths for writeable files (via
QtStandardPaths) doesn't make a special temporary file path. This
change appends " - test_mode" to the WSJT-X unique temporary file path
so that an application run in test mode will not interact with another
running in normal mode.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4240 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
The TXAudioSource was being saved as a boolean value instead of the
enumeration value. This caused the read back from settings logic to
fail silently.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4220 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
An old settings key was lurking in the Configuration code.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4218 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Sometimes parts of the application are not fully ready for release at
release time. This option allows such features to be enabled
conditionally at configure time.
The CMake option WSJT_ENABLE_EXPERIMENTAL_FEATURES is used to control
this ability. Normally you will not need to change it as it behaves
in a reasonable way. The option is ON in debug build configurations
and OFF in non-debug configuratiuons.
The option is made available in all source modules via the
WSJT_ENABLE_EXPERIMENTAL_FEATURES macro which is defined to 1 if the
option is ON and to 0 if it is OFF.
Since this default behavior is potentially dangerous because it can
mean that release builds contain different code from debug builds; the
option may be set to OFF in debug configurations in the normal way
(cmake-gui, edit CMakeCache.txt, etc.) to achieve a debug build
similar to a default release build.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4182 ab8295b8-cf94-4d9e-aec4-7959e3be5d79