summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJonathan Gordon <rockbox@jdgordon.info>2011-04-24 07:04:52 +0000
committerJonathan Gordon <rockbox@jdgordon.info>2011-04-24 07:04:52 +0000
commit22719955179d95279474913ccadd4c1a6efceca6 (patch)
tree037f40a11de9cee8fb82f26e04c1bd830c8f899d
parent6bab4e8dc04204955cbeef4e09f412903f1c7f8a (diff)
downloadrockbox-22719955179d95279474913ccadd4c1a6efceca6.tar.gz
rockbox-22719955179d95279474913ccadd4c1a6efceca6.tar.bz2
rockbox-22719955179d95279474913ccadd4c1a6efceca6.zip
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
-rw-r--r--apps/gui/option_select.c6
-rw-r--r--apps/gui/option_select.h7
-rw-r--r--apps/gui/quickscreen.c8
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;