From 1e925edf4a0db9b95ab7eabe26bcfa1d676bafb3 Mon Sep 17 00:00:00 2001 From: philmoz Date: Fri, 6 Oct 2023 12:05:00 +1100 Subject: [PATCH] fix(color): Set default value for various number edit fields (#4163) --- radio/src/gui/colorlcd/curveedit.cpp | 1 + radio/src/gui/colorlcd/gvar_numberedit.cpp | 3 ++- radio/src/gui/colorlcd/gvar_numberedit.h | 2 +- radio/src/gui/colorlcd/output_edit.cpp | 4 ++-- radio/src/gui/colorlcd/widget_settings.cpp | 4 ++-- 5 files changed, 8 insertions(+), 6 deletions(-) diff --git a/radio/src/gui/colorlcd/curveedit.cpp b/radio/src/gui/colorlcd/curveedit.cpp index 7c58f8bb7..8a9e8188a 100644 --- a/radio/src/gui/colorlcd/curveedit.cpp +++ b/radio/src/gui/colorlcd/curveedit.cpp @@ -352,6 +352,7 @@ void CurveEditWindow::buildBody(FormWindow * window) } }); edit->setSuffix(STR_PTS); + edit->setDefault(5); iLine = form->newLine(&iGrid); iLine->padAll(0); diff --git a/radio/src/gui/colorlcd/gvar_numberedit.cpp b/radio/src/gui/colorlcd/gvar_numberedit.cpp index 173f316c4..637c6c4d7 100644 --- a/radio/src/gui/colorlcd/gvar_numberedit.cpp +++ b/radio/src/gui/colorlcd/gvar_numberedit.cpp @@ -34,7 +34,7 @@ void GVarNumberEdit::value_changed(lv_event_t* e) GVarNumberEdit::GVarNumberEdit(Window* parent, const rect_t& rect, int32_t vmin, int32_t vmax, std::function getValue, std::function setValue, - LcdFlags textFlags, int32_t voffset) : + LcdFlags textFlags, int32_t voffset, int32_t vdefault) : Window(parent, rect), vmin(vmin), vmax(vmax), @@ -70,6 +70,7 @@ GVarNumberEdit::GVarNumberEdit(Window* parent, const rect_t& rect, int32_t vmin, this, rect_t{}, vmin, vmax, [=]() { return getValue() + voffset; }, nullptr, windowFlags, textFlags); num_field->setWidth(70); + num_field->setDefault(vdefault); #if defined(GVARS) // The GVAR button diff --git a/radio/src/gui/colorlcd/gvar_numberedit.h b/radio/src/gui/colorlcd/gvar_numberedit.h index 78501e7f7..15570f84f 100644 --- a/radio/src/gui/colorlcd/gvar_numberedit.h +++ b/radio/src/gui/colorlcd/gvar_numberedit.h @@ -37,7 +37,7 @@ class GVarNumberEdit : public Window GVarNumberEdit(Window* parent, const rect_t& rect, int32_t vmin, int32_t vmax, std::function getValue, std::function setValue, - LcdFlags textFlags = 0, int32_t voffset = 0); + LcdFlags textFlags = 0, int32_t voffset = 0, int32_t vdefault = 0); void switchGVarMode(); void setSuffix(std::string value); diff --git a/radio/src/gui/colorlcd/output_edit.cpp b/radio/src/gui/colorlcd/output_edit.cpp index 041e7eec1..496acd1c1 100644 --- a/radio/src/gui/colorlcd/output_edit.cpp +++ b/radio/src/gui/colorlcd/output_edit.cpp @@ -166,7 +166,7 @@ void OutputEditWindow::buildBody(FormWindow* form) line = form->newLine(&grid); minText = new StaticText(line, rect_t{}, TR_MIN, 0, COLOR_THEME_PRIMARY1); minEdit = new GVarNumberEdit(line, rect_t{}, -limit, 0, GET_SET_DEFAULT(output->min), - PREC1, -LIMIT_STD_MAX); + PREC1, -LIMIT_STD_MAX, -limit); minText->setBackgroundColor(COLOR_THEME_ACTIVE); minEdit->setFastStep(20); minEdit->setAccelFactor(16); @@ -174,7 +174,7 @@ void OutputEditWindow::buildBody(FormWindow* form) // Max maxText = new StaticText(line, rect_t{}, TR_MAX, 0, COLOR_THEME_PRIMARY1); maxEdit = new GVarNumberEdit(line, rect_t{}, 0, +limit, GET_SET_DEFAULT(output->max), - PREC1, +LIMIT_STD_MAX); + PREC1, +LIMIT_STD_MAX, limit); maxText->setBackgroundColor(COLOR_THEME_ACTIVE); maxEdit->setFastStep(20); maxEdit->setAccelFactor(16); diff --git a/radio/src/gui/colorlcd/widget_settings.cpp b/radio/src/gui/colorlcd/widget_settings.cpp index e9cc5c07a..d2fbdca28 100644 --- a/radio/src/gui/colorlcd/widget_settings.cpp +++ b/radio/src/gui/colorlcd/widget_settings.cpp @@ -61,7 +61,7 @@ WidgetSettings::WidgetSettings(Window* parent, Widget* widget) : switch (option.type) { case ZoneOption::Integer: - new NumberEdit( + (new NumberEdit( line, rect_t{}, option.min.signedValue, option.max.signedValue, [=]() -> int { @@ -70,7 +70,7 @@ WidgetSettings::WidgetSettings(Window* parent, Widget* widget) : [=](int32_t newValue) { widget->getOptionValue(optIdx)->signedValue = newValue; SET_DIRTY(); - }); + }))->setDefault(option.deflt.signedValue); break; case ZoneOption::Source: