SVN r8577
This commit is contained in:
parent
45cc6416c1
commit
419c039d08
BIN
.svn/wc.db
BIN
.svn/wc.db
Binary file not shown.
@ -13,6 +13,42 @@
|
||||
Copyright 2001 - 2018 by Joe Taylor, K1JT.
|
||||
|
||||
|
||||
Release: WSJT-X Version 1.9.0-rc3
|
||||
March 18, 2018
|
||||
---------------------------------
|
||||
|
||||
Changes from WSJT-X Version 1.9.0-rc2 include the following:
|
||||
|
||||
- Corrected a number of flaws in Fox behavior, FT8 DXpedition Mode
|
||||
|
||||
- Allow Hounds to use compound callsigns
|
||||
|
||||
- Write debugging information to FoxQSO.txt.
|
||||
|
||||
- Fix the "Blue Decode Button" bug
|
||||
|
||||
- Allow partial processing of incoming UDP Reply messages so that
|
||||
non-CQ/QRZ decodes can be processed. The processing is the same as
|
||||
double-clicking the same decoded message within WSJT-X except that
|
||||
"Enable Tx" will not be enabled.
|
||||
|
||||
- Send DX grid locator to wsjt_status.txt, for use by applications like
|
||||
PstRotatorAZ
|
||||
|
||||
- Correct the display of DXCC status of KG4 calls
|
||||
|
||||
- Updated copy of cty.dat
|
||||
|
||||
- Updates to documentation
|
||||
|
||||
- Other minor bug fixes
|
||||
|
||||
- This release contains updated Hamlib functionality including changes
|
||||
to the Yaesu FT-817 back end that allows the uBITx kit transceiver
|
||||
to be CAT controlled by WSJT-X.
|
||||
|
||||
|
||||
|
||||
Release: WSJT-X Version 1.9.0-rc2
|
||||
February 26, 2018
|
||||
---------------------------------
|
||||
|
@ -2,5 +2,5 @@
|
||||
set (WSJTX_VERSION_MAJOR 1)
|
||||
set (WSJTX_VERSION_MINOR 9)
|
||||
set (WSJTX_VERSION_PATCH 0)
|
||||
set (WSJTX_RC 2) # release candidate number, comment out or zero for development versions
|
||||
set (WSJTX_RC 3) # release candidate number, comment out or zero for development versions
|
||||
set (WSJTX_VERSION_IS_RELEASE 0) # set to 1 for final release build
|
||||
|
129
mainwindow.cpp
129
mainwindow.cpp
@ -4020,21 +4020,6 @@ void MainWindow::processMessage (DecodedText const& message, Qt::KeyboardModifie
|
||||
return;
|
||||
}
|
||||
|
||||
if(m_bFastMode or m_mode=="FT8") {
|
||||
auto i1=message.string ().indexOf(" CQ ");
|
||||
if(i1>10) {
|
||||
bool ok;
|
||||
Frequency kHz {message.string ().mid (i1+4,3).toUInt (&ok)};
|
||||
if(ok && kHz >= 10 && kHz <= 999) {
|
||||
if (m_config.is_transceiver_online ()) {
|
||||
//QSY Freq for answering CQ nnn
|
||||
setRig (m_freqNominal / 1000000 * 1000000 + 1000 * kHz);
|
||||
ui->decodedTextBrowser2->displayQSY (QString {"QSY %1"}.arg (m_freqNominal / 1e6, 7, 'f', 3));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Skip the rest if no decoded text extracted
|
||||
int frequency = message.frequencyOffset();
|
||||
if (message.isTX()) {
|
||||
@ -4047,6 +4032,20 @@ void MainWindow::processMessage (DecodedText const& message, Qt::KeyboardModifie
|
||||
return;
|
||||
}
|
||||
|
||||
// check for CQ with listening frequency
|
||||
if (parts.size () >= 7
|
||||
&& (m_bFastMode || m_mode=="FT8")
|
||||
&& "CQ" == parts[5]
|
||||
&& m_config.is_transceiver_online ()) {
|
||||
bool ok;
|
||||
auto kHz = parts[6].toUInt (&ok);
|
||||
if (ok && kHz >= 10 && 3 == parts[6].size ()) {
|
||||
// QSY Freq for answering CQ nnn
|
||||
setRig (m_freqNominal / 1000000 * 1000000 + 1000 * kHz);
|
||||
ui->decodedTextBrowser2->displayQSY (QString {"QSY %1"}.arg (m_freqNominal / 1e6, 7, 'f', 3));
|
||||
}
|
||||
}
|
||||
|
||||
int nmod = message.timeInSeconds () % (2*m_TRperiod);
|
||||
m_txFirst=(nmod!=0);
|
||||
ui->txFirstCheckBox->setChecked(m_txFirst);
|
||||
@ -4921,9 +4920,10 @@ void MainWindow::displayWidgets(qint64 n)
|
||||
if(i==4) ui->rptSpinBox->setVisible(b);
|
||||
if(i==5) ui->sbTR->setVisible(b);
|
||||
if(i==6) {
|
||||
ui->sbCQTxFreq->setVisible(b);
|
||||
ui->cbCQTx->setVisible(b);
|
||||
ui->cbCQTx->setEnabled(b);
|
||||
ui->sbCQTxFreq->setVisible (b);
|
||||
ui->cbCQTx->setVisible (b);
|
||||
auto is_compound = m_config.my_callsign () != m_baseCall;
|
||||
ui->cbCQTx->setEnabled (b && (!is_compound || shortList (m_config.my_callsign ())));
|
||||
}
|
||||
if(i==7) ui->cbShMsgs->setVisible(b);
|
||||
if(i==8) ui->cbFast9->setVisible(b);
|
||||
@ -6529,63 +6529,58 @@ void MainWindow::replyToCQ (QTime time, qint32 snr, float delta_time, quint32 de
|
||||
return;
|
||||
}
|
||||
|
||||
if (message_text.contains (QRegularExpression {R"(^(CQ |CQDX |QRZ ))"}))
|
||||
QString format_string {"%1 %2 %3 %4 %5 %6"};
|
||||
auto const& time_string = time.toString ("~" == mode || "&" == mode ? "hhmmss" : "hhmm");
|
||||
auto cqtext = format_string
|
||||
.arg (time_string)
|
||||
.arg (snr, 3)
|
||||
.arg (delta_time, 4, 'f', 1)
|
||||
.arg (delta_frequency, 4)
|
||||
.arg (mode, -2)
|
||||
.arg (message_text);
|
||||
auto messages = ui->decodedTextBrowser->toPlainText ();
|
||||
auto position = messages.lastIndexOf (cqtext);
|
||||
if (position < 0)
|
||||
{
|
||||
// a message we are willing to accept
|
||||
QString format_string {"%1 %2 %3 %4 %5 %6"};
|
||||
auto const& time_string = time.toString ("~" == mode || "&" == mode ? "hhmmss" : "hhmm");
|
||||
auto cqtext = format_string
|
||||
.arg (time_string)
|
||||
.arg (snr, 3)
|
||||
.arg (delta_time, 4, 'f', 1)
|
||||
.arg (delta_frequency, 4)
|
||||
.arg (mode, -2)
|
||||
.arg (message_text);
|
||||
auto messages = ui->decodedTextBrowser->toPlainText ();
|
||||
auto position = messages.lastIndexOf (cqtext);
|
||||
if (position < 0)
|
||||
// try again with with -0.0 delta time
|
||||
position = messages.lastIndexOf (format_string
|
||||
.arg (time_string)
|
||||
.arg (snr, 3)
|
||||
.arg ('-' + QString::number (delta_time, 'f', 1), 4)
|
||||
.arg (delta_frequency, 4)
|
||||
.arg (mode, -2)
|
||||
.arg (message_text));
|
||||
}
|
||||
if (position >= 0)
|
||||
{
|
||||
if (m_config.udpWindowToFront ())
|
||||
{
|
||||
// try again with with -0.0 delta time
|
||||
position = messages.lastIndexOf (format_string
|
||||
.arg (time_string)
|
||||
.arg (snr, 3)
|
||||
.arg ('-' + QString::number (delta_time, 'f', 1), 4)
|
||||
.arg (delta_frequency, 4)
|
||||
.arg (mode, -2)
|
||||
.arg (message_text));
|
||||
show ();
|
||||
raise ();
|
||||
activateWindow ();
|
||||
}
|
||||
if (position >= 0)
|
||||
if (m_config.udpWindowRestore () && isMinimized ())
|
||||
{
|
||||
if (m_config.udpWindowToFront ())
|
||||
{
|
||||
show ();
|
||||
raise ();
|
||||
activateWindow ();
|
||||
}
|
||||
if (m_config.udpWindowRestore () && isMinimized ())
|
||||
{
|
||||
showNormal ();
|
||||
raise ();
|
||||
}
|
||||
// find the linefeed at the end of the line
|
||||
position = ui->decodedTextBrowser->toPlainText().indexOf(QChar::LineFeed,position);
|
||||
m_bDoubleClicked = true;
|
||||
auto start = messages.left (position).lastIndexOf (QChar::LineFeed) + 1;
|
||||
DecodedText message {messages.mid (start, position - start), ("MSK144" == m_mode || "FT8" == m_mode) &&
|
||||
ui->cbVHFcontest->isChecked(), m_config.my_grid ()};
|
||||
Qt::KeyboardModifiers kbmod {modifiers << 24};
|
||||
processMessage (message, kbmod);
|
||||
tx_watchdog (false);
|
||||
QApplication::alert (this);
|
||||
}
|
||||
else
|
||||
{
|
||||
qDebug () << "reply to CQ request ignored, decode not found:" << cqtext;
|
||||
showNormal ();
|
||||
raise ();
|
||||
}
|
||||
// find the linefeed at the end of the line
|
||||
position = ui->decodedTextBrowser->toPlainText().indexOf(QChar::LineFeed,position);
|
||||
if (message_text.contains (QRegularExpression {R"(^(CQ |CQDX |QRZ ))"})) {
|
||||
// a message we are willing to accept and auto reply to
|
||||
m_bDoubleClicked = true;
|
||||
}
|
||||
auto start = messages.left (position).lastIndexOf (QChar::LineFeed) + 1;
|
||||
DecodedText message {messages.mid (start, position - start), ("MSK144" == m_mode || "FT8" == m_mode) &&
|
||||
ui->cbVHFcontest->isChecked(), m_config.my_grid ()};
|
||||
Qt::KeyboardModifiers kbmod {modifiers << 24};
|
||||
processMessage (message, kbmod);
|
||||
tx_watchdog (false);
|
||||
QApplication::alert (this);
|
||||
}
|
||||
else
|
||||
{
|
||||
qDebug () << "rejecting UDP request to reply as decode is not a CQ or QRZ";
|
||||
qDebug () << "process reply message ignored, decode not found:" << cqtext;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -792,7 +792,7 @@ QLabel[oob="true"] {
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string><html><head/><body><p>Check this to call CQ on the &quot;Tx CQ&quot; frequency. Rx will be on the current frequency and the CQ message wiill include the current Rx frequency so callers know which frequency to reply on.</p></body></html></string>
|
||||
<string><html><head/><body><p>Check this to call CQ on the &quot;Tx CQ&quot; frequency. Rx will be on the current frequency and the CQ message wiill include the current Rx frequency so callers know which frequency to reply on.</p><p>Not available to type 2 compound callsign holders.</p></body></html></string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
|
Loading…
Reference in New Issue
Block a user