Added a configuration checkbox for holding PTT

This commit is contained in:
Jordan Sherer 2019-05-19 10:51:05 -04:00
parent a1eb193278
commit ae640ed40c
3 changed files with 153 additions and 114 deletions

View File

@ -648,6 +648,7 @@ private:
bool ppfx_; bool ppfx_;
bool clear_callsign_; bool clear_callsign_;
bool miles_; bool miles_;
bool hold_ptt_;
bool avoid_allcall_; bool avoid_allcall_;
bool spellcheck_; bool spellcheck_;
bool quick_call_; bool quick_call_;
@ -789,6 +790,7 @@ bool Configuration::DXCC () const {return m_->DXCC_;}
bool Configuration::ppfx() const {return m_->ppfx_;} bool Configuration::ppfx() const {return m_->ppfx_;}
bool Configuration::clear_callsign () const {return m_->clear_callsign_;} bool Configuration::clear_callsign () const {return m_->clear_callsign_;}
bool Configuration::miles () const {return m_->miles_;} bool Configuration::miles () const {return m_->miles_;}
bool Configuration::hold_ptt() const {return m_->hold_ptt_;}
bool Configuration::avoid_allcall () const {return m_->avoid_allcall_;} bool Configuration::avoid_allcall () const {return m_->avoid_allcall_;}
bool Configuration::set_avoid_allcall(bool avoid) { bool Configuration::set_avoid_allcall(bool avoid) {
if(m_->avoid_allcall_ != avoid){ if(m_->avoid_allcall_ != avoid){
@ -1431,6 +1433,7 @@ void Configuration::impl::initialize_models ()
ui_->prompt_to_log_check_box->setChecked (prompt_to_log_); ui_->prompt_to_log_check_box->setChecked (prompt_to_log_);
ui_->clear_callsign_check_box->setChecked (clear_callsign_); ui_->clear_callsign_check_box->setChecked (clear_callsign_);
ui_->miles_check_box->setChecked (miles_); ui_->miles_check_box->setChecked (miles_);
ui_->hold_ptt_check_box->setChecked(hold_ptt_);
ui_->avoid_allcall_checkbox->setChecked(avoid_allcall_); ui_->avoid_allcall_checkbox->setChecked(avoid_allcall_);
ui_->spellcheck_check_box->setChecked(spellcheck_); ui_->spellcheck_check_box->setChecked(spellcheck_);
ui_->quick_call_check_box->setChecked (quick_call_); ui_->quick_call_check_box->setChecked (quick_call_);
@ -1748,6 +1751,7 @@ void Configuration::impl::read_settings ()
ppfx_ = settings_->value ("PrincipalPrefix", false).toBool (); ppfx_ = settings_->value ("PrincipalPrefix", false).toBool ();
clear_callsign_ = settings_->value ("ClearCallGrid", false).toBool (); clear_callsign_ = settings_->value ("ClearCallGrid", false).toBool ();
miles_ = settings_->value ("Miles", false).toBool (); miles_ = settings_->value ("Miles", false).toBool ();
hold_ptt_ = settings_->value ("HoldPTT", false).toBool();
avoid_allcall_ = settings_->value ("AvoidAllcall", false).toBool (); avoid_allcall_ = settings_->value ("AvoidAllcall", false).toBool ();
spellcheck_ = settings_->value ("Spellcheck", true).toBool(); spellcheck_ = settings_->value ("Spellcheck", true).toBool();
quick_call_ = settings_->value ("QuickCall", false).toBool (); quick_call_ = settings_->value ("QuickCall", false).toBool ();
@ -1890,6 +1894,7 @@ void Configuration::impl::write_settings ()
settings_->setValue ("PrincipalPrefix", ppfx_); settings_->setValue ("PrincipalPrefix", ppfx_);
settings_->setValue ("ClearCallGrid", clear_callsign_); settings_->setValue ("ClearCallGrid", clear_callsign_);
settings_->setValue ("Miles", miles_); settings_->setValue ("Miles", miles_);
settings_->setValue ("HoldPTT", hold_ptt_);
settings_->setValue ("AvoidAllcall", avoid_allcall_); settings_->setValue ("AvoidAllcall", avoid_allcall_);
settings_->setValue ("Spellcheck", spellcheck_); settings_->setValue ("Spellcheck", spellcheck_);
settings_->setValue ("QuickCall", quick_call_); settings_->setValue ("QuickCall", quick_call_);
@ -2422,6 +2427,7 @@ void Configuration::impl::accept ()
prompt_to_log_ = ui_->prompt_to_log_check_box->isChecked (); prompt_to_log_ = ui_->prompt_to_log_check_box->isChecked ();
clear_callsign_ = ui_->clear_callsign_check_box->isChecked (); clear_callsign_ = ui_->clear_callsign_check_box->isChecked ();
miles_ = ui_->miles_check_box->isChecked (); miles_ = ui_->miles_check_box->isChecked ();
hold_ptt_ = ui_->hold_ptt_check_box->isChecked();
avoid_allcall_ = ui_->avoid_allcall_checkbox->isChecked(); avoid_allcall_ = ui_->avoid_allcall_checkbox->isChecked();
spellcheck_ = ui_->spellcheck_check_box->isChecked(); spellcheck_ = ui_->spellcheck_check_box->isChecked();
quick_call_ = ui_->quick_call_check_box->isChecked (); quick_call_ = ui_->quick_call_check_box->isChecked ();

View File

@ -139,6 +139,7 @@ public:
bool ppfx() const; bool ppfx() const;
bool clear_callsign () const; bool clear_callsign () const;
bool miles () const; bool miles () const;
bool hold_ptt() const;
bool avoid_allcall () const; bool avoid_allcall () const;
bool set_avoid_allcall (bool avoid); bool set_avoid_allcall (bool avoid);
bool spellcheck() const; bool spellcheck() const;

View File

@ -23,7 +23,7 @@
<string>Select tab to change configuration parameters.</string> <string>Select tab to change configuration parameters.</string>
</property> </property>
<property name="currentIndex"> <property name="currentIndex">
<number>0</number> <number>1</number>
</property> </property>
<widget class="QWidget" name="general_tab"> <widget class="QWidget" name="general_tab">
<attribute name="title"> <attribute name="title">
@ -277,8 +277,8 @@
<property name="geometry"> <property name="geometry">
<rect> <rect>
<x>0</x> <x>0</x>
<y>-297</y> <y>0</y>
<width>724</width> <width>615</width>
<height>750</height> <height>750</height>
</rect> </rect>
</property> </property>
@ -922,10 +922,68 @@ text message.</string>
</item> </item>
</layout> </layout>
</item> </item>
<item row="3" column="0">
<layout class="QHBoxLayout" name="horizontalLayout_11">
<item>
<widget class="QPushButton" name="test_CAT_push_button">
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Attempt to connect to the radio with these settings.&lt;/p&gt;&lt;p&gt;The button will turn green if the connection is successful or red if there is a problem.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="text">
<string>Test CAT</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_3">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Preferred</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QPushButton" name="test_PTT_push_button">
<property name="toolTip">
<string>Attempt to activate the transmitter.
Click again to deactivate. Normally no power should be
output since there is no audio being generated at this time.
Check that any Tx indication on your radio and/or your
radio interface behave as expected.</string>
</property>
<property name="styleSheet">
<string notr="true">QPushButton:checked {
background-color: red;
border-style : outset;
border-width: 1px;
border-radius: 5px;
border-color: black;
min-width: 5em;
padding: 3px;
}</string>
</property>
<property name="text">
<string>Test PTT</string>
</property>
<property name="checkable">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</item>
<item row="1" column="0" rowspan="2"> <item row="1" column="0" rowspan="2">
<widget class="QTabWidget" name="tabWidget_3"> <widget class="QTabWidget" name="tabWidget_3">
<property name="currentIndex"> <property name="currentIndex">
<number>0</number> <number>1</number>
</property> </property>
<widget class="QWidget" name="catTab"> <widget class="QWidget" name="catTab">
<attribute name="title"> <attribute name="title">
@ -951,7 +1009,7 @@ text message.</string>
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>718</width> <width>264</width>
<height>435</height> <height>435</height>
</rect> </rect>
</property> </property>
@ -1371,9 +1429,9 @@ a few, particularly some Kenwood rigs, require it).</string>
<property name="geometry"> <property name="geometry">
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>-102</y>
<width>237</width> <width>718</width>
<height>467</height> <height>496</height>
</rect> </rect>
</property> </property>
<layout class="QVBoxLayout" name="verticalLayout_28"> <layout class="QVBoxLayout" name="verticalLayout_28">
@ -1642,53 +1700,87 @@ this setting allows you to select which audio input will be used
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QGroupBox" name="groupBox_11"> <widget class="QGroupBox" name="groupBox_14">
<property name="title"> <property name="title">
<string>Advanced</string> <string>Advanced</string>
</property> </property>
<layout class="QFormLayout" name="formLayout_18"> <layout class="QVBoxLayout" name="verticalLayout_33">
<item row="1" column="0"> <item>
<widget class="QLabel" name="label_11"> <widget class="QFrame" name="frame">
<property name="frameShape">
<enum>QFrame::NoFrame</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Plain</enum>
</property>
<property name="lineWidth">
<number>0</number>
</property>
<layout class="QFormLayout" name="formLayout_3">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item row="1" column="0">
<widget class="QLabel" name="label_11">
<property name="text">
<string>Tx delay:</string>
</property>
<property name="buddy">
<cstring>sbTxDelay</cstring>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QDoubleSpinBox" name="sbTxDelay">
<property name="toolTip">
<string>Minimum delay between assertion of PTT and start of Tx audio.</string>
</property>
<property name="suffix">
<string> s</string>
</property>
<property name="decimals">
<number>1</number>
</property>
<property name="minimum">
<double>0.000000000000000</double>
</property>
<property name="maximum">
<double>0.500000000000000</double>
</property>
<property name="singleStep">
<double>0.100000000000000</double>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QLabel" name="label_12">
<property name="text">
<string>PTT command:</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLineEdit" name="ptt_command_line_edit"/>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QCheckBox" name="hold_ptt_check_box">
<property name="text"> <property name="text">
<string>Tx delay:</string> <string>Hold PTT between frames while there are more to be transmitted</string>
</property>
<property name="buddy">
<cstring>sbTxDelay</cstring>
</property> </property>
</widget> </widget>
</item> </item>
<item row="1" column="1">
<widget class="QDoubleSpinBox" name="sbTxDelay">
<property name="toolTip">
<string>Minimum delay between assertion of PTT and start of Tx audio.</string>
</property>
<property name="suffix">
<string> s</string>
</property>
<property name="decimals">
<number>1</number>
</property>
<property name="minimum">
<double>0.000000000000000</double>
</property>
<property name="maximum">
<double>0.500000000000000</double>
</property>
<property name="singleStep">
<double>0.100000000000000</double>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_12">
<property name="text">
<string>PTT command:</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QLineEdit" name="ptt_command_line_edit"/>
</item>
</layout> </layout>
</widget> </widget>
</item> </item>
@ -1713,64 +1805,6 @@ this setting allows you to select which audio input will be used
</widget> </widget>
</widget> </widget>
</item> </item>
<item row="3" column="0">
<layout class="QHBoxLayout" name="horizontalLayout_11">
<item>
<widget class="QPushButton" name="test_CAT_push_button">
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Attempt to connect to the radio with these settings.&lt;/p&gt;&lt;p&gt;The button will turn green if the connection is successful or red if there is a problem.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="text">
<string>Test CAT</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_3">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Preferred</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QPushButton" name="test_PTT_push_button">
<property name="toolTip">
<string>Attempt to activate the transmitter.
Click again to deactivate. Normally no power should be
output since there is no audio being generated at this time.
Check that any Tx indication on your radio and/or your
radio interface behave as expected.</string>
</property>
<property name="styleSheet">
<string notr="true">QPushButton:checked {
background-color: red;
border-style : outset;
border-width: 1px;
border-radius: 5px;
border-color: black;
min-width: 5em;
padding: 3px;
}</string>
</property>
<property name="text">
<string>Test PTT</string>
</property>
<property name="checkable">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</item>
</layout> </layout>
</widget> </widget>
<widget class="QWidget" name="audio_tab"> <widget class="QWidget" name="audio_tab">
@ -4077,8 +4111,6 @@ soundcard changes</string>
<tabstop>split_emulate_radio_button</tabstop> <tabstop>split_emulate_radio_button</tabstop>
<tabstop>split_rig_radio_button</tabstop> <tabstop>split_rig_radio_button</tabstop>
<tabstop>split_none_radio_button</tabstop> <tabstop>split_none_radio_button</tabstop>
<tabstop>sbTxDelay</tabstop>
<tabstop>ptt_command_line_edit</tabstop>
<tabstop>test_CAT_push_button</tabstop> <tabstop>test_CAT_push_button</tabstop>
<tabstop>test_PTT_push_button</tabstop> <tabstop>test_PTT_push_button</tabstop>
<tabstop>scrollArea_5</tabstop> <tabstop>scrollArea_5</tabstop>
@ -4221,12 +4253,12 @@ soundcard changes</string>
</connection> </connection>
</connections> </connections>
<buttongroups> <buttongroups>
<buttongroup name="TX_mode_button_group"/>
<buttongroup name="TX_audio_source_button_group"/>
<buttongroup name="CAT_data_bits_button_group"/>
<buttongroup name="CAT_handshake_button_group"/>
<buttongroup name="PTT_method_button_group"/>
<buttongroup name="split_mode_button_group"/>
<buttongroup name="CAT_stop_bits_button_group"/> <buttongroup name="CAT_stop_bits_button_group"/>
<buttongroup name="CAT_data_bits_button_group"/>
<buttongroup name="PTT_method_button_group"/>
<buttongroup name="TX_audio_source_button_group"/>
<buttongroup name="TX_mode_button_group"/>
<buttongroup name="CAT_handshake_button_group"/>
<buttongroup name="split_mode_button_group"/>
</buttongroups> </buttongroups>
</ui> </ui>