Fix several logging issues.

1. cabLog() clears m_xSent and m_xRcvd, so do it after logging
     to ADIF log nd N1MM.
  2. If someone calls in "None" mode, set m_xRcvd="".
  3. Don't auto-log incomplete or invalid exchanges.
This commit is contained in:
Joe Taylor 2018-11-02 16:25:47 -04:00
parent 1589e4f126
commit 8d1adf0354
2 changed files with 11 additions and 8 deletions

View File

@ -92,10 +92,11 @@ void LogQSO::initLogQSO(QString const& hisCall, QString const& hisGrid, QString
using SpOp = Configuration::SpecialOperatingActivity;
if( SpOp::FOX == m_config->special_op_id() or
(m_config->autoLog() and SpOp::NONE < m_config->special_op_id()) ) {
(m_config->autoLog() and SpOp::NONE < m_config->special_op_id() and
m_xSent!="" and m_xRcvd!="")) {
accept();
} else {
show ();
show();
}
}

View File

@ -4374,7 +4374,8 @@ void MainWindow::processMessage (DecodedText const& message, Qt::KeyboardModifie
gen_msg=setTxMsg(3);
m_QSOProgress=ROGER_REPORT;
int n=t.size();
m_xRcvd=t[n-2] + " " + t[n-1];
int nRpt=t[n-2].toInt();
if(nRpt>=529 and nRpt<=599) m_xRcvd=t[n-2] + " " + t[n-1];
} else if(SpecOp::FIELD_DAY==m_config.special_op_id() and bFieldDay_msg) {
if(t0=="R") {
gen_msg=setTxMsg(4);
@ -4413,7 +4414,8 @@ void MainWindow::processMessage (DecodedText const& message, Qt::KeyboardModifie
m_QSOProgress = ROGERS;
if(SpecOp::RTTY == m_config.special_op_id()) {
int n=t.size();
m_xRcvd=t[n-2] + " " + t[n-1];
int nRpt=t[n-2].toInt();
if(nRpt>=529 and nRpt<=599) m_xRcvd=t[n-2] + " " + t[n-1];
}
ui->txrb4->setChecked(true);
if(ui->tabWidget->currentIndex()==1) {
@ -5280,15 +5282,15 @@ void MainWindow::on_logQSOButton_clicked() //Log QSO button
default: break;
}
m_logDlg->initLogQSO (m_hisCall, grid, m_modeTx, m_rptSent, m_rptRcvd,
m_dateTimeQSOOn, dateTimeQSOOff, m_freqNominal +
ui->TxFreqSpinBox->value(), m_noSuffix, m_xSent, m_xRcvd);
if(SpecOp::NONE < m_config.special_op_id() and SpecOp::FOX > m_config.special_op_id()) {
int n=ui->sbSerialNumber->value();
ui->sbSerialNumber->setValue(n+1);
cabLog(); //Call the Cabrillo contest logger
}
m_logDlg->initLogQSO (m_hisCall, grid, m_modeTx, m_rptSent, m_rptRcvd,
m_dateTimeQSOOn, dateTimeQSOOff, m_freqNominal +
ui->TxFreqSpinBox->value(), m_noSuffix, m_xSent, m_xRcvd);
}
void MainWindow::cabLog()