summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--apps/lang/english.lang14
-rw-r--r--apps/menus/settings_menu.c3
-rw-r--r--apps/plugin.h4
-rw-r--r--apps/settings.h1
-rw-r--r--apps/settings_list.c2
-rw-r--r--apps/tree.c17
6 files changed, 32 insertions, 9 deletions
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 @@
11462 *: "Announce Battery Level" 11462 *: "Announce Battery Level"
11463 </voice> 11463 </voice>
11464</phrase> 11464</phrase>
11465<phrase>
11466 id: LANG_VOICE_FILETYPE
11467 desc: voice settings menu
11468 user:
11469 <source>
11470 *: "Say file type"
11471 </source>
11472 <dest>
11473 *: "Say file type"
11474 </dest>
11475 <voice>
11476 *: "Say file type"
11477 </voice>
11478</phrase>
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)
443 } 443 }
444 return action; 444 return action;
445} 445}
446MENUITEM_SETTING(talk_filetype_item, &global_settings.talk_filetype, NULL);
446MENUITEM_SETTING(talk_battery_level_item, 447MENUITEM_SETTING(talk_battery_level_item,
447 &global_settings.talk_battery_level, NULL); 448 &global_settings.talk_battery_level, NULL);
448MAKE_MENU(voice_settings_menu, ID2P(LANG_VOICE), 0, Icon_Voice, 449MAKE_MENU(voice_settings_menu, ID2P(LANG_VOICE), 0, Icon_Voice,
449 &talk_menu_item, &talk_dir_item, &talk_dir_clip_item, 450 &talk_menu_item, &talk_dir_item, &talk_dir_clip_item,
450 &talk_file_item, &talk_file_clip_item, 451 &talk_file_item, &talk_file_clip_item, &talk_filetype_item,
451 &talk_battery_level_item); 452 &talk_battery_level_item);
452/* VOICE MENU */ 453/* VOICE MENU */
453/***********************************/ 454/***********************************/
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 @@
112#define PLUGIN_MAGIC 0x526F634B /* RocK */ 112#define PLUGIN_MAGIC 0x526F634B /* RocK */
113 113
114/* increase this every time the api struct changes */ 114/* increase this every time the api struct changes */
115#define PLUGIN_API_VERSION 87 115#define PLUGIN_API_VERSION 88
116 116
117/* update this to latest version if a change to the api struct breaks 117/* update this to latest version if a change to the api struct breaks
118 backwards compatibility (and please take the opportunity to sort in any 118 backwards compatibility (and please take the opportunity to sort in any
119 new function which are "waiting" at the end of the function table) */ 119 new function which are "waiting" at the end of the function table) */
120#define PLUGIN_MIN_API_VERSION 87 120#define PLUGIN_MIN_API_VERSION 88
121 121
122/* plugin return codes */ 122/* plugin return codes */
123enum plugin_status { 123enum 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
529 bool talk_dir_clip; /* use directory .talk clips */ 529 bool talk_dir_clip; /* use directory .talk clips */
530 int talk_file; /* voice file mode: 0=off, 1=number, 2=spell */ 530 int talk_file; /* voice file mode: 0=off, 1=number, 2=spell */
531 bool talk_file_clip; /* use file .talk clips */ 531 bool talk_file_clip; /* use file .talk clips */
532 bool talk_filetype; /* say file type */
532 bool talk_battery_level; 533 bool talk_battery_level;
533 534
534 /* file browser sorting */ 535 /* 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[] = {
753 ID2P(LANG_OFF), ID2P(LANG_VOICE_NUMBER), 753 ID2P(LANG_OFF), ID2P(LANG_VOICE_NUMBER),
754 ID2P(LANG_VOICE_SPELL)), 754 ID2P(LANG_VOICE_SPELL)),
755 OFFON_SETTING(F_TEMPVAR, talk_file_clip, LANG_VOICE_FILE_TALK, false, "talk file clip", NULL), 755 OFFON_SETTING(F_TEMPVAR, talk_file_clip, LANG_VOICE_FILE_TALK, false, "talk file clip", NULL),
756 OFFON_SETTING(F_TEMPVAR, talk_filetype, LANG_VOICE_FILETYPE,
757 false, "talk filetype", NULL),
756 OFFON_SETTING(F_TEMPVAR, talk_battery_level, 758 OFFON_SETTING(F_TEMPVAR, talk_battery_level,
757 LANG_TALK_BATTERY_LEVEL, false, 759 LANG_TALK_BATTERY_LEVEL, false,
758 "Announce Battery Level", NULL), 760 "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)
268 talk_id(is_dir ? VOICE_DIR : VOICE_FILE, false); 268 talk_id(is_dir ? VOICE_DIR : VOICE_FILE, false);
269 talk_number(selected_item+1 - (is_dir ? 0 : local_tc->dirsindir), 269 talk_number(selected_item+1 - (is_dir ? 0 : local_tc->dirsindir),
270 true); 270 true);
271 if(!is_dir && *local_tc->dirfilter < NUM_FILTER_MODES) 271 if(global_settings.talk_filetype
272 && !is_dir && *local_tc->dirfilter < NUM_FILTER_MODES)
272 say_filetype(attr); 273 say_filetype(attr);
273 break; 274 break;
274 case 2: /* spelled */ 275 case 2: /* spelled */
275 talk_shutup(); 276 talk_shutup();
276 if(is_dir) 277 if(global_settings.talk_filetype)
277 talk_id(VOICE_DIR, true); 278 {
278 else if(*local_tc->dirfilter < NUM_FILTER_MODES) 279 if(is_dir)
279 say_filetype(attr); 280 talk_id(VOICE_DIR, true);
281 else if(*local_tc->dirfilter < NUM_FILTER_MODES)
282 say_filetype(attr);
283 }
280 talk_spell(name, true); 284 talk_spell(name, true);
281 break; 285 break;
282 } 286 }
@@ -1208,7 +1212,8 @@ static int ft_play_dirname(char* name)
1208 DEBUGF("Found: %s\n", dirname_mp3_filename); 1212 DEBUGF("Found: %s\n", dirname_mp3_filename);
1209 1213
1210 talk_file(dirname_mp3_filename, false); 1214 talk_file(dirname_mp3_filename, false);
1211 talk_id(VOICE_DIR, true); 1215 if(global_settings.talk_filetype)
1216 talk_id(VOICE_DIR, true);
1212 return 1; 1217 return 1;
1213} 1218}
1214 1219