From 8baa2b3887831c6bd6e98b19a2079345642698cd Mon Sep 17 00:00:00 2001 From: Damjan Adamic Date: Tue, 29 Apr 2014 19:59:24 +0200 Subject: [PATCH 1/2] Bug: setting gvar to "same as flight mode X" caused endless loop if X > current flight mode --- companion/src/modeledit/flightmodes.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/companion/src/modeledit/flightmodes.cpp b/companion/src/modeledit/flightmodes.cpp index fa437a6bd..08b8fd226 100644 --- a/companion/src/modeledit/flightmodes.cpp +++ b/companion/src/modeledit/flightmodes.cpp @@ -205,7 +205,7 @@ void FlightMode::update() gvValues[i]->setDisabled(false); int idx = phase.gvars[i]; PhaseData *phasegvar = &phase; - while (idx >= 1024) { + while (idx > 1024) { idx -= 1025; phasegvar = &model.phaseData[idx]; idx = phasegvar->gvars[i]; @@ -221,7 +221,7 @@ void FlightMode::update() reValues[i]->setDisabled(false); int idx = phase.rotaryEncoders[i]; PhaseData *phasere = &phase; - while (idx >= 1024) { + while (idx > 1024) { idx -= 1025; phasere = &model.phaseData[idx]; idx = phasere->rotaryEncoders[i]; @@ -321,7 +321,7 @@ void FlightMode::phaseGVUse_currentIndexChanged(int index) phase.gvars[gvar]=0; } else { - phase.gvars[gvar] = 1024+index; + phase.gvars[gvar] = 1024+index+(index>phaseIdx?1:0); } update(); emit modified(); From 926ad88b738a0461850a20de2d1c2d988ad4976e Mon Sep 17 00:00:00 2001 From: Damjan Adamic Date: Tue, 29 Apr 2014 20:06:25 +0200 Subject: [PATCH 2/2] Hided "popup enabled" checkbox for FM>0. They have taken precious space and severely limited width of GVAR names filed. --- companion/src/modeledit/flightmodes.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/companion/src/modeledit/flightmodes.cpp b/companion/src/modeledit/flightmodes.cpp index 08b8fd226..fee46f2ea 100644 --- a/companion/src/modeledit/flightmodes.cpp +++ b/companion/src/modeledit/flightmodes.cpp @@ -158,7 +158,7 @@ FlightMode::FlightMode(QWidget * parent, ModelData & model, int phaseIdx, Genera gvLayout->addWidget(gvValues[i], i, col++, 1, 1); // Popups - if (IS_TARANIS(GetEepromInterface()->getBoard())) { + if (IS_TARANIS(GetEepromInterface()->getBoard()) && (phaseIdx == 0)) { gvPopups[i] = new QCheckBox(ui->gvGB); gvPopups[i]->setProperty("index", i); gvPopups[i]->setText(tr("Popup enabled")); @@ -213,7 +213,8 @@ void FlightMode::update() } if (IS_TARANIS(GetEepromInterface()->getBoard())) { gvValues[i]->setValue(phasegvar->gvars[i]); - gvPopups[i]->setChecked(model.gvars_popups[i]); + if (phaseIdx == 0) + gvPopups[i]->setChecked(model.gvars_popups[i]); } }