diff --git a/radio/src/gui/colorlcd/model_logical_switches.cpp b/radio/src/gui/colorlcd/model_logical_switches.cpp index 0f0881b5a..85dbbbf97 100644 --- a/radio/src/gui/colorlcd/model_logical_switches.cpp +++ b/radio/src/gui/colorlcd/model_logical_switches.cpp @@ -282,30 +282,27 @@ void getsEdgeDelayParam(char* s, LogicalSwitchData* ls) #if LCD_W > LCD_H // Landscape -#define TXT_ALIGN LV_GRID_ALIGN_CENTER - -static const lv_coord_t b_col_dsc[] = {36, 50, 88, 92, +static const lv_coord_t b_col_dsc[] = {30, 50, 88, 110, 88, 40, 40, LV_GRID_TEMPLATE_LAST}; static const lv_coord_t b_row_dsc[] = {LV_GRID_CONTENT, LV_GRID_TEMPLATE_LAST}; #define NM_ROW_CNT 1 +#define V2_COL_CNT 1 #define ANDSW_ROW 0 #define ANDSW_COL 4 #else // Portrait -#define TXT_ALIGN LV_GRID_ALIGN_START - -static const lv_coord_t b_col_dsc[] = {36, LV_GRID_FR(1), LV_GRID_FR(1), - LV_GRID_FR(1), LV_GRID_TEMPLATE_LAST}; +static const lv_coord_t b_col_dsc[] = {36, 58, 88, 54, 54, LV_GRID_TEMPLATE_LAST}; static const lv_coord_t b_row_dsc[] = {LV_GRID_CONTENT, LV_GRID_CONTENT, LV_GRID_TEMPLATE_LAST}; #define NM_ROW_CNT 2 +#define V2_COL_CNT 2 #define ANDSW_ROW 1 -#define ANDSW_COL 1 +#define ANDSW_COL 2 #endif @@ -324,7 +321,7 @@ class LogicalSwitchButton : public Button lv_obj_set_layout(lvobj, LV_LAYOUT_GRID); lv_obj_set_grid_dsc_array(lvobj, b_col_dsc, b_row_dsc); lv_obj_set_style_pad_row(lvobj, 0, 0); - lv_obj_set_style_pad_column(lvobj, 4, 0); + lv_obj_set_style_pad_column(lvobj, 2, 0); check(isActive()); @@ -357,7 +354,7 @@ class LogicalSwitchButton : public Button lsFunc = lv_label_create(lvobj); lv_obj_set_style_text_align(lsFunc, LV_TEXT_ALIGN_LEFT, 0); lv_obj_set_grid_cell(lsFunc, LV_GRID_ALIGN_STRETCH, 1, 1, - LV_GRID_ALIGN_CENTER, 0, 1); + LV_GRID_ALIGN_CENTER, 0, NM_ROW_CNT); lsV1 = lv_label_create(lvobj); lv_obj_set_style_text_align(lsV1, LV_TEXT_ALIGN_CENTER, 0); @@ -366,7 +363,7 @@ class LogicalSwitchButton : public Button lsV2 = lv_label_create(lvobj); lv_obj_set_style_text_align(lsV2, LV_TEXT_ALIGN_CENTER, 0); - lv_obj_set_grid_cell(lsV2, LV_GRID_ALIGN_STRETCH, 3, 1, + lv_obj_set_grid_cell(lsV2, LV_GRID_ALIGN_STRETCH, 3, V2_COL_CNT, LV_GRID_ALIGN_CENTER, 0, 1); lsAnd = lv_label_create(lvobj); @@ -564,17 +561,7 @@ void ModelLogicalSwitchesPage::plusPopup(FormWindow* window) void ModelLogicalSwitchesPage::build(FormWindow* window) { -#if LCD_W > LCD_H -#define PER_ROW 6 - static const lv_coord_t l_col_dsc[] = { - LV_GRID_FR(1), LV_GRID_FR(1), LV_GRID_FR(1), LV_GRID_FR(1), - LV_GRID_FR(1), LV_GRID_FR(1), LV_GRID_TEMPLATE_LAST}; -#else -#define PER_ROW 4 - static const lv_coord_t l_col_dsc[] = {LV_GRID_FR(1), LV_GRID_FR(1), - LV_GRID_FR(1), LV_GRID_FR(1), - LV_GRID_TEMPLATE_LAST}; -#endif + static const lv_coord_t l_col_dsc[] = {LV_GRID_FR(1), LV_GRID_TEMPLATE_LAST}; window->padAll(4); @@ -599,11 +586,7 @@ void ModelLogicalSwitchesPage::build(FormWindow* window) if (isActive) { line = form->newLine(&grid); - button = new LogicalSwitchButton( - line, rect_t{0, 0, window->width() - 12, LS_BUTTON_H}, i); - - lv_obj_set_grid_cell(button->getLvObj(), LV_GRID_ALIGN_CENTER, 0, PER_ROW, - LV_GRID_ALIGN_CENTER, 0, 1); + button = new LogicalSwitchButton(line, rect_t{0, 0, window->width() - 12, LS_BUTTON_H}, i); button->setPressHandler([=]() { Menu* menu = new Menu(window); diff --git a/radio/src/gui/colorlcd/view_logical_switches.cpp b/radio/src/gui/colorlcd/view_logical_switches.cpp index 21aca0fc9..7132158d3 100644 --- a/radio/src/gui/colorlcd/view_logical_switches.cpp +++ b/radio/src/gui/colorlcd/view_logical_switches.cpp @@ -28,8 +28,9 @@ #define BTN_MATRIX_COL 8 #define BTN_HEIGHT 20 #define FOOTER_HEIGHT 20 -#define DURSW_ROW 0 -#define DURSW_COL 4 +#define V2_COL_CNT 1 +#define ANDSW_ROW 0 +#define ANDSW_COL 3 // Switch grid static const lv_coord_t col_dsc[] = { @@ -39,7 +40,7 @@ static const lv_coord_t col_dsc[] = { // Footer grid static const lv_coord_t f_col_dsc[] = { - 60, LV_GRID_FR(1), LV_GRID_FR(1), LV_GRID_FR(1), 50, + 60, LV_GRID_FR(1), 112, LV_GRID_FR(1), 50, 50, LV_GRID_TEMPLATE_LAST}; #else // Portrait @@ -47,8 +48,9 @@ static const lv_coord_t f_col_dsc[] = { #define BTN_MATRIX_COL 4 #define BTN_HEIGHT 21 #define FOOTER_HEIGHT 40 -#define DURSW_ROW 1 -#define DURSW_COL 2 +#define V2_COL_CNT 2 +#define ANDSW_ROW 1 +#define ANDSW_COL 1 static const lv_coord_t col_dsc[] = {LV_GRID_FR(1), LV_GRID_FR(1), LV_GRID_FR(1), LV_GRID_FR(1), @@ -96,27 +98,27 @@ class LogicalSwitchDisplayFooter : public Window lsV2 = lv_label_create(lvobj); lv_obj_set_style_text_align(lsV2, LV_TEXT_ALIGN_LEFT, 0); - lv_obj_set_grid_cell(lsV2, LV_GRID_ALIGN_STRETCH, 2, 1, + lv_obj_set_grid_cell(lsV2, LV_GRID_ALIGN_STRETCH, 2, V2_COL_CNT, LV_GRID_ALIGN_CENTER, 0, 1); lv_obj_set_style_text_color(lsV2, makeLvColor(COLOR_THEME_PRIMARY2), 0); lsAnd = lv_label_create(lvobj); lv_obj_set_style_text_align(lsAnd, LV_TEXT_ALIGN_LEFT, 0); - lv_obj_set_grid_cell(lsAnd, LV_GRID_ALIGN_STRETCH, 3, 1, - LV_GRID_ALIGN_CENTER, 0, 1); + lv_obj_set_grid_cell(lsAnd, LV_GRID_ALIGN_STRETCH, ANDSW_COL, 1, + LV_GRID_ALIGN_CENTER, ANDSW_ROW, 1); lv_obj_set_style_text_color(lsAnd, makeLvColor(COLOR_THEME_PRIMARY2), 0); lsDuration = lv_label_create(lvobj); lv_obj_set_style_text_align(lsDuration, LV_TEXT_ALIGN_LEFT, 0); - lv_obj_set_grid_cell(lsDuration, LV_GRID_ALIGN_STRETCH, DURSW_COL, 1, - LV_GRID_ALIGN_CENTER, DURSW_ROW, 1); + lv_obj_set_grid_cell(lsDuration, LV_GRID_ALIGN_STRETCH, ANDSW_COL + 1, 1, + LV_GRID_ALIGN_CENTER, ANDSW_ROW, 1); lv_obj_set_style_text_color(lsDuration, makeLvColor(COLOR_THEME_PRIMARY2), 0); lsDelay = lv_label_create(lvobj); lv_obj_set_style_text_align(lsDelay, LV_TEXT_ALIGN_LEFT, 0); - lv_obj_set_grid_cell(lsDelay, LV_GRID_ALIGN_STRETCH, DURSW_COL + 1, 1, - LV_GRID_ALIGN_CENTER, DURSW_ROW, 1); + lv_obj_set_grid_cell(lsDelay, LV_GRID_ALIGN_STRETCH, ANDSW_COL + 2, 1, + LV_GRID_ALIGN_CENTER, ANDSW_ROW, 1); lv_obj_set_style_text_color(lsDelay, makeLvColor(COLOR_THEME_PRIMARY2), 0); lv_obj_update_layout(parent->getLvObj());