summaryrefslogtreecommitdiff
path: root/apps/gui
diff options
context:
space:
mode:
authorMaurus Cuelenaere <mcuelenaere@gmail.com>2008-06-01 13:56:34 +0000
committerMaurus Cuelenaere <mcuelenaere@gmail.com>2008-06-01 13:56:34 +0000
commit5dca53eeb0e5ee17bfb5ff436655fa991d0786bd (patch)
treeb2c73e16ae49c854c05651a1120f569db5102906 /apps/gui
parent995b71a51d3cfa37ebf5dd40d83bd6c0aed019d4 (diff)
Even more touchscreen improvements.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17673 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/gui')
-rw-r--r--apps/gui/bitmap/list.c14
1 files changed, 5 insertions, 9 deletions
diff --git a/apps/gui/bitmap/list.c b/apps/gui/bitmap/list.c
index f1dbf188ab..dacf65adbd 100644
--- a/apps/gui/bitmap/list.c
+++ b/apps/gui/bitmap/list.c
@@ -278,7 +278,7 @@ void list_draw(struct screen *display, struct viewport *parent,
#if defined(HAVE_TOUCHPAD)
-static int prev_line=0;
+static unsigned int prev_line=0;
/* this needs to be fixed if we ever get more than 1 touchscreen on a target */
/* this also assumes the whole screen is used, which is a bad asusmption but
fine untill customizable lists comes in... */
@@ -297,7 +297,7 @@ unsigned gui_synclist_do_touchpad(struct gui_synclist * gui_list, struct viewpor
{
if (button == BUTTON_REL)
return ACTION_STD_MENU;
- else if (button == BUTTON_REPEAT)
+ else if (button == (BUTTON_REPEAT|BUTTON_REL))
return ACTION_STD_CONTEXT;
else
return ACTION_NONE;
@@ -355,13 +355,13 @@ unsigned gui_synclist_do_touchpad(struct gui_synclist * gui_list, struct viewpor
return ACTION_REDRAW;
}
- if (button == BUTTON_REPEAT)
+ if (button == (BUTTON_REPEAT|BUTTON_REL))
return ACTION_STD_CONTEXT;
else if(button == BUTTON_REL)
{
- if(prev_line == line)
+ if((signed)prev_line == line)
{
- prev_line = 0;
+ prev_line = -1;
return ACTION_STD_OK;
}
else
@@ -375,14 +375,10 @@ unsigned gui_synclist_do_touchpad(struct gui_synclist * gui_list, struct viewpor
}
/* title goes up one level */
else if (y > title_text[SCREEN_MAIN].y && draw_title(display, parent, gui_list) && button == BUTTON_REL)
- {
return ACTION_STD_CANCEL;
- }
/* title or statusbar is cancel */
else if (global_settings.statusbar && button == BUTTON_REL)
- {
return ACTION_STD_CANCEL;
- }
}
return ACTION_NONE;
}