From ff507185635bf3cd2fd0d9af9a29c291f3b1a07e Mon Sep 17 00:00:00 2001 From: Elliott Liggett Date: Sat, 21 Jan 2023 10:31:04 -0800 Subject: [PATCH] Added CW sequence number --- cwsender.cpp | 28 +++++++++++++++++++++++----- cwsender.h | 7 +++++-- cwsender.ui | 25 +++++++++++++++++++++++-- 3 files changed, 51 insertions(+), 9 deletions(-) diff --git a/cwsender.cpp b/cwsender.cpp index 5fdb6c2..c225d5b 100644 --- a/cwsender.cpp +++ b/cwsender.cpp @@ -145,18 +145,31 @@ void cwSender::runMacroButton(int buttonNumber) { if(macroText[buttonNumber].isEmpty()) return; - emit sendCW(macroText[buttonNumber]); - ui->transcriptText->appendPlainText(macroText[buttonNumber]); + QString outText = macroText[buttonNumber].arg(sequenceNumber); + emit sendCW(outText); + ui->transcriptText->appendPlainText(outText); ui->textToSendEdit->setFocus(); + // We only sequenceNumber++ if the macro actually had the sequence "%1" code. + if(macroText[buttonNumber].contains("\%1")) + { + sequenceNumber++; + ui->sequenceSpin->blockSignals(true); + ui->sequenceSpin->setValue(sequenceNumber); + ui->sequenceSpin->blockSignals(false); + } } void cwSender::editMacroButton(int buttonNumber, QPushButton* btn) { bool ok; - QString prompt = QString("Please enter the text for macro %1, up to 30 characters.").arg(buttonNumber); + QString promptFirst = QString("Please enter the text for macro %1,\n" + "up to 30 characters.\n").arg(buttonNumber); + QString promptSecond = QString("You may use \"\%1\" to insert a sequence number."); + QString prompt = promptFirst+promptSecond; + QString newMacroText = QInputDialog::getText(this, "Macro Edit", - prompt, - QLineEdit::Normal, macroText[buttonNumber], &ok); + prompt, + QLineEdit::Normal, macroText[buttonNumber], &ok); if(!ok) return; @@ -192,3 +205,8 @@ void cwSender::setMacroButtonText(QString btnText, QPushButton *btn) } btn->setText(shortBtnName); } + +void cwSender::on_sequenceSpin_valueChanged(int newSeq) +{ + sequenceNumber = newSeq; +} diff --git a/cwsender.h b/cwsender.h index 43f4b3e..03f94bb 100644 --- a/cwsender.h +++ b/cwsender.h @@ -64,13 +64,16 @@ private slots: void on_macro10btn_clicked(); + void on_sequenceSpin_valueChanged(int arg1); + private: Ui::cwSender *ui; + QStringList macroTextList; + QString macroText[11]; + int sequenceNumber = 1; void processMacroButton(int buttonNumber, QPushButton *btn); void runMacroButton(int buttonNumber); void editMacroButton(int buttonNumber, QPushButton *btn); - QStringList macroTextList; - QString macroText[11]; void setMacroButtonText(QString btnText, QPushButton *btn); }; diff --git a/cwsender.ui b/cwsender.ui index 37f883b..5c8e335 100644 --- a/cwsender.ui +++ b/cwsender.ui @@ -6,8 +6,8 @@ 0 0 - 855 - 491 + 681 + 451 @@ -121,6 +121,27 @@ + + + + + + Seq + + + + + + + 1 + + + 99999 + + + + +