From 4202492b1a0b10855cb350fee3d11608b5cca861 Mon Sep 17 00:00:00 2001 From: bsongis Date: Mon, 17 Mar 2014 11:50:09 +0100 Subject: [PATCH] lock missing in telemetry bars screen --- companion/src/eeprominterface.cpp | 3 +++ companion/src/modeledit/telemetry.cpp | 20 +++++++++++++------- 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/companion/src/eeprominterface.cpp b/companion/src/eeprominterface.cpp index f1978755f..d2b2358eb 100644 --- a/companion/src/eeprominterface.cpp +++ b/companion/src/eeprominterface.cpp @@ -133,6 +133,7 @@ RawSourceRange RawSource::getRange(bool singleprec) result.max = 225; break; case TELEMETRY_SOURCE_RPM: + case TELEMETRY_SOURCE_RPM_MAX: result.step = singleprec ? 50 : 1; result.max = singleprec ? 12750 : 20000; break; @@ -140,6 +141,7 @@ RawSourceRange RawSource::getRange(bool singleprec) result.max = 100; break; case TELEMETRY_SOURCE_SPEED: + case TELEMETRY_SOURCE_SPEED_MAX: result.step = singleprec ? 4 : 1; result.max = singleprec ? 944 : 2000; if (model && !model->frsky.imperial) { @@ -148,6 +150,7 @@ RawSourceRange RawSource::getRange(bool singleprec) } break; case TELEMETRY_SOURCE_DIST: + case TELEMETRY_SOURCE_DIST_MAX: result.step = singleprec ? 8 : 1; result.max = singleprec ? 2040 : 10000; break; diff --git a/companion/src/modeledit/telemetry.cpp b/companion/src/modeledit/telemetry.cpp index a30a508b4..d32420db3 100644 --- a/companion/src/modeledit/telemetry.cpp +++ b/companion/src/modeledit/telemetry.cpp @@ -382,6 +382,8 @@ void TelemetryCustomScreen::update() void TelemetryCustomScreen::updateBar(int line) { + lock = true; + int index = screen.body.bars[line].source; barsCB[line]->setCurrentIndex(index); if (index) { @@ -407,6 +409,8 @@ void TelemetryCustomScreen::updateBar(int line) minSB[line]->setDisabled(true); maxSB[line]->setDisabled(true); } + + lock = false; } void TelemetryCustomScreen::on_screenType_currentIndexChanged(int index) @@ -428,13 +432,15 @@ void TelemetryCustomScreen::customFieldChanged(int value) void TelemetryCustomScreen::barSourceChanged(int index) { - QComboBox * cb = qobject_cast(sender()); - int line = cb->property("index").toInt(); - screen.body.bars[line].source = index; - screen.body.bars[line].barMin = 0; - screen.body.bars[line].barMax = 0; - updateBar(line); - emit modified(); + if (!lock) { + QComboBox * cb = qobject_cast(sender()); + int line = cb->property("index").toInt(); + screen.body.bars[line].source = index; + screen.body.bars[line].barMin = 0; + screen.body.bars[line].barMax = 0; + updateBar(line); + emit modified(); + } } void TelemetryCustomScreen::barMinChanged(double value)