From 22719955179d95279474913ccadd4c1a6efceca6 Mon Sep 17 00:00:00 2001 From: Jonathan Gordon Date: Sun, 24 Apr 2011 07:04:52 +0000 Subject: [PATCH] invert the quickscreen setting direction on wheel targets for settings which are number lists so pressing up makes it bigger (i.e contrast). fixes http://forums.rockbox.org/index.php/topic,27778.0.html git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29772 a1c6a512-1295-4272-9138-f99709370657 --- apps/gui/option_select.c | 6 ------ apps/gui/option_select.h | 7 +++++++ apps/gui/quickscreen.c | 8 +++++++- 3 files changed, 14 insertions(+), 7 deletions(-) diff --git a/apps/gui/option_select.c b/apps/gui/option_select.c index 1dab41ee22..5d1e3d778e 100644 --- a/apps/gui/option_select.c +++ b/apps/gui/option_select.c @@ -35,12 +35,6 @@ #include "menu.h" #include "quickscreen.h" -#if defined (HAVE_SCROLLWHEEL) || \ - (CONFIG_KEYPAD == PLAYER_PAD) -/* Define this if your target makes sense to have - smaller values at the top of the list increasing down the list */ -#define ASCENDING_INT_SETTINGS -#endif static int selection_to_val(const struct settings_list *setting, int selection); int option_value_as_int(const struct settings_list *setting) diff --git a/apps/gui/option_select.h b/apps/gui/option_select.h index 04493e93eb..0a7600ce80 100644 --- a/apps/gui/option_select.h +++ b/apps/gui/option_select.h @@ -25,6 +25,13 @@ #include "screen_access.h" #include "settings.h" +#if defined (HAVE_SCROLLWHEEL) || \ + (CONFIG_KEYPAD == PLAYER_PAD) +/* Define this if your target makes sense to have + smaller values at the top of the list increasing down the list */ +#define ASCENDING_INT_SETTINGS +#endif + bool option_screen(const struct settings_list *setting, struct viewport parent[NB_SCREENS], bool use_temp_var, unsigned char* option_title); diff --git a/apps/gui/quickscreen.c b/apps/gui/quickscreen.c index d092f0b04a..1482310385 100644 --- a/apps/gui/quickscreen.c +++ b/apps/gui/quickscreen.c @@ -275,7 +275,13 @@ static bool gui_quickscreen_do_button(struct gui_quickscreen * qs, int button) } if (qs->items[item] == NULL) return false; - +#ifdef ASCENDING_INT_SETTINGS + if (((qs->items[item]->flags & F_INT_SETTING) == F_INT_SETTING) && + ( button == ACTION_QS_DOWN || button == ACTION_QS_TOP)) + { + invert = !invert; + } +#endif option_select_next_val(qs->items[item], invert, true); talk_qs_option(qs->items[item], false); return true; -- 2.11.4.GIT