Commit Graph

688 Commits

Author SHA1 Message Date
Joe Taylor 8ceeb501b4 Fix a longstanding bug in "on_addButton_clicked()".
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4647 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2014-11-25 14:39:15 +00:00
Joe Taylor ac7e565f18 Silence compiler warning.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4623 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2014-11-21 22:10:25 +00:00
Joe Taylor 021f677687 Add wisdom for the FFTs done by symspec_(), wsjtx[.exe].
Also complete the wrapper code in wisdom.c.
TBD: should be possible to use fftw3f.f03 instead of the ad hoc wisdom.c.


git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4617 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2014-11-21 15:17:22 +00:00
Joe Taylor c5d053dfa7 Should have been included in previous commit.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4611 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2014-11-20 19:01:52 +00:00
Bill Somerville 3b43a18362 Fix various fake split mode issues
Merged from wsjtx-1.4 branch.



git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4573 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2014-10-30 22:03:04 +00:00
Joe Taylor 0e96882d8b Improve the way messages with compound calls are automatically generated.
Routine packmsg now tries the shortlist (Type 1 prefix or suffix) first.
Then it tries to to make a valid message using a Type 2 prefix or suffix.
If both fail, it packs the first 13 characters as a free-text message.

The GUI now generates the most useful messages with compound callsigns
of all valid types.



git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4533 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2014-10-19 00:56:41 +00:00
Joe Taylor 6a8f7cbd91 Correct the "Grid" message on Tab 2 for Type 1 compound callsigns.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4486 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2014-10-07 17:43:30 +00:00
Joe Taylor 3a3645b5de Correct the "dB" message on Tab 2 when MyCall is a compound callsign.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4485 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2014-10-07 16:44:29 +00:00
Bill Somerville 024c0eb616 Do one automatic retry on CAT errors
To allow for intermittant CAT failures  one retry before bringing up a
message box should allow many setups to be more reliable.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4473 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2014-10-04 14:45:09 +00:00
Bill Somerville c40cec50de Menu action to open the log directory
Since the log files have moved to  a hidden directory a menu action to
open the logs directory in a suitable system applicaiton is needed.

Added "Open log directory" to File manu bar pop up menu.

Merged from wsjtx-1.4 branch.




git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4471 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2014-10-04 11:47:03 +00:00
Bill Somerville 8d3c86c399 Disallow multiple instances without a unique rig name
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
2014-10-03 16:07:43 +00:00
Bill Somerville cb93d8f3d1 Moving WSJT-X "trunk" on to v1.5.
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
2014-09-25 19:17:19 +00:00
Bill Somerville e2c8634f54 Get local user manual working on Linux systems.
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
2014-09-25 14:45:36 +00:00
Bill Somerville dc289f04f1 Removed temporary debugging print.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4363 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2014-09-25 12:53:46 +00:00
Bill Somerville 248f78d780 Add validation to message entry fields.
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
2014-09-25 11:36:01 +00:00
Bill Somerville 960601b8fe Fix several issues with shortcut keys.
Do not drop  through shortcut key handling so  that spurious responses
are avoided.

The keyPressEvent handlers must call the super class implementation if
the event os not handled.

Correct a typo in the shortcut help display.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4361 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2014-09-25 11:35:50 +00:00
Bill Somerville 835cd0f89b Fix online manual URL.
Fix manpage destination.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4360 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2014-09-25 00:06:07 +00:00
Bill Somerville d4e55a093d Add local HTML help file to help menu.
So that a manual can be viewed without an Internet connection a second
manual action has been added to  the WSJT_X help menu. This shells out
to the default web browser with a local file target.

The build has been enhanced to install and package the current version
of the  HTML user manual  as downloaded from  the project web  site at
build time

The package  file locations have  been adjusted to be  compatible with
the QStandardPaths  class so that  its locate()  method can be  used to
portably access resources like this local help file

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4359 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2014-09-24 23:46:32 +00:00
Bill Somerville 226f44936a Disallow mode changes from decode dbl-clicks when transmitting.
The message generation code doen't allow  for a mode change on the fly
so this has been disabled.

Also and  decode double click  that would  change a message  or change
mode or  change a frquency  that gets  disallowed is ignored  i.e. the
outgoing message is not changed either.

