7
7
#include "utils2.h"
8
8
#include "version2.h"
9
9
10
- enum settings_sleep_timeout_menu_t {
11
- SETTINGS_LANGUAGE_ZH_HANS ,
12
- SETTINGS_LANGUAGE_EN_US ,
13
- SETTINGS_LANGUAGE_ZH_TW ,
14
- SETTINGS_LANGUAGE_ES_ES ,
15
- SETTINGS_LANGUAGE_HU_HU ,
16
- SETTINGS_LANGUAGE_KO_KR ,
17
- SETTINGS_LANGUAGE_MENU_EXIT ,
18
- };
19
10
20
11
static void settings_scene_language_list_view_on_selected (mui_list_view_event_t event , mui_list_view_t * p_list_view ,
21
12
mui_list_item_t * p_item ) {
13
+
22
14
app_settings_t * app = p_list_view -> user_data ;
23
15
uint32_t selection = (uint32_t )p_item -> user_data ;
24
16
settings_data_t * p_settings = settings_get_data ();
25
- switch (selection ) {
26
- case SETTINGS_LANGUAGE_ZH_HANS :
27
- p_settings -> language = LANGUAGE_ZH_HANS ;
28
- setLanguage (p_settings -> language );
29
- break ;
30
-
31
- case SETTINGS_LANGUAGE_EN_US :
32
- p_settings -> language = LANGUAGE_EN_US ;
33
- setLanguage (p_settings -> language );
34
- break ;
35
-
36
- case SETTINGS_LANGUAGE_ZH_TW :
37
- p_settings -> language = LANGUAGE_ZH_TW ;
38
- setLanguage (p_settings -> language );
39
- break ;
40
-
41
- case SETTINGS_LANGUAGE_ES_ES :
42
- p_settings -> language = LANGUAGE_ES_ES ;
43
- setLanguage (p_settings -> language );
44
- break ;
45
-
46
- case SETTINGS_LANGUAGE_HU_HU :
47
- p_settings -> language = LANGUAGE_HU_HU ;
17
+ if (selection < LANGUAGE_COUNT ){
18
+ p_settings -> language = selection ;
48
19
setLanguage (p_settings -> language );
49
- break ;
50
20
}
21
+
51
22
mui_scene_dispatcher_previous_scene (app -> p_scene_dispatcher );
52
23
}
53
24
54
25
void settings_scene_language_on_enter (void * user_data ) {
55
26
56
27
app_settings_t * app = user_data ;
57
- mui_list_view_add_item (app -> p_list_view , 0xe105 , "简体中文" , (void * )SETTINGS_LANGUAGE_ZH_HANS );
58
- mui_list_view_add_item (app -> p_list_view , 0xe105 , "繁體中文(臺灣)" , (void * )SETTINGS_LANGUAGE_ZH_TW );
59
- mui_list_view_add_item (app -> p_list_view , 0xe105 , "English" , (void * )SETTINGS_LANGUAGE_EN_US );
60
- mui_list_view_add_item (app -> p_list_view , 0xe105 , getLangDesc (LANGUAGE_ES_ES ), (void * )SETTINGS_LANGUAGE_ES_ES );
61
- mui_list_view_add_item (app -> p_list_view , 0xe105 , getLangDesc (LANGUAGE_HU_HU ), (void * )SETTINGS_LANGUAGE_HU_HU );
62
- mui_list_view_add_item (app -> p_list_view , 0xe069 , getLangString (_L_BACK ), (void * )SETTINGS_LANGUAGE_MENU_EXIT );
28
+ for (uint8_t i = 0 ; i < LANGUAGE_COUNT ; i ++ ){
29
+ mui_list_view_add_item (app -> p_list_view , 0xe105 , getLangDesc (i ), (void * )i );
30
+ }
31
+ mui_list_view_add_item (app -> p_list_view , 0xe069 , getLangString (_L_BACK ), (void * )NULL_USER_DATA );
63
32
64
33
mui_list_view_set_selected_cb (app -> p_list_view , settings_scene_language_list_view_on_selected );
65
34
mui_view_dispatcher_switch_to_view (app -> p_view_dispatcher , SETTINGS_VIEW_ID_MAIN );
@@ -69,4 +38,4 @@ void settings_scene_language_on_exit(void *user_data) {
69
38
app_settings_t * app = user_data ;
70
39
mui_list_view_clear_items (app -> p_list_view );
71
40
mui_list_view_set_selected_cb (app -> p_list_view , NULL );
72
- }
41
+ }
0 commit comments