Added new status command output and fixed a bug in macros
This commit is contained in:
parent
2f3ea90263
commit
0d63463851
@ -7379,7 +7379,8 @@ QMap<QString, QString> MainWindow::buildMacroValues(){
|
|||||||
{"<MYQTC>", m_config.my_station()},
|
{"<MYQTC>", m_config.my_station()},
|
||||||
{"<MYQTH>", m_config.my_qth()},
|
{"<MYQTH>", m_config.my_qth()},
|
||||||
{"<MYCQ>", m_config.cq_message()},
|
{"<MYCQ>", m_config.cq_message()},
|
||||||
{"<MYREPLY>", m_config.reply_message()}
|
{"<MYREPLY>", m_config.reply_message()},
|
||||||
|
{"<MYSTATUS>", generateStatus()},
|
||||||
};
|
};
|
||||||
|
|
||||||
auto selectedCall = callsignSelected();
|
auto selectedCall = callsignSelected();
|
||||||
@ -7401,7 +7402,7 @@ QString MainWindow::replaceMacros(QString const &text, QMap<QString, QString> va
|
|||||||
QString output = QString(text);
|
QString output = QString(text);
|
||||||
|
|
||||||
foreach(auto key, values.keys()){
|
foreach(auto key, values.keys()){
|
||||||
output = output.replace(key, values[key]);
|
output = output.replace(key, values[key].toUpper());
|
||||||
}
|
}
|
||||||
|
|
||||||
if(prune){
|
if(prune){
|
||||||
@ -9187,6 +9188,22 @@ void MainWindow::processBufferedActivity() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QString MainWindow::generateStatus() {
|
||||||
|
static const char* yes = "+";
|
||||||
|
static const char* no = "-";
|
||||||
|
|
||||||
|
auto lastActive = DriftingDateTime::currentDateTimeUtc().addSecs(-m_idleMinutes*60);
|
||||||
|
|
||||||
|
auto status = QString("%1 AUTO%2 HB%3 SPOT%4 RELAY%5 V%6");
|
||||||
|
status = status.arg(since(lastActive).toUpper());
|
||||||
|
status = status.arg(ui->autoReplyButton->isChecked() ? yes : no);
|
||||||
|
status = status.arg(ui->hbMacroButton->isChecked() && m_hbInterval > 0 ? yes : no);
|
||||||
|
status = status.arg(ui->spotButton->isChecked() ? yes : no);
|
||||||
|
status = status.arg(!m_config.relay_off() ? yes : no);
|
||||||
|
status = status.arg(version().replace("-devel", "").replace("-rc", ""));
|
||||||
|
return status;
|
||||||
|
}
|
||||||
|
|
||||||
void MainWindow::processCommandActivity() {
|
void MainWindow::processCommandActivity() {
|
||||||
#if 0
|
#if 0
|
||||||
if (!m_txFrameQueue.isEmpty()) {
|
if (!m_txFrameQueue.isEmpty()) {
|
||||||
@ -9358,7 +9375,7 @@ void MainWindow::processCommandActivity() {
|
|||||||
|
|
||||||
// QUERIED ACTIVE
|
// QUERIED ACTIVE
|
||||||
else if (d.cmd == " STATUS?" && !isAllCall) {
|
else if (d.cmd == " STATUS?" && !isAllCall) {
|
||||||
reply = QString("%1 AUTO:%2 VER:%3").arg(d.from).arg(ui->autoReplyButton->isChecked() ? "ON" : "OFF").arg(version());
|
reply = QString("%1 %2").arg(d.from).arg(generateStatus());
|
||||||
}
|
}
|
||||||
|
|
||||||
// QUERIED GRID
|
// QUERIED GRID
|
||||||
@ -9501,6 +9518,8 @@ void MainWindow::processCommandActivity() {
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// TODO: here is where we would process arbitrary queries if we wanted
|
||||||
|
|
||||||
auto callsigns = Varicode::parseCallsigns(who);
|
auto callsigns = Varicode::parseCallsigns(who);
|
||||||
if(callsigns.isEmpty()){
|
if(callsigns.isEmpty()){
|
||||||
continue;
|
continue;
|
||||||
|
@ -933,6 +933,7 @@ private:
|
|||||||
void processIdleActivity();
|
void processIdleActivity();
|
||||||
void processCompoundActivity();
|
void processCompoundActivity();
|
||||||
void processBufferedActivity();
|
void processBufferedActivity();
|
||||||
|
QString generateStatus();
|
||||||
void processCommandActivity();
|
void processCommandActivity();
|
||||||
void writeDirectedCommandToFile(CommandDetail d);
|
void writeDirectedCommandToFile(CommandDetail d);
|
||||||
void processAlertReplyForCommand(CommandDetail d, QString from, QString cmd);
|
void processAlertReplyForCommand(CommandDetail d, QString from, QString cmd);
|
||||||
|
Loading…
Reference in New Issue
Block a user