diff options
author | Stéphane Doyon <s.doyon@videotron.ca> | 2008-05-04 02:57:30 +0000 |
---|---|---|
committer | Stéphane Doyon <s.doyon@videotron.ca> | 2008-05-04 02:57:30 +0000 |
commit | 49a73ca90f1ceacbf096ddc0064d21c38c56955d (patch) | |
tree | a9723df88fc32082eca1e76c6827efd9ff548043 /apps/gui/option_select.c | |
parent | dd4e3848b80a6452012b4b9f947688f9278412e9 (diff) | |
download | rockbox-49a73ca90f1ceacbf096ddc0064d21c38c56955d.tar.gz rockbox-49a73ca90f1ceacbf096ddc0064d21c38c56955d.zip |
Revert r17345 on jdgordon's request, until we figure out why it crashes my x5.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17346 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, 14 insertions, 18 deletions
diff --git a/apps/gui/option_select.c b/apps/gui/option_select.c index ffa8f1b0a1..288bf9098b 100644 --- a/apps/gui/option_select.c +++ b/apps/gui/option_select.c | |||
@@ -146,21 +146,24 @@ char *option_get_valuestring(struct settings_list *setting, | |||
146 | } | 146 | } |
147 | return buffer; | 147 | return buffer; |
148 | } | 148 | } |
149 | void option_talk_value(const struct settings_list *setting, int value, bool enqueue) | 149 | |
150 | static int option_talk(int selected_item, void * data) | ||
150 | { | 151 | { |
152 | struct settings_list *setting = (struct settings_list *)data; | ||
153 | int temp_var = selection_to_val(setting, selected_item); | ||
151 | if ((setting->flags & F_BOOL_SETTING) == F_BOOL_SETTING) | 154 | if ((setting->flags & F_BOOL_SETTING) == F_BOOL_SETTING) |
152 | { | 155 | { |
153 | bool val = value==1?true:false; | 156 | bool val = temp_var==1?true:false; |
154 | talk_id(val? setting->bool_setting->lang_yes : | 157 | talk_id(val? setting->bool_setting->lang_yes : |
155 | setting->bool_setting->lang_no, enqueue); | 158 | setting->bool_setting->lang_no, false); |
156 | } | 159 | } |
157 | #if 0 /* probably dont need this one */ | 160 | #if 0 /* probably dont need this one */ |
158 | else if ((setting->flags & F_FILENAME) == F_FILENAME) | 161 | else if ((setting->flags & F_FILENAME) == F_FILENAME) |
159 | { | 162 | { |
160 | } | 163 | } |
161 | #endif | 164 | #endif |
162 | else if (((setting->flags & F_INT_SETTING) == F_INT_SETTING) || | 165 | else if (((setting->flags & F_INT_SETTING) == F_INT_SETTING) || |
163 | ((setting->flags & F_TABLE_SETTING) == F_TABLE_SETTING)) | 166 | ((setting->flags & F_TABLE_SETTING) == F_TABLE_SETTING)) |
164 | { | 167 | { |
165 | const struct int_setting *int_info = setting->int_setting; | 168 | const struct int_setting *int_info = setting->int_setting; |
166 | const struct table_setting *tbl_info = setting->table_setting; | 169 | const struct table_setting *tbl_info = setting->table_setting; |
@@ -177,9 +180,9 @@ void option_talk_value(const struct settings_list *setting, int value, bool enqu | |||
177 | get_talk_id = tbl_info->get_talk_id; | 180 | get_talk_id = tbl_info->get_talk_id; |
178 | } | 181 | } |
179 | if (get_talk_id) | 182 | if (get_talk_id) |
180 | talk_id(get_talk_id((int)value, unit), enqueue); | 183 | talk_id(get_talk_id((int)temp_var, unit), false); |
181 | else | 184 | else |
182 | talk_value((int)value, unit, enqueue); | 185 | talk_value((int)temp_var, unit, false); |
183 | } | 186 | } |
184 | else if ((setting->flags & F_T_SOUND) == F_T_SOUND) | 187 | else if ((setting->flags & F_T_SOUND) == F_T_SOUND) |
185 | { | 188 | { |
@@ -191,27 +194,20 @@ void option_talk_value(const struct settings_list *setting, int value, bool enqu | |||
191 | talkunit = UNIT_PERCENT; | 194 | talkunit = UNIT_PERCENT; |
192 | else if (!strcmp(unit, "Hz")) | 195 | else if (!strcmp(unit, "Hz")) |
193 | talkunit = UNIT_HERTZ; | 196 | talkunit = UNIT_HERTZ; |
194 | talk_value((int)value, talkunit, false); | 197 | talk_value((int)temp_var, talkunit, false); |
195 | } | 198 | } |
196 | else if ((setting->flags & F_CHOICE_SETTING) == F_CHOICE_SETTING) | 199 | else if ((setting->flags & F_CHOICE_SETTING) == F_CHOICE_SETTING) |
197 | { | 200 | { |
198 | int value = (int)value; | 201 | int value = (int)temp_var; |
199 | if (setting->flags & F_CHOICETALKS) | 202 | if (setting->flags & F_CHOICETALKS) |
200 | { | 203 | { |
201 | talk_id(setting->choice_setting->talks[value], enqueue); | 204 | talk_id(setting->choice_setting->talks[value], false); |
202 | } | 205 | } |
203 | else | 206 | else |
204 | { | 207 | { |
205 | talk_id(P2ID(setting->choice_setting->desc[value]), enqueue); | 208 | talk_id(P2ID(setting->choice_setting->desc[value]), false); |
206 | } | 209 | } |
207 | } | 210 | } |
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); | ||
215 | return 0; | 211 | return 0; |
216 | } | 212 | } |
217 | 213 | ||