From f119f1f50eed51dcad38947df56c172e7f8a1506 Mon Sep 17 00:00:00 2001 From: 3djc Date: Mon, 16 Dec 2019 15:28:31 +0100 Subject: [PATCH] Handle multi binding (bug with 1 multi moduel declared still present) --- radio/src/gui/colorlcd/model_setup.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/radio/src/gui/colorlcd/model_setup.cpp b/radio/src/gui/colorlcd/model_setup.cpp index 295155524..1f5c46a26 100644 --- a/radio/src/gui/colorlcd/model_setup.cpp +++ b/radio/src/gui/colorlcd/model_setup.cpp @@ -702,19 +702,22 @@ class ModuleWindow : public FormGroup { rangeButton->check(false); } if (moduleState[moduleIdx].mode == MODULE_MODE_BIND) { - bindButton->setText(STR_MODULE_BIND); moduleState[moduleIdx].mode = MODULE_MODE_NORMAL; return 0; } else { - bindButton->setText(STR_MODULE_BIND); + setMultiBindStatus(moduleIdx, MULTI_BIND_INITIATED); moduleState[moduleIdx].mode = MODULE_MODE_BIND; return 1; } }); bindButton->setCheckHandler([=]() { if (moduleState[moduleIdx].mode != MODULE_MODE_BIND) { - bindButton->setText(STR_MODULE_BIND); + bindButton->check(false); + } + if (getMultiBindStatus(moduleIdx) == MULTI_BIND_FINISHED) { + setMultiBindStatus(moduleIdx, MULTI_NORMAL_OPERATION); + moduleState[moduleIdx].mode = MODULE_MODE_NORMAL; bindButton->check(false); } }); @@ -722,7 +725,6 @@ class ModuleWindow : public FormGroup { rangeButton = new TextButton(this, grid.getFieldSlot(2+thirdColumn, 1+thirdColumn), STR_MODULE_RANGE); rangeButton->setPressHandler([=]() -> uint8_t { if (moduleState[moduleIdx].mode == MODULE_MODE_BIND) { - bindButton->setText(STR_MODULE_BIND); bindButton->check(false); moduleState[moduleIdx].mode = MODULE_MODE_NORMAL; }