message function moved to GUI directories

This commit is contained in:
bsongis
2015-01-23 12:56:36 +01:00
parent db722da7c5
commit d6b67899ff
6 changed files with 86 additions and 83 deletions
+2
View File
@@ -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;
+29
View File
@@ -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;
@@ -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);
+2 -2
View File
@@ -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);
+34 -7
View File
@@ -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);
}
-55
View File
@@ -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