Change the SpecOp enumeration so that FOX=6, HOUND=7, ARRL_DIGI=8.

This commit is contained in:
Joe Taylor 2022-07-29 15:20:04 -04:00
parent 4c4a5fe023
commit ca39746dc5
3 changed files with 149 additions and 152 deletions

View File

@ -197,9 +197,9 @@
* 3 -> FIELD DAY
* 4 -> RTTY RU
* 5 -> WW DIGI
* 6 -> ARRL DIGI
* 7 -> FOX
* 8 -> HOUND
* 6 -> FOX
* 7 -> HOUND
* 8 -> ARRL DIGI
*
* The Frequency Tolerance and T/R period fields may have a value
* of the maximum quint32 value which implies the field is not

View File

@ -1373,12 +1373,12 @@ void MainWindow::readSettings()
void MainWindow::checkMSK144ContestType()
{
if(SpecOp::NONE != m_config.special_op_id())
if(SpecOp::NONE != m_specOp)
{
if(m_mode=="MSK144" && SpecOp::EU_VHF < m_config.special_op_id())
if(m_mode=="MSK144" && SpecOp::EU_VHF < m_specOp)
{
MessageBox::warning_message (this, tr ("Improper mode"),
"Mode will be changed to FT8. MSK144 not available if Field Day, WW Digi, RTTY or Fox/Hound is selected.");
"Mode will be changed to FT8. MSK144 not available if Fox, Hound, Field Day, FT Roundup, WW Digi. or ARRL Digi contest is selected.");
on_actionFT8_triggered();
}
}
@ -1898,7 +1898,7 @@ void MainWindow::on_actionSettings_triggered() //Setup Dialog
// things that might change that we need know about
auto callsign = m_config.my_callsign ();
auto my_grid = m_config.my_grid ();
SpecOp nContest0=m_config.special_op_id();
SpecOp nContest0=m_specOp;
auto psk_on = m_config.spot_to_psk_reporter ();
if (QDialog::Accepted == m_config.exec ()) {
checkMSK144ContestType();
@ -1964,16 +1964,17 @@ void MainWindow::on_actionSettings_triggered() //Setup Dialog
ui->actionEnable_AP_JT65->setVisible(false);
ui->actionAuto_Clear_Avg->setVisible(false);
}
if(m_config.special_op_id()!=nContest0) {
m_specOp=m_config.special_op_id();
if(m_specOp!=nContest0) {
ui->tx1->setEnabled(true);
ui->txb1->setEnabled(true);
}
chkFT4();
if(SpecOp::EU_VHF==m_config.special_op_id() and m_config.my_grid().size()<6) {
if(SpecOp::EU_VHF==m_specOp and m_config.my_grid().size()<6) {
MessageBox::information_message (this,
"EU VHF Contest messages require a 6-character locator.");
}
if((m_config.special_op_id()==SpecOp::FOX or m_config.special_op_id()==SpecOp::HOUND) and
if((m_specOp==SpecOp::FOX or m_specOp==SpecOp::HOUND) and
m_mode!="FT8") {
MessageBox::information_message (this,
"Fox-and-Hound operation is available only in FT8 mode.\nGo back and change your selection.");
@ -2062,7 +2063,7 @@ void MainWindow::auto_tx_mode (bool state)
void MainWindow::keyPressEvent (QKeyEvent * e)
{
if(SpecOp::FOX == m_config.special_op_id()) {
if(SpecOp::FOX == m_specOp) {
switch (e->key()) {
case Qt::Key_Return:
doubleClickOnCall2(Qt::KeyboardModifier(Qt::ShiftModifier + Qt::ControlModifier + Qt::AltModifier));
@ -2077,7 +2078,7 @@ void MainWindow::keyPressEvent (QKeyEvent * e)
QMainWindow::keyPressEvent (e);
}
if(SpecOp::HOUND == m_config.special_op_id()) {
if(SpecOp::HOUND == m_specOp) {
switch (e->key()) {
case Qt::Key_Return:
auto_tx_mode(true);
@ -2212,11 +2213,11 @@ void MainWindow::keyPressEvent (QKeyEvent * e)
abortQSO();
return;
case Qt::Key_E:
if((e->modifiers() & Qt::ShiftModifier) and SpecOp::FOX > m_config.special_op_id()) {
if((e->modifiers() & Qt::ShiftModifier) and m_specOp!=SpecOp::FOX and m_specOp!=SpecOp::HOUND) {
ui->txFirstCheckBox->setChecked(false);
return;
}
else if((e->modifiers() & Qt::ControlModifier) and SpecOp::FOX > m_config.special_op_id()) {
else if((e->modifiers() & Qt::ControlModifier) and m_specOp!=SpecOp::FOX and m_specOp!=SpecOp::HOUND) {
ui->txFirstCheckBox->setChecked(true);
return;
}
@ -3218,8 +3219,8 @@ void MainWindow::decode() //decode()
dec_data.params.nfa=m_wideGraph->nStartFreq();
dec_data.params.nfSplit=m_wideGraph->Fmin();
dec_data.params.nfb=m_wideGraph->Fmax();
if(m_mode=="FT8" and SpecOp::HOUND == m_config.special_op_id() and !ui->cbRxAll->isChecked()) dec_data.params.nfb=1000;
if(m_mode=="FT8" and SpecOp::FOX == m_config.special_op_id() ) dec_data.params.nfqso=200;
if(m_mode=="FT8" and SpecOp::HOUND == m_specOp and !ui->cbRxAll->isChecked()) dec_data.params.nfb=1000;
if(m_mode=="FT8" and SpecOp::FOX == m_specOp ) dec_data.params.nfqso=200;
dec_data.params.ntol=ui->sbFtol->value ();
if(!m_config.enable_VHF_features()) {
dec_data.params.ntol=20;
@ -3272,7 +3273,7 @@ void MainWindow::decode() //decode()
dec_data.params.emedelay=0.0;
if(m_config.decode_at_52s()) dec_data.params.emedelay=2.5;
dec_data.params.minSync=ui->syncSpinBox->isVisible () ? m_minSync : 0;
dec_data.params.nexp_decode = static_cast<int> (m_config.special_op_id());
dec_data.params.nexp_decode = static_cast<int> (m_specOp);
if(m_config.single_decode()) dec_data.params.nexp_decode += 32;
if(m_config.enable_VHF_features()) dec_data.params.nexp_decode += 64;
if(m_mode.startsWith("FST4")) dec_data.params.nexp_decode += 256*(ui->sbNB->value()+3);
@ -3435,7 +3436,7 @@ void MainWindow::decodeDone ()
ui->DecodeButton->setChecked (false);
decodeBusy(false);
m_RxLog=0;
if(SpecOp::FOX == m_config.special_op_id()) houndCallers();
if(SpecOp::FOX == m_specOp) houndCallers();
to_jt9(m_ihsym,-1,1); //Tell jt9 we know it has finished
m_startAnother=m_loopall;
@ -3628,7 +3629,7 @@ void MainWindow::readFromStdout() //readFromStdout
bool bDisplayPoints = false;
if(m_ActiveStationsWidget!=NULL) {
bDisplayPoints=(m_mode=="FT4" or m_mode=="FT8") and
(m_config.special_op_id()==SpecOp::ARRL_DIGI or m_ActiveStationsWidget->isVisible());
(m_specOp==SpecOp::ARRL_DIGI or m_ActiveStationsWidget->isVisible());
}
while(proc_jt9.canReadLine()) {
auto line_read = proc_jt9.readLine ();
@ -3710,7 +3711,7 @@ void MainWindow::readFromStdout() //readFromStdout
if (line_read.left(ntime) != m_tBlankLine) {
ui->decodedTextBrowser->new_period ();
if (m_config.insert_blank ()
&& SpecOp::FOX != m_config.special_op_id()) {
&& SpecOp::FOX != m_specOp) {
QString band;
if(((QDateTime::currentMSecsSinceEpoch() / 1000 - m_secBandChanged) > 4*int(m_TRperiod)/4)
or m_displayBand) {
@ -3727,7 +3728,7 @@ void MainWindow::readFromStdout() //readFromStdout
DecodedText decodedtext0 {QString::fromUtf8(line_read.constData())};
DecodedText decodedtext {QString::fromUtf8(line_read.constData()).remove("TU; ")};
if(m_mode=="FT8" and SpecOp::FOX == m_config.special_op_id() and
if(m_mode=="FT8" and SpecOp::FOX == m_specOp and
(decodedtext.string().contains("R+") or decodedtext.string().contains("R-"))) {
auto for_us = decodedtext.string().contains(" " + m_config.my_callsign() + " ") or
decodedtext.string().contains(" "+m_baseCall) or
@ -3743,7 +3744,7 @@ void MainWindow::readFromStdout() //readFromStdout
//Left (Band activity) window
if(!bAvgMsg) {
if(m_mode=="FT8" and SpecOp::FOX == m_config.special_op_id()) {
if(m_mode=="FT8" and SpecOp::FOX == m_specOp) {
if(!m_bDisplayedOnce) {
// This hack sets the font. Surely there's a better way!
DecodedText dt{"."};
@ -3827,7 +3828,7 @@ void MainWindow::readFromStdout() //readFromStdout
for_us = false;
}
}
if(m_bCallingCQ && !m_bAutoReply && for_us && SpecOp::FOX > m_config.special_op_id()) {
if(m_bCallingCQ && !m_bAutoReply && for_us && m_specOp!=SpecOp::FOX && m_specOp!=SpecOp::HOUND) {
bool bProcessMsgNormally=ui->respondComboBox->currentText()=="CQ: First" or
(ui->respondComboBox->currentText()=="CQ: Max Dist" and m_ActiveStationsWidget==NULL) or
(m_ActiveStationsWidget!=NULL and !m_ActiveStationsWidget->isVisible());
@ -3865,7 +3866,7 @@ void MainWindow::readFromStdout() //readFromStdout
m_bDoubleClicked=true;
ui->dxCallEntry->setText(deCall);
int m_ntx=2;
bool bContest=m_config.special_op_id()==SpecOp::NA_VHF or m_config.special_op_id()==SpecOp::ARRL_DIGI;
bool bContest=m_specOp==SpecOp::NA_VHF or m_specOp==SpecOp::ARRL_DIGI;
if(bContest) m_ntx=3;
if(deGrid.contains(grid_regexp)) {
m_deGrid=deGrid;
@ -3884,9 +3885,9 @@ void MainWindow::readFromStdout() //readFromStdout
}
}
if(SpecOp::FOX==m_config.special_op_id() and decodedtext.string().contains(" DE ")) for_us=true; //Hound with compound callsign
if(SpecOp::FOX==m_config.special_op_id() and for_us and (audioFreq<1000)) bDisplayRight=true;
if(SpecOp::FOX!=m_config.special_op_id() and (for_us or (abs(audioFreq - m_wideGraph->rxFreq()) <= 10))) bDisplayRight=true;
if(SpecOp::FOX==m_specOp and decodedtext.string().contains(" DE ")) for_us=true; //Hound with compound callsign
if(SpecOp::FOX==m_specOp and for_us and (audioFreq<1000)) bDisplayRight=true;
if(SpecOp::FOX!=m_specOp and (for_us or (abs(audioFreq - m_wideGraph->rxFreq()) <= 10))) bDisplayRight=true;
}
} else {
if((abs(audioFreq - m_wideGraph->rxFreq()) <= 10) and
@ -3905,7 +3906,7 @@ void MainWindow::readFromStdout() //readFromStdout
postDecode (true, decodedtext.string ());
if(m_mode=="FT8" and SpecOp::HOUND==m_config.special_op_id()) {
if(m_mode=="FT8" and SpecOp::HOUND==m_specOp) {
if(decodedtext.string().contains(";")) {
QStringList w=decodedtext.string().mid(24).split(" ",SkipEmptyParts);
QString foxCall=w.at(3);
@ -3947,7 +3948,7 @@ void MainWindow::readFromStdout() //readFromStdout
}
//### I think this is where we are preventing Hounds from spotting Fox ###
if(m_mode!="FT8" or (SpecOp::HOUND != m_config.special_op_id())) {
if(m_mode!="FT8" or (SpecOp::HOUND != m_specOp)) {
if(m_mode=="FT8" or m_mode=="FT4" or m_mode=="Q65"
or m_mode=="JT4" or m_mode=="JT65" or m_mode=="JT9" or m_mode=="FST4") {
auto_sequence (decodedtext, 25, 50);
@ -4071,7 +4072,7 @@ void MainWindow::auto_sequence (DecodedText const& message, unsigned start_toler
// look for type 2 compound call replies on our Tx and Rx offsets
&& ((within_tolerance && "DE" == message_words.at (2))
|| message_words.at (2).contains (m_baseCall))))) {
if(SpecOp::FOX != m_config.special_op_id()) processMessage (message);
if(SpecOp::FOX != m_specOp) processMessage (message);
}
}
}
@ -4239,7 +4240,7 @@ void MainWindow::guiUpdate()
}
}
if(m_mode=="FT8" and SpecOp::FOX==m_config.special_op_id()) {
if(m_mode=="FT8" and SpecOp::FOX==m_specOp) {
// Don't allow Fox mode in any of the default FT8 sub-bands.
qint32 ft8Freq[]={1840,3573,7074,10136,14074,18100,21074,24915,28074,50313,70100};
for(int i=0; i<11; i++) {
@ -4281,12 +4282,12 @@ void MainWindow::guiUpdate()
g_iptt = 1;
setRig ();
if(m_mode=="FT8") {
if (SpecOp::FOX == m_config.special_op_id()) {
if (SpecOp::FOX == m_specOp) {
if (ui->TxFreqSpinBox->value() > 900) {
ui->TxFreqSpinBox->setValue(300);
}
}
else if (SpecOp::HOUND == m_config.special_op_id()) {
else if (SpecOp::HOUND == m_specOp) {
if(m_auto && !m_tune) {
if (ui->TxFreqSpinBox->value() < 999 && m_ntx != 3) {
// Hound randomized range: 1000-3000 Hz
@ -4312,7 +4313,7 @@ void MainWindow::guiUpdate()
// If HoldTxFreq is not checked, randomize Fox's Tx Freq
// NB: Maybe this should be done no more than once every 5 minutes or so ?
if(m_mode=="FT8" and SpecOp::FOX==m_config.special_op_id() and !ui->cbHoldTxFreq->isChecked()) {
if(m_mode=="FT8" and SpecOp::FOX==m_specOp and !ui->cbHoldTxFreq->isChecked()) {
#if QT_VERSION >= QT_VERSION_CHECK (5, 15, 0)
ui->TxFreqSpinBox->setValue (QRandomGenerator::global ()->bounded (300, 599));
#else
@ -4354,7 +4355,7 @@ void MainWindow::guiUpdate()
if(m_mode=="WSPR") {
ba=WSPR_message().toLatin1();
} else {
if(SpecOp::HOUND == m_config.special_op_id() and m_ntx!=3) { //Hound transmits only Tx1 or Tx3
if(SpecOp::HOUND == m_specOp and m_ntx!=3) { //Hound transmits only Tx1 or Tx3
m_ntx=1;
ui->txrb1->setChecked(true);
}
@ -4408,7 +4409,7 @@ void MainWindow::guiUpdate()
}
if(m_mode=="FT8") {
if(SpecOp::FOX==m_config.special_op_id() and ui->tabWidget->currentIndex()==1) {
if(SpecOp::FOX==m_specOp and ui->tabWidget->currentIndex()==1) {
foxTxSequencer();
} else {
int i3=0;
@ -4425,7 +4426,7 @@ void MainWindow::guiUpdate()
int nwave=nsym*nsps;
gen_ft8wave_(const_cast<int *>(itone),&nsym,&nsps,&bt,&fsample,&f0,foxcom_.wave,
foxcom_.wave,&icmplx,&nwave);
if(SpecOp::FOX == m_config.special_op_id()) {
if(SpecOp::FOX == m_specOp) {
//Fox must generate the full Tx waveform, not just an itone[] array.
QString fm = QString::fromStdString(message).trimmed();
foxGenWaveform(0,fm);
@ -4508,12 +4509,12 @@ void MainWindow::guiUpdate()
&fsample,&hmod,&f0,&icmplx,foxcom_.wave,foxcom_.wave);
}
if(SpecOp::EU_VHF==m_config.special_op_id()) {
if(SpecOp::EU_VHF==m_specOp) {
if(m_ntx==2) m_xSent=ui->tx2->text().right(13);
if(m_ntx==3) m_xSent=ui->tx3->text().right(13);
}
if(SpecOp::FIELD_DAY==m_config.special_op_id() or SpecOp::RTTY==m_config.special_op_id()) {
if(SpecOp::FIELD_DAY==m_specOp or SpecOp::RTTY==m_specOp) {
if(m_ntx==2 or m_ntx==3) {
QStringList t=ui->tx2->text().split(' ', SkipEmptyParts);
int n=t.size();
@ -4644,7 +4645,7 @@ void MainWindow::guiUpdate()
if (m_mode != "FST4W" && m_mode != "WSPR")
{
if(!m_tune) write_all("Tx",m_currentMessage);
if (m_config.TX_messages () && !m_tune && SpecOp::FOX!=m_config.special_op_id())
if (m_config.TX_messages () && !m_tune && SpecOp::FOX!=m_specOp)
{
ui->decodedTextBrowser2->displayTransmittedText(current_message.trimmed(),
m_mode,ui->TxFreqSpinBox->value(),m_bFastMode,m_TRperiod);
@ -4687,16 +4688,16 @@ void MainWindow::guiUpdate()
if(m_mode=="FT8" or m_mode=="MSK144" or m_mode=="FT4" || "Q65" == m_mode) {
if(ui->txrb1->isEnabled() and
(SpecOp::NA_VHF==m_config.special_op_id() or
SpecOp::FIELD_DAY==m_config.special_op_id() or
SpecOp::RTTY==m_config.special_op_id() or
SpecOp::WW_DIGI==m_config.special_op_id() or
SpecOp::ARRL_DIGI==m_config.special_op_id()) ) {
(SpecOp::NA_VHF==m_specOp or
SpecOp::FIELD_DAY==m_specOp or
SpecOp::RTTY==m_specOp or
SpecOp::WW_DIGI==m_specOp or
SpecOp::ARRL_DIGI==m_specOp) ) {
//We're in a contest-like mode other than EU_VHF: start QSO with Tx2.
ui->tx1->setEnabled(false);
ui->txb1->setEnabled(false);
}
if(!ui->tx1->isEnabled() and SpecOp::EU_VHF==m_config.special_op_id()) {
if(!ui->tx1->isEnabled() and SpecOp::EU_VHF==m_specOp) {
//We're in EU_VHF mode: start QSO with Tx1.
ui->tx1->setEnabled(true);
ui->txb1->setEnabled(true);
@ -4705,11 +4706,11 @@ void MainWindow::guiUpdate()
//Once per second (onesec)
if(nsec != m_sec0) {
// qDebug() << "AAA" << nsec << (int)m_config.special_op_id() << (int)SpecOp::FOX;
// qDebug() << "AAA" << nsec;
if(m_mode=="FST4") chk_FST4_freq_range();
m_currentBand=m_config.bands()->find(m_freqNominal);
if( SpecOp::HOUND == m_config.special_op_id() ) {
if( SpecOp::HOUND == m_specOp ) {
qint32 tHound=QDateTime::currentMSecsSinceEpoch()/1000 - m_tAutoOn;
//To keep calling Fox, Hound must reactivate Enable Tx at least once every 2 minutes
if(tHound >= 120 and m_ntx==1) auto_tx_mode(false);
@ -4742,7 +4743,7 @@ void MainWindow::guiUpdate()
if(m_transmitting) {
char s[42];
if(SpecOp::FOX==m_config.special_op_id() and ui->tabWidget->currentIndex()==1) {
if(SpecOp::FOX==m_specOp and ui->tabWidget->currentIndex()==1) {
sprintf(s,"Tx: %d Slots",foxcom_.nslots);
} else {
sprintf(s,"Tx: %s",msgsent);
@ -4764,7 +4765,7 @@ void MainWindow::guiUpdate()
} else {
s[40]=0;
QString t{QString::fromLatin1(s)};
if(SpecOp::FOX==m_config.special_op_id() and ui->tabWidget->currentIndex()==1 and foxcom_.nslots==1) {
if(SpecOp::FOX==m_specOp and ui->tabWidget->currentIndex()==1 and foxcom_.nslots==1) {
t=m_fm1.trimmed();
}
if(m_mode=="FT4") t="Tx: "+ m_currentMessage;
@ -4943,7 +4944,7 @@ bool MainWindow::elide_tx1_not_allowed () const
{
auto const& my_callsign = m_config.my_callsign ();
return
(m_mode=="FT8" && SpecOp::HOUND == m_config.special_op_id())
(m_mode=="FT8" && SpecOp::HOUND == m_specOp)
|| ((m_mode.startsWith ("FT") || "MSK144" == m_mode || "Q65" == m_mode || "FST4" == m_mode)
&& Radio::is_77bit_nonstandard_callsign (my_callsign))
|| (my_callsign != m_baseCall && !shortList (my_callsign));
@ -5117,7 +5118,7 @@ void MainWindow::doubleClickOnCall(Qt::KeyboardModifiers modifiers)
cursor.setPosition(cursor.selectionStart());
}
if(SpecOp::FOX==m_config.special_op_id() and m_decodedText2) {
if(SpecOp::FOX==m_specOp and m_decodedText2) {
if(m_houndQueue.count()<10 and m_nSortedHounds>0) {
QString t=cursor.block().text();
selectHound(t);
@ -5175,8 +5176,8 @@ void MainWindow::processMessage (DecodedText const& message, Qt::KeyboardModifie
int nmod = fmod(double(message.timeInSeconds()),2.0*m_TRperiod);
m_txFirst=(nmod!=0);
if( SpecOp::HOUND == m_config.special_op_id() ) m_txFirst=false; //Hound must not transmit first
if( SpecOp::FOX == m_config.special_op_id() ) m_txFirst=true; //Fox must always transmit first
if( SpecOp::HOUND == m_specOp ) m_txFirst=false; //Hound must not transmit first
if( SpecOp::FOX == m_specOp ) m_txFirst=true; //Fox must always transmit first
ui->txFirstCheckBox->setChecked(m_txFirst);
auto const& message_words = message.messageWords ();
@ -5220,7 +5221,7 @@ void MainWindow::processMessage (DecodedText const& message, Qt::KeyboardModifie
}
// ignore calls by other hounds
if (SpecOp::HOUND == m_config.special_op_id()
if (SpecOp::HOUND == m_specOp
&& message.messageWords ().indexOf (QRegularExpression {R"(R\+-[0-9]+)"}) >= 1)
{
return;
@ -5235,7 +5236,7 @@ void MainWindow::processMessage (DecodedText const& message, Qt::KeyboardModifie
&& firstcall != m_config.my_callsign () && firstcall != m_baseCall
&& firstcall != "DE")
|| "CQ" == firstcall || "QRZ" == firstcall || ctrl || shift) {
if (((SpecOp::HOUND != m_config.special_op_id()) || m_mode != "FT8")
if (((SpecOp::HOUND != m_specOp) || m_mode != "FT8")
&& (!ui->cbHoldTxFreq->isChecked () || shift || ctrl)) {
ui->TxFreqSpinBox->setValue(frequency);
}
@ -5272,7 +5273,7 @@ void MainWindow::processMessage (DecodedText const& message, Qt::KeyboardModifie
}
bool bRTTY = (nrpt>=529 and nrpt<=599);
bool bEU_VHF_w2=(nrpt>=520001 and nrpt<=594000);
if(bEU_VHF_w2 and SpecOp::EU_VHF!=m_config.special_op_id()) {
if(bEU_VHF_w2 and SpecOp::EU_VHF!=m_specOp) {
auto const& msg = tr("Should you switch to EU VHF Contest mode?\n\n"
"To do so, check 'Special operating activity' and\n"
"'EU VHF Contest' on the Settings | Advanced tab.");
@ -5290,17 +5291,17 @@ void MainWindow::processMessage (DecodedText const& message, Qt::KeyboardModifie
m_xRcvd=t.at(n-2) + " " + t.at(n-1);
t0=t.at(n-3);
}
if(bFieldDay_msg and SpecOp::FIELD_DAY!=m_config.special_op_id()) {
if(bFieldDay_msg and SpecOp::FIELD_DAY!=m_specOp) {
// ### Should be in ARRL Field Day mode ??? ###
MessageBox::information_message (this, tr ("Should you switch to ARRL Field Day mode?"));
}
if(bRTTY and SpecOp::RTTY != m_config.special_op_id()) {
if(bRTTY and SpecOp::RTTY != m_specOp) {
// ### Should be in RTTY contest mode ??? ###
MessageBox::information_message (this, tr ("Should you switch to RTTY contest mode?"));
}
if(SpecOp::EU_VHF==m_config.special_op_id() and message_words.at(2).contains(m_baseCall) and
if(SpecOp::EU_VHF==m_specOp and message_words.at(2).contains(m_baseCall) and
(!message_words.at(3).contains(qso_partner_base_call)) and (!m_bDoubleClicked)) {
return;
}
@ -5310,9 +5311,9 @@ void MainWindow::processMessage (DecodedText const& message, Qt::KeyboardModifie
&& (message_words.at(2).contains(m_baseCall) || "DE" == message_words.at(2))
&& (message_words.at(3).contains(qso_partner_base_call) or m_bDoubleClicked
or bEU_VHF_w2 or (m_QSOProgress==CALLING))) {
if(message_words.at(4).contains(grid_regexp) and SpecOp::EU_VHF!=m_config.special_op_id()) {
if((SpecOp::NA_VHF==m_config.special_op_id() or SpecOp::WW_DIGI==m_config.special_op_id() or
SpecOp::ARRL_DIGI==m_config.special_op_id() )
if(message_words.at(4).contains(grid_regexp) and SpecOp::EU_VHF!=m_specOp) {
if((SpecOp::NA_VHF==m_specOp or SpecOp::WW_DIGI==m_specOp or
SpecOp::ARRL_DIGI==m_specOp )
and bContestOK) {
setTxMsg(3);
m_QSOProgress=ROGER_REPORT;
@ -5325,7 +5326,7 @@ void MainWindow::processMessage (DecodedText const& message, Qt::KeyboardModifie
m_QSOProgress=REPORT;
}
}
} else if(w34.contains(grid_regexp) and SpecOp::EU_VHF==m_config.special_op_id()) {
} else if(w34.contains(grid_regexp) and SpecOp::EU_VHF==m_specOp) {
if(nrpt==0) {
setTxMsg(2);
@ -5339,7 +5340,7 @@ void MainWindow::processMessage (DecodedText const& message, Qt::KeyboardModifie
m_QSOProgress=ROGER_REPORT;
}
}
} else if(SpecOp::RTTY == m_config.special_op_id() and bRTTY) {
} else if(SpecOp::RTTY == m_specOp and bRTTY) {
if(w2=="R") {
setTxMsg(4);
m_QSOProgress=ROGERS;
@ -5348,7 +5349,7 @@ void MainWindow::processMessage (DecodedText const& message, Qt::KeyboardModifie
m_QSOProgress=ROGER_REPORT;
}
m_xRcvd=t[n-2] + " " + t[n-1];
} else if(SpecOp::FIELD_DAY==m_config.special_op_id() and bFieldDay_msg) {
} else if(SpecOp::FIELD_DAY==m_specOp and bFieldDay_msg) {
if(t0=="R") {
setTxMsg(4);
m_QSOProgress=ROGERS;
@ -5366,7 +5367,7 @@ void MainWindow::processMessage (DecodedText const& message, Qt::KeyboardModifie
if(m_mode=="FT4" and "RR73" == word_3) m_dateTimeRcvdRR73=QDateTime::currentDateTimeUtc();
m_bTUmsg=false;
m_nextCall=""; //### Temporary: disable use of "TU;" message
if(SpecOp::RTTY == m_config.special_op_id() and m_nextCall!="") {
if(SpecOp::RTTY == m_specOp and m_nextCall!="") {
// We're in RTTY contest and have "nextCall" queued up: send a "TU; ..." message
if (m_config.prompt_to_log() || m_config.autoLog()) {
logQSOTimer.start(0);
@ -5380,12 +5381,6 @@ void MainWindow::processMessage (DecodedText const& message, Qt::KeyboardModifie
ui->tx3->setText(t);
m_bTUmsg=true;
} else {
// The following test was to skip sending 73 after receiving RR73, in a contest mode.
// I'm disabling it so thet we always send 73 after receiving RR73.
// if (m_QSOProgress > CALLING && m_QSOProgress < SIGNOFF
// && SpecOp::NONE < m_config.special_op_id () && SpecOp::FOX > m_config.special_op_id ()
// && ("RR73" == word_3 || 73 == word_3_as_number))
if (false) // Always Send 73 after receiving RRR or RR73, even in contest mode.
{
if (m_config.prompt_to_log() || m_config.autoLog()) {
@ -5444,7 +5439,7 @@ void MainWindow::processMessage (DecodedText const& message, Qt::KeyboardModifie
&& word_3.startsWith ('R')) {
m_ntx=4;
m_QSOProgress = ROGERS;
if(SpecOp::RTTY == m_config.special_op_id()) {
if(SpecOp::RTTY == m_specOp) {
int n=t.size();
int nRpt=t[n-2].toInt();
if(nRpt>=529 and nRpt<=599) m_xRcvd=t[n-2] + " " + t[n-1];
@ -5455,9 +5450,9 @@ void MainWindow::processMessage (DecodedText const& message, Qt::KeyboardModifie
if ((word_3_as_number >= -50 && word_3_as_number <= 49)
|| (word_3_as_number >= 529 && word_3_as_number <= 599))
{
if(SpecOp::EU_VHF==m_config.special_op_id() or
SpecOp::FIELD_DAY==m_config.special_op_id() or
SpecOp::RTTY==m_config.special_op_id())
if(SpecOp::EU_VHF==m_specOp or
SpecOp::FIELD_DAY==m_specOp or
SpecOp::RTTY==m_specOp)
{
setTxMsg(2);
m_QSOProgress=REPORT;
@ -5682,16 +5677,16 @@ void MainWindow::genCQMsg ()
QString t=ui->tx6->text();
QStringList tlist=t.split(" ");
if((m_mode=="FT4" or m_mode=="FT8" or m_mode=="MSK144" || "Q65" == m_mode) and
SpecOp::NONE != m_config.special_op_id() and
SpecOp::NONE != m_specOp and
( tlist.at(1)==my_callsign or
tlist.at(2)==my_callsign ) and
stdCall(my_callsign)) {
if(SpecOp::NA_VHF == m_config.special_op_id()) m_cqStr="TEST";
if(SpecOp::EU_VHF == m_config.special_op_id()) m_cqStr="TEST";
if(SpecOp::FIELD_DAY == m_config.special_op_id()) m_cqStr="FD";
if(SpecOp::RTTY == m_config.special_op_id()) m_cqStr="RU";
if(SpecOp::WW_DIGI == m_config.special_op_id()) m_cqStr="WW";
if(SpecOp::ARRL_DIGI == m_config.special_op_id()) m_cqStr="TEST";
if(SpecOp::NA_VHF == m_specOp) m_cqStr="TEST";
if(SpecOp::EU_VHF == m_specOp) m_cqStr="TEST";
if(SpecOp::FIELD_DAY == m_specOp) m_cqStr="FD";
if(SpecOp::RTTY == m_specOp) m_cqStr="RU";
if(SpecOp::WW_DIGI == m_specOp) m_cqStr="WW";
if(SpecOp::ARRL_DIGI == m_specOp) m_cqStr="TEST";
if( tlist.at(1)==my_callsign ) {
t="CQ " + m_cqStr + " " + tlist.at(1) + " " + tlist.at(2);
} else {
@ -5799,11 +5794,11 @@ void MainWindow::genStdMsgs(QString rpt, bool unconditional)
t=t0a;
msgtype(t0a + my_grid, ui->tx1);
}
if(SpecOp::NA_VHF==m_config.special_op_id()) sent=my_grid;
if(SpecOp::WW_DIGI==m_config.special_op_id()) sent=my_grid;
if(SpecOp::ARRL_DIGI==m_config.special_op_id()) sent=my_grid;
if(SpecOp::FIELD_DAY==m_config.special_op_id()) sent=m_config.Field_Day_Exchange();
if(SpecOp::RTTY==m_config.special_op_id()) {
if(SpecOp::NA_VHF==m_specOp) sent=my_grid;
if(SpecOp::WW_DIGI==m_specOp) sent=my_grid;
if(SpecOp::ARRL_DIGI==m_specOp) sent=my_grid;
if(SpecOp::FIELD_DAY==m_specOp) sent=m_config.Field_Day_Exchange();
if(SpecOp::RTTY==m_specOp) {
sent=rst + m_config.RTTY_Exchange();
QString t1=m_config.RTTY_Exchange();
if(t1=="DX" or t1=="#") {
@ -5811,7 +5806,7 @@ void MainWindow::genStdMsgs(QString rpt, bool unconditional)
sent=rst + t1;
}
}
if(SpecOp::EU_VHF==m_config.special_op_id()) {
if(SpecOp::EU_VHF==m_specOp) {
QString a;
t="<" + t0s.split(" ").at(0) + "> <" + t0s.split(" ").at(1) + "> ";
a = a.asprintf("%4.4d ",ui->sbSerialNumber->value());
@ -5820,7 +5815,7 @@ void MainWindow::genStdMsgs(QString rpt, bool unconditional)
msgtype(t + sent, ui->tx2);
if(sent==rpt) msgtype(t + "R" + sent, ui->tx3);
if(sent!=rpt) msgtype(t + "R " + sent, ui->tx3);
if(m_mode=="FT4" and SpecOp::RTTY==m_config.special_op_id()) {
if(m_mode=="FT4" and SpecOp::RTTY==m_specOp) {
QDateTime now=QDateTime::currentDateTimeUtc();
int sinceTx3 = m_dateTimeSentTx3.secsTo(now);
int sinceRR73 = m_dateTimeRcvdRR73.secsTo(now);
@ -5834,7 +5829,7 @@ void MainWindow::genStdMsgs(QString rpt, bool unconditional)
if(m_mode=="MSK144" and m_bShMsgs) {
int i=t0s.length()-1;
t0="<" + t0s.mid(0,i) + "> ";
if(SpecOp::NA_VHF != m_config.special_op_id()) {
if(SpecOp::NA_VHF != m_specOp) {
if(n<=-2) n=-3;
if(n>=-1 and n<=1) n=0;
if(n>=2 and n<=4) n=3;
@ -5854,7 +5849,7 @@ void MainWindow::genStdMsgs(QString rpt, bool unconditional)
}
if(m_mode=="MSK144" and m_bShMsgs) {
if(m_config.special_op_id()==SpecOp::NONE) {
if(m_specOp==SpecOp::NONE) {
t=t0 + "R" + rpt;
msgtype(t, ui->tx3);
}
@ -5899,7 +5894,7 @@ void MainWindow::genStdMsgs(QString rpt, bool unconditional)
case Configuration::type_2_msg_1_full:
msgtype(t + my_grid, ui->tx1);
if (!eme_short_codes) {
if(is77BitMode () && SpecOp::NA_VHF == m_config.special_op_id()) {
if(is77BitMode () && SpecOp::NA_VHF == m_specOp) {
msgtype(t + "R " + my_grid, ui->tx3); // #### Unreachable code
} else {
msgtype(t + "R" + rpt, ui->tx3);
@ -5911,7 +5906,7 @@ void MainWindow::genStdMsgs(QString rpt, bool unconditional)
break;
case Configuration::type_2_msg_3_full:
if (is77BitMode () && SpecOp::NA_VHF == m_config.special_op_id()) {
if (is77BitMode () && SpecOp::NA_VHF == m_specOp) {
msgtype(t + "R " + my_grid, ui->tx3);
msgtype(t + "RRR", ui->tx4);
} else {
@ -5926,7 +5921,7 @@ void MainWindow::genStdMsgs(QString rpt, bool unconditional)
case Configuration::type_2_msg_5_only:
msgtype(t00 + my_grid, ui->tx1);
if (!eme_short_codes) {
if (is77BitMode () && SpecOp::NA_VHF == m_config.special_op_id()) {
if (is77BitMode () && SpecOp::NA_VHF == m_specOp) {
msgtype(t + "R " + my_grid, ui->tx3); // #### Unreachable code
msgtype(t + "RRR", ui->tx4);
} else {
@ -5947,7 +5942,7 @@ void MainWindow::genStdMsgs(QString rpt, bool unconditional)
msgtype(t, ui->tx5->lineEdit ());
}
} else {
if (hisCall != hisBase and SpecOp::HOUND != m_config.special_op_id()) {
if (hisCall != hisBase and SpecOp::HOUND != m_specOp) {
if (shortList(hisCall)) {
// cfm we know his full call with a type 1 tx1 message
t = hisCall + " " + my_callsign;
@ -5961,7 +5956,7 @@ void MainWindow::genStdMsgs(QString rpt, bool unconditional)
}
}
m_rpt=rpt;
if(SpecOp::HOUND == m_config.special_op_id() and is_compound) ui->tx1->setText("DE " + my_callsign);
if(SpecOp::HOUND == m_specOp and is_compound) ui->tx1->setText("DE " + my_callsign);
}
void MainWindow::TxAgain()
@ -5984,7 +5979,7 @@ void MainWindow::clearDX ()
m_qsoStop.clear ();
m_inQSOwith.clear();
genStdMsgs (QString {});
if (m_mode=="FT8" and SpecOp::HOUND == m_config.special_op_id()) {
if (m_mode=="FT8" and SpecOp::HOUND == m_specOp) {
m_ntx=1;
ui->txrb1->setChecked(true);
} else {
@ -6148,7 +6143,7 @@ void MainWindow::msgtype(QString t, QLineEdit* tx) //msgtype()
if(itype==7 and m_config.enable_VHF_features() and m_mode=="JT65") shortMsg=true;
if(m_mode=="MSK144" and t.mid(0,1)=="<") text=false;
if((m_mode=="MSK144" or m_mode=="FT8" or m_mode=="FT4" || "Q65" == m_mode) and
SpecOp::NA_VHF==m_config.special_op_id()) {
SpecOp::NA_VHF==m_specOp) {
int i0=t.trimmed().length()-7;
if(t.mid(i0,3)==" R ") text=false;
}
@ -6286,7 +6281,7 @@ void MainWindow::on_genStdMsgsPushButton_clicked() //genStdMsgs button
void MainWindow::cease_auto_Tx_after_QSO ()
{
if (SpecOp::FOX != m_config.special_op_id ()
if (SpecOp::FOX != m_specOp
&& ui->cbAutoSeq->isVisible () && ui->cbAutoSeq->isEnabled () && ui->cbAutoSeq->isChecked ())
{
// ensure that auto Tx is disabled even if disable Tx
@ -6312,7 +6307,7 @@ void MainWindow::on_logQSOButton_clicked() //Log QSO button
QString grid=m_hisGrid;
if(grid=="....") grid="";
switch( m_config.special_op_id() )
switch( m_specOp )
{
case SpecOp::NA_VHF:
m_xSent=m_config.my_grid().left(4);
@ -6384,10 +6379,9 @@ void MainWindow::acceptQSO (QDateTime const& QSO_date_off, QString const& call,
}
}
if(m_config.clear_DX () and SpecOp::HOUND != m_config.special_op_id()) clearDX ();
if(m_config.clear_DX () and SpecOp::HOUND != m_specOp) clearDX ();
m_dateTimeQSOOn = QDateTime {};
auto special_op = m_config.special_op_id ();
if (SpecOp::NONE < special_op && special_op < SpecOp::FOX) {
if(m_specOp!=SpecOp::NONE and m_specOp!=SpecOp::FOX and m_specOp!=SpecOp::HOUND) {
ui->sbSerialNumber->setValue(ui->sbSerialNumber->value() + 1);
}
@ -6499,11 +6493,11 @@ void MainWindow::displayWidgets(qint64 n)
ui->pbBestSP->setVisible(m_mode=="FT4");
b=false;
if(m_mode=="FT4" or m_mode=="FT8" || "Q65" == m_mode) {
b=SpecOp::EU_VHF==m_config.special_op_id() or
( SpecOp::RTTY==m_config.special_op_id() and
b=SpecOp::EU_VHF==m_specOp or
( SpecOp::RTTY==m_specOp and
(m_config.RTTY_Exchange()=="DX" or m_config.RTTY_Exchange()=="#") );
}
if(m_mode=="MSK144") b=SpecOp::EU_VHF==m_config.special_op_id();
if(m_mode=="MSK144") b=SpecOp::EU_VHF==m_specOp;
ui->sbSerialNumber->setVisible(b);
m_lastCallsign.clear (); // ensures Tx5 is updated for new modes
b=m_mode.startsWith("FST4");
@ -6666,7 +6660,7 @@ void MainWindow::on_actionFT8_triggered()
m_modulator->setTRPeriod(m_TRperiod); // TODO - not thread safe
m_detector->setTRPeriod(m_TRperiod); // TODO - not thread safe
ui->rh_decodes_title_label->setText(tr ("Rx Frequency"));
if(SpecOp::FOX==m_config.special_op_id()) {
if(SpecOp::FOX==m_specOp) {
ui->lh_decodes_title_label->setText(tr ("Stations calling DXpedition %1").arg (m_config.my_callsign()));
ui->lh_decodes_headings_label->setText( "Call Grid dB Freq Dist Age Continent");
} else {
@ -6685,7 +6679,7 @@ void MainWindow::on_actionFT8_triggered()
ui->txb6->setEnabled(true);
ui->txFirstCheckBox->setEnabled(true);
ui->cbAutoSeq->setEnabled(true);
if(SpecOp::FOX==m_config.special_op_id()) {
if(SpecOp::FOX==m_specOp) {
ui->txFirstCheckBox->setChecked(true);
ui->txFirstCheckBox->setEnabled(false);
ui->cbHoldTxFreq->setChecked(true);
@ -6697,7 +6691,7 @@ void MainWindow::on_actionFT8_triggered()
ui->labDXped->setText(tr ("Fox"));
on_fox_log_action_triggered();
}
if(SpecOp::HOUND == m_config.special_op_id()) {
if(SpecOp::HOUND == m_specOp) {
ui->houndButton->setChecked(true);
ui->houndButton->setStyleSheet("background-color: #ff0000;");
ui->txFirstCheckBox->setChecked(false);
@ -6721,19 +6715,19 @@ void MainWindow::on_actionFT8_triggered()
switch_mode (Modes::FT8);
}
if(m_config.special_op_id() != SpecOp::HOUND) {
if(m_specOp != SpecOp::HOUND) {
ui->houndButton->setChecked(false);
ui->houndButton->setStyleSheet("");
}
if (SpecOp::NONE < m_config.special_op_id () && SpecOp::FOX > m_config.special_op_id ()) {
if(m_specOp!=SpecOp::NONE and m_specOp!=SpecOp::FOX and m_specOp!=SpecOp::HOUND) {
QString t0="";
if(SpecOp::NA_VHF==m_config.special_op_id()) t0="NA VHF";
if(SpecOp::EU_VHF==m_config.special_op_id()) t0="EU VHF";
if(SpecOp::FIELD_DAY==m_config.special_op_id()) t0="Field Day";
if(SpecOp::RTTY==m_config.special_op_id()) t0="RTTY";
if(SpecOp::WW_DIGI==m_config.special_op_id()) t0="WW_DIGI";
if(SpecOp::ARRL_DIGI==m_config.special_op_id()) t0="ARRL_DIGI";
if(SpecOp::NA_VHF==m_specOp) t0="NA VHF";
if(SpecOp::EU_VHF==m_specOp) t0="EU VHF";
if(SpecOp::FIELD_DAY==m_specOp) t0="Field Day";
if(SpecOp::RTTY==m_specOp) t0="FT RU";
if(SpecOp::WW_DIGI==m_specOp) t0="WW_DIGI";
if(SpecOp::ARRL_DIGI==m_specOp) t0="ARRL_DIGI";
if(t0=="") {
ui->labDXped->setVisible(false);
} else {
@ -6743,7 +6737,7 @@ void MainWindow::on_actionFT8_triggered()
on_contest_log_action_triggered();
}
if((SpecOp::FOX==m_config.special_op_id() or SpecOp::HOUND==m_config.special_op_id()) and !m_config.split_mode() and !m_bWarnedSplit) {
if((SpecOp::FOX==m_specOp or SpecOp::HOUND==m_specOp) and !m_config.split_mode() and !m_bWarnedSplit) {
QString errorMsg;
MessageBox::critical_message (this,
"Operation in FT8 DXpedition mode normally requires\n"
@ -6961,14 +6955,14 @@ void MainWindow::on_actionQ65_triggered()
ui->rh_decodes_headings_label->setText("UTC dB DT Freq " + tr ("Message"));
statusChanged();
if (SpecOp::NONE < m_config.special_op_id () && SpecOp::FOX > m_config.special_op_id ()) {
if(m_specOp!=SpecOp::NONE and m_specOp!=SpecOp::FOX and m_specOp!=SpecOp::HOUND) {
QString t0="";
if(SpecOp::NA_VHF==m_config.special_op_id()) t0="NA VHF";
if(SpecOp::EU_VHF==m_config.special_op_id()) t0="EU VHF";
if(SpecOp::FIELD_DAY==m_config.special_op_id()) t0="Field Day";
if(SpecOp::RTTY==m_config.special_op_id()) t0="RTTY";
if(SpecOp::WW_DIGI==m_config.special_op_id()) t0="WW_DIGI";
if(SpecOp::ARRL_DIGI==m_config.special_op_id()) t0="ARRL_DIGI";
if(SpecOp::NA_VHF==m_specOp) t0="NA VHF";
if(SpecOp::EU_VHF==m_specOp) t0="EU VHF";
if(SpecOp::FIELD_DAY==m_specOp) t0="Field Day";
if(SpecOp::RTTY==m_specOp) t0="FT RU";
if(SpecOp::WW_DIGI==m_specOp) t0="WW_DIGI";
if(SpecOp::ARRL_DIGI==m_specOp) t0="ARRL_DIGI";
if(t0=="") {
ui->labDXped->setVisible(false);
} else {
@ -6982,7 +6976,7 @@ void MainWindow::on_actionQ65_triggered()
void MainWindow::on_actionMSK144_triggered()
{
if(SpecOp::EU_VHF < m_config.special_op_id()) {
if(SpecOp::EU_VHF < m_specOp) {
// We are rejecting the requested mode change, so re-check the old mode
if("FT8"==m_mode) ui->actionFT8->setChecked(true);
if("JT4"==m_mode) ui->actionJT4->setChecked(true);
@ -6997,7 +6991,7 @@ void MainWindow::on_actionMSK144_triggered()
// Make sure that MSK144 is not checked.
ui->actionMSK144->setChecked(false);
MessageBox::warning_message (this, tr ("Improper mode"),
"MSK144 not available if Fox, Hound, Field Day, RTTY, or WW Digi contest is selected.");
"MSK144 not available if Fox, Hound, Field Day, FT Roundup, WW Digi. or ARRL Digi contest is selected.");
return;
}
m_mode="MSK144";
@ -7044,8 +7038,8 @@ void MainWindow::on_actionMSK144_triggered()
statusChanged();
QString t0="";
if(SpecOp::NA_VHF==m_config.special_op_id()) t0="NA VHF";
if(SpecOp::EU_VHF==m_config.special_op_id()) t0="EU VHF";
if(SpecOp::NA_VHF==m_specOp) t0="NA VHF";
if(SpecOp::EU_VHF==m_specOp) t0="EU VHF";
if(t0=="") {
ui->labDXped->setVisible(false);
} else {
@ -7811,7 +7805,7 @@ void MainWindow::transmit (double snr)
true, false, snr, m_TRperiod);
}
if((m_mode=="FT4" or m_mode=="FT8") and m_maxPoints>0 and SpecOp::ARRL_DIGI==m_config.special_op_id()) {
if((m_mode=="FT4" or m_mode=="FT8") and m_maxPoints>0 and SpecOp::ARRL_DIGI==m_specOp) {
ui->dxCallEntry->setText(m_deCall);
ui->dxGridEntry->setText(m_deGrid);
genStdMsgs("-10");
@ -7822,7 +7816,7 @@ void MainWindow::transmit (double snr)
toneSpacing=-3;
if(m_config.x2ToneSpacing()) toneSpacing=2*12000.0/1920.0;
if(m_config.x4ToneSpacing()) toneSpacing=4*12000.0/1920.0;
if(SpecOp::FOX==m_config.special_op_id() and !m_tune) toneSpacing=-1;
if(SpecOp::FOX==m_specOp and !m_tune) toneSpacing=-1;
Q_EMIT sendMessage (m_mode, NUM_FT8_SYMBOLS,
1920.0, ui->TxFreqSpinBox->value () - m_XIT,
toneSpacing, m_soundOutput, m_config.audio_output_channel (),
@ -8095,7 +8089,7 @@ void::MainWindow::VHF_features_enabled(bool b)
ui->actionMessage_averaging->setEnabled(b && (m_mode=="JT4" or m_mode=="JT65"));
ui->actionEnable_AP_JT65->setVisible (b && m_mode=="JT65");
if(!b && m_msgAvgWidget and (SpecOp::FOX != m_config.special_op_id()) and !m_config.autoLog()) {
if(!b && m_msgAvgWidget and (SpecOp::FOX != m_specOp) and !m_config.autoLog()) {
if(m_msgAvgWidget->isVisible() and m_mode!="JT4" and m_mode!="JT9" and m_mode!="JT65") {
m_msgAvgWidget->close();
}
@ -8934,7 +8928,7 @@ void MainWindow::statusUpdate () const
m_config.my_callsign (), m_config.my_grid (),
m_hisGrid, m_tx_watchdog,
submode != QChar::Null ? QString {submode} : QString {}, m_bFastMode,
static_cast<quint8> (m_config.special_op_id ()),
static_cast<quint8> (m_specOp),
ftol, tr_period, m_multi_settings->configuration_name (),
m_currentMessage);
}
@ -9091,7 +9085,7 @@ void MainWindow::on_sbNlist_valueChanged(int n)
void MainWindow::on_sbNslots_valueChanged(int n)
{
m_Nslots=n;
if(m_config.special_op_id()!=SpecOp::FOX) return;
if(m_specOp!=SpecOp::FOX) return;
QString t;
t = t.asprintf(" NSlots %d",m_Nslots);
writeFoxQSO(t);
@ -9100,7 +9094,7 @@ void MainWindow::on_sbNslots_valueChanged(int n)
void MainWindow::on_sbMax_dB_valueChanged(int n)
{
m_max_dB=n;
if(m_config.special_op_id()!=SpecOp::FOX) return;
if(m_specOp!=SpecOp::FOX) return;
QString t;
t = t.asprintf(" Max_dB %d",m_max_dB);
writeFoxQSO(t);
@ -9108,7 +9102,7 @@ void MainWindow::on_sbMax_dB_valueChanged(int n)
void MainWindow::on_pbFoxReset_clicked()
{
if(m_config.special_op_id()!=SpecOp::FOX) return;
if(m_specOp!=SpecOp::FOX) return;
auto button = MessageBox::query_message (this, tr ("Confirm Reset"),
tr ("Are you sure you want to clear the QSO queues?"));
if(button == MessageBox::Yes) {
@ -9777,17 +9771,17 @@ void MainWindow::chkFT4()
ui->cbAutoSeq->setEnabled(true);
ui->respondComboBox->setVisible(true);
ui->respondComboBox->setEnabled(true);
ui->labDXped->setVisible(m_config.special_op_id()!=SpecOp::NONE);
ui->labDXped->setVisible(m_specOp!=SpecOp::NONE);
ui->respondComboBox->setVisible(ui->cbAutoSeq->isChecked());
if (SpecOp::NONE < m_config.special_op_id () && SpecOp::FOX > m_config.special_op_id ()) {
if(m_specOp!=SpecOp::NONE and m_specOp!=SpecOp::FOX and m_specOp!=SpecOp::HOUND) {
QString t0="";
if(SpecOp::NA_VHF==m_config.special_op_id()) t0="NA VHF";
if(SpecOp::EU_VHF==m_config.special_op_id()) t0="EU VHF";
if(SpecOp::FIELD_DAY==m_config.special_op_id()) t0="Field Day";
if(SpecOp::RTTY==m_config.special_op_id()) t0="RTTY";
if(SpecOp::WW_DIGI==m_config.special_op_id()) t0="WW_DIGI";
if(SpecOp::ARRL_DIGI==m_config.special_op_id()) t0="ARRL_DIGI";
if(SpecOp::NA_VHF==m_specOp) t0="NA VHF";
if(SpecOp::EU_VHF==m_specOp) t0="EU VHF";
if(SpecOp::FIELD_DAY==m_specOp) t0="Field Day";
if(SpecOp::RTTY==m_specOp) t0="FT RU";
if(SpecOp::WW_DIGI==m_specOp) t0="WW_DIGI";
if(SpecOp::ARRL_DIGI==m_specOp) t0="ARRL_DIGI";
if(t0=="") {
ui->labDXped->setVisible(false);
} else {
@ -9796,7 +9790,7 @@ void MainWindow::chkFT4()
}
on_contest_log_action_triggered();
}
if (SpecOp::HOUND == m_config.special_op_id() or SpecOp::FOX == m_config.special_op_id()) {
if (SpecOp::HOUND == m_specOp or SpecOp::FOX == m_specOp) {
ui->labDXped->setVisible(false);
}
@ -9951,7 +9945,7 @@ void MainWindow::on_ft8Button_clicked()
{
ui->houndButton->setChecked(false);
ui->houndButton->setStyleSheet("");
if(m_config.special_op_id()==SpecOp::HOUND) m_config.setSpecial_None();
if(m_specOp==SpecOp::HOUND) m_config.setSpecial_None();
on_actionFT8_triggered();
}
@ -9959,7 +9953,7 @@ void MainWindow::on_ft4Button_clicked()
{
ui->houndButton->setChecked(false);
ui->houndButton->setStyleSheet("");
if(m_config.special_op_id()==SpecOp::HOUND) m_config.setSpecial_None();
if(m_specOp==SpecOp::HOUND) m_config.setSpecial_None();
on_actionFT4_triggered();
}
@ -9967,7 +9961,7 @@ void MainWindow::on_msk144Button_clicked()
{
ui->houndButton->setChecked(false);
ui->houndButton->setStyleSheet("");
if(m_config.special_op_id()==SpecOp::HOUND) m_config.setSpecial_None();
if(m_specOp==SpecOp::HOUND) m_config.setSpecial_None();
on_actionMSK144_triggered();
}
@ -9975,7 +9969,7 @@ void MainWindow::on_q65Button_clicked()
{
ui->houndButton->setChecked(false);
ui->houndButton->setStyleSheet("");
if(m_config.special_op_id()==SpecOp::HOUND) m_config.setSpecial_None();
if(m_specOp==SpecOp::HOUND) m_config.setSpecial_None();
on_actionQ65_triggered();
}
@ -9983,6 +9977,6 @@ void MainWindow::on_jt65Button_clicked()
{
ui->houndButton->setChecked(false);
ui->houndButton->setStyleSheet("");
if(m_config.special_op_id()==SpecOp::HOUND) m_config.setSpecial_None();
if(m_specOp==SpecOp::HOUND) m_config.setSpecial_None();
on_actionJT65_triggered();
}

View File

@ -105,6 +105,7 @@ public:
using Frequency = Radio::Frequency;
using FrequencyDelta = Radio::FrequencyDelta;
using Mode = Modes::Mode;
using SpecOp = Configuration::SpecialOperatingActivity;
explicit MainWindow(QDir const& temp_directory, bool multiple, MultiSettings *,
QSharedMemory *shdmem, unsigned downSampleFactor,
@ -562,6 +563,8 @@ private:
bool m_bOK_to_chk=false;
bool m_bSentReport=false;
SpecOp m_specOp;
enum
{
CALLING,