Allow changes to station message from external programs
This commit is contained in:
parent
de713e86fc
commit
fded3b5003
@ -544,6 +544,7 @@ private:
|
||||
bool frequency_calibration_disabled_; // not persistent
|
||||
unsigned transceiver_command_number_;
|
||||
QString dynamic_grid_;
|
||||
QString dynamic_qtc_;
|
||||
|
||||
// configuration fields that we publish
|
||||
bool auto_switch_bands_;
|
||||
@ -597,7 +598,7 @@ private:
|
||||
bool bHound_;
|
||||
bool x2ToneSpacing_;
|
||||
bool x4ToneSpacing_;
|
||||
bool use_dynamic_grid_;
|
||||
bool use_dynamic_info_;
|
||||
QString opCall_;
|
||||
QString udp_server_name_;
|
||||
port_type udp_server_port_;
|
||||
@ -655,7 +656,7 @@ AudioDevice::Channel Configuration::audio_output_channel () const {return m_->au
|
||||
bool Configuration::restart_audio_input () const {return m_->restart_sound_input_device_;}
|
||||
bool Configuration::restart_audio_output () const {return m_->restart_sound_output_device_;}
|
||||
auto Configuration::type_2_msg_gen () const -> Type2MsgGen {return m_->type_2_msg_gen_;}
|
||||
bool Configuration::use_dynamic_grid() const {return m_->use_dynamic_grid_; }
|
||||
bool Configuration::use_dynamic_grid() const {return m_->use_dynamic_info_; }
|
||||
QString Configuration::my_callsign () const {return m_->my_callsign_;}
|
||||
QColor Configuration::color_CQ () const {return m_->color_CQ_;}
|
||||
QColor Configuration::color_MyCall () const {return m_->color_MyCall_;}
|
||||
@ -839,16 +840,20 @@ bool Configuration::valid_n1mm_info () const
|
||||
|
||||
QString Configuration::my_grid() const
|
||||
{
|
||||
auto the_grid = m_->my_grid_;
|
||||
if (m_->use_dynamic_grid_ && m_->dynamic_grid_.size () >= 4) {
|
||||
the_grid = m_->dynamic_grid_;
|
||||
auto grid = m_->my_grid_;
|
||||
if (m_->use_dynamic_info_ && m_->dynamic_grid_.size () >= 4) {
|
||||
grid = m_->dynamic_grid_;
|
||||
}
|
||||
return the_grid;
|
||||
return grid;
|
||||
}
|
||||
|
||||
QString Configuration::my_station() const
|
||||
{
|
||||
return m_->my_station_;
|
||||
auto station = m_->my_station_;
|
||||
if(m_->use_dynamic_info_ && !m_->dynamic_qtc_.isEmpty()){
|
||||
station = m_->dynamic_qtc_;
|
||||
}
|
||||
return station;
|
||||
}
|
||||
|
||||
int Configuration::my_dBm() const {
|
||||
@ -870,13 +875,16 @@ int Configuration::activity_aging() const
|
||||
return m_->activity_aging_;
|
||||
}
|
||||
|
||||
void Configuration::set_location (QString const& grid_descriptor)
|
||||
void Configuration::set_dynamic_location (QString const& grid_descriptor)
|
||||
{
|
||||
// change the dynamic grid
|
||||
// qDebug () << "Configuration::set_location - location:" << grid_descriptor;
|
||||
m_->dynamic_grid_ = grid_descriptor.trimmed ();
|
||||
}
|
||||
|
||||
void Configuration::set_dynamic_station_message(QString const& qtc)
|
||||
{
|
||||
m_->dynamic_qtc_ = qtc.trimmed ();
|
||||
}
|
||||
|
||||
namespace
|
||||
{
|
||||
#if defined (Q_OS_MAC)
|
||||
@ -1232,7 +1240,7 @@ void Configuration::impl::initialize_models ()
|
||||
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_);
|
||||
ui_->use_dynamic_grid->setChecked(use_dynamic_info_);
|
||||
ui_->labCQ->setStyleSheet(QString("background: %1").arg(color_CQ_.name()));
|
||||
ui_->labMyCall->setStyleSheet(QString("background: %1").arg(color_MyCall_.name()));
|
||||
ui_->labTx->setStyleSheet(QString("background: %1").arg(color_TxMsg_.name()));
|
||||
@ -1458,7 +1466,7 @@ void Configuration::impl::read_settings ()
|
||||
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 ();
|
||||
use_dynamic_grid_ = settings_->value ("AutoGrid", false).toBool ();
|
||||
use_dynamic_info_ = settings_->value ("AutoGrid", false).toBool ();
|
||||
|
||||
auto loadedMacros = settings_->value ("Macros", QStringList {"TNX 73 GL"}).toStringList();
|
||||
|
||||
@ -1650,7 +1658,7 @@ void Configuration::impl::write_settings ()
|
||||
settings_->setValue ("pwrBandTxMemory", pwrBandTxMemory_);
|
||||
settings_->setValue ("pwrBandTuneMemory", pwrBandTuneMemory_);
|
||||
settings_->setValue ("Region", QVariant::fromValue (region_));
|
||||
settings_->setValue ("AutoGrid", use_dynamic_grid_);
|
||||
settings_->setValue ("AutoGrid", use_dynamic_info_);
|
||||
}
|
||||
|
||||
void Configuration::impl::set_rig_invariants ()
|
||||
@ -2095,12 +2103,12 @@ void Configuration::impl::accept ()
|
||||
stations_.sort (StationList::switch_at_column);
|
||||
}
|
||||
|
||||
if (ui_->use_dynamic_grid->isChecked() && !use_dynamic_grid_ )
|
||||
if (ui_->use_dynamic_grid->isChecked() && !use_dynamic_info_ )
|
||||
{
|
||||
// turning on so clear it so only the next location update gets used
|
||||
dynamic_grid_.clear ();
|
||||
}
|
||||
use_dynamic_grid_ = ui_->use_dynamic_grid->isChecked();
|
||||
use_dynamic_info_ = ui_->use_dynamic_grid->isChecked();
|
||||
|
||||
write_settings (); // make visible to all
|
||||
}
|
||||
|
@ -203,7 +203,11 @@ public:
|
||||
void set_calibration (CalibrationParams);
|
||||
|
||||
// Set the dynamic grid which is only used if configuration setting is enabled.
|
||||
void set_location (QString const&);
|
||||
void set_dynamic_location (QString const&);
|
||||
|
||||
// Set the dynamic statios message which is only used if configuration setting is enabled.
|
||||
void set_dynamic_station_message(QString const& qtc);
|
||||
|
||||
|
||||
// This method queries if a CAT and PTT connection is operational.
|
||||
bool is_transceiver_online () const;
|
||||
|
@ -2085,10 +2085,10 @@ for assessing propagation and system performance.</string>
|
||||
<item row="0" column="0">
|
||||
<widget class="QCheckBox" name="use_dynamic_grid">
|
||||
<property name="toolTip">
|
||||
<string>Check to allow grid changes from external programs</string>
|
||||
<string><html><head/><body><p>Check to allow changes to grid, qtc, etc from external programs</p></body></html></string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Accept Dynamic Grid Requests</string>
|
||||
<string>Accept Dynamic Station Information</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
|
@ -8166,7 +8166,7 @@ void MainWindow::locationChange (QString const& location)
|
||||
if (MaidenheadLocatorValidator::Acceptable == MaidenheadLocatorValidator ().validate (grid, len)) {
|
||||
qDebug() << "locationChange: Grid supplied is " << grid;
|
||||
if (m_config.my_grid () != grid) {
|
||||
m_config.set_location (grid);
|
||||
m_config.set_dynamic_location (grid);
|
||||
genStdMsgs (m_rpt, false);
|
||||
statusUpdate ();
|
||||
}
|
||||
@ -9124,6 +9124,8 @@ void MainWindow::networkMessage(Message const &message)
|
||||
// STATION.GET_CALLSIGN - Get the current callsign
|
||||
// STATION.GET_GRID - Get the current grid locator
|
||||
// STATION.SET_GRID - Set the current grid locator
|
||||
// STATION.GET_QTC - Get the current station message
|
||||
// STATION.SET_QTC - Set the current station message
|
||||
if(type == "STATION.GET_CALLSIGN"){
|
||||
sendNetworkMessage("STATION.CALLSIGN", m_config.my_callsign());
|
||||
return;
|
||||
@ -9135,11 +9137,22 @@ void MainWindow::networkMessage(Message const &message)
|
||||
}
|
||||
|
||||
if(type == "STATION.SET_GRID"){
|
||||
m_config.set_location(message.value());
|
||||
m_config.set_dynamic_location(message.value());
|
||||
sendNetworkMessage("STATION.GRID", m_config.my_grid());
|
||||
return;
|
||||
}
|
||||
|
||||
if(type == "STATION.GET_QTC"){
|
||||
sendNetworkMessage("STATION.QTC", m_config.my_station());
|
||||
return;
|
||||
}
|
||||
|
||||
if(type == "STATION.SET_QTC"){
|
||||
m_config.set_dynamic_station_message(message.value());
|
||||
sendNetworkMessage("STATION.QTC", m_config.my_station());
|
||||
return;
|
||||
}
|
||||
|
||||
// RX.GET_CALL_ACTIVITY
|
||||
// RX.GET_BAND_ACTIVITY
|
||||
// RX.GET_TEXT
|
||||
|
Loading…
Reference in New Issue
Block a user