From d6b67899ff398214997a5134f677453673003418 Mon Sep 17 00:00:00 2001 From: bsongis Date: Fri, 23 Jan 2015 12:56:36 +0100 Subject: [PATCH] message function moved to GUI directories --- radio/src/eeprom_common.cpp | 2 + radio/src/gui/9X/popups.cpp | 29 ++++++++++ .../gui/Taranis/menu_general_sdmanager.cpp | 38 ++++++------- radio/src/gui/Taranis/menus.h | 4 +- radio/src/gui/Taranis/popups.cpp | 41 +++++++++++--- radio/src/opentx.cpp | 55 ------------------- 6 files changed, 86 insertions(+), 83 deletions(-) diff --git a/radio/src/eeprom_common.cpp b/radio/src/eeprom_common.cpp index e74980ac2..acf36ab30 100644 --- a/radio/src/eeprom_common.cpp +++ b/radio/src/eeprom_common.cpp @@ -61,7 +61,9 @@ uint8_t eeFindEmptyModel(uint8_t id, bool down) void selectModel(uint8_t sub) { +#if !defined(COLORLCD) displayPopup(STR_LOADINGMODEL); +#endif saveTimers(); eeCheck(true); // force writing of current model data before this is changed g_eeGeneral.currModel = sub; diff --git a/radio/src/gui/9X/popups.cpp b/radio/src/gui/9X/popups.cpp index 312e46886..810b245c1 100755 --- a/radio/src/gui/9X/popups.cpp +++ b/radio/src/gui/9X/popups.cpp @@ -69,6 +69,35 @@ void displayPopup(const pm_char * pstr) lcdRefresh(); } +void message(const pm_char *title, const pm_char *t, const char *last MESSAGE_SOUND_ARG) +{ + lcd_clear(); + lcd_img(2, 0, asterisk_lbm, 0, 0); + +#define MESSAGE_LCD_OFFSET 6*FW + +#if defined(TRANSLATIONS_FR) || defined(TRANSLATIONS_IT) || defined(TRANSLATIONS_CZ) + lcd_putsAtt(MESSAGE_LCD_OFFSET, 0, STR_WARNING, DBLSIZE); + lcd_putsAtt(MESSAGE_LCD_OFFSET, 2*FH, title, DBLSIZE); +#else + lcd_putsAtt(MESSAGE_LCD_OFFSET, 0, title, DBLSIZE); + lcd_putsAtt(MESSAGE_LCD_OFFSET, 2*FH, STR_WARNING, DBLSIZE); +#endif + + drawFilledRect(0, 0, LCD_W, 32); + if (t) lcd_putsLeft(5*FH, t); + if (last) { + lcd_putsLeft(7*FH, last); + AUDIO_ERROR_MESSAGE(sound); + } + +#undef MESSAGE_LCD_OFFSET + + lcdRefresh(); + lcdSetContrast(); + clearKeyEvents(); +} + void displayWarning(uint8_t event) { s_warning_result = false; diff --git a/radio/src/gui/Taranis/menu_general_sdmanager.cpp b/radio/src/gui/Taranis/menu_general_sdmanager.cpp index 2fd67aa1d..999ed8238 100755 --- a/radio/src/gui/Taranis/menu_general_sdmanager.cpp +++ b/radio/src/gui/Taranis/menu_general_sdmanager.cpp @@ -275,27 +275,27 @@ void menuGeneralSdManager(uint8_t _event) if (s_editMode == 0) { char *line = reusableBuffer.sdmanager.lines[index]; char *ext = getFileExtension(line, SD_SCREEN_FILE_LENGTH+1); - int len = ext - line; - /* TODO if (!strcasecmp(ext, MODELS_EXT)) { - s_menu[s_menu_count++] = STR_LOAD_FILE; - } - else */ if (!strcasecmp(ext, SOUNDS_EXT)) { - MENU_ADD_ITEM(STR_PLAY_FILE); - } - else if (!strcasecmp(ext, BITMAPS_EXT) && !READ_ONLY() && len <= (int)sizeof(g_model.header.bitmap)) { - MENU_ADD_ITEM(STR_ASSIGN_BITMAP); - } - else if (!strcasecmp(ext, TEXT_EXT)) { - MENU_ADD_ITEM(STR_VIEW_TEXT); - } - else if (!strcasecmp(ext, FIRMWARE_EXT) && !READ_ONLY()) { - MENU_ADD_ITEM(STR_FLASH_BOOTLOADER); - } + if (ext) { + if (!strcasecmp(ext, SOUNDS_EXT)) { + MENU_ADD_ITEM(STR_PLAY_FILE); + } + else if (!strcasecmp(ext, BITMAPS_EXT)) { + if (!READ_ONLY() && (ext-line) <= (int)sizeof(g_model.header.bitmap)) { + MENU_ADD_ITEM(STR_ASSIGN_BITMAP); + } + } + else if (!strcasecmp(ext, TEXT_EXT)) { + MENU_ADD_ITEM(STR_VIEW_TEXT); + } + else if (!strcasecmp(ext, FIRMWARE_EXT) && !READ_ONLY()) { + MENU_ADD_ITEM(STR_FLASH_BOOTLOADER); + } #if defined(LUA) - else if (!strcasecmp(ext, SCRIPTS_EXT)) { - MENU_ADD_ITEM(STR_EXECUTE_FILE); - } + else if (!strcasecmp(ext, SCRIPTS_EXT)) { + MENU_ADD_ITEM(STR_EXECUTE_FILE); + } #endif + } if (!READ_ONLY()) { if (line[SD_SCREEN_FILE_LENGTH+1]) // it's a file MENU_ADD_ITEM(STR_COPY_FILE); diff --git a/radio/src/gui/Taranis/menus.h b/radio/src/gui/Taranis/menus.h index 8afd5a87d..7543e3010 100755 --- a/radio/src/gui/Taranis/menus.h +++ b/radio/src/gui/Taranis/menus.h @@ -309,8 +309,8 @@ extern uint8_t s_warning_type; #define WARNING_LINE_X 16 #define WARNING_LINE_Y 3*FH -void displayBox(); -void displayPopup(const pm_char * pstr); +void displayBox(const char *title); +void displayPopup(const char *title); void displayWarning(uint8_t event); extern void (*popupFunc)(uint8_t event); diff --git a/radio/src/gui/Taranis/popups.cpp b/radio/src/gui/Taranis/popups.cpp index 5614149b8..36646b54f 100755 --- a/radio/src/gui/Taranis/popups.cpp +++ b/radio/src/gui/Taranis/popups.cpp @@ -53,26 +53,53 @@ uint8_t s_menu_flags = 0; uint16_t s_menu_offset = 0; void (*menuHandler)(const char *result); -void displayBox() +void displayBox(const char *title) { drawFilledRect(10, 16, LCD_W-20, 40, SOLID, ERASE); lcd_rect(10, 16, LCD_W-20, 40); - lcd_putsn(WARNING_LINE_X, WARNING_LINE_Y, s_warning, WARNING_LINE_LEN); + lcd_putsn(WARNING_LINE_X, WARNING_LINE_Y, title, WARNING_LINE_LEN); // could be a place for a s_warning_info } -void displayPopup(const pm_char * pstr) +void displayPopup(const char *title) { - s_warning = pstr; - displayBox(); - s_warning = NULL; + displayBox(title); lcdRefresh(); } +void message(const pm_char *title, const pm_char *t, const char *last MESSAGE_SOUND_ARG) +{ + lcd_clear(); + lcd_bmp(0, 0, asterisk_lbm); + +#define MESSAGE_LCD_OFFSET 60 + +#if defined(TRANSLATIONS_FR) || defined(TRANSLATIONS_IT) || defined(TRANSLATIONS_CZ) + lcd_putsAtt(MESSAGE_LCD_OFFSET, 0, STR_WARNING, DBLSIZE); + lcd_putsAtt(MESSAGE_LCD_OFFSET, 2*FH, title, DBLSIZE); +#else + lcd_putsAtt(MESSAGE_LCD_OFFSET, 0, title, DBLSIZE); + lcd_putsAtt(MESSAGE_LCD_OFFSET, 2*FH, STR_WARNING, DBLSIZE); +#endif + + drawFilledRect(MESSAGE_LCD_OFFSET, 0, LCD_W-MESSAGE_LCD_OFFSET, 32); + if (t) lcd_puts(MESSAGE_LCD_OFFSET, 5*FH, t); + if (last) { + lcd_puts(MESSAGE_LCD_OFFSET, 7*FH, last); + AUDIO_ERROR_MESSAGE(sound); + } + +#undef MESSAGE_LCD_OFFSET + + lcdRefresh(); + lcdSetContrast(); + clearKeyEvents(); +} + void displayWarning(uint8_t event) { s_warning_result = false; - displayBox(); + displayBox(s_warning); if (s_warning_info) { lcd_putsnAtt(WARNING_LINE_X, WARNING_LINE_Y+FH, s_warning_info, s_warning_info_len, WARNING_INFO_FLAGS); } diff --git a/radio/src/opentx.cpp b/radio/src/opentx.cpp index 9a4450a4f..6c33a17c3 100644 --- a/radio/src/opentx.cpp +++ b/radio/src/opentx.cpp @@ -1160,61 +1160,6 @@ void alert(const pm_char * t, const pm_char *s MESSAGE_SOUND_ARG) } } -#if defined(GUI) -void message(const pm_char *title, const pm_char *t, const char *last MESSAGE_SOUND_ARG) -{ - lcd_clear(); - -#if defined(COLORLCD) - #define MESSAGE_LCD_OFFSET 60 - drawFilledRect(30, 20, 252, 100, SOLID, BLACK); -#elif defined(PCBTARANIS) - lcd_bmp(0, 0, asterisk_lbm); - #define MESSAGE_LCD_OFFSET 60 -#else - lcd_img(2, 0, asterisk_lbm, 0, 0); - #define MESSAGE_LCD_OFFSET 6*FW -#endif - -#if defined(COLORLCD) - lcd_putsAtt(MESSAGE_LCD_OFFSET, 30, STR_WARNING, WHITE|DBLSIZE); - lcd_putsAtt(MESSAGE_LCD_OFFSET, 46, title, WHITE|DBLSIZE); -#elif defined(TRANSLATIONS_FR) || defined(TRANSLATIONS_IT) || defined(TRANSLATIONS_CZ) - lcd_putsAtt(MESSAGE_LCD_OFFSET, 0, STR_WARNING, DBLSIZE); - lcd_putsAtt(MESSAGE_LCD_OFFSET, 2*FH, title, DBLSIZE); -#else - lcd_putsAtt(MESSAGE_LCD_OFFSET, 0, title, DBLSIZE); - lcd_putsAtt(MESSAGE_LCD_OFFSET, 2*FH, STR_WARNING, DBLSIZE); -#endif - -#if defined(COLORLCD) - if (t) lcd_putsAtt(MESSAGE_LCD_OFFSET, 80, t, WHITE); - if (last) { - lcd_putsAtt(MESSAGE_LCD_OFFSET, 92, last, WHITE); - AUDIO_ERROR_MESSAGE(sound); - } -#elif LCD_W >= 212 - drawFilledRect(MESSAGE_LCD_OFFSET, 0, LCD_W-MESSAGE_LCD_OFFSET, 32); - if (t) lcd_puts(MESSAGE_LCD_OFFSET, 5*FH, t); - if (last) { - lcd_puts(MESSAGE_LCD_OFFSET, 7*FH, last); - AUDIO_ERROR_MESSAGE(sound); - } -#else - drawFilledRect(0, 0, LCD_W, 32); - if (t) lcd_putsLeft(5*FH, t); - if (last) { - lcd_putsLeft(7*FH, last); - AUDIO_ERROR_MESSAGE(sound); - } -#endif - - lcdRefresh(); - lcdSetContrast(); - clearKeyEvents(); -} -#endif - #if defined(GVARS) int8_t trimGvar[NUM_STICKS] = { -1, -1, -1, -1 }; #endif