diff options
Diffstat (limited to 'apps/gui/option_select.c')
-rw-r--r-- | apps/gui/option_select.c | 62 |
1 files changed, 33 insertions, 29 deletions
diff --git a/apps/gui/option_select.c b/apps/gui/option_select.c index 9f1f0a64e3..7068fee510 100644 --- a/apps/gui/option_select.c +++ b/apps/gui/option_select.c | |||
@@ -334,29 +334,35 @@ static int selection_to_val(const struct settings_list *setting, int selection) | |||
334 | else if ((setting->flags & F_T_SOUND) == F_T_SOUND) | 334 | else if ((setting->flags & F_T_SOUND) == F_T_SOUND) |
335 | { | 335 | { |
336 | int setting_id = setting->sound_setting->setting; | 336 | int setting_id = setting->sound_setting->setting; |
337 | #ifndef ASCENDING_INT_SETTINGS | 337 | if(global_settings.list_order == LIST_ORDER_DESCENDING) |
338 | step = sound_steps(setting_id); | 338 | { |
339 | max = (setting_id == SOUND_VOLUME) ? | 339 | step = sound_steps(setting_id); |
340 | global_settings.volume_limit : sound_max(setting_id); | 340 | max = (setting_id == SOUND_VOLUME) ? |
341 | /* min = sound_min(setting_id); */ | 341 | global_settings.volume_limit : sound_max(setting_id); |
342 | #else | 342 | /* min = sound_min(setting_id); */ |
343 | step = -sound_steps(setting_id); | 343 | } |
344 | /* min = sound_max(setting_id); */ | 344 | else |
345 | max = sound_min(setting_id); | 345 | { |
346 | #endif | 346 | step = -sound_steps(setting_id); |
347 | /* min = sound_max(setting_id); */ | ||
348 | max = sound_min(setting_id); | ||
349 | } | ||
347 | } | 350 | } |
348 | else if ((setting->flags & F_INT_SETTING) == F_INT_SETTING) | 351 | else if ((setting->flags & F_INT_SETTING) == F_INT_SETTING) |
349 | { | 352 | { |
350 | const struct int_setting *info = setting->int_setting; | 353 | const struct int_setting *info = setting->int_setting; |
351 | #ifndef ASCENDING_INT_SETTINGS | 354 | if(global_settings.list_order == LIST_ORDER_DESCENDING) |
352 | /* min = info->min; */ | 355 | { |
353 | max = info->max; | 356 | /* min = info->min; */ |
354 | step = info->step; | 357 | max = info->max; |
355 | #else | 358 | step = info->step; |
356 | max = info->min; | 359 | } |
357 | /* min = info->max; */ | 360 | else |
358 | step = -info->step; | 361 | { |
359 | #endif | 362 | max = info->min; |
363 | /* min = info->max; */ | ||
364 | step = -info->step; | ||
365 | } | ||
360 | } | 366 | } |
361 | return max- (selection * step); | 367 | return max- (selection * step); |
362 | } | 368 | } |
@@ -424,11 +430,10 @@ static void val_to_selection(const struct settings_list *setting, int oldvalue, | |||
424 | int max = (setting_id == SOUND_VOLUME) ? | 430 | int max = (setting_id == SOUND_VOLUME) ? |
425 | global_settings.volume_limit : sound_max(setting_id); | 431 | global_settings.volume_limit : sound_max(setting_id); |
426 | *nb_items = (max-min)/steps + 1; | 432 | *nb_items = (max-min)/steps + 1; |
427 | #ifndef ASCENDING_INT_SETTINGS | 433 | if (global_settings.list_order == LIST_ORDER_DESCENDING) |
428 | *selected = (max - oldvalue) / steps; | 434 | *selected = (max - oldvalue) / steps; |
429 | #else | 435 | else |
430 | *selected = (oldvalue - min) / steps; | 436 | *selected = (oldvalue - min) / steps; |
431 | #endif | ||
432 | *function = sound_get_fn(setting_id); | 437 | *function = sound_get_fn(setting_id); |
433 | } | 438 | } |
434 | else | 439 | else |
@@ -439,11 +444,10 @@ static void val_to_selection(const struct settings_list *setting, int oldvalue, | |||
439 | min = info->min; | 444 | min = info->min; |
440 | step = info->step; | 445 | step = info->step; |
441 | *nb_items = (max-min)/step + 1; | 446 | *nb_items = (max-min)/step + 1; |
442 | #ifndef ASCENDING_INT_SETTINGS | 447 | if(global_settings.list_order == LIST_ORDER_DESCENDING) |
443 | *selected = (max - oldvalue) / step; | 448 | *selected = (max - oldvalue) / step; |
444 | #else | 449 | else |
445 | *selected = (oldvalue - min) / step; | 450 | *selected = (oldvalue - min) / step; |
446 | #endif | ||
447 | *function = info->option_callback; | 451 | *function = info->option_callback; |
448 | } | 452 | } |
449 | } | 453 | } |