mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2024-11-30 16:18:54 -05:00
Add "gridOK()" functiion, used for PSKreporter and double-clock on call.
Double-click on decoded line copies valid grid to dxGrid box. Add button workd with an empty call3.txt file. QSO start/stop times rationalized (somewhat). git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@3056 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This commit is contained in:
parent
c1dab73dfd
commit
3dd94595c3
@ -1064,16 +1064,7 @@ void MainWindow::readFromStdout() //readFromStdout
|
|||||||
QString g2=c2.mid(i2+1,4);
|
QString g2=c2.mid(i2+1,4);
|
||||||
c2=c2.mid(0,i2);
|
c2=c2.mid(0,i2);
|
||||||
QString remote="call," + c2 + ",";
|
QString remote="call," + c2 + ",";
|
||||||
if(g2.mid(0,1).compare("A")>=0 and
|
if(gridOK(g2)) remote += "gridsquare," + g2 + ",";
|
||||||
g2.mid(0,1).compare("R")<=0 and
|
|
||||||
g2.mid(1,1).compare("A")>=0 and
|
|
||||||
g2.mid(1,1).compare("R")<=0 and
|
|
||||||
g2.mid(2,1).compare("0")>=0 and
|
|
||||||
g2.mid(2,1).compare("9")<=0 and
|
|
||||||
g2.mid(3,1).compare("0")>=0 and
|
|
||||||
g2.mid(3,1).compare("9")<=0) {
|
|
||||||
remote += "gridsquare," + g2 + ",";
|
|
||||||
}
|
|
||||||
int nHz=t.mid(22,4).toInt();
|
int nHz=t.mid(22,4).toInt();
|
||||||
uint nfreq=1000000.0*g_pWideGraph->dialFreq() + nHz + 0.5;
|
uint nfreq=1000000.0*g_pWideGraph->dialFreq() + nHz + 0.5;
|
||||||
remote += "freq," + QString::number(nfreq);
|
remote += "freq," + QString::number(nfreq);
|
||||||
@ -1090,9 +1081,6 @@ void MainWindow::readFromStdout() //readFromStdout
|
|||||||
wchar_t tlocal[256];
|
wchar_t tlocal[256];
|
||||||
local.toWCharArray(tlocal);
|
local.toWCharArray(tlocal);
|
||||||
|
|
||||||
// qDebug() << "A:" << QString::fromWCharArray(tlocal,local.length());
|
|
||||||
// qDebug() << "B:" << QString::fromWCharArray(tremote,remote.length());
|
|
||||||
|
|
||||||
int flags=REPORTER_SOURCE_AUTOMATIC;
|
int flags=REPORTER_SOURCE_AUTOMATIC;
|
||||||
rc=ReporterSeenCallsign(tremote,tlocal,flags);
|
rc=ReporterSeenCallsign(tremote,tlocal,flags);
|
||||||
if(rc!=0) {
|
if(rc!=0) {
|
||||||
@ -1427,7 +1415,11 @@ void MainWindow::doubleClickOnCall(bool shift, bool ctrl)
|
|||||||
g_pWideGraph->setQSOfreq(nfreq);
|
g_pWideGraph->setQSOfreq(nfreq);
|
||||||
}
|
}
|
||||||
QString hiscall=t4.at(7);
|
QString hiscall=t4.at(7);
|
||||||
|
QString hisgrid="";
|
||||||
|
if(t4.length()>=9) hisgrid=t4.at(8);
|
||||||
ui->dxCallEntry->setText(hiscall);
|
ui->dxCallEntry->setText(hiscall);
|
||||||
|
lookup();
|
||||||
|
if(ui->dxGridEntry->text()=="" and gridOK(hisgrid)) ui->dxGridEntry->setText(hisgrid);
|
||||||
int n = 60*t2.mid(0,2).toInt() + t2.mid(2,2).toInt();
|
int n = 60*t2.mid(0,2).toInt() + t2.mid(2,2).toInt();
|
||||||
int nmod=n%(m_TRperiod/30);
|
int nmod=n%(m_TRperiod/30);
|
||||||
m_txFirst=(nmod!=0);
|
m_txFirst=(nmod!=0);
|
||||||
@ -1438,13 +1430,6 @@ void MainWindow::doubleClickOnCall(bool shift, bool ctrl)
|
|||||||
if(rpt.indexOf(" ")==0) rpt="+" + rpt.mid(1,2);
|
if(rpt.indexOf(" ")==0) rpt="+" + rpt.mid(1,2);
|
||||||
if(rpt.toInt()<-50) rpt="-50";
|
if(rpt.toInt()<-50) rpt="-50";
|
||||||
if(rpt.toInt()>49) rpt="+49";
|
if(rpt.toInt()>49) rpt="+49";
|
||||||
if(ctrl) {
|
|
||||||
int i4=t.mid(i2,20).indexOf(" ");
|
|
||||||
QString hisgrid=t.mid(i2,20).mid(i4+1,4);
|
|
||||||
ui->dxGridEntry->setText(hisgrid);
|
|
||||||
} else {
|
|
||||||
lookup();
|
|
||||||
}
|
|
||||||
genStdMsgs(rpt);
|
genStdMsgs(rpt);
|
||||||
if(t2.indexOf(m_myCall)>0) {
|
if(t2.indexOf(m_myCall)>0) {
|
||||||
m_ntx=2;
|
m_ntx=2;
|
||||||
@ -1551,6 +1536,14 @@ void MainWindow::on_addButton_clicked() //Add button
|
|||||||
msgBox("Cannot open " + call3File);
|
msgBox("Cannot open " + call3File);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
if(f1.size()==0) {
|
||||||
|
f1.close();
|
||||||
|
f1.open(QIODevice::WriteOnly | QIODevice::Text);
|
||||||
|
QTextStream out(&f1);
|
||||||
|
out << "ZZZZZZ" << endl;
|
||||||
|
f1.close();
|
||||||
|
f1.open(QIODevice::ReadOnly | QIODevice::Text);
|
||||||
|
}
|
||||||
QString tmpFile = m_appDir + "/CALL3.TMP";
|
QString tmpFile = m_appDir + "/CALL3.TMP";
|
||||||
QFile f2(tmpFile);
|
QFile f2(tmpFile);
|
||||||
if(!f2.open(QIODevice::WriteOnly | QIODevice::Text)) {
|
if(!f2.open(QIODevice::WriteOnly | QIODevice::Text)) {
|
||||||
@ -1731,17 +1724,20 @@ void MainWindow::on_logQSOButton_clicked() //Log QSO button
|
|||||||
QTextStream out(&f2);
|
QTextStream out(&f2);
|
||||||
if(f2.size()==0) out << "WSJT-X ADIF Export<eoh>" << endl;
|
if(f2.size()==0) out << "WSJT-X ADIF Export<eoh>" << endl;
|
||||||
|
|
||||||
|
if(m_qsoStop=="") m_qsoStop=m_qsoStart;
|
||||||
|
if(m_qsoStart=="") m_qsoStart=m_qsoStop;
|
||||||
|
|
||||||
QString t;
|
QString t;
|
||||||
t="<call:" + QString::number(m_hisCall.length()) + ">" + m_hisCall;
|
t="<call:" + QString::number(m_hisCall.length()) + ">" + m_hisCall;
|
||||||
t+= "<gridsquare:" + QString::number(m_hisGrid.length()) + ">" + m_hisGrid;
|
t+=" <gridsquare:" + QString::number(m_hisGrid.length()) + ">" + m_hisGrid;
|
||||||
t+= "<mode:" + QString::number(m_mode.length()) + ">" + m_mode;
|
t+=" <mode:" + QString::number(m_mode.length()) + ">" + m_mode;
|
||||||
t+= "<rst_sent:" + QString::number(m_rptSent.length()) + ">" + m_rptSent;
|
t+=" <rst_sent:" + QString::number(m_rptSent.length()) + ">" + m_rptSent;
|
||||||
t+= "<rst_rcvd:" + QString::number(m_rptRcvd.length()) + ">" + m_rptRcvd;
|
t+=" <rst_rcvd:" + QString::number(m_rptRcvd.length()) + ">" + m_rptRcvd;
|
||||||
t+= "<qso_date:0>";
|
t+=" <qso_date:8>" + date;
|
||||||
t+= "<time_on:4>" + m_qsoStart;
|
t+=" <time_on:4>" + m_qsoStart;
|
||||||
t+= "<time_off:4>" + m_qsoStop;
|
t+=" <time_off:4>" + m_qsoStop;
|
||||||
t+= "<station_callsign:" + QString::number(m_myCall.length()) + ">" + m_myCall;
|
t+=" <station_callsign:" + QString::number(m_myCall.length()) + ">" + m_myCall;
|
||||||
t+= "<my_gridsquare:" + QString::number(m_myGrid.length()) + ">" + m_myGrid;
|
t+=" <my_gridsquare:" + QString::number(m_myGrid.length()) + ">" + m_myGrid;
|
||||||
out << t << endl;
|
out << t << endl;
|
||||||
f2.close();
|
f2.close();
|
||||||
}
|
}
|
||||||
@ -1911,7 +1907,7 @@ void MainWindow::showMacros(const QPoint &pos)
|
|||||||
popupMenu.addAction(popup2);
|
popupMenu.addAction(popup2);
|
||||||
connect(popup1,SIGNAL(triggered()), this, SLOT(onPopup1()));
|
connect(popup1,SIGNAL(triggered()), this, SLOT(onPopup1()));
|
||||||
connect(popup2,SIGNAL(triggered()), this, SLOT(onPopup2()));
|
connect(popup2,SIGNAL(triggered()), this, SLOT(onPopup2()));
|
||||||
QAction* selectedItem = popupMenu.exec(globalPos);
|
popupMenu.exec(globalPos);
|
||||||
}
|
}
|
||||||
|
|
||||||
void MainWindow::onPopup1()
|
void MainWindow::onPopup1()
|
||||||
@ -1923,3 +1919,16 @@ void MainWindow::onPopup2()
|
|||||||
{
|
{
|
||||||
ui->tx5->setText("TNX 73 GL");
|
ui->tx5->setText("TNX 73 GL");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool MainWindow::gridOK(QString g)
|
||||||
|
{
|
||||||
|
bool b=g.mid(0,1).compare("A")>=0 and
|
||||||
|
g.mid(0,1).compare("R")<=0 and
|
||||||
|
g.mid(1,1).compare("A")>=0 and
|
||||||
|
g.mid(1,1).compare("R")<=0 and
|
||||||
|
g.mid(2,1).compare("0")>=0 and
|
||||||
|
g.mid(2,1).compare("9")<=0 and
|
||||||
|
g.mid(3,1).compare("0")>=0 and
|
||||||
|
g.mid(3,1).compare("9")<=0;
|
||||||
|
return b;
|
||||||
|
}
|
||||||
|
@ -230,6 +230,8 @@ private slots:
|
|||||||
void msgtype(QString t, QLineEdit* tx);
|
void msgtype(QString t, QLineEdit* tx);
|
||||||
void stub();
|
void stub();
|
||||||
void statusChanged();
|
void statusChanged();
|
||||||
|
|
||||||
|
bool gridOK(QString g);
|
||||||
};
|
};
|
||||||
|
|
||||||
extern void getfile(QString fname, int ntrperiod);
|
extern void getfile(QString fname, int ntrperiod);
|
||||||
|
Loading…
Reference in New Issue
Block a user