From 0fc609ce5f8e48d22d470c889def796154f2c36c Mon Sep 17 00:00:00 2001 From: Joe Taylor Date: Sat, 22 May 2021 09:55:43 -0400 Subject: [PATCH] Double-click on call in Messages window now sets Tx mode and report, as in main window. --- map65/mainwindow.cpp | 7 +++++-- map65/mainwindow.h | 2 +- map65/messages.cpp | 10 ++++++---- map65/messages.h | 2 +- 4 files changed, 13 insertions(+), 8 deletions(-) diff --git a/map65/mainwindow.cpp b/map65/mainwindow.cpp index 08a4aa058..a1478f91d 100644 --- a/map65/mainwindow.cpp +++ b/map65/mainwindow.cpp @@ -1793,7 +1793,7 @@ void MainWindow::doubleClickOnCall(QString hiscall, bool ctrl) } } //doubleClickOnMessages -void MainWindow::doubleClickOnMessages(QString hiscall, QString t2) +void MainWindow::doubleClickOnMessages(QString hiscall, QString t2, bool ctrl) { if(hiscall.length()<3) return; if(m_worked[hiscall]) { @@ -1804,6 +1804,9 @@ void MainWindow::doubleClickOnMessages(QString hiscall, QString t2) m_txFirst = ((n%2) == 1); ui->txFirstCheckBox->setChecked(m_txFirst); + if((t2.indexOf(":")<0) and m_modeTx!="JT65") on_pbTxMode_clicked(); + if((t2.indexOf(":")>0) and m_modeTx!="Q65") on_pbTxMode_clicked(); + auto const& words = t2.mid(25).split(' ', Qt::SkipEmptyParts); QString grid=words[2]; if(isGrid4(grid) and hiscall==words[1]) { @@ -1813,7 +1816,7 @@ void MainWindow::doubleClickOnMessages(QString hiscall, QString t2) } QString rpt=""; - if(m_modeTx=="Q65") rpt=t2.mid(20,3); + if(ctrl or m_modeTx=="Q65") rpt=t2.mid(20,3); genStdMsgs(rpt); if(t2.indexOf(m_myCall)>0) { diff --git a/map65/mainwindow.h b/map65/mainwindow.h index 63040e589..7dbe1194c 100644 --- a/map65/mainwindow.h +++ b/map65/mainwindow.h @@ -51,7 +51,7 @@ public slots: void editor_error(); void guiUpdate(); void doubleClickOnCall(QString hiscall, bool ctrl); - void doubleClickOnMessages(QString hiscall, QString t2); + void doubleClickOnMessages(QString hiscall, QString t2, bool ctrl); private: virtual void keyPressEvent (QKeyEvent *) override; diff --git a/map65/messages.cpp b/map65/messages.cpp index 0363791f6..3d0b18954 100644 --- a/map65/messages.cpp +++ b/map65/messages.cpp @@ -71,7 +71,7 @@ void Messages::setText(QString t, QString t2) } } -void Messages::selectCallsign2(bool /*ctrl*/) +void Messages::selectCallsign2(bool ctrl) { QString t = ui->messagesTextBrowser->toPlainText(); //Full contents int i=ui->messagesTextBrowser->textCursor().position(); @@ -80,10 +80,12 @@ void Messages::selectCallsign2(bool /*ctrl*/) QString hiscall=t.mid(i0+1,i1-i0-1); if(hiscall!="") { if(hiscall.length() < 13) { - QString t1 = t.mid(0,i+14); //contents up to text cursor + QString t1 = t.mid(0,i); //contents up to text cursor int i1=t1.lastIndexOf("\n") + 1; - QString t2 = t1.mid(i1,i+14-i1); //selected line - emit click2OnCallsign(hiscall,t2); + QString t2 = t.mid(i1,-1); //selected line to end + int i2=t2.indexOf("\n"); + t2=t2.left(i2); //selected line + emit click2OnCallsign(hiscall,t2,ctrl); } } } diff --git a/map65/messages.h b/map65/messages.h index f80de11b0..995c3d12f 100644 --- a/map65/messages.h +++ b/map65/messages.h @@ -19,7 +19,7 @@ public: ~Messages(); signals: - void click2OnCallsign(QString hiscall, QString t2); + void click2OnCallsign(QString hiscall, QString t2, bool ctrl); private slots: void selectCallsign2(bool ctrl);