Merge branch 'develop' of bitbucket.org:k1jt/wsjtx into develop
@ -58,7 +58,7 @@ set (PROJECT_MANUAL wsjtx-main)
|
|||||||
set (PROJECT_MANUAL_DIRECTORY_URL http://www.physics.princeton.edu/pulsar/K1JT/wsjtx-doc/)
|
set (PROJECT_MANUAL_DIRECTORY_URL http://www.physics.princeton.edu/pulsar/K1JT/wsjtx-doc/)
|
||||||
set (PROJECT_SAMPLES_URL http://downloads.sourceforge.net/project/wsjt/)
|
set (PROJECT_SAMPLES_URL http://downloads.sourceforge.net/project/wsjt/)
|
||||||
set (PROJECT_SAMPLES_UPLOAD_DEST frs.sourceforge.net:/home/frs/project/wsjt/)
|
set (PROJECT_SAMPLES_UPLOAD_DEST frs.sourceforge.net:/home/frs/project/wsjt/)
|
||||||
set (PROJECT_SUMMARY_DESCRIPTION "${PROJECT_NAME} - Digital Modes for Weak Signal Communicaitons in Amateur Radio.")
|
set (PROJECT_SUMMARY_DESCRIPTION "${PROJECT_NAME} - Digital Modes for Weak Signal Communications in Amateur Radio.")
|
||||||
set (PROJECT_DESCRIPTION "${PROJECT_SUMMARY_DESCRIPTION}
|
set (PROJECT_DESCRIPTION "${PROJECT_SUMMARY_DESCRIPTION}
|
||||||
${PROJECT_NAME} is a computer program designed to facilitate basic amateur
|
${PROJECT_NAME} is a computer program designed to facilitate basic amateur
|
||||||
radio communication using very weak signals. The first four letters in
|
radio communication using very weak signals. The first four letters in
|
||||||
@ -1097,7 +1097,7 @@ set (LANGUAGES
|
|||||||
en_GB # English UK
|
en_GB # English UK
|
||||||
pt_PT # Poutuguese
|
pt_PT # Poutuguese
|
||||||
es_ES # Spanish
|
es_ES # Spanish
|
||||||
ca_ES # Catalan
|
ca # Catalan
|
||||||
)
|
)
|
||||||
foreach (lang_ ${LANGUAGES})
|
foreach (lang_ ${LANGUAGES})
|
||||||
file (TO_NATIVE_PATH translations/wsjtx_${lang_}.ts ts_)
|
file (TO_NATIVE_PATH translations/wsjtx_${lang_}.ts ts_)
|
||||||
@ -1306,9 +1306,6 @@ target_link_libraries (jt4code wsjt_fort wsjt_cxx)
|
|||||||
add_executable (msk144code lib/msk144code.f90 wsjtx.rc)
|
add_executable (msk144code lib/msk144code.f90 wsjtx.rc)
|
||||||
target_link_libraries (msk144code wsjt_fort wsjt_cxx)
|
target_link_libraries (msk144code wsjt_fort wsjt_cxx)
|
||||||
|
|
||||||
add_executable (jt65 lib/jt65.f90 lib/jt65_test.f90 wsjtx.rc)
|
|
||||||
target_link_libraries (jt65 wsjt_fort wsjt_cxx)
|
|
||||||
|
|
||||||
add_executable (ft8code lib/ft8/ft8code.f90 wsjtx.rc)
|
add_executable (ft8code lib/ft8/ft8code.f90 wsjtx.rc)
|
||||||
target_link_libraries (ft8code wsjt_fort wsjt_cxx)
|
target_link_libraries (ft8code wsjt_fort wsjt_cxx)
|
||||||
|
|
||||||
@ -1627,6 +1624,7 @@ if (NOT is_debug_build)
|
|||||||
${QT_PLUGINS_DIR}/audio
|
${QT_PLUGINS_DIR}/audio
|
||||||
${QT_PLUGINS_DIR}/accessible
|
${QT_PLUGINS_DIR}/accessible
|
||||||
${QT_PLUGINS_DIR}/imageformats
|
${QT_PLUGINS_DIR}/imageformats
|
||||||
|
${QT_PLUGINS_DIR}/styles
|
||||||
DESTINATION ${WSJT_PLUGIN_DESTINATION}
|
DESTINATION ${WSJT_PLUGIN_DESTINATION}
|
||||||
CONFIGURATIONS Release MinSizeRel
|
CONFIGURATIONS Release MinSizeRel
|
||||||
#COMPONENT runtime
|
#COMPONENT runtime
|
||||||
|
@ -6,8 +6,8 @@
|
|||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>670</width>
|
<width>557</width>
|
||||||
<height>617</height>
|
<height>561</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<property name="windowTitle">
|
<property name="windowTitle">
|
||||||
@ -559,7 +559,7 @@ quiet period when decoding is done.</string>
|
|||||||
<property name="editable">
|
<property name="editable">
|
||||||
<bool>true</bool>
|
<bool>true</bool>
|
||||||
</property>
|
</property>
|
||||||
<property name="currentText" stdset="0">
|
<property name="currentText">
|
||||||
<string/>
|
<string/>
|
||||||
</property>
|
</property>
|
||||||
<property name="insertPolicy">
|
<property name="insertPolicy">
|
||||||
@ -929,7 +929,7 @@ a few, particularly some Kenwood rigs, require it).</string>
|
|||||||
</sizepolicy>
|
</sizepolicy>
|
||||||
</property>
|
</property>
|
||||||
<property name="toolTip">
|
<property name="toolTip">
|
||||||
<string>How this program activates the PTT on your radio</string>
|
<string>How this program activates the PTT on your radio?</string>
|
||||||
</property>
|
</property>
|
||||||
<property name="title">
|
<property name="title">
|
||||||
<string>PTT Method</string>
|
<string>PTT Method</string>
|
||||||
@ -1021,7 +1021,7 @@ other hardware interface for PTT.</string>
|
|||||||
<property name="editable">
|
<property name="editable">
|
||||||
<bool>true</bool>
|
<bool>true</bool>
|
||||||
</property>
|
</property>
|
||||||
<property name="currentText" stdset="0">
|
<property name="currentText">
|
||||||
<string/>
|
<string/>
|
||||||
</property>
|
</property>
|
||||||
<property name="currentIndex">
|
<property name="currentIndex">
|
||||||
@ -3108,13 +3108,13 @@ Right click for insert and delete options.</string>
|
|||||||
</connection>
|
</connection>
|
||||||
</connections>
|
</connections>
|
||||||
<buttongroups>
|
<buttongroups>
|
||||||
<buttongroup name="split_mode_button_group"/>
|
|
||||||
<buttongroup name="TX_audio_source_button_group"/>
|
|
||||||
<buttongroup name="TX_mode_button_group"/>
|
|
||||||
<buttongroup name="PTT_method_button_group"/>
|
|
||||||
<buttongroup name="special_op_activity_button_group"/>
|
|
||||||
<buttongroup name="CAT_handshake_button_group"/>
|
<buttongroup name="CAT_handshake_button_group"/>
|
||||||
|
<buttongroup name="TX_audio_source_button_group"/>
|
||||||
|
<buttongroup name="special_op_activity_button_group"/>
|
||||||
|
<buttongroup name="TX_mode_button_group"/>
|
||||||
<buttongroup name="CAT_data_bits_button_group"/>
|
<buttongroup name="CAT_data_bits_button_group"/>
|
||||||
|
<buttongroup name="PTT_method_button_group"/>
|
||||||
<buttongroup name="CAT_stop_bits_button_group"/>
|
<buttongroup name="CAT_stop_bits_button_group"/>
|
||||||
|
<buttongroup name="split_mode_button_group"/>
|
||||||
</buttongroups>
|
</buttongroups>
|
||||||
</ui>
|
</ui>
|
||||||
|
60
NEWS
@ -13,6 +13,66 @@
|
|||||||
Copyright 2001 - 2019 by Joe Taylor, K1JT.
|
Copyright 2001 - 2019 by Joe Taylor, K1JT.
|
||||||
|
|
||||||
|
|
||||||
|
Release: WSJT-X 2.2.0-rc2
|
||||||
|
May 25, 2020
|
||||||
|
-------------------------
|
||||||
|
|
||||||
|
WSJT-X 2.2.0-rc2 is a release candidate for WSJT-X 2.2.0. The
|
||||||
|
following bugs present in the -rc1 version have been fixed:
|
||||||
|
|
||||||
|
- Missing blank line between some decode sequences.
|
||||||
|
- Improper functioning of "Start new period decodes at top".
|
||||||
|
- Font selection caused crash on some macOS systems.
|
||||||
|
- Mouse action in band selector box not right in some macOS systems.
|
||||||
|
- Incorrect recall of Tx power setting in WSPR mode.
|
||||||
|
- Many fixes to hamlib library and executables (rigctld, etc.).
|
||||||
|
- Some regional settings did not allow WSJT-X to start.
|
||||||
|
- Main window "looked like old Windows" in macOS.
|
||||||
|
- Crash when "Ref Spec" is selected and no refspec.dat available.
|
||||||
|
- Improper decoding of some FT4 messages with hashed "MyCall".
|
||||||
|
- Crash after warning message about double-clicking in ISCAT mode.
|
||||||
|
|
||||||
|
In addition, we have made the following improvements:
|
||||||
|
|
||||||
|
- Updated some figures and text in User Guide.
|
||||||
|
- Corrected some formatting issues in the pdf version of User Guide.
|
||||||
|
- Added some new sample files.
|
||||||
|
- Improved shape and position of "green goal post" in Wide Graph.
|
||||||
|
- Significantly reduced the rate of false decodes in FT4 and FT8.
|
||||||
|
- Allow FT4 to use NA VHF Contest message formats.
|
||||||
|
- Hold Tx frequency no longer cleared when switching between modes.
|
||||||
|
- Added capability for translations of the user interface into
|
||||||
|
languages other than English. First working example (special
|
||||||
|
thanks to Xavi Perez, EA3W!), is Catalan. Spanish will be next.
|
||||||
|
- Performance improvements to decode highlighting via UDP messages.
|
||||||
|
|
||||||
|
And finally:
|
||||||
|
|
||||||
|
Increasing FT8 usage on the popular bands 40, 30, and 20m means that
|
||||||
|
the default 3 kHz sub-bands are often wall-to-wall with signals.
|
||||||
|
Overcrowding encourages some to turn on their amplifiers, which only
|
||||||
|
makes things worse. We are trying to coordinate the suggested
|
||||||
|
frequencies in WSJT-X with updated band plans being considered by
|
||||||
|
IARU, ARRL, and other amateur radio societies.
|
||||||
|
|
||||||
|
On a trial basis, and in response to numerous suggestions from around
|
||||||
|
the world, we have added a second set of suggested dial frequencies
|
||||||
|
for FT8 on three HF bands and also on 6 meters. The new suggested dial
|
||||||
|
frequencies are 7.071, 10.133, 14.071, and 50.310 MHz. These
|
||||||
|
frequencies will appear in your drop-down band-selector list after you
|
||||||
|
go to the "Settings | Frequencies" tab, right-click on the frequency
|
||||||
|
table, and select "Reset". Alternatively, you can add the new FT8
|
||||||
|
frequencies manually.
|
||||||
|
|
||||||
|
When the conventional FT8 sub-band on 6, 20, 30, or 40 m seems too
|
||||||
|
full, please try moving your dial frequency down 3 kHz! Be aware that
|
||||||
|
as currently implemented, WSJT-X will set your dial to the lowest
|
||||||
|
frequency for the selected mode and band, when you switch bands.
|
||||||
|
|
||||||
|
See the next section for a list of other program improvements since
|
||||||
|
WSJT-X 2.1.2.
|
||||||
|
|
||||||
|
|
||||||
Release: WSJT-X 2.2.0-rc1
|
Release: WSJT-X 2.2.0-rc1
|
||||||
May 10, 2020
|
May 10, 2020
|
||||||
-------------------------
|
-------------------------
|
||||||
|
@ -447,16 +447,20 @@
|
|||||||
* The server may send this message at any time. The message
|
* The server may send this message at any time. The message
|
||||||
* specifies the background and foreground color that will be
|
* specifies the background and foreground color that will be
|
||||||
* used to highlight the specified callsign in the decoded
|
* used to highlight the specified callsign in the decoded
|
||||||
* messages printed in the Band Activity panel. The WSJT-X
|
* messages printed in the Band Activity panel. The WSJT-X
|
||||||
* clients maintain a list of such instructions and apply them to
|
* clients maintain a list of such instructions and apply them to
|
||||||
* all decoded messages in the band activity window. To clear
|
* all decoded messages in the band activity window. To clear
|
||||||
* highlighting send an invalid QColor value for either or both
|
* and cancel highlighting send an invalid QColor value for
|
||||||
* of the background and foreground fields.
|
* either or both of the background and foreground fields. When
|
||||||
|
* using this mode the total number of callsign highlighting
|
||||||
|
* requests should be limited otherwise the performance of WSJT-X
|
||||||
|
* decoding may be impacted. A rough rule of thumb might be too
|
||||||
|
* limit the number of active highlighting requests to no more
|
||||||
|
* than 100.
|
||||||
*
|
*
|
||||||
* The "Highlight last" field allows the sender to request that
|
* The "Highlight last" field allows the sender to request that
|
||||||
* the last instance only instead of all instances of the
|
* all instances of "Callsign" in the last period only, instead
|
||||||
* specified call be highlighted or have it's highlighting
|
* of all instances in all periods, be highlighted.
|
||||||
* cleared.
|
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
* SwitchConfiguration In 14 quint32
|
* SwitchConfiguration In 14 quint32
|
||||||
|
@ -12,6 +12,65 @@
|
|||||||
|
|
||||||
Copyright 2001 - 2020 by Joe Taylor, K1JT.
|
Copyright 2001 - 2020 by Joe Taylor, K1JT.
|
||||||
|
|
||||||
|
Release: WSJT-X 2.2.0-rc2
|
||||||
|
May 25, 2020
|
||||||
|
-------------------------
|
||||||
|
|
||||||
|
WSJT-X 2.2.0-rc2 is a release candidate for WSJT-X 2.2.0. The
|
||||||
|
following bugs present in the -rc1 version have been fixed:
|
||||||
|
|
||||||
|
- Missing blank line between some decode sequences.
|
||||||
|
- Improper functioning of "Start new period decodes at top".
|
||||||
|
- Font selection caused crash on some macOS systems.
|
||||||
|
- Mouse action in band selector box not right in some macOS systems.
|
||||||
|
- Incorrect recall of Tx power setting in WSPR mode.
|
||||||
|
- Many fixes to hamlib library and executables (rigctld, etc.).
|
||||||
|
- Some regional settings did not allow WSJT-X to start.
|
||||||
|
- Main window "looked like old Windows" in macOS.
|
||||||
|
- Crash when "Ref Spec" is selected and no refspec.dat available.
|
||||||
|
- Improper decoding of some FT4 messages with hashed "MyCall".
|
||||||
|
- Crash after warning message about double-clicking in ISCAT mode.
|
||||||
|
|
||||||
|
In addition, we have made the following improvements:
|
||||||
|
|
||||||
|
- Updated some figures and text in User Guide.
|
||||||
|
- Corrected some formatting issues in the pdf version of User Guide.
|
||||||
|
- Added some new sample files.
|
||||||
|
- Improved shape and position of "green goal post" in Wide Graph.
|
||||||
|
- Significantly reduced the rate of false decodes in FT4 and FT8.
|
||||||
|
- Allow FT4 to use NA VHF Contest message formats.
|
||||||
|
- Hold Tx frequency no longer cleared when switching between modes.
|
||||||
|
- Added capability for translations of the user interface into
|
||||||
|
languages other than English. First working example (special
|
||||||
|
thanks to Xavi Perez, EA3W!), is Catalan. Spanish will be next.
|
||||||
|
- Performance improvements to decode highlighting via UDP messages.
|
||||||
|
|
||||||
|
And finally:
|
||||||
|
|
||||||
|
Increasing FT8 usage on the popular bands 40, 30, and 20m means that
|
||||||
|
the default 3 kHz sub-bands are often wall-to-wall with signals.
|
||||||
|
Overcrowding encourages some to turn on their amplifiers, which only
|
||||||
|
makes things worse. We are trying to coordinate the suggested
|
||||||
|
frequencies in WSJT-X with updated band plans being considered by
|
||||||
|
IARU, ARRL, and other amateur radio societies.
|
||||||
|
|
||||||
|
On a trial basis, and in response to numerous suggestions from around
|
||||||
|
the world, we have added a second set of suggested dial frequencies
|
||||||
|
for FT8 on three HF bands and also on 6 meters. The new suggested dial
|
||||||
|
frequencies are 7.071, 10.133, 14.071, and 50.310 MHz. These
|
||||||
|
frequencies will appear in your drop-down band-selector list after you
|
||||||
|
go to the "Settings | Frequencies" tab, right-click on the frequency
|
||||||
|
table, and select "Reset". Alternatively, you can add the new FT8
|
||||||
|
frequencies manually.
|
||||||
|
|
||||||
|
When the conventional FT8 sub-band on 6, 20, 30, or 40 m seems too
|
||||||
|
full, please try moving your dial frequency down 3 kHz! Be aware that
|
||||||
|
as currently implemented, WSJT-X will set your dial to the lowest
|
||||||
|
frequency for the selected mode and band, when you switch bands.
|
||||||
|
|
||||||
|
See the next section for a list of other program improvements since
|
||||||
|
WSJT-X 2.1.2.
|
||||||
|
|
||||||
|
|
||||||
Release: WSJT-X 2.2.0-rc1
|
Release: WSJT-X 2.2.0-rc1
|
||||||
May 10, 2020
|
May 10, 2020
|
||||||
|
@ -125,7 +125,7 @@ set (UG_IMGS
|
|||||||
images/VHF_controls.png
|
images/VHF_controls.png
|
||||||
images/view-menu.png
|
images/view-menu.png
|
||||||
images/wide-graph-controls.png
|
images/wide-graph-controls.png
|
||||||
|
images/Windows_Dark.png
|
||||||
)
|
)
|
||||||
|
|
||||||
find_program (ASCIIDOCTOR_EXECUTABLE NAMES asciidoctor)
|
find_program (ASCIIDOCTOR_EXECUTABLE NAMES asciidoctor)
|
||||||
|
@ -29,7 +29,7 @@ the following copyright notice prominently:
|
|||||||
*The algorithms, source code, look-and-feel of _{prog}_ and related
|
*The algorithms, source code, look-and-feel of _{prog}_ and related
|
||||||
programs, and protocol specifications for the modes FSK441, FT4, FT8,
|
programs, and protocol specifications for the modes FSK441, FT4, FT8,
|
||||||
JT4, JT6M, JT9, JT65, JTMS, QRA64, ISCAT, and MSK144 are Copyright (C)
|
JT4, JT6M, JT9, JT65, JTMS, QRA64, ISCAT, and MSK144 are Copyright (C)
|
||||||
2001-2019 by one or more of the following authors: Joseph Taylor,
|
2001-2020 by one or more of the following authors: Joseph Taylor,
|
||||||
K1JT; Bill Somerville, G4WJS; Steven Franke, K9AN; Nico Palermo,
|
K1JT; Bill Somerville, G4WJS; Steven Franke, K9AN; Nico Palermo,
|
||||||
IV3NWV; Greg Beam, KI7MT; Michael Black, W9MDB; Edson Pereira, PY2SDR;
|
IV3NWV; Greg Beam, KI7MT; Michael Black, W9MDB; Edson Pereira, PY2SDR;
|
||||||
Philip Karn, KA9Q; and other members of the WSJT Development Group.*
|
Philip Karn, KA9Q; and other members of the WSJT Development Group.*
|
||||||
|
@ -68,6 +68,7 @@ d). Edit lines as needed. Keeping them in alphabetic order help see dupes.
|
|||||||
:fmt_k5cm: http://www.k5cm.com/[FMT Event Info]
|
:fmt_k5cm: http://www.k5cm.com/[FMT Event Info]
|
||||||
:fmt_wspr: http://www.physics.princeton.edu/pulsar/K1JT/FMT_User.pdf[Accurate Frequency Measurements with your WSPR Setup]
|
:fmt_wspr: http://www.physics.princeton.edu/pulsar/K1JT/FMT_User.pdf[Accurate Frequency Measurements with your WSPR Setup]
|
||||||
:ft4_protocol: http://physics.princeton.edu/pulsar/k1jt/FT4_Protocol.pdf[The FT4 Protocol for Digital Contesting]
|
:ft4_protocol: http://physics.princeton.edu/pulsar/k1jt/FT4_Protocol.pdf[The FT4 Protocol for Digital Contesting]
|
||||||
|
:ft4_ft8_protocols: http://physics.princeton.edu/pulsar/k1jt/FT4_FT8_QEX.pdf[The FT4 and FT8 Communication Protocols]
|
||||||
:ft8_tips: http://www.g4ifb.com/FT8_Hinson_tips_for_HF_DXers.pdf[FT8 Operating Guide]
|
:ft8_tips: http://www.g4ifb.com/FT8_Hinson_tips_for_HF_DXers.pdf[FT8 Operating Guide]
|
||||||
:ft8_DXped: http://physics.princeton.edu/pulsar/k1jt/FT8_DXpedition_Mode.pdf[FT8 DXpedition Mode]
|
:ft8_DXped: http://physics.princeton.edu/pulsar/k1jt/FT8_DXpedition_Mode.pdf[FT8 DXpedition Mode]
|
||||||
:gnu_gpl: http://www.gnu.org/licenses/gpl-3.0.txt[GNU General Public License]
|
:gnu_gpl: http://www.gnu.org/licenses/gpl-3.0.txt[GNU General Public License]
|
||||||
@ -75,7 +76,7 @@ d). Edit lines as needed. Keeping them in alphabetic order help see dupes.
|
|||||||
:hrd: http://www.hrdsoftwarellc.com/[Ham Radio Deluxe]
|
:hrd: http://www.hrdsoftwarellc.com/[Ham Radio Deluxe]
|
||||||
:jt4eme: http://physics.princeton.edu/pulsar/K1JT/WSJT-X_1.6.0_for_JT4_v7.pdf[Using WSJT-X for JT4 EME Operation]
|
:jt4eme: http://physics.princeton.edu/pulsar/K1JT/WSJT-X_1.6.0_for_JT4_v7.pdf[Using WSJT-X for JT4 EME Operation]
|
||||||
:jt65protocol: http://physics.princeton.edu/pulsar/K1JT/JT65.pdf[QEX]
|
:jt65protocol: http://physics.princeton.edu/pulsar/K1JT/JT65.pdf[QEX]
|
||||||
:jtalert: http://hamapps.com/[JT-Alert]
|
:jtalert: http://hamapps.com/[JTAlert]
|
||||||
:launchpadki7mt: https://launchpad.net/~ki7mt[KI7MT PPA's]
|
:launchpadki7mt: https://launchpad.net/~ki7mt[KI7MT PPA's]
|
||||||
:log4om: http://www.log4om.com[Log4OM]
|
:log4om: http://www.log4om.com[Log4OM]
|
||||||
:lunarEchoes: http://physics.princeton.edu/pulsar/K1JT/LunarEchoes_QEX.pdf[QEX]
|
:lunarEchoes: http://physics.princeton.edu/pulsar/K1JT/LunarEchoes_QEX.pdf[QEX]
|
||||||
|
@ -1,19 +1,21 @@
|
|||||||
// Status=review
|
// Status=review
|
||||||
|
|
||||||
The _WSJT_ project was started in 2001. Since 2005 it has been an
|
The _WSJT_ project was started by *K1JT* in 2001. Since 2005 it has
|
||||||
Open Source project, and it now includes programs _WSJT_, _MAP65_,
|
been an Open Source project, which now includes the programs _WSJT_,
|
||||||
_WSPR_, _WSJT-X_, and _WSPR-X_. All code is licensed under the
|
_MAP65_, _WSPR_, _WSJT-X_, and _WSPR-X_. *G4WJS* (since 2013) and
|
||||||
GNU Public License (GPL). Many users of these programs, too numerous
|
*K9AN* (since 2015) have made major contributions to _WSJT-X_.
|
||||||
to mention here individually, have contributed suggestions and advice
|
Together with K1JT they now form the core development team.
|
||||||
that have greatly aided the development of _WSJT_ and its sister
|
|
||||||
programs.
|
|
||||||
|
|
||||||
For _WSJT-X_ in particular, we acknowledge contributions from *AC6SL,
|
All code in the _WSJT_ project is licensed under the GNU Public
|
||||||
AE4JY, DJ0OT, G3WDG, G4KLA, G4WJS, IV3NWV, IW3RAB, K3WYC, K9AN,
|
License (GPL). Many users of these programs, too numerous to mention
|
||||||
KA6MAL, KA9Q, KB1ZMX, KD6EKQ, KI7MT, KK1D, ND0B, PY2SDR, VE1SKY, VK3ACF,
|
here individually, have contributed suggestions and advice that have
|
||||||
VK4BDJ, VK7MO, W4TI, W4TV, and W9MDB*. Each of these amateurs has helped to
|
greatly aided the development of _WSJT_ and its sister programs. For
|
||||||
bring the program’s design, code, testing, and/or documentation to
|
_WSJT-X_ in particular, we acknowledge contributions from *AC6SL,
|
||||||
its present state.
|
AE4JY, DJ0OT, G3WDG, G4KLA, IV3NWV, IW3RAB, K3WYC, KA6MAL, KA9Q,
|
||||||
|
KB1ZMX, KD6EKQ, KI7MT, KK1D, ND0B, PY2SDR, VE1SKY, VK3ACF, VK4BDJ,
|
||||||
|
VK7MO, W4TI, W4TV, and W9MDB*. Each of these amateurs has helped to
|
||||||
|
bring the program’s design, code, testing, and/or documentation to its
|
||||||
|
present state.
|
||||||
|
|
||||||
Most of the color palettes for the _WSJT-X_ waterfall were copied from
|
Most of the color palettes for the _WSJT-X_ waterfall were copied from
|
||||||
the excellent, well documented, open-source program _fldigi_, by *W1HKJ*
|
the excellent, well documented, open-source program _fldigi_, by *W1HKJ*
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
// Status=review The following controls appear just under the decoded
|
The following controls appear just under the decoded
|
||||||
text windows on the main screen. Some controls appear only in certain
|
text windows on the main screen. Some controls appear only in certain
|
||||||
operating modes.
|
operating modes.
|
||||||
|
|
||||||
|
@ -20,11 +20,18 @@ image::file-menu.png[align="left",alt="File Menu"]
|
|||||||
==== Configuration Menu
|
==== Configuration Menu
|
||||||
image::config-menu.png[align="left",alt="File Menu"]
|
image::config-menu.png[align="left",alt="File Menu"]
|
||||||
|
|
||||||
Many users prefer to create and use entries on the *Configurations*
|
Most users of more than one mode prefer to create and use entries on
|
||||||
menu for switching between modes. Simply *Clone* the *Default* entry,
|
the *Configurations* menu for switching between modes. You can
|
||||||
*Rename* it as desired, and then make all desired settings for that
|
*Clone* the configuration currently in use, *Rename* the clone as
|
||||||
configuration. These settings will be restored whenever you select
|
desired, and then make all desired settings for the new configuration.
|
||||||
that configuration.
|
The easiest way is to start with a working setup for some mode, say
|
||||||
|
*FT8*. *Clone* it, then select *Configurations | FT8 - Copy | Rename
|
||||||
|
...*, enter a new name, say *FT4*, and click *OK*. Then select the
|
||||||
|
new name from the *Configurations* menu and choose *Switch To*. When
|
||||||
|
the new configuration comes up you can change any desired settings:
|
||||||
|
for example, select *FT4* from the *Mode* menu. Configurations save
|
||||||
|
all settings that are normally restored after a program restart,
|
||||||
|
including which of the defined configurations is currently active.
|
||||||
|
|
||||||
As well as switching between configurations while running _WSJT-X_ you
|
As well as switching between configurations while running _WSJT-X_ you
|
||||||
can also start the application from the command line in any desired
|
can also start the application from the command line in any desired
|
||||||
|
@ -98,5 +98,5 @@ color and line width for the plots.
|
|||||||
Most windows can be resized as desired. If you are short of screen
|
Most windows can be resized as desired. If you are short of screen
|
||||||
space you can make the Main Window and Wide Graph smaller by hiding
|
space you can make the Main Window and Wide Graph smaller by hiding
|
||||||
some controls and labels. To enable this feature uncheck the box
|
some controls and labels. To enable this feature uncheck the box
|
||||||
labales *Controls* at top left of the *Wide Graph* window, or the box
|
labeled *Controls* at top left of the *Wide Graph* window, or the box
|
||||||
*Menus* to the right of the *Tune* button on the Main Window.
|
*Menus* to the right of the *Tune* button on the Main Window.
|
||||||
|
@ -26,7 +26,7 @@ hypothetically known information.
|
|||||||
|
|
||||||
[[FT8_AP_INFO_TABLE]]
|
[[FT8_AP_INFO_TABLE]]
|
||||||
.FT4 and FT8 AP information types
|
.FT4 and FT8 AP information types
|
||||||
[width="35%",cols="h10,<m20",frame=topbot,options="header"]
|
[width="50%",cols="h10,<m20",frame=topbot,options="header"]
|
||||||
|===============================================
|
|===============================================
|
||||||
|aP | Message components
|
|aP | Message components
|
||||||
|a1 | CQ     ?     ?
|
|a1 | CQ     ?     ?
|
||||||
@ -49,7 +49,7 @@ be attempted in each state.
|
|||||||
|
|
||||||
[[FT8_AP_DECODING_TYPES_TABLE]]
|
[[FT8_AP_DECODING_TYPES_TABLE]]
|
||||||
.FT4 and FT8 AP decoding types for each QSO state
|
.FT4 and FT8 AP decoding types for each QSO state
|
||||||
[width="35%",cols="h10,<m20",frame=topbot,options="header"]
|
[width="50%",cols="h10,<m20",frame=topbot,options="header"]
|
||||||
|===========================================
|
|===========================================
|
||||||
|State |AP type
|
|State |AP type
|
||||||
|CALLING STN | 2, 3
|
|CALLING STN | 2, 3
|
||||||
@ -67,7 +67,7 @@ averaged to obtain the decode.
|
|||||||
|
|
||||||
[[JT65_AP_INFO_TABLE]]
|
[[JT65_AP_INFO_TABLE]]
|
||||||
.JT65 AP information types
|
.JT65 AP information types
|
||||||
[width="35%",cols="h10,<m20",frame=topbot,options="header"]
|
[width="50%",cols="h10,<m20",frame=topbot,options="header"]
|
||||||
|===============================================
|
|===============================================
|
||||||
|aP | Message components
|
|aP | Message components
|
||||||
|a1 | CQ     ?     ?
|
|a1 | CQ     ?     ?
|
||||||
@ -81,7 +81,7 @@ averaged to obtain the decode.
|
|||||||
|
|
||||||
[[JT65_AP_DECODING_TYPES_TABLE]]
|
[[JT65_AP_DECODING_TYPES_TABLE]]
|
||||||
.JT65 AP decoding types for each QSO state
|
.JT65 AP decoding types for each QSO state
|
||||||
[width="35%",cols="h10,<m20",frame=topbot,options="header"]
|
[width="50%",cols="h10,<m20",frame=topbot,options="header"]
|
||||||
|===========================================
|
|===========================================
|
||||||
|State |AP type
|
|State |AP type
|
||||||
|CALLING STN | 2, 3, 6, 7
|
|CALLING STN | 2, 3, 6, 7
|
||||||
@ -140,7 +140,7 @@ Table 6 below shows the meaning of the return codes R in QRA64 mode.
|
|||||||
|
|
||||||
[[QRA64_AP_INFO_TABLE]]
|
[[QRA64_AP_INFO_TABLE]]
|
||||||
.QRA64 AP return codes
|
.QRA64 AP return codes
|
||||||
[width="35%",cols="h10,<m20",frame=topbot,options="header"]
|
[width="50%",cols="h10,<m20",frame=topbot,options="header"]
|
||||||
|===============================================
|
|===============================================
|
||||||
|rc | Message components
|
|rc | Message components
|
||||||
|0 | ?     ?     ?
|
|0 | ?     ?     ?
|
||||||
|
Before Width: | Height: | Size: 56 KiB After Width: | Height: | Size: 42 KiB |
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 22 KiB |
BIN
doc/user_guide/en/images/Windows_Dark.png
Normal file
After Width: | Height: | Size: 52 KiB |
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 9.3 KiB |
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 24 KiB |
Before Width: | Height: | Size: 35 KiB After Width: | Height: | Size: 40 KiB |
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 28 KiB |
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 20 KiB |
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 22 KiB |
@ -3,7 +3,7 @@
|
|||||||
Debian, Ubuntu, and other Debian-based systems including Raspbian:
|
Debian, Ubuntu, and other Debian-based systems including Raspbian:
|
||||||
|
|
||||||
NOTE: The project team release binary installer packages for Linux
|
NOTE: The project team release binary installer packages for Linux
|
||||||
when a new _WSJT-X_ release is announced, note that these are built to
|
when a new _WSJT-X_ release is announced. These are built to
|
||||||
target one contemporary version of a Linux distribution. Although
|
target one contemporary version of a Linux distribution. Although
|
||||||
these may work on newer Linux versions or even different
|
these may work on newer Linux versions or even different
|
||||||
distributions, it is unlikely that they will work on older
|
distributions, it is unlikely that they will work on older
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
// These instructions are up-to-date for WSJT-X v1.9
|
// These instructions are up-to-date for WSJT-X v2.2
|
||||||
|
|
||||||
*macOS 10.13* and later: Download the file {osx} to your desktop,
|
*macOS 10.13* and later: Download the file {osx} to your desktop,
|
||||||
double-click on it and consult its `ReadMe` file for important
|
double-click on it and consult its `ReadMe` file for important
|
||||||
|
@ -30,20 +30,22 @@ TIP: Your computer may be configured so that this directory is
|
|||||||
|
|
||||||
[[OPENSSL]]
|
[[OPENSSL]]
|
||||||
|
|
||||||
* image:LoTW_TLS_error.png[_WSJT-X_ LoTW download TLS error,
|
* _WSJT-X_ requires the _OpenSSL_ libraries to be installed, and
|
||||||
role="right"] _WSJT-X_ requires the _OpenSSL_ libraries to be
|
suitable libraries may already be installed on your system. If they
|
||||||
installed. Suitable libraries may already be installed on your
|
are not you will see this error shortly after requesting a fetch of
|
||||||
system, if they are not you will see this error shortly after
|
the latest LoTW users database. To fix this you need to install the
|
||||||
requesting a fetch of the latest LoTW users database. To fix this
|
_OpenSSL_ libraries.
|
||||||
you need to install the _OpenSSL_ libraries.
|
|
||||||
|
|
||||||
** You can download a suitable _OpenSSL_ package for from
|
image::LoTW_TLS_error.png[align="center"]
|
||||||
{win_openssl_packages}, you need the latest *Windows Light*
|
|
||||||
|
|
||||||
|
* You can download a suitable _OpenSSL_ package from
|
||||||
|
{win_openssl_packages}. You need the latest *Windows Light*
|
||||||
version. For the 32-bit _WSJT-X_ build use the latest Win32 v1.1.x
|
version. For the 32-bit _WSJT-X_ build use the latest Win32 v1.1.x
|
||||||
version of the _OpenSSL_ libraries, for the 64-bit _WSJT-X_ use the
|
version of the _OpenSSL_ libraries, for the 64-bit _WSJT-X_ use the
|
||||||
latest Win64 v1.1.x version of the _OpenSSL_ libraries (Note it is
|
latest Win64 v1.1.x version of the _OpenSSL_ libraries which at the
|
||||||
OK to install both versions on a 64-bit system) which at the time
|
time of writing were {win32_openssl} and {win64_openssl}. It is OK
|
||||||
of writing were {win32_openssl} and {win64_openssl} respectively.
|
to install both versions on a 64-bit system.
|
||||||
|
|
||||||
** Install the package and accept the default options, including the
|
** Install the package and accept the default options, including the
|
||||||
option to copy the _OpenSSL_ DLLs to the Windows system
|
option to copy the _OpenSSL_ DLLs to the Windows system
|
||||||
|
@ -6,7 +6,7 @@ the program name stand for "`**W**eak **S**ignal communication by
|
|||||||
K1**JT**,`" while the suffix "`-X`" indicates that _WSJT-X_ started as
|
K1**JT**,`" while the suffix "`-X`" indicates that _WSJT-X_ started as
|
||||||
an e**Xt**ended and e**X**perimental branch of the program _WSJT_,
|
an e**Xt**ended and e**X**perimental branch of the program _WSJT_,
|
||||||
first released in 2001. Bill Somerville, G4WJS, and Steve Franke,
|
first released in 2001. Bill Somerville, G4WJS, and Steve Franke,
|
||||||
K9AN, have been major contibutors to program development since 2013
|
K9AN, have been major contributors to program development since 2013
|
||||||
and 2015, respectively.
|
and 2015, respectively.
|
||||||
|
|
||||||
_WSJT-X_ Version {VERSION_MAJOR}.{VERSION_MINOR} offers ten different
|
_WSJT-X_ Version {VERSION_MAJOR}.{VERSION_MINOR} offers ten different
|
||||||
@ -16,14 +16,14 @@ making reliable QSOs under weak-signal conditions. They use nearly
|
|||||||
identical message structure and source encoding. JT65 and QRA64 were
|
identical message structure and source encoding. JT65 and QRA64 were
|
||||||
designed for EME ("`moonbounce`") on the VHF/UHF bands and have also
|
designed for EME ("`moonbounce`") on the VHF/UHF bands and have also
|
||||||
proven very effective for worldwide QRP communication on the HF bands.
|
proven very effective for worldwide QRP communication on the HF bands.
|
||||||
QRA64 has some advantages over JT65, including better performance on
|
QRA64 has a some advantages over JT65, including better performance
|
||||||
the higher microwave bands. JT9 was originally designed for the LF,
|
for EME on the higher microwave bands. JT9 was originally designed
|
||||||
MF, and lower HF bands. Its submode JT9A is 2 dB more sensitive than
|
for the LF, MF, and lower HF bands. Its submode JT9A is 2 dB more
|
||||||
JT65 while using less than 10% of the bandwidth. JT4 offers a wide
|
sensitive than JT65 while using less than 10% of the bandwidth. JT4
|
||||||
variety of tone spacings and has proven highly effective for EME on
|
offers a wide variety of tone spacings and has proven highly effective
|
||||||
microwave bands up to 24 GHz. These four "`slow`" modes use
|
for EME on microwave bands up to 24 GHz. These four "`slow`" modes
|
||||||
one-minute timed sequences of alternating transmission and reception,
|
use one-minute timed sequences of alternating transmission and
|
||||||
so a minimal QSO takes four to six minutes — two or three
|
reception, so a minimal QSO takes four to six minutes — two or three
|
||||||
transmissions by each station, one sending in odd UTC minutes and the
|
transmissions by each station, one sending in odd UTC minutes and the
|
||||||
other even. FT8 is operationally similar but four times faster
|
other even. FT8 is operationally similar but four times faster
|
||||||
(15-second T/R sequences) and less sensitive by a few dB. FT4 is
|
(15-second T/R sequences) and less sensitive by a few dB. FT4 is
|
||||||
|
@ -35,9 +35,7 @@ from another logging program. Turning *Show DXCC entity and worked
|
|||||||
before status* off and then on again will cause _WSJT-X_ to re-read
|
before status* off and then on again will cause _WSJT-X_ to re-read
|
||||||
the log file. Very large log files may cause _WSJT-X_ to slow down
|
the log file. Very large log files may cause _WSJT-X_ to slow down
|
||||||
when searching for calls. If the ADIF log file has been changed
|
when searching for calls. If the ADIF log file has been changed
|
||||||
outside of _WSJT-X_ you can force _WSJT-X_ to relaod the file from the
|
outside of _WSJT-X_ you can force _WSJT-X_ to reload the file from the
|
||||||
*Settings | Colors* tab using the *Rescan ADIF Log* button, see
|
*Settings | Colors* tab using the *Rescan ADIF Log* button, see
|
||||||
<<COLORS,Decode Highlighting>>.
|
<<COLORS,Decode Highlighting>>.
|
||||||
|
|
||||||
Additional features are provided for *Contest* and *Fox* logging.
|
|
||||||
(more to come, here ...)
|
|
||||||
|
@ -93,7 +93,7 @@ tab. Model QSOs then proceed as follows, for each event type:
|
|||||||
|
|
||||||
*NA VHF Contest*
|
*NA VHF Contest*
|
||||||
|
|
||||||
CQ K1ABC FN42
|
CQ TEST K1ABC FN42
|
||||||
K1ABC W9XYZ EN37
|
K1ABC W9XYZ EN37
|
||||||
W9XYZ K1ABC R FN42
|
W9XYZ K1ABC R FN42
|
||||||
K1ABC W9XYZ RRR
|
K1ABC W9XYZ RRR
|
||||||
@ -134,7 +134,7 @@ to upgrade _WSJT-X_ if you will use *EU VHF Contest* messages.
|
|||||||
|
|
||||||
*WW Digi Contest*
|
*WW Digi Contest*
|
||||||
|
|
||||||
CQ K1ABC FN42
|
CQ WW K1ABC FN42
|
||||||
K1ABC S52XYZ JN76
|
K1ABC S52XYZ JN76
|
||||||
S52XYZ K1ABC R FN42
|
S52XYZ K1ABC R FN42
|
||||||
K1ABC S52XYZ RR73
|
K1ABC S52XYZ RR73
|
||||||
|
@ -104,9 +104,9 @@ shape of your receiver's passband. Disconnect your antenna or tune to
|
|||||||
a quiet frequency with no signals. With _WSJT-X_ running in one of
|
a quiet frequency with no signals. With _WSJT-X_ running in one of
|
||||||
the slow modes, select *Measure reference spectrum* from the *Tools*
|
the slow modes, select *Measure reference spectrum* from the *Tools*
|
||||||
menu. Wait for about a minute and then hit the *Stop* button. A file
|
menu. Wait for about a minute and then hit the *Stop* button. A file
|
||||||
named `refspec.dat` will appear in your log directory.
|
named `refspec.dat` will appear in your log directory. When you check
|
||||||
|
*Ref Spec* on the *Wide Graph*, the recorded reference spectrum will
|
||||||
[ ... more to come ... ]
|
then be used to flatten your overall effective passband.
|
||||||
|
|
||||||
=== Phase Equalization
|
=== Phase Equalization
|
||||||
|
|
||||||
|
@ -48,7 +48,7 @@ Tx3 messages -- those conveying signal report, serial number, and
|
|||||||
6-character locator -- now use hashcodes for both callsigns. This
|
6-character locator -- now use hashcodes for both callsigns. This
|
||||||
change is *not* backward compatible with earlier versions of _WSJT-X_, so
|
change is *not* backward compatible with earlier versions of _WSJT-X_, so
|
||||||
all users of *EU VHF Contest* messages should be sure to upgrade to
|
all users of *EU VHF Contest* messages should be sure to upgrade to
|
||||||
versiion 2.2.0. See <<CONTEST_MSGS,Contest Messages>> for details.
|
version 2.2.0. See <<CONTEST_MSGS,Contest Messages>> for details.
|
||||||
|
|
||||||
*Minor enhancements and bug fixes*
|
*Minor enhancements and bug fixes*
|
||||||
|
|
||||||
@ -83,14 +83,25 @@ overlooked.
|
|||||||
IMPORTANT: *Warnings* about usage that could lead to undesired
|
IMPORTANT: *Warnings* about usage that could lead to undesired
|
||||||
consequences.
|
consequences.
|
||||||
|
|
||||||
|
=== User Interface in Other Languages
|
||||||
|
|
||||||
|
Thanks to Xavi Perez, EA3W, in cooperation with G4WJS, the _WSJT-X_
|
||||||
|
user interface is now available the Catalan language. Spanish will
|
||||||
|
follow soon, and other languages when translations are made. When a
|
||||||
|
translated user interface is available for the computer's default
|
||||||
|
System Language, it will appear automatically on program startup.
|
||||||
|
|
||||||
=== How You Can Contribute
|
=== How You Can Contribute
|
||||||
|
|
||||||
_WSJT-X_ is part of an open-source project released under the
|
_WSJT-X_ is part of an open-source project released under the
|
||||||
{gnu_gpl} (GPLv3). If you have programming or documentation skills or
|
{gnu_gpl} (GPLv3). If you have programming or documentation skills or
|
||||||
would like to contribute to the project in other ways, please make
|
would like to contribute to the project in other ways, please make
|
||||||
your interests known to the development team. The project's
|
your interests known to the development team. We especially encourage
|
||||||
source-code repository can be found at {devrepo}, and communication
|
those with translation skills to volunteer their help, either for
|
||||||
among the developers takes place on the email reflector {devmail}.
|
this _User Guide_ or for the program's user interface.
|
||||||
Bug reports and suggestions for new features, improvements to the
|
|
||||||
_WSJT-X_ User Guide, etc., may be sent there as well. You must join
|
The project's source-code repository can be found at {devrepo}, and
|
||||||
the group before posting to the email list.
|
communication among the developers takes place on the email reflector
|
||||||
|
{devmail}. Bug reports and suggestions for new features, improvements
|
||||||
|
to the _WSJT-X_ User Guide, etc., may be sent there as well. You must
|
||||||
|
join the group before posting to the email list.
|
||||||
|
@ -3,7 +3,8 @@
|
|||||||
A few _WSJT-X_ features behave differently in Windows, Linux, or OS X,
|
A few _WSJT-X_ features behave differently in Windows, Linux, or OS X,
|
||||||
or may not be relevant to all operating platforms.
|
or may not be relevant to all operating platforms.
|
||||||
|
|
||||||
.File locations
|
=== File locations
|
||||||
|
|
||||||
* *Windows*
|
* *Windows*
|
||||||
|
|
||||||
- *Settings:* %LOCALAPPDATA%\WSJT-X\WSJT-X.ini
|
- *Settings:* %LOCALAPPDATA%\WSJT-X\WSJT-X.ini
|
||||||
|
@ -52,10 +52,10 @@ were the callsigns `E9AA` through `E9ZZ`. Upon reception they are
|
|||||||
converted back to the form `CQ AA` through `CQ ZZ`, for display to the
|
converted back to the form `CQ AA` through `CQ ZZ`, for display to the
|
||||||
user.
|
user.
|
||||||
|
|
||||||
The new FT4, FT8, and MSK144 protocols use a different lossless
|
The FT4, FT8, and MSK144 protocols use different lossless compression
|
||||||
compression algorithm with features to generate and recognize the
|
algorithms with features that generate and recognize special messages
|
||||||
special messages used for contesting and the like. (More to come,
|
used for contesting and other special purposes. Full details have
|
||||||
here ...)
|
been published in QEX, see {ft4_ft8_protocols}.
|
||||||
|
|
||||||
To be useful on channels with low signal-to-noise ratio, this kind of
|
To be useful on channels with low signal-to-noise ratio, this kind of
|
||||||
lossless message compression requires use of a strong forward error
|
lossless message compression requires use of a strong forward error
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
image::settings-advanced.png[align="center",alt="Settings Advanced"]
|
image::settings-advanced.png[align="center",alt="Settings Advanced"]
|
||||||
|
|
||||||
_JT65 decoding parameters_
|
_JT65 VHF/UHF/Microwave decoding parameters_
|
||||||
|
|
||||||
- *Random erasure patterns* logarithmically scales the number of
|
- *Random erasure patterns* logarithmically scales the number of
|
||||||
pseudo-random trials used by the Franke-Taylor JT65 decoder. Larger
|
pseudo-random trials used by the Franke-Taylor JT65 decoder. Larger
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
// Status=review
|
// Status=review
|
||||||
|
|
||||||
image::settings-audio.png[align="center",alt="_WSJT-X_ Audio Configuration Screen"]
|
|
||||||
|
|
||||||
Select the *Audio* tab to configure your sound system.
|
Select the *Audio* tab to configure your sound system.
|
||||||
|
|
||||||
|
image::settings-audio.png[align="center",alt="_WSJT-X_ Audio Configuration Screen"]
|
||||||
|
|
||||||
* _Soundcard_: Select the audio devices to be used for *Input* and
|
* _Soundcard_: Select the audio devices to be used for *Input* and
|
||||||
*Output*. Usually the *Mono* settings will suffice, but in special
|
*Output*. Usually the *Mono* settings will suffice, but in special
|
||||||
cases you can choose *Left*, *Right*, or *Both* stereo channels.
|
cases you can choose *Left*, *Right*, or *Both* stereo channels.
|
||||||
@ -19,7 +19,7 @@ to prevent inadvertently transmitting them over the air.
|
|||||||
|
|
||||||
+
|
+
|
||||||
|
|
||||||
NOTE: Windows Vista and later may configure audio devices using
|
NOTE: Windows 7 and later may configure audio devices using
|
||||||
the Texas Instruments PCM2900 series CODEC for microphone input rather
|
the Texas Instruments PCM2900 series CODEC for microphone input rather
|
||||||
line input. (This chip is used in many radios with built-in USB
|
line input. (This chip is used in many radios with built-in USB
|
||||||
CODECs, as well as various other audio interfaces.) If you are using
|
CODECs, as well as various other audio interfaces.) If you are using
|
||||||
|
@ -1,12 +1,13 @@
|
|||||||
// Status=review
|
// Status=review
|
||||||
|
|
||||||
[[FIG_BAND_SETTINGS]]
|
[[FIG_BAND_SETTINGS]]
|
||||||
image::settings-frequencies.png[align="center",alt="Frequency Screen"]
|
|
||||||
|
|
||||||
_Working Frequencies_: By default, the *Working Frequencies* table
|
_By default, the *Working Frequencies* table contains a list of
|
||||||
contains a list of frequencies conventionally used for modes FT8, JT4,
|
frequencies conventionally used for modes FT8, JT4, JT9, JT65, MSK144,
|
||||||
JT9, JT65, MSK144, WSPR, and Echo. Conventions may change with time
|
WSPR, and Echo. Conventions may change with time or by user
|
||||||
or by user preference; you can modify the frequency table as desired.
|
preference; you can modify the frequency table as desired.
|
||||||
|
|
||||||
|
image::settings-frequencies.png[align="center",alt="Frequency Screen"]
|
||||||
|
|
||||||
- To change an existing entry, double-click to edit it, type a desired
|
- To change an existing entry, double-click to edit it, type a desired
|
||||||
frequency in MHz or select from the drop down list of options, then
|
frequency in MHz or select from the drop down list of options, then
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
// Status=review
|
// Status=review
|
||||||
[[FIG_CONFIG_STATION]]
|
[[FIG_CONFIG_STATION]]
|
||||||
image::settings-general.png[align="center",alt="Settings Window"]
|
|
||||||
|
|
||||||
Select the *General* tab on the *Settings* window. Under _Station
|
Select the *General* tab on the *Settings* window. Under _Station
|
||||||
Details_ enter your callsign, grid locator (preferably the 6-character
|
Details_ enter your callsign, grid locator (preferably the 6-character
|
||||||
@ -9,6 +8,8 @@ Middle East, and Northern Asia; Region 2 the Americas; and Region 3
|
|||||||
Southern Asia and the Pacific. This information will be sufficient
|
Southern Asia and the Pacific. This information will be sufficient
|
||||||
for initial tests.
|
for initial tests.
|
||||||
|
|
||||||
|
image::settings-general.png[align="center",alt="Settings Window"]
|
||||||
|
|
||||||
Meanings of remaining options on the *General* tab should be
|
Meanings of remaining options on the *General* tab should be
|
||||||
self-explanatory after you have made some QSOs using _WSJT-X_. You
|
self-explanatory after you have made some QSOs using _WSJT-X_. You
|
||||||
may return to set these options to your preferences later.
|
may return to set these options to your preferences later.
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
// Status=review
|
// Status=review
|
||||||
|
|
||||||
image::RadioTab.png[align="center",alt="Radio Tab"]
|
|
||||||
|
|
||||||
_WSJT-X_ offers CAT (Computer Aided Transceiver) control of relevant
|
_WSJT-X_ offers CAT (Computer Aided Transceiver) control of relevant
|
||||||
features of most modern transceivers. To configure the program for
|
features of most modern transceivers. To configure the program for
|
||||||
your radio, select the *Radio* tab.
|
your radio, select the *Radio* tab.
|
||||||
|
|
||||||
|
image::RadioTab.png[align="center",alt="Radio Tab"]
|
||||||
|
|
||||||
* Select your radio type from the drop-down list labeled *Rig*, or
|
* Select your radio type from the drop-down list labeled *Rig*, or
|
||||||
*None* if you do not wish to use CAT control.
|
*None* if you do not wish to use CAT control.
|
||||||
|
|
||||||
@ -26,8 +26,6 @@ your radio, select the *Radio* tab.
|
|||||||
|
|
||||||
+
|
+
|
||||||
|
|
||||||
NOTE: _Omni-Rig_ is available only under Windows.
|
|
||||||
|
|
||||||
* Set *Poll Interval* to the desired interval for _WSJT-X_ to query
|
* Set *Poll Interval* to the desired interval for _WSJT-X_ to query
|
||||||
your radio. For most radios a small number (say, 1 – 3 s) is
|
your radio. For most radios a small number (say, 1 – 3 s) is
|
||||||
suitable.
|
suitable.
|
||||||
|
@ -1,11 +1,12 @@
|
|||||||
// Status=review
|
// Status=review
|
||||||
|
|
||||||
[[FigTxMacros]]
|
[[FigTxMacros]]
|
||||||
image::tx-macros.png[align="center",alt="Tx Macros Screen"]
|
|
||||||
|
|
||||||
*Tx Macros* are an aid for sending brief, frequently used free-text
|
*Tx Macros* are an aid for sending brief, frequently used free-text
|
||||||
messages such as the examples shown above.
|
messages such as the examples shown above.
|
||||||
|
|
||||||
|
image::tx-macros.png[align="center",alt="Tx Macros Screen"]
|
||||||
|
|
||||||
- To add a new message to the list, enter the desired text (up to 13
|
- To add a new message to the list, enter the desired text (up to 13
|
||||||
characters) in the entry field at top, then click *Add*.
|
characters) in the entry field at top, then click *Add*.
|
||||||
|
|
||||||
|
@ -39,12 +39,6 @@ TIP: The PC audio mixer normally has two sliders, one for each
|
|||||||
frequency setting, on HF bands you can display the full sub-band
|
frequency setting, on HF bands you can display the full sub-band
|
||||||
generally used for one mode.
|
generally used for one mode.
|
||||||
|
|
||||||
- Of course, you might prefer to concentrate on one mode at a time,
|
|
||||||
setting your dial frequency to (say) 14.074 for FT8, 14.076 for
|
|
||||||
JT65, or 14.078 for JT9. Present conventions have the nominal JT9
|
|
||||||
dial frequency 2 kHz higher than the JT65 dial frequency on most
|
|
||||||
bands, and the FT8 frequency 2 kHz lower.
|
|
||||||
|
|
||||||
.Transmitter Audio Level
|
.Transmitter Audio Level
|
||||||
|
|
||||||
* Click the *Tune* button on the main screen to switch the radio into
|
* Click the *Tune* button on the main screen to switch the radio into
|
||||||
|
@ -1,14 +1,13 @@
|
|||||||
// Status=review
|
// Status=review
|
||||||
.Main Window:
|
.Main Window:
|
||||||
- Select *FT8* on the *Mode* menu.
|
- Select *FT8* on the *Mode* menu.
|
||||||
- Set Tx frequency to 1600 Hz, Rx to 1442 Hz.
|
|
||||||
- Double-click on *Erase* to clear both text windows.
|
- Double-click on *Erase* to clear both text windows.
|
||||||
|
|
||||||
.Wide Graph Settings:
|
.Wide Graph Settings:
|
||||||
|
|
||||||
- *Bins/Pixel* = 4, *Start* = 200 Hz, *N Avg* = 2
|
- *Bins/Pixel* = 5, *Start* = 100 Hz, *N Avg* = 2
|
||||||
- Adjust the width of the Wide Graph window so that the upper
|
- Adjust the width of the Wide Graph window so that the upper
|
||||||
frequency limit is approximately 2600 Hz.
|
frequency limit is approximately 3300 Hz.
|
||||||
|
|
||||||
.Open a Wave File:
|
.Open a Wave File:
|
||||||
|
|
||||||
@ -31,7 +30,7 @@ frequency control on the main window will be updated accordingly.
|
|||||||
frequency marker and its associated control on the main window will
|
frequency marker and its associated control on the main window will
|
||||||
follow your frequency selections.
|
follow your frequency selections.
|
||||||
|
|
||||||
- Do the same thing with the *Ctrl* key held down. Now the both colored
|
- Do the same thing with the *Ctrl* key held down. Now both colored
|
||||||
markers and both spinner controls will follow your selections.
|
markers and both spinner controls will follow your selections.
|
||||||
|
|
||||||
- Double-clicking at any frequency on the waterfall does all the
|
- Double-clicking at any frequency on the waterfall does all the
|
||||||
@ -45,7 +44,7 @@ Rx frequency to that of the selected message and leaving Tx frequency
|
|||||||
unchanged. To change both Rx and Tx frequencies, hold *Ctrl* down
|
unchanged. To change both Rx and Tx frequencies, hold *Ctrl* down
|
||||||
when double-clicking.
|
when double-clicking.
|
||||||
|
|
||||||
TIP: To avoid QRM from competing callers, it is frequently desirable
|
TIP: To avoid QRM from competing callers, it is usually best
|
||||||
to answer a CQ on a different frequency from that of the CQing
|
to answer a CQ on a different frequency from that of the CQing
|
||||||
station. The same is true when you tail-end another QSO. Choose a Tx
|
station. The same is true when you tail-end another QSO. Choose a Tx
|
||||||
frequency that appears to be not in use. You might want to check the
|
frequency that appears to be not in use. You might want to check the
|
||||||
@ -54,7 +53,7 @@ box *Hold Tx Freq*.
|
|||||||
TIP: Keyboard shortcuts *Shift+F11* and *Shift+F12* provide an easy
|
TIP: Keyboard shortcuts *Shift+F11* and *Shift+F12* provide an easy
|
||||||
way to move your Tx frequency down or up in 60 Hz steps.
|
way to move your Tx frequency down or up in 60 Hz steps.
|
||||||
|
|
||||||
TIP: An online {ft8_tips} by ZL2IFB offers many helpful tips on
|
TIP: An online {ft8_tips} by ZL2IFB offers many additional tips on
|
||||||
operating procedures.
|
operating procedures.
|
||||||
|
|
||||||
.FT8 DXpedition Mode:
|
.FT8 DXpedition Mode:
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
FT4 is designed for contesting, particularly on the HF bands.
|
FT4 is designed for contesting, particularly on the HF bands and 6
|
||||||
Compared with FT8 it is 3.5 dB less sensitive and requires 1.6 times
|
meters. Compared with FT8 it is 3.5 dB less sensitive and requires
|
||||||
the bandwidth, but it offers the potential for twice the QSO rate.
|
1.6 times the bandwidth, but it offers the potential for twice the QSO
|
||||||
|
rate.
|
||||||
|
|
||||||
.Main Window:
|
.Main Window:
|
||||||
- Select *FT4* on the *Mode* menu.
|
- Select *FT4* on the *Mode* menu.
|
||||||
@ -8,14 +9,14 @@ the bandwidth, but it offers the potential for twice the QSO rate.
|
|||||||
|
|
||||||
.Wide Graph Settings:
|
.Wide Graph Settings:
|
||||||
|
|
||||||
- *Bins/Pixel* = 7, *Start* = 100 Hz, *N Avg* = 1
|
- *Bins/Pixel* = 5, *Start* = 100 Hz, *N Avg* = 1
|
||||||
- Adjust the width of the Wide Graph window so that the upper
|
- Adjust the width of the Wide Graph window so that the upper
|
||||||
frequency limit is approximately 4000 Hz.
|
frequency limit is approximately 3300 Hz.
|
||||||
|
|
||||||
.Open a Wave File:
|
.Open a Wave File:
|
||||||
|
|
||||||
- Select *File | Open* and navigate to
|
- Select *File | Open* and navigate to
|
||||||
+...\save\samples\FT4\000000_000002.wav+. The waterfall and Band
|
+...\save\samples\FT4\200514_182053.wav+. The waterfall and Band
|
||||||
Activity window should look something like the following screen shots.
|
Activity window should look something like the following screen shots.
|
||||||
This sample file was recorded during a practice contest test session, so
|
This sample file was recorded during a practice contest test session, so
|
||||||
most of the decoded messages use the *RTTY Roundup* message formats.
|
most of the decoded messages use the *RTTY Roundup* message formats.
|
||||||
|
@ -343,7 +343,7 @@ MHz. On higher microwave bands typical choices are JT65C or one of
|
|||||||
the wider QRA64 or JT4 submodes, depending on the expected amount of
|
the wider QRA64 or JT4 submodes, depending on the expected amount of
|
||||||
Doppler spread. JT4 and JT65 offer message *Averaging* -- the
|
Doppler spread. JT4 and JT65 offer message *Averaging* -- the
|
||||||
summation of subsequent transmissions that convey the same message --
|
summation of subsequent transmissions that convey the same message --
|
||||||
to enable decodes at signal-to-noise ratios several dB below below the
|
to enable decodes at signal-to-noise ratios several dB below the
|
||||||
threshold for single transmissions. These modes also allow *Deep
|
threshold for single transmissions. These modes also allow *Deep
|
||||||
Search* decoding, in which the decoder hypothesizes messages
|
Search* decoding, in which the decoder hypothesizes messages
|
||||||
containing known or previously decoded callsigns and tests them for
|
containing known or previously decoded callsigns and tests them for
|
||||||
@ -412,7 +412,7 @@ image::EME_Deep_1.png[align="center",alt="EME_Deep_1"]
|
|||||||
The message `CQ K1ABC FN42` appears in the _Average Decodes_ panel,
|
The message `CQ K1ABC FN42` appears in the _Average Decodes_ panel,
|
||||||
flagged with the <<Decoded_Lines,end-of line label>> `f3`. The label
|
flagged with the <<Decoded_Lines,end-of line label>> `f3`. The label
|
||||||
means that decoding was accomplished with the Franke-Taylor
|
means that decoding was accomplished with the Franke-Taylor
|
||||||
algorithm, using the average or 3 transmissions.
|
algorithm, using the average of 3 transmissions.
|
||||||
|
|
||||||
The _Message Averaging_ window now looks like this:
|
The _Message Averaging_ window now looks like this:
|
||||||
|
|
||||||
@ -436,4 +436,6 @@ Decoding>>), and is based on the average of 2 transmissions.
|
|||||||
|
|
||||||
You might wish to experiment with other combinations of entries for
|
You might wish to experiment with other combinations of entries for
|
||||||
*My Call*, *DX Call*, and *DX Grid*, and with toggling the various
|
*My Call*, *DX Call*, and *DX Grid*, and with toggling the various
|
||||||
options of the *Decode* menu on and off.
|
options of the *Decode* menu on and off. For best sensitivity, most
|
||||||
|
users will want to use *Deep* decoding with *Enable averaging*,
|
||||||
|
*Enable deep search*, and *Enable AP* all turned on.
|
||||||
|
@ -68,8 +68,7 @@ include::install-from-source.adoc[]
|
|||||||
Select *Settings* from the *File* menu or by typing *F2*. (On
|
Select *Settings* from the *File* menu or by typing *F2*. (On
|
||||||
Macintosh select *Preferences* from the _WSJT-X_ menu, or use the
|
Macintosh select *Preferences* from the _WSJT-X_ menu, or use the
|
||||||
keyboard shortcut *Cmd+,*). The following sections describe setup
|
keyboard shortcut *Cmd+,*). The following sections describe setup
|
||||||
options available on each of eight tabs selectable near the top of the
|
options available on eight tabs selectable near the top of the window.
|
||||||
window.
|
|
||||||
|
|
||||||
[[GENERAL]]
|
[[GENERAL]]
|
||||||
=== General
|
=== General
|
||||||
@ -103,6 +102,25 @@ include::settings-colors.adoc[]
|
|||||||
=== Advanced
|
=== Advanced
|
||||||
include::settings-advanced.adoc[]
|
include::settings-advanced.adoc[]
|
||||||
|
|
||||||
|
[[DARK_STYLE]]
|
||||||
|
=== Dark Style
|
||||||
|
|
||||||
|
An optional *Dark* style is available. To make it effective you will
|
||||||
|
probably want to redefine your color settings. In Windows or Linux,
|
||||||
|
start the program from a command-prompt window using the following
|
||||||
|
command, or modify the _WSJT-X_ desktop shortcut accordingly:
|
||||||
|
|
||||||
|
wsjtx --stylesheet :/qdarkstyle/style.qss
|
||||||
|
|
||||||
|
In macOS, enter the following command from a terminal:
|
||||||
|
|
||||||
|
open /Applications/wsjtx.app --args -stylesheet :/qdarkstyle/style.qss
|
||||||
|
|
||||||
|
Depending on your operating system, the main _WSJT-X_ window will look
|
||||||
|
something like this:
|
||||||
|
|
||||||
|
image::Windows_Dark.png[align="center"]
|
||||||
|
|
||||||
[[TRANSCEIVER]]
|
[[TRANSCEIVER]]
|
||||||
== Transceiver Setup
|
== Transceiver Setup
|
||||||
include::transceiver-setup.adoc[]
|
include::transceiver-setup.adoc[]
|
||||||
|
@ -533,7 +533,12 @@ subroutine unpack77(c77,nrx,msg,unpk77_success)
|
|||||||
! EU VHF contest
|
! EU VHF contest
|
||||||
read(c77,1060) n12,n22,ir,irpt,iserial,igrid6
|
read(c77,1060) n12,n22,ir,irpt,iserial,igrid6
|
||||||
1060 format(b12,b22,b1,b3,b11,b25)
|
1060 format(b12,b22,b1,b3,b11,b25)
|
||||||
|
if(igrid6.lt.0 .or. igrid6.gt.18662399) then
|
||||||
|
unpk77_success=.false.
|
||||||
|
return
|
||||||
|
endif
|
||||||
call hash12(n12,call_1)
|
call hash12(n12,call_1)
|
||||||
|
if(n12.eq.hashmy12) call_1='<'//trim(mycall13)//'>'
|
||||||
call hash22(n22,call_2)
|
call hash22(n22,call_2)
|
||||||
nrs=52+irpt
|
nrs=52+irpt
|
||||||
write(cexch,1022) nrs,iserial
|
write(cexch,1022) nrs,iserial
|
||||||
@ -545,7 +550,7 @@ subroutine unpack77(c77,nrx,msg,unpk77_success)
|
|||||||
else if(i3.ge.6) then ! i3 values 6 and 7 are not yet defined
|
else if(i3.ge.6) then ! i3 values 6 and 7 are not yet defined
|
||||||
unpk77_success=.false.
|
unpk77_success=.false.
|
||||||
endif
|
endif
|
||||||
! if(msg(1:4).eq.'CQ <') unpk77_success=.false.
|
if(msg(1:4).eq.'CQ <') unpk77_success=.false.
|
||||||
|
|
||||||
return
|
return
|
||||||
end subroutine unpack77
|
end subroutine unpack77
|
||||||
|
@ -87,6 +87,9 @@ contains
|
|||||||
|
|
||||||
this%callback => callback
|
this%callback => callback
|
||||||
hhmmss=cdatetime0(8:13)
|
hhmmss=cdatetime0(8:13)
|
||||||
|
dxcall13=hiscall ! initialize for use in packjt77
|
||||||
|
mycall13=mycall
|
||||||
|
|
||||||
smax1=0.
|
smax1=0.
|
||||||
nd1=0
|
nd1=0
|
||||||
|
|
||||||
|
@ -7,12 +7,10 @@ subroutine encode174_91_nocrc(message,codeword)
|
|||||||
use crc
|
use crc
|
||||||
|
|
||||||
integer, parameter:: N=174, K=91, M=N-K
|
integer, parameter:: N=174, K=91, M=N-K
|
||||||
character*91 tmpchar
|
|
||||||
integer*1 codeword(N)
|
integer*1 codeword(N)
|
||||||
integer*1 gen(M,K)
|
integer*1 gen(M,K)
|
||||||
integer*1 message(K)
|
integer*1 message(K)
|
||||||
integer*1 pchecks(M)
|
integer*1 pchecks(M)
|
||||||
integer*1, target :: i1MsgBytes(12)
|
|
||||||
include "ldpc_174_91_c_generator.f90"
|
include "ldpc_174_91_c_generator.f90"
|
||||||
logical first
|
logical first
|
||||||
data first/.true./
|
data first/.true./
|
||||||
|
@ -454,7 +454,7 @@ subroutine ft8b(dd0,newdat,nQSOProgress,nfqso,nftx,ndepth,nzhsym,lapon, &
|
|||||||
if(.not.nagain) then
|
if(.not.nagain) then
|
||||||
xsnr=xsnr2
|
xsnr=xsnr2
|
||||||
endif
|
endif
|
||||||
if(nsync.le.7 .and. xsnr.lt.-24.0) then !bail out, likely false decode
|
if(nsync.le.10 .and. xsnr.lt.-24.0) then !bail out, likely false decode
|
||||||
nbadcrc=1
|
nbadcrc=1
|
||||||
return
|
return
|
||||||
endif
|
endif
|
||||||
|
@ -167,7 +167,7 @@ subroutine osd174_91(llr,k,apmask,ndeep,message91,cw,nhardmin,dmin)
|
|||||||
nt=40
|
nt=40
|
||||||
ntheta=12
|
ntheta=12
|
||||||
ntau=15
|
ntau=15
|
||||||
elseif(ndeep.eq.6) then
|
else !ndeep=6
|
||||||
nord=4
|
nord=4
|
||||||
npre1=1
|
npre1=1
|
||||||
npre2=1
|
npre2=1
|
||||||
|
@ -61,6 +61,7 @@ program jt49sim
|
|||||||
nsym=0
|
nsym=0
|
||||||
dnsps=0.
|
dnsps=0.
|
||||||
baud=0.
|
baud=0.
|
||||||
|
sig=0.
|
||||||
|
|
||||||
if(imode.eq.4) then
|
if(imode.eq.4) then
|
||||||
nsym=206 !Number of channel symbols (JT4)
|
nsym=206 !Number of channel symbols (JT4)
|
||||||
|
@ -124,12 +124,12 @@ subroutine refspectrum(id2,bclear,brefspec,buseref,fname)
|
|||||||
if(buseref) then
|
if(buseref) then
|
||||||
if(blastuse.neqv.buseref) then !just enabled so read filter
|
if(blastuse.neqv.buseref) then !just enabled so read filter
|
||||||
fil=1.0
|
fil=1.0
|
||||||
open(16,file=fname,status='old',err=110)
|
open(16,file=fname,status='old',err=999)
|
||||||
read(16,1003,err=20,end=100) ndummy,ndummy,nterms,a
|
read(16,1003,err=20,end=999) ndummy,ndummy,nterms,a
|
||||||
goto 30
|
goto 30
|
||||||
20 rewind(16) !allow for old style refspec.dat with no header
|
20 rewind(16) !allow for old style refspec.dat with no header
|
||||||
30 do i=1,NH
|
30 do i=1,NH
|
||||||
read(16,1005,err=100,end=100) freq,s(i),ref(i),fil(i),filter(i)
|
read(16,1005,err=999,end=999) freq,s(i),ref(i),fil(i),filter(i)
|
||||||
enddo
|
enddo
|
||||||
! Make the filter causal for overlap and add.
|
! Make the filter causal for overlap and add.
|
||||||
cx(0)=0.0
|
cx(0)=0.0
|
||||||
@ -139,8 +139,7 @@ subroutine refspectrum(id2,bclear,brefspec,buseref,fname)
|
|||||||
x(800:NH)=0.0
|
x(800:NH)=0.0
|
||||||
call four2a(cx,NFFT,1,-1,0)
|
call four2a(cx,NFFT,1,-1,0)
|
||||||
cfil=cx
|
cfil=cx
|
||||||
100 close(16)
|
close(16)
|
||||||
110 continue
|
|
||||||
endif
|
endif
|
||||||
! Use overlap and add method to apply causal reference filter.
|
! Use overlap and add method to apply causal reference filter.
|
||||||
x(0:NH-1)=id2(1:NH)
|
x(0:NH-1)=id2(1:NH)
|
||||||
@ -154,6 +153,6 @@ subroutine refspectrum(id2,bclear,brefspec,buseref,fname)
|
|||||||
id2(1:NH)=nint(x(0:NH-1))
|
id2(1:NH)=nint(x(0:NH-1))
|
||||||
endif
|
endif
|
||||||
blastuse=buseref
|
blastuse=buseref
|
||||||
|
|
||||||
return
|
999 return
|
||||||
end subroutine refspectrum
|
end subroutine refspectrum
|
||||||
|
@ -243,7 +243,7 @@ int floatcomp(const void* elem1, const void* elem2)
|
|||||||
int unpk_(signed char *message, char *hashtab, char *loctab, char *call_loc_pow, char *callsign)
|
int unpk_(signed char *message, char *hashtab, char *loctab, char *call_loc_pow, char *callsign)
|
||||||
{
|
{
|
||||||
int n1,n2,n3,ndbm,ihash,nadd,noprint=0;
|
int n1,n2,n3,ndbm,ihash,nadd,noprint=0;
|
||||||
char grid[5],grid6[7],cdbm[3];
|
char grid[5],grid6[7],cdbm[4];
|
||||||
|
|
||||||
unpack50(message,&n1,&n2);
|
unpack50(message,&n1,&n2);
|
||||||
if( !unpackcall(n1,callsign) ) return 1;
|
if( !unpackcall(n1,callsign) ) return 1;
|
||||||
|
148
main.cpp
@ -107,10 +107,23 @@ int main(int argc, char *argv[])
|
|||||||
ExceptionCatchingApplication a(argc, argv);
|
ExceptionCatchingApplication a(argc, argv);
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
QLocale locale; // get the current system locale
|
||||||
|
qDebug () << "locale: language:" << locale.language () << "script:" << locale.script ()
|
||||||
|
<< "country:" << locale.country () << "ui-languages:" << locale.uiLanguages ();
|
||||||
|
setlocale (LC_NUMERIC, "C"); // ensure number forms are in
|
||||||
|
// consistent format, do this after
|
||||||
|
// instantiating QApplication so
|
||||||
|
// that GUI has correct l18n
|
||||||
|
|
||||||
|
// Override programs executable basename as application name.
|
||||||
|
a.setApplicationName ("WSJT-X");
|
||||||
|
a.setApplicationVersion (version ());
|
||||||
|
|
||||||
//
|
//
|
||||||
// Enable i18n
|
// Enable base i18n
|
||||||
//
|
//
|
||||||
QTranslator translator_from_resources;
|
QTranslator translator_from_resources;
|
||||||
|
QTranslator base_translator_from_resources;
|
||||||
// Default translations for releases use translations stored in
|
// Default translations for releases use translations stored in
|
||||||
// the resources file system under the Translations
|
// the resources file system under the Translations
|
||||||
// directory. These are built by the CMake build system from .ts
|
// directory. These are built by the CMake build system from .ts
|
||||||
@ -121,28 +134,25 @@ int main(int argc, char *argv[])
|
|||||||
// translations but should only be set when adding new
|
// translations but should only be set when adding new
|
||||||
// languages. The resulting .ts files should be checked info
|
// languages. The resulting .ts files should be checked info
|
||||||
// source control for translators to access and update.
|
// source control for translators to access and update.
|
||||||
translator_from_resources.load (QLocale::system (), "wsjtx", "_", ":/Translations");
|
|
||||||
a.installTranslator (&translator_from_resources);
|
|
||||||
|
|
||||||
QTranslator translator_from_files;
|
// try and load the base translation
|
||||||
// Load any matching translation from the current directory
|
for (QString locale_name : locale.uiLanguages ())
|
||||||
// using the locale name. This allows translators to easily test
|
{
|
||||||
// their translations by releasing (lrelease) a .qm file into
|
auto language = locale_name.left (2);
|
||||||
// the current directory with a suitable name
|
if (base_translator_from_resources.load ("wsjtx_" + language, ":/Translations"))
|
||||||
// (e.g. wsjtx_en_GB.qm), then running wsjtx to view the
|
{
|
||||||
// results. Either the system locale setting or the environment
|
qDebug () << QString {"Loaded base translation file from :/Translations based on language %1"}.arg (language);
|
||||||
// variable LANG can be used to select the target language.
|
a.installTranslator (&base_translator_from_resources);
|
||||||
translator_from_files.load (QString {"wsjtx_"} + QLocale::system ().name ());
|
break;
|
||||||
a.installTranslator (&translator_from_files);
|
}
|
||||||
|
}
|
||||||
setlocale (LC_NUMERIC, "C"); // ensure number forms are in
|
// now try and load the most specific translations (may be a
|
||||||
// consistent format, do this after
|
// duplicate but we shouldn't care)
|
||||||
// instantiating QApplication so
|
if (translator_from_resources.load (locale, "wsjtx", "_", ":/Translations"))
|
||||||
// that GUI has correct l18n
|
{
|
||||||
|
qDebug () << "Loaded translations for current locale from resources";
|
||||||
// Override programs executable basename as application name.
|
a.installTranslator (&translator_from_resources);
|
||||||
a.setApplicationName ("WSJT-X");
|
}
|
||||||
a.setApplicationVersion (version ());
|
|
||||||
|
|
||||||
QCommandLineParser parser;
|
QCommandLineParser parser;
|
||||||
parser.setApplicationDescription ("\n" PROJECT_SUMMARY_DESCRIPTION);
|
parser.setApplicationDescription ("\n" PROJECT_SUMMARY_DESCRIPTION);
|
||||||
@ -161,6 +171,12 @@ int main(int argc, char *argv[])
|
|||||||
, a.translate ("main", "configuration"));
|
, a.translate ("main", "configuration"));
|
||||||
parser.addOption (cfg_option);
|
parser.addOption (cfg_option);
|
||||||
|
|
||||||
|
// support for UI language override (useful on Windows)
|
||||||
|
QCommandLineOption lang_option (QStringList {} << "l" << "language"
|
||||||
|
, a.translate ("main", "Where <language> is <lang-code>[-<country-code>].")
|
||||||
|
, a.translate ("main", "language"));
|
||||||
|
parser.addOption (lang_option);
|
||||||
|
|
||||||
QCommandLineOption test_option (QStringList {} << "test-mode"
|
QCommandLineOption test_option (QStringList {} << "test-mode"
|
||||||
, a.translate ("main", "Writable files in test location. Use with caution, for testing only."));
|
, a.translate ("main", "Writable files in test location. Use with caution, for testing only."));
|
||||||
parser.addOption (test_option);
|
parser.addOption (test_option);
|
||||||
@ -184,6 +200,94 @@ int main(int argc, char *argv[])
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
// Complete i18n
|
||||||
|
//
|
||||||
|
|
||||||
|
QTranslator translation_override_from_resources;
|
||||||
|
QTranslator base_translation_override_from_resources;
|
||||||
|
// Load any matching translation from the current directory
|
||||||
|
// using the command line option language override. This allows
|
||||||
|
// translators to easily test their translations by releasing
|
||||||
|
// (lrelease) a .qm file into the current directory with a
|
||||||
|
// suitable name (e.g. wsjtx_en_GB.qm), then running wsjtx to
|
||||||
|
// view the results.
|
||||||
|
if (parser.isSet (lang_option))
|
||||||
|
{
|
||||||
|
auto language = parser.value (lang_option).replace ('-', '_');
|
||||||
|
// try and load the base translation
|
||||||
|
auto base_language = language.left (2);
|
||||||
|
if (base_translation_override_from_resources.load ("wsjtx_" + base_language, ":/Translations"))
|
||||||
|
{
|
||||||
|
qDebug () << QString {"Loaded base translation file from :/Translations based on language %1"}.arg (base_language);
|
||||||
|
a.installTranslator (&base_translation_override_from_resources);
|
||||||
|
}
|
||||||
|
// now load the requested translations (may be a duplicate
|
||||||
|
// but we shouldn't care)
|
||||||
|
if (translation_override_from_resources.load ("wsjtx_" + language , ":/Translations"))
|
||||||
|
{
|
||||||
|
qDebug () << QString {"Loaded translation file from :/Translations based on language %1"}.arg (language);
|
||||||
|
a.installTranslator (&translation_override_from_resources);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
QTranslator translator_from_cwd;
|
||||||
|
QTranslator base_translator_from_cwd;
|
||||||
|
// Load any matching translation from the current directory
|
||||||
|
// using the current locale. This allows translators to easily
|
||||||
|
// test their translations by releasing (lrelease) a .qm file
|
||||||
|
// into the current directory with a suitable name (e.g.
|
||||||
|
// wsjtx_en_GB.qm), then running wsjtx to view the results. The
|
||||||
|
// system locale setting will be used to select the translation
|
||||||
|
// file which can be overridden by the LANG environment variable
|
||||||
|
// on non-Windows system.
|
||||||
|
|
||||||
|
// try and load the base translation
|
||||||
|
for (QString locale_name : locale.uiLanguages ())
|
||||||
|
{
|
||||||
|
auto language = locale_name.left (2);
|
||||||
|
if (base_translator_from_cwd.load ("wsjtx_" + language))
|
||||||
|
{
|
||||||
|
qDebug () << QString {"Loaded base translation file from $cwd based on language %1"}.arg (language);
|
||||||
|
a.installTranslator (&base_translator_from_cwd);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// now try and load the most specific translations (may be a
|
||||||
|
// duplicate but we shouldn't care)
|
||||||
|
if (translator_from_cwd.load (locale, "wsjtx", "_"))
|
||||||
|
{
|
||||||
|
qDebug () << "loaded translations for current locale from a file";
|
||||||
|
a.installTranslator (&translator_from_cwd);
|
||||||
|
}
|
||||||
|
|
||||||
|
QTranslator translation_override_from_cwd;
|
||||||
|
QTranslator base_translation_override_from_cwd;
|
||||||
|
// Load any matching translation from the current directory
|
||||||
|
// using the command line option language override. This allows
|
||||||
|
// translators to easily test their translations on Windows by
|
||||||
|
// releasing (lrelease) a .qm file into the current directory
|
||||||
|
// with a suitable name (e.g. wsjtx_en_GB.qm), then running
|
||||||
|
// wsjtx to view the results.
|
||||||
|
if (parser.isSet (lang_option))
|
||||||
|
{
|
||||||
|
auto language = parser.value (lang_option).replace ('-', '_');
|
||||||
|
// try and load the base translation
|
||||||
|
auto base_language = language.left (2);
|
||||||
|
if (base_translation_override_from_cwd.load ("wsjtx_" + base_language))
|
||||||
|
{
|
||||||
|
qDebug () << QString {"Loaded base translation file from $cwd based on language %1"}.arg (base_language);
|
||||||
|
a.installTranslator (&base_translation_override_from_cwd);
|
||||||
|
}
|
||||||
|
// now load the requested translations (may be a duplicate
|
||||||
|
// but we shouldn't care)
|
||||||
|
if (translation_override_from_cwd.load ("wsjtx_" + language))
|
||||||
|
{
|
||||||
|
qDebug () << QString {"loaded translation file from $cwd based on language %1"}.arg (language);
|
||||||
|
a.installTranslator (&translation_override_from_cwd);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
QStandardPaths::setTestModeEnabled (parser.isSet (test_option));
|
QStandardPaths::setTestModeEnabled (parser.isSet (test_option));
|
||||||
|
|
||||||
// support for multiple instances running from a single installation
|
// support for multiple instances running from a single installation
|
||||||
|
@ -101,22 +101,22 @@ QString DecodeHighlightingModel::highlight_name (Highlight h)
|
|||||||
{
|
{
|
||||||
switch (h)
|
switch (h)
|
||||||
{
|
{
|
||||||
case Highlight::CQ: return "CQ in message";
|
case Highlight::CQ: return tr ("CQ in message");
|
||||||
case Highlight::MyCall: return "My Call in message";
|
case Highlight::MyCall: return tr ("My Call in message");
|
||||||
case Highlight::Tx: return "Transmitted message";
|
case Highlight::Tx: return tr ("Transmitted message");
|
||||||
case Highlight::DXCC: return "New DXCC";
|
case Highlight::DXCC: return tr ("New DXCC");
|
||||||
case Highlight::DXCCBand: return "New DXCC on Band";
|
case Highlight::DXCCBand: return tr ("New DXCC on Band");
|
||||||
case Highlight::Grid: return "New Grid";
|
case Highlight::Grid: return tr ("New Grid");
|
||||||
case Highlight::GridBand: return "New Grid on Band";
|
case Highlight::GridBand: return tr ("New Grid on Band");
|
||||||
case Highlight::Call: return "New Call";
|
case Highlight::Call: return tr ("New Call");
|
||||||
case Highlight::CallBand: return "New Call on Band";
|
case Highlight::CallBand: return tr ("New Call on Band");
|
||||||
case Highlight::Continent: return "New Continent";
|
case Highlight::Continent: return tr ("New Continent");
|
||||||
case Highlight::ContinentBand: return "New Continent on Band";
|
case Highlight::ContinentBand: return tr ("New Continent on Band");
|
||||||
case Highlight::CQZone: return "New CQ Zone";
|
case Highlight::CQZone: return tr ("New CQ Zone");
|
||||||
case Highlight::CQZoneBand: return "New CQ Zone on Band";
|
case Highlight::CQZoneBand: return tr ("New CQ Zone on Band");
|
||||||
case Highlight::ITUZone: return "New ITU Zone";
|
case Highlight::ITUZone: return tr ("New ITU Zone");
|
||||||
case Highlight::ITUZoneBand: return "New ITU Zone on Band";
|
case Highlight::ITUZoneBand: return tr ("New ITU Zone on Band");
|
||||||
case Highlight::LotW: return "LotW User";
|
case Highlight::LotW: return tr ("LoTW User");
|
||||||
}
|
}
|
||||||
return "Unknown";
|
return "Unknown";
|
||||||
}
|
}
|
||||||
@ -166,9 +166,9 @@ QVariant DecodeHighlightingModel::data (const QModelIndex& index, int role) cons
|
|||||||
return QString {"%1%2%3%4%4%5%6"}
|
return QString {"%1%2%3%4%4%5%6"}
|
||||||
.arg (highlight_name (item.type_))
|
.arg (highlight_name (item.type_))
|
||||||
.arg (fg_unset || bg_unset ? QString {" ["} : QString {})
|
.arg (fg_unset || bg_unset ? QString {" ["} : QString {})
|
||||||
.arg (fg_unset ? QString {"f/g unset"} : QString {})
|
.arg (fg_unset ? tr ("f/g unset") : QString {})
|
||||||
.arg (fg_unset && bg_unset ? QString {" "} : QString {})
|
.arg (fg_unset && bg_unset ? QString {" "} : QString {})
|
||||||
.arg (bg_unset ? QString {"b/g unset"} : QString {})
|
.arg (bg_unset ? tr ("b/g unset") : QString {})
|
||||||
.arg (fg_unset || bg_unset ? QString {"]"} : QString {});
|
.arg (fg_unset || bg_unset ? QString {"]"} : QString {});
|
||||||
break;
|
break;
|
||||||
case Qt::ForegroundRole:
|
case Qt::ForegroundRole:
|
||||||
|
@ -124,6 +124,7 @@ namespace
|
|||||||
// 7110 LSB EMCOMM
|
// 7110 LSB EMCOMM
|
||||||
//
|
//
|
||||||
{7038600, Modes::WSPR, IARURegions::ALL},
|
{7038600, Modes::WSPR, IARURegions::ALL},
|
||||||
|
{7071000, Modes::FT8, IARURegions::ALL},
|
||||||
{7074000, Modes::FT8, IARURegions::ALL},
|
{7074000, Modes::FT8, IARURegions::ALL},
|
||||||
{7076000, Modes::JT65, IARURegions::ALL},
|
{7076000, Modes::JT65, IARURegions::ALL},
|
||||||
{7078000, Modes::JT9, IARURegions::ALL},
|
{7078000, Modes::JT9, IARURegions::ALL},
|
||||||
@ -157,6 +158,7 @@ namespace
|
|||||||
// 10142.25 OLIVIA, Contestia, etc.
|
// 10142.25 OLIVIA, Contestia, etc.
|
||||||
// 10143.25 OLIVIA, Contestia, etc. (main QRQ)
|
// 10143.25 OLIVIA, Contestia, etc. (main QRQ)
|
||||||
//
|
//
|
||||||
|
{10133000, Modes::FT8, IARURegions::ALL},
|
||||||
{10136000, Modes::FT8, IARURegions::ALL},
|
{10136000, Modes::FT8, IARURegions::ALL},
|
||||||
{10138000, Modes::JT65, IARURegions::ALL},
|
{10138000, Modes::JT65, IARURegions::ALL},
|
||||||
{10138700, Modes::WSPR, IARURegions::ALL},
|
{10138700, Modes::WSPR, IARURegions::ALL},
|
||||||
@ -201,6 +203,7 @@ namespace
|
|||||||
// 14106.5 OLIVIA 1000 (main QRG)
|
// 14106.5 OLIVIA 1000 (main QRG)
|
||||||
//
|
//
|
||||||
{14095600, Modes::WSPR, IARURegions::ALL},
|
{14095600, Modes::WSPR, IARURegions::ALL},
|
||||||
|
{14071000, Modes::FT8, IARURegions::ALL},
|
||||||
{14074000, Modes::FT8, IARURegions::ALL},
|
{14074000, Modes::FT8, IARURegions::ALL},
|
||||||
{14076000, Modes::JT65, IARURegions::ALL},
|
{14076000, Modes::JT65, IARURegions::ALL},
|
||||||
{14078000, Modes::JT9, IARURegions::ALL},
|
{14078000, Modes::JT9, IARURegions::ALL},
|
||||||
@ -267,6 +270,7 @@ namespace
|
|||||||
{50293000, Modes::WSPR, IARURegions::R3},
|
{50293000, Modes::WSPR, IARURegions::R3},
|
||||||
{50310000, Modes::JT65, IARURegions::ALL},
|
{50310000, Modes::JT65, IARURegions::ALL},
|
||||||
{50312000, Modes::JT9, IARURegions::ALL},
|
{50312000, Modes::JT9, IARURegions::ALL},
|
||||||
|
{50310000, Modes::FT8, IARURegions::ALL},
|
||||||
{50313000, Modes::FT8, IARURegions::ALL},
|
{50313000, Modes::FT8, IARURegions::ALL},
|
||||||
{50318000, Modes::FT4, IARURegions::ALL}, // provisional
|
{50318000, Modes::FT4, IARURegions::ALL}, // provisional
|
||||||
{50323000, Modes::FT8, IARURegions::ALL},
|
{50323000, Modes::FT8, IARURegions::ALL},
|
||||||
|
@ -37,8 +37,9 @@
|
|||||||
<tr><td><b>Ctrl+O </b></td><td>Open a .wav file</td></tr>
|
<tr><td><b>Ctrl+O </b></td><td>Open a .wav file</td></tr>
|
||||||
<tr><td><b>Alt+O </b></td><td>Change operator</td></tr>
|
<tr><td><b>Alt+O </b></td><td>Change operator</td></tr>
|
||||||
<tr><td><b>Alt+Q </b></td><td>Log QSO</td></tr>
|
<tr><td><b>Alt+Q </b></td><td>Log QSO</td></tr>
|
||||||
<tr><td><b>Ctrl+R </b></td><td>Set Tx4 message to RRR</td></tr>
|
<tr><td><b>Ctrl+R </b></td><td>Set Tx4 message to RRR (not in FT4)</td></tr>
|
||||||
<tr><td><b>Alt+R </b></td><td>Set Tx4 message to RR73</td></tr>
|
<tr><td><b>Alt+R </b></td><td>Set Tx4 message to RR73</td></tr>
|
||||||
<tr><td><b>Alt+S </b></td><td>Stop monitoring</td></tr>
|
<tr><td><b>Alt+S </b></td><td>Stop monitoring</td></tr>
|
||||||
<tr><td><b>Alt+T </b></td><td>Tune</td></tr>
|
<tr><td><b>Alt+T </b></td><td>Toggle Tune status</td></tr>
|
||||||
|
<tr><td><b>Alt+Z </b></td><td>Clear hung decoder status</td></tr>
|
||||||
</table>
|
</table>
|
||||||
|
@ -18,7 +18,7 @@
|
|||||||
</message>
|
</message>
|
||||||
<message numerus="yes">
|
<message numerus="yes">
|
||||||
<location filename="../widgets/AbstractLogWindow.cpp" line="65"/>
|
<location filename="../widgets/AbstractLogWindow.cpp" line="65"/>
|
||||||
<source>Are you sure you want to delete the %n selected QSO(s) from the log</source>
|
<source>Are you sure you want to delete the %n selected QSO(s) from the log?</source>
|
||||||
<translation type="unfinished">
|
<translation type="unfinished">
|
||||||
<numerusform></numerusform>
|
<numerusform></numerusform>
|
||||||
<numerusform></numerusform>
|
<numerusform></numerusform>
|
||||||
@ -692,7 +692,7 @@ Format:
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../Transceiver/DXLabSuiteCommanderTransceiver.cpp" line="504"/>
|
<location filename="../Transceiver/DXLabSuiteCommanderTransceiver.cpp" line="503"/>
|
||||||
<source>DX Lab Suite Commander sent an unrecognized frequency</source>
|
<source>DX Lab Suite Commander sent an unrecognized frequency</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@ -737,6 +737,96 @@ Format:
|
|||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>DecodeHighlightingModel</name>
|
<name>DecodeHighlightingModel</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../models/DecodeHighlightingModel.cpp" line="104"/>
|
||||||
|
<source>CQ in message</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../models/DecodeHighlightingModel.cpp" line="105"/>
|
||||||
|
<source>My Call in message</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../models/DecodeHighlightingModel.cpp" line="106"/>
|
||||||
|
<source>Transmitted message</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../models/DecodeHighlightingModel.cpp" line="107"/>
|
||||||
|
<source>New DXCC</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../models/DecodeHighlightingModel.cpp" line="108"/>
|
||||||
|
<source>New DXCC on Band</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../models/DecodeHighlightingModel.cpp" line="109"/>
|
||||||
|
<source>New Grid</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../models/DecodeHighlightingModel.cpp" line="110"/>
|
||||||
|
<source>New Grid on Band</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../models/DecodeHighlightingModel.cpp" line="111"/>
|
||||||
|
<source>New Call</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../models/DecodeHighlightingModel.cpp" line="112"/>
|
||||||
|
<source>New Call on Band</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../models/DecodeHighlightingModel.cpp" line="113"/>
|
||||||
|
<source>New Continent</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../models/DecodeHighlightingModel.cpp" line="114"/>
|
||||||
|
<source>New Continent on Band</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../models/DecodeHighlightingModel.cpp" line="115"/>
|
||||||
|
<source>New CQ Zone</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../models/DecodeHighlightingModel.cpp" line="116"/>
|
||||||
|
<source>New CQ Zone on Band</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../models/DecodeHighlightingModel.cpp" line="117"/>
|
||||||
|
<source>New ITU Zone</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../models/DecodeHighlightingModel.cpp" line="118"/>
|
||||||
|
<source>New ITU Zone on Band</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../models/DecodeHighlightingModel.cpp" line="119"/>
|
||||||
|
<source>LoTW User</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../models/DecodeHighlightingModel.cpp" line="169"/>
|
||||||
|
<source>f/g unset</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../models/DecodeHighlightingModel.cpp" line="171"/>
|
||||||
|
<source>b/g unset</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../models/DecodeHighlightingModel.cpp" line="244"/>
|
<location filename="../models/DecodeHighlightingModel.cpp" line="244"/>
|
||||||
<source>Highlight Type</source>
|
<source>Highlight Type</source>
|
||||||
@ -1822,6 +1912,12 @@ Error(%2): %3</source>
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.ui" line="50"/>
|
<location filename="../widgets/mainwindow.ui" line="50"/>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="5797"/>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="5845"/>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="6003"/>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="6043"/>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="6091"/>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="6216"/>
|
||||||
<source>Band Activity</source>
|
<source>Band Activity</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@ -1833,6 +1929,11 @@ Error(%2): %3</source>
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.ui" line="194"/>
|
<location filename="../widgets/mainwindow.ui" line="194"/>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="5796"/>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="5840"/>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="6004"/>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="6044"/>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="6092"/>
|
||||||
<source>Rx Frequency</source>
|
<source>Rx Frequency</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@ -2290,6 +2391,7 @@ Not available to nonstandard callsign holders.</source>
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.ui" line="1394"/>
|
<location filename="../widgets/mainwindow.ui" line="1394"/>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="5867"/>
|
||||||
<source>Fox</source>
|
<source>Fox</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@ -3130,6 +3232,7 @@ list. The list can be maintained in Settings (F2).</source>
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.ui" line="3125"/>
|
<location filename="../widgets/mainwindow.ui" line="3125"/>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="8103"/>
|
||||||
<source>Runaway Tx watchdog</source>
|
<source>Runaway Tx watchdog</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@ -3404,6 +3507,13 @@ list. The list can be maintained in Settings (F2).</source>
|
|||||||
<source>Rig Control Error</source>
|
<source>Rig Control Error</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="329"/>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="4120"/>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="7634"/>
|
||||||
|
<source>Receiving</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="437"/>
|
<location filename="../widgets/mainwindow.cpp" line="437"/>
|
||||||
<source>Do you want to reconfigure the radio interface?</source>
|
<source>Do you want to reconfigure the radio interface?</source>
|
||||||
@ -3434,6 +3544,26 @@ list. The list can be maintained in Settings (F2).</source>
|
|||||||
<source>Configurations...</source>
|
<source>Configurations...</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="828"/>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="5792"/>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="5798"/>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="5836"/>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="5846"/>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="5943"/>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="5944"/>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="5992"/>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="5993"/>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="5997"/>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="5998"/>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="6045"/>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="6046"/>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="6211"/>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="6212"/>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="6397"/>
|
||||||
|
<source>Message</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="842"/>
|
<location filename="../widgets/mainwindow.cpp" line="842"/>
|
||||||
<source>Error Killing jt9.exe Process</source>
|
<source>Error Killing jt9.exe Process</source>
|
||||||
@ -3456,22 +3586,22 @@ list. The list can be maintained in Settings (F2).</source>
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="1258"/>
|
<location filename="../widgets/mainwindow.cpp" line="1258"/>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="6187"/>
|
<location filename="../widgets/mainwindow.cpp" line="6186"/>
|
||||||
<source>Improper mode</source>
|
<source>Improper mode</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="1409"/>
|
<location filename="../widgets/mainwindow.cpp" line="1409"/>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="8731"/>
|
<location filename="../widgets/mainwindow.cpp" line="8730"/>
|
||||||
<source>File Open Error</source>
|
<source>File Open Error</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="1410"/>
|
<location filename="../widgets/mainwindow.cpp" line="1410"/>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="7749"/>
|
<location filename="../widgets/mainwindow.cpp" line="7748"/>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="8178"/>
|
<location filename="../widgets/mainwindow.cpp" line="8177"/>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="8732"/>
|
<location filename="../widgets/mainwindow.cpp" line="8731"/>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="8858"/>
|
<location filename="../widgets/mainwindow.cpp" line="8857"/>
|
||||||
<source>Cannot open "%1" for append: %2</source>
|
<source>Cannot open "%1" for append: %2</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@ -3490,6 +3620,20 @@ list. The list can be maintained in Settings (F2).</source>
|
|||||||
<source>Error in Sound Output</source>
|
<source>Error in Sound Output</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="1787"/>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="5941"/>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="6087"/>
|
||||||
|
<source>Single-Period Decodes</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="1788"/>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="5942"/>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="6088"/>
|
||||||
|
<source>Average Decodes</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="2089"/>
|
<location filename="../widgets/mainwindow.cpp" line="2089"/>
|
||||||
<source>Change Operator</source>
|
<source>Change Operator</source>
|
||||||
@ -3507,7 +3651,7 @@ list. The list can be maintained in Settings (F2).</source>
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="2200"/>
|
<location filename="../widgets/mainwindow.cpp" line="2200"/>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="5406"/>
|
<location filename="../widgets/mainwindow.cpp" line="5405"/>
|
||||||
<source>Cannot open "%1" for writing: %2</source>
|
<source>Cannot open "%1" for writing: %2</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@ -3625,7 +3769,12 @@ list. The list can be maintained in Settings (F2).</source>
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="4625"/>
|
<location filename="../widgets/mainwindow.cpp" line="4224"/>
|
||||||
|
<source>Last Tx: %1</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="4624"/>
|
||||||
<source>Should you switch to EU VHF Contest mode?
|
<source>Should you switch to EU VHF Contest mode?
|
||||||
|
|
||||||
To do so, check 'Special operating activity' and
|
To do so, check 'Special operating activity' and
|
||||||
@ -3633,161 +3782,181 @@ To do so, check 'Special operating activity' and
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="4644"/>
|
<location filename="../widgets/mainwindow.cpp" line="4643"/>
|
||||||
<source>Should you switch to ARRL Field Day mode?</source>
|
<source>Should you switch to ARRL Field Day mode?</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="4649"/>
|
<location filename="../widgets/mainwindow.cpp" line="4648"/>
|
||||||
<source>Should you switch to RTTY contest mode?</source>
|
<source>Should you switch to RTTY contest mode?</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="5373"/>
|
<location filename="../widgets/mainwindow.cpp" line="5372"/>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="5392"/>
|
<location filename="../widgets/mainwindow.cpp" line="5391"/>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="5405"/>
|
<location filename="../widgets/mainwindow.cpp" line="5404"/>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="5431"/>
|
<location filename="../widgets/mainwindow.cpp" line="5430"/>
|
||||||
<source>Add to CALL3.TXT</source>
|
<source>Add to CALL3.TXT</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="5374"/>
|
<location filename="../widgets/mainwindow.cpp" line="5373"/>
|
||||||
<source>Please enter a valid grid locator</source>
|
<source>Please enter a valid grid locator</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="5393"/>
|
<location filename="../widgets/mainwindow.cpp" line="5392"/>
|
||||||
<source>Cannot open "%1" for read/write: %2</source>
|
<source>Cannot open "%1" for read/write: %2</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="5429"/>
|
<location filename="../widgets/mainwindow.cpp" line="5428"/>
|
||||||
<source>%1
|
<source>%1
|
||||||
is already in CALL3.TXT, do you wish to replace it?</source>
|
is already in CALL3.TXT, do you wish to replace it?</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="5604"/>
|
<location filename="../widgets/mainwindow.cpp" line="5603"/>
|
||||||
<source>Warning: DX Call field is empty.</source>
|
<source>Warning: DX Call field is empty.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="5661"/>
|
<location filename="../widgets/mainwindow.cpp" line="5660"/>
|
||||||
<source>Log file error</source>
|
<source>Log file error</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="5662"/>
|
<location filename="../widgets/mainwindow.cpp" line="5661"/>
|
||||||
<source>Cannot open "%1"</source>
|
<source>Cannot open "%1"</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="5678"/>
|
<location filename="../widgets/mainwindow.cpp" line="5677"/>
|
||||||
<source>Error sending log to N1MM</source>
|
<source>Error sending log to N1MM</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="5679"/>
|
<location filename="../widgets/mainwindow.cpp" line="5678"/>
|
||||||
<source>Write returned "%1"</source>
|
<source>Write returned "%1"</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="6469"/>
|
<location filename="../widgets/mainwindow.cpp" line="5842"/>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="6502"/>
|
<source>Stations calling DXpedition %1</source>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="6512"/>
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="5877"/>
|
||||||
|
<source>Hound</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="6217"/>
|
||||||
|
<source>Tx Messages</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="6468"/>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="6501"/>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="6511"/>
|
||||||
<source>Confirm Erase</source>
|
<source>Confirm Erase</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="6470"/>
|
<location filename="../widgets/mainwindow.cpp" line="6469"/>
|
||||||
<source>Are you sure you want to erase file ALL.TXT?</source>
|
<source>Are you sure you want to erase file ALL.TXT?</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="6480"/>
|
<location filename="../widgets/mainwindow.cpp" line="6479"/>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="8223"/>
|
<location filename="../widgets/mainwindow.cpp" line="8222"/>
|
||||||
<source>Confirm Reset</source>
|
<source>Confirm Reset</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="6481"/>
|
<location filename="../widgets/mainwindow.cpp" line="6480"/>
|
||||||
<source>Are you sure you want to erase your contest log?</source>
|
<source>Are you sure you want to erase your contest log?</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="6482"/>
|
<location filename="../widgets/mainwindow.cpp" line="6481"/>
|
||||||
<source>Doing this will remove all QSO records for the current contest. They will be kept in the ADIF log file but will not be available for export in your Cabrillo log.</source>
|
<source>Doing this will remove all QSO records for the current contest. They will be kept in the ADIF log file but will not be available for export in your Cabrillo log.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="6495"/>
|
<location filename="../widgets/mainwindow.cpp" line="6494"/>
|
||||||
<source>Cabrillo Log saved</source>
|
<source>Cabrillo Log saved</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="6503"/>
|
<location filename="../widgets/mainwindow.cpp" line="6502"/>
|
||||||
<source>Are you sure you want to erase file wsjtx_log.adi?</source>
|
<source>Are you sure you want to erase file wsjtx_log.adi?</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="6513"/>
|
<location filename="../widgets/mainwindow.cpp" line="6512"/>
|
||||||
<source>Are you sure you want to erase the WSPR hashtable?</source>
|
<source>Are you sure you want to erase the WSPR hashtable?</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="6607"/>
|
<location filename="../widgets/mainwindow.cpp" line="6606"/>
|
||||||
<source>VHF features warning</source>
|
<source>VHF features warning</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="7212"/>
|
<location filename="../widgets/mainwindow.cpp" line="7211"/>
|
||||||
<source>Tune digital gain </source>
|
<source>Tune digital gain </source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="7214"/>
|
<location filename="../widgets/mainwindow.cpp" line="7213"/>
|
||||||
<source>Transmit digital gain </source>
|
<source>Transmit digital gain </source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="7233"/>
|
<location filename="../widgets/mainwindow.cpp" line="7232"/>
|
||||||
<source>Prefixes</source>
|
<source>Prefixes</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="7602"/>
|
<location filename="../widgets/mainwindow.cpp" line="7601"/>
|
||||||
<source>Network Error</source>
|
<source>Network Error</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="7603"/>
|
<location filename="../widgets/mainwindow.cpp" line="7602"/>
|
||||||
<source>Error: %1
|
<source>Error: %1
|
||||||
UDP server %2:%3</source>
|
UDP server %2:%3</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="7748"/>
|
<location filename="../widgets/mainwindow.cpp" line="7747"/>
|
||||||
<source>File Error</source>
|
<source>File Error</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="7982"/>
|
<location filename="../widgets/mainwindow.cpp" line="7981"/>
|
||||||
<source>Phase Training Disabled</source>
|
<source>Phase Training Disabled</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="7985"/>
|
<location filename="../widgets/mainwindow.cpp" line="7984"/>
|
||||||
<source>Phase Training Enabled</source>
|
<source>Phase Training Enabled</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="8181"/>
|
<location filename="../widgets/mainwindow.cpp" line="8118"/>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="8861"/>
|
<source>WD:%1m</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="8180"/>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="8860"/>
|
||||||
<source>Log File Error</source>
|
<source>Log File Error</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="8224"/>
|
<location filename="../widgets/mainwindow.cpp" line="8223"/>
|
||||||
<source>Are you sure you want to clear the QSO queues?</source>
|
<source>Are you sure you want to clear the QSO queues?</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@ -3945,7 +4114,7 @@ UDP server %2:%3</source>
|
|||||||
<context>
|
<context>
|
||||||
<name>QObject</name>
|
<name>QObject</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../main.cpp" line="198"/>
|
<location filename="../main.cpp" line="252"/>
|
||||||
<source>Invalid rig name - \ & / not allowed</source>
|
<source>Invalid rig name - \ & / not allowed</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@ -4959,11 +5128,6 @@ a few, particularly some Kenwood rigs, require it).</source>
|
|||||||
<source>RTS:</source>
|
<source>RTS:</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<location filename="../Configuration.ui" line="932"/>
|
|
||||||
<source>How this program activates the PTT on your radio</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<location filename="../Configuration.ui" line="935"/>
|
<location filename="../Configuration.ui" line="935"/>
|
||||||
<source>PTT Method</source>
|
<source>PTT Method</source>
|
||||||
@ -5599,6 +5763,11 @@ Right click for insert and delete options.</source>
|
|||||||
<source><html><head/><body><p>Click to scan the wsjtx_log.adi ADIF file again for worked before information</p></body></html></source>
|
<source><html><head/><body><p>Click to scan the wsjtx_log.adi ADIF file again for worked before information</p></body></html></source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../Configuration.ui" line="932"/>
|
||||||
|
<source>How this program activates the PTT on your radio?</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../Configuration.ui" line="954"/>
|
<location filename="../Configuration.ui" line="954"/>
|
||||||
<source><html><head/><body><p>Use the RS-232 DTR control line to toggle your radio's PTT, requires hardware to interface the line.</p><p>Some commercial interface units also use this method.</p><p>The DTR control line of the CAT serial port may be used for this or a DTR control line on a different serial port may be used.</p></body></html></source>
|
<source><html><head/><body><p>Use the RS-232 DTR control line to toggle your radio's PTT, requires hardware to interface the line.</p><p>Some commercial interface units also use this method.</p><p>The DTR control line of the CAT serial port may be used for this or a DTR control line on a different serial port may be used.</p></body></html></source>
|
||||||
@ -5917,104 +6086,114 @@ Right click for insert and delete options.</source>
|
|||||||
<name>main</name>
|
<name>main</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../main.cpp" line="81"/>
|
<location filename="../main.cpp" line="81"/>
|
||||||
<location filename="../main.cpp" line="414"/>
|
<location filename="../main.cpp" line="468"/>
|
||||||
<source>Fatal error</source>
|
<source>Fatal error</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../main.cpp" line="86"/>
|
<location filename="../main.cpp" line="86"/>
|
||||||
<location filename="../main.cpp" line="419"/>
|
<location filename="../main.cpp" line="473"/>
|
||||||
<source>Unexpected fatal error</source>
|
<source>Unexpected fatal error</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../main.cpp" line="154"/>
|
<location filename="../main.cpp" line="149"/>
|
||||||
<source>Where <rig-name> is for multi-instance support.</source>
|
<source>Where <rig-name> is for multi-instance support.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../main.cpp" line="155"/>
|
<location filename="../main.cpp" line="150"/>
|
||||||
<source>rig-name</source>
|
<source>rig-name</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../main.cpp" line="160"/>
|
<location filename="../main.cpp" line="155"/>
|
||||||
<source>Where <configuration> is an existing one.</source>
|
<source>Where <configuration> is an existing one.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../main.cpp" line="161"/>
|
<location filename="../main.cpp" line="156"/>
|
||||||
<source>configuration</source>
|
<source>configuration</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../main.cpp" line="165"/>
|
<location filename="../main.cpp" line="161"/>
|
||||||
|
<source>Where <language> is <lang-code>[-<country-code>].</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../main.cpp" line="162"/>
|
||||||
|
<source>language</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../main.cpp" line="166"/>
|
||||||
<source>Writable files in test location. Use with caution, for testing only.</source>
|
<source>Writable files in test location. Use with caution, for testing only.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../main.cpp" line="170"/>
|
<location filename="../main.cpp" line="171"/>
|
||||||
<source>Command line error</source>
|
<source>Command line error</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../main.cpp" line="177"/>
|
<location filename="../main.cpp" line="178"/>
|
||||||
<source>Command line help</source>
|
<source>Command line help</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../main.cpp" line="182"/>
|
<location filename="../main.cpp" line="183"/>
|
||||||
<source>Application version</source>
|
<source>Application version</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../main.cpp" line="229"/>
|
<location filename="../main.cpp" line="283"/>
|
||||||
<source>Another instance may be running</source>
|
<source>Another instance may be running</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../main.cpp" line="230"/>
|
<location filename="../main.cpp" line="284"/>
|
||||||
<source>try to remove stale lock file?</source>
|
<source>try to remove stale lock file?</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../main.cpp" line="265"/>
|
<location filename="../main.cpp" line="319"/>
|
||||||
<source>Failed to create a temporary directory</source>
|
<source>Failed to create a temporary directory</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../main.cpp" line="266"/>
|
<location filename="../main.cpp" line="320"/>
|
||||||
<location filename="../main.cpp" line="274"/>
|
<location filename="../main.cpp" line="328"/>
|
||||||
<source>Path: "%1"</source>
|
<source>Path: "%1"</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../main.cpp" line="272"/>
|
<location filename="../main.cpp" line="326"/>
|
||||||
<source>Failed to create a usable temporary directory</source>
|
<source>Failed to create a usable temporary directory</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../main.cpp" line="273"/>
|
<location filename="../main.cpp" line="327"/>
|
||||||
<source>Another application may be locking the directory</source>
|
<source>Another application may be locking the directory</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../main.cpp" line="306"/>
|
<location filename="../main.cpp" line="360"/>
|
||||||
<source>Failed to create data directory</source>
|
<source>Failed to create data directory</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../main.cpp" line="307"/>
|
<location filename="../main.cpp" line="361"/>
|
||||||
<source>path: "%1"</source>
|
<source>path: "%1"</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../main.cpp" line="362"/>
|
<location filename="../main.cpp" line="416"/>
|
||||||
<source>Shared memory error</source>
|
<source>Shared memory error</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../main.cpp" line="363"/>
|
<location filename="../main.cpp" line="417"/>
|
||||||
<source>Unable to create shared memory segment</source>
|
<source>Unable to create shared memory segment</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
@ -18,7 +18,7 @@
|
|||||||
</message>
|
</message>
|
||||||
<message numerus="yes">
|
<message numerus="yes">
|
||||||
<location filename="../widgets/AbstractLogWindow.cpp" line="65"/>
|
<location filename="../widgets/AbstractLogWindow.cpp" line="65"/>
|
||||||
<source>Are you sure you want to delete the %n selected QSO(s) from the log</source>
|
<source>Are you sure you want to delete the %n selected QSO(s) from the log?</source>
|
||||||
<translation type="unfinished">
|
<translation type="unfinished">
|
||||||
<numerusform></numerusform>
|
<numerusform></numerusform>
|
||||||
<numerusform></numerusform>
|
<numerusform></numerusform>
|
||||||
@ -692,7 +692,7 @@ Format:
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../Transceiver/DXLabSuiteCommanderTransceiver.cpp" line="504"/>
|
<location filename="../Transceiver/DXLabSuiteCommanderTransceiver.cpp" line="503"/>
|
||||||
<source>DX Lab Suite Commander sent an unrecognized frequency</source>
|
<source>DX Lab Suite Commander sent an unrecognized frequency</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@ -737,6 +737,96 @@ Format:
|
|||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>DecodeHighlightingModel</name>
|
<name>DecodeHighlightingModel</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../models/DecodeHighlightingModel.cpp" line="104"/>
|
||||||
|
<source>CQ in message</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../models/DecodeHighlightingModel.cpp" line="105"/>
|
||||||
|
<source>My Call in message</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../models/DecodeHighlightingModel.cpp" line="106"/>
|
||||||
|
<source>Transmitted message</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../models/DecodeHighlightingModel.cpp" line="107"/>
|
||||||
|
<source>New DXCC</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../models/DecodeHighlightingModel.cpp" line="108"/>
|
||||||
|
<source>New DXCC on Band</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../models/DecodeHighlightingModel.cpp" line="109"/>
|
||||||
|
<source>New Grid</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../models/DecodeHighlightingModel.cpp" line="110"/>
|
||||||
|
<source>New Grid on Band</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../models/DecodeHighlightingModel.cpp" line="111"/>
|
||||||
|
<source>New Call</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../models/DecodeHighlightingModel.cpp" line="112"/>
|
||||||
|
<source>New Call on Band</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../models/DecodeHighlightingModel.cpp" line="113"/>
|
||||||
|
<source>New Continent</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../models/DecodeHighlightingModel.cpp" line="114"/>
|
||||||
|
<source>New Continent on Band</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../models/DecodeHighlightingModel.cpp" line="115"/>
|
||||||
|
<source>New CQ Zone</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../models/DecodeHighlightingModel.cpp" line="116"/>
|
||||||
|
<source>New CQ Zone on Band</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../models/DecodeHighlightingModel.cpp" line="117"/>
|
||||||
|
<source>New ITU Zone</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../models/DecodeHighlightingModel.cpp" line="118"/>
|
||||||
|
<source>New ITU Zone on Band</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../models/DecodeHighlightingModel.cpp" line="119"/>
|
||||||
|
<source>LoTW User</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../models/DecodeHighlightingModel.cpp" line="169"/>
|
||||||
|
<source>f/g unset</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../models/DecodeHighlightingModel.cpp" line="171"/>
|
||||||
|
<source>b/g unset</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../models/DecodeHighlightingModel.cpp" line="244"/>
|
<location filename="../models/DecodeHighlightingModel.cpp" line="244"/>
|
||||||
<source>Highlight Type</source>
|
<source>Highlight Type</source>
|
||||||
@ -1822,6 +1912,12 @@ Error(%2): %3</source>
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.ui" line="50"/>
|
<location filename="../widgets/mainwindow.ui" line="50"/>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="5797"/>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="5845"/>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="6003"/>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="6043"/>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="6091"/>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="6216"/>
|
||||||
<source>Band Activity</source>
|
<source>Band Activity</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@ -1833,6 +1929,11 @@ Error(%2): %3</source>
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.ui" line="194"/>
|
<location filename="../widgets/mainwindow.ui" line="194"/>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="5796"/>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="5840"/>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="6004"/>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="6044"/>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="6092"/>
|
||||||
<source>Rx Frequency</source>
|
<source>Rx Frequency</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@ -2290,6 +2391,7 @@ Not available to nonstandard callsign holders.</source>
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.ui" line="1394"/>
|
<location filename="../widgets/mainwindow.ui" line="1394"/>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="5867"/>
|
||||||
<source>Fox</source>
|
<source>Fox</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@ -3130,6 +3232,7 @@ list. The list can be maintained in Settings (F2).</source>
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.ui" line="3125"/>
|
<location filename="../widgets/mainwindow.ui" line="3125"/>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="8103"/>
|
||||||
<source>Runaway Tx watchdog</source>
|
<source>Runaway Tx watchdog</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@ -3404,6 +3507,13 @@ list. The list can be maintained in Settings (F2).</source>
|
|||||||
<source>Rig Control Error</source>
|
<source>Rig Control Error</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="329"/>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="4120"/>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="7634"/>
|
||||||
|
<source>Receiving</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="437"/>
|
<location filename="../widgets/mainwindow.cpp" line="437"/>
|
||||||
<source>Do you want to reconfigure the radio interface?</source>
|
<source>Do you want to reconfigure the radio interface?</source>
|
||||||
@ -3434,6 +3544,26 @@ list. The list can be maintained in Settings (F2).</source>
|
|||||||
<source>Configurations...</source>
|
<source>Configurations...</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="828"/>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="5792"/>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="5798"/>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="5836"/>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="5846"/>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="5943"/>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="5944"/>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="5992"/>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="5993"/>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="5997"/>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="5998"/>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="6045"/>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="6046"/>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="6211"/>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="6212"/>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="6397"/>
|
||||||
|
<source>Message</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="842"/>
|
<location filename="../widgets/mainwindow.cpp" line="842"/>
|
||||||
<source>Error Killing jt9.exe Process</source>
|
<source>Error Killing jt9.exe Process</source>
|
||||||
@ -3456,22 +3586,22 @@ list. The list can be maintained in Settings (F2).</source>
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="1258"/>
|
<location filename="../widgets/mainwindow.cpp" line="1258"/>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="6187"/>
|
<location filename="../widgets/mainwindow.cpp" line="6186"/>
|
||||||
<source>Improper mode</source>
|
<source>Improper mode</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="1409"/>
|
<location filename="../widgets/mainwindow.cpp" line="1409"/>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="8731"/>
|
<location filename="../widgets/mainwindow.cpp" line="8730"/>
|
||||||
<source>File Open Error</source>
|
<source>File Open Error</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="1410"/>
|
<location filename="../widgets/mainwindow.cpp" line="1410"/>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="7749"/>
|
<location filename="../widgets/mainwindow.cpp" line="7748"/>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="8178"/>
|
<location filename="../widgets/mainwindow.cpp" line="8177"/>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="8732"/>
|
<location filename="../widgets/mainwindow.cpp" line="8731"/>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="8858"/>
|
<location filename="../widgets/mainwindow.cpp" line="8857"/>
|
||||||
<source>Cannot open "%1" for append: %2</source>
|
<source>Cannot open "%1" for append: %2</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@ -3490,6 +3620,20 @@ list. The list can be maintained in Settings (F2).</source>
|
|||||||
<source>Error in Sound Output</source>
|
<source>Error in Sound Output</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="1787"/>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="5941"/>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="6087"/>
|
||||||
|
<source>Single-Period Decodes</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="1788"/>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="5942"/>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="6088"/>
|
||||||
|
<source>Average Decodes</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="2089"/>
|
<location filename="../widgets/mainwindow.cpp" line="2089"/>
|
||||||
<source>Change Operator</source>
|
<source>Change Operator</source>
|
||||||
@ -3507,7 +3651,7 @@ list. The list can be maintained in Settings (F2).</source>
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="2200"/>
|
<location filename="../widgets/mainwindow.cpp" line="2200"/>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="5406"/>
|
<location filename="../widgets/mainwindow.cpp" line="5405"/>
|
||||||
<source>Cannot open "%1" for writing: %2</source>
|
<source>Cannot open "%1" for writing: %2</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@ -3625,7 +3769,12 @@ list. The list can be maintained in Settings (F2).</source>
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="4625"/>
|
<location filename="../widgets/mainwindow.cpp" line="4224"/>
|
||||||
|
<source>Last Tx: %1</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="4624"/>
|
||||||
<source>Should you switch to EU VHF Contest mode?
|
<source>Should you switch to EU VHF Contest mode?
|
||||||
|
|
||||||
To do so, check 'Special operating activity' and
|
To do so, check 'Special operating activity' and
|
||||||
@ -3633,161 +3782,181 @@ To do so, check 'Special operating activity' and
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="4644"/>
|
<location filename="../widgets/mainwindow.cpp" line="4643"/>
|
||||||
<source>Should you switch to ARRL Field Day mode?</source>
|
<source>Should you switch to ARRL Field Day mode?</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="4649"/>
|
<location filename="../widgets/mainwindow.cpp" line="4648"/>
|
||||||
<source>Should you switch to RTTY contest mode?</source>
|
<source>Should you switch to RTTY contest mode?</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="5373"/>
|
<location filename="../widgets/mainwindow.cpp" line="5372"/>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="5392"/>
|
<location filename="../widgets/mainwindow.cpp" line="5391"/>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="5405"/>
|
<location filename="../widgets/mainwindow.cpp" line="5404"/>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="5431"/>
|
<location filename="../widgets/mainwindow.cpp" line="5430"/>
|
||||||
<source>Add to CALL3.TXT</source>
|
<source>Add to CALL3.TXT</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="5374"/>
|
<location filename="../widgets/mainwindow.cpp" line="5373"/>
|
||||||
<source>Please enter a valid grid locator</source>
|
<source>Please enter a valid grid locator</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="5393"/>
|
<location filename="../widgets/mainwindow.cpp" line="5392"/>
|
||||||
<source>Cannot open "%1" for read/write: %2</source>
|
<source>Cannot open "%1" for read/write: %2</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="5429"/>
|
<location filename="../widgets/mainwindow.cpp" line="5428"/>
|
||||||
<source>%1
|
<source>%1
|
||||||
is already in CALL3.TXT, do you wish to replace it?</source>
|
is already in CALL3.TXT, do you wish to replace it?</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="5604"/>
|
<location filename="../widgets/mainwindow.cpp" line="5603"/>
|
||||||
<source>Warning: DX Call field is empty.</source>
|
<source>Warning: DX Call field is empty.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="5661"/>
|
<location filename="../widgets/mainwindow.cpp" line="5660"/>
|
||||||
<source>Log file error</source>
|
<source>Log file error</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="5662"/>
|
<location filename="../widgets/mainwindow.cpp" line="5661"/>
|
||||||
<source>Cannot open "%1"</source>
|
<source>Cannot open "%1"</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="5678"/>
|
<location filename="../widgets/mainwindow.cpp" line="5677"/>
|
||||||
<source>Error sending log to N1MM</source>
|
<source>Error sending log to N1MM</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="5679"/>
|
<location filename="../widgets/mainwindow.cpp" line="5678"/>
|
||||||
<source>Write returned "%1"</source>
|
<source>Write returned "%1"</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="6469"/>
|
<location filename="../widgets/mainwindow.cpp" line="5842"/>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="6502"/>
|
<source>Stations calling DXpedition %1</source>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="6512"/>
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="5877"/>
|
||||||
|
<source>Hound</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="6217"/>
|
||||||
|
<source>Tx Messages</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="6468"/>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="6501"/>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="6511"/>
|
||||||
<source>Confirm Erase</source>
|
<source>Confirm Erase</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="6470"/>
|
<location filename="../widgets/mainwindow.cpp" line="6469"/>
|
||||||
<source>Are you sure you want to erase file ALL.TXT?</source>
|
<source>Are you sure you want to erase file ALL.TXT?</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="6480"/>
|
<location filename="../widgets/mainwindow.cpp" line="6479"/>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="8223"/>
|
<location filename="../widgets/mainwindow.cpp" line="8222"/>
|
||||||
<source>Confirm Reset</source>
|
<source>Confirm Reset</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="6481"/>
|
<location filename="../widgets/mainwindow.cpp" line="6480"/>
|
||||||
<source>Are you sure you want to erase your contest log?</source>
|
<source>Are you sure you want to erase your contest log?</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="6482"/>
|
<location filename="../widgets/mainwindow.cpp" line="6481"/>
|
||||||
<source>Doing this will remove all QSO records for the current contest. They will be kept in the ADIF log file but will not be available for export in your Cabrillo log.</source>
|
<source>Doing this will remove all QSO records for the current contest. They will be kept in the ADIF log file but will not be available for export in your Cabrillo log.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="6495"/>
|
<location filename="../widgets/mainwindow.cpp" line="6494"/>
|
||||||
<source>Cabrillo Log saved</source>
|
<source>Cabrillo Log saved</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="6503"/>
|
<location filename="../widgets/mainwindow.cpp" line="6502"/>
|
||||||
<source>Are you sure you want to erase file wsjtx_log.adi?</source>
|
<source>Are you sure you want to erase file wsjtx_log.adi?</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="6513"/>
|
<location filename="../widgets/mainwindow.cpp" line="6512"/>
|
||||||
<source>Are you sure you want to erase the WSPR hashtable?</source>
|
<source>Are you sure you want to erase the WSPR hashtable?</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="6607"/>
|
<location filename="../widgets/mainwindow.cpp" line="6606"/>
|
||||||
<source>VHF features warning</source>
|
<source>VHF features warning</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="7212"/>
|
<location filename="../widgets/mainwindow.cpp" line="7211"/>
|
||||||
<source>Tune digital gain </source>
|
<source>Tune digital gain </source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="7214"/>
|
<location filename="../widgets/mainwindow.cpp" line="7213"/>
|
||||||
<source>Transmit digital gain </source>
|
<source>Transmit digital gain </source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="7233"/>
|
<location filename="../widgets/mainwindow.cpp" line="7232"/>
|
||||||
<source>Prefixes</source>
|
<source>Prefixes</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="7602"/>
|
<location filename="../widgets/mainwindow.cpp" line="7601"/>
|
||||||
<source>Network Error</source>
|
<source>Network Error</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="7603"/>
|
<location filename="../widgets/mainwindow.cpp" line="7602"/>
|
||||||
<source>Error: %1
|
<source>Error: %1
|
||||||
UDP server %2:%3</source>
|
UDP server %2:%3</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="7748"/>
|
<location filename="../widgets/mainwindow.cpp" line="7747"/>
|
||||||
<source>File Error</source>
|
<source>File Error</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="7982"/>
|
<location filename="../widgets/mainwindow.cpp" line="7981"/>
|
||||||
<source>Phase Training Disabled</source>
|
<source>Phase Training Disabled</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="7985"/>
|
<location filename="../widgets/mainwindow.cpp" line="7984"/>
|
||||||
<source>Phase Training Enabled</source>
|
<source>Phase Training Enabled</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="8181"/>
|
<location filename="../widgets/mainwindow.cpp" line="8118"/>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="8861"/>
|
<source>WD:%1m</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="8180"/>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="8860"/>
|
||||||
<source>Log File Error</source>
|
<source>Log File Error</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="8224"/>
|
<location filename="../widgets/mainwindow.cpp" line="8223"/>
|
||||||
<source>Are you sure you want to clear the QSO queues?</source>
|
<source>Are you sure you want to clear the QSO queues?</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@ -3945,7 +4114,7 @@ UDP server %2:%3</source>
|
|||||||
<context>
|
<context>
|
||||||
<name>QObject</name>
|
<name>QObject</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../main.cpp" line="198"/>
|
<location filename="../main.cpp" line="252"/>
|
||||||
<source>Invalid rig name - \ & / not allowed</source>
|
<source>Invalid rig name - \ & / not allowed</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@ -4961,7 +5130,7 @@ a few, particularly some Kenwood rigs, require it).</source>
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../Configuration.ui" line="932"/>
|
<location filename="../Configuration.ui" line="932"/>
|
||||||
<source>How this program activates the PTT on your radio</source>
|
<source>How this program activates the PTT on your radio?</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
@ -5917,104 +6086,114 @@ Right click for insert and delete options.</source>
|
|||||||
<name>main</name>
|
<name>main</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../main.cpp" line="81"/>
|
<location filename="../main.cpp" line="81"/>
|
||||||
<location filename="../main.cpp" line="414"/>
|
<location filename="../main.cpp" line="468"/>
|
||||||
<source>Fatal error</source>
|
<source>Fatal error</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../main.cpp" line="86"/>
|
<location filename="../main.cpp" line="86"/>
|
||||||
<location filename="../main.cpp" line="419"/>
|
<location filename="../main.cpp" line="473"/>
|
||||||
<source>Unexpected fatal error</source>
|
<source>Unexpected fatal error</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../main.cpp" line="154"/>
|
<location filename="../main.cpp" line="149"/>
|
||||||
<source>Where <rig-name> is for multi-instance support.</source>
|
<source>Where <rig-name> is for multi-instance support.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../main.cpp" line="155"/>
|
<location filename="../main.cpp" line="150"/>
|
||||||
<source>rig-name</source>
|
<source>rig-name</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../main.cpp" line="160"/>
|
<location filename="../main.cpp" line="155"/>
|
||||||
<source>Where <configuration> is an existing one.</source>
|
<source>Where <configuration> is an existing one.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../main.cpp" line="161"/>
|
<location filename="../main.cpp" line="156"/>
|
||||||
<source>configuration</source>
|
<source>configuration</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../main.cpp" line="165"/>
|
<location filename="../main.cpp" line="161"/>
|
||||||
|
<source>Where <language> is <lang-code>[-<country-code>].</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../main.cpp" line="162"/>
|
||||||
|
<source>language</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../main.cpp" line="166"/>
|
||||||
<source>Writable files in test location. Use with caution, for testing only.</source>
|
<source>Writable files in test location. Use with caution, for testing only.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../main.cpp" line="170"/>
|
<location filename="../main.cpp" line="171"/>
|
||||||
<source>Command line error</source>
|
<source>Command line error</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../main.cpp" line="177"/>
|
<location filename="../main.cpp" line="178"/>
|
||||||
<source>Command line help</source>
|
<source>Command line help</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../main.cpp" line="182"/>
|
<location filename="../main.cpp" line="183"/>
|
||||||
<source>Application version</source>
|
<source>Application version</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../main.cpp" line="229"/>
|
<location filename="../main.cpp" line="283"/>
|
||||||
<source>Another instance may be running</source>
|
<source>Another instance may be running</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../main.cpp" line="230"/>
|
<location filename="../main.cpp" line="284"/>
|
||||||
<source>try to remove stale lock file?</source>
|
<source>try to remove stale lock file?</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../main.cpp" line="265"/>
|
<location filename="../main.cpp" line="319"/>
|
||||||
<source>Failed to create a temporary directory</source>
|
<source>Failed to create a temporary directory</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../main.cpp" line="266"/>
|
<location filename="../main.cpp" line="320"/>
|
||||||
<location filename="../main.cpp" line="274"/>
|
<location filename="../main.cpp" line="328"/>
|
||||||
<source>Path: "%1"</source>
|
<source>Path: "%1"</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../main.cpp" line="272"/>
|
<location filename="../main.cpp" line="326"/>
|
||||||
<source>Failed to create a usable temporary directory</source>
|
<source>Failed to create a usable temporary directory</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../main.cpp" line="273"/>
|
<location filename="../main.cpp" line="327"/>
|
||||||
<source>Another application may be locking the directory</source>
|
<source>Another application may be locking the directory</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../main.cpp" line="306"/>
|
<location filename="../main.cpp" line="360"/>
|
||||||
<source>Failed to create data directory</source>
|
<source>Failed to create data directory</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../main.cpp" line="307"/>
|
<location filename="../main.cpp" line="361"/>
|
||||||
<source>path: "%1"</source>
|
<source>path: "%1"</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../main.cpp" line="362"/>
|
<location filename="../main.cpp" line="416"/>
|
||||||
<source>Shared memory error</source>
|
<source>Shared memory error</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../main.cpp" line="363"/>
|
<location filename="../main.cpp" line="417"/>
|
||||||
<source>Unable to create shared memory segment</source>
|
<source>Unable to create shared memory segment</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
@ -18,7 +18,7 @@
|
|||||||
</message>
|
</message>
|
||||||
<message numerus="yes">
|
<message numerus="yes">
|
||||||
<location filename="../widgets/AbstractLogWindow.cpp" line="65"/>
|
<location filename="../widgets/AbstractLogWindow.cpp" line="65"/>
|
||||||
<source>Are you sure you want to delete the %n selected QSO(s) from the log</source>
|
<source>Are you sure you want to delete the %n selected QSO(s) from the log?</source>
|
||||||
<translation type="unfinished">
|
<translation type="unfinished">
|
||||||
<numerusform></numerusform>
|
<numerusform></numerusform>
|
||||||
<numerusform></numerusform>
|
<numerusform></numerusform>
|
||||||
@ -692,7 +692,7 @@ Format:
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../Transceiver/DXLabSuiteCommanderTransceiver.cpp" line="504"/>
|
<location filename="../Transceiver/DXLabSuiteCommanderTransceiver.cpp" line="503"/>
|
||||||
<source>DX Lab Suite Commander sent an unrecognized frequency</source>
|
<source>DX Lab Suite Commander sent an unrecognized frequency</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@ -737,6 +737,96 @@ Format:
|
|||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>DecodeHighlightingModel</name>
|
<name>DecodeHighlightingModel</name>
|
||||||
|
<message>
|
||||||
|
<location filename="../models/DecodeHighlightingModel.cpp" line="104"/>
|
||||||
|
<source>CQ in message</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../models/DecodeHighlightingModel.cpp" line="105"/>
|
||||||
|
<source>My Call in message</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../models/DecodeHighlightingModel.cpp" line="106"/>
|
||||||
|
<source>Transmitted message</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../models/DecodeHighlightingModel.cpp" line="107"/>
|
||||||
|
<source>New DXCC</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../models/DecodeHighlightingModel.cpp" line="108"/>
|
||||||
|
<source>New DXCC on Band</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../models/DecodeHighlightingModel.cpp" line="109"/>
|
||||||
|
<source>New Grid</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../models/DecodeHighlightingModel.cpp" line="110"/>
|
||||||
|
<source>New Grid on Band</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../models/DecodeHighlightingModel.cpp" line="111"/>
|
||||||
|
<source>New Call</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../models/DecodeHighlightingModel.cpp" line="112"/>
|
||||||
|
<source>New Call on Band</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../models/DecodeHighlightingModel.cpp" line="113"/>
|
||||||
|
<source>New Continent</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../models/DecodeHighlightingModel.cpp" line="114"/>
|
||||||
|
<source>New Continent on Band</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../models/DecodeHighlightingModel.cpp" line="115"/>
|
||||||
|
<source>New CQ Zone</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../models/DecodeHighlightingModel.cpp" line="116"/>
|
||||||
|
<source>New CQ Zone on Band</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../models/DecodeHighlightingModel.cpp" line="117"/>
|
||||||
|
<source>New ITU Zone</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../models/DecodeHighlightingModel.cpp" line="118"/>
|
||||||
|
<source>New ITU Zone on Band</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../models/DecodeHighlightingModel.cpp" line="119"/>
|
||||||
|
<source>LoTW User</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../models/DecodeHighlightingModel.cpp" line="169"/>
|
||||||
|
<source>f/g unset</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../models/DecodeHighlightingModel.cpp" line="171"/>
|
||||||
|
<source>b/g unset</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../models/DecodeHighlightingModel.cpp" line="244"/>
|
<location filename="../models/DecodeHighlightingModel.cpp" line="244"/>
|
||||||
<source>Highlight Type</source>
|
<source>Highlight Type</source>
|
||||||
@ -1822,6 +1912,12 @@ Error(%2): %3</source>
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.ui" line="50"/>
|
<location filename="../widgets/mainwindow.ui" line="50"/>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="5797"/>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="5845"/>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="6003"/>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="6043"/>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="6091"/>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="6216"/>
|
||||||
<source>Band Activity</source>
|
<source>Band Activity</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@ -1833,6 +1929,11 @@ Error(%2): %3</source>
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.ui" line="194"/>
|
<location filename="../widgets/mainwindow.ui" line="194"/>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="5796"/>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="5840"/>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="6004"/>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="6044"/>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="6092"/>
|
||||||
<source>Rx Frequency</source>
|
<source>Rx Frequency</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@ -2290,6 +2391,7 @@ Not available to nonstandard callsign holders.</source>
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.ui" line="1394"/>
|
<location filename="../widgets/mainwindow.ui" line="1394"/>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="5867"/>
|
||||||
<source>Fox</source>
|
<source>Fox</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@ -3130,6 +3232,7 @@ list. The list can be maintained in Settings (F2).</source>
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.ui" line="3125"/>
|
<location filename="../widgets/mainwindow.ui" line="3125"/>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="8103"/>
|
||||||
<source>Runaway Tx watchdog</source>
|
<source>Runaway Tx watchdog</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@ -3404,6 +3507,13 @@ list. The list can be maintained in Settings (F2).</source>
|
|||||||
<source>Rig Control Error</source>
|
<source>Rig Control Error</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="329"/>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="4120"/>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="7634"/>
|
||||||
|
<source>Receiving</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="437"/>
|
<location filename="../widgets/mainwindow.cpp" line="437"/>
|
||||||
<source>Do you want to reconfigure the radio interface?</source>
|
<source>Do you want to reconfigure the radio interface?</source>
|
||||||
@ -3434,6 +3544,26 @@ list. The list can be maintained in Settings (F2).</source>
|
|||||||
<source>Configurations...</source>
|
<source>Configurations...</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="828"/>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="5792"/>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="5798"/>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="5836"/>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="5846"/>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="5943"/>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="5944"/>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="5992"/>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="5993"/>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="5997"/>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="5998"/>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="6045"/>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="6046"/>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="6211"/>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="6212"/>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="6397"/>
|
||||||
|
<source>Message</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="842"/>
|
<location filename="../widgets/mainwindow.cpp" line="842"/>
|
||||||
<source>Error Killing jt9.exe Process</source>
|
<source>Error Killing jt9.exe Process</source>
|
||||||
@ -3456,22 +3586,22 @@ list. The list can be maintained in Settings (F2).</source>
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="1258"/>
|
<location filename="../widgets/mainwindow.cpp" line="1258"/>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="6187"/>
|
<location filename="../widgets/mainwindow.cpp" line="6186"/>
|
||||||
<source>Improper mode</source>
|
<source>Improper mode</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="1409"/>
|
<location filename="../widgets/mainwindow.cpp" line="1409"/>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="8731"/>
|
<location filename="../widgets/mainwindow.cpp" line="8730"/>
|
||||||
<source>File Open Error</source>
|
<source>File Open Error</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="1410"/>
|
<location filename="../widgets/mainwindow.cpp" line="1410"/>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="7749"/>
|
<location filename="../widgets/mainwindow.cpp" line="7748"/>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="8178"/>
|
<location filename="../widgets/mainwindow.cpp" line="8177"/>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="8732"/>
|
<location filename="../widgets/mainwindow.cpp" line="8731"/>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="8858"/>
|
<location filename="../widgets/mainwindow.cpp" line="8857"/>
|
||||||
<source>Cannot open "%1" for append: %2</source>
|
<source>Cannot open "%1" for append: %2</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@ -3490,6 +3620,20 @@ list. The list can be maintained in Settings (F2).</source>
|
|||||||
<source>Error in Sound Output</source>
|
<source>Error in Sound Output</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="1787"/>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="5941"/>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="6087"/>
|
||||||
|
<source>Single-Period Decodes</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="1788"/>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="5942"/>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="6088"/>
|
||||||
|
<source>Average Decodes</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="2089"/>
|
<location filename="../widgets/mainwindow.cpp" line="2089"/>
|
||||||
<source>Change Operator</source>
|
<source>Change Operator</source>
|
||||||
@ -3507,7 +3651,7 @@ list. The list can be maintained in Settings (F2).</source>
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="2200"/>
|
<location filename="../widgets/mainwindow.cpp" line="2200"/>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="5406"/>
|
<location filename="../widgets/mainwindow.cpp" line="5405"/>
|
||||||
<source>Cannot open "%1" for writing: %2</source>
|
<source>Cannot open "%1" for writing: %2</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@ -3625,7 +3769,12 @@ list. The list can be maintained in Settings (F2).</source>
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="4625"/>
|
<location filename="../widgets/mainwindow.cpp" line="4224"/>
|
||||||
|
<source>Last Tx: %1</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="4624"/>
|
||||||
<source>Should you switch to EU VHF Contest mode?
|
<source>Should you switch to EU VHF Contest mode?
|
||||||
|
|
||||||
To do so, check 'Special operating activity' and
|
To do so, check 'Special operating activity' and
|
||||||
@ -3633,161 +3782,181 @@ To do so, check 'Special operating activity' and
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="4644"/>
|
<location filename="../widgets/mainwindow.cpp" line="4643"/>
|
||||||
<source>Should you switch to ARRL Field Day mode?</source>
|
<source>Should you switch to ARRL Field Day mode?</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="4649"/>
|
<location filename="../widgets/mainwindow.cpp" line="4648"/>
|
||||||
<source>Should you switch to RTTY contest mode?</source>
|
<source>Should you switch to RTTY contest mode?</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="5373"/>
|
<location filename="../widgets/mainwindow.cpp" line="5372"/>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="5392"/>
|
<location filename="../widgets/mainwindow.cpp" line="5391"/>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="5405"/>
|
<location filename="../widgets/mainwindow.cpp" line="5404"/>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="5431"/>
|
<location filename="../widgets/mainwindow.cpp" line="5430"/>
|
||||||
<source>Add to CALL3.TXT</source>
|
<source>Add to CALL3.TXT</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="5374"/>
|
<location filename="../widgets/mainwindow.cpp" line="5373"/>
|
||||||
<source>Please enter a valid grid locator</source>
|
<source>Please enter a valid grid locator</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="5393"/>
|
<location filename="../widgets/mainwindow.cpp" line="5392"/>
|
||||||
<source>Cannot open "%1" for read/write: %2</source>
|
<source>Cannot open "%1" for read/write: %2</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="5429"/>
|
<location filename="../widgets/mainwindow.cpp" line="5428"/>
|
||||||
<source>%1
|
<source>%1
|
||||||
is already in CALL3.TXT, do you wish to replace it?</source>
|
is already in CALL3.TXT, do you wish to replace it?</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="5604"/>
|
<location filename="../widgets/mainwindow.cpp" line="5603"/>
|
||||||
<source>Warning: DX Call field is empty.</source>
|
<source>Warning: DX Call field is empty.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="5661"/>
|
<location filename="../widgets/mainwindow.cpp" line="5660"/>
|
||||||
<source>Log file error</source>
|
<source>Log file error</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="5662"/>
|
<location filename="../widgets/mainwindow.cpp" line="5661"/>
|
||||||
<source>Cannot open "%1"</source>
|
<source>Cannot open "%1"</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="5678"/>
|
<location filename="../widgets/mainwindow.cpp" line="5677"/>
|
||||||
<source>Error sending log to N1MM</source>
|
<source>Error sending log to N1MM</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="5679"/>
|
<location filename="../widgets/mainwindow.cpp" line="5678"/>
|
||||||
<source>Write returned "%1"</source>
|
<source>Write returned "%1"</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="6469"/>
|
<location filename="../widgets/mainwindow.cpp" line="5842"/>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="6502"/>
|
<source>Stations calling DXpedition %1</source>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="6512"/>
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="5877"/>
|
||||||
|
<source>Hound</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="6217"/>
|
||||||
|
<source>Tx Messages</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="6468"/>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="6501"/>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="6511"/>
|
||||||
<source>Confirm Erase</source>
|
<source>Confirm Erase</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="6470"/>
|
<location filename="../widgets/mainwindow.cpp" line="6469"/>
|
||||||
<source>Are you sure you want to erase file ALL.TXT?</source>
|
<source>Are you sure you want to erase file ALL.TXT?</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="6480"/>
|
<location filename="../widgets/mainwindow.cpp" line="6479"/>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="8223"/>
|
<location filename="../widgets/mainwindow.cpp" line="8222"/>
|
||||||
<source>Confirm Reset</source>
|
<source>Confirm Reset</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="6481"/>
|
<location filename="../widgets/mainwindow.cpp" line="6480"/>
|
||||||
<source>Are you sure you want to erase your contest log?</source>
|
<source>Are you sure you want to erase your contest log?</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="6482"/>
|
<location filename="../widgets/mainwindow.cpp" line="6481"/>
|
||||||
<source>Doing this will remove all QSO records for the current contest. They will be kept in the ADIF log file but will not be available for export in your Cabrillo log.</source>
|
<source>Doing this will remove all QSO records for the current contest. They will be kept in the ADIF log file but will not be available for export in your Cabrillo log.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="6495"/>
|
<location filename="../widgets/mainwindow.cpp" line="6494"/>
|
||||||
<source>Cabrillo Log saved</source>
|
<source>Cabrillo Log saved</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="6503"/>
|
<location filename="../widgets/mainwindow.cpp" line="6502"/>
|
||||||
<source>Are you sure you want to erase file wsjtx_log.adi?</source>
|
<source>Are you sure you want to erase file wsjtx_log.adi?</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="6513"/>
|
<location filename="../widgets/mainwindow.cpp" line="6512"/>
|
||||||
<source>Are you sure you want to erase the WSPR hashtable?</source>
|
<source>Are you sure you want to erase the WSPR hashtable?</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="6607"/>
|
<location filename="../widgets/mainwindow.cpp" line="6606"/>
|
||||||
<source>VHF features warning</source>
|
<source>VHF features warning</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="7212"/>
|
<location filename="../widgets/mainwindow.cpp" line="7211"/>
|
||||||
<source>Tune digital gain </source>
|
<source>Tune digital gain </source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="7214"/>
|
<location filename="../widgets/mainwindow.cpp" line="7213"/>
|
||||||
<source>Transmit digital gain </source>
|
<source>Transmit digital gain </source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="7233"/>
|
<location filename="../widgets/mainwindow.cpp" line="7232"/>
|
||||||
<source>Prefixes</source>
|
<source>Prefixes</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="7602"/>
|
<location filename="../widgets/mainwindow.cpp" line="7601"/>
|
||||||
<source>Network Error</source>
|
<source>Network Error</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="7603"/>
|
<location filename="../widgets/mainwindow.cpp" line="7602"/>
|
||||||
<source>Error: %1
|
<source>Error: %1
|
||||||
UDP server %2:%3</source>
|
UDP server %2:%3</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="7748"/>
|
<location filename="../widgets/mainwindow.cpp" line="7747"/>
|
||||||
<source>File Error</source>
|
<source>File Error</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="7982"/>
|
<location filename="../widgets/mainwindow.cpp" line="7981"/>
|
||||||
<source>Phase Training Disabled</source>
|
<source>Phase Training Disabled</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="7985"/>
|
<location filename="../widgets/mainwindow.cpp" line="7984"/>
|
||||||
<source>Phase Training Enabled</source>
|
<source>Phase Training Enabled</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="8181"/>
|
<location filename="../widgets/mainwindow.cpp" line="8118"/>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="8861"/>
|
<source>WD:%1m</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="8180"/>
|
||||||
|
<location filename="../widgets/mainwindow.cpp" line="8860"/>
|
||||||
<source>Log File Error</source>
|
<source>Log File Error</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../widgets/mainwindow.cpp" line="8224"/>
|
<location filename="../widgets/mainwindow.cpp" line="8223"/>
|
||||||
<source>Are you sure you want to clear the QSO queues?</source>
|
<source>Are you sure you want to clear the QSO queues?</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@ -3945,7 +4114,7 @@ UDP server %2:%3</source>
|
|||||||
<context>
|
<context>
|
||||||
<name>QObject</name>
|
<name>QObject</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../main.cpp" line="198"/>
|
<location filename="../main.cpp" line="252"/>
|
||||||
<source>Invalid rig name - \ & / not allowed</source>
|
<source>Invalid rig name - \ & / not allowed</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@ -4959,11 +5128,6 @@ a few, particularly some Kenwood rigs, require it).</source>
|
|||||||
<source>RTS:</source>
|
<source>RTS:</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<location filename="../Configuration.ui" line="932"/>
|
|
||||||
<source>How this program activates the PTT on your radio</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<location filename="../Configuration.ui" line="935"/>
|
<location filename="../Configuration.ui" line="935"/>
|
||||||
<source>PTT Method</source>
|
<source>PTT Method</source>
|
||||||
@ -5599,6 +5763,11 @@ Right click for insert and delete options.</source>
|
|||||||
<source><html><head/><body><p>Click to scan the wsjtx_log.adi ADIF file again for worked before information</p></body></html></source>
|
<source><html><head/><body><p>Click to scan the wsjtx_log.adi ADIF file again for worked before information</p></body></html></source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../Configuration.ui" line="932"/>
|
||||||
|
<source>How this program activates the PTT on your radio?</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../Configuration.ui" line="954"/>
|
<location filename="../Configuration.ui" line="954"/>
|
||||||
<source><html><head/><body><p>Use the RS-232 DTR control line to toggle your radio's PTT, requires hardware to interface the line.</p><p>Some commercial interface units also use this method.</p><p>The DTR control line of the CAT serial port may be used for this or a DTR control line on a different serial port may be used.</p></body></html></source>
|
<source><html><head/><body><p>Use the RS-232 DTR control line to toggle your radio's PTT, requires hardware to interface the line.</p><p>Some commercial interface units also use this method.</p><p>The DTR control line of the CAT serial port may be used for this or a DTR control line on a different serial port may be used.</p></body></html></source>
|
||||||
@ -5917,104 +6086,114 @@ Right click for insert and delete options.</source>
|
|||||||
<name>main</name>
|
<name>main</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../main.cpp" line="81"/>
|
<location filename="../main.cpp" line="81"/>
|
||||||
<location filename="../main.cpp" line="414"/>
|
<location filename="../main.cpp" line="468"/>
|
||||||
<source>Fatal error</source>
|
<source>Fatal error</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../main.cpp" line="86"/>
|
<location filename="../main.cpp" line="86"/>
|
||||||
<location filename="../main.cpp" line="419"/>
|
<location filename="../main.cpp" line="473"/>
|
||||||
<source>Unexpected fatal error</source>
|
<source>Unexpected fatal error</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../main.cpp" line="154"/>
|
<location filename="../main.cpp" line="149"/>
|
||||||
<source>Where <rig-name> is for multi-instance support.</source>
|
<source>Where <rig-name> is for multi-instance support.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../main.cpp" line="155"/>
|
<location filename="../main.cpp" line="150"/>
|
||||||
<source>rig-name</source>
|
<source>rig-name</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../main.cpp" line="160"/>
|
<location filename="../main.cpp" line="155"/>
|
||||||
<source>Where <configuration> is an existing one.</source>
|
<source>Where <configuration> is an existing one.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../main.cpp" line="161"/>
|
<location filename="../main.cpp" line="156"/>
|
||||||
<source>configuration</source>
|
<source>configuration</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../main.cpp" line="165"/>
|
<location filename="../main.cpp" line="161"/>
|
||||||
|
<source>Where <language> is <lang-code>[-<country-code>].</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../main.cpp" line="162"/>
|
||||||
|
<source>language</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../main.cpp" line="166"/>
|
||||||
<source>Writable files in test location. Use with caution, for testing only.</source>
|
<source>Writable files in test location. Use with caution, for testing only.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../main.cpp" line="170"/>
|
<location filename="../main.cpp" line="171"/>
|
||||||
<source>Command line error</source>
|
<source>Command line error</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../main.cpp" line="177"/>
|
<location filename="../main.cpp" line="178"/>
|
||||||
<source>Command line help</source>
|
<source>Command line help</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../main.cpp" line="182"/>
|
<location filename="../main.cpp" line="183"/>
|
||||||
<source>Application version</source>
|
<source>Application version</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../main.cpp" line="229"/>
|
<location filename="../main.cpp" line="283"/>
|
||||||
<source>Another instance may be running</source>
|
<source>Another instance may be running</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../main.cpp" line="230"/>
|
<location filename="../main.cpp" line="284"/>
|
||||||
<source>try to remove stale lock file?</source>
|
<source>try to remove stale lock file?</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../main.cpp" line="265"/>
|
<location filename="../main.cpp" line="319"/>
|
||||||
<source>Failed to create a temporary directory</source>
|
<source>Failed to create a temporary directory</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../main.cpp" line="266"/>
|
<location filename="../main.cpp" line="320"/>
|
||||||
<location filename="../main.cpp" line="274"/>
|
<location filename="../main.cpp" line="328"/>
|
||||||
<source>Path: "%1"</source>
|
<source>Path: "%1"</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../main.cpp" line="272"/>
|
<location filename="../main.cpp" line="326"/>
|
||||||
<source>Failed to create a usable temporary directory</source>
|
<source>Failed to create a usable temporary directory</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../main.cpp" line="273"/>
|
<location filename="../main.cpp" line="327"/>
|
||||||
<source>Another application may be locking the directory</source>
|
<source>Another application may be locking the directory</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../main.cpp" line="306"/>
|
<location filename="../main.cpp" line="360"/>
|
||||||
<source>Failed to create data directory</source>
|
<source>Failed to create data directory</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../main.cpp" line="307"/>
|
<location filename="../main.cpp" line="361"/>
|
||||||
<source>path: "%1"</source>
|
<source>path: "%1"</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../main.cpp" line="362"/>
|
<location filename="../main.cpp" line="416"/>
|
||||||
<source>Shared memory error</source>
|
<source>Shared memory error</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../main.cpp" line="363"/>
|
<location filename="../main.cpp" line="417"/>
|
||||||
<source>Unable to create shared memory segment</source>
|
<source>Unable to create shared memory segment</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
@ -63,7 +63,7 @@ void AbstractLogWindow::impl::delete_QSOs ()
|
|||||||
&& MessageBox::Yes == MessageBox::query_message (self_
|
&& MessageBox::Yes == MessageBox::query_message (self_
|
||||||
, tr ("Confirm Delete")
|
, tr ("Confirm Delete")
|
||||||
, tr ("Are you sure you want to delete the %n "
|
, tr ("Are you sure you want to delete the %n "
|
||||||
"selected QSO(s) from the log", ""
|
"selected QSO(s) from the log?", ""
|
||||||
, row_indexes.size ())))
|
, row_indexes.size ())))
|
||||||
{
|
{
|
||||||
// We must work with source model indexes because we don't want row
|
// We must work with source model indexes because we don't want row
|
||||||
|
@ -22,10 +22,11 @@ HelpTextWindow::HelpTextWindow (QString const& title, QString const& file_name,
|
|||||||
, tr ("Error: %1").arg (source.errorString ()));
|
, tr ("Error: %1").arg (source.errorString ()));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
setText (QTextStream {&source}.readAll ());
|
|
||||||
setWindowTitle(QApplication::applicationName () + " - " + title);
|
setWindowTitle(QApplication::applicationName () + " - " + title);
|
||||||
setMargin (10);
|
setMargin (10);
|
||||||
setBackgroundRole (QPalette::Base);
|
setBackgroundRole (QPalette::Base);
|
||||||
setAutoFillBackground (true);
|
setAutoFillBackground (true);
|
||||||
setStyleSheet (font_as_stylesheet (font));
|
setStyleSheet (font_as_stylesheet (font));
|
||||||
|
setText (QTextStream {&source}.readAll ());
|
||||||
|
setMinimumSize (sizeHint ());
|
||||||
}
|
}
|
||||||
|
@ -497,60 +497,92 @@ namespace
|
|||||||
{
|
{
|
||||||
void update_selection (QTextCursor& cursor, QColor const& bg, QColor const& fg)
|
void update_selection (QTextCursor& cursor, QColor const& bg, QColor const& fg)
|
||||||
{
|
{
|
||||||
if (!cursor.isNull ())
|
QTextCharFormat format {cursor.charFormat ()};
|
||||||
|
if (bg.isValid ())
|
||||||
{
|
{
|
||||||
QTextCharFormat format {cursor.charFormat ()};
|
format.setBackground (bg);
|
||||||
if (bg.isValid ())
|
|
||||||
{
|
|
||||||
format.setBackground (bg);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
format.clearBackground ();
|
|
||||||
}
|
|
||||||
if (fg.isValid ())
|
|
||||||
{
|
|
||||||
format.setForeground (fg);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
format.clearForeground ();
|
|
||||||
}
|
|
||||||
cursor.mergeCharFormat (format);
|
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
format.clearBackground ();
|
||||||
|
}
|
||||||
|
if (fg.isValid ())
|
||||||
|
{
|
||||||
|
format.setForeground (fg);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
format.clearForeground ();
|
||||||
|
}
|
||||||
|
cursor.mergeCharFormat (format);
|
||||||
}
|
}
|
||||||
|
|
||||||
void reset_selection (QTextCursor& cursor)
|
void reset_selection (QTextCursor& cursor)
|
||||||
{
|
{
|
||||||
if (!cursor.isNull ())
|
// restore previous text format, we rely on the text
|
||||||
|
// char format at he start of the selection being the
|
||||||
|
// old one which should be the case
|
||||||
|
auto c2 = cursor;
|
||||||
|
c2.setPosition (c2.selectionStart ());
|
||||||
|
cursor.setCharFormat (c2.charFormat ());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
namespace
|
||||||
|
{
|
||||||
|
QString get_timestamp (QTextCursor& cursor)
|
||||||
|
{
|
||||||
|
QString timestamp;
|
||||||
|
if (cursor.movePosition (QTextCursor::PreviousCharacter)
|
||||||
|
&& cursor.movePosition (QTextCursor::StartOfLine)
|
||||||
|
&& cursor.movePosition (QTextCursor::EndOfWord, QTextCursor::KeepAnchor)
|
||||||
|
&& cursor.hasSelection ())
|
||||||
{
|
{
|
||||||
// restore previous text format, we rely on the text
|
timestamp = cursor.selectedText ();
|
||||||
// char format at he start of the selection being the
|
cursor.movePosition (QTextCursor::StartOfLine);
|
||||||
// old one which should be the case
|
|
||||||
auto c2 = cursor;
|
|
||||||
c2.setPosition (c2.selectionStart ());
|
|
||||||
cursor.setCharFormat (c2.charFormat ());
|
|
||||||
}
|
}
|
||||||
|
return timestamp;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void DisplayText::highlight_callsign (QString const& callsign, QColor const& bg,
|
void DisplayText::highlight_callsign (QString const& callsign, QColor const& bg,
|
||||||
QColor const& fg, bool last_only)
|
QColor const& fg, bool last_period_only)
|
||||||
{
|
{
|
||||||
|
// qDebug () << "DisplayText::highlight_callsign: callsign:" << callsign << "last period:" << last_period_only;
|
||||||
|
if (!callsign.size ())
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
QRegularExpression target {QString {"<?"} + callsign + QString {">?"}, QRegularExpression::DontCaptureOption};
|
||||||
QTextCharFormat old_format {currentCharFormat ()};
|
QTextCharFormat old_format {currentCharFormat ()};
|
||||||
QTextCursor cursor {document ()};
|
QTextCursor cursor {document ()};
|
||||||
if (last_only)
|
if (last_period_only)
|
||||||
{
|
{
|
||||||
|
// highlight each instance of the given callsign (word) in the
|
||||||
|
// current period
|
||||||
cursor.movePosition (QTextCursor::End);
|
cursor.movePosition (QTextCursor::End);
|
||||||
cursor = document ()->find (callsign, cursor
|
QTextCursor period_start {cursor};
|
||||||
, QTextDocument::FindBackward | QTextDocument::FindWholeWords);
|
QTextCursor prior {cursor};
|
||||||
if (bg.isValid () || fg.isValid ())
|
auto period_timestamp = get_timestamp (period_start);
|
||||||
|
while (period_timestamp.size () && period_timestamp == get_timestamp (prior))
|
||||||
{
|
{
|
||||||
update_selection (cursor, bg, fg);
|
period_start = prior;
|
||||||
}
|
}
|
||||||
else
|
while (!cursor.isNull () && cursor > period_start)
|
||||||
{
|
{
|
||||||
reset_selection (cursor);
|
cursor = document ()->find (target, cursor
|
||||||
|
, QTextDocument::FindBackward | QTextDocument::FindWholeWords);
|
||||||
|
if (!cursor.isNull () && cursor.hasSelection ())
|
||||||
|
{
|
||||||
|
if (bg.isValid () || fg.isValid ())
|
||||||
|
{
|
||||||
|
update_selection (cursor, bg, fg);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
reset_selection (cursor);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -569,8 +601,11 @@ void DisplayText::highlight_callsign (QString const& callsign, QColor const& bg,
|
|||||||
}
|
}
|
||||||
while (!cursor.isNull ())
|
while (!cursor.isNull ())
|
||||||
{
|
{
|
||||||
cursor = document ()->find (callsign, cursor, QTextDocument::FindWholeWords);
|
cursor = document ()->find (target, cursor, QTextDocument::FindWholeWords);
|
||||||
update_selection (cursor, bg, fg);
|
if (!cursor.isNull () && cursor.hasSelection ())
|
||||||
|
{
|
||||||
|
update_selection (cursor, bg, fg);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (pos != highlighted_calls_.end ())
|
else if (pos != highlighted_calls_.end ())
|
||||||
@ -579,8 +614,11 @@ void DisplayText::highlight_callsign (QString const& callsign, QColor const& bg,
|
|||||||
QTextCursor cursor {document ()};
|
QTextCursor cursor {document ()};
|
||||||
while (!cursor.isNull ())
|
while (!cursor.isNull ())
|
||||||
{
|
{
|
||||||
cursor = document ()->find (callsign, cursor, QTextDocument::FindWholeWords);
|
cursor = document ()->find (target, cursor, QTextDocument::FindWholeWords);
|
||||||
reset_selection (cursor);
|
if (!cursor.isNull () && cursor.hasSelection ())
|
||||||
|
{
|
||||||
|
reset_selection (cursor);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -43,7 +43,7 @@ public:
|
|||||||
Q_SLOT void appendText (QString const& text, QColor bg = QColor {}, QColor fg = QColor {}
|
Q_SLOT void appendText (QString const& text, QColor bg = QColor {}, QColor fg = QColor {}
|
||||||
, QString const& call1 = QString {}, QString const& call2 = QString {});
|
, QString const& call1 = QString {}, QString const& call2 = QString {});
|
||||||
Q_SLOT void erase ();
|
Q_SLOT void erase ();
|
||||||
Q_SLOT void highlight_callsign (QString const& callsign, QColor const& bg, QColor const& fg, bool last_only);
|
Q_SLOT void highlight_callsign (QString const& callsign, QColor const& bg, QColor const& fg, bool last_period_only);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void mouseDoubleClickEvent (QMouseEvent *) override;
|
void mouseDoubleClickEvent (QMouseEvent *) override;
|
||||||
|
@ -326,7 +326,7 @@ MainWindow::MainWindow(QDir const& temp_directory, bool multiple,
|
|||||||
m_nsendingsh {0},
|
m_nsendingsh {0},
|
||||||
m_onAirFreq0 {0.0},
|
m_onAirFreq0 {0.0},
|
||||||
m_first_error {true},
|
m_first_error {true},
|
||||||
tx_status_label {"Receiving"},
|
tx_status_label {tr ("Receiving")},
|
||||||
wsprNet {new WSPRNet {&m_network_manager, this}},
|
wsprNet {new WSPRNet {&m_network_manager, this}},
|
||||||
m_appDir {QApplication::applicationDirPath ()},
|
m_appDir {QApplication::applicationDirPath ()},
|
||||||
m_cqStr {""},
|
m_cqStr {""},
|
||||||
@ -801,8 +801,6 @@ MainWindow::MainWindow(QDir const& temp_directory, bool multiple,
|
|||||||
SLOT(setFreq4(int,int)));
|
SLOT(setFreq4(int,int)));
|
||||||
|
|
||||||
decodeBusy(false);
|
decodeBusy(false);
|
||||||
QString t1[19]={"1 mW","2 mW","5 mW","10 mW","20 mW","50 mW","100 mW","200 mW","500 mW",
|
|
||||||
"1 W","2 W","5 W","10 W","20 W","50 W","100 W","200 W","500 W","1 kW"};
|
|
||||||
|
|
||||||
m_msg[0][0]=0;
|
m_msg[0][0]=0;
|
||||||
ui->labDXped->setVisible(false);
|
ui->labDXped->setVisible(false);
|
||||||
@ -811,13 +809,10 @@ MainWindow::MainWindow(QDir const& temp_directory, bool multiple,
|
|||||||
ui->labNextCall->setVisible(false);
|
ui->labNextCall->setVisible(false);
|
||||||
ui->labNextCall->setToolTip(""); //### Possibly temporary ? ###
|
ui->labNextCall->setToolTip(""); //### Possibly temporary ? ###
|
||||||
|
|
||||||
for(int i=0; i<19; i++) { //Initialize dBm values
|
char const * const power[] = {"1 mW","2 mW","5 mW","10 mW","20 mW","50 mW","100 mW","200 mW","500 mW",
|
||||||
float dbm=(10.0*i)/3.0;
|
"1 W","2 W","5 W","10 W","20 W","50 W","100 W","200 W","500 W","1 kW"};
|
||||||
int ndbm=int(dbm+0.5);
|
for(auto i = 0u; i < sizeof power / sizeof power[0]; ++i) { //Initialize dBm values
|
||||||
QString t;
|
ui->TxPowerComboBox->addItem (QString {"%1 dBm %2"}.arg (int (10. * i / 3.)).arg (power[i]));
|
||||||
t = t.asprintf("%d dBm ",ndbm);
|
|
||||||
t+=t1[i];
|
|
||||||
ui->TxPowerComboBox->addItem(t);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
m_dateTimeRcvdRR73=QDateTime::currentDateTimeUtc();
|
m_dateTimeRcvdRR73=QDateTime::currentDateTimeUtc();
|
||||||
@ -825,7 +820,7 @@ MainWindow::MainWindow(QDir const& temp_directory, bool multiple,
|
|||||||
|
|
||||||
ui->labAz->setStyleSheet("border: 0px;");
|
ui->labAz->setStyleSheet("border: 0px;");
|
||||||
ui->labAz->setText("");
|
ui->labAz->setText("");
|
||||||
auto t = "UTC dB DT Freq Message";
|
auto t = "UTC dB DT Freq " + tr ("Message");
|
||||||
ui->decodedTextLabel->setText(t);
|
ui->decodedTextLabel->setText(t);
|
||||||
ui->decodedTextLabel2->setText(t);
|
ui->decodedTextLabel2->setText(t);
|
||||||
readSettings(); //Restore user's setup parameters
|
readSettings(); //Restore user's setup parameters
|
||||||
@ -935,7 +930,7 @@ MainWindow::MainWindow(QDir const& temp_directory, bool multiple,
|
|||||||
m_saveDecoded=ui->actionSave_decoded->isChecked();
|
m_saveDecoded=ui->actionSave_decoded->isChecked();
|
||||||
m_saveAll=ui->actionSave_all->isChecked();
|
m_saveAll=ui->actionSave_all->isChecked();
|
||||||
ui->sbTxPercent->setValue(m_pctx);
|
ui->sbTxPercent->setValue(m_pctx);
|
||||||
ui->TxPowerComboBox->setCurrentIndex(int(0.3*(m_dBm + 30.0)+0.2));
|
ui->TxPowerComboBox->setCurrentIndex(int(.3 * m_dBm + .2));
|
||||||
ui->cbUploadWSPR_Spots->setChecked(m_uploadSpots);
|
ui->cbUploadWSPR_Spots->setChecked(m_uploadSpots);
|
||||||
if((m_ndepth&7)==1) ui->actionQuickDecode->setChecked(true);
|
if((m_ndepth&7)==1) ui->actionQuickDecode->setChecked(true);
|
||||||
if((m_ndepth&7)==2) ui->actionMediumDecode->setChecked(true);
|
if((m_ndepth&7)==2) ui->actionMediumDecode->setChecked(true);
|
||||||
@ -1000,14 +995,14 @@ MainWindow::MainWindow(QDir const& temp_directory, bool multiple,
|
|||||||
|
|
||||||
void MainWindow::not_GA_warning_message ()
|
void MainWindow::not_GA_warning_message ()
|
||||||
{
|
{
|
||||||
MessageBox::critical_message (this,
|
// MessageBox::critical_message (this,
|
||||||
"This is a pre-release version of WSJT-X 2.2.0 made\n"
|
// "This is a pre-release version of WSJT-X 2.2.0 made\n"
|
||||||
"available for testing purposes. By design it will\n"
|
// "available for testing purposes. By design it will\n"
|
||||||
"be nonfunctional after 0000 UTC on June 10, 2020.");
|
// "be nonfunctional after 0000 UTC on June 10, 2020.");
|
||||||
auto now = QDateTime::currentDateTimeUtc ();
|
// auto now = QDateTime::currentDateTimeUtc ();
|
||||||
if (now >= QDateTime {{2020, 6, 10}, {0, 0}, Qt::UTC}) {
|
// if (now >= QDateTime {{2020, 6, 10}, {0, 0}, Qt::UTC}) {
|
||||||
Q_EMIT finished ();
|
// Q_EMIT finished ();
|
||||||
}
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
void MainWindow::initialize_fonts ()
|
void MainWindow::initialize_fonts ()
|
||||||
@ -1199,7 +1194,7 @@ void MainWindow::readSettings()
|
|||||||
m_ndepth=m_settings->value("NDepth",3).toInt();
|
m_ndepth=m_settings->value("NDepth",3).toInt();
|
||||||
m_pctx=m_settings->value("PctTx",20).toInt();
|
m_pctx=m_settings->value("PctTx",20).toInt();
|
||||||
m_dBm=m_settings->value("dBm",37).toInt();
|
m_dBm=m_settings->value("dBm",37).toInt();
|
||||||
m_send_RR73=m_settings->value("RR73",37).toBool();
|
m_send_RR73=m_settings->value("RR73",false).toBool();
|
||||||
if(m_send_RR73) {
|
if(m_send_RR73) {
|
||||||
m_send_RR73=false;
|
m_send_RR73=false;
|
||||||
on_txrb4_doubleClicked();
|
on_txrb4_doubleClicked();
|
||||||
@ -1428,11 +1423,6 @@ void MainWindow::dataSink(qint64 frames)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
if(m_ihsym==m_hsymStop or (m_mode=="FT8" and m_ihsym==m_earlyDecode and !m_diskData) or
|
|
||||||
(m_mode=="FT8" and m_ihsym==m_earlyDecode2 and !m_diskData)) {
|
|
||||||
*/
|
|
||||||
|
|
||||||
bool bCallDecoder=false;
|
bool bCallDecoder=false;
|
||||||
if(m_ihsym==m_hsymStop) bCallDecoder=true;
|
if(m_ihsym==m_hsymStop) bCallDecoder=true;
|
||||||
if(m_mode=="FT8" and !m_diskData) {
|
if(m_mode=="FT8" and !m_diskData) {
|
||||||
@ -1784,8 +1774,8 @@ void MainWindow::on_actionSettings_triggered() //Setup Dialog
|
|||||||
m_config.transceiver_online ();
|
m_config.transceiver_online ();
|
||||||
if(!m_bFastMode) setXIT (ui->TxFreqSpinBox->value ());
|
if(!m_bFastMode) setXIT (ui->TxFreqSpinBox->value ());
|
||||||
if(m_config.single_decode() or m_mode=="JT4") {
|
if(m_config.single_decode() or m_mode=="JT4") {
|
||||||
ui->label_6->setText("Single-Period Decodes");
|
ui->label_6->setText(tr ("Single-Period Decodes"));
|
||||||
ui->label_7->setText("Average Decodes");
|
ui->label_7->setText(tr ("Average Decodes"));
|
||||||
}
|
}
|
||||||
|
|
||||||
update_watchdog_label ();
|
update_watchdog_label ();
|
||||||
@ -2296,10 +2286,13 @@ void MainWindow::setup_status_bar (bool vhf)
|
|||||||
mode_label.setStyleSheet ("QLabel{background-color: #99ff33}");
|
mode_label.setStyleSheet ("QLabel{background-color: #99ff33}");
|
||||||
} else if ("MSK144" == m_mode) {
|
} else if ("MSK144" == m_mode) {
|
||||||
mode_label.setStyleSheet ("QLabel{background-color: #ff6666}");
|
mode_label.setStyleSheet ("QLabel{background-color: #ff6666}");
|
||||||
|
} else if ("FT4" == m_mode) {
|
||||||
|
mode_label.setStyleSheet ("QLabel{background-color: #ff0099}");
|
||||||
} else if ("FT8" == m_mode) {
|
} else if ("FT8" == m_mode) {
|
||||||
mode_label.setStyleSheet ("QLabel{background-color: #6699ff}");
|
mode_label.setStyleSheet ("QLabel{background-color: #6699ff}");
|
||||||
} else if ("FreqCal" == m_mode) {
|
} else if ("FreqCal" == m_mode) {
|
||||||
mode_label.setStyleSheet ("QLabel{background-color: #ff9933}"); }
|
mode_label.setStyleSheet ("QLabel{background-color: #ff9933}");
|
||||||
|
}
|
||||||
last_tx_label.setText (QString {});
|
last_tx_label.setText (QString {});
|
||||||
if (m_mode.contains (QRegularExpression {R"(^(Echo|ISCAT))"})) {
|
if (m_mode.contains (QRegularExpression {R"(^(Echo|ISCAT))"})) {
|
||||||
if (band_hopping_label.isVisible ()) statusBar ()->removeWidget (&band_hopping_label);
|
if (band_hopping_label.isVisible ()) statusBar ()->removeWidget (&band_hopping_label);
|
||||||
@ -3173,13 +3166,16 @@ void MainWindow::readFromStdout() //readFromStdout
|
|||||||
write_all("Rx",line_read.trimmed());
|
write_all("Rx",line_read.trimmed());
|
||||||
int ntime=6;
|
int ntime=6;
|
||||||
if(m_TRperiod>=60) ntime=4;
|
if(m_TRperiod>=60) ntime=4;
|
||||||
if (m_config.insert_blank () && (line_read.left(ntime)!=m_tBlankLine) &&
|
if (line_read.left(ntime) != m_tBlankLine) {
|
||||||
SpecOp::FOX != m_config.special_op_id()) {
|
ui->decodedTextBrowser->new_period ();
|
||||||
QString band;
|
if (m_config.insert_blank ()
|
||||||
if((QDateTime::currentMSecsSinceEpoch() / 1000 - m_secBandChanged) > 4*int(m_TRperiod)/4) {
|
&& SpecOp::FOX != m_config.special_op_id()) {
|
||||||
band = ' ' + m_config.bands ()->find (m_freqNominal);
|
QString band;
|
||||||
}
|
if((QDateTime::currentMSecsSinceEpoch() / 1000 - m_secBandChanged) > 4*int(m_TRperiod)/4) {
|
||||||
ui->decodedTextBrowser->insertLineSpacer (band.rightJustified (40, '-'));
|
band = ' ' + m_config.bands ()->find (m_freqNominal);
|
||||||
|
}
|
||||||
|
ui->decodedTextBrowser->insertLineSpacer (band.rightJustified (40, '-'));
|
||||||
|
}
|
||||||
m_tBlankLine = line_read.left(ntime);
|
m_tBlankLine = line_read.left(ntime);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3498,11 +3494,6 @@ void MainWindow::decodeBusy(bool b) //decodeBusy()
|
|||||||
{
|
{
|
||||||
if (!b) {
|
if (!b) {
|
||||||
m_optimizingProgress.reset ();
|
m_optimizingProgress.reset ();
|
||||||
} else {
|
|
||||||
if (!m_decoderBusy)
|
|
||||||
{
|
|
||||||
ui->decodedTextBrowser->new_period ();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
m_decoderBusy=b;
|
m_decoderBusy=b;
|
||||||
ui->DecodeButton->setEnabled(!b);
|
ui->DecodeButton->setEnabled(!b);
|
||||||
@ -4117,12 +4108,11 @@ void MainWindow::guiUpdate()
|
|||||||
} else if(m_monitoring) {
|
} else if(m_monitoring) {
|
||||||
if (!m_tx_watchdog) {
|
if (!m_tx_watchdog) {
|
||||||
tx_status_label.setStyleSheet("QLabel{background-color: #00ff00}");
|
tx_status_label.setStyleSheet("QLabel{background-color: #00ff00}");
|
||||||
QString t;
|
auto t = tr ("Receiving");
|
||||||
t="Receiving";
|
|
||||||
if(m_mode=="MSK144") {
|
if(m_mode=="MSK144") {
|
||||||
int npct=int(100.0*m_fCPUmskrtd/0.298667);
|
int npct=int(100.0*m_fCPUmskrtd/0.298667);
|
||||||
if(npct>90) tx_status_label.setStyleSheet("QLabel{background-color: #ff0000}");
|
if(npct>90) tx_status_label.setStyleSheet("QLabel{background-color: #ff0000}");
|
||||||
t = t.asprintf("Receiving %2d%%",npct);
|
t += QString {" %1%"}.arg (npct, 2);
|
||||||
}
|
}
|
||||||
tx_status_label.setText (t);
|
tx_status_label.setText (t);
|
||||||
}
|
}
|
||||||
@ -4222,7 +4212,7 @@ void MainWindow::stopTx2()
|
|||||||
WSPR_scheduling ();
|
WSPR_scheduling ();
|
||||||
m_ntr=0;
|
m_ntr=0;
|
||||||
}
|
}
|
||||||
last_tx_label.setText("Last Tx: " + m_currentMessage.trimmed());
|
last_tx_label.setText(tr ("Last Tx: %1").arg (m_currentMessage.trimmed()));
|
||||||
}
|
}
|
||||||
|
|
||||||
void MainWindow::ba2msg(QByteArray ba, char message[]) //ba2msg()
|
void MainWindow::ba2msg(QByteArray ba, char message[]) //ba2msg()
|
||||||
@ -4445,6 +4435,7 @@ void MainWindow::doubleClickOnCall(Qt::KeyboardModifiers modifiers)
|
|||||||
if(m_mode=="ISCAT") {
|
if(m_mode=="ISCAT") {
|
||||||
MessageBox::information_message (this,
|
MessageBox::information_message (this,
|
||||||
"Double-click not available for ISCAT mode");
|
"Double-click not available for ISCAT mode");
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
if(m_decodedText2) {
|
if(m_decodedText2) {
|
||||||
cursor=ui->decodedTextBrowser->textCursor();
|
cursor=ui->decodedTextBrowser->textCursor();
|
||||||
@ -5141,7 +5132,7 @@ void MainWindow::genStdMsgs(QString rpt, bool unconditional)
|
|||||||
}
|
}
|
||||||
if(SpecOp::EU_VHF==m_config.special_op_id()) {
|
if(SpecOp::EU_VHF==m_config.special_op_id()) {
|
||||||
QString a;
|
QString a;
|
||||||
t="<" + t0.split(" ").at(0) + "> <" + t0.split(" ").at(1) + "> ";
|
t="<" + t0s.split(" ").at(0) + "> <" + t0s.split(" ").at(1) + "> ";
|
||||||
a = a.asprintf("%4.4d ",ui->sbSerialNumber->value());
|
a = a.asprintf("%4.4d ",ui->sbSerialNumber->value());
|
||||||
sent=rs + a + m_config.my_grid();
|
sent=rs + a + m_config.my_grid();
|
||||||
}
|
}
|
||||||
@ -5227,7 +5218,8 @@ void MainWindow::genStdMsgs(QString rpt, bool unconditional)
|
|||||||
case Configuration::type_2_msg_1_full:
|
case Configuration::type_2_msg_1_full:
|
||||||
msgtype(t + my_grid, ui->tx1);
|
msgtype(t + my_grid, ui->tx1);
|
||||||
if (!eme_short_codes) {
|
if (!eme_short_codes) {
|
||||||
if((m_mode=="MSK144" || m_mode=="FT8") && SpecOp::NA_VHF == m_config.special_op_id()) {
|
if((m_mode=="MSK144" || m_mode=="FT8" || m_mode=="FT4") &&
|
||||||
|
SpecOp::NA_VHF == m_config.special_op_id()) {
|
||||||
msgtype(t + "R " + my_grid, ui->tx3);
|
msgtype(t + "R " + my_grid, ui->tx3);
|
||||||
} else {
|
} else {
|
||||||
msgtype(t + "R" + rpt, ui->tx3);
|
msgtype(t + "R" + rpt, ui->tx3);
|
||||||
@ -5239,7 +5231,8 @@ void MainWindow::genStdMsgs(QString rpt, bool unconditional)
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case Configuration::type_2_msg_3_full:
|
case Configuration::type_2_msg_3_full:
|
||||||
if ((m_mode=="MSK144" || m_mode=="FT8") && SpecOp::NA_VHF == m_config.special_op_id()) {
|
if ((m_mode=="MSK144" || m_mode=="FT8" || m_mode=="FT4") &&
|
||||||
|
SpecOp::NA_VHF == m_config.special_op_id()) {
|
||||||
msgtype(t + "R " + my_grid, ui->tx3);
|
msgtype(t + "R " + my_grid, ui->tx3);
|
||||||
msgtype(t + "RRR", ui->tx4);
|
msgtype(t + "RRR", ui->tx4);
|
||||||
} else {
|
} else {
|
||||||
@ -5254,7 +5247,8 @@ void MainWindow::genStdMsgs(QString rpt, bool unconditional)
|
|||||||
case Configuration::type_2_msg_5_only:
|
case Configuration::type_2_msg_5_only:
|
||||||
msgtype(t00 + my_grid, ui->tx1);
|
msgtype(t00 + my_grid, ui->tx1);
|
||||||
if (!eme_short_codes) {
|
if (!eme_short_codes) {
|
||||||
if ((m_mode=="MSK144" || m_mode=="FT8") && SpecOp::NA_VHF == m_config.special_op_id()) {
|
if ((m_mode=="MSK144" || m_mode=="FT8" || m_mode=="FT4") &&
|
||||||
|
SpecOp::NA_VHF == m_config.special_op_id()) {
|
||||||
msgtype(t + "R " + my_grid, ui->tx3);
|
msgtype(t + "R " + my_grid, ui->tx3);
|
||||||
msgtype(t + "RRR", ui->tx4);
|
msgtype(t + "RRR", ui->tx4);
|
||||||
} else {
|
} else {
|
||||||
@ -5468,7 +5462,8 @@ void MainWindow::msgtype(QString t, QLineEdit* tx) //msgtype()
|
|||||||
//### Check this stuff ###
|
//### Check this stuff ###
|
||||||
if(itype==7 and m_config.enable_VHF_features() and m_mode=="JT65") shortMsg=true;
|
if(itype==7 and m_config.enable_VHF_features() and m_mode=="JT65") shortMsg=true;
|
||||||
if(m_mode=="MSK144" and t.mid(0,1)=="<") text=false;
|
if(m_mode=="MSK144" and t.mid(0,1)=="<") text=false;
|
||||||
if((m_mode=="MSK144" or m_mode=="FT8") and SpecOp::NA_VHF==m_config.special_op_id()) {
|
if((m_mode=="MSK144" or m_mode=="FT8" or m_mode=="FT4") and
|
||||||
|
SpecOp::NA_VHF==m_config.special_op_id()) {
|
||||||
int i0=t.trimmed().length()-7;
|
int i0=t.trimmed().length()-7;
|
||||||
if(t.mid(i0,3)==" R ") text=false;
|
if(t.mid(i0,3)==" R ") text=false;
|
||||||
}
|
}
|
||||||
@ -5728,7 +5723,6 @@ void MainWindow::displayWidgets(qint64 n)
|
|||||||
if(i==12) ui->pbR2T->setVisible(b);
|
if(i==12) ui->pbR2T->setVisible(b);
|
||||||
if(i==13) ui->pbT2R->setVisible(b);
|
if(i==13) ui->pbT2R->setVisible(b);
|
||||||
if(i==14) ui->cbHoldTxFreq->setVisible(b);
|
if(i==14) ui->cbHoldTxFreq->setVisible(b);
|
||||||
if(i==14 and (!b)) ui->cbHoldTxFreq->setChecked(false);
|
|
||||||
if(i==15) ui->sbSubmode->setVisible(b);
|
if(i==15) ui->sbSubmode->setVisible(b);
|
||||||
if(i==16) ui->syncSpinBox->setVisible(b);
|
if(i==16) ui->syncSpinBox->setVisible(b);
|
||||||
if(i==17) ui->WSPR_controls_widget->setVisible(b);
|
if(i==17) ui->WSPR_controls_widget->setVisible(b);
|
||||||
@ -5790,13 +5784,13 @@ void MainWindow::on_actionFT4_triggered()
|
|||||||
// ui->cbAutoSeq->setChecked(false);
|
// ui->cbAutoSeq->setChecked(false);
|
||||||
m_fastGraph->hide();
|
m_fastGraph->hide();
|
||||||
m_wideGraph->show();
|
m_wideGraph->show();
|
||||||
ui->decodedTextLabel2->setText(" UTC dB DT Freq Message");
|
ui->decodedTextLabel2->setText(" UTC dB DT Freq " + tr ("Message"));
|
||||||
m_wideGraph->setPeriod(m_TRperiod,m_nsps);
|
m_wideGraph->setPeriod(m_TRperiod,m_nsps);
|
||||||
m_modulator->setTRPeriod(m_TRperiod); // TODO - not thread safe
|
m_modulator->setTRPeriod(m_TRperiod); // TODO - not thread safe
|
||||||
m_detector->setTRPeriod(m_TRperiod); // TODO - not thread safe
|
m_detector->setTRPeriod(m_TRperiod); // TODO - not thread safe
|
||||||
ui->label_7->setText("Rx Frequency");
|
ui->label_7->setText(tr ("Rx Frequency"));
|
||||||
ui->label_6->setText("Band Activity");
|
ui->label_6->setText(tr ("Band Activity"));
|
||||||
ui->decodedTextLabel->setText( " UTC dB DT Freq Message");
|
ui->decodedTextLabel->setText( " UTC dB DT Freq " + tr ("Message"));
|
||||||
displayWidgets(nWidgets("111010000100111000010000000110001"));
|
displayWidgets(nWidgets("111010000100111000010000000110001"));
|
||||||
ui->txrb2->setEnabled(true);
|
ui->txrb2->setEnabled(true);
|
||||||
ui->txrb4->setEnabled(true);
|
ui->txrb4->setEnabled(true);
|
||||||
@ -5834,17 +5828,17 @@ void MainWindow::on_actionFT8_triggered()
|
|||||||
m_TRperiod=15.0;
|
m_TRperiod=15.0;
|
||||||
m_fastGraph->hide();
|
m_fastGraph->hide();
|
||||||
m_wideGraph->show();
|
m_wideGraph->show();
|
||||||
ui->decodedTextLabel2->setText(" UTC dB DT Freq Message");
|
ui->decodedTextLabel2->setText(" UTC dB DT Freq " + tr ("Message"));
|
||||||
m_wideGraph->setPeriod(m_TRperiod,m_nsps);
|
m_wideGraph->setPeriod(m_TRperiod,m_nsps);
|
||||||
m_modulator->setTRPeriod(m_TRperiod); // TODO - not thread safe
|
m_modulator->setTRPeriod(m_TRperiod); // TODO - not thread safe
|
||||||
m_detector->setTRPeriod(m_TRperiod); // TODO - not thread safe
|
m_detector->setTRPeriod(m_TRperiod); // TODO - not thread safe
|
||||||
ui->label_7->setText("Rx Frequency");
|
ui->label_7->setText(tr ("Rx Frequency"));
|
||||||
if(SpecOp::FOX==m_config.special_op_id()) {
|
if(SpecOp::FOX==m_config.special_op_id()) {
|
||||||
ui->label_6->setText("Stations calling DXpedition " + m_config.my_callsign());
|
ui->label_6->setText(tr ("Stations calling DXpedition %1").arg (m_config.my_callsign()));
|
||||||
ui->decodedTextLabel->setText( "Call Grid dB Freq Dist Age Continent");
|
ui->decodedTextLabel->setText( "Call Grid dB Freq Dist Age Continent");
|
||||||
} else {
|
} else {
|
||||||
ui->label_6->setText("Band Activity");
|
ui->label_6->setText(tr ("Band Activity"));
|
||||||
ui->decodedTextLabel->setText( " UTC dB DT Freq Message");
|
ui->decodedTextLabel->setText( " UTC dB DT Freq " + tr ("Message"));
|
||||||
}
|
}
|
||||||
displayWidgets(nWidgets("111010000100111000010000100110001"));
|
displayWidgets(nWidgets("111010000100111000010000100110001"));
|
||||||
ui->txrb2->setEnabled(true);
|
ui->txrb2->setEnabled(true);
|
||||||
@ -5865,7 +5859,7 @@ void MainWindow::on_actionFT8_triggered()
|
|||||||
ui->tabWidget->setCurrentIndex(2);
|
ui->tabWidget->setCurrentIndex(2);
|
||||||
ui->TxFreqSpinBox->setValue(300);
|
ui->TxFreqSpinBox->setValue(300);
|
||||||
displayWidgets(nWidgets("111010000100111000010000000000100"));
|
displayWidgets(nWidgets("111010000100111000010000000000100"));
|
||||||
ui->labDXped->setText("Fox");
|
ui->labDXped->setText(tr ("Fox"));
|
||||||
on_fox_log_action_triggered();
|
on_fox_log_action_triggered();
|
||||||
}
|
}
|
||||||
if(SpecOp::HOUND == m_config.special_op_id()) {
|
if(SpecOp::HOUND == m_config.special_op_id()) {
|
||||||
@ -5875,7 +5869,7 @@ void MainWindow::on_actionFT8_triggered()
|
|||||||
ui->tabWidget->setCurrentIndex(0);
|
ui->tabWidget->setCurrentIndex(0);
|
||||||
ui->cbHoldTxFreq->setChecked(true);
|
ui->cbHoldTxFreq->setChecked(true);
|
||||||
displayWidgets(nWidgets("111010000100110000010000000000110"));
|
displayWidgets(nWidgets("111010000100110000010000000000110"));
|
||||||
ui->labDXped->setText("Hound");
|
ui->labDXped->setText(tr ("Hound"));
|
||||||
ui->txrb1->setChecked(true);
|
ui->txrb1->setChecked(true);
|
||||||
ui->txrb2->setEnabled(false);
|
ui->txrb2->setEnabled(false);
|
||||||
ui->txrb4->setEnabled(false);
|
ui->txrb4->setEnabled(false);
|
||||||
@ -5939,10 +5933,10 @@ void MainWindow::on_actionJT4_triggered()
|
|||||||
m_bFast9=false;
|
m_bFast9=false;
|
||||||
setup_status_bar (bVHF);
|
setup_status_bar (bVHF);
|
||||||
ui->sbSubmode->setMaximum(6);
|
ui->sbSubmode->setMaximum(6);
|
||||||
ui->label_6->setText("Single-Period Decodes");
|
ui->label_6->setText(tr ("Single-Period Decodes"));
|
||||||
ui->label_7->setText("Average Decodes");
|
ui->label_7->setText(tr ("Average Decodes"));
|
||||||
ui->decodedTextLabel->setText("UTC dB DT Freq Message");
|
ui->decodedTextLabel->setText("UTC dB DT Freq " + tr ("Message"));
|
||||||
ui->decodedTextLabel2->setText("UTC dB DT Freq Message");
|
ui->decodedTextLabel2->setText("UTC dB DT Freq " + tr ("Message"));
|
||||||
if(bVHF) {
|
if(bVHF) {
|
||||||
ui->sbSubmode->setValue(m_nSubMode);
|
ui->sbSubmode->setValue(m_nSubMode);
|
||||||
} else {
|
} else {
|
||||||
@ -5990,19 +5984,19 @@ void MainWindow::on_actionJT9_triggered()
|
|||||||
m_fastGraph->show();
|
m_fastGraph->show();
|
||||||
ui->TxFreqSpinBox->setValue(700);
|
ui->TxFreqSpinBox->setValue(700);
|
||||||
ui->RxFreqSpinBox->setValue(700);
|
ui->RxFreqSpinBox->setValue(700);
|
||||||
ui->decodedTextLabel->setText("UTC dB T Freq Message");
|
ui->decodedTextLabel->setText("UTC dB T Freq " + tr ("Message"));
|
||||||
ui->decodedTextLabel2->setText("UTC dB T Freq Message");
|
ui->decodedTextLabel2->setText("UTC dB T Freq " + tr ("Message"));
|
||||||
} else {
|
} else {
|
||||||
ui->cbAutoSeq->setChecked(false);
|
ui->cbAutoSeq->setChecked(false);
|
||||||
m_TRperiod=60.0;
|
m_TRperiod=60.0;
|
||||||
ui->decodedTextLabel->setText("UTC dB DT Freq Message");
|
ui->decodedTextLabel->setText("UTC dB DT Freq " + tr ("Message"));
|
||||||
ui->decodedTextLabel2->setText("UTC dB DT Freq Message");
|
ui->decodedTextLabel2->setText("UTC dB DT Freq " + tr ("Message"));
|
||||||
}
|
}
|
||||||
m_wideGraph->setPeriod(m_TRperiod,m_nsps);
|
m_wideGraph->setPeriod(m_TRperiod,m_nsps);
|
||||||
m_modulator->setTRPeriod(m_TRperiod); // TODO - not thread safe
|
m_modulator->setTRPeriod(m_TRperiod); // TODO - not thread safe
|
||||||
m_detector->setTRPeriod(m_TRperiod); // TODO - not thread safe
|
m_detector->setTRPeriod(m_TRperiod); // TODO - not thread safe
|
||||||
ui->label_6->setText("Band Activity");
|
ui->label_6->setText(tr ("Band Activity"));
|
||||||
ui->label_7->setText("Rx Frequency");
|
ui->label_7->setText(tr ("Rx Frequency"));
|
||||||
if(bVHF) {
|
if(bVHF) {
|
||||||
displayWidgets(nWidgets("111110101000111110010000000000000"));
|
displayWidgets(nWidgets("111110101000111110010000000000000"));
|
||||||
} else {
|
} else {
|
||||||
@ -6041,10 +6035,10 @@ void MainWindow::on_actionJT9_JT65_triggered()
|
|||||||
m_bFastMode=false;
|
m_bFastMode=false;
|
||||||
m_bFast9=false;
|
m_bFast9=false;
|
||||||
ui->sbSubmode->setValue(0);
|
ui->sbSubmode->setValue(0);
|
||||||
ui->label_6->setText("Band Activity");
|
ui->label_6->setText(tr ("Band Activity"));
|
||||||
ui->label_7->setText("Rx Frequency");
|
ui->label_7->setText(tr ("Rx Frequency"));
|
||||||
ui->decodedTextLabel->setText("UTC dB DT Freq Message");
|
ui->decodedTextLabel->setText("UTC dB DT Freq " + tr ("Message"));
|
||||||
ui->decodedTextLabel2->setText("UTC dB DT Freq Message");
|
ui->decodedTextLabel2->setText("UTC dB DT Freq " + tr ("Message"));
|
||||||
displayWidgets(nWidgets("111010000001111000010000000000001"));
|
displayWidgets(nWidgets("111010000001111000010000000000001"));
|
||||||
fast_config(false);
|
fast_config(false);
|
||||||
statusChanged();
|
statusChanged();
|
||||||
@ -6085,12 +6079,12 @@ void MainWindow::on_actionJT65_triggered()
|
|||||||
ui->sbSubmode->setMaximum(2);
|
ui->sbSubmode->setMaximum(2);
|
||||||
if(bVHF) {
|
if(bVHF) {
|
||||||
ui->sbSubmode->setValue(m_nSubMode);
|
ui->sbSubmode->setValue(m_nSubMode);
|
||||||
ui->label_6->setText("Single-Period Decodes");
|
ui->label_6->setText(tr ("Single-Period Decodes"));
|
||||||
ui->label_7->setText("Average Decodes");
|
ui->label_7->setText(tr ("Average Decodes"));
|
||||||
} else {
|
} else {
|
||||||
ui->sbSubmode->setValue(0);
|
ui->sbSubmode->setValue(0);
|
||||||
ui->label_6->setText("Band Activity");
|
ui->label_6->setText(tr ("Band Activity"));
|
||||||
ui->label_7->setText("Rx Frequency");
|
ui->label_7->setText(tr ("Rx Frequency"));
|
||||||
}
|
}
|
||||||
if(bVHF) {
|
if(bVHF) {
|
||||||
displayWidgets(nWidgets("111110010000110110101100010000000"));
|
displayWidgets(nWidgets("111110010000110110101100010000000"));
|
||||||
@ -6209,13 +6203,13 @@ void MainWindow::on_actionMSK144_triggered()
|
|||||||
ui->RxFreqSpinBox->setMinimum(1400);
|
ui->RxFreqSpinBox->setMinimum(1400);
|
||||||
ui->RxFreqSpinBox->setMaximum(1600);
|
ui->RxFreqSpinBox->setMaximum(1600);
|
||||||
ui->RxFreqSpinBox->setSingleStep(10);
|
ui->RxFreqSpinBox->setSingleStep(10);
|
||||||
ui->decodedTextLabel->setText("UTC dB T Freq Message");
|
ui->decodedTextLabel->setText("UTC dB T Freq " + tr ("Message"));
|
||||||
ui->decodedTextLabel2->setText("UTC dB T Freq Message");
|
ui->decodedTextLabel2->setText("UTC dB T Freq " + tr ("Message"));
|
||||||
m_modulator->setTRPeriod(m_TRperiod); // TODO - not thread safe
|
m_modulator->setTRPeriod(m_TRperiod); // TODO - not thread safe
|
||||||
m_detector->setTRPeriod(m_TRperiod); // TODO - not thread safe
|
m_detector->setTRPeriod(m_TRperiod); // TODO - not thread safe
|
||||||
m_fastGraph->setTRPeriod(m_TRperiod);
|
m_fastGraph->setTRPeriod(m_TRperiod);
|
||||||
ui->label_6->setText("Band Activity");
|
ui->label_6->setText(tr ("Band Activity"));
|
||||||
ui->label_7->setText("Tx Messages");
|
ui->label_7->setText(tr ("Tx Messages"));
|
||||||
ui->actionMSK144->setChecked(true);
|
ui->actionMSK144->setChecked(true);
|
||||||
ui->rptSpinBox->setMinimum(-8);
|
ui->rptSpinBox->setMinimum(-8);
|
||||||
ui->rptSpinBox->setMaximum(24);
|
ui->rptSpinBox->setMaximum(24);
|
||||||
@ -6395,7 +6389,7 @@ void MainWindow::WSPR_config(bool b)
|
|||||||
}
|
}
|
||||||
m_bSimplex = true;
|
m_bSimplex = true;
|
||||||
} else {
|
} else {
|
||||||
ui->decodedTextLabel->setText("UTC dB DT Freq Message");
|
ui->decodedTextLabel->setText("UTC dB DT Freq " + tr ("Message"));
|
||||||
m_bSimplex = false;
|
m_bSimplex = false;
|
||||||
}
|
}
|
||||||
enable_DXCC_entity (m_config.DXCC ()); // sets text window proportions and (re)inits the logbook
|
enable_DXCC_entity (m_config.DXCC ()); // sets text window proportions and (re)inits the logbook
|
||||||
@ -7632,7 +7626,7 @@ void MainWindow::p1ReadFromStdout() //p1readFromStdout
|
|||||||
if(!m_diskData) {
|
if(!m_diskData) {
|
||||||
WSPR_history(m_dialFreqRxWSPR, m_nWSPRdecodes);
|
WSPR_history(m_dialFreqRxWSPR, m_nWSPRdecodes);
|
||||||
if(m_nWSPRdecodes==0 and ui->band_hopping_group_box->isChecked()) {
|
if(m_nWSPRdecodes==0 and ui->band_hopping_group_box->isChecked()) {
|
||||||
t = " Receiving " + m_mode + " ----------------------- " +
|
t = " " + tr ("Receiving") + " " + m_mode + " ----------------------- " +
|
||||||
m_config.bands ()->find (m_dialFreqRxWSPR);
|
m_config.bands ()->find (m_dialFreqRxWSPR);
|
||||||
t=WSPR_hhmm(-60) + ' ' + t.rightJustified (66, '-');
|
t=WSPR_hhmm(-60) + ' ' + t.rightJustified (66, '-');
|
||||||
ui->decodedTextBrowser->appendText(t);
|
ui->decodedTextBrowser->appendText(t);
|
||||||
@ -7703,11 +7697,14 @@ void MainWindow::p1ReadFromStdout() //p1readFromStdout
|
|||||||
rxLine += t1;
|
rxLine += t1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (m_config.insert_blank () && (rxLine.left(4)!=m_tBlankLine)) {
|
if (rxLine.left (4) != m_tBlankLine) {
|
||||||
QString band;
|
ui->decodedTextBrowser->new_period ();
|
||||||
Frequency f=1000000.0*rxFields.at(3).toDouble()+0.5;
|
if (m_config.insert_blank ()) {
|
||||||
band = ' ' + m_config.bands ()->find (f);
|
QString band;
|
||||||
ui->decodedTextBrowser->appendText(band.rightJustified (71, '-'));
|
Frequency f=1000000.0*rxFields.at(3).toDouble()+0.5;
|
||||||
|
band = ' ' + m_config.bands ()->find (f);
|
||||||
|
ui->decodedTextBrowser->appendText(band.rightJustified (71, '-'));
|
||||||
|
}
|
||||||
m_tBlankLine = rxLine.left(4);
|
m_tBlankLine = rxLine.left(4);
|
||||||
}
|
}
|
||||||
m_nWSPRdecodes += 1;
|
m_nWSPRdecodes += 1;
|
||||||
@ -8101,7 +8098,7 @@ void MainWindow::tx_watchdog (bool triggered)
|
|||||||
if (m_tune) stop_tuning ();
|
if (m_tune) stop_tuning ();
|
||||||
if (m_auto) auto_tx_mode (false);
|
if (m_auto) auto_tx_mode (false);
|
||||||
tx_status_label.setStyleSheet ("QLabel{background-color: #ff0000}");
|
tx_status_label.setStyleSheet ("QLabel{background-color: #ff0000}");
|
||||||
tx_status_label.setText ("Runaway Tx watchdog");
|
tx_status_label.setText (tr ("Runaway Tx watchdog"));
|
||||||
QApplication::alert (this);
|
QApplication::alert (this);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -8116,7 +8113,7 @@ void MainWindow::update_watchdog_label ()
|
|||||||
{
|
{
|
||||||
if (m_config.watchdog () && !m_mode.startsWith ("WSPR"))
|
if (m_config.watchdog () && !m_mode.startsWith ("WSPR"))
|
||||||
{
|
{
|
||||||
watchdog_label.setText (QString {"WD:%1m"}.arg (m_config.watchdog () - m_idleMinutes));
|
watchdog_label.setText (tr ("WD:%1m").arg (m_config.watchdog () - m_idleMinutes));
|
||||||
watchdog_label.setVisible (true);
|
watchdog_label.setVisible (true);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -488,6 +488,9 @@ void CPlotter::DrawOverlay() //DrawOverlay()
|
|||||||
painter0.drawLine(x1,24,x1,30);
|
painter0.drawLine(x1,24,x1,30);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int yh=5;
|
||||||
|
int yTxTop=12;
|
||||||
|
int yRxBottom=yTxTop + 2*yh + 4;
|
||||||
if(m_mode=="JT9" or m_mode=="JT65" or m_mode=="JT9+JT65"
|
if(m_mode=="JT9" or m_mode=="JT65" or m_mode=="JT9+JT65"
|
||||||
or m_mode=="QRA64" or m_mode=="FT8" or m_mode=="FT4") {
|
or m_mode=="QRA64" or m_mode=="FT8" or m_mode=="FT4") {
|
||||||
|
|
||||||
@ -513,12 +516,14 @@ void CPlotter::DrawOverlay() //DrawOverlay()
|
|||||||
painter0.drawLine(x6,24,x6,30);
|
painter0.drawLine(x6,24,x6,30);
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
// Draw the green "goal post"
|
||||||
painter0.setPen(penGreen);
|
painter0.setPen(penGreen);
|
||||||
x1=XfromFreq(m_rxFreq);
|
x1=XfromFreq(m_rxFreq);
|
||||||
x2=XfromFreq(m_rxFreq+bw);
|
x2=XfromFreq(m_rxFreq+bw);
|
||||||
painter0.drawLine(x1,24,x1,30);
|
painter0.drawLine(x1,yRxBottom-yh,x1,yRxBottom);
|
||||||
painter0.drawLine(x1,28,x2,28);
|
painter0.drawLine(x1,yRxBottom,x2,yRxBottom);
|
||||||
painter0.drawLine(x2,24,x2,30);
|
painter0.drawLine(x2,yRxBottom-yh,x2,yRxBottom);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -538,9 +543,10 @@ void CPlotter::DrawOverlay() //DrawOverlay()
|
|||||||
x1=XfromFreq(m_txFreq-0.5*bw);
|
x1=XfromFreq(m_txFreq-0.5*bw);
|
||||||
x2=XfromFreq(m_txFreq+0.5*bw);
|
x2=XfromFreq(m_txFreq+0.5*bw);
|
||||||
}
|
}
|
||||||
painter0.drawLine(x1,17,x1,21);
|
// Draw the red "goal post"
|
||||||
painter0.drawLine(x1,17,x2,17);
|
painter0.drawLine(x1,yTxTop,x1,yTxTop+yh);
|
||||||
painter0.drawLine(x2,17,x2,21);
|
painter0.drawLine(x1,yTxTop,x2,yTxTop);
|
||||||
|
painter0.drawLine(x2,yTxTop,x2,yTxTop+yh);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(m_mode=="JT9+JT65") {
|
if(m_mode=="JT9+JT65") {
|
||||||
|
@ -157,6 +157,9 @@
|
|||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Adjust...</string>
|
<string>Adjust...</string>
|
||||||
</property>
|
</property>
|
||||||
|
<property name="autoDefault">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
|
@ -9,8 +9,8 @@ SOURCES += \
|
|||||||
widgets/colorhighlighting.cpp widgets/ExportCabrillo.cpp \
|
widgets/colorhighlighting.cpp widgets/ExportCabrillo.cpp \
|
||||||
widgets/AbstractLogWindow.cpp \
|
widgets/AbstractLogWindow.cpp \
|
||||||
widgets/FrequencyLineEdit.cpp widgets/FrequencyDeltaLineEdit.cpp \
|
widgets/FrequencyLineEdit.cpp widgets/FrequencyDeltaLineEdit.cpp \
|
||||||
widgets/FoxLogWindow.cpp widgets/CabrilloLogWindow.cpp
|
widgets/FoxLogWindow.cpp widgets/CabrilloLogWindow.cpp \
|
||||||
|
widgets/HelpTextWindow.cpp
|
||||||
HEADERS += \
|
HEADERS += \
|
||||||
widgets/mainwindow.h widgets/plotter.h \
|
widgets/mainwindow.h widgets/plotter.h \
|
||||||
widgets/about.h widgets/widegraph.h \
|
widgets/about.h widgets/widegraph.h \
|
||||||
@ -21,7 +21,7 @@ HEADERS += \
|
|||||||
widgets/fastplot.h widgets/MessageBox.hpp widgets/colorhighlighting.h \
|
widgets/fastplot.h widgets/MessageBox.hpp widgets/colorhighlighting.h \
|
||||||
widgets/ExportCabrillo.h widgets/AbstractLogWindow.hpp \
|
widgets/ExportCabrillo.h widgets/AbstractLogWindow.hpp \
|
||||||
widgets/FoxLogWindow.hpp widgets/CabrilloLogWindow.hpp \
|
widgets/FoxLogWindow.hpp widgets/CabrilloLogWindow.hpp \
|
||||||
widgets/DateTimeEdit.hpp
|
widgets/DateTimeEdit.hpp widgets/HelpTextWindow.hpp
|
||||||
|
|
||||||
FORMS += \
|
FORMS += \
|
||||||
widgets/mainwindow.ui widgets/about.ui \
|
widgets/mainwindow.ui widgets/about.ui \
|
||||||
|