mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2025-02-03 09:44:24 -05:00
Change the SpecOp enumeration so that FOX=6, HOUND=7, ARRL_DIGI=8.
This commit is contained in:
parent
4c4a5fe023
commit
ca39746dc5
@ -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
|
||||
|
@ -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();
|
||||
}
|
||||
|
@ -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,
|
||||
|
Loading…
Reference in New Issue
Block a user