Resuming work on the Fox GUI.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@8236 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This commit is contained in:
Joe Taylor 2017-11-14 21:01:20 +00:00
parent a7fb67edb0
commit 37c5d06504
3 changed files with 82 additions and 47 deletions

View File

@ -83,23 +83,29 @@ subroutine multimode_decoder(ss,id2,params,nfsample)
n15max=maxval(n15fox(1:nfox))
j=0
rewind 19
do i=1,nfox
n=n15fox(i)
! Do this only when c1 = MyCall
if(n15max-n15fox(i).le.4) then
j=j+1
c2fox(j)=c2fox(i)
g2fox(j)=g2fox(i)
nsnrfox(j)=nsnrfox(i)
nfreqfox(j)=nfreqfox(i)
n15fox(j)=n
m=n15max-n
write(19,1004) c2fox(j),g2fox(j),nsnrfox(j),nfreqfox(j),m
1004 format(a12,1x,a4,i5,i6,i5)
endif
enddo
nfox=j
flush(19)
if(nfox.eq.0) then
endfile 19
rewind 19
else
do i=1,nfox
n=n15fox(i)
if(n15max-n15fox(i).le.4) then
j=j+1
c2fox(j)=c2fox(i)
g2fox(j)=g2fox(i)
nsnrfox(j)=nsnrfox(i)
nfreqfox(j)=nfreqfox(i)
n15fox(j)=n
m=n15max-n
call azdist(params%mygrid,g2fox(j),utch,nAz,nEl,nDmiles,nDkm, &
nHotAz,nHotABetter)
write(19,1004) c2fox(j),g2fox(j),nsnrfox(j),nfreqfox(j),nDkm,m
1004 format(a12,1x,a4,i5,i6,i7,i5)
endif
enddo
nfox=j
flush(19)
endif
go to 800
endif
@ -430,7 +436,7 @@ contains
real, intent(in) :: dt
real, intent(in) :: freq
character(len=22), intent(in) :: decoded
character c2*6,g2*4,w*4
character c1*12,c2*6,g2*4,w*4
integer i1,i2,i3,n15
integer, intent(in) :: nap
real, intent(in) :: qual
@ -470,18 +476,23 @@ contains
i1=index(decoded0,' ')
i2=i1 + index(decoded0(i1+1:),' ')
i3=i2 + index(decoded0(i2+1:),' ')
c2=decoded0(i1+1:i2-1)
g2=decoded0(i2+1:i3-1)
if(i3-i2.eq.5 .and. isgrid4(g2)) then
n=params%nutc
n15=(3600*(n/10000) + 60*mod((n/100),100) + mod(n,100))/15
nfox=nfox+1
c2fox(nfox)=c2
g2fox(nfox)=g2
nsnrfox(nfox)=snr
nfreqfox(nfox)=nint(freq)
n15fox(nfox)=n15
n15z=n15
if(i1.ge.3 .and. i2.ge.7 .and. i3.ge.10) then
c1=decoded0(1:i1-1)//' '
c2=decoded0(i1+1:i2-1)
g2=decoded0(i2+1:i3-1)
!### CQ and .true. here are temporary ! ###
if((c1.eq.params%mycall .or. c1.eq.'CQ' .or. .true.) .and. i3-i2.eq.5 &
.and. isgrid4(g2)) then
n=params%nutc
n15=(3600*(n/10000) + 60*mod((n/100),100) + mod(n,100))/15
nfox=nfox+1
c2fox(nfox)=c2
g2fox(nfox)=g2
nsnrfox(nfox)=snr
nfreqfox(nfox)=nint(freq)
n15fox(nfox)=n15
n15z=n15
endif
endif
call flush(6)

View File

@ -1147,6 +1147,7 @@ void MainWindow::setDecodedTextFont (QFont const& font)
{
ui->decodedTextBrowser->setContentFont (font);
ui->decodedTextBrowser2->setContentFont (font);
ui->textBrowser3->setContentFont (font);
auto style_sheet = "QLabel {" + font_as_stylesheet (font) + '}';
ui->decodedTextLabel->setStyleSheet (ui->decodedTextLabel->styleSheet () + style_sheet);
ui->decodedTextLabel2->setStyleSheet (ui->decodedTextLabel2->styleSheet () + style_sheet);
@ -1597,15 +1598,11 @@ void MainWindow::on_actionSettings_triggered() //Setup Dialog
if(m_mode=="JT4") on_actionJT4_triggered();
if(m_mode=="JT9") on_actionJT9_triggered();
if(m_mode=="JT9+JT65") on_actionJT9_JT65_triggered();
if(m_mode=="JT65") {
on_actionJT65_triggered();
}
if(m_mode=="JT65") on_actionJT65_triggered();
if(m_mode=="QRA64") on_actionQRA64_triggered();
if(m_mode=="FreqCal") on_actionFreqCal_triggered();
if(m_mode=="ISCAT") on_actionISCAT_triggered();
if(m_mode=="MSK144") {
on_actionMSK144_triggered();
}
if(m_mode=="MSK144") on_actionMSK144_triggered();
if(m_mode=="WSPR") on_actionWSPR_triggered();
if(m_mode=="WSPR-LF") on_actionWSPR_LF_triggered();
if(m_mode=="Echo") on_actionEcho_triggered();
@ -1617,8 +1614,8 @@ void MainWindow::on_actionSettings_triggered() //Setup Dialog
ui->label_6->setText("Single-Period Decodes");
ui->label_7->setText("Average Decodes");
} else {
ui->label_6->setText("Band Activity");
ui->label_7->setText("Rx Frequency");
// ui->label_6->setText("Band Activity");
// ui->label_7->setText("Rx Frequency");
}
update_watchdog_label ();
if(!m_splitMode) ui->cbCQTx->setChecked(false);
@ -1728,6 +1725,9 @@ void MainWindow::keyPressEvent (QKeyEvent * e)
case Qt::Key_Enter:
doubleClickOnCall2(Qt::KeyboardModifier(Qt::ShiftModifier + Qt::ControlModifier + Qt::AltModifier));
return;
case Qt::Key_Backspace:
qDebug() << "a" << m_toBeCalled;
return;
}
QMainWindow::keyPressEvent (e);
@ -2744,9 +2744,11 @@ void MainWindow::decodeDone ()
if(f.open(QIODevice::ReadOnly | QIODevice::Text)) {
QTextStream s(&f);
QString t=s.readAll();
QString t1=sortFoxCalls(t,m_isort,m_min_dB,m_max_dB);
ui->decodedTextBrowser->setText(t1);
if(m_toBeCalled!="") ui->decodedTextBrowser->displayFoxToBeCalled(m_toBeCalled,"#ff99ff");
if(t.length()>30) {
QString t1=sortFoxCalls(t,m_isort,m_min_dB,m_max_dB);
ui->decodedTextBrowser->setText(t1);
if(m_toBeCalled!="") ui->decodedTextBrowser->displayFoxToBeCalled(m_toBeCalled,"#ff99ff");
}
}
}
}
@ -3795,7 +3797,6 @@ void MainWindow::doubleClickOnCall(Qt::KeyboardModifiers modifiers)
MessageBox::information_message (this,
"Double-click not presently implemented for ISCAT mode");
}
if(m_decodedText2) {
cursor=ui->decodedTextBrowser->textCursor();
} else {
@ -3809,7 +3810,7 @@ void MainWindow::doubleClickOnCall(Qt::KeyboardModifiers modifiers)
}
if(m_config.bFox() and m_decodedText2) {
if(m_nToBeCalled >= 4) return;
if(m_nToBeCalled >= 5 or m_nFoxCallers==0) return;
QString t=cursor.block().text();
QString c2=t.split(" ",QString::SkipEmptyParts).at(0);
QString g2=t.split(" ",QString::SkipEmptyParts).at(1);
@ -3824,7 +3825,14 @@ void MainWindow::doubleClickOnCall(Qt::KeyboardModifiers modifiers)
m_nToBeCalled+=1;
ui->decodedTextBrowser->clear();
ui->decodedTextBrowser->append(m_FoxCallers);
ui->decodedTextBrowser->displayFoxToBeCalled(m_toBeCalled,"#ff99ff");
// ui->decodedTextBrowser->displayFoxToBeCalled(m_toBeCalled,"#ff99ff");
QString t1=c2 + " ";
QString t2=rpt;
if(rpt.mid(0,1) != "-") t2="+" + rpt;
t1=t1.mid(0,7) + t2;
t2.sprintf("%1d. ",m_nToBeCalled);
t1=t2 + t1;
ui->textBrowser3->displayFoxToBeCalled(t1,"#ff99ff");
return;
}
DecodedText message {cursor.block().text(), ("MSK144" == m_mode || "FT8" == m_mode) &&
@ -4815,7 +4823,7 @@ void MainWindow::on_actionFT8_triggered()
ui->label_7->setText("Rx Frequency");
if(m_config.bFox()) {
ui->label_6->setText("Stations calling DXpedition " + m_config.my_callsign());
ui->decodedTextLabel->setText( "Call Grid dB Freq Age");
ui->decodedTextLabel->setText( "Call Grid dB Freq Dist Age");
} else {
ui->label_6->setText("Band Activity");
ui->decodedTextLabel->setText( " UTC dB DT Freq Message");
@ -7064,7 +7072,8 @@ QString MainWindow::sortFoxCalls(QString t, int isort, int min_dB, int max_dB)
// ui->labCallers->setText(uniqueCalls);
int i0=t.indexOf("\n") + 1;
m_nFoxCallers=qMin(t.length(),m_max_N*i0)/i0;
m_nFoxCallers=0;
if(i0 > 0) m_nFoxCallers=qMin(t.length(),m_max_N*i0)/i0;
m_FoxCallers=t.mid(0,m_max_N*i0);
return m_FoxCallers;
}

View File

@ -1043,7 +1043,7 @@ QLabel[oob=&quot;true&quot;] {
<enum>QTabWidget::Triangular</enum>
</property>
<property name="currentIndex">
<number>1</number>
<number>2</number>
</property>
<widget class="QWidget" name="tab">
<attribute name="title">
@ -1612,6 +1612,21 @@ list. The list can be maintained in Settings (F2).</string>
</item>
</layout>
</widget>
<widget class="QWidget" name="tab_3">
<attribute name="title">
<string>3</string>
</attribute>
<widget class="DisplayText" name="textBrowser3">
<property name="geometry">
<rect>
<x>10</x>
<y>3</y>
<width>130</width>
<height>110</height>
</rect>
</property>
</widget>
</widget>
</widget>
</item>
</layout>