diff options
Diffstat (limited to 'apps/gui/list.c')
-rw-r--r-- | apps/gui/list.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/apps/gui/list.c b/apps/gui/list.c index e7de12c4a0..6f61a61992 100644 --- a/apps/gui/list.c +++ b/apps/gui/list.c | |||
@@ -918,6 +918,8 @@ unsigned gui_synclist_do_touchpad(struct gui_synclist * lists) | |||
918 | short x,y; | 918 | short x,y; |
919 | unsigned button = action_get_touchpad_press(&x, &y); | 919 | unsigned button = action_get_touchpad_press(&x, &y); |
920 | int line; | 920 | int line; |
921 | if (button == BUTTON_NONE) | ||
922 | return ACTION_NONE; | ||
921 | if (x<SCROLLBAR_WIDTH) | 923 | if (x<SCROLLBAR_WIDTH) |
922 | { | 924 | { |
923 | /* top left corner is hopefully GO_TO_ROOT */ | 925 | /* top left corner is hopefully GO_TO_ROOT */ |
@@ -956,7 +958,16 @@ unsigned gui_synclist_do_touchpad(struct gui_synclist * lists) | |||
956 | else | 958 | else |
957 | { | 959 | { |
958 | if (button != BUTTON_REL && button != BUTTON_REPEAT) | 960 | if (button != BUTTON_REL && button != BUTTON_REPEAT) |
959 | return ACTION_NONE; | 961 | { |
962 | if (global_settings.statusbar) | ||
963 | y -= STATUSBAR_HEIGHT; | ||
964 | if (SHOW_LIST_TITLE) | ||
965 | y -= gui_list->display->char_height; | ||
966 | line = y / gui_list->display->char_height; | ||
967 | if (line != gui_list->selected_item - gui_list->start_item) | ||
968 | gui_synclist_select_item(lists, gui_list->start_item+line); | ||
969 | return ACTION_REDRAW; | ||
970 | } | ||
960 | /* title or statusbar is cancel */ | 971 | /* title or statusbar is cancel */ |
961 | if (global_settings.statusbar) | 972 | if (global_settings.statusbar) |
962 | { | 973 | { |