diff --git a/repeatersetup.cpp b/repeatersetup.cpp index 562c44d..ffa9c60 100644 --- a/repeatersetup.cpp +++ b/repeatersetup.cpp @@ -12,3 +12,49 @@ repeaterSetup::~repeaterSetup() { delete ui; } + +void repeaterSetup::receiveDuplexMode(duplexMode dm) +{ + switch(dm) + { + case dmSimplex: + ui->rptSimplexBtn->setChecked(true); + break; + case dmDupPlus: + ui->rptDupPlusBtn->setChecked(true); + break; + case dmDupMinus: + ui->rptDupMinusBtn->setChecked(true); + break; + default: + break; + } +} + +void repeaterSetup::on_rptSimplexBtn_clicked() +{ + // Simplex + emit setDuplexMode(dmDupAutoOff); + emit setDuplexMode(dmSimplex); +} + +void repeaterSetup::on_rptDupPlusBtn_clicked() +{ + // DUP+ + emit setDuplexMode(dmDupAutoOff); + emit setDuplexMode(dmDupPlus); +} + +void repeaterSetup::on_rptDupMinusBtn_clicked() +{ + // DUP- + emit setDuplexMode(dmDupAutoOff); + emit setDuplexMode(dmDupMinus); +} + +void repeaterSetup::on_rptAutoBtn_clicked() +{ + // Auto Rptr (enable this feature) + // TODO: Hide an AutoOff button somewhere for non-US users + emit setDuplexMode(dmDupAutoOn); +} diff --git a/repeatersetup.h b/repeatersetup.h index 440cab0..7d27078 100644 --- a/repeatersetup.h +++ b/repeatersetup.h @@ -17,6 +17,22 @@ public: explicit repeaterSetup(QWidget *parent = 0); ~repeaterSetup(); +signals: + void getDuplexMode(); + void setDuplexMode(duplexMode dm); + +private slots: + void receiveDuplexMode(duplexMode dm); + + + void on_rptSimplexBtn_clicked(); + + void on_rptDupPlusBtn_clicked(); + + void on_rptDupMinusBtn_clicked(); + + void on_rptAutoBtn_clicked(); + private: Ui::repeaterSetup *ui; }; diff --git a/wfmain.cpp b/wfmain.cpp index b11f26c..89dcd6b 100644 --- a/wfmain.cpp +++ b/wfmain.cpp @@ -392,9 +392,13 @@ wfmain::wfmain(const QString serialPortCL, const QString hostCL, QWidget *parent connect(rig, SIGNAL(haveMode(unsigned char, unsigned char)), this, SLOT(receiveMode(unsigned char, unsigned char))); connect(rig, SIGNAL(haveDataMode(bool)), this, SLOT(receiveDataModeStatus(bool))); - connect(this, SIGNAL(getDuplexMode()), rig, SLOT(getDuplexMode())); - connect(this, SIGNAL(setDuplexMode(duplexMode)), rig, SLOT(setDuplexMode(duplexMode))); - connect(rig, SIGNAL(haveDuplexMode(duplexMode)), this, SLOT(receiveDuplexMode(duplexMode))); + connect(rpt, SIGNAL(getDuplexMode()), rig, SLOT(getDuplexMode())); + connect(rpt, SIGNAL(setDuplexMode(duplexMode)), rig, SLOT(setDuplexMode(duplexMode))); + connect(rig, SIGNAL(haveDuplexMode(duplexMode)), rpt, SLOT(receiveDuplexMode(duplexMode))); + + //connect(this, SIGNAL(getDuplexMode()), rig, SLOT(getDuplexMode())); + //connect(this, SIGNAL(setDuplexMode(duplexMode)), rig, SLOT(setDuplexMode(duplexMode))); + //connect(rig, SIGNAL(haveDuplexMode(duplexMode)), this, SLOT(receiveDuplexMode(duplexMode))); connect(this, SIGNAL(getModInput(bool)), rig, SLOT(getModInput(bool))); connect(rig, SIGNAL(haveModInput(rigInput,bool)), this, SLOT(receiveModInput(rigInput, bool)));