Locations of various components to be determined at configuration
time. This allows various "Standard" system layouts to be
accomodated. For example on FreeBSD the manpages are usually installed
in the man directory i.e. /usr/local/man whereas the WSJT-X default is
to install them in share/man i.e. /usr/share/man. By setting the CMake
variable WSJT_MANPAGE_DESTINATION to either a relative or absolute
path the install location can be set:
$ cmake -D WSJT_MANPAGE_DESTINATION=. ...
will install the manpages at ${CMAKE_INSTALL_PREFIX}/man
The new configuration variables are:
WSJT_BIN_DESTINATION
WSJT_LIB_DESTINATION
WSJT_SHARE_DESTINATION
WSJT_DOC_DESTINATION
WSJT_DATA_DESTINATION
WSJT_MANPAGE_DESTINATION
WSJT_PLUGIN_DESTINATION
WSJT_QT_CONF_DESTINATION
NB: changes to the above may break WSJT-X at present where the install
locations of files used directly by WSJT-X are moved.
Warning: using absolute paths for these variables is not recommended
as files may be installed in unexpected places, particularly when run
with root privileges. All relative paths with be relative to
CMAKE_INSTALL_PREFIX.
Merged from ^/branches/wsjtx.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx-1.6@6201 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Merged from ^/branches/wsjtx.
This reverts commit r6158.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx-1.6@6160 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
For some reason the inclusion of referenced libraries was not finding
the right libraries when using CMake 3.3 and Qt 5.5. This was probably
a long standing defect that was benign until teh above versions.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@5868 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
The latest Qt headers try and disable a compiler warning that CLang++
doesn't support.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@5732 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Bring wsprd and wsprsim in to line with general includes scheme.
Use Qt5 exported library definitions in preference to
qt5_use_modules() which is deprecated.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@5663 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
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
If an out of source build is done using a source tree that has
previously been used for an in source build then we must ensure that
generated files in the source tree are not considered.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@5550 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
lib/hopping.f90 has been superceded by C/C++ code except for the call
to grayline() which is now called directly.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@5545 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
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
Since the FFTW3 includes have been fixed for C/C++, Hamlib library headers
other than the found ones were being incorrectly picked up. This has been
resolved by ensuring that the Hamlib include directory is passed to the
compilers first.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@5371 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Also added Tx status to status UDP message.
Added the above features to the reference UDP server
message_aggregator.
Merged from the wsjtx-1.5 branch.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@5334 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
The user guide is now installed with the product version in the name
so serving the same file from the project web server will allow
multiple manual versions to be easily supported.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@5320 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
These documentation source files are not the one true version, just a
copy for testing purposes. DO NOT EDIT THESE FILES.
To use this on Windows you will need a working asciidoc installation
and the path to it must be included in your CMAKE_PREFIX_PATH
(probably via a local CMake tool chain file). At the time of writing
the official asciidoc package does not work on Windows. The latest
development master does however work, it can be downloaded as a
snapshot ZIP archive from here:
https://github.com/asciidoc/asciidoc/archive/master.zip
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@5316 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Release builds were incrorrectly selecting a high level of Hamlib
trace verbosity.
Added a new CMake option to turn on maximum Hamlib trace verbosity
when required (WSJT_HAMLIB_VERBOSE_TRACE default=OFF). The current
WSJT_HAMLIB_TRACE (default=OFF) now only turns on tracing at warning
level and above, this option must be set ON before the
WSJT_HAMLIB_VERBOSE_TRACE option becomes available. Release
configuration builds use a Hamlib trace level of error or above by
default.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@5261 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
The CMake option WSJT_CREATE_WINMAIN is now available for both release
and debug configuration builds so it may be disabled in any Windows
build configuration if required.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@5250 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
Don't make proper Windows applications in debug builds. This means
that the debug output now goes to the console and the program
(wsjtx.exe) no longer detaches from the console.
If you require a proper Windows executable, for instance if you are
getting the debug output via the normal method of attaching a
debugger, you can still do so by setting the CMake configuration
option WSJT_CREATE_WINMAIN to ON for your debug build configuration on
Windows.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@5249 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
We now have a dependency on libQt5SerialPort and require Qt v5.2 or
newer.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@5232 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
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
This change generates all the resources using a CMake function
add_resources() and substitution into a template .qrc file. The
location of resource files in the source tree is no longer related to
the path of the resources in the embedded executable resources file
system. Instead the roesources are embedded with predetermined paths
e.g. :/, :/Palettes/ and, :/samples/ .
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@5131 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
The compilation of the WSJT-X resources file requires a lot of virtual
memory because of the large .WAV files included. For developers
building on very limited resource machines like single board embedded
platforms there is now an option WSJT_EMBED_SAMPLES which can be set
to OFF to skip the inclusion of the sample files in the WSJT_X binary.
The sample files may still be added manually to the target machine if
required.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@5130 ab8295b8-cf94-4d9e-aec4-7959e3be5d79