Added some tooltips and mode-awareness to the CW window.

half-duplex
Elliott Liggett 2023-01-22 20:59:01 -08:00
rodzic a205e003c9
commit 27dd547e2a
3 zmienionych plików z 36 dodań i 5 usunięć

Wyświetl plik

@ -13,6 +13,8 @@ cwSender::cwSender(QWidget *parent) :
ui->textToSendEdit->setFont(f); ui->textToSendEdit->setFont(f);
ui->transcriptText->setFont(f); ui->transcriptText->setFont(f);
ui->textToSendEdit->setFocus(); ui->textToSendEdit->setFocus();
ui->statusbar->setToolTipDuration(3000);
this->setToolTipDuration(3000);
} }
cwSender::~cwSender() cwSender::~cwSender()
@ -49,6 +51,16 @@ void cwSender::handleBreakInMode(unsigned char b)
} }
} }
void cwSender::handleCurrentModeUpdate(mode_kind mode)
{
this->currentMode = mode;
if( (currentMode==modeCW) || (currentMode==modeCW_R) )
{
} else {
ui->statusbar->showMessage("Note: Mode needs to be set to CW or CW-R to send CW.", 3000);
}
}
void cwSender::on_sendBtn_clicked() void cwSender::on_sendBtn_clicked()
{ {
if( (ui->textToSendEdit->text().length() > 0) && if( (ui->textToSendEdit->text().length() > 0) &&
@ -58,6 +70,12 @@ void cwSender::on_sendBtn_clicked()
ui->transcriptText->appendPlainText(ui->textToSendEdit->text()); ui->transcriptText->appendPlainText(ui->textToSendEdit->text());
ui->textToSendEdit->clear(); ui->textToSendEdit->clear();
ui->textToSendEdit->setFocus(); ui->textToSendEdit->setFocus();
ui->statusbar->showMessage("Sending CW", 3000);
}
if( (currentMode==modeCW) || (currentMode==modeCW_R) )
{
} else {
ui->statusbar->showMessage("Note: Mode needs to be set to CW or CW-R to send CW.", 3000);
} }
} }
@ -65,6 +83,7 @@ void cwSender::on_stopBtn_clicked()
{ {
emit stopCW(); emit stopCW();
ui->textToSendEdit->setFocus(); ui->textToSendEdit->setFocus();
ui->statusbar->showMessage("Stopping CW transmission.", 3000);
} }
void cwSender::on_textToSendEdit_returnPressed() void cwSender::on_textToSendEdit_returnPressed()
@ -149,17 +168,26 @@ void cwSender::runMacroButton(int buttonNumber)
{ {
if(macroText[buttonNumber].isEmpty()) if(macroText[buttonNumber].isEmpty())
return; return;
QString outText = macroText[buttonNumber].arg(sequenceNumber, 3, 10, QChar('0')); QString outText;
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")) if(macroText[buttonNumber].contains("\%1"))
{ {
outText = macroText[buttonNumber].arg(sequenceNumber, 3, 10, QChar('0'));
sequenceNumber++; sequenceNumber++;
ui->sequenceSpin->blockSignals(true); ui->sequenceSpin->blockSignals(true);
ui->sequenceSpin->setValue(sequenceNumber); ui->sequenceSpin->setValue(sequenceNumber);
ui->sequenceSpin->blockSignals(false); ui->sequenceSpin->blockSignals(false);
} else {
outText = macroText[buttonNumber];
}
emit sendCW(outText);
ui->transcriptText->appendPlainText(outText);
ui->textToSendEdit->setFocus();
if( (currentMode==modeCW) || (currentMode==modeCW_R) )
{
ui->statusbar->showMessage(QString("Sending CW macro %1").arg(buttonNumber));
} else {
ui->statusbar->showMessage("Note: Mode needs to be set to CW or CW-R to send CW.");
} }
} }

Wyświetl plik

@ -33,6 +33,7 @@ signals:
public slots: public slots:
void handleKeySpeed(unsigned char wpm); void handleKeySpeed(unsigned char wpm);
void handleBreakInMode(unsigned char b); void handleBreakInMode(unsigned char b);
void handleCurrentModeUpdate(mode_kind mode);
private slots: private slots:
void on_sendBtn_clicked(); void on_sendBtn_clicked();
@ -72,6 +73,7 @@ private:
Ui::cwSender *ui; Ui::cwSender *ui;
QString macroText[11]; QString macroText[11];
int sequenceNumber = 1; int sequenceNumber = 1;
mode_kind currentMode;
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);

Wyświetl plik

@ -5118,6 +5118,7 @@ void wfmain::receiveMode(unsigned char mode, unsigned char filter)
} }
currentModeIndex = mode; currentModeIndex = mode;
currentModeInfo.mk = (mode_kind)mode; currentModeInfo.mk = (mode_kind)mode;
cw->handleCurrentModeUpdate((mode_kind)mode);
currentModeInfo.filter = filter; currentModeInfo.filter = filter;
switch (currentModeInfo.mk) { switch (currentModeInfo.mk) {