summaryrefslogtreecommitdiff
path: root/apps/gui/option_select.c
diff options
context:
space:
mode:
authorJonathan Gordon <rockbox@jdgordon.info>2008-05-04 08:11:28 +0000
committerJonathan Gordon <rockbox@jdgordon.info>2008-05-04 08:11:28 +0000
commit39bccd65b92386654dfc71e426352ad9d9148fae (patch)
treeebd36c3524e5fcba763af339d750bfb3160ec0de /apps/gui/option_select.c
parent75fe8875bc3548f11e9e05ac9728c384050ed2e1 (diff)
downloadrockbox-39bccd65b92386654dfc71e426352ad9d9148fae.tar.gz
rockbox-39bccd65b92386654dfc71e426352ad9d9148fae.zip
recommit the talking quickscreen... silly rename bug which I mised this morning
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17348 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/gui/option_select.c')
-rw-r--r--apps/gui/option_select.c31
1 files changed, 17 insertions, 14 deletions
diff --git a/apps/gui/option_select.c b/apps/gui/option_select.c
index 288bf9098b..8798ea145c 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 149void option_talk_value(const struct settings_list *setting, int value, bool enqueue)
150static 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(value, unit), enqueue);
184 else 181 else
185 talk_value((int)temp_var, unit, false); 182 talk_value(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,26 @@ 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(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;
202 if (setting->flags & F_CHOICETALKS) 198 if (setting->flags & F_CHOICETALKS)
203 { 199 {
204 talk_id(setting->choice_setting->talks[value], false); 200 talk_id(setting->choice_setting->talks[value], enqueue);
205 } 201 }
206 else 202 else
207 { 203 {
208 talk_id(P2ID(setting->choice_setting->desc[value]), false); 204 talk_id(P2ID(setting->choice_setting->desc[value]), enqueue);
209 } 205 }
210 } 206 }
207}
208
209static int option_talk(int selected_item, void * data)
210{
211 struct settings_list *setting = (struct settings_list *)data;
212 int temp_var = selection_to_val(setting, selected_item);
213 option_talk_value(setting, temp_var, false);
211 return 0; 214 return 0;
212} 215}
213 216