diff --git a/Configuration.cpp b/Configuration.cpp index 1c9ba69ab..64a26b62a 100644 --- a/Configuration.cpp +++ b/Configuration.cpp @@ -536,6 +536,7 @@ private: bool tx_QSY_allowed_; bool spot_to_psk_reporter_; bool monitor_off_at_startup_; + bool monitor_last_used_; bool log_as_RTTY_; bool report_in_comments_; bool prompt_to_log_; @@ -599,6 +600,7 @@ bool Configuration::id_after_73 () const {return m_->id_after_73_;} bool Configuration::tx_QSY_allowed () const {return m_->tx_QSY_allowed_;} bool Configuration::spot_to_psk_reporter () const {return m_->spot_to_psk_reporter_;} bool Configuration::monitor_off_at_startup () const {return m_->monitor_off_at_startup_;} +bool Configuration::monitor_last_used () const {return m_->monitor_last_used_;} bool Configuration::log_as_RTTY () const {return m_->log_as_RTTY_;} bool Configuration::report_in_comments () const {return m_->report_in_comments_;} bool Configuration::prompt_to_log () const {return m_->prompt_to_log_;} @@ -1008,6 +1010,7 @@ void Configuration::impl::initialise_models () ui_->tx_QSY_check_box->setChecked (tx_QSY_allowed_); ui_->psk_reporter_check_box->setChecked (spot_to_psk_reporter_); ui_->monitor_off_check_box->setChecked (monitor_off_at_startup_); + ui_->monitor_last_used_check_box->setChecked (monitor_last_used_); ui_->log_as_RTTY_check_box->setChecked (log_as_RTTY_); ui_->report_in_comments_check_box->setChecked (report_in_comments_); ui_->prompt_to_log_check_box->setChecked (prompt_to_log_); @@ -1165,6 +1168,7 @@ void Configuration::impl::read_settings () jt9w_max_dt_ = settings_->value ("DTmax", 5.).toFloat (); monitor_off_at_startup_ = settings_->value ("MonitorOFF", false).toBool (); + monitor_last_used_ = settings_->value ("MonitorLastUsed", false).toBool (); spot_to_psk_reporter_ = settings_->value ("PSKReporter", false).toBool (); id_after_73_ = settings_->value ("After73", false).toBool (); tx_QSY_allowed_ = settings_->value ("TxQSYAllowed", false).toBool (); @@ -1249,6 +1253,7 @@ void Configuration::impl::write_settings () settings_->setValue ("DTmin", jt9w_min_dt_); settings_->setValue ("DTmax", jt9w_max_dt_); settings_->setValue ("MonitorOFF", monitor_off_at_startup_); + settings_->setValue ("MonitorLastUsed", monitor_last_used_); settings_->setValue ("PSKReporter", spot_to_psk_reporter_); settings_->setValue ("After73", id_after_73_); settings_->setValue ("TxQSYAllowed", tx_QSY_allowed_); @@ -1596,6 +1601,7 @@ void Configuration::impl::accept () id_after_73_ = ui_->CW_id_after_73_check_box->isChecked (); tx_QSY_allowed_ = ui_->tx_QSY_check_box->isChecked (); monitor_off_at_startup_ = ui_->monitor_off_check_box->isChecked (); + monitor_last_used_ = ui_->monitor_last_used_check_box->isChecked (); jt9w_bw_mult_ = ui_->jt9w_bandwidth_mult_combo_box->currentText ().toUInt (); jt9w_min_dt_ = static_cast<float> (ui_->jt9w_min_dt_double_spin_box->value ()); jt9w_max_dt_ = static_cast<float> (ui_->jt9w_max_dt_double_spin_box->value ()); diff --git a/Configuration.hpp b/Configuration.hpp index a5d06feb9..fc239c001 100644 --- a/Configuration.hpp +++ b/Configuration.hpp @@ -91,6 +91,7 @@ public: bool tx_QSY_allowed () const; bool spot_to_psk_reporter () const; bool monitor_off_at_startup () const; + bool monitor_last_used () const; bool log_as_RTTY () const; bool report_in_comments () const; bool prompt_to_log () const; diff --git a/Configuration.ui b/Configuration.ui index 6dcd57aae..908dba149 100644 --- a/Configuration.ui +++ b/Configuration.ui @@ -226,17 +226,6 @@ <string>Behavior</string> </property> <layout class="QGridLayout" name="gridLayout_8"> - <item row="2" column="0"> - <widget class="QCheckBox" name="disable_TX_on_73_check_box"> - <property name="toolTip"> - <string>Turns off automatic transmissions after sending a 73 or any other free -text message.</string> - </property> - <property name="text"> - <string>Di&sable Tx after sending 73</string> - </property> - </widget> - </item> <item row="3" column="0"> <widget class="QCheckBox" name="watchdog_check_box"> <property name="toolTip"> @@ -247,16 +236,14 @@ text message.</string> </property> </widget> </item> - <item row="0" column="0"> - <widget class="QCheckBox" name="monitor_off_check_box"> + <item row="2" column="0"> + <widget class="QCheckBox" name="disable_TX_on_73_check_box"> <property name="toolTip"> - <string>Don't start decoding until the monitor button is clicked.</string> + <string>Turns off automatic transmissions after sending a 73 or any other free +text message.</string> </property> <property name="text"> - <string>Mon&itor off at startup</string> - </property> - <property name="checked"> - <bool>false</bool> + <string>Di&sable Tx after sending 73</string> </property> </widget> </item> @@ -270,13 +257,16 @@ text message.</string> </property> </widget> </item> - <item row="0" column="1"> - <widget class="QCheckBox" name="tx_QSY_check_box"> + <item row="0" column="0"> + <widget class="QCheckBox" name="monitor_off_check_box"> <property name="toolTip"> - <string><html><head/><body><p>Some rigs are not able to process CAT commands while transmitting. This means that if you are operating in split mode you may have to uncheck this option.</p></body></html></string> + <string>Don't start decoding until the monitor button is clicked.</string> </property> <property name="text"> - <string>Allow Tx frequency changes while transmitting</string> + <string>Mon&itor off at startup</string> + </property> + <property name="checked"> + <bool>false</bool> </property> </widget> </item> @@ -339,6 +329,26 @@ quiet period when decoding is done.</string> </item> </layout> </item> + <item row="1" column="1"> + <widget class="QCheckBox" name="tx_QSY_check_box"> + <property name="toolTip"> + <string><html><head/><body><p>Some rigs are not able to process CAT commands while transmitting. This means that if you are operating in split mode you may have to uncheck this option.</p></body></html></string> + </property> + <property name="text"> + <string>Allow Tx frequency changes while transmitting</string> + </property> + </widget> + </item> + <item row="0" column="1"> + <widget class="QCheckBox" name="monitor_last_used_check_box"> + <property name="toolTip"> + <string><html><head/><body><p>Check this if you wish to automatically return to the last monitored frequency when monitor is enabled, leave it unchecked if you wish to have the current rig frequency maintained.</p></body></html></string> + </property> + <property name="text"> + <string>Monitor returns to last used frequency</string> + </property> + </widget> + </item> </layout> </widget> </item> @@ -1950,7 +1960,9 @@ soundcard changes</string> <tabstop>font_push_button</tabstop> <tabstop>decoded_text_font_push_button</tabstop> <tabstop>monitor_off_check_box</tabstop> + <tabstop>monitor_last_used_check_box</tabstop> <tabstop>quick_call_check_box</tabstop> + <tabstop>tx_QSY_check_box</tabstop> <tabstop>disable_TX_on_73_check_box</tabstop> <tabstop>watchdog_check_box</tabstop> <tabstop>CW_id_after_73_check_box</tabstop> @@ -2002,7 +2014,11 @@ soundcard changes</string> <tabstop>psk_reporter_check_box</tabstop> <tabstop>frequencies_table_view</tabstop> <tabstop>stations_table_view</tabstop> - <tabstop>configuration_dialog_button_box</tabstop> + <tabstop>pbCQmsg</tabstop> + <tabstop>pbMyCall</tabstop> + <tabstop>pbTxMsg</tabstop> + <tabstop>pbNewDXCC</tabstop> + <tabstop>pbNewCall</tabstop> </tabstops> <resources/> <connections> @@ -2072,12 +2088,12 @@ soundcard changes</string> </connection> </connections> <buttongroups> - <buttongroup name="TX_mode_button_group"/> - <buttongroup name="split_mode_button_group"/> - <buttongroup name="CAT_stop_bits_button_group"/> - <buttongroup name="CAT_data_bits_button_group"/> <buttongroup name="CAT_handshake_button_group"/> <buttongroup name="PTT_method_button_group"/> <buttongroup name="TX_audio_source_button_group"/> + <buttongroup name="CAT_data_bits_button_group"/> + <buttongroup name="split_mode_button_group"/> + <buttongroup name="TX_mode_button_group"/> + <buttongroup name="CAT_stop_bits_button_group"/> </buttongroups> </ui> diff --git a/mainwindow.cpp b/mainwindow.cpp index bf736d7a8..e3149ea5c 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -700,10 +700,18 @@ void MainWindow::on_monitorButton_clicked (bool checked) { m_diskData = false; // no longer reading WAV files - // put rig back where it was when last in control - Q_EMIT m_config.transceiver_frequency (m_lastMonitoredFrequency); - qsy (m_lastMonitoredFrequency); - setXIT (ui->TxFreqSpinBox->value ()); + Frequency operating_frequency {m_dialFreq}; + if (m_config.monitor_last_used ()) + { + // put rig back where it was when last in control + operating_frequency = m_lastMonitoredFrequency; + Q_EMIT m_config.transceiver_frequency (operating_frequency); + } + qsy (operating_frequency); + if (m_config.monitor_last_used ()) + { + setXIT (ui->TxFreqSpinBox->value ()); + } } Q_EMIT m_config.sync_transceiver (true, checked); // gets