From 8105adb174fe167c1bfccb9fcf92636d17115a29 Mon Sep 17 00:00:00 2001 From: Andre Bernet Date: Sun, 16 Mar 2014 20:19:57 +0100 Subject: [PATCH] Replicate same fix to REs --- companion/src/modeledit/flightmodes.cpp | 35 +++++++++---------------- 1 file changed, 12 insertions(+), 23 deletions(-) diff --git a/companion/src/modeledit/flightmodes.cpp b/companion/src/modeledit/flightmodes.cpp index e32afe666..dffb391aa 100644 --- a/companion/src/modeledit/flightmodes.cpp +++ b/companion/src/modeledit/flightmodes.cpp @@ -206,19 +206,17 @@ void FlightMode::update() gvValues[i]->setValue(phasegvar->gvars[i]); } - for (int i=0; isetValue(phase.rotaryEncoders[i]); - reValues[i]->setDisabled(false); - } - else { - int idx = phase.rotaryEncoders[i] - 1025; - if (idx >= i) idx++; - // TODO no!!!! - PhaseData *phasere = &model.phaseData[idx]; - reValues[i]->setValue(phasere->rotaryEncoders[i]); + for (int i=0; isetDisabled(false); + int idx = phase.rotaryEncoders[i]; + PhaseData *phasere = &phase; + while (idx >= 1024) { + idx -= 1025; + phasere = &model.phaseData[idx]; + idx = phasere->rotaryEncoders[i]; reValues[i]->setDisabled(true); } + reValues[i]->setValue(phasere->rotaryEncoders[i]); } } @@ -337,21 +335,12 @@ void FlightMode::phaseREUse_currentIndexChanged(int index) QComboBox *comboBox = qobject_cast(sender()); int re = comboBox->property("index").toInt(); if (index == 0) { - // TODO no!!! - int value = phase.rotaryEncoders[re]; - if (value > 1024) { - value = 0; - } - reValues[re]->setValue(value); - reValues[re]->setEnabled(true); - phase.rotaryEncoders[re] = value; + phase.rotaryEncoders[re] = 0; } else { - phase.rotaryEncoders[re] = 1024 + index; - int value = model.phaseData[index + (index>phaseIdx ? 0 :-1)].rotaryEncoders[re]; - reValues[re]->setValue(value); - reValues[re]->setDisabled(true) ; + phase.rotaryEncoders[re] = 1024 + index; ; } + update(); lock = false; emit modified(); }