diff options
author | Linus Nielsen Feltzing <linus@haxx.se> | 2004-07-05 14:26:58 +0000 |
---|---|---|
committer | Linus Nielsen Feltzing <linus@haxx.se> | 2004-07-05 14:26:58 +0000 |
commit | 82586a69e6d2e14154b5703b558c6bf56d53bfa5 (patch) | |
tree | 105a4f41ac8a936bdf2c8d21792393123c36ab90 /apps | |
parent | b40591947d6fa225e12dee839a04faf59917d4e2 (diff) | |
download | rockbox-82586a69e6d2e14154b5703b558c6bf56d53bfa5.tar.gz rockbox-82586a69e6d2e14154b5703b558c6bf56d53bfa5.zip |
Added menu_insert()
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4826 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps')
-rw-r--r-- | apps/menu.c | 21 | ||||
-rw-r--r-- | apps/menu.h | 2 |
2 files changed, 23 insertions, 0 deletions
diff --git a/apps/menu.c b/apps/menu.c index ca27196cd9..e47523d4e4 100644 --- a/apps/menu.c +++ b/apps/menu.c | |||
@@ -440,6 +440,27 @@ void menu_delete(int menu, int position) | |||
440 | menus[menu].cursor = menus[menu].itemcount - 1; | 440 | menus[menu].cursor = menus[menu].itemcount - 1; |
441 | } | 441 | } |
442 | 442 | ||
443 | void menu_insert(int menu, int position, char *desc, int voice_id, | ||
444 | bool (*function) (void)) | ||
445 | { | ||
446 | int i; | ||
447 | |||
448 | if(position < 0) | ||
449 | position = menus[menu].itemcount; | ||
450 | |||
451 | /* Move the items below one position forward */ | ||
452 | for( i = menus[menu].itemcount; i > position; i--) | ||
453 | menus[menu].items[i] = menus[menu].items[i - 1]; | ||
454 | |||
455 | /* Increase the count */ | ||
456 | menus[menu].itemcount++; | ||
457 | |||
458 | /* Update the current item */ | ||
459 | menus[menu].items[position].desc = desc; | ||
460 | menus[menu].items[position].voice_id = voice_id; | ||
461 | menus[menu].items[position].function = function; | ||
462 | } | ||
463 | |||
443 | /* | 464 | /* |
444 | * Property function - return the "count" of menu items in "menu" | 465 | * Property function - return the "count" of menu items in "menu" |
445 | */ | 466 | */ |
diff --git a/apps/menu.h b/apps/menu.h index 166a9336b9..55c480aaab 100644 --- a/apps/menu.h +++ b/apps/menu.h | |||
@@ -47,5 +47,7 @@ int menu_count(int menu); | |||
47 | bool menu_moveup(int menu); | 47 | bool menu_moveup(int menu); |
48 | bool menu_movedown(int menu); | 48 | bool menu_movedown(int menu); |
49 | void menu_draw(int menu); | 49 | void menu_draw(int menu); |
50 | void menu_insert(int menu, int position, char *desc, int voice_id, | ||
51 | bool (*function) (void)); | ||
50 | 52 | ||
51 | #endif /* End __MENU_H__ */ | 53 | #endif /* End __MENU_H__ */ |