diff --git a/radio/src/gui/colorlcd/model_curves.cpp b/radio/src/gui/colorlcd/model_curves.cpp index c43e77559..7b3920bbb 100644 --- a/radio/src/gui/colorlcd/model_curves.cpp +++ b/radio/src/gui/colorlcd/model_curves.cpp @@ -323,6 +323,7 @@ void ModelCurvesPage::build(FormWindow * window, int8_t focusIndex) FormGridLayout grid; grid.spacer(PAGE_PADDING); grid.setLabelWidth(66); + window->padAll(0); for (uint8_t index = 0; index < MAX_CURVES; index++) { diff --git a/radio/src/gui/colorlcd/model_flightmodes.cpp b/radio/src/gui/colorlcd/model_flightmodes.cpp index a0c18f4ca..ec846b0a0 100644 --- a/radio/src/gui/colorlcd/model_flightmodes.cpp +++ b/radio/src/gui/colorlcd/model_flightmodes.cpp @@ -311,16 +311,15 @@ static const lv_coord_t fmt_row_dsc[] = {LV_GRID_CONTENT, void ModelFlightModesPage::build(FormWindow * window) { window->setFlexLayout(); + window->padRow(lv_dpx(8)); + lv_obj_t* obj = window->getLvObj(); lv_obj_set_style_flex_cross_place(obj, LV_FLEX_ALIGN_CENTER, 0); FlexGridLayout grid(fmt_col_dsc, fmt_row_dsc, 0); auto fm_box = window->newLine(&grid); - - obj = fm_box->getLvObj(); - lv_obj_set_style_pad_all(obj, 8, 0); - lv_obj_set_style_pad_row(obj, 2, 0); - lv_obj_set_style_pad_column(obj, 2, 0); + fm_box->padRow(lv_dpx(2)); + fm_box->padColumn(lv_dpx(2)); for (int i = 0; i < MAX_FLIGHT_MODES; i++) { new FlightModeBtn(fm_box, i); diff --git a/radio/src/gui/colorlcd/model_gvars.cpp b/radio/src/gui/colorlcd/model_gvars.cpp index ae3410b33..bbf737bd9 100644 --- a/radio/src/gui/colorlcd/model_gvars.cpp +++ b/radio/src/gui/colorlcd/model_gvars.cpp @@ -357,6 +357,7 @@ void ModelGVarsPage::build(FormWindow * window) FormGridLayout grid; grid.spacer(PAGE_PADDING); grid.setLabelWidth(70); + window->padAll(0); for (uint8_t index = 0; index < MAX_GVARS; index++) { Button * button = new GVarButton(window, grid.getLineSlot(), index); diff --git a/radio/src/gui/colorlcd/model_inputs.cpp b/radio/src/gui/colorlcd/model_inputs.cpp index deadd7ea8..947c5d3a4 100644 --- a/radio/src/gui/colorlcd/model_inputs.cpp +++ b/radio/src/gui/colorlcd/model_inputs.cpp @@ -460,11 +460,12 @@ void ModelInputsPage::pasteInputAfter(uint8_t dst_idx) void ModelInputsPage::build(FormWindow *window) { - window->setFlexLayout(LV_FLEX_FLOW_COLUMN, 8); - lv_obj_set_style_pad_all(window->getLvObj(), 8, 0); + window->setFlexLayout(); + window->padRow(lv_dpx(8)); form = new FormGroup(window, rect_t{}); - form->setFlexLayout(LV_FLEX_FLOW_COLUMN, 8); + form->setFlexLayout(); + form->padRow(lv_dpx(8)); auto form_obj = form->getLvObj(); lv_obj_set_width(form_obj, lv_pct(100)); diff --git a/radio/src/gui/colorlcd/model_logical_switches.cpp b/radio/src/gui/colorlcd/model_logical_switches.cpp index 1f711c86b..950d94c6f 100644 --- a/radio/src/gui/colorlcd/model_logical_switches.cpp +++ b/radio/src/gui/colorlcd/model_logical_switches.cpp @@ -370,6 +370,7 @@ void ModelLogicalSwitchesPage::build(FormWindow* window, int8_t focusIndex) FormGridLayout grid; grid.spacer(PAGE_PADDING); grid.setLabelWidth(66); + window->padAll(0); for (uint8_t i = 0; i < MAX_LOGICAL_SWITCHES; i++) { LogicalSwitchData* ls = lswAddress(i); diff --git a/radio/src/gui/colorlcd/model_mixer_scripts.cpp b/radio/src/gui/colorlcd/model_mixer_scripts.cpp index c18fef002..0f66f9176 100644 --- a/radio/src/gui/colorlcd/model_mixer_scripts.cpp +++ b/radio/src/gui/colorlcd/model_mixer_scripts.cpp @@ -236,6 +236,7 @@ void ModelMixerScriptsPage::build(FormWindow * window, int8_t focusIdx) FormGridLayout grid; grid.spacer(PAGE_PADDING); grid.setLabelWidth(66); + window->padAll(0); int8_t scriptIdx = 0; for (int8_t idx = 0; idx < MAX_SCRIPTS; idx++) { diff --git a/radio/src/gui/colorlcd/model_mixes.cpp b/radio/src/gui/colorlcd/model_mixes.cpp index 6f073c9ae..9c2c8e6b7 100644 --- a/radio/src/gui/colorlcd/model_mixes.cpp +++ b/radio/src/gui/colorlcd/model_mixes.cpp @@ -533,11 +533,12 @@ void ModelMixesPage::pasteMixAfter(uint8_t dst_idx) void ModelMixesPage::build(FormWindow * window) { - window->setFlexLayout(LV_FLEX_FLOW_COLUMN, 8); - lv_obj_set_style_pad_all(window->getLvObj(), 8, 0); + window->setFlexLayout(); + window->padRow(lv_dpx(8)); form = new FormGroup(window, rect_t{}); - form->setFlexLayout(LV_FLEX_FLOW_COLUMN, 8); + form->setFlexLayout(); + form->padRow(lv_dpx(8)); auto form_obj = form->getLvObj(); lv_obj_set_width(form_obj, lv_pct(100)); diff --git a/radio/src/gui/colorlcd/model_outputs.cpp b/radio/src/gui/colorlcd/model_outputs.cpp index e4241e073..ee5504f91 100644 --- a/radio/src/gui/colorlcd/model_outputs.cpp +++ b/radio/src/gui/colorlcd/model_outputs.cpp @@ -147,15 +147,14 @@ ModelOutputsPage::ModelOutputsPage() : void ModelOutputsPage::build(FormWindow *window) { - window->setFlexLayout(LV_FLEX_FLOW_COLUMN, 8); - lv_obj_set_style_pad_all(window->getLvObj(), 8, 0); + window->setFlexLayout(); + window->padRow(lv_dpx(8)); auto form = new FormGroup(window, rect_t{}); - form->setFlexLayout(LV_FLEX_FLOW_ROW_WRAP, lv_dpx(8)); + form->setFlexLayout(LV_FLEX_FLOW_ROW_WRAP, lv_dpx(16)); + form->padRow(lv_dpx(8)); auto form_obj = form->getLvObj(); - lv_obj_set_style_pad_all(form_obj, lv_dpx(8), 0); - lv_obj_set_style_pad_row(form_obj, lv_dpx(8), 0); lv_obj_set_style_flex_cross_place(form_obj, LV_FLEX_ALIGN_CENTER, 0); // auto btn = @@ -167,6 +166,7 @@ void ModelOutputsPage::build(FormWindow *window) auto box = new FormGroup(form, rect_t{}); box->setFlexLayout(LV_FLEX_FLOW_ROW, lv_dpx(8)); + auto box_obj = box->getLvObj(); lv_obj_set_width(box_obj, LV_SIZE_CONTENT); lv_obj_set_style_flex_cross_place(box_obj, LV_FLEX_ALIGN_CENTER, 0); @@ -183,7 +183,7 @@ void ModelOutputsPage::build(FormWindow *window) btn->setPressHandler([=]() -> uint8_t { Menu *menu = new Menu(window); menu->addLine(STR_EDIT, [=]() { - editOutput(btn, ch); + editOutput(ch); }); menu->addLine(STR_RESET, [=]() { output->min = 0; @@ -211,11 +211,7 @@ void ModelOutputsPage::build(FormWindow *window) } } -void ModelOutputsPage::editOutput(OutputLineButton *btn, uint8_t channel) +void ModelOutputsPage::editOutput(uint8_t channel) { - // auto btn_obj = btn->getLvObj(); - // Window *edit = new OutputEditWindow(channel); - // edit->setCloseHandler( - // [=]() { lv_event_send(btn_obj, LV_EVENT_VALUE_CHANGED, nullptr); }); } diff --git a/radio/src/gui/colorlcd/model_outputs.h b/radio/src/gui/colorlcd/model_outputs.h index 101f732c6..0951901fe 100644 --- a/radio/src/gui/colorlcd/model_outputs.h +++ b/radio/src/gui/colorlcd/model_outputs.h @@ -24,8 +24,6 @@ #include "tabsgroup.h" -class OutputLineButton; - class ModelOutputsPage : public PageTab { public: @@ -33,7 +31,7 @@ class ModelOutputsPage : public PageTab void build(FormWindow* window) override; protected: - void editOutput(OutputLineButton* btn, uint8_t channel); + void editOutput(uint8_t channel); }; #endif // _MODEL_OUTPUTS_H_ diff --git a/radio/src/gui/colorlcd/model_telemetry.cpp b/radio/src/gui/colorlcd/model_telemetry.cpp index b4e0e13e6..dc1fa69bb 100644 --- a/radio/src/gui/colorlcd/model_telemetry.cpp +++ b/radio/src/gui/colorlcd/model_telemetry.cpp @@ -457,6 +457,7 @@ void ModelTelemetryPage::build(FormWindow * window, int8_t focusSensorIndex) { FormGridLayout grid; grid.spacer(PAGE_PADDING); + window->padAll(0); this->window = window; diff --git a/radio/src/gui/colorlcd/radio_sdmanager.cpp b/radio/src/gui/colorlcd/radio_sdmanager.cpp index 8f303036d..357f0df40 100644 --- a/radio/src/gui/colorlcd/radio_sdmanager.cpp +++ b/radio/src/gui/colorlcd/radio_sdmanager.cpp @@ -154,6 +154,8 @@ static const lv_coord_t row_dsc[] = {LV_GRID_FR(2), LV_GRID_FR(1), LV_GRID_TEMPL void RadioSdManagerPage::build(FormWindow * window) { FlexGridLayout grid(col_dsc, row_dsc, 0); + window->padAll(0); + FormGroup* form = new FormGroup(window, rect_t{}); form->setWidth(window->width()); form->setHeight(window->height()); diff --git a/radio/src/gui/colorlcd/radio_theme.cpp b/radio/src/gui/colorlcd/radio_theme.cpp index d5fa864d5..cc30277f7 100644 --- a/radio/src/gui/colorlcd/radio_theme.cpp +++ b/radio/src/gui/colorlcd/radio_theme.cpp @@ -528,6 +528,7 @@ void ThemeSetupPage::setupListbox(FormWindow *window, rect_t r, ThemePersistance void ThemeSetupPage::build(FormWindow *window) { + window->padAll(0); pageWindow = window; auto tp = ThemePersistance::instance(); diff --git a/radio/src/gui/colorlcd/radio_tools.cpp b/radio/src/gui/colorlcd/radio_tools.cpp index 23252f771..23139c089 100644 --- a/radio/src/gui/colorlcd/radio_tools.cpp +++ b/radio/src/gui/colorlcd/radio_tools.cpp @@ -238,10 +238,8 @@ void RadioToolsPage::rebuild(FormWindow * window) tools.sort(tool_compare_nocase); - window->setFlexLayout(LV_FLEX_FLOW_ROW_WRAP, 8); - lv_obj_t* w_obj = window->getLvObj(); - lv_obj_set_style_pad_row(w_obj, 8, 0); - lv_obj_set_style_pad_all(w_obj, 8, 0); + window->setFlexLayout(LV_FLEX_FLOW_ROW_WRAP, lv_dpx(8)); + window->padRow(lv_dpx(8)); for (const auto& tool : tools) { new ToolButton(window, tool); diff --git a/radio/src/gui/colorlcd/special_functions.cpp b/radio/src/gui/colorlcd/special_functions.cpp index 5d7a0dd0c..daf11ff06 100644 --- a/radio/src/gui/colorlcd/special_functions.cpp +++ b/radio/src/gui/colorlcd/special_functions.cpp @@ -634,6 +634,7 @@ void SpecialFunctionsPage::build(FormWindow *window, int8_t focusIndex) FormGridLayout grid; grid.spacer(PAGE_PADDING); grid.setLabelWidth(66); + window->padAll(0); // Window::clearFocus(); diff --git a/radio/src/gui/colorlcd/tabsgroup.cpp b/radio/src/gui/colorlcd/tabsgroup.cpp index 7a898a056..d83b5f196 100644 --- a/radio/src/gui/colorlcd/tabsgroup.cpp +++ b/radio/src/gui/colorlcd/tabsgroup.cpp @@ -223,6 +223,8 @@ void TabsGroup::setVisibleTab(PageTab* tab) rect_t r = rect_t{0, 0, body.width(), body.height()}; auto form = new FormWindow(&body, r, NO_FOCUS); + + form->padAll(lv_dpx(8)); tab->build(form); header.setTitle(tab->title.c_str()); diff --git a/radio/src/gui/colorlcd/view_channels.cpp b/radio/src/gui/colorlcd/view_channels.cpp index 3571890b4..ecfb46a07 100644 --- a/radio/src/gui/colorlcd/view_channels.cpp +++ b/radio/src/gui/colorlcd/view_channels.cpp @@ -66,6 +66,7 @@ class ChannelsViewFooter: public Window { void ChannelsViewPage::build(FormWindow * window) { constexpr coord_t hmargin = 5; + window->padAll(0); // Channels bars for (uint8_t chan = pageIndex * 8; chan < 8 + pageIndex * 8; chan++) { diff --git a/radio/src/gui/colorlcd/view_logical_switches.cpp b/radio/src/gui/colorlcd/view_logical_switches.cpp index 345a100b2..c011c4fd3 100644 --- a/radio/src/gui/colorlcd/view_logical_switches.cpp +++ b/radio/src/gui/colorlcd/view_logical_switches.cpp @@ -64,6 +64,7 @@ void LogicalSwitchesViewPage::build(FormWindow * window) FormGridLayout grid; grid.spacer(PAGE_PADDING); grid.setLabelWidth(8); + window->padAll(0); // Footer footer = new LogicalSwitchDisplayFooter( diff --git a/radio/src/thirdparty/libopenui b/radio/src/thirdparty/libopenui index 56f3cb7df..dfc04ec39 160000 --- a/radio/src/thirdparty/libopenui +++ b/radio/src/thirdparty/libopenui @@ -1 +1 @@ -Subproject commit 56f3cb7df1a571a2ca91620aa95959cd54a3cb8e +Subproject commit dfc04ec39a256ab6ec3e8e5766aa55961179379f