FM preset menu: Set cursor to the current preset on enter. Added a generic function to the menu system which allows for setting the position.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6264 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
06068b451d
commit
cef15c6efc
3 changed files with 14 additions and 1 deletions
12
apps/menu.c
12
apps/menu.c
|
@ -166,7 +166,7 @@ void menu_draw(int m)
|
|||
#endif
|
||||
/* Adjust cursor pos if it's below the screen */
|
||||
if (menus[m].cursor - menus[m].top >= menu_lines)
|
||||
menus[m].top++;
|
||||
menus[m].top = menus[m].cursor - (menu_lines - 1);
|
||||
|
||||
/* Adjust cursor pos if it's above the screen */
|
||||
if(menus[m].cursor < menus[m].top)
|
||||
|
@ -508,3 +508,13 @@ bool menu_movedown(int menu)
|
|||
|
||||
return true;
|
||||
}
|
||||
|
||||
/*
|
||||
* Allows to set the cursor position. Doesn't redraw by itself.
|
||||
*/
|
||||
|
||||
void menu_set_cursor(int menu, int position)
|
||||
{
|
||||
menus[menu].cursor = position;
|
||||
}
|
||||
|
||||
|
|
|
@ -90,5 +90,6 @@ bool menu_moveup(int menu);
|
|||
bool menu_movedown(int menu);
|
||||
void menu_draw(int menu);
|
||||
void menu_insert(int menu, int position, char *desc, bool (*function) (void));
|
||||
void menu_set_cursor(int menu, int position);
|
||||
|
||||
#endif /* End __MENU_H__ */
|
||||
|
|
|
@ -817,6 +817,8 @@ bool handle_radio_presets(void)
|
|||
str(LANG_FM_BUTTONBAR_ADD),
|
||||
str(LANG_FM_BUTTONBAR_EXIT),
|
||||
str(LANG_FM_BUTTONBAR_ACTION));
|
||||
if (curr_preset >= 0)
|
||||
menu_set_cursor(preset_menu, curr_preset);
|
||||
result = menu_show(preset_menu);
|
||||
menu_exit(preset_menu);
|
||||
if (result == MENU_SELECTED_EXIT)
|
||||
|
|
Loading…
Reference in a new issue