From f7828ad4a30cce16b8b6b4449d8492ba8711e079 Mon Sep 17 00:00:00 2001 From: Neil Horne Date: Sat, 18 Nov 2017 21:25:46 +1100 Subject: [PATCH] Companion gvar refactor for special functions to match radio (#5361) --- companion/src/modeledit/customfunctions.cpp | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/companion/src/modeledit/customfunctions.cpp b/companion/src/modeledit/customfunctions.cpp index 562b1714c..79e335125 100644 --- a/companion/src/modeledit/customfunctions.cpp +++ b/companion/src/modeledit/customfunctions.cpp @@ -411,23 +411,28 @@ void CustomFunctionsPanel::refreshCustomFunction(int i, bool modified) widgetsMask |= CUSTOM_FUNCTION_NUMERIC_PARAM; } else if (func>=FuncAdjustGV1 && func<=FuncAdjustGVLast) { + int gvidx = func - FuncAdjustGV1; if (modified) cfn.adjustMode = fswtchGVmode[i]->currentIndex(); widgetsMask |= CUSTOM_FUNCTION_GV_MODE | CUSTOM_FUNCTION_ENABLE; if (cfn.adjustMode==FUNC_ADJUST_GVAR_CONSTANT || cfn.adjustMode==FUNC_ADJUST_GVAR_INCDEC) { if (modified) - cfn.param = fswtchParam[i]->value(); - fswtchParam[i]->setDecimals(0); - fswtchParam[i]->setSingleStep(1); + cfn.param = fswtchParam[i]->value() * model->gvarData[gvidx].multiplierSet(); if (IS_ARM(getCurrentBoard())) { - fswtchParam[i]->setMinimum(-500); - fswtchParam[i]->setMaximum(500); + fswtchParam[i]->setDecimals(model->gvarData[gvidx].prec); + fswtchParam[i]->setSingleStep(model->gvarData[gvidx].multiplierGet()); + fswtchParam[i]->setSuffix(model->gvarData[gvidx].unitToString()); + fswtchParam[i]->setMinimum(model->gvarData[gvidx].getMinPrec()); + fswtchParam[i]->setMaximum(model->gvarData[gvidx].getMaxPrec()); + fswtchParam[i]->setValue(cfn.param * model->gvarData[gvidx].multiplierGet()); } else { + fswtchParam[i]->setDecimals(0); + fswtchParam[i]->setSingleStep(1); fswtchParam[i]->setMinimum(-125); fswtchParam[i]->setMaximum(125); + fswtchParam[i]->setValue(cfn.param); } - fswtchParam[i]->setValue(cfn.param); widgetsMask |= CUSTOM_FUNCTION_NUMERIC_PARAM; } else {