Remove a  duplicate Tx  message in  decode window that  crept in  in a
prior change.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4353 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2014-09-24 17:26:03 +00:00
Bill Somerville 6d570cda87 Ensure Plus 2kHz Check Box is disabled in Transmit when required.
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
2014-09-24 17:25:55 +00:00
Bill Somerville 30b50ff9e2 Do not set split Tx frequency when rig changes frequency.
WSJT-X was attempting to set the split Tx frequency when a dial change
from the rig is detected. Because of the way some rigs and rig servers
report the Tx frequency  while the rig is in Tx  mode this was causing
the rig  to "walk" along the  band. Setting of split  Tx frequency has
been limited to WSJT-X initiated instances only.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4350 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2014-09-24 17:25:28 +00:00
Bill Somerville 4a32b0bef6 Add facility to disallow CAT commands while transmitting.
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
2014-09-24 17:25:19 +00:00
Joe Taylor 3860c3167c Clean up the Tx Watchdog code.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4322 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2014-09-16 16:53:11 +00:00
Joe Taylor 508925295a Look for "txboth" as /tmp/txboth.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4271 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2014-09-08 14:57:26 +00:00
Bill Somerville 64fe12db29 Ensure monitor mode is enabled when tune button clicked.
Monitor mode  was not  being enabled when  clicking the  "Tune" button
which could mean that neither split  mode nor the correct TX frequency
were being set.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4270 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2014-09-08 10:56:35 +00:00
Bill Somerville 845944b8be Define WSJT-X manual URL in a single place.
Since the manual URL is used in both the installer and the WSJT-X code
the definition of  the URL (CMake variable  PROJECT_MANUAL) is defined
in  the  CMakeList.txt file  and  propagated  to  the source  via  the
wsjtx_config.h header.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4252 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2014-09-05 17:10:01 +00:00
Joe Taylor 6570ee542c Change the URL for User Guide to that for the new v1.4 guide.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4251 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2014-09-05 15:55:49 +00:00
Bill Somerville fbf58ae3f3 Make temp directory unique in test mode.
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
2014-09-01 15:55:59 +00:00
Bill Somerville e0e67f0a6a Added CMake option to control experimental features.
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
2014-06-19 16:47:49 +00:00
Bill Somerville dc3363d490 Maintain cursor position during free text edits.
The validation processing of the free text line edit field was causing
the cursor position to be lost.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4148 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2014-05-22 11:09:21 +00:00
Bill Somerville a9e1a70092 Fix issue with non-modal window lifetimes.
Some non-modal help windows were not being automatically closed on
application exit.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4143 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2014-05-15 11:41:18 +00:00
Bill Somerville 5b3e35537f Make qmake project file more generic.
It is now possible to override the default locations hard coded in
this file with local preferences.

The variables that can be overridden are HAMLIB_DIR and DESTDIR.

To override, add local variable assignments on the intial qmake
command line. E.g.:

qmake HAMLIB_DIR=c:\my\local\hamlib\installation DESTDIR=c:\my\local\install\destination



git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4141 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2014-05-14 19:14:37 +00:00
Joe Taylor c33fe44b98 Fix several problems in wsjtx.pro, for qmake builds.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4140 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2014-05-14 17:43:30 +00:00
Bill Somerville 747426fe3a Fix qmake build issue where CMake generated macros were erroneously
being used in non-CMake builds.



git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4139 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2014-05-14 17:32:31 +00:00
Bill Somerville 63774a983a Fix a regression introduced in r3986 - no decode after "Halt TX".
The new suspend/resume approach to  the received audio stream causes a
reset to the input sample buffer  on resume. This is desired behaviour
except when the stream in not actually suspended. The monitor function
was not checking this when resuming monitoring and this caused decodes
for a period to be abandonded simply  by using the "Halt TX" button to
turn off automatic transmission mode.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4059 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2014-04-21 14:39:39 +00:00
Bill Somerville d157c20016 Add those pesky MOC generated code includes that break libraries if
they are included by automoc.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4035 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2014-04-16 15:15:46 +00:00
Bill Somerville 5f95e16490 Only calculate revision once.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4024 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2014-04-14 10:42:11 +00:00
Bill Somerville 5b05f229a1 Try to form a consistent program title and revision specification from
all types of build.

CMake builds use 'svn info' (the git-svn equivalent is also supported)
to  get the  real latest  revision of  the workspace  that is  used to
source a  build. If the sources  are not in VCS  workspace (build from
source  snapshot  archive for  example)  then  the  $Rev$ svn  keyword
expansion in mainwindow.cpp is used despite its issues with accuracy.

