summaryrefslogtreecommitdiff
path: root/apps/menus/radio_menu.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/menus/radio_menu.c')
-rw-r--r--apps/menus/radio_menu.c15
1 files changed, 14 insertions, 1 deletions
diff --git a/apps/menus/radio_menu.c b/apps/menus/radio_menu.c
index e787aaa3e6..8ab7151c3e 100644
--- a/apps/menus/radio_menu.c
+++ b/apps/menus/radio_menu.c
@@ -29,6 +29,7 @@
29#include "presets.h" 29#include "presets.h"
30#include "exported_menus.h" 30#include "exported_menus.h"
31#include "sound_menu.h" /* recording_menu() */ 31#include "sound_menu.h" /* recording_menu() */
32#include "talk.h"
32 33
33#ifdef HAVE_RECORDING 34#ifdef HAVE_RECORDING
34#include "recording.h" /* recording_screen() */ 35#include "recording.h" /* recording_screen() */
@@ -108,6 +109,17 @@ static char* get_mode_text(int selected_item, void * data, char *buffer)
108 str(LANG_RADIO_SCAN_MODE)); 109 str(LANG_RADIO_SCAN_MODE));
109 return buffer; 110 return buffer;
110} 111}
112static int mode_speak_item(int selected_item, void * data)
113{
114 (void)selected_item;
115 (void)data;
116 long talk_ids[4];
117 talk_ids[0] = LANG_MODE;
118 talk_ids[1] = radio_mode ? LANG_PRESET : LANG_RADIO_SCAN_MODE;
119 talk_ids[2] = TALK_FINAL_ID;
120 talk_idarray(talk_ids, true);
121 return 0;
122}
111static int toggle_radio_mode(void) 123static int toggle_radio_mode(void)
112{ 124{
113 radio_mode = (radio_mode == RADIO_SCAN_MODE) ? 125 radio_mode = (radio_mode == RADIO_SCAN_MODE) ?
@@ -116,7 +128,8 @@ static int toggle_radio_mode(void)
116} 128}
117MENUITEM_FUNCTION_DYNTEXT(radio_mode_item, 0, 129MENUITEM_FUNCTION_DYNTEXT(radio_mode_item, 0,
118 toggle_radio_mode, NULL, 130 toggle_radio_mode, NULL,
119 get_mode_text, NULL, NULL, NULL, Icon_NOICON); 131 get_mode_text, mode_speak_item,
132 NULL, NULL, Icon_NOICON);
120#endif 133#endif
121 134
122MENUITEM_FUNCTION(scan_presets_item, MENU_FUNC_USEPARAM, 135MENUITEM_FUNCTION(scan_presets_item, MENU_FUNC_USEPARAM,