From 8eb0fc327dbfc1531d6cf966538f1dfc427f95a6 Mon Sep 17 00:00:00 2001 From: Jordan Sherer Date: Fri, 24 Aug 2018 09:38:00 -0400 Subject: [PATCH] Added option to enable/disable immediate transmission of directed items --- Configuration.cpp | 6 ++++++ Configuration.hpp | 1 + Configuration.ui | 13 +++++++++++++ mainwindow.cpp | 48 +++++++++++++++++++++++++++++++---------------- 4 files changed, 52 insertions(+), 16 deletions(-) diff --git a/Configuration.cpp b/Configuration.cpp index d63fe6f..f15b501 100644 --- a/Configuration.cpp +++ b/Configuration.cpp @@ -577,6 +577,7 @@ private: bool id_after_73_; bool tx_QSY_allowed_; bool spot_to_psk_reporter_; + bool transmit_directed_; bool autoreply_off_at_startup_; bool monitor_off_at_startup_; bool monitor_last_used_; @@ -690,6 +691,7 @@ void Configuration::set_spot_to_psk_reporter (bool spot) } } +bool Configuration::transmit_directed() const { return m_->transmit_directed_; } bool Configuration::autoreply_off_at_startup () const {return m_->autoreply_off_at_startup_;} bool Configuration::monitor_off_at_startup () const {return m_->monitor_off_at_startup_;} bool Configuration::monitor_last_used () const {return m_->rig_is_dummy_ || m_->monitor_last_used_;} @@ -1263,6 +1265,7 @@ void Configuration::impl::initialize_models () ui_->CW_id_after_73_check_box->setChecked (id_after_73_); ui_->tx_QSY_check_box->setChecked (tx_QSY_allowed_); ui_->psk_reporter_check_box->setChecked (spot_to_psk_reporter_); + ui_->transmit_directed_check_box->setChecked(transmit_directed_); ui_->autoreply_off_check_box->setChecked (autoreply_off_at_startup_); ui_->monitor_off_check_box->setChecked (monitor_off_at_startup_); ui_->monitor_last_used_check_box->setChecked (monitor_last_used_); @@ -1466,6 +1469,7 @@ void Configuration::impl::read_settings () type_2_msg_gen_ = settings_->value ("Type2MsgGen", QVariant::fromValue (Configuration::type_2_msg_3_full)).value (); + transmit_directed_ = settings_->value ("TransmitDirected", true).toBool(); autoreply_off_at_startup_ = settings_->value ("AutoreplyOFF", false).toBool (); monitor_off_at_startup_ = settings_->value ("MonitorOFF", false).toBool (); monitor_last_used_ = settings_->value ("MonitorLastUsed", false).toBool (); @@ -1605,6 +1609,7 @@ void Configuration::impl::write_settings () settings_->setValue ("AudioInputChannel", AudioDevice::toString (audio_input_channel_)); settings_->setValue ("AudioOutputChannel", AudioDevice::toString (audio_output_channel_)); settings_->setValue ("Type2MsgGen", QVariant::fromValue (type_2_msg_gen_)); + settings_->setValue ("TransmitDirected", transmit_directed_); settings_->setValue ("AutoreplyOFF", autoreply_off_at_startup_); settings_->setValue ("MonitorOFF", monitor_off_at_startup_); settings_->setValue ("MonitorLastUsed", monitor_last_used_); @@ -2037,6 +2042,7 @@ void Configuration::impl::accept () RxBandwidth_ = ui_->sbBandwidth->value (); id_after_73_ = ui_->CW_id_after_73_check_box->isChecked (); tx_QSY_allowed_ = ui_->tx_QSY_check_box->isChecked (); + transmit_directed_ = ui_->transmit_directed_check_box->isChecked(); autoreply_off_at_startup_ = ui_->autoreply_off_check_box->isChecked (); monitor_off_at_startup_ = ui_->monitor_off_check_box->isChecked (); monitor_last_used_ = ui_->monitor_last_used_check_box->isChecked (); diff --git a/Configuration.hpp b/Configuration.hpp index bafc584..5fa8b5a 100644 --- a/Configuration.hpp +++ b/Configuration.hpp @@ -114,6 +114,7 @@ public: bool tx_QSY_allowed () const; bool spot_to_psk_reporter () const; void set_spot_to_psk_reporter (bool); + bool transmit_directed() const; bool autoreply_off_at_startup () const; bool monitor_off_at_startup () const; bool monitor_last_used () const; diff --git a/Configuration.ui b/Configuration.ui index 85bc029..4fcd8ff 100644 --- a/Configuration.ui +++ b/Configuration.ui @@ -375,8 +375,21 @@ + + + + Immediately transmit directed responses from the menu + + + + + false + + + false + Single decode diff --git a/mainwindow.cpp b/mainwindow.cpp index 5295175..504dc97 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -7223,7 +7223,8 @@ void MainWindow::buildQueryMenu(QMenu * menu, QString call){ auto d = m_callActivity[selectedCall]; addMessageText(QString("%1 SNR %2").arg(selectedCall).arg(Varicode::formatSNR(d.snr)), true); - toggleTx(true); + + if(m_config.transmit_directed()) toggleTx(true); }); auto sendPWRAction = menu->addAction(QString("%1 PWR - Send station power level to the selected callsign").arg(call).trimmed()); @@ -7236,7 +7237,8 @@ void MainWindow::buildQueryMenu(QMenu * menu, QString call){ } addMessageText(QString("%1 PWR %2").arg(selectedCall).arg(Varicode::formatPWR(m_config.my_dBm())), true); - toggleTx(true); + + if(m_config.transmit_directed()) toggleTx(true); }); menu->addSeparator(); @@ -7264,7 +7266,8 @@ void MainWindow::buildQueryMenu(QMenu * menu, QString call){ } addMessageText(QString("%1?").arg(selectedCall), true); - toggleTx(true); + + if(m_config.transmit_directed()) toggleTx(true); }); auto qthQueryAction = menu->addAction(QString("%1@ - What is your QTH message?").arg(call)); @@ -7277,7 +7280,8 @@ void MainWindow::buildQueryMenu(QMenu * menu, QString call){ } addMessageText(QString("%1@").arg(selectedCall), true); - toggleTx(true); + + if(m_config.transmit_directed()) toggleTx(true); }); auto stationMessageQueryAction = menu->addAction(QString("%1&& - What is your station message?").arg(call).trimmed()); @@ -7290,7 +7294,8 @@ void MainWindow::buildQueryMenu(QMenu * menu, QString call){ } addMessageText(QString("%1&").arg(selectedCall), true); - toggleTx(true); + + if(m_config.transmit_directed()) toggleTx(true); }); auto stationPowerQueryAction = menu->addAction(QString("%1% - What is your station power?").arg(call).trimmed()); @@ -7303,7 +7308,8 @@ void MainWindow::buildQueryMenu(QMenu * menu, QString call){ } addMessageText(QString("%1%").arg(selectedCall), true); - toggleTx(true); + + if(m_config.transmit_directed()) toggleTx(true); }); auto heardQueryAction = menu->addAction(QString("%1$ - What are the stations are you hearing? (Top 4 ranked by strongest SNR)").arg(call).trimmed()); @@ -7316,7 +7322,8 @@ void MainWindow::buildQueryMenu(QMenu * menu, QString call){ } addMessageText(QString("%1$").arg(selectedCall), true); - toggleTx(true); + + if(m_config.transmit_directed()) toggleTx(true); }); auto hashAction = menu->addAction(QString("%1#message - Please ACK if you receive this message in its entirety").arg(call).trimmed()); @@ -7366,7 +7373,8 @@ void MainWindow::buildQueryMenu(QMenu * menu, QString call){ } addMessageText(QString("%1 AGN?").arg(selectedCall), true); - toggleTx(true); + + if(m_config.transmit_directed()) toggleTx(true); }); auto qslQueryAction = menu->addAction(QString("%1 QSL? - Did you receive my last transmission?").arg(call).trimmed()); @@ -7378,7 +7386,8 @@ void MainWindow::buildQueryMenu(QMenu * menu, QString call){ } addMessageText(QString("%1 QSL?").arg(selectedCall), true); - toggleTx(true); + + if(m_config.transmit_directed()) toggleTx(true); }); auto qslAction = menu->addAction(QString("%1 QSL - I confirm I received your last transmission").arg(call).trimmed()); @@ -7390,7 +7399,8 @@ void MainWindow::buildQueryMenu(QMenu * menu, QString call){ } addMessageText(QString("%1 QSL").arg(selectedCall), true); - toggleTx(true); + + if(m_config.transmit_directed()) toggleTx(true); }); auto yesAction = menu->addAction(QString("%1 YES - I confirm your last inquiry").arg(call).trimmed()); @@ -7402,7 +7412,8 @@ void MainWindow::buildQueryMenu(QMenu * menu, QString call){ } addMessageText(QString("%1 YES").arg(selectedCall), true); - toggleTx(true); + + if(m_config.transmit_directed()) toggleTx(true); }); auto noAction = menu->addAction(QString("%1 NO - I do not confirm your last inquiry").arg(call).trimmed()); @@ -7414,7 +7425,8 @@ void MainWindow::buildQueryMenu(QMenu * menu, QString call){ } addMessageText(QString("%1 NO").arg(selectedCall), true); - toggleTx(true); + + if(m_config.transmit_directed()) toggleTx(true); }); auto hwAction = menu->addAction(QString("%1 HW CPY? - How do you copy?").arg(call).trimmed()); @@ -7426,7 +7438,8 @@ void MainWindow::buildQueryMenu(QMenu * menu, QString call){ } addMessageText(QString("%1 HW CPY?").arg(selectedCall), true); - toggleTx(true); + + if(m_config.transmit_directed()) toggleTx(true); }); auto rrAction = menu->addAction(QString("%1 RR - Roger. Received. I copy.").arg(call).trimmed()); @@ -7438,7 +7451,8 @@ void MainWindow::buildQueryMenu(QMenu * menu, QString call){ } addMessageText(QString("%1 RR").arg(selectedCall), true); - toggleTx(true); + + if(m_config.transmit_directed()) toggleTx(true); }); auto fbAction = menu->addAction(QString("%1 FB - Fine Business").arg(call).trimmed()); @@ -7450,7 +7464,8 @@ void MainWindow::buildQueryMenu(QMenu * menu, QString call){ } addMessageText(QString("%1 FB").arg(selectedCall), true); - toggleTx(true); + + if(m_config.transmit_directed()) toggleTx(true); }); @@ -7463,7 +7478,8 @@ void MainWindow::buildQueryMenu(QMenu * menu, QString call){ } addMessageText(QString("%1 73").arg(selectedCall), true); - toggleTx(true); + + if(m_config.transmit_directed()) toggleTx(true); }); }