From 6ac591f5c76c246a187e2be1da16281742cd32f1 Mon Sep 17 00:00:00 2001 From: Joe Taylor Date: Tue, 19 Dec 2017 15:18:56 +0000 Subject: [PATCH] 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 --- lib/decoder.f90 | 15 +++++++++++---- mainwindow.cpp | 22 ++++++++++++---------- 2 files changed, 23 insertions(+), 14 deletions(-) diff --git a/lib/decoder.f90 b/lib/decoder.f90 index ab025f4f5..13cdf45a5 100644 --- a/lib/decoder.f90 +++ b/lib/decoder.f90 @@ -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 diff --git a/mainwindow.cpp b/mainwindow.cpp index f5fe6db56..816089cf6 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -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; itxFirstCheckBox->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 map; QStringList lines,lines2; QString msg,houndCall,t1; - QString ABC{"ABCDEFGHIJKLMNOPQRSTUVWXYZ"}; + QString ABC{"ABCDEFGHIJKLMNOPQRSTUVWXYZ _"}; QList 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