Removed QTC as it was confusing and redundant. QTH is now the 'station message'
This commit is contained in:
parent
896ca374bb
commit
03f351551d
@ -583,13 +583,12 @@ private:
|
||||
bool frequency_calibration_disabled_; // not persistent
|
||||
unsigned transceiver_command_number_;
|
||||
QString dynamic_grid_;
|
||||
QString dynamic_qtc_;
|
||||
QString dynamic_qth_;
|
||||
|
||||
// configuration fields that we publish
|
||||
bool auto_switch_bands_;
|
||||
QString my_callsign_;
|
||||
QString my_grid_;
|
||||
QString my_station_;
|
||||
QStringList my_groups_;
|
||||
QStringList auto_whitelist_;
|
||||
QString my_qth_;
|
||||
@ -951,15 +950,6 @@ QString Configuration::my_grid() const
|
||||
return grid.trimmed();
|
||||
}
|
||||
|
||||
QString Configuration::my_station() const
|
||||
{
|
||||
auto station = m_->my_station_;
|
||||
if(m_->use_dynamic_info_ && !m_->dynamic_qtc_.isEmpty()){
|
||||
station = m_->dynamic_qtc_;
|
||||
}
|
||||
return station.trimmed();
|
||||
}
|
||||
|
||||
QSet<QString> Configuration::my_groups() const {
|
||||
return QSet<QString>::fromList(m_->my_groups_);
|
||||
}
|
||||
@ -984,7 +974,12 @@ QSet<QString> Configuration::auto_whitelist() const {
|
||||
|
||||
QString Configuration::my_qth() const
|
||||
{
|
||||
return m_->my_qth_.trimmed();
|
||||
auto qth = m_->my_qth_;
|
||||
if(m_->use_dynamic_info_ && !m_->dynamic_qth_.isEmpty()){
|
||||
qth = m_->dynamic_qth_;
|
||||
}
|
||||
|
||||
return qth.trimmed();
|
||||
}
|
||||
|
||||
QString Configuration::cq_message() const
|
||||
@ -1012,9 +1007,9 @@ void Configuration::set_dynamic_location (QString const& grid_descriptor)
|
||||
m_->dynamic_grid_ = grid_descriptor.trimmed ();
|
||||
}
|
||||
|
||||
void Configuration::set_dynamic_station_message(QString const& qtc)
|
||||
void Configuration::set_dynamic_station_qth(QString const& qth)
|
||||
{
|
||||
m_->dynamic_qtc_ = qtc.trimmed ();
|
||||
m_->dynamic_qth_ = qth.trimmed ();
|
||||
}
|
||||
|
||||
namespace
|
||||
@ -1365,7 +1360,6 @@ void Configuration::impl::initialize_models ()
|
||||
ui_->grid_line_edit->setText (my_grid_.toUpper());
|
||||
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_->groups_line_edit->setText(my_groups_.join(", "));
|
||||
ui_->auto_whitelist_line_edit->setText(auto_whitelist_.join(", "));
|
||||
ui_->qth_message_line_edit->setText (my_qth_.toUpper());
|
||||
@ -1510,7 +1504,6 @@ void Configuration::impl::read_settings ()
|
||||
auto_switch_bands_ = settings_->value("AutoSwitchBands", false).toBool();
|
||||
my_callsign_ = settings_->value ("MyCall", QString {}).toString ();
|
||||
my_grid_ = settings_->value ("MyGrid", QString {}).toString ();
|
||||
my_station_ = settings_->value("MyStation", QString {}).toString();
|
||||
my_groups_ = settings_->value("MyGroups", QStringList{}).toStringList();
|
||||
auto_whitelist_ = settings_->value("AutoWhitelist", QStringList{}).toStringList();
|
||||
callsign_aging_ = settings_->value ("CallsignAging", 0).toInt ();
|
||||
@ -1771,7 +1764,6 @@ void Configuration::impl::write_settings ()
|
||||
settings_->setValue ("AutoSwitchBands", auto_switch_bands_);
|
||||
settings_->setValue ("MyCall", my_callsign_);
|
||||
settings_->setValue ("MyGrid", my_grid_);
|
||||
settings_->setValue ("MyStation", my_station_);
|
||||
settings_->setValue ("MyGroups", my_groups_);
|
||||
settings_->setValue ("AutoWhitelist", auto_whitelist_);
|
||||
settings_->setValue ("MyQTH", my_qth_);
|
||||
@ -2363,7 +2355,6 @@ void Configuration::impl::accept ()
|
||||
auto_switch_bands_ = ui_->auto_switch_bands_check_box->isChecked();
|
||||
my_callsign_ = ui_->callsign_line_edit->text ().toUpper();
|
||||
my_grid_ = ui_->grid_line_edit->text ().toUpper();
|
||||
my_station_ = ui_->station_message_line_edit->text().toUpper();
|
||||
my_groups_ = splitGroups(ui_->groups_line_edit->text().toUpper().trimmed(), true);
|
||||
auto_whitelist_ = splitCalls(ui_->auto_whitelist_line_edit->text().toUpper().trimmed());
|
||||
cq_ = ui_->cq_message_line_edit->text().toUpper();
|
||||
|
@ -97,7 +97,6 @@ public:
|
||||
bool use_dynamic_grid() const;
|
||||
QString my_callsign () const;
|
||||
QString my_grid () const;
|
||||
QString my_station () const;
|
||||
QSet<QString> my_groups() const;
|
||||
void addGroup(QString const &group);
|
||||
void removeGroup(QString const &group);
|
||||
@ -233,8 +232,8 @@ public:
|
||||
// Set the dynamic grid which is only used if configuration setting is enabled.
|
||||
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);
|
||||
// Set the dynamic station qth message which is only used if configuration setting is enabled.
|
||||
void set_dynamic_station_qth(QString const& qth);
|
||||
|
||||
|
||||
// This method queries if a CAT and PTT connection is operational.
|
||||
|
@ -36,7 +36,7 @@
|
||||
<item>
|
||||
<widget class="QTabWidget" name="tabWidget_2">
|
||||
<property name="currentIndex">
|
||||
<number>0</number>
|
||||
<number>1</number>
|
||||
</property>
|
||||
<widget class="QWidget" name="stationTab">
|
||||
<attribute name="title">
|
||||
@ -187,23 +187,6 @@
|
||||
<string>Station Messages</string>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout_4">
|
||||
<item row="3" column="0">
|
||||
<widget class="QLabel" name="label_15">
|
||||
<property name="toolTip">
|
||||
<string><html><head/><body><p>Station Description Message</p></body></html></string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Station Detail (QTC) Message:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QLineEdit" name="cq_message_line_edit">
|
||||
<property name="text">
|
||||
<string>CQCQCQ <MYGRID4></string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QLineEdit" name="reply_message_line_edit">
|
||||
<property name="text">
|
||||
@ -211,13 +194,6 @@
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<widget class="QLineEdit" name="qth_message_line_edit">
|
||||
<property name="toolTip">
|
||||
<string><html><head/><body><p>Station location message that is transmitted in response to &quot;@&quot; directed queries.</p></body></html></string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="label_17">
|
||||
<property name="text">
|
||||
@ -225,27 +201,34 @@
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="label_19">
|
||||
<property name="text">
|
||||
<string>CQ Message:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QLineEdit" name="cq_message_line_edit">
|
||||
<property name="text">
|
||||
<string>CQCQCQ <MYGRID4></string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<widget class="QLineEdit" name="qth_message_line_edit">
|
||||
<property name="toolTip">
|
||||
<string><html><head/><body><p>Station location message that is transmitted in response to &quot;@&quot; directed queries.</p></body></html></string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QLabel" name="label_14">
|
||||
<property name="toolTip">
|
||||
<string><html><head/><body><p>Station location message</p></body></html></string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Station Location (QTH) Message:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="1">
|
||||
<widget class="QLineEdit" name="station_message_line_edit">
|
||||
<property name="toolTip">
|
||||
<string><html><head/><body><p>Station message that is transmitted in response to &quot;&amp;&quot; directed queries.</p></body></html></string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="label_19">
|
||||
<property name="text">
|
||||
<string>CQ Message:</string>
|
||||
<string>Station Message (QTH & Equipment):</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@ -386,7 +369,7 @@
|
||||
<item>
|
||||
<widget class="QCheckBox" name="transmit_directed_check_box">
|
||||
<property name="text">
|
||||
<string>Immediately transmit CQ, Reply, QTC, QTH, Saved, and Directed messages from the menu</string>
|
||||
<string>Immediately transmit CQ, Reply, QTH, Saved, and Directed messages from the menu</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@ -4117,12 +4100,12 @@ soundcard changes</string>
|
||||
</connection>
|
||||
</connections>
|
||||
<buttongroups>
|
||||
<buttongroup name="CAT_stop_bits_button_group"/>
|
||||
<buttongroup name="CAT_data_bits_button_group"/>
|
||||
<buttongroup name="CAT_handshake_button_group"/>
|
||||
<buttongroup name="TX_mode_button_group"/>
|
||||
<buttongroup name="CAT_data_bits_button_group"/>
|
||||
<buttongroup name="PTT_method_button_group"/>
|
||||
<buttongroup name="split_mode_button_group"/>
|
||||
<buttongroup name="TX_audio_source_button_group"/>
|
||||
<buttongroup name="CAT_stop_bits_button_group"/>
|
||||
</buttongroups>
|
||||
</ui>
|
||||
|
@ -7070,17 +7070,6 @@ void MainWindow::on_qthMacroButton_clicked(){
|
||||
if(m_config.transmit_directed()) toggleTx(true);
|
||||
}
|
||||
|
||||
void MainWindow::on_qtcMacroButton_clicked(){
|
||||
QString qtc = m_config.my_station();
|
||||
if(qtc.isEmpty()){
|
||||
return;
|
||||
}
|
||||
|
||||
addMessageText(QString("QTC %1").arg(replaceMacros(qtc, buildMacroValues(), true)));
|
||||
|
||||
if(m_config.transmit_directed()) toggleTx(true);
|
||||
}
|
||||
|
||||
void MainWindow::setShowColumn(QString tableKey, QString columnKey, bool value){
|
||||
m_showColumnsCache[tableKey + columnKey] = QVariant(value);
|
||||
displayBandActivity();
|
||||
@ -7206,7 +7195,6 @@ void MainWindow::buildQueryMenu(QMenu * menu, QString call){
|
||||
|
||||
auto grid = m_config.my_grid();
|
||||
|
||||
bool emptyQTC = m_config.my_station().isEmpty();
|
||||
bool emptyQTH = m_config.my_qth().isEmpty();
|
||||
bool emptyGrid = m_config.my_grid().isEmpty();
|
||||
|
||||
@ -7254,21 +7242,7 @@ void MainWindow::buildQueryMenu(QMenu * menu, QString call){
|
||||
if(m_config.transmit_directed()) toggleTx(true);
|
||||
});
|
||||
|
||||
auto qtcAction = menu->addAction(QString("%1 QTC - Send my station message").arg(call).trimmed());
|
||||
qtcAction->setDisabled(emptyQTC);
|
||||
connect(qtcAction, &QAction::triggered, this, [this](){
|
||||
|
||||
QString selectedCall = callsignSelected();
|
||||
if(selectedCall.isEmpty()){
|
||||
return;
|
||||
}
|
||||
|
||||
addMessageText(QString("%1 QTC %2").arg(selectedCall).arg(m_config.my_station()), true);
|
||||
|
||||
if(m_config.transmit_directed()) toggleTx(true);
|
||||
});
|
||||
|
||||
auto qthAction = menu->addAction(QString("%1 QTH - Send my station location message").arg(call).trimmed());
|
||||
auto qthAction = menu->addAction(QString("%1 QTH - Send my station message").arg(call).trimmed());
|
||||
qthAction->setDisabled(emptyQTH);
|
||||
connect(qthAction, &QAction::triggered, this, [this](){
|
||||
|
||||
@ -7313,7 +7287,7 @@ void MainWindow::buildQueryMenu(QMenu * menu, QString call){
|
||||
if(m_config.transmit_directed()) toggleTx(true);
|
||||
});
|
||||
|
||||
auto qthQueryAction = menu->addAction(QString("%1 QTH? - What is your QTH message?").arg(call).trimmed());
|
||||
auto qthQueryAction = menu->addAction(QString("%1 QTH? - What is your station message?").arg(call).trimmed());
|
||||
qthQueryAction->setDisabled(isAllCall);
|
||||
connect(qthQueryAction, &QAction::triggered, this, [this](){
|
||||
|
||||
@ -7341,20 +7315,6 @@ void MainWindow::buildQueryMenu(QMenu * menu, QString call){
|
||||
if(m_config.transmit_directed()) toggleTx(true);
|
||||
});
|
||||
|
||||
auto stationMessageQueryAction = menu->addAction(QString("%1 QTC? - What is your station message?").arg(call).trimmed());
|
||||
stationMessageQueryAction->setDisabled(isAllCall);
|
||||
connect(stationMessageQueryAction, &QAction::triggered, this, [this](){
|
||||
|
||||
QString selectedCall = callsignSelected();
|
||||
if(selectedCall.isEmpty()){
|
||||
return;
|
||||
}
|
||||
|
||||
addMessageText(QString("%1 QTC?").arg(selectedCall), true);
|
||||
|
||||
if(m_config.transmit_directed()) toggleTx(true);
|
||||
});
|
||||
|
||||
auto stationIdleQueryAction = menu->addAction(QString("%1 STATUS? - What is the status of your station (auto, hb, version, etc)?").arg(call).trimmed());
|
||||
stationIdleQueryAction->setDisabled(isAllCall);
|
||||
connect(stationIdleQueryAction, &QAction::triggered, this, [this](){
|
||||
@ -7639,7 +7599,6 @@ QMap<QString, QString> MainWindow::buildMacroValues(){
|
||||
{"<MYCALL>", m_config.my_callsign()},
|
||||
{"<MYGRID4>", m_config.my_grid().left(4)},
|
||||
{"<MYGRID12>", m_config.my_grid().left(12)},
|
||||
{"<MYQTC>", m_config.my_station()},
|
||||
{"<MYQTH>", m_config.my_qth()},
|
||||
{"<MYCQ>", m_config.cq_message()},
|
||||
{"<MYREPLY>", m_config.reply_message()},
|
||||
@ -7659,7 +7618,6 @@ QMap<QString, QString> MainWindow::buildMacroValues(){
|
||||
}
|
||||
|
||||
// these macros can have recursive macros
|
||||
values["<MYQTC>"] = replaceMacros(values["<MYQTC>"], values, false);
|
||||
values["<MYQTH>"] = replaceMacros(values["<MYQTH>"], values, false);
|
||||
values["<MYCQ>"] = replaceMacros(values["<MYCQ>"], values, false);
|
||||
values["<MYREPLY>"] = replaceMacros(values["<MYREPLY>"], values, false);
|
||||
@ -8598,7 +8556,7 @@ bool MainWindow::shortList(QString callsign)
|
||||
void MainWindow::pskSetLocal ()
|
||||
{
|
||||
psk_Reporter->setLocalStation(m_config.my_callsign (), m_config.my_grid (),
|
||||
m_config.my_station(), QString {"JS8Call v" + version() }.simplified ());
|
||||
m_config.my_qth(), QString {"JS8Call v" + version() }.simplified ());
|
||||
}
|
||||
|
||||
void MainWindow::aprsSetLocal ()
|
||||
@ -8893,7 +8851,6 @@ void MainWindow::updateButtonDisplay(){
|
||||
ui->cqMacroButton->setDisabled(isTransmitting);
|
||||
ui->replyMacroButton->setDisabled(isTransmitting || emptyCallsign);
|
||||
ui->snrMacroButton->setDisabled(isTransmitting || emptyCallsign);
|
||||
ui->qtcMacroButton->setDisabled(isTransmitting || m_config.my_station().isEmpty());
|
||||
ui->qthMacroButton->setDisabled(isTransmitting || m_config.my_qth().isEmpty());
|
||||
ui->macrosMacroButton->setDisabled(isTransmitting);
|
||||
ui->queryButton->setDisabled(isTransmitting || emptyCallsign);
|
||||
@ -9822,15 +9779,6 @@ void MainWindow::processCommandActivity() {
|
||||
reply = QString("%1 GRID %2").arg(d.from).arg(grid);
|
||||
}
|
||||
|
||||
// QUERIED STATION MESSAGE
|
||||
else if (d.cmd == " QTC?" && !isAllCall) {
|
||||
QString qtc = m_config.my_station();
|
||||
if(qtc.isEmpty()) {
|
||||
continue;
|
||||
}
|
||||
reply = QString("%1 QTC %2").arg(d.from).arg(replaceMacros(qtc, buildMacroValues(), true));
|
||||
}
|
||||
|
||||
// QUERIED STATIONS HEARD
|
||||
else if (d.cmd == " HEARING?" && !isAllCall) {
|
||||
int i = 0;
|
||||
@ -10017,18 +9965,7 @@ void MainWindow::processCommandActivity() {
|
||||
// PROCESS BUFFERED QUERY MSGS
|
||||
else if (d.cmd == " QUERY MSGS" && ui->autoReplyButton->isChecked()){
|
||||
auto who = d.from;
|
||||
#if 0
|
||||
QString key;
|
||||
if(d.text.isEmpty()){
|
||||
key = who;
|
||||
} else {
|
||||
QStringList segs = d.text.trimmed().split(" ");
|
||||
if(segs.isEmpty()){
|
||||
continue;
|
||||
}
|
||||
key = segs.first();
|
||||
}
|
||||
#endif
|
||||
auto cmd =
|
||||
|
||||
auto inbox = Inbox(inboxPath());
|
||||
if(!inbox.open()){
|
||||
@ -10050,6 +9987,8 @@ void MainWindow::processCommandActivity() {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
reply = replies.join("\n");
|
||||
}
|
||||
|
||||
// PROCESS BUFFERED QUERY CALL
|
||||
@ -11011,8 +10950,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
|
||||
// STATION.GET_QTH - Get the current station qth
|
||||
// STATION.SET_QTH - Set the current station qth
|
||||
if(type == "STATION.GET_CALLSIGN"){
|
||||
sendNetworkMessage("STATION.CALLSIGN", m_config.my_callsign());
|
||||
return;
|
||||
@ -11029,14 +10968,14 @@ void MainWindow::networkMessage(Message const &message)
|
||||
return;
|
||||
}
|
||||
|
||||
if(type == "STATION.GET_QTC"){
|
||||
sendNetworkMessage("STATION.QTC", m_config.my_station());
|
||||
if(type == "STATION.GET_QTH"){
|
||||
sendNetworkMessage("STATION.QTH", m_config.my_qth());
|
||||
return;
|
||||
}
|
||||
|
||||
if(type == "STATION.SET_QTC"){
|
||||
m_config.set_dynamic_station_message(message.value());
|
||||
sendNetworkMessage("STATION.QTC", m_config.my_station());
|
||||
if(type == "STATION.SET_QTH"){
|
||||
m_config.set_dynamic_station_qth(message.value());
|
||||
sendNetworkMessage("STATION.QTH", m_config.my_qth());
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -293,7 +293,6 @@ private slots:
|
||||
void on_replyMacroButton_clicked();
|
||||
void on_snrMacroButton_clicked();
|
||||
void on_qthMacroButton_clicked();
|
||||
void on_qtcMacroButton_clicked();
|
||||
void setShowColumn(QString tableKey, QString columnKey, bool value);
|
||||
bool showColumn(QString tableKey, QString columnKey, bool default_=true);
|
||||
void buildShowColumnsMenu(QMenu *menu, QString tableKey);
|
||||
|
276
mainwindow.ui
276
mainwindow.ui
@ -1315,7 +1315,131 @@ QTextEdit[transmitting="true"] {
|
||||
<property name="bottomMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item row="1" column="14">
|
||||
<spacer name="horizontalSpacer_5">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeType">
|
||||
<enum>QSizePolicy::Preferred</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>10</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item row="1" column="6">
|
||||
<widget class="QPushButton" name="macrosMacroButton">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>30</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string><html><head/><body><p>Send a saved message</p></body></html></string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Saved</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="3">
|
||||
<widget class="QPushButton" name="replyMacroButton">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>30</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string><html><head/><body><p>Reply to a CQ</p></body></html></string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Reply</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="4">
|
||||
<widget class="QPushButton" name="snrMacroButton">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>30</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string><html><head/><body><p>Send an SNR message</p></body></html></string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>SNR</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="16">
|
||||
<widget class="QPushButton" name="stopTxButton">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>75</width>
|
||||
<height>30</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string><html><head/><body><p>Stop transmitting</p></body></html></string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Halt</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="5">
|
||||
<widget class="QPushButton" name="qthMacroButton">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>30</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string><html><head/><body><p>Send your station location message</p></body></html></string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>QTH</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QPushButton" name="hbMacroButton">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>30</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string><html><head/><body><p align="justify">Send a Heartbeat message</p></body></html></string>
|
||||
</property>
|
||||
<property name="autoFillBackground">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true">QPushButton:checked {
|
||||
font-weight:bold;
|
||||
color:black;
|
||||
}</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>HB</string>
|
||||
</property>
|
||||
<property name="checkable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="15">
|
||||
<widget class="QPushButton" name="startTxButton">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
@ -1350,55 +1474,7 @@ color:#222;
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="17">
|
||||
<widget class="QPushButton" name="stopTxButton">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>75</width>
|
||||
<height>30</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string><html><head/><body><p>Stop transmitting</p></body></html></string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Halt</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="15">
|
||||
<spacer name="horizontalSpacer_5">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeType">
|
||||
<enum>QSizePolicy::Preferred</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>10</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item row="1" column="5">
|
||||
<widget class="QPushButton" name="qthMacroButton">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>30</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string><html><head/><body><p>Send your station location message</p></body></html></string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>QTH</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="13">
|
||||
<item row="1" column="12">
|
||||
<widget class="QPushButton" name="deselectButton">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Minimum" vsizetype="Fixed">
|
||||
@ -1420,8 +1496,8 @@ color:#222;
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="4">
|
||||
<widget class="QPushButton" name="snrMacroButton">
|
||||
<item row="1" column="11">
|
||||
<widget class="QPushButton" name="queryButton">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
@ -1429,14 +1505,14 @@ color:#222;
|
||||
</size>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string><html><head/><body><p>Send an SNR message</p></body></html></string>
|
||||
<string><html><head/><body><p>Send a directed message to another station</p></body></html></string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>SNR</string>
|
||||
<string>Directed</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="8">
|
||||
<item row="1" column="7">
|
||||
<spacer name="horizontalSpacer_8">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
@ -1452,22 +1528,6 @@ color:#222;
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item row="1" column="3">
|
||||
<widget class="QPushButton" name="replyMacroButton">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>30</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string><html><head/><body><p>Reply to a CQ</p></body></html></string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Reply</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QPushButton" name="cqMacroButton">
|
||||
<property name="minimumSize">
|
||||
@ -1499,82 +1559,6 @@ color:#222;
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="6">
|
||||
<widget class="QPushButton" name="qtcMacroButton">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>30</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string><html><head/><body><p>Send your station message</p></body></html></string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>QTC</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="7">
|
||||
<widget class="QPushButton" name="macrosMacroButton">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>30</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string><html><head/><body><p>Send a saved message</p></body></html></string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Saved</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="12">
|
||||
<widget class="QPushButton" name="queryButton">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>30</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string><html><head/><body><p>Send a directed message to another station</p></body></html></string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Directed</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QPushButton" name="hbMacroButton">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>30</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string><html><head/><body><p align="justify">Send a Heartbeat message</p></body></html></string>
|
||||
</property>
|
||||
<property name="autoFillBackground">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true">QPushButton:checked {
|
||||
font-weight:bold;
|
||||
color:black;
|
||||
}</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>HB</string>
|
||||
</property>
|
||||
<property name="checkable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<widget class="QFrame" name="frame_5">
|
||||
|
16
varicode.cpp
16
varicode.cpp
@ -51,7 +51,7 @@ QMap<QString, int> directed_cmds = {
|
||||
|
||||
{" QTH?", 1 }, // query qth
|
||||
|
||||
{" QTC?", 2 }, // query station message
|
||||
//{" ", 2 }, // unused
|
||||
|
||||
{" HEARING?", 3 }, // query station calls heard
|
||||
|
||||
@ -73,14 +73,16 @@ QMap<QString, int> directed_cmds = {
|
||||
|
||||
{" QUERY", 11 }, // generic query
|
||||
|
||||
{" QUERY MSGS", 12 }, // do you have any stored messages?
|
||||
{" QUERY MSGS", 12 }, // do you have any stored messages?
|
||||
|
||||
{" QUERY CALL", 13 }, // can you transmit a ping to callsign?
|
||||
|
||||
{" APRS:", 14 }, // send an aprs packet
|
||||
|
||||
{" GRID", 15 }, // this is my current grid locator
|
||||
{" QTC", 16 }, // this is my qtc message
|
||||
|
||||
//{" ", 16 }, // unused
|
||||
|
||||
{" QTH", 17 }, // this is my qth message
|
||||
|
||||
{" FB", 18 }, // fine business
|
||||
@ -89,7 +91,9 @@ QMap<QString, int> directed_cmds = {
|
||||
{" RR", 21 }, // roger roger
|
||||
{" QSL?", 22 }, // do you copy?
|
||||
{" QSL", 23 }, // i copy
|
||||
|
||||
// {" ", 24 }, // unused
|
||||
|
||||
{" SNR", 25 }, // seen a station at the provided snr
|
||||
{" NO", 26 }, // negative confirm
|
||||
{" YES", 27 }, // confirm
|
||||
@ -101,10 +105,10 @@ QMap<QString, int> directed_cmds = {
|
||||
};
|
||||
|
||||
// commands allowed to be processed
|
||||
QSet<int> allowed_cmds = {-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, /*24,*/ 25, 26, 27, 28, 29, 30, 31};
|
||||
QSet<int> allowed_cmds = {-1, 0, 1, /*2,*/ 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, /*16,*/ 17, 18, 19, 20, 21, 22, 23, /*24,*/ 25, 26, 27, 28, 29, 30, 31};
|
||||
|
||||
// commands that result in an autoreply
|
||||
QSet<int> autoreply_cmds = {0, 1, 2, 3, 4, 6, 10, 12, 13, 30};
|
||||
QSet<int> autoreply_cmds = {0, 1, 3, 4, 6, 10, 12, 13, 30};
|
||||
|
||||
// commands that should be buffered
|
||||
QSet<int> buffered_cmds = {3, 5, /*6,*/ /*7,*/ 10, 11, 12, 13, 14, 15};
|
||||
@ -124,7 +128,7 @@ QMap<int, int> checksum_cmds = {
|
||||
};
|
||||
|
||||
QString callsign_pattern = QString("(?<callsign>[@]?[A-Z0-9/]+)");
|
||||
QString optional_cmd_pattern = QString("(?<cmd>\\s?(?:AGN[?]|QSL[?]|HW CPY[?]|APRS[:]|MSG TO[:]|SNR[?]|QTC[?]|QTH[?]|GRID[?]|STATUS[?]|HEARING[?]|(?:(?:STATUS|HEARING|QUERY CALL|QUERY MSGS|QUERY|ACK|73|YES|NO|SNR|QSL|RR|SK|FB|QTH|QTC|GRID|TU)(?=[ ]|$))|[?> ]))?");
|
||||
QString optional_cmd_pattern = QString("(?<cmd>\\s?(?:AGN[?]|QSL[?]|HW CPY[?]|APRS[:]|MSG TO[:]|SNR[?]|QTH[?]|GRID[?]|STATUS[?]|HEARING[?]|(?:(?:STATUS|HEARING|QUERY CALL|QUERY MSGS|QUERY|ACK|73|YES|NO|SNR|QSL|RR|SK|FB|QTH|GRID|TU)(?=[ ]|$))|[?> ]))?");
|
||||
QString optional_grid_pattern = QString("(?<grid>\\s?[A-R]{2}[0-9]{2})?");
|
||||
QString optional_extended_grid_pattern = QString("^(?<grid>\\s?(?:[A-R]{2}[0-9]{2}(?:[A-X]{2}(?:[0-9]{2})?)*))?");
|
||||
QString optional_num_pattern = QString("(?<num>(?<=SNR|ACK)\\s?[-+]?(?:3[01]|[0-2]?[0-9]))?");
|
||||
|
Loading…
Reference in New Issue
Block a user