mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2025-08-02 22:22:33 -04:00
Now have two decoded text boxes: left for decodes at QSO frequency, right
for everything else. NB: I have screwed up the vertical expansion of mainwindow: growth occurs at the bottom, rather than in the text boxes. Help! git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@3129 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This commit is contained in:
parent
c5bd47a9cd
commit
4a9ea17e5f
@ -79,6 +79,8 @@ MainWindow::MainWindow(QWidget *parent) :
|
|||||||
connect(txMsgButtonGroup,SIGNAL(buttonClicked(int)),SLOT(set_ntx(int)));
|
connect(txMsgButtonGroup,SIGNAL(buttonClicked(int)),SLOT(set_ntx(int)));
|
||||||
connect(ui->decodedTextBrowser,SIGNAL(selectCallsign(bool,bool)),this,
|
connect(ui->decodedTextBrowser,SIGNAL(selectCallsign(bool,bool)),this,
|
||||||
SLOT(doubleClickOnCall(bool,bool)));
|
SLOT(doubleClickOnCall(bool,bool)));
|
||||||
|
connect(ui->decodedTextBrowser2,SIGNAL(selectCallsign(bool,bool)),this,
|
||||||
|
SLOT(doubleClickOnCall2(bool,bool)));
|
||||||
|
|
||||||
setWindowTitle(Program_Title_Version);
|
setWindowTitle(Program_Title_Version);
|
||||||
connect(&soundInThread, SIGNAL(readyForFFT(int)),
|
connect(&soundInThread, SIGNAL(readyForFFT(int)),
|
||||||
@ -164,7 +166,9 @@ MainWindow::MainWindow(QWidget *parent) :
|
|||||||
m_clearCallGrid=false;
|
m_clearCallGrid=false;
|
||||||
m_bMiles=false;
|
m_bMiles=false;
|
||||||
m_fMin=1000;
|
m_fMin=1000;
|
||||||
|
m_decodedText2=false;
|
||||||
ui->fMinSpinBox->setValue(m_fMin);
|
ui->fMinSpinBox->setValue(m_fMin);
|
||||||
|
|
||||||
decodeBusy(false);
|
decodeBusy(false);
|
||||||
|
|
||||||
ui->xThermo->setFillBrush(Qt::green);
|
ui->xThermo->setFillBrush(Qt::green);
|
||||||
@ -264,8 +268,11 @@ MainWindow::MainWindow(QWidget *parent) :
|
|||||||
if(ui->actionBlue->isChecked()) on_actionBlue_triggered();
|
if(ui->actionBlue->isChecked()) on_actionBlue_triggered();
|
||||||
|
|
||||||
ui->decodedTextLabel->setFont(ui->decodedTextBrowser->font());
|
ui->decodedTextLabel->setFont(ui->decodedTextBrowser->font());
|
||||||
// 2241 10 -8 0.2 1184. 0 VK7XX N1ISA FN41
|
ui->decodedTextLabel->setFont(ui->decodedTextBrowser2->font());
|
||||||
ui->decodedTextLabel->setText("UTC Sync dB DT Freq Drift Message");
|
// 2022 0 0.1 1446 W5NZ EA6BB JM19
|
||||||
|
t="UTC dB DT Freq Message";
|
||||||
|
t=t + " " + t;
|
||||||
|
ui->decodedTextLabel->setText(t);
|
||||||
|
|
||||||
#ifdef WIN32
|
#ifdef WIN32
|
||||||
if(m_pskReporter) {
|
if(m_pskReporter) {
|
||||||
@ -1177,15 +1184,25 @@ void MainWindow::readFromStdout() //readFromStdout
|
|||||||
QString bg="white";
|
QString bg="white";
|
||||||
if(t.indexOf(" CQ ")>0) bg="#66ff66"; //Light green
|
if(t.indexOf(" CQ ")>0) bg="#66ff66"; //Light green
|
||||||
if(m_myCall!="" and t.indexOf(" "+m_myCall+" ")>0) bg="#ff6666"; //Light red
|
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 = "<table border=0 cellspacing=0 width=100%><tr><td bgcolor=\"" +
|
QString s = "<table border=0 cellspacing=0 width=100%><tr><td bgcolor=\"" +
|
||||||
bg + "\"><pre>" + t.replace("\n","") + "</pre></td></tr></table>";
|
bg + "\"><pre>" + t1.replace("\n","") + "</pre></td></tr></table>";
|
||||||
cursor = ui->decodedTextBrowser->textCursor();
|
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);
|
cursor.movePosition(QTextCursor::End);
|
||||||
bf = cursor.blockFormat();
|
bf = cursor.blockFormat();
|
||||||
bf.setBackground(QBrush(QColor(bg)));
|
bf.setBackground(QBrush(QColor(bg)));
|
||||||
cursor.insertHtml(s);
|
cursor.insertHtml(s);
|
||||||
ui->decodedTextBrowser->setTextCursor(cursor);
|
ui->decodedTextBrowser2->setTextCursor(cursor);
|
||||||
|
|
||||||
QString msg=t.mid(34,22);
|
QString msg=t.mid(34,22);
|
||||||
bool b=stdmsg_(msg.toAscii().constData(),22);
|
bool b=stdmsg_(msg.toAscii().constData(),22);
|
||||||
@ -1253,6 +1270,7 @@ void MainWindow::readFromStdout() //readFromStdout
|
|||||||
void MainWindow::on_EraseButton_clicked() //Erase
|
void MainWindow::on_EraseButton_clicked() //Erase
|
||||||
{
|
{
|
||||||
ui->decodedTextBrowser->clear();
|
ui->decodedTextBrowser->clear();
|
||||||
|
ui->decodedTextBrowser2->clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
void MainWindow::decodeBusy(bool b) //decodeBusy()
|
void MainWindow::decodeBusy(bool b) //decodeBusy()
|
||||||
@ -1620,33 +1638,45 @@ void MainWindow::on_txb6_clicked() //txb6
|
|||||||
m_restart=true;
|
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)
|
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);
|
cursor.select(QTextCursor::LineUnderCursor);
|
||||||
int i2=cursor.position();
|
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
|
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
|
int i1=t1.lastIndexOf("\n") + 1; //points to first char of line
|
||||||
QString t2 = t1.mid(i1,i2-i1); //selected line
|
QString t2 = t1.mid(i1,i2-i1); //selected line
|
||||||
int i4=t.mid(i1).length();
|
int i4=t.mid(i1).length();
|
||||||
if(i4>60) i4=60;
|
if(i4>55) i4=55;
|
||||||
QString t3=t.mid(i1,i4);
|
QString t3=t.mid(i1,i4);
|
||||||
int i5=t3.indexOf(" CQ DX ");
|
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)
|
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);
|
QStringList t4=t3.split(" ",QString::SkipEmptyParts);
|
||||||
if(t4.length() <7) return; //Skip the rest if no decoded text
|
if(t4.length() <5) return; //Skip the rest if no decoded text
|
||||||
QString firstcall=t4.at(6);
|
QString firstcall=t4.at(4);
|
||||||
//Don't change freqs if Shift key down or a station is calling me.
|
//Don't change freqs if Shift key down or a station is calling me.
|
||||||
if(!shift and (firstcall!=m_myCall or ctrl)) {
|
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);
|
ui->TxFreqSpinBox->setValue(nfreq);
|
||||||
g_pWideGraph->setQSOfreq(nfreq);
|
g_pWideGraph->setQSOfreq(nfreq);
|
||||||
}
|
}
|
||||||
QString hiscall=t4.at(7);
|
QString hiscall=t4.at(5);
|
||||||
QString hisgrid="";
|
QString hisgrid="";
|
||||||
if(t4.length()>=9)
|
if(t4.length()>=7)
|
||||||
hisgrid=t4.at(8);
|
hisgrid=t4.at(6);
|
||||||
ui->dxCallEntry->setText(hiscall);
|
ui->dxCallEntry->setText(hiscall);
|
||||||
lookup();
|
lookup();
|
||||||
if(ui->dxGridEntry->text()=="" and gridOK(hisgrid))
|
if(ui->dxGridEntry->text()=="" and gridOK(hisgrid))
|
||||||
@ -1655,7 +1685,7 @@ void MainWindow::doubleClickOnCall(bool shift, bool ctrl)
|
|||||||
int nmod=n%(m_TRperiod/30);
|
int nmod=n%(m_TRperiod/30);
|
||||||
m_txFirst=(nmod!=0);
|
m_txFirst=(nmod!=0);
|
||||||
ui->txFirstCheckBox->setChecked(m_txFirst);
|
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(2,2);
|
||||||
if(rpt.indexOf(" -")==0) rpt=rpt.mid(1,2);
|
if(rpt.indexOf(" -")==0) rpt=rpt.mid(1,2);
|
||||||
if(rpt.indexOf(" ")==0) rpt="+" + rpt.mid(1,2);
|
if(rpt.indexOf(" ")==0) rpt="+" + rpt.mid(1,2);
|
||||||
|
@ -33,6 +33,7 @@ public slots:
|
|||||||
void freezeDecode(int n);
|
void freezeDecode(int n);
|
||||||
void guiUpdate();
|
void guiUpdate();
|
||||||
void doubleClickOnCall(bool shift, bool ctrl);
|
void doubleClickOnCall(bool shift, bool ctrl);
|
||||||
|
void doubleClickOnCall2(bool shift, bool ctrl);
|
||||||
void readFromStdout();
|
void readFromStdout();
|
||||||
void readFromStderr();
|
void readFromStderr();
|
||||||
void jt9_error();
|
void jt9_error();
|
||||||
@ -220,6 +221,7 @@ private:
|
|||||||
bool m_insertBlank;
|
bool m_insertBlank;
|
||||||
bool m_clearCallGrid;
|
bool m_clearCallGrid;
|
||||||
bool m_bMiles;
|
bool m_bMiles;
|
||||||
|
bool m_decodedText2;
|
||||||
|
|
||||||
char m_decoded[80];
|
char m_decoded[80];
|
||||||
|
|
||||||
|
3274
mainwindow.ui
3274
mainwindow.ui
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user