Added quick qrq actions for jumping to a qso speed

This commit is contained in:
Jordan Sherer 2019-11-04 20:21:55 -05:00
parent 7a248b69c4
commit 980ffcb22c
2 changed files with 36 additions and 4 deletions

View File

@ -1225,6 +1225,19 @@ MainWindow::MainWindow(QDir const& temp_directory, bool multiple,
setFreqOffsetForRestore(selectedOffset, false);
// TODO: prompt mode switch?
});
auto items = m_bandActivity.value(selectedOffset);
if(!items.isEmpty()){
auto speed = items.last().speed;
int submode = speedNameMode(speed);
if(submode != m_nSubMode){
auto qrqAction = menu->addAction(QString("Jump to %1%2 speed").arg(speed.left(1)).arg(speed.mid(1).toLower()));
connect(qrqAction, &QAction::triggered, this, [this, submode](){
setSubmode(submode);
});
}
}
menu->addSeparator();
}
@ -1444,6 +1457,17 @@ MainWindow::MainWindow(QDir const& temp_directory, bool multiple,
setFreqOffsetForRestore(selectedOffset, false);
// TODO: prompt mode switch?
});
auto speed = m_callActivity[selectedCall].speed;
int submode = speedNameMode(speed);
if(submode != m_nSubMode){
auto qrqAction = menu->addAction(QString("Jump to %1%2 speed").arg(speed.left(1)).arg(speed.mid(1).toLower()));
connect(qrqAction, &QAction::triggered, this, [this, submode](){
setSubmode(submode);
});
}
menu->addSeparator();
}
}
@ -2302,11 +2326,9 @@ void MainWindow::readSettings()
m_nSubMode=m_settings->value("SubMode",0).toInt();
ui->actionModeJS8HB->setChecked(m_nSubMode == Varicode::JS8CallNormal && m_settings->value("SubModeHB", false).toBool());
ui->actionHeartbeatAcknowledgements->setChecked(m_settings->value("SubModeHBAck", false).toBool());
ui->actionModeJS8Normal->setChecked(m_nSubMode == Varicode::JS8CallNormal);
ui->actionModeJS8Fast->setChecked(m_nSubMode == Varicode::JS8CallFast);
ui->actionModeJS8Turbo->setChecked(m_nSubMode == Varicode::JS8CallTurbo);
ui->actionModeJS8Ultra->setChecked(m_nSubMode == Varicode::JS8CallUltra);
ui->actionModeMultiDecoder->setChecked(m_settings->value("SubModeMultiDecode", false).toBool());
setSubmode(m_nSubMode);
ui->sbFtol->setValue (m_settings->value("Ftol", 20).toInt());
m_minSync=m_settings->value("MinSync",0).toInt();
ui->syncSpinBox->setValue(m_minSync);
@ -3182,6 +3204,15 @@ Radio::Frequency MainWindow::dialFrequency() {
m_rigState.tx_frequency () : m_rigState.frequency ()};
}
void MainWindow::setSubmode(int submode){
m_nSubMode = submode;
ui->actionModeJS8Normal->setChecked(submode == Varicode::JS8CallNormal);
ui->actionModeJS8Fast->setChecked(submode == Varicode::JS8CallFast);
ui->actionModeJS8Turbo->setChecked(submode == Varicode::JS8CallTurbo);
ui->actionModeJS8Ultra->setChecked(submode == Varicode::JS8CallUltra);
on_actionJS8_triggered();
}
int MainWindow::speedNameMode(QString speed){
if(speed == modeSpeedName(Varicode::JS8CallNormal)){
return Varicode::JS8CallNormal;

View File

@ -943,6 +943,7 @@ private:
void pskLogReport(QString mode, int offset, int snr, QString callsign, QString grid);
void aprsLogReport(int offset, int snr, QString callsign, QString grid);
Radio::Frequency dialFrequency();
void setSubmode(int submode);
int speedNameMode(QString speed);
QString modeSpeedName(int submode);
void updateCurrentBand();