Allow Hound callers to use Fox's compound callsign.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@8346 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This commit is contained in:
Joe Taylor 2017-12-19 15:18:56 +00:00
parent c9b0ef9d7a
commit 6ac591f5c7
2 changed files with 23 additions and 14 deletions

View File

@ -440,12 +440,12 @@ contains
real, intent(in) :: freq
character(len=32), intent(in) :: decoded
character c1*12,c2*6,g2*4,w*4
integer i0,i1,i2,i3,n15,nwrap
integer i0,i1,i2,i3,i4,i5,n15,nwrap
integer, intent(in) :: nap
real, intent(in) :: qual
character*2 annot
character*32 decoded0
logical isgrid4,first
logical isgrid4,first,b0,b1,b2
data first/.true./
save
@ -489,8 +489,15 @@ contains
c1=decoded0(1:i1-1)//' '
c2=decoded0(i1+1:i2-1)
g2=decoded0(i2+1:i3-1)
if(c1.eq.params%mycall .and. i3-i2.eq.5 .and. isgrid4(g2) .and. &
nint(freq).ge.1000) then
b0=c1.eq.params%mycall
if(len(trim(c1)).ne.len(trim(params%mycall))) then
i4=index(trim(c1),trim(params%mycall))
i5=index(trim(params%mycall),trim(c1))
if(i4.ge.1 .or. i5.ge.1) b0=.true.
endif
b1=i3-i2.eq.5 .and. isgrid4(g2)
b2=i3-i2.eq.1
if(b0 .and. (b1.or.b2) .and. nint(freq).ge.1000) then
n=params%nutc
n15=(3600*(n/10000) + 60*mod((n/100),100) + mod(n,100))/15
if(n15.lt.n15z) nwrap=nwrap+5760 !New UTC day, handle the wrap

View File

@ -2831,7 +2831,6 @@ void MainWindow::readFromStdout() //readFromStdout
, tr ("Cannot open \"%1\" for append: %2")
.arg (f.fileName ()).arg (f.errorString ()));
}
if (m_config.insert_blank () && m_blankLine && !m_config.bFox()) {
QString band;
if((QDateTime::currentMSecsSinceEpoch() / 1000 - m_secBandChanged) > 4*m_TRperiod/4) {
@ -2888,7 +2887,6 @@ void MainWindow::readFromStdout() //readFromStdout
if(!m_config.bFox()) processMessage (decodedtext);
ui->cbFirst->setStyleSheet("");
} else {
//### if(m_config.bFox() and for_us and (audioFreq<1000)) bDisplayRight=true;
if(m_config.bFox() and for_us and (audioFreq<1000)) bDisplayRight=true;
if(!m_config.bFox() and (for_us or (abs(audioFreq - m_wideGraph->rxFreq()) <= 10))) bDisplayRight=true;
}
@ -4792,7 +4790,6 @@ void MainWindow::acceptQSO2(QDateTime const& QSO_date_off, QString const& call,
qint64 MainWindow::nWidgets(QString t)
{
// qDebug() << t << N_WIDGETS << t.length();
Q_ASSERT(t.length()==N_WIDGETS);
qint64 n=0;
for(int i=0; i<N_WIDGETS; i++) {
@ -4807,7 +4804,6 @@ void MainWindow::displayWidgets(qint64 n)
bool b;
for(int i=0; i<N_WIDGETS; i++) {
b=(n&j) != 0;
// qDebug() << i << j << (n&j) << b;
if(i==0) ui->txFirstCheckBox->setVisible(b);
if(i==1) ui->TxFreqSpinBox->setVisible(b);
if(i==2) ui->RxFreqSpinBox->setVisible(b);
@ -4844,12 +4840,17 @@ void MainWindow::displayWidgets(qint64 n)
if(i==24) ui->actionEnable_AP_FT8->setVisible (b);
if(i==25) ui->actionEnable_AP_JT65->setVisible (b);
if(i==26) ui->actionEnable_AP_DXcall->setVisible (b);
if(i==27) ui->cbFirst->setVisible(b);
if(i==28) ui->cbVHFcontest->setVisible(b);
if(i==29) ui->measure_check_box->setVisible(b);
if(i==30) ui->labDXped->setVisible(b);
if(i==31) ui->cbRxAll->setVisible(b);
j=j>>1;
}
ui->cbFirst->setVisible ("FT8" == m_mode);
ui->cbVHFcontest->setVisible(m_mode=="FT8" or m_mode=="MSK144");
ui->measure_check_box->setChecked (false);
ui->measure_check_box->setVisible ("FreqCal" == m_mode);
// ui->cbFirst->setVisible ("FT8" == m_mode);
// ui->cbVHFcontest->setVisible(m_mode=="FT8" or m_mode=="MSK144");
// ui->measure_check_box->setChecked (false);
// ui->measure_check_box->setVisible ("FreqCal" == m_mode);
m_lastCallsign.clear (); // ensures Tx5 is updated for new modes
genStdMsgs (m_rpt, true);
}
@ -4898,7 +4899,7 @@ void MainWindow::on_actionFT8_triggered()
ui->label_6->setText("Band Activity");
ui->decodedTextLabel->setText( " UTC dB DT Freq Message");
}
displayWidgets(nWidgets("11101000010011100001000010010000"));
displayWidgets( nWidgets("11101000010011100001000010010000"));
if(bVHF) displayWidgets(nWidgets("11101000010011100001000010011000"));
ui->txrb2->setEnabled(true);
ui->txrb4->setEnabled(true);
@ -7158,7 +7159,7 @@ QString MainWindow::sortHoundCalls(QString t, int isort, int max_dB)
QMap<QString,QString> map;
QStringList lines,lines2;
QString msg,houndCall,t1;
QString ABC{"ABCDEFGHIJKLMNOPQRSTUVWXYZ"};
QString ABC{"ABCDEFGHIJKLMNOPQRSTUVWXYZ _"};
QList<int> list;
int i,j,k,m,n,nlines;
bool bReverse=(isort >= 3);
@ -7169,6 +7170,7 @@ QString MainWindow::sortHoundCalls(QString t, int isort, int max_dB)
nlines=lines.length()-1;
for(i=0; i<nlines; i++) {
msg=lines.at(i); //key = callsign
if(msg.mid(13,1)==" ") msg=msg.mid(0,16) + "_" + msg.mid(17);
houndCall=msg.split(" ").at(0); //value = "call grid snr freq dist age"
map[houndCall]=msg;
}