Accept FS #8490 by Vuong Minh Hiep: fix wrong selection in multi-line lists
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16135 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
343fb72501
commit
c4c678ff1a
2 changed files with 7 additions and 10 deletions
|
@ -550,26 +550,23 @@ void gui_synclist_select_item(struct gui_synclist * gui_list, int item_number)
|
||||||
static void gui_list_select_at_offset(struct gui_synclist * gui_list,
|
static void gui_list_select_at_offset(struct gui_synclist * gui_list,
|
||||||
int offset)
|
int offset)
|
||||||
{
|
{
|
||||||
int new_selection = gui_list->selected_item + offset;
|
int new_selection;
|
||||||
if (gui_list->selected_size > 1)
|
if (gui_list->selected_size > 1)
|
||||||
{
|
{
|
||||||
offset *= gui_list->selected_size;
|
offset *= gui_list->selected_size;
|
||||||
/* always select the first item of multi-line lists */
|
/* always select the first item of multi-line lists */
|
||||||
offset -= offset%gui_list->selected_size;
|
offset -= offset%gui_list->selected_size;
|
||||||
}
|
}
|
||||||
|
new_selection = gui_list->selected_item + offset;
|
||||||
if (new_selection >= gui_list->nb_items)
|
if (new_selection >= gui_list->nb_items)
|
||||||
{
|
{
|
||||||
if (gui_list->limit_scroll)
|
gui_list->selected_item = gui_list->limit_scroll ?
|
||||||
gui_list->selected_item = gui_list->nb_items - 1;
|
gui_list->nb_items - gui_list->selected_size : 0;
|
||||||
else
|
|
||||||
gui_list->selected_item = new_selection - gui_list->nb_items;
|
|
||||||
}
|
}
|
||||||
else if (new_selection < 0)
|
else if (new_selection < 0)
|
||||||
{
|
{
|
||||||
if (gui_list->limit_scroll)
|
gui_list->selected_item = gui_list->limit_scroll ?
|
||||||
gui_list->selected_item = 0;
|
0 : gui_list->nb_items - gui_list->selected_size;
|
||||||
else
|
|
||||||
gui_list->selected_item = new_selection + gui_list->nb_items;
|
|
||||||
}
|
}
|
||||||
else if (gui_list->show_selection_marker == false)
|
else if (gui_list->show_selection_marker == false)
|
||||||
{
|
{
|
||||||
|
@ -599,7 +596,6 @@ static void gui_list_select_at_offset(struct gui_synclist * gui_list,
|
||||||
}
|
}
|
||||||
else gui_list->selected_item += offset;
|
else gui_list->selected_item += offset;
|
||||||
gui_synclist_select_item(gui_list, gui_list->selected_item);
|
gui_synclist_select_item(gui_list, gui_list->selected_item);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -366,6 +366,7 @@ Thomas Martitz
|
||||||
Prakarn Sahasoontornvute
|
Prakarn Sahasoontornvute
|
||||||
George Tamplaru
|
George Tamplaru
|
||||||
Apoorva Mahajan
|
Apoorva Mahajan
|
||||||
|
Vuong Minh Hiep
|
||||||
|
|
||||||
The libmad team
|
The libmad team
|
||||||
The wavpack team
|
The wavpack team
|
||||||
|
|
Loading…
Reference in a new issue