From 6fd10bacceb576ee39e7ecfa32510ae8c97815ba Mon Sep 17 00:00:00 2001 From: Steve Bavin Date: Thu, 7 Jun 2007 09:24:53 +0000 Subject: Separate out voice options for .talk clips (FS #7249). This removes the assumptions about what to speak if a .talk clip is not available for a particular file or directory, git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13584 a1c6a512-1295-4272-9138-f99709370657 --- apps/menus/settings_menu.c | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) (limited to 'apps/menus') diff --git a/apps/menus/settings_menu.c b/apps/menus/settings_menu.c index 6d962824f1..a11a7f0c40 100644 --- a/apps/menus/settings_menu.c +++ b/apps/menus/settings_menu.c @@ -397,25 +397,28 @@ MAKE_MENU(bookmark_settings_menu, ID2P(LANG_BOOKMARK_SETTINGS), 0, /***********************************/ /* VOICE MENU */ static int talk_callback(int action,const struct menu_item_ex *this_item); -MENUITEM_SETTING(talk_menu, &global_settings.talk_menu, NULL); -MENUITEM_SETTING(talk_dir, &global_settings.talk_dir, talk_callback); -MENUITEM_SETTING(talk_file_item, &global_settings.talk_file, talk_callback); +MENUITEM_SETTING(talk_menu_item, &global_settings.talk_menu, NULL); +MENUITEM_SETTING(talk_dir_item, &global_settings.talk_dir, NULL); +MENUITEM_SETTING(talk_dir_clip_item, &global_settings.talk_dir_clip, talk_callback); +MENUITEM_SETTING(talk_file_item, &global_settings.talk_file, NULL); +MENUITEM_SETTING(talk_file_clip_item, &global_settings.talk_file_clip, talk_callback); static int talk_callback(int action,const struct menu_item_ex *this_item) { static int oldval = 0; switch (action) { case ACTION_ENTER_MENUITEM: - oldval = global_settings.talk_file; + oldval = global_settings.talk_file_clip; break; case ACTION_EXIT_MENUITEM: #if CONFIG_CODEC == SWCODEC audio_set_crossfade(global_settings.crossfade); #endif - if (this_item == &talk_dir) + if (this_item == &talk_dir_clip_item) break; - if (oldval != 3 && global_settings.talk_file == 3) - { /* force reload if newly talking thumbnails, + if (!oldval && global_settings.talk_file_clip) + { + /* force reload if newly talking thumbnails, because the clip presence is cached only if enabled */ reload_directory(); } @@ -424,7 +427,8 @@ static int talk_callback(int action,const struct menu_item_ex *this_item) return action; } MAKE_MENU(voice_settings_menu, ID2P(LANG_VOICE), 0, Icon_Voice, - &talk_menu, &talk_dir, &talk_file_item); + &talk_menu_item, &talk_dir_item, &talk_dir_clip_item, + &talk_file_item, &talk_file_clip_item); /* VOICE MENU */ /***********************************/ -- cgit v1.2.3