Non-CMake builds use the $Rev$ keyword expansion where possible.

If a CMake  build is from a VCS workspace  with local modifications; a
'-dirty' suffix is added to the revision number to denote that.

If no revision number information can be found the word 'local' is
used as a revision number.

The revision  specification is used in  the WSJT-X "about"  box and is
sent  to PSKReporter.info  as part  of the  local  station information
(this     can     be     viewed     at     the     statistics     page
http://pskreporter.info/cgi-bin/pskstats.pl).

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4017 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2014-04-13 17:22:12 +00:00
Bill Somerville d0dce856c0 Attempt to fix a few TX sequencing issues.
Simplified some of the TX logic and removed some redundant code.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4014 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2014-04-11 22:50:44 +00:00
Bill Somerville fc1713e9bf Simplify MainWindows to Modulator communications.
No longer any need to have a mute mechanism since the TX shutdown
mechanism is sufficient.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4012 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2014-04-11 22:50:22 +00:00
Bill Somerville ce0402941f Pass JT9W tone spacing to Modulator via a signal/slot as it is
crossing a thread boundary.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@3995 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2014-04-08 11:56:29 +00:00
Bill Somerville 0403b16aac Replaced Detector monitoring switch with audio stream suspend/resume.
In an effort to reduce the processing overhead when transmitting I
have suspended the audio input stream at source instead of the prior
behavior that simply idled skipping received samples.

This is in response to high activity levels, especially with JTAlert
also running, when decode processing rolls over into the next TX
period.

Tests show a reduction in CPU loading from ~5% to ~1.5% in the above
scenario. Hopefully this will reduce the likelyhood of TX audio
glitches when other system activity spikes.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@3986 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2014-04-07 00:55:05 +00:00
Bill Somerville f076c37c19 Made the soft keying CW wave shaper a CMake option (off by
default).

Reorganized Modulator interface so that it can control the stream
it writes to.

Make sure only QAudioOutput::stop is called at the end of sending
rather than QAudioOutput::reset which discards pending samples.

Added a quick close option to the Modulator::stop slot to discard
pending buffers if required.

Fix issue in CW synthesizer that was causing CW to be inverted
occasionally.

Made global arrays of symbols volatile because compiler waa
optimizing away reads in sound thread. These global variables
must go eventually as they are a multi-threading hazard.

Simplified TX sequencing to remove some duplicate signals.

Increased range of TX attenuator from 10dB to 30dB. This is mainly for
non-Windows platforms where the attenuator isn't linearized correctly.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@3985 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2014-04-06 21:58:11 +00:00
Bill Somerville b3f17051e7 Save the last used free text message between runs.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@3982 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2014-04-03 21:55:51 +00:00
Bill Somerville 4453a46664 Don't overwrite frequency, station or, macro models whenleaving the
configuration dialog unless they have changed.

Fix a bug I had introduced into the free text message fields so they
don't get overwritten by message generation.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@3981 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2014-04-03 21:19:04 +00:00
Bill Somerville db0ba3940d Squashed yet more compiler warnings.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@3979 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2014-04-03 20:06:30 +00:00
Bill Somerville 581691befb Rearranged sequencing of audio streams and devices.
The code  was starting streams linked  to closed devices which  may be
causing issues on  the Mac version.  I have refactored  to ensure that
devices are always opened before related audio streams are started.

Made .h C++ headers emacs friendly.

Removed some code in the MainWindow  contructor that read the log file
but failed to check if the file exists and didn't do anything with the
data anyway.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@3977 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2014-04-03 19:29:13 +00:00
Bill Somerville a893d42288 Uniform appearance of window titles.
Svn revision  number displayed  in about  window and  sent PSKReporter
only.

About box text centred and uses Copyright symbol.

Window   title   on  "Log   QSO"   dialog   includes  rig-name   where
multi-instance support  is enabled. This  is necessary since  the "Log
QSO" dialog is not modal.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@3960 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2014-03-30 01:31:40 +00:00
Bill Somerville c48be0494f Reducing the number of files dependent on svnversion.h without
compromising qmake builds. Now it is required to directly include
svnversion.h to get the SVNVERSION macro defined.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@3955 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2014-03-29 02:51:07 +00:00
Bill Somerville a9f0dd0efe Aligned CMake built auto fetch svn revision with old qmake $Id: one.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@3950 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
2014-03-29 00:28:44 +00:00