diff options
author | Jonathan Gordon <rockbox@jdgordon.info> | 2008-05-04 02:11:24 +0000 |
---|---|---|
committer | Jonathan Gordon <rockbox@jdgordon.info> | 2008-05-04 02:11:24 +0000 |
commit | dd4e3848b80a6452012b4b9f947688f9278412e9 (patch) | |
tree | f8efc14d95afbba71e0ea9db4dbeefb80c148626 /apps/gui/option_select.c | |
parent | 8cfdf955fd40a318df5d2f50aba764e83c847480 (diff) | |
download | rockbox-dd4e3848b80a6452012b4b9f947688f9278412e9.tar.gz rockbox-dd4e3848b80a6452012b4b9f947688f9278412e9.zip |
make the quickscreen talk
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17345 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/gui/option_select.c')
-rw-r--r-- | apps/gui/option_select.c | 32 |
1 files changed, 18 insertions, 14 deletions
diff --git a/apps/gui/option_select.c b/apps/gui/option_select.c index 288bf9098b..ffa8f1b0a1 100644 --- a/apps/gui/option_select.c +++ b/apps/gui/option_select.c | |||
@@ -146,24 +146,21 @@ char *option_get_valuestring(struct settings_list *setting, | |||
146 | } | 146 | } |
147 | return buffer; | 147 | return buffer; |
148 | } | 148 | } |
149 | 149 | void option_talk_value(const struct settings_list *setting, int value, bool enqueue) | |
150 | static int option_talk(int selected_item, void * data) | ||
151 | { | 150 | { |
152 | struct settings_list *setting = (struct settings_list *)data; | ||
153 | int temp_var = selection_to_val(setting, selected_item); | ||
154 | if ((setting->flags & F_BOOL_SETTING) == F_BOOL_SETTING) | 151 | if ((setting->flags & F_BOOL_SETTING) == F_BOOL_SETTING) |
155 | { | 152 | { |
156 | bool val = temp_var==1?true:false; | 153 | bool val = value==1?true:false; |
157 | talk_id(val? setting->bool_setting->lang_yes : | 154 | talk_id(val? setting->bool_setting->lang_yes : |
158 | setting->bool_setting->lang_no, false); | 155 | setting->bool_setting->lang_no, enqueue); |
159 | } | 156 | } |
160 | #if 0 /* probably dont need this one */ | 157 | #if 0 /* probably dont need this one */ |
161 | else if ((setting->flags & F_FILENAME) == F_FILENAME) | 158 | else if ((setting->flags & F_FILENAME) == F_FILENAME) |
162 | { | 159 | { |
163 | } | 160 | } |
164 | #endif | 161 | #endif |
165 | else if (((setting->flags & F_INT_SETTING) == F_INT_SETTING) || | 162 | else if (((setting->flags & F_INT_SETTING) == F_INT_SETTING) || |
166 | ((setting->flags & F_TABLE_SETTING) == F_TABLE_SETTING)) | 163 | ((setting->flags & F_TABLE_SETTING) == F_TABLE_SETTING)) |
167 | { | 164 | { |
168 | const struct int_setting *int_info = setting->int_setting; | 165 | const struct int_setting *int_info = setting->int_setting; |
169 | const struct table_setting *tbl_info = setting->table_setting; | 166 | const struct table_setting *tbl_info = setting->table_setting; |
@@ -180,9 +177,9 @@ static int option_talk(int selected_item, void * data) | |||
180 | get_talk_id = tbl_info->get_talk_id; | 177 | get_talk_id = tbl_info->get_talk_id; |
181 | } | 178 | } |
182 | if (get_talk_id) | 179 | if (get_talk_id) |
183 | talk_id(get_talk_id((int)temp_var, unit), false); | 180 | talk_id(get_talk_id((int)value, unit), enqueue); |
184 | else | 181 | else |
185 | talk_value((int)temp_var, unit, false); | 182 | talk_value((int)value, unit, enqueue); |
186 | } | 183 | } |
187 | else if ((setting->flags & F_T_SOUND) == F_T_SOUND) | 184 | else if ((setting->flags & F_T_SOUND) == F_T_SOUND) |
188 | { | 185 | { |
@@ -194,20 +191,27 @@ static int option_talk(int selected_item, void * data) | |||
194 | talkunit = UNIT_PERCENT; | 191 | talkunit = UNIT_PERCENT; |
195 | else if (!strcmp(unit, "Hz")) | 192 | else if (!strcmp(unit, "Hz")) |
196 | talkunit = UNIT_HERTZ; | 193 | talkunit = UNIT_HERTZ; |
197 | talk_value((int)temp_var, talkunit, false); | 194 | talk_value((int)value, talkunit, false); |
198 | } | 195 | } |
199 | else if ((setting->flags & F_CHOICE_SETTING) == F_CHOICE_SETTING) | 196 | else if ((setting->flags & F_CHOICE_SETTING) == F_CHOICE_SETTING) |
200 | { | 197 | { |
201 | int value = (int)temp_var; | 198 | int value = (int)value; |
202 | if (setting->flags & F_CHOICETALKS) | 199 | if (setting->flags & F_CHOICETALKS) |
203 | { | 200 | { |
204 | talk_id(setting->choice_setting->talks[value], false); | 201 | talk_id(setting->choice_setting->talks[value], enqueue); |
205 | } | 202 | } |
206 | else | 203 | else |
207 | { | 204 | { |
208 | talk_id(P2ID(setting->choice_setting->desc[value]), false); | 205 | talk_id(P2ID(setting->choice_setting->desc[value]), enqueue); |
209 | } | 206 | } |
210 | } | 207 | } |
208 | } | ||
209 | |||
210 | static int option_talk(int selected_item, void * data) | ||
211 | { | ||
212 | struct settings_list *setting = (struct settings_list *)data; | ||
213 | int temp_var = selection_to_val(setting, selected_item); | ||
214 | option_talk_value(setting, temp_var, false); | ||
211 | return 0; | 215 | return 0; |
212 | } | 216 | } |
213 | 217 | ||