diff options
Diffstat (limited to 'apps')
-rw-r--r-- | apps/lang/english.lang | 5 | ||||
-rw-r--r-- | apps/tree.c | 23 |
2 files changed, 26 insertions, 2 deletions
diff --git a/apps/lang/english.lang b/apps/lang/english.lang index bdd9f15532..657e40e247 100644 --- a/apps/lang/english.lang +++ b/apps/lang/english.lang | |||
@@ -799,3 +799,8 @@ id: LANG_POWEROFF_IDLE | |||
799 | desc: in settings_menu | 799 | desc: in settings_menu |
800 | eng: "Idle Poweroff" | 800 | eng: "Idle Poweroff" |
801 | new: | 801 | new: |
802 | |||
803 | id: LANG_LANGUAGE_LOADED | ||
804 | desc: shown when a language has been loaded from the dir browser | ||
805 | eng: "new language" | ||
806 | new: | ||
diff --git a/apps/tree.c b/apps/tree.c index 7aaea691a0..cc3a38ce9b 100644 --- a/apps/tree.c +++ b/apps/tree.c | |||
@@ -733,8 +733,27 @@ bool dirbrowse(char *root) | |||
733 | case TREE_ATTR_LNG: | 733 | case TREE_ATTR_LNG: |
734 | snprintf(buf, sizeof buf, "%s/%s", | 734 | snprintf(buf, sizeof buf, "%s/%s", |
735 | currdir, file->name); | 735 | currdir, file->name); |
736 | lang_load(buf); | 736 | if(!lang_load(buf)) { |
737 | restore = true; | 737 | lcd_clear_display(); |
738 | #ifdef HAVE_LCD_CHARCELLS | ||
739 | lcd_puts(0, 0, str(LANG_LANGUAGE_LOADED)); | ||
740 | #else | ||
741 | lcd_getstringsize(str(LANG_LANGUAGE_LOADED), | ||
742 | FONT_UI, &fw, &fh); | ||
743 | if(fw>LCD_WIDTH) | ||
744 | fw=0; | ||
745 | else | ||
746 | fw=LCD_WIDTH/2 - fw/2; | ||
747 | |||
748 | lcd_putsxy(fw, | ||
749 | LCD_HEIGHT/2 - fh/2, | ||
750 | str(LANG_LANGUAGE_LOADED), | ||
751 | FONT_UI); | ||
752 | #endif | ||
753 | lcd_update(); | ||
754 | sleep(HZ); | ||
755 | restore = true; | ||
756 | } | ||
738 | break; | 757 | break; |
739 | 758 | ||
740 | #ifdef HAVE_LCD_BITMAP | 759 | #ifdef HAVE_LCD_BITMAP |