Display calls in ActiveStations only when they are "ready to call". Erase on band change.

This commit is contained in:
Joe Taylor 2022-03-19 16:05:30 -04:00
parent fd7caa8cd6
commit ab48d77d0f
3 changed files with 26 additions and 14 deletions

View File

@ -83,3 +83,8 @@ void ActiveStations::setClickOK(bool b)
{ {
m_clickOK=b; m_clickOK=b;
} }
void ActiveStations::erase()
{
ui->RecentStationsPlainTextEdit->clear();
}

View File

@ -24,6 +24,7 @@ public:
int maxRecent(); int maxRecent();
int maxAge(); int maxAge();
void setClickOK(bool b); void setClickOK(bool b);
void erase();
Q_SLOT void select(); Q_SLOT void select();
bool m_clickOK=false; bool m_clickOK=false;

View File

@ -3373,7 +3373,6 @@ void MainWindow::ARRL_Digi_Update(DecodedText dt)
ActiveCall ac; ActiveCall ac;
RecentCall rc; RecentCall rc;
if(deGrid.contains(grid_regexp)) { if(deGrid.contains(grid_regexp)) {
if(!m_activeCall.contains(deCall) or deGrid!=m_activeCall.value(deCall).grid4) { if(!m_activeCall.contains(deCall) or deGrid!=m_activeCall.value(deCall).grid4) {
// Transmitting station's call is not already in QMap "m_activeCall", or grid has changed. // Transmitting station's call is not already in QMap "m_activeCall", or grid has changed.
@ -3444,6 +3443,7 @@ void MainWindow::ARRL_Digi_Display()
if(age>maxAge) { if(age>maxAge) {
icall.remove(); icall.remove();
} else { } else {
if(m_recentCall.value(deCall).ready2call) {
i++; i++;
int az=m_activeCall[deCall].az; int az=m_activeCall[deCall].az;
deGrid=m_activeCall[deCall].grid4; deGrid=m_activeCall[deCall].grid4;
@ -3459,6 +3459,7 @@ void MainWindow::ARRL_Digi_Display()
list.append(t1); list.append(t1);
} }
} }
}
if(i==0) return; if(i==0) return;
int jz=i; int jz=i;
m_ActiveStationsWidget->setClickOK(false); m_ActiveStationsWidget->setClickOK(false);
@ -7465,6 +7466,11 @@ void MainWindow::handle_transceiver_update (Transceiver::TransceiverState const&
if (m_lastDialFreq != m_freqNominal && if (m_lastDialFreq != m_freqNominal &&
(m_mode != "MSK144" (m_mode != "MSK144"
|| !(ui->cbCQTx->isEnabled () && ui->cbCQTx->isVisible () && ui->cbCQTx->isChecked()))) { || !(ui->cbCQTx->isEnabled () && ui->cbCQTx->isVisible () && ui->cbCQTx->isChecked()))) {
if(m_lastDialFreq != m_freqNominal and m_ActiveStationsWidget->isVisible()) {
m_recentCall.clear();
m_ActiveStationsWidget->erase();
}
m_lastDialFreq = m_freqNominal; m_lastDialFreq = m_freqNominal;
m_secBandChanged=QDateTime::currentMSecsSinceEpoch()/1000; m_secBandChanged=QDateTime::currentMSecsSinceEpoch()/1000;
pskSetLocal (); pskSetLocal ();