From 7a788c05c81d3df1123846595d67b3734a83d3b8 Mon Sep 17 00:00:00 2001 From: Jordan Sherer Date: Fri, 20 Jul 2018 10:13:12 -0400 Subject: [PATCH] Added configuration options for controlling aging of the callsign and band activity windows --- Configuration.cpp | 20 ++++++++++ Configuration.hpp | 2 + Configuration.ui | 96 +++++++++++++++++++++++++++++++++++++++++++++-- mainwindow.cpp | 9 ++++- 4 files changed, 123 insertions(+), 4 deletions(-) diff --git a/Configuration.cpp b/Configuration.cpp index d641d2f..46f6efa 100644 --- a/Configuration.cpp +++ b/Configuration.cpp @@ -533,6 +533,8 @@ private: QString my_grid_; QString my_station_; QString my_qth_; + int callsign_aging_; + int activity_aging_; QColor color_CQ_; QColor next_color_CQ_; QColor color_MyCall_; @@ -831,6 +833,16 @@ QString Configuration::my_qth() const return m_->my_qth_; } +int Configuration::callsign_aging() const +{ + return m_->callsign_aging_; +} + +int Configuration::activity_aging() const +{ + return m_->activity_aging_; +} + void Configuration::set_location (QString const& grid_descriptor) { // change the dynamic grid @@ -1145,6 +1157,8 @@ void Configuration::impl::initialize_models () ui_->grid_line_edit->setPalette (pal); ui_->callsign_line_edit->setText (my_callsign_); ui_->grid_line_edit->setText (my_grid_); + ui_->callsign_aging_spin_box->setValue(callsign_aging_); + ui_->activity_aging_spin_box->setValue(activity_aging_); ui_->station_message_line_edit->setText (my_station_.toUpper()); ui_->qth_message_line_edit->setText (my_qth_.toUpper()); ui_->use_dynamic_grid->setChecked(use_dynamic_grid_); @@ -1266,6 +1280,8 @@ void Configuration::impl::read_settings () my_callsign_ = settings_->value ("MyCall", QString {}).toString (); my_grid_ = settings_->value ("MyGrid", QString {}).toString (); my_station_ = settings_->value("MyStation", QString {}).toString(); + callsign_aging_ = settings_->value ("CallsignAging", 0).toInt (); + activity_aging_ = settings_->value ("ActivityAging", 2).toInt (); my_qth_ = settings_->value("MyQTH", QString {}).toString(); next_color_CQ_ = color_CQ_ = settings_->value("colorCQ","#66ff66").toString(); next_color_MyCall_ = color_MyCall_ = settings_->value("colorMyCall","#ff6666").toString(); @@ -1455,6 +1471,8 @@ void Configuration::impl::write_settings () settings_->setValue ("MyGrid", my_grid_); settings_->setValue ("MyStation", my_station_); settings_->setValue ("MyQTH", my_qth_); + settings_->setValue ("CallsignAging", callsign_aging_); + settings_->setValue ("ActivityAging", activity_aging_); settings_->setValue("colorCQ",color_CQ_); settings_->setValue("colorMyCall",color_MyCall_); settings_->setValue("colorTxMsg",color_TxMsg_); @@ -1908,6 +1926,8 @@ void Configuration::impl::accept () my_grid_ = ui_->grid_line_edit->text (); my_station_ = ui_->station_message_line_edit->text().toUpper(); my_qth_ = ui_->qth_message_line_edit->text().toUpper(); + callsign_aging_ = ui_->callsign_aging_spin_box->value(); + activity_aging_ = ui_->activity_aging_spin_box->value(); spot_to_psk_reporter_ = ui_->psk_reporter_check_box->isChecked (); id_interval_ = ui_->CW_id_interval_spin_box->value (); ntrials_ = ui_->sbNtrials->value (); diff --git a/Configuration.hpp b/Configuration.hpp index 684dd4f..1929e32 100644 --- a/Configuration.hpp +++ b/Configuration.hpp @@ -97,6 +97,8 @@ public: QString my_callsign () const; QString my_grid () const; QString my_station () const; + int activity_aging() const; + int callsign_aging() const; QString my_qth () const; QFont text_font () const; QFont decoded_text_font () const; diff --git a/Configuration.ui b/Configuration.ui index 69cb4d1..e7924a8 100644 --- a/Configuration.ui +++ b/Configuration.ui @@ -7,7 +7,7 @@ 0 0 825 - 647 + 688 @@ -176,6 +176,12 @@ 0 + + 0 + + + 0 + @@ -351,15 +357,99 @@ + + + + + + Remove callsigns from heard list after: + + + callsign_aging_spin_box + + + + + + + <html><head/><body><p>Number of minutes between unattended beacons</p></body></html> + + + Disabled + + + minutes + + + + + + 0 + + + 60 + + + 1 + + + 0 + + + + + + + + + + + Remove messages from band activity after: + + + callsign_aging_spin_box + + + + + + + <html><head/><body><p>Number of minutes between unattended beacons</p></body></html> + + + Disabled + + + minutes + + + + + + 0 + + + 60 + + + 1 + + + 2 + + + + + - Beacon every: + Beacon interval: - beacon_spin_box + callsign_aging_spin_box diff --git a/mainwindow.cpp b/mainwindow.cpp index e041c9e..4551407 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -8083,8 +8083,9 @@ void MainWindow::displayActivity(bool force){ QStringList text; QString age; int snr = 0; + int activityAging = m_config.activity_aging(); foreach(ActivityDetail item, items){ - if(item.utcTimestamp.secsTo(now)/60 >= 2){ + if(activityAging && item.utcTimestamp.secsTo(now)/60 >= activityAging){ continue; } if(item.text.isEmpty()){ @@ -8172,8 +8173,14 @@ void MainWindow::displayActivity(bool force){ QList calls = m_callActivity.keys(); qSort(calls.begin(), calls.end()); + int callsignAging = m_config.callsign_aging(); foreach(QString call, calls){ CallDetail d = m_callActivity[call]; + + if(callsignAging && d.utcTimestamp.secsTo(now)/60 >= callsignAging){ + continue; + } + ui->tableWidgetCalls->insertRow(ui->tableWidgetCalls->rowCount()); ui->tableWidgetCalls->setItem(ui->tableWidgetCalls->rowCount() - 1, 0, new QTableWidgetItem(call)); ui->tableWidgetCalls->setItem(ui->tableWidgetCalls->rowCount() - 1, 1, new QTableWidgetItem(QString("(%1)").arg(since(d.utcTimestamp))));