Add a title to the popups on Horus
This commit is contained in:
@@ -502,6 +502,7 @@ inline void DISPLAY_WARNING(event_t event)
|
||||
#define MENU_MAX_DISPLAY_LINES 9
|
||||
#define MENU_LINE_LENGTH (LEN_MODEL_NAME+12)
|
||||
|
||||
extern const char * popupMenuTitle;
|
||||
extern const char * popupMenuItems[POPUP_MENU_MAX_LINES];
|
||||
extern uint16_t popupMenuItemsCount;
|
||||
extern uint16_t popupMenuOffset;
|
||||
|
||||
@@ -1455,7 +1455,7 @@ bool menuModelSetup(event_t event)
|
||||
for (auto rx = 0; rx < popupMenuItemsCount; rx++) {
|
||||
popupMenuItems[rx] = reusableBuffer.moduleSetup.bindInformation.candidateReceiversNames[rx];
|
||||
}
|
||||
// popupMenuTitle = STR_PXX2_SELECT_RX;
|
||||
popupMenuTitle = STR_PXX2_SELECT_RX;
|
||||
POPUP_MENU_START(onPXX2BindMenu);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -27,6 +27,7 @@ uint8_t warningType;
|
||||
uint8_t warningResult = 0;
|
||||
uint8_t warningInfoFlags = ZCHAR;
|
||||
PopupFunc popupFunc = nullptr;
|
||||
const char * popupMenuTitle = nullptr;
|
||||
const char *popupMenuItems[POPUP_MENU_MAX_LINES];
|
||||
uint8_t popupMenuSelectedItem = 0;
|
||||
uint16_t popupMenuItemsCount = 0;
|
||||
@@ -61,6 +62,10 @@ void drawPopupBackgroundAndBorder(coord_t x, coord_t y, coord_t w, coord_t h)
|
||||
{
|
||||
lcdDrawSolidFilledRect(x + 1, y + 1, w - 2, h - 2, TEXT_BGCOLOR);
|
||||
lcdDrawSolidRect(x, y, w, h, 1, ALARM_COLOR);
|
||||
if (popupMenuTitle) {
|
||||
lcdDrawSolidFilledRect(x, y - FH, w, FH, TEXT_INVERTED_BGCOLOR);
|
||||
lcdDrawText(x + w / 2, y - FH, popupMenuTitle, BOLD | CENTERED | TEXT_INVERTED_COLOR);
|
||||
}
|
||||
}
|
||||
|
||||
void runPopupWarning(event_t event)
|
||||
@@ -167,9 +172,9 @@ const char * runPopupMenu(event_t event)
|
||||
break;
|
||||
}
|
||||
|
||||
int y = (LCD_H - (display_count*(FH+1))) / 2;
|
||||
int y = (LCD_H - (display_count*(FH + 1)) + (popupMenuTitle ? FH : 0) + FH) / 2;
|
||||
|
||||
drawPopupBackgroundAndBorder(MENU_X, y, MENU_W, display_count * (FH+1) + 2);
|
||||
drawPopupBackgroundAndBorder(MENU_X, y, MENU_W, display_count * (FH + 1) + 2);
|
||||
|
||||
for (uint8_t i=0; i<display_count; i++) {
|
||||
if (i == popupMenuSelectedItem) {
|
||||
|
||||
@@ -568,7 +568,7 @@ bool menuRadioSdManager(event_t _event)
|
||||
for (auto rx = 0; rx < popupMenuItemsCount; rx++) {
|
||||
popupMenuItems[rx] = reusableBuffer.sdManager.otaUpdateInformation.candidateReceiversNames[rx];
|
||||
}
|
||||
// popupMenuTitle = STR_PXX2_SELECT_RX;
|
||||
popupMenuTitle = STR_PXX2_SELECT_RX;
|
||||
POPUP_MENU_START(onUpdateReceiverSelection);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -80,6 +80,7 @@ enum
|
||||
{
|
||||
warningText = nullptr;
|
||||
warningInfoText = nullptr;
|
||||
popupMenuTitle = nullptr;
|
||||
popupMenuHandler = nullptr;
|
||||
popupMenuItemsCount = 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user