From a4f491cac1f17dd338ba6d4c39537f5223c988ec Mon Sep 17 00:00:00 2001 From: Stéphane Doyon Date: Wed, 7 Nov 2007 03:25:33 +0000 Subject: Add a setting to control whether or not to speak the file type (r15506). git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15508 a1c6a512-1295-4272-9138-f99709370657 --- apps/lang/english.lang | 14 ++++++++++++++ apps/menus/settings_menu.c | 3 ++- apps/plugin.h | 4 ++-- apps/settings.h | 1 + apps/settings_list.c | 2 ++ apps/tree.c | 17 +++++++++++------ 6 files changed, 32 insertions(+), 9 deletions(-) (limited to 'apps') diff --git a/apps/lang/english.lang b/apps/lang/english.lang index 232efcbfd0..e79f865bde 100644 --- a/apps/lang/english.lang +++ b/apps/lang/english.lang @@ -11462,3 +11462,17 @@ *: "Announce Battery Level" + + id: LANG_VOICE_FILETYPE + desc: voice settings menu + user: + + *: "Say file type" + + + *: "Say file type" + + + *: "Say file type" + + diff --git a/apps/menus/settings_menu.c b/apps/menus/settings_menu.c index 1cea2b8c53..d1ca4a8d50 100644 --- a/apps/menus/settings_menu.c +++ b/apps/menus/settings_menu.c @@ -443,11 +443,12 @@ static int talk_callback(int action,const struct menu_item_ex *this_item) } return action; } +MENUITEM_SETTING(talk_filetype_item, &global_settings.talk_filetype, NULL); MENUITEM_SETTING(talk_battery_level_item, &global_settings.talk_battery_level, NULL); MAKE_MENU(voice_settings_menu, ID2P(LANG_VOICE), 0, Icon_Voice, &talk_menu_item, &talk_dir_item, &talk_dir_clip_item, - &talk_file_item, &talk_file_clip_item, + &talk_file_item, &talk_file_clip_item, &talk_filetype_item, &talk_battery_level_item); /* VOICE MENU */ /***********************************/ diff --git a/apps/plugin.h b/apps/plugin.h index 16333bb092..300cad0781 100644 --- a/apps/plugin.h +++ b/apps/plugin.h @@ -112,12 +112,12 @@ #define PLUGIN_MAGIC 0x526F634B /* RocK */ /* increase this every time the api struct changes */ -#define PLUGIN_API_VERSION 87 +#define PLUGIN_API_VERSION 88 /* update this to latest version if a change to the api struct breaks backwards compatibility (and please take the opportunity to sort in any new function which are "waiting" at the end of the function table) */ -#define PLUGIN_MIN_API_VERSION 87 +#define PLUGIN_MIN_API_VERSION 88 /* plugin return codes */ enum plugin_status { diff --git a/apps/settings.h b/apps/settings.h index 2f926c91f6..d4498cf721 100644 --- a/apps/settings.h +++ b/apps/settings.h @@ -529,6 +529,7 @@ struct user_settings bool talk_dir_clip; /* use directory .talk clips */ int talk_file; /* voice file mode: 0=off, 1=number, 2=spell */ bool talk_file_clip; /* use file .talk clips */ + bool talk_filetype; /* say file type */ bool talk_battery_level; /* file browser sorting */ diff --git a/apps/settings_list.c b/apps/settings_list.c index def6973378..d1d8905cfd 100644 --- a/apps/settings_list.c +++ b/apps/settings_list.c @@ -753,6 +753,8 @@ const struct settings_list settings[] = { ID2P(LANG_OFF), ID2P(LANG_VOICE_NUMBER), ID2P(LANG_VOICE_SPELL)), OFFON_SETTING(F_TEMPVAR, talk_file_clip, LANG_VOICE_FILE_TALK, false, "talk file clip", NULL), + OFFON_SETTING(F_TEMPVAR, talk_filetype, LANG_VOICE_FILETYPE, + false, "talk filetype", NULL), OFFON_SETTING(F_TEMPVAR, talk_battery_level, LANG_TALK_BATTERY_LEVEL, false, "Announce Battery Level", NULL), diff --git a/apps/tree.c b/apps/tree.c index 1d1592b4fa..13b0756cbb 100644 --- a/apps/tree.c +++ b/apps/tree.c @@ -268,15 +268,19 @@ static int tree_voice_cb(int selected_item, void * data) talk_id(is_dir ? VOICE_DIR : VOICE_FILE, false); talk_number(selected_item+1 - (is_dir ? 0 : local_tc->dirsindir), true); - if(!is_dir && *local_tc->dirfilter < NUM_FILTER_MODES) + if(global_settings.talk_filetype + && !is_dir && *local_tc->dirfilter < NUM_FILTER_MODES) say_filetype(attr); break; case 2: /* spelled */ talk_shutup(); - if(is_dir) - talk_id(VOICE_DIR, true); - else if(*local_tc->dirfilter < NUM_FILTER_MODES) - say_filetype(attr); + if(global_settings.talk_filetype) + { + if(is_dir) + talk_id(VOICE_DIR, true); + else if(*local_tc->dirfilter < NUM_FILTER_MODES) + say_filetype(attr); + } talk_spell(name, true); break; } @@ -1208,7 +1212,8 @@ static int ft_play_dirname(char* name) DEBUGF("Found: %s\n", dirname_mp3_filename); talk_file(dirname_mp3_filename, false); - talk_id(VOICE_DIR, true); + if(global_settings.talk_filetype) + talk_id(VOICE_DIR, true); return 1; } -- cgit v1.2.3