diff --git a/mainwindow.cpp b/mainwindow.cpp index b4e75bdab..3cc145d11 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -79,6 +79,8 @@ MainWindow::MainWindow(QWidget *parent) : connect(txMsgButtonGroup,SIGNAL(buttonClicked(int)),SLOT(set_ntx(int))); connect(ui->decodedTextBrowser,SIGNAL(selectCallsign(bool,bool)),this, SLOT(doubleClickOnCall(bool,bool))); + connect(ui->decodedTextBrowser2,SIGNAL(selectCallsign(bool,bool)),this, + SLOT(doubleClickOnCall2(bool,bool))); setWindowTitle(Program_Title_Version); connect(&soundInThread, SIGNAL(readyForFFT(int)), @@ -164,7 +166,9 @@ MainWindow::MainWindow(QWidget *parent) : m_clearCallGrid=false; m_bMiles=false; m_fMin=1000; + m_decodedText2=false; ui->fMinSpinBox->setValue(m_fMin); + decodeBusy(false); ui->xThermo->setFillBrush(Qt::green); @@ -264,8 +268,11 @@ MainWindow::MainWindow(QWidget *parent) : if(ui->actionBlue->isChecked()) on_actionBlue_triggered(); ui->decodedTextLabel->setFont(ui->decodedTextBrowser->font()); - // 2241 10 -8 0.2 1184. 0 VK7XX N1ISA FN41 - ui->decodedTextLabel->setText("UTC Sync dB DT Freq Drift Message"); + ui->decodedTextLabel->setFont(ui->decodedTextBrowser2->font()); + // 2022 0 0.1 1446 W5NZ EA6BB JM19 + t="UTC dB DT Freq Message"; + t=t + " " + t; + ui->decodedTextLabel->setText(t); #ifdef WIN32 if(m_pskReporter) { @@ -1177,15 +1184,25 @@ void MainWindow::readFromStdout() //readFromStdout QString bg="white"; if(t.indexOf(" CQ ")>0) bg="#66ff66"; //Light green if(m_myCall!="" and t.indexOf(" "+m_myCall+" ")>0) bg="#ff6666"; //Light red - + bool bQSO=abs(t.mid(22,4).toInt() - g_pWideGraph->QSOfreq()) < 10; + QString t1=t.mid(0,5) + t.mid(10,4) + t.mid(15,5) + t.mid(22,4) + + t.mid(32); QString s = "
" + t.replace("\n","") + "
"; - cursor = ui->decodedTextBrowser->textCursor(); + bg + "\">
" + t1.replace("\n","") + "
"; + if(bQSO) { + cursor = ui->decodedTextBrowser->textCursor(); + cursor.movePosition(QTextCursor::End); + bf = cursor.blockFormat(); + bf.setBackground(QBrush(QColor(bg))); + cursor.insertHtml(s); + ui->decodedTextBrowser->setTextCursor(cursor); + } + cursor = ui->decodedTextBrowser2->textCursor(); cursor.movePosition(QTextCursor::End); bf = cursor.blockFormat(); bf.setBackground(QBrush(QColor(bg))); cursor.insertHtml(s); - ui->decodedTextBrowser->setTextCursor(cursor); + ui->decodedTextBrowser2->setTextCursor(cursor); QString msg=t.mid(34,22); bool b=stdmsg_(msg.toAscii().constData(),22); @@ -1253,6 +1270,7 @@ void MainWindow::readFromStdout() //readFromStdout void MainWindow::on_EraseButton_clicked() //Erase { ui->decodedTextBrowser->clear(); + ui->decodedTextBrowser2->clear(); } void MainWindow::decodeBusy(bool b) //decodeBusy() @@ -1620,33 +1638,45 @@ void MainWindow::on_txb6_clicked() //txb6 m_restart=true; } +void MainWindow::doubleClickOnCall2(bool shift, bool ctrl) +{ + m_decodedText2=true; + doubleClickOnCall(shift,ctrl); + m_decodedText2=false; +} void MainWindow::doubleClickOnCall(bool shift, bool ctrl) { - QTextCursor cursor=ui->decodedTextBrowser->textCursor(); + QTextCursor cursor; + if(!m_decodedText2) cursor=ui->decodedTextBrowser->textCursor(); + if(m_decodedText2) cursor=ui->decodedTextBrowser2->textCursor(); cursor.select(QTextCursor::LineUnderCursor); int i2=cursor.position(); - QString t = ui->decodedTextBrowser->toPlainText(); //Full contents + + QString t; + if(!m_decodedText2) t= ui->decodedTextBrowser->toPlainText(); //Full contents + if(m_decodedText2) t= ui->decodedTextBrowser2->toPlainText(); + QString t1 = t.mid(0,i2); //contents up to \n on selected line int i1=t1.lastIndexOf("\n") + 1; //points to first char of line QString t2 = t1.mid(i1,i2-i1); //selected line int i4=t.mid(i1).length(); - if(i4>60) i4=60; + if(i4>55) i4=55; QString t3=t.mid(i1,i4); int i5=t3.indexOf(" CQ DX "); if(i5>0) t3=t3.mid(0,i5+3) + "_" + t3.mid(i5+4); //Make it "CQ_DX" (one word) QStringList t4=t3.split(" ",QString::SkipEmptyParts); - if(t4.length() <7) return; //Skip the rest if no decoded text - QString firstcall=t4.at(6); + if(t4.length() <5) return; //Skip the rest if no decoded text + QString firstcall=t4.at(4); //Don't change freqs if Shift key down or a station is calling me. if(!shift and (firstcall!=m_myCall or ctrl)) { - int nfreq=int(t4.at(4).toFloat()); + int nfreq=int(t4.at(3).toFloat()); ui->TxFreqSpinBox->setValue(nfreq); g_pWideGraph->setQSOfreq(nfreq); } - QString hiscall=t4.at(7); + QString hiscall=t4.at(5); QString hisgrid=""; - if(t4.length()>=9) - hisgrid=t4.at(8); + if(t4.length()>=7) + hisgrid=t4.at(6); ui->dxCallEntry->setText(hiscall); lookup(); if(ui->dxGridEntry->text()=="" and gridOK(hisgrid)) @@ -1655,7 +1685,7 @@ void MainWindow::doubleClickOnCall(bool shift, bool ctrl) int nmod=n%(m_TRperiod/30); m_txFirst=(nmod!=0); ui->txFirstCheckBox->setChecked(m_txFirst); - QString rpt=t4.at(2); + QString rpt=t4.at(1); if(rpt.indexOf(" ")==0) rpt="+" + rpt.mid(2,2); if(rpt.indexOf(" -")==0) rpt=rpt.mid(1,2); if(rpt.indexOf(" ")==0) rpt="+" + rpt.mid(1,2); diff --git a/mainwindow.h b/mainwindow.h index 1482d3a57..933e32871 100644 --- a/mainwindow.h +++ b/mainwindow.h @@ -33,6 +33,7 @@ public slots: void freezeDecode(int n); void guiUpdate(); void doubleClickOnCall(bool shift, bool ctrl); + void doubleClickOnCall2(bool shift, bool ctrl); void readFromStdout(); void readFromStderr(); void jt9_error(); @@ -220,6 +221,7 @@ private: bool m_insertBlank; bool m_clearCallGrid; bool m_bMiles; + bool m_decodedText2; char m_decoded[80]; diff --git a/mainwindow.ui b/mainwindow.ui index a0f0bf41e..f884a7e67 100644 --- a/mainwindow.ui +++ b/mainwindow.ui @@ -6,8 +6,8 @@ 0 0 - 680 - 475 + 750 + 535 @@ -18,13 +18,13 @@ - 680 + 690 475 - 680 + 750 1028 @@ -35,1657 +35,1703 @@ - - - - - - - - - - 0 - 20 - - - - - 16777215 - 20 - - - - - - - - - 252 - 252 - 252 - - - - - - - 170 - 170 - 170 - - - - - - - - - 252 - 252 - 252 - - - - - - - 170 - 170 - 170 - - - - - - - - - 170 - 170 - 170 - - - - - - - 170 - 170 - 170 - - - - - - - - true - - - UTC Sync dB DT Freq Dr - - - 5 - - - - - - - - 0 - 0 - - - - - 421 - 100 - - - - - 1000 - 1000 - - - - - Courier New - 10 - - - - QFrame::Panel - - - Qt::ScrollBarAlwaysOn - - - Qt::ScrollBarAsNeeded - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> + + + + 10 + 11 + 730 + 480 + + + + + + + + 0 + 20 + + + + + 16777215 + 20 + + + + + + + + + 252 + 252 + 252 + + + + + + + 170 + 170 + 170 + + + + + + + + + 252 + 252 + 252 + + + + + + + 170 + 170 + 170 + + + + + + + + + 170 + 170 + 170 + + + + + + + 170 + 170 + 170 + + + + + + + + true + + + UTC dB DT Freq Dr + + + 5 + + + + + + + + + + 0 + 0 + + + + + 360 + 100 + + + + + 360 + 1000 + + + + + Courier New + 10 + + + + QFrame::Panel + + + Qt::ScrollBarAlwaysOn + + + Qt::ScrollBarAlwaysOff + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Courier New'; font-size:10pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p></body></html> - - - false - - - false - - - - - - - - - - - - 50 - 0 - - - - Log &QSO - - - - - - - - 50 - 0 - - - - &Stop - - - - - - - - 0 - 0 - - - - - 50 - 0 - - - - - 16777215 - 16777215 - - - - &Monitor - - - - - - - - 50 - 0 - - - - &Decode - - - - - - - - 50 - 0 - - - - &Erase - - - - - - - - 0 - 0 - - - - - 50 - 0 - - - - Enable Tx - - - - - - - - 0 - 0 - - - - - 50 - 0 - - - - Halt Tx - - - - - - - - - - - - 0 - 30 - - - - - 16 - 50 - false - - - - Dial Frequency - - - Qt::AlignCenter - - - - - - - - 160 - 0 - - - - + + + false + + + false + + + + + + + + 0 + 0 + + + + + 360 + 100 + + + + + 360 + 1000 + + + + + Courier New + 10 + + + + Qt::ScrollBarAlwaysOn + + + Qt::ScrollBarAlwaysOff + + + + + + + + + + + + 50 + 0 + + + + Log &QSO + + + + + + + + 50 + 0 + + + + &Stop + + + + + + + + 0 + 0 + + + + + 50 + 0 + + + + + 16777215 + 16777215 + + + + &Monitor + + + + + + + + 50 + 0 + + + + &Decode + + + + + + + + 50 + 0 + + + + &Erase + + + + + + + + 0 + 0 + + + + + 50 + 0 + + + + Enable Tx + + + + + + + + 0 + 0 + + + + + 50 + 0 + + + + Halt Tx + + + + + + + + + + + + 0 + 30 + + + + + 16 + 50 + false + + + + Dial Frequency + + + Qt::AlignCenter + + + + + + + + 200 + 0 + + + + + 200 + 24 + + + + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 10 + 20 + + + + + + + + + 40 + 16777215 + + + + Tx 3 + + + + + + + + 40 + 16777215 + + + + Tx 2 + + + + + + + + 16 + 0 + + + + + 0 + 20 + + + + + 20 + 16777215 + + + + + + + buttonGroup + + + + + + + + 16 + 0 + + + + + 0 + 20 + + + + + 20 + 16777215 + + + + + + + true + + + buttonGroup + + + + + + + + 107 + 0 + + + + + 100 + 16777215 + + + + + + + + + 252 + 252 + 252 + + + + + + + 172 + 191 + 166 + + + + + + + + + 252 + 252 + 252 + + + + + + + 172 + 191 + 166 + + + + + + + + + 172 + 191 + 166 + + + + + + + 172 + 191 + 166 + + + + + + + + true + + + QFrame::StyledPanel + + + QFrame::Plain + + + 1 + + + + + 2 + 4 100 - 24 - + 52 + + + + + + + 0 + 0 + + + + + 30 + 22 + + + + + 100 + 18 + + + + Decode Range + Min Max + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + 5 + + + + + + + + + + 0 + 0 + + + + 1000 + + + 2000 + + + 50 + + + + + + + + 0 + 0 + + + + 1000 + + + 2000 + + + 50 + + + 2000 + + + + + + - - - - - Qt::Horizontal + + + + + + + 107 + 16777215 + + + + + + + + + 252 + 252 + 252 + + + + + + + 172 + 191 + 166 + + + + + + + + + 252 + 252 + 252 + + + + + + + 172 + 191 + 166 + + + + + + + + + 172 + 191 + 166 + + + + + + + 172 + 191 + 166 + + + + + + + + true + + + QFrame::StyledPanel + + + QFrame::Plain + + + + 0 - - QSizePolicy::Fixed + + 0 - - - 10 - 20 - - - - - - - - - 40 - 16777215 - - - - Tx 3 - - - - - - - - 40 - 16777215 - - - - Tx 2 - - - - - - - - 16 - 0 - - - - - 0 - 20 - - - - - 20 - 16777215 - - - - - - - buttonGroup - - - - - - - - 16 - 0 - - - - - 0 - 20 - - - - - 20 - 16777215 - - - - - - - true - - - buttonGroup - - - - - - - - 100 - 16777215 - - - - - - - - - 252 - 252 - 252 - - - - - - - 172 - 191 - 166 - - - - - - - - - 252 - 252 - 252 - - - - - - - 172 - 191 - 166 - - - - - - - - - 172 - 191 - 166 - - - - - - - 172 - 191 - 166 - - - - - - - - true - - - QFrame::StyledPanel - - - QFrame::Plain - - - 1 - - - - - 2 - 4 - 100 - 52 - - - + + + + 6 + - + + + + 100 + 16777215 + + + + NB + + + + + + + + 100 + 16777215 + + + + Qt::Horizontal + + + + + + + + + + + + + 16 + 0 + + + + + 0 + 20 + + + + + 20 + 16777215 + + + + + + + buttonGroup + + + + + + + + 40 + 16777215 + + + + Tx 1 + + + + + + + + 16 + 0 + + + + + 0 + 20 + + + + + 20 + 16777215 + + + + + + + buttonGroup + + + + + + + + 16777215 + 180 + + + + -50 + + + 50 + + + Qt::Vertical + + + + + + + + 200 + 0 + + + + + 200 + 24 + + + + + + + + + 16 + 0 + + + + + 0 + 20 + + + + + 20 + 16777215 + + + + + + + buttonGroup + + + + + + + + 16 + 0 + + + + + 0 + 20 + + + + + 20 + 16777215 + + + + + + + buttonGroup + + + + + + + + 0 + 0 + + + + + 16777215 + 16777215 + + + + dB + + + + + + + + 0 + 23 + + + + + 140 + 16777215 + + + + Tx even + + + + + + + + 0 + 0 + + + + + 100 + 0 + + + + + 100 + 16777215 + + + + Hz + + + Tx + + + + 500 + + + 20000 + + + 1500 + + + + + + + + 40 + 16777215 + + + + Tx 6 + + + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 10 + 20 + + + + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 10 + 20 + + + + + + + + + 200 + 0 + + + + + 200 + 24 + + + + + Droid Sans + 50 + false + + + + + + + + + + + + 0 + 0 + + + + + 43 + 180 + + + + 1 + + + 60.000000000000000 + + + 0.000000000000000 + + + 8 + + + 0.000000000000000 + + + + + + + + 40 + 16777215 + + + + Tx 5 + + + + + + + + 0 + 0 + + + + + 130 + 60 + + + + + 150 + 60 + + + + + 16 + + + + QFrame::StyledPanel + + + QFrame::Sunken + + + 2 + + + 0 + + + 01:23:45 + + + Qt::AlignCenter + + + + + + + + 200 + 0 + + + + + 200 + 24 + + + + + + + + + 200 + 0 + + + + + 200 + 24 + + + + + + + + + 40 + 16777215 + + + + Tx 4 + + + + + + + + 200 + 0 + + + + + 200 + 24 + + + + + + + + + 200 + 0 + + + + + 200 + 0 + + + + + 16777215 + 16777215 + + + + Generate Std Messages + + + + + + + 7 + + + + 2200 m + + + + + 630 m + + + + + 160 m + + + + + 80 m + + + + + 60 m + + + + + 40 m + + + + + 30 m + + + + + 20 m + + + + + 17 m + + + + + 15 m + + + + + 12 m + + + + + 10 m + + + + + 6 m + + + + + 4 m + + + + + 2 m + + + + + Other + + + + + + + + + 70 + 16777215 + + + + + + + + + 252 + 252 + 252 + + + + + + + 170 + 190 + 200 + + + + + + + + + 252 + 252 + 252 + + + + + + + 170 + 190 + 200 + + + + + + + + + 170 + 190 + 200 + + + + + + + 170 + 190 + 200 + + + + + + + + true + + + QFrame::NoFrame + + + QFrame::Raised + + + + 0 + + + 0 + + + + + 5 + + + + + + 0 + 23 + + + + DX Grid + + + Qt::AlignCenter + + + 2 + + + + + - + 0 0 - 30 - 22 + 0 + 27 - 100 - 18 + 70 + 16777215 - Decode Range - Min Max + - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + Qt::AlignCenter + + + + + + + + + + + + + + + + + 252 + 252 + 252 + + + + + + + 170 + 190 + 200 + + + + + + + + + 252 + 252 + 252 + + + + + + + 170 + 190 + 200 + + + + + + + + + 170 + 190 + 200 + + + + + + + 170 + 190 + 200 + + + + + + + + true + + + QFrame::NoFrame + + + QFrame::Raised + + + + 0 + + + 0 + + + + + 5 + + + + + + 0 + 23 + + + + DX Call + + + Qt::AlignCenter - 5 + 2 - - - - - - 0 - 0 - - - - 1000 - - - 2000 - - - 50 - - - - - - - - 0 - 0 - - - - 1000 - - - 2000 - - - 50 - - - 2000 - - - - + + + + 0 + 0 + + + + + 0 + 27 + + + + + 70 + 16777215 + + + + + + + Qt::AlignCenter + + - - - - - - - - 100 - 16777215 - - - - - - - - - 252 - 252 - 252 - - - - - - - 172 - 191 - 166 - - - - - - - - - 252 - 252 - 252 - - - - - - - 172 - 191 - 166 - - - - - - - - - 172 - 191 - 166 - - - - - - - 172 - 191 - 166 - - - - - - - - true - - - QFrame::NoFrame - - - QFrame::Raised - - - - 0 - - - 0 - - - - - 6 - - - - - - 100 - 16777215 - - - - NB - - - - - - - - 100 - 16777215 - - - - Qt::Horizontal - - - - - - - - - - - - - 16 - 0 - - - - - 0 - 20 - - - - - 20 - 16777215 - - - - - - - buttonGroup - - - - - - - - 40 - 16777215 - - - - Tx 1 - - - - - - - - 16 - 0 - - - - - 0 - 20 - - - - - 20 - 16777215 - - - - - - - buttonGroup - - - - - - - - 16777215 - 180 - - - - -50 - - - 50 - - - Qt::Vertical - - - - - - - - 160 - 0 - - - - - 100 - 24 - - - - - - - - - 16 - 0 - - - - - 0 - 20 - - - - - 20 - 16777215 - - - - - - - buttonGroup - - - - - - - - 16 - 0 - - - - - 0 - 20 - - - - - 20 - 16777215 - - - - - - - buttonGroup - - - - - - - - 0 - 0 - - - - - 16777215 - 16777215 - - - - dB - - - - - - - - 0 - 23 - - - - - 140 - 16777215 - - - - Tx even - - - - - - - - 0 - 0 - - - - - 100 - 0 - - - - - 100 - 16777215 - - - - Hz - - - Tx + - - - 500 - - - 20000 - - - 1500 - - - - - - - - 40 - 16777215 - - - - Tx 6 - - - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 10 - 20 - - - - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 10 - 20 - - - - - - - - - 160 - 0 - - - - - 100 - 24 - - - - - Droid Sans - 50 - false - - - - - - - - - - - - 0 - 0 - - - - - 43 - 180 - - - - 1 - - - 60.000000000000000 - - - 0.000000000000000 - - - 8 - - - 0.000000000000000 - - - - - - - - 40 - 16777215 - - - - Tx 5 - - - - - - - - 0 - 0 - - - - - 130 - 60 - - - - - 150 - 60 - - - - - 16 - - - - QFrame::StyledPanel - - - QFrame::Sunken - - - 2 - - - 0 - - - 01:23:45 - - - Qt::AlignCenter - - - - - - - - 160 - 0 - - - - - 100 - 24 - - - - - - - - - 160 - 0 - - - - - 100 - 24 - - - - - - - - - 40 - 16777215 - - - - Tx 4 - - - - - - - - 160 - 0 - - - - - 100 - 24 - - - - - - - - - 0 - 0 - - - - - 100 - 0 - - - - - 16777215 - 16777215 - - - - Generate Std Messages - - - - - - - 7 - - - - 2200 m - - - - 630 m - - - - - 160 m - - - - - 80 m - - - - - 60 m - - - - - 40 m - - - - - 30 m - - - - - 20 m - - - - - 17 m - - - - - 15 m - - - - - 12 m - - - - - 10 m - - - - - 6 m - - - - - 4 m - - - - - 2 m - - - - - Other - - - - - - - - - 70 - 16777215 - - - - - - - - - 252 - 252 - 252 - - - - - - - 170 - 190 - 200 - - - - - - - - - 252 - 252 - 252 - - - - - - - 170 - 190 - 200 - - - - - - - - - 170 - 190 - 200 - - - - - - - 170 - 190 - 200 - - - - - - - - true - - - QFrame::NoFrame - - - QFrame::Raised - - - - 0 - - - 0 - - - - - 5 - - - - - - 0 - 23 - - - - DX Grid - - - Qt::AlignCenter - - - 2 - - - - - - - - 0 - 0 - - - - - 0 - 27 - - - - - 70 - 16777215 - - - - - - - Qt::AlignCenter - - - - - - - - - - - - - - - - - 252 - 252 - 252 - - - - - - - 170 - 190 - 200 - - - - - - - - - 252 - 252 - 252 - - - - - - - 170 - 190 - 200 - - - - - - - - - 170 - 190 - 200 - - - - - - - 170 - 190 - 200 - - - - - - - - true - - - QFrame::NoFrame - - - QFrame::Raised - - - - 0 - - - 0 - - - - - 5 - - - - - - 0 - 23 - - - - DX Call - - - Qt::AlignCenter - - - 2 - - - - - - - - 0 - 0 - - - - - 0 - 27 - - - - - 70 - 16777215 - - - - - - - Qt::AlignCenter - - - - - - - - - - - - - 0 - 0 - - - - - 70 - 16777215 - - - - &Lookup - - - - - - - - 0 - 0 - - - - - 70 - 16777215 - - - - Add - - - - - - - true - - - Az - - - Qt::AlignCenter - - - 4 - - - - - - - Dist - - - Qt::AlignCenter - - - - - - - Now - - - Qt::AlignCenter - - - - - - - Next - - - - - - - - + + + + + + + + 0 + 0 + + + + + 70 + 16777215 + + + + &Lookup + + + + + + + + 0 + 0 + + + + + 70 + 16777215 + + + + Add + + + + + + + true + + + Az + + + Qt::AlignCenter + + + 4 + + + + + + + Dist + + + Qt::AlignCenter + + + + + + + Now + + + Qt::AlignCenter + + + + + + + Next + + + + + + + 0 0 - 680 + 750 21