Added CW sequence number

half-duplex
Elliott Liggett 2023-01-21 10:31:04 -08:00
rodzic 2f098be1a9
commit ff50718563
3 zmienionych plików z 51 dodań i 9 usunięć

Wyświetl plik

@ -145,18 +145,31 @@ void cwSender::runMacroButton(int buttonNumber)
{ {
if(macroText[buttonNumber].isEmpty()) if(macroText[buttonNumber].isEmpty())
return; return;
emit sendCW(macroText[buttonNumber]); QString outText = macroText[buttonNumber].arg(sequenceNumber);
ui->transcriptText->appendPlainText(macroText[buttonNumber]); emit sendCW(outText);
ui->transcriptText->appendPlainText(outText);
ui->textToSendEdit->setFocus(); 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) void cwSender::editMacroButton(int buttonNumber, QPushButton* btn)
{ {
bool ok; 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", QString newMacroText = QInputDialog::getText(this, "Macro Edit",
prompt, prompt,
QLineEdit::Normal, macroText[buttonNumber], &ok); QLineEdit::Normal, macroText[buttonNumber], &ok);
if(!ok) if(!ok)
return; return;
@ -192,3 +205,8 @@ void cwSender::setMacroButtonText(QString btnText, QPushButton *btn)
} }
btn->setText(shortBtnName); btn->setText(shortBtnName);
} }
void cwSender::on_sequenceSpin_valueChanged(int newSeq)
{
sequenceNumber = newSeq;
}

Wyświetl plik

@ -64,13 +64,16 @@ private slots:
void on_macro10btn_clicked(); void on_macro10btn_clicked();
void on_sequenceSpin_valueChanged(int arg1);
private: private:
Ui::cwSender *ui; Ui::cwSender *ui;
QStringList macroTextList;
QString macroText[11];
int sequenceNumber = 1;
void processMacroButton(int buttonNumber, QPushButton *btn); void processMacroButton(int buttonNumber, QPushButton *btn);
void runMacroButton(int buttonNumber); void runMacroButton(int buttonNumber);
void editMacroButton(int buttonNumber, QPushButton *btn); void editMacroButton(int buttonNumber, QPushButton *btn);
QStringList macroTextList;
QString macroText[11];
void setMacroButtonText(QString btnText, QPushButton *btn); void setMacroButtonText(QString btnText, QPushButton *btn);
}; };

Wyświetl plik

@ -6,8 +6,8 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>855</width> <width>681</width>
<height>491</height> <height>451</height>
</rect> </rect>
</property> </property>
<property name="windowTitle"> <property name="windowTitle">
@ -121,6 +121,27 @@
</property> </property>
</widget> </widget>
</item> </item>
<item row="1" column="5">
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QLabel" name="label_3">
<property name="text">
<string>Seq</string>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="sequenceSpin">
<property name="minimum">
<number>1</number>
</property>
<property name="maximum">
<number>99999</number>
</property>
</widget>
</item>
</layout>
</item>
</layout> </layout>
</widget> </widget>
</item> </item>