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
This commit is contained in:
Jonathan Gordon 2011-04-24 07:04:52 +00:00
parent 6bab4e8dc0
commit 2271995517
3 changed files with 14 additions and 7 deletions

View File

@ -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)

View File

@ -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);

View File

@ -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;