Correct the way "Rate" is being updated.

This commit is contained in:
Joe Taylor 2022-04-09 15:04:56 -04:00
parent 36d11fc561
commit 9b8b604a8c
2 changed files with 22 additions and 15 deletions

View File

@ -3450,6 +3450,7 @@ void MainWindow::ARRL_Digi_Update(DecodedText dt)
m_recentCall[deCall]=rc;
m_points=m_activeCall.value(deCall).points;
}
updateRate();
}
void MainWindow::ARRL_Digi_Display()
@ -6325,28 +6326,33 @@ void MainWindow::acceptQSO (QDateTime const& QSO_date_off, QString const& call,
al.band=band;
al.points=points;
m_arrl_log.append(al);
int iz=m_arrl_log.size();
int rate=0;
int nbc=0;
for(int i=iz-1; i>=0; i--) {
double hrDiff = m_arrl_log[i].time.msecsTo(al.time)/3600000.0;
if(hrDiff > 1.0) break;
rate += m_arrl_log[i].points;
if(i<iz-1 and m_arrl_log[i].band != m_arrl_log[i+1].band) nbc += 1;
}
m_ActiveStationsWidget->setRate(rate);
m_ActiveStationsWidget->setScore(m_score);
m_ActiveStationsWidget->setBandChanges(nbc);
}
updateRate();
m_xSent.clear ();
m_xRcvd.clear ();
if (m_config.clear_DXcall ()) ui->dxCallEntry->clear ();
if (m_config.clear_DXgrid ()) ui->dxGridEntry->clear ();
}
void MainWindow::updateRate()
{
int iz=m_arrl_log.size();
int rate=0;
int nbc=0;
double hrDiff;
for(int i=iz-1; i>=0; i--) {
hrDiff = m_arrl_log[i].time.msecsTo(QDateTime::currentDateTimeUtc())/3600000.0;
if(hrDiff > 1.0) break;
rate += m_arrl_log[i].points;
if(i<iz-1 and m_arrl_log[i].band != m_arrl_log[i+1].band) nbc += 1;
}
m_ActiveStationsWidget->setRate(rate);
m_ActiveStationsWidget->setScore(m_score);
m_ActiveStationsWidget->setBandChanges(nbc);
}
qint64 MainWindow::nWidgets(QString t)
{
Q_ASSERT(t.length()==N_WIDGETS);

View File

@ -785,6 +785,7 @@ private:
void CQTxFreq();
void useNextCall();
void abortQSO();
void updateRate();
void write_all(QString txRx, QString message);
bool isWorked(int itype, QString key, float fMHz=0, QString="");