Added Keyer macros to settings.

half-duplex
Elliott Liggett 2023-01-21 11:18:26 -08:00
rodzic c26409b2a8
commit 7a4f708e68
3 zmienionych plików z 70 dodań i 2 usunięć

Wyświetl plik

@ -210,3 +210,39 @@ void cwSender::on_sequenceSpin_valueChanged(int newSeq)
{
sequenceNumber = newSeq;
}
QStringList cwSender::getMacroText()
{
// This is for preference saving:
QStringList mlist;
for(int i=1; i < 11; i++)
{
mlist << macroText[i];
}
return mlist;
}
void cwSender::setMacroText(QStringList macros)
{
if(macros.length() != 10)
{
qCritical(logCW()) << "Macro list must be exactly 10. Rejecting macro text load.";
return;
}
for(int i=0; i < 10; i++)
{
macroText[i+1] = macros.at(i);
}
setMacroButtonText(macroText[1], ui->macro1btn);
setMacroButtonText(macroText[2], ui->macro2btn);
setMacroButtonText(macroText[3], ui->macro3btn);
setMacroButtonText(macroText[4], ui->macro4btn);
setMacroButtonText(macroText[5], ui->macro5btn);
setMacroButtonText(macroText[6], ui->macro6btn);
setMacroButtonText(macroText[7], ui->macro7btn);
setMacroButtonText(macroText[8], ui->macro8btn);
setMacroButtonText(macroText[9], ui->macro9btn);
setMacroButtonText(macroText[10], ui->macro10btn);
}

Wyświetl plik

@ -21,6 +21,8 @@ class cwSender : public QMainWindow
public:
explicit cwSender(QWidget *parent = 0);
~cwSender();
QStringList getMacroText();
void setMacroText(QStringList macros);
signals:
void sendCW(QString cwMessage);
void stopCW();
@ -68,7 +70,6 @@ private slots:
private:
Ui::cwSender *ui;
QStringList macroTextList;
QString macroText[11];
int sequenceNumber = 1;
void processMacroButton(int buttonNumber, QPushButton *btn);

Wyświetl plik

@ -2151,8 +2151,24 @@ void wfmain::loadSettings()
ui->clusterTimeoutLineEdit->setEnabled(false);
}
settings->endArray();
settings->endGroup();
// CW Memory Load:
settings->beginGroup("Keyer");
int numMemories = settings->beginReadArray("macros");
if(numMemories==10)
{
QStringList macroList;
for(int m=0; m < 10; m++)
{
settings->setArrayIndex(m);
macroList << settings->value("macroText", "").toString();
}
cw->setMacroText(macroList);
}
settings->endArray();
settings->endGroup();
#if defined (USB_CONTROLLER)
/* Load USB buttons*/
settings->beginGroup("USB");
@ -2706,7 +2722,22 @@ void wfmain::saveSettings()
}
settings->endArray();
settings->endGroup();
settings->beginGroup("Keyer");
QStringList macroList = cw->getMacroText();
if(macroList.length() == 10)
{
settings->beginWriteArray("macros");
for(int m=0; m < 10; m++)
{
settings->setArrayIndex(m);
settings->setValue("macroText", macroList.at(m));
}
settings->endArray();
} else {
qDebug(logSystem()) << "Error, CW macro list is wrong length: " << macroList.length();
}
settings->endGroup();
#if defined(USB_CONTROLLER)