diff --git a/widgets/activeStations.cpp b/widgets/activeStations.cpp index aeb9a7757..508ccdcf6 100644 --- a/widgets/activeStations.cpp +++ b/widgets/activeStations.cpp @@ -23,8 +23,8 @@ ActiveStations::ActiveStations(QSettings * settings, QFont const& font, QWidget changeFont (font); read_settings (); ui->header_label2->setText(" N Call Grid Az S/N Freq Tx Age Pts"); - ui->cbWanted->setVisible(false); connect(ui->cbReadyOnly, SIGNAL(toggled(bool)), this, SLOT(on_cbReadyOnly_toggled(bool))); + connect(ui->cbWantedOnly, SIGNAL(toggled(bool)), this, SLOT(on_cbWantedOnly_toggled(bool))); connect(ui->RecentStationsPlainTextEdit, SIGNAL(cursorPositionChanged()), this, SLOT(on_textEdit_clicked())); } @@ -47,6 +47,7 @@ void ActiveStations::read_settings () ui->sbMaxRecent->setValue(settings_->value("MaxRecent",10).toInt()); ui->sbMaxAge->setValue(settings_->value("MaxAge",10).toInt()); ui->cbReadyOnly->setChecked(settings_->value("ReadyOnly",false).toBool()); + ui->cbWantedOnly->setChecked(settings_->value("WantedOnly",false).toBool()); } void ActiveStations::write_settings () @@ -56,6 +57,7 @@ void ActiveStations::write_settings () settings_->setValue("MaxRecent",ui->sbMaxRecent->value()); settings_->setValue("MaxAge",ui->sbMaxAge->value()); settings_->setValue("ReadyOnly",ui->cbReadyOnly->isChecked()); + settings_->setValue("WantedOnly",ui->cbWantedOnly->isChecked()); } void ActiveStations::displayRecentStations(QString mode, QString const& t) @@ -74,7 +76,7 @@ void ActiveStations::displayRecentStations(QString mode, QString const& t) bool b=(m_mode.left(3)=="Q65"); ui->bandChanges->setVisible(!b); ui->cbReadyOnly->setVisible(m_mode!="Q65-pileup"); - ui->cbWanted->setVisible(m_mode!="Q65-pileup"); + ui->cbWantedOnly->setVisible(m_mode!="Q65-pileup"); ui->label_2->setVisible(!b); ui->label_3->setVisible(!b); ui->score->setVisible(!b); @@ -137,6 +139,17 @@ void ActiveStations::on_cbReadyOnly_toggled(bool b) emit activeStationsDisplay(); } +bool ActiveStations::wantedOnly() +{ + return ui->cbWantedOnly->isChecked(); +} + +void ActiveStations::on_cbWantedOnly_toggled(bool b) +{ + m_bWantedOnly=b; + emit activeStationsDisplay(); +} + void ActiveStations::setRate(int n) { ui->rate->setText(QString::number(n)); diff --git a/widgets/activeStations.h b/widgets/activeStations.h index 07c0ef8dc..cb54970f0 100644 --- a/widgets/activeStations.h +++ b/widgets/activeStations.h @@ -26,12 +26,14 @@ public: void setClickOK(bool b); void erase(); bool readyOnly(); + bool wantedOnly(); void setRate(int n); void setBandChanges(int n); void setScore(int n); bool m_clickOK=false; bool m_bReadyOnly; + bool m_bWantedOnly; private: void read_settings (); @@ -41,6 +43,7 @@ private: Q_SIGNAL void cursorPositionChanged(); Q_SLOT void on_cbReadyOnly_toggled(bool b); + Q_SLOT void on_cbWantedOnly_toggled(bool b); Q_SLOT void on_textEdit_clicked(); // qint64 m_msec0=0; diff --git a/widgets/activeStations.ui b/widgets/activeStations.ui index bf790aa80..c5dca3618 100644 --- a/widgets/activeStations.ui +++ b/widgets/activeStations.ui @@ -178,7 +178,7 @@ - + false diff --git a/widgets/mainwindow.cpp b/widgets/mainwindow.cpp index 3bd610f79..3d62a2f76 100644 --- a/widgets/mainwindow.cpp +++ b/widgets/mainwindow.cpp @@ -9478,8 +9478,12 @@ void MainWindow::readWidebandDecodes() m_ActiveStationsWidget->setClickOK(false); int k=0; + for(i=m_EMECall.begin(); i!=m_EMECall.end(); i++) { - if(i->ready2call or !m_ActiveStationsWidget->readyOnly()) { + bool bSkip=false; + if(m_ActiveStationsWidget->wantedOnly() and m_EMEworked[i.key()]) bSkip=true; + if(m_ActiveStationsWidget->readyOnly() and !i->ready2call) bSkip=true; + if(!bSkip) { int snr=i->nsnr; int odd=1 - (i->t)%2; int age=60*nhr + nmin - (i->t);