Unified STATUS and HB flags for better visibility.

This commit is contained in:
Jordan Sherer 2019-01-14 10:15:45 -05:00
parent de2d1dcf8d
commit a46035fa86
4 changed files with 32 additions and 9 deletions

View File

@ -6820,7 +6820,14 @@ void MainWindow::buildRepeatMenu(QMenu *menu, QPushButton * button, int * interv
void MainWindow::sendHeartbeat(){ void MainWindow::sendHeartbeat(){
QString mycall = m_config.my_callsign(); QString mycall = m_config.my_callsign();
QString mygrid = m_config.my_grid().left(4); QString mygrid = m_config.my_grid().left(4);
QString message = QString("%1: HB %2").arg(mycall).arg(mygrid).trimmed();
QStringList parts;
parts.append(QString("%1: HB").arg(mycall));
parts.append(generateStatusFlags());
parts.append(mygrid);
QString message = parts.join(" ").trimmed();
auto f = m_config.heartbeat_anywhere() ? -1 : findFreeFreqOffset(500, 1000, 50); auto f = m_config.heartbeat_anywhere() ? -1 : findFreeFreqOffset(500, 1000, 50);
@ -9415,19 +9422,26 @@ QString MainWindow::generateStatus() {
QString lastActiveString = since(lastActive).toUpper().replace("NOW", "0M"); QString lastActiveString = since(lastActive).toUpper().replace("NOW", "0M");
QStringList status; QStringList status;
status.append(generateStatusFlags());
if(!lastActiveString.isEmpty()){ if(!lastActiveString.isEmpty()){
status.append(lastActiveString); status.append(lastActiveString.trimmed());
} }
if(ui->autoReplyButton->isChecked()) status.append("AUTO");
if(ui->hbMacroButton->isChecked() && m_hbInterval > 0) status.append("HB");
if(ui->spotButton->isChecked()) status.append("SPOT");
if(!m_config.relay_off()) status.append("RELAY");
status.append("V" + version().replace("-devel", "").replace("-rc", "")); status.append("V" + version().replace("-devel", "").replace("-rc", ""));
return status.join(" ").trimmed(); return status.join(" ").trimmed();
} }
QStringList MainWindow::generateStatusFlags() {
QStringList flags;
if(ui->hbMacroButton->isChecked() && m_hbInterval > 0) flags.append("HB");
if(ui->autoReplyButton->isChecked()) flags.append("AUTO");
if(!m_config.relay_off()) flags.append("RELAY");
if(ui->spotButton->isChecked()) flags.append("SPOT");
return flags;
}
void MainWindow::processCommandActivity() { void MainWindow::processCommandActivity() {
#if 0 #if 0
if (!m_txFrameQueue.isEmpty()) { if (!m_txFrameQueue.isEmpty()) {

View File

@ -947,6 +947,7 @@ private:
void processCompoundActivity(); void processCompoundActivity();
void processBufferedActivity(); void processBufferedActivity();
QString generateStatus(); QString generateStatus();
QStringList generateStatusFlags();
void processCommandActivity(); void processCommandActivity();
QString inboxPath(); QString inboxPath();
void refreshInboxCounts(); void refreshInboxCounts();

View File

@ -1117,6 +1117,9 @@ QTextEdit[transmitting="true"] {
<number>6</number> <number>6</number>
</property> </property>
<widget class="QTextBrowser" name="callDetailTextBrowser"> <widget class="QTextBrowser" name="callDetailTextBrowser">
<property name="visible">
<bool>false</bool>
</property>
<property name="frameShape"> <property name="frameShape">
<enum>QFrame::Box</enum> <enum>QFrame::Box</enum>
</property> </property>

View File

@ -123,7 +123,7 @@ QRegularExpression directed_re("^" +
optional_cmd_pattern + optional_cmd_pattern +
optional_num_pattern); optional_num_pattern);
QRegularExpression heartbeat_re(R"(^\s*(?<type>CQCQCQ|CQ QRPP?|CQ DX|CQ TEST|CQ( CQ){0,2}|HB)(?:\s(?<grid>[A-R]{2}[0-9]{2}))?\b)"); QRegularExpression heartbeat_re(R"(^\s*(?<type>CQCQCQ|CQ QRPP?|CQ DX|CQ TEST|CQ( CQ){0,2}|HB( AUTO)?( RELAY)?( SPOT)?)(?:\s(?<grid>[A-R]{2}[0-9]{2}))?\b)");
QRegularExpression compound_re("^\\s*[`]" + QRegularExpression compound_re("^\\s*[`]" +
callsign_pattern + callsign_pattern +
@ -206,8 +206,13 @@ QMap<quint32, QString> cqs = {
}; };
QMap<quint32, QString> hbs = { QMap<quint32, QString> hbs = {
{ 0, "HB" }, // HB ACTIVE { 0, "HB" }, // HB
{ 1, "HB" }, // HB IDLE { 1, "HB AUTO" }, // HB AUTO
{ 2, "HB AUTO RELAY" }, // HB AUTO RELAY
{ 3, "HB AUTO RELAY SPOT" }, // HB AUTO RELAY SPOT
{ 4, "HB RELAY" }, // HB RELAY
{ 5, "HB RELAY SPOT" }, // HB RELAY SPOT
{ 6, "HB SPOT" }, // HB SPOT
}; };