mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2025-05-23 18:02:29 -04:00
Double-click on callsign now populates DXgrid (if available) as well as DXcall.
This commit is contained in:
parent
0b557adeb1
commit
07d5fd23bb
@ -1763,9 +1763,21 @@ void MainWindow::doubleClickOnCall(QString hiscall, bool ctrl)
|
|||||||
ui->txFirstCheckBox->setChecked(m_txFirst);
|
ui->txFirstCheckBox->setChecked(m_txFirst);
|
||||||
if((t2.indexOf("#")>0) and m_modeTx!="JT65") on_pbTxMode_clicked();
|
if((t2.indexOf("#")>0) and m_modeTx!="JT65") on_pbTxMode_clicked();
|
||||||
if((t2.indexOf(":")>0) and m_modeTx!="Q65") on_pbTxMode_clicked();
|
if((t2.indexOf(":")>0) and m_modeTx!="Q65") on_pbTxMode_clicked();
|
||||||
|
|
||||||
|
QString t3=t.mid(i1);
|
||||||
|
int i3=t3.indexOf("\n");
|
||||||
|
if(i3<0) i3=t3.length();
|
||||||
|
t3=t3.left(i3);
|
||||||
|
auto const& words = t3.mid(30).split(' ', Qt::SkipEmptyParts);
|
||||||
|
QString grid=words[2];
|
||||||
|
if(isGrid4(grid) and hiscall==words[1]) {
|
||||||
|
ui->dxGridEntry->setText(grid);
|
||||||
|
} else {
|
||||||
|
lookup();
|
||||||
|
}
|
||||||
|
|
||||||
QString rpt="";
|
QString rpt="";
|
||||||
if(ctrl or m_modeTx=="Q65") rpt=t2.mid(25,3);
|
if(ctrl or m_modeTx=="Q65") rpt=t2.mid(25,3);
|
||||||
lookup();
|
|
||||||
genStdMsgs(rpt);
|
genStdMsgs(rpt);
|
||||||
if(t2.indexOf(m_myCall)>0) {
|
if(t2.indexOf(m_myCall)>0) {
|
||||||
m_ntx=2;
|
m_ntx=2;
|
||||||
@ -1778,6 +1790,7 @@ void MainWindow::doubleClickOnCall(QString hiscall, bool ctrl)
|
|||||||
//doubleClickOnMessages
|
//doubleClickOnMessages
|
||||||
void MainWindow::doubleClickOnMessages(QString hiscall, QString t2)
|
void MainWindow::doubleClickOnMessages(QString hiscall, QString t2)
|
||||||
{
|
{
|
||||||
|
if(hiscall.length()<3) return;
|
||||||
if(m_worked[hiscall]) {
|
if(m_worked[hiscall]) {
|
||||||
msgBox("Possible dupe: " + hiscall + " already in log.");
|
msgBox("Possible dupe: " + hiscall + " already in log.");
|
||||||
}
|
}
|
||||||
@ -1785,7 +1798,15 @@ void MainWindow::doubleClickOnMessages(QString hiscall, QString t2)
|
|||||||
int n = 60*t2.mid(13,2).toInt() + t2.mid(15,2).toInt();
|
int n = 60*t2.mid(13,2).toInt() + t2.mid(15,2).toInt();
|
||||||
m_txFirst = ((n%2) == 1);
|
m_txFirst = ((n%2) == 1);
|
||||||
ui->txFirstCheckBox->setChecked(m_txFirst);
|
ui->txFirstCheckBox->setChecked(m_txFirst);
|
||||||
|
|
||||||
|
auto const& words = t2.mid(25).split(' ', Qt::SkipEmptyParts);
|
||||||
|
QString grid=words[2];
|
||||||
|
if(isGrid4(grid) and hiscall==words[1]) {
|
||||||
|
ui->dxGridEntry->setText(grid);
|
||||||
|
} else {
|
||||||
lookup();
|
lookup();
|
||||||
|
}
|
||||||
|
|
||||||
genStdMsgs("");
|
genStdMsgs("");
|
||||||
if(t2.indexOf(m_myCall)>0) {
|
if(t2.indexOf(m_myCall)>0) {
|
||||||
m_ntx=2;
|
m_ntx=2;
|
||||||
@ -2065,9 +2086,11 @@ void MainWindow::on_logQSOButton_clicked() //Log QSO button
|
|||||||
{
|
{
|
||||||
int nMHz=int(datcom_.fcenter);
|
int nMHz=int(datcom_.fcenter);
|
||||||
QDateTime t = QDateTime::currentDateTimeUtc();
|
QDateTime t = QDateTime::currentDateTimeUtc();
|
||||||
|
QString qsoMode=lab5->text();
|
||||||
|
if(m_modeTx.startsWith("Q65")) qsoMode=lab6->text();
|
||||||
QString logEntry=t.date().toString("yyyy-MMM-dd,") +
|
QString logEntry=t.date().toString("yyyy-MMM-dd,") +
|
||||||
t.time().toString("hh:mm,") + m_hisCall + "," + m_hisGrid + "," +
|
t.time().toString("hh:mm,") + m_hisCall + "," + m_hisGrid + "," +
|
||||||
QString::number(nMHz) + "," + lab6->text() + "\r\n";
|
QString::number(nMHz) + "," + qsoMode + "\r\n";
|
||||||
|
|
||||||
int ret = QMessageBox::warning(this, "Log Entry",
|
int ret = QMessageBox::warning(this, "Log Entry",
|
||||||
"Please confirm log entry:\n\n" + logEntry + "\n",
|
"Please confirm log entry:\n\n" + logEntry + "\n",
|
||||||
@ -2262,3 +2285,13 @@ void MainWindow::on_pbTxMode_clicked()
|
|||||||
// m_wideGraph->setModeTx(m_modeTx);
|
// m_wideGraph->setModeTx(m_modeTx);
|
||||||
// statusChanged();
|
// statusChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool MainWindow::isGrid4(QString g)
|
||||||
|
{
|
||||||
|
if(g.length()!=4) return false;
|
||||||
|
if(g.mid(0,1)<'A' or g.mid(0,1)>'R') return false;
|
||||||
|
if(g.mid(1,1)<'A' or g.mid(1,1)>'R') return false;
|
||||||
|
if(g.mid(2,1)<'0' or g.mid(2,1)>'9') return false;
|
||||||
|
if(g.mid(3,1)<'0' or g.mid(3,1)>'9') return false;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
@ -288,6 +288,7 @@ private:
|
|||||||
void ba2msg(QByteArray ba, char* message);
|
void ba2msg(QByteArray ba, char* message);
|
||||||
void msgtype(QString t, QLineEdit* tx);
|
void msgtype(QString t, QLineEdit* tx);
|
||||||
void stub();
|
void stub();
|
||||||
|
bool isGrid4(QString g);
|
||||||
bool subProcessFailed (QProcess *, int exit_code, QProcess::ExitStatus);
|
bool subProcessFailed (QProcess *, int exit_code, QProcess::ExitStatus);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -80,9 +80,9 @@ void Messages::selectCallsign2(bool /*ctrl*/)
|
|||||||
QString hiscall=t.mid(i0+1,i1-i0-1);
|
QString hiscall=t.mid(i0+1,i1-i0-1);
|
||||||
if(hiscall!="") {
|
if(hiscall!="") {
|
||||||
if(hiscall.length() < 13) {
|
if(hiscall.length() < 13) {
|
||||||
QString t1 = t.mid(0,i); //contents up to text cursor
|
QString t1 = t.mid(0,i+14); //contents up to text cursor
|
||||||
int i1=t1.lastIndexOf("\n") + 1;
|
int i1=t1.lastIndexOf("\n") + 1;
|
||||||
QString t2 = t1.mid(i1,i-i1); //selected line
|
QString t2 = t1.mid(i1,i+14-i1); //selected line
|
||||||
emit click2OnCallsign(hiscall,t2);
|
emit click2OnCallsign(hiscall,t2);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user