summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Gordon <rockbox@jdgordon.info>2007-10-15 10:33:01 +0000
committerJonathan Gordon <rockbox@jdgordon.info>2007-10-15 10:33:01 +0000
commit0f7f3467bfcac6091106d2927c3728952d710615 (patch)
treeb62ee166903644cc6fcc89f231c621652d68bc22
parent50eed82f6bd4f1a523d5c0fa46bde6f3e1b6c28b (diff)
downloadrockbox-0f7f3467bfcac6091106d2927c3728952d710615.tar.gz
rockbox-0f7f3467bfcac6091106d2927c3728952d710615.zip
Integer setting changes to make all those settings consistant on the target.
wheel targets, clockwise is increase value archos player, + is increase button targets, up is increase git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15120 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--apps/gui/option_select.c48
-rw-r--r--apps/settings_list.c32
-rw-r--r--apps/settings_list.h3
3 files changed, 33 insertions, 50 deletions
diff --git a/apps/gui/option_select.c b/apps/gui/option_select.c
index 7550b8b7d4..6092a63da6 100644
--- a/apps/gui/option_select.c
+++ b/apps/gui/option_select.c
@@ -32,6 +32,16 @@
32#include "misc.h" 32#include "misc.h"
33#include "splash.h" 33#include "splash.h"
34 34
35#if defined (HAVE_SCROLLWHEEL) || \
36 (CONFIG_KEYPAD == IPOD_3G_PAD) || \
37 (CONFIG_KEYPAD == IPOD_4G_PAD) || \
38 (CONFIG_KEYPAD == IPOD_1G2G_PAD) || \
39 (CONFIG_KEYPAD == PLAYER_PAD)
40/* Define this if your target makes sense to have
41 smaller values at the top of the list increasing down the list */
42#define ASCENDING_INT_SETTINGS
43#endif
44
35static const char *unit_strings[] = 45static const char *unit_strings[] =
36{ 46{
37 [UNIT_INT] = "", [UNIT_MS] = "ms", 47 [UNIT_INT] = "", [UNIT_MS] = "ms",
@@ -249,14 +259,20 @@ static int selection_to_val(struct settings_list *setting, int selection)
249 else if ((setting->flags & F_T_SOUND) == F_T_SOUND) 259 else if ((setting->flags & F_T_SOUND) == F_T_SOUND)
250 { 260 {
251 int setting_id = setting->sound_setting->setting; 261 int setting_id = setting->sound_setting->setting;
262#ifndef ASCENDING_INT_SETTINGS
252 step = sound_steps(setting_id); 263 step = sound_steps(setting_id);
253 max = sound_max(setting_id); 264 max = sound_max(setting_id);
254 min = sound_min(setting_id); 265 min = sound_min(setting_id);
266#else
267 step = -sound_steps(setting_id);
268 min = sound_max(setting_id);
269 max = sound_min(setting_id);
270#endif
255 } 271 }
256 else if ((setting->flags & F_INT_SETTING) == F_INT_SETTING) 272 else if ((setting->flags & F_INT_SETTING) == F_INT_SETTING)
257 { 273 {
258 struct int_setting *info = setting->int_setting; 274 struct int_setting *info = setting->int_setting;
259#if CONFIG_KEYPAD != PLAYER_PAD 275#ifndef ASCENDING_INT_SETTINGS
260 min = info->min; 276 min = info->min;
261 max = info->max; 277 max = info->max;
262 step = info->step; 278 step = info->step;
@@ -266,12 +282,6 @@ static int selection_to_val(struct settings_list *setting, int selection)
266 step = -info->step; 282 step = -info->step;
267#endif 283#endif
268 } 284 }
269 if (setting->flags & F_FLIPLIST)
270 {
271 int a;
272 a = min; min = max; max = a;
273 step = -step;
274 }
275 return max- (selection * step); 285 return max- (selection * step);
276} 286}
277static char * value_setting_get_name_cb(int selected_item, 287static char * value_setting_get_name_cb(int selected_item,
@@ -342,32 +352,16 @@ bool option_screen(struct settings_list *setting,
342 int min = sound_min(setting_id); 352 int min = sound_min(setting_id);
343 int max = sound_max(setting_id); 353 int max = sound_max(setting_id);
344 nb_items = (max-min)/steps + 1; 354 nb_items = (max-min)/steps + 1;
345 if (setting->flags&F_FLIPLIST) 355 selected = (max - oldvalue) / steps;
346 {
347 selected = (oldvalue - min) / steps;
348 }
349 else
350 {
351 selected = (max - oldvalue) / steps;
352 }
353 function = sound_get_fn(setting_id); 356 function = sound_get_fn(setting_id);
354 } 357 }
355 else 358 else
356 { 359 {
357 struct int_setting *info = setting->int_setting; 360 struct int_setting *info = setting->int_setting;
358 int min, max, step; 361 int min, max, step;
359 if (setting->flags&F_FLIPLIST) 362 max = info->max;
360 { 363 min = info->min;
361 min = info->max; 364 step = info->step;
362 max = info->min;
363 step = -info->step;
364 }
365 else
366 {
367 max = info->max;
368 min = info->min;
369 step = info->step;
370 }
371 nb_items = (max-min)/step + 1; 365 nb_items = (max-min)/step + 1;
372 selected = (max - oldvalue)/step; 366 selected = (max - oldvalue)/step;
373 function = info->option_callback; 367 function = info->option_callback;
diff --git a/apps/settings_list.c b/apps/settings_list.c
index d19c0360ed..d54dff9305 100644
--- a/apps/settings_list.c
+++ b/apps/settings_list.c
@@ -371,23 +371,13 @@ static long jumpscroll_getlang(int value)
371} 371}
372#endif /* HAVE_LCD_CHARCELLS */ 372#endif /* HAVE_LCD_CHARCELLS */
373 373
374#if defined (HAVE_SCROLLWHEEL) || \
375 (CONFIG_KEYPAD == IPOD_3G_PAD) || \
376 (CONFIG_KEYPAD == IPOD_4G_PAD) || \
377 (CONFIG_KEYPAD == IPOD_1G2G_PAD) || \
378 (CONFIG_KEYPAD == PLAYER_PAD) /* player doesnt have a wheel, \
379 but acts the same way */
380#define FLIP_IF_WHEEL F_FLIPLIST
381#else
382#define FLIP_IF_WHEEL 0
383#endif
384 374
385const struct settings_list settings[] = { 375const struct settings_list settings[] = {
386 /* sound settings */ 376 /* sound settings */
387 SOUND_SETTING(FLIP_IF_WHEEL | F_NO_WRAP,volume, LANG_VOLUME, "volume", SOUND_VOLUME), 377 SOUND_SETTING(F_NO_WRAP,volume, LANG_VOLUME, "volume", SOUND_VOLUME),
388 SOUND_SETTING(FLIP_IF_WHEEL, balance, LANG_BALANCE, "balance", SOUND_BALANCE), 378 SOUND_SETTING(0, balance, LANG_BALANCE, "balance", SOUND_BALANCE),
389 SOUND_SETTING(FLIP_IF_WHEEL | F_NO_WRAP,bass, LANG_BASS, "bass", SOUND_BASS), 379 SOUND_SETTING(F_NO_WRAP,bass, LANG_BASS, "bass", SOUND_BASS),
390 SOUND_SETTING(FLIP_IF_WHEEL | F_NO_WRAP,treble, LANG_TREBLE, "treble", SOUND_TREBLE), 380 SOUND_SETTING(F_NO_WRAP,treble, LANG_TREBLE, "treble", SOUND_TREBLE),
391 381
392#if (CONFIG_CODEC == MAS3587F) || (CONFIG_CODEC == MAS3539F) 382#if (CONFIG_CODEC == MAS3587F) || (CONFIG_CODEC == MAS3539F)
393 SOUND_SETTING(0,loudness, LANG_LOUDNESS, "loudness", SOUND_LOUDNESS), 383 SOUND_SETTING(0,loudness, LANG_LOUDNESS, "loudness", SOUND_LOUDNESS),
@@ -438,12 +428,12 @@ const struct settings_list settings[] = {
438 MAX_CONTRAST_SETTING, 1, NULL, NULL}}}}, 428 MAX_CONTRAST_SETTING, 1, NULL, NULL}}}},
439#endif 429#endif
440#ifdef HAVE_BACKLIGHT 430#ifdef HAVE_BACKLIGHT
441 INT_SETTING_W_CFGVALS(F_FLIPLIST, backlight_timeout, LANG_BACKLIGHT, 6, 431 INT_SETTING_W_CFGVALS(0, backlight_timeout, LANG_BACKLIGHT, 6,
442 "backlight timeout", backlight_times_conf, UNIT_SEC, 432 "backlight timeout", backlight_times_conf, UNIT_SEC,
443 0, 18, 1, backlight_formatter, backlight_getlang, 433 0, 18, 1, backlight_formatter, backlight_getlang,
444 backlight_set_timeout), 434 backlight_set_timeout),
445#if CONFIG_CHARGING 435#if CONFIG_CHARGING
446 INT_SETTING_W_CFGVALS(F_FLIPLIST, backlight_timeout_plugged, 436 INT_SETTING_W_CFGVALS(0, backlight_timeout_plugged,
447 LANG_BACKLIGHT_ON_WHEN_CHARGING, 11, 437 LANG_BACKLIGHT_ON_WHEN_CHARGING, 11,
448 "backlight timeout plugged", backlight_times_conf, UNIT_SEC, 438 "backlight timeout plugged", backlight_times_conf, UNIT_SEC,
449 0, 18, 1, backlight_formatter, backlight_getlang, 439 0, 18, 1, backlight_formatter, backlight_getlang,
@@ -489,7 +479,7 @@ const struct settings_list settings[] = {
489#endif /* HAVE_LCD_BITMAP */ 479#endif /* HAVE_LCD_BITMAP */
490 OFFON_SETTING(0,show_icons, LANG_SHOW_ICONS ,true,"show icons", NULL), 480 OFFON_SETTING(0,show_icons, LANG_SHOW_ICONS ,true,"show icons", NULL),
491 /* system */ 481 /* system */
492 INT_SETTING_W_CFGVALS(F_FLIPLIST, poweroff, LANG_POWEROFF_IDLE, 10, "idle poweroff", 482 INT_SETTING_W_CFGVALS(0, poweroff, LANG_POWEROFF_IDLE, 10, "idle poweroff",
493 "off,1,2,3,4,5,6,7,8,9,10,15,30,45,60", UNIT_MIN, 483 "off,1,2,3,4,5,6,7,8,9,10,15,30,45,60", UNIT_MIN,
494 0, 14, 1, poweroff_idle_timer_formatter, 484 0, 14, 1, poweroff_idle_timer_formatter,
495 poweroff_idle_timer_getlang, set_poweroff_timeout), 485 poweroff_idle_timer_getlang, set_poweroff_timeout),
@@ -541,12 +531,12 @@ const struct settings_list settings[] = {
541 LANG_INVERT_LCD_INVERSE, LANG_NORMAL, lcd_remote_set_invert_display), 531 LANG_INVERT_LCD_INVERSE, LANG_NORMAL, lcd_remote_set_invert_display),
542 OFFON_SETTING(0,remote_flip_display, LANG_FLIP_DISPLAY, 532 OFFON_SETTING(0,remote_flip_display, LANG_FLIP_DISPLAY,
543 false,"remote flip display", NULL), 533 false,"remote flip display", NULL),
544 INT_SETTING_W_CFGVALS(F_FLIPLIST, remote_backlight_timeout, LANG_BACKLIGHT, 6, 534 INT_SETTING_W_CFGVALS(0, remote_backlight_timeout, LANG_BACKLIGHT, 6,
545 "remote backlight timeout", backlight_times_conf, UNIT_SEC, 535 "remote backlight timeout", backlight_times_conf, UNIT_SEC,
546 0, 18, 1, backlight_formatter, backlight_getlang, 536 0, 18, 1, backlight_formatter, backlight_getlang,
547 remote_backlight_set_timeout), 537 remote_backlight_set_timeout),
548#if CONFIG_CHARGING 538#if CONFIG_CHARGING
549 INT_SETTING_W_CFGVALS(F_FLIPLIST, remote_backlight_timeout_plugged, 539 INT_SETTING_W_CFGVALS(0, remote_backlight_timeout_plugged,
550 LANG_BACKLIGHT_ON_WHEN_CHARGING, 11, 540 LANG_BACKLIGHT_ON_WHEN_CHARGING, 11,
551 "remote backlight timeout plugged", backlight_times_conf, UNIT_SEC, 541 "remote backlight timeout plugged", backlight_times_conf, UNIT_SEC,
552 0, 18, 1, backlight_formatter, backlight_getlang, 542 0, 18, 1, backlight_formatter, backlight_getlang,
@@ -646,7 +636,7 @@ const struct settings_list settings[] = {
646 OFFON_SETTING(0,play_selected,LANG_PLAY_SELECTED,true,"play selected",NULL), 636 OFFON_SETTING(0,play_selected,LANG_PLAY_SELECTED,true,"play selected",NULL),
647 OFFON_SETTING(0,party_mode,LANG_PARTY_MODE,false,"party mode",NULL), 637 OFFON_SETTING(0,party_mode,LANG_PARTY_MODE,false,"party mode",NULL),
648 OFFON_SETTING(0,fade_on_stop,LANG_FADE_ON_STOP,true,"volume fade",NULL), 638 OFFON_SETTING(0,fade_on_stop,LANG_FADE_ON_STOP,true,"volume fade",NULL),
649 INT_SETTING_W_CFGVALS(F_FLIPLIST, ff_rewind_min_step, LANG_FFRW_STEP, FF_REWIND_1000, 639 INT_SETTING_W_CFGVALS(0, ff_rewind_min_step, LANG_FFRW_STEP, FF_REWIND_1000,
650 "scan min step", "1,2,3,4,5,6,8,10,15,20,25,30,45,60", UNIT_SEC, 640 "scan min step", "1,2,3,4,5,6,8,10,15,20,25,30,45,60", UNIT_SEC,
651 13, 0, -1, ff_rewind_min_step_formatter, 641 13, 0, -1, ff_rewind_min_step_formatter,
652 ff_rewind_min_step_getlang, NULL), 642 ff_rewind_min_step_getlang, NULL),
@@ -1256,7 +1246,7 @@ const struct settings_list settings[] = {
1256 THEME_DIR "/", ".colours", MAX_FILENAME+1), 1246 THEME_DIR "/", ".colours", MAX_FILENAME+1),
1257#endif 1247#endif
1258#ifdef HAVE_BUTTON_LIGHT 1248#ifdef HAVE_BUTTON_LIGHT
1259 INT_SETTING_W_CFGVALS(F_FLIPLIST, buttonlight_timeout, 1249 INT_SETTING_W_CFGVALS(0, buttonlight_timeout,
1260 LANG_BUTTONLIGHT_TIMEOUT, 6, 1250 LANG_BUTTONLIGHT_TIMEOUT, 6,
1261 "button light timeout", backlight_times_conf, UNIT_SEC, 1251 "button light timeout", backlight_times_conf, UNIT_SEC,
1262 0, 18, 1, backlight_formatter, backlight_getlang, 1252 0, 18, 1, backlight_formatter, backlight_getlang,
diff --git a/apps/settings_list.h b/apps/settings_list.h
index 05da5e8b20..0859b440e1 100644
--- a/apps/settings_list.h
+++ b/apps/settings_list.h
@@ -103,11 +103,10 @@ struct choice_setting {
103- a NVRAM setting is removed 103- a NVRAM setting is removed
104*/ 104*/
105#define F_TEMPVAR 0x0400 /* used if the setting should be set using a temp var */ 105#define F_TEMPVAR 0x0400 /* used if the setting should be set using a temp var */
106#define F_FLIPLIST 0x0800 /* used if the order in the setting screen is backwards */
107#define F_NO_WRAP 0x1000 /* used if the list should not wrap */ 106#define F_NO_WRAP 0x1000 /* used if the list should not wrap */
108 107
109struct settings_list { 108struct settings_list {
110 uint32_t flags; /* ____ ___R TFFF ____ NNN_ FTVC IFRB STTT */ 109 uint32_t flags; /* ____ ___R TFFF ____ NNN_ _TVC IFRB STTT */
111 void *setting; 110 void *setting;
112 int lang_id; /* -1 for none */ 111 int lang_id; /* -1 for none */
113 union storage_type default_val; 112 union storage_type default_val;