mirror of
https://github.com/Rockbox/rockbox.git
synced 2025-11-16 08:32:36 -05:00
Add "%LN" tag to retrieve the list item number of the current item. This allows e.g. putting item numbers in skinned lists.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30568 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
e12a832758
commit
28d5f2aa57
5 changed files with 14 additions and 0 deletions
|
|
@ -82,6 +82,12 @@ static int offset_to_item(int offset, bool wrap)
|
|||
item = item % current_list->nb_items;
|
||||
return item;
|
||||
}
|
||||
|
||||
int skinlist_get_item_number()
|
||||
{
|
||||
return current_drawing_line;
|
||||
}
|
||||
|
||||
const char* skinlist_get_item_text(int offset, bool wrap, char* buf, size_t buf_size)
|
||||
{
|
||||
int item = offset_to_item(offset, wrap);
|
||||
|
|
|
|||
|
|
@ -190,6 +190,7 @@ bool skinlist_is_selected_item(void);
|
|||
void skinlist_set_cfg(enum screen_type screen,
|
||||
struct listitem_viewport_cfg *cfg);
|
||||
const char* skinlist_get_item_text(int offset, bool wrap, char* buf, size_t buf_size);
|
||||
int skinlist_get_item_number(void);
|
||||
enum themable_icons skinlist_get_item_icon(int offset, bool wrap);
|
||||
bool skinlist_needs_scrollbar(enum screen_type screen);
|
||||
void skinlist_get_scrollbar(int* nb_item, int* first_shown, int* last_shown);
|
||||
|
|
|
|||
|
|
@ -932,6 +932,11 @@ const char *get_token_value(struct gui_wps *gwps,
|
|||
struct listitem *li = (struct listitem *)token->value.data;
|
||||
return skinlist_get_item_text(li->offset, li->wrap, buf, buf_size);
|
||||
}
|
||||
case SKIN_TOKEN_LIST_ITEM_NUMBER:
|
||||
if (intval)
|
||||
*intval = skinlist_get_item_number();
|
||||
snprintf(buf, buf_size, "%d",skinlist_get_item_number());
|
||||
return buf;
|
||||
case SKIN_TOKEN_LIST_ITEM_IS_SELECTED:
|
||||
return skinlist_is_selected_item()?"s":"";
|
||||
case SKIN_TOKEN_LIST_ITEM_ICON:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue