From 8d1adf0354d00a1ac6ec5ce3b40ca28d7652504b Mon Sep 17 00:00:00 2001 From: Joe Taylor Date: Fri, 2 Nov 2018 16:25:47 -0400 Subject: [PATCH] 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. --- logqso.cpp | 5 +++-- mainwindow.cpp | 14 ++++++++------ 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/logqso.cpp b/logqso.cpp index 4784848d1..af58bed92 100644 --- a/logqso.cpp +++ b/logqso.cpp @@ -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(); } } diff --git a/mainwindow.cpp b/mainwindow.cpp index 355058f3e..7ae5db5fa 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -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()