diff options
Diffstat (limited to 'uisimulator/app.c')
-rw-r--r-- | uisimulator/app.c | 42 |
1 files changed, 27 insertions, 15 deletions
diff --git a/uisimulator/app.c b/uisimulator/app.c index 0e5fe7eec8..db60099d40 100644 --- a/uisimulator/app.c +++ b/uisimulator/app.c | |||
@@ -22,7 +22,9 @@ | |||
22 | #include "button.h" | 22 | #include "button.h" |
23 | #include "kernel.h" | 23 | #include "kernel.h" |
24 | 24 | ||
25 | /* Apps to include */ | ||
25 | #include "tree.h" | 26 | #include "tree.h" |
27 | #include "screensaver.h" | ||
26 | 28 | ||
27 | extern void tetris(void); | 29 | extern void tetris(void); |
28 | 30 | ||
@@ -30,16 +32,25 @@ extern void tetris(void); | |||
30 | #define MENU_ITEM_Y_LOC 6 | 32 | #define MENU_ITEM_Y_LOC 6 |
31 | #define MENU_LINE_HEIGHT 8 | 33 | #define MENU_LINE_HEIGHT 8 |
32 | 34 | ||
33 | /* menu ids */ | 35 | enum Menu_Ids { |
34 | #define ITEM_TETRIS 0 | 36 | Tetris, Screen_Saver, Browse, Last_Id |
35 | #define ITEM_SCREENSAVER 1 | 37 | }; |
36 | #define ITEM_BROWSE 2 | ||
37 | 38 | ||
38 | /* the last index with info, starting on 0 */ | 39 | struct Menu_Items { |
39 | #define MAX_LINE ITEM_BROWSE | 40 | int menu_id; |
41 | const char *menu_desc; | ||
42 | void (*function) (void); | ||
43 | }; | ||
40 | 44 | ||
41 | int menu_top = 0; | 45 | struct Menu_Items items[] = { |
42 | int menu_bottom = MAX_LINE; | 46 | { Tetris, "Tetris", tetris }, |
47 | { Screen_Saver, "Screen Saver", screensaver }, | ||
48 | { Browse, "Browse", dirbrowse }, | ||
49 | }; | ||
50 | |||
51 | |||
52 | int menu_top = Tetris; | ||
53 | int menu_bottom = Last_Id-1; | ||
43 | 54 | ||
44 | void add_menu_item(int location, char *string) | 55 | void add_menu_item(int location, char *string) |
45 | { | 56 | { |
@@ -53,9 +64,9 @@ void add_menu_item(int location, char *string) | |||
53 | 64 | ||
54 | void menu_init(void) | 65 | void menu_init(void) |
55 | { | 66 | { |
56 | add_menu_item(ITEM_SCREENSAVER, "Screen Saver"); | 67 | int i = 0; |
57 | add_menu_item(ITEM_BROWSE, "Browse"); | 68 | for (i = i; i < Last_Id; i++) |
58 | add_menu_item(ITEM_TETRIS, "Tetris"); | 69 | add_menu_item(items[i].menu_id, (char *) items[i].menu_desc); |
59 | 70 | ||
60 | lcd_puts(8, 38, "Rockbox!", 2); | 71 | lcd_puts(8, 38, "Rockbox!", 2); |
61 | } | 72 | } |
@@ -114,13 +125,14 @@ void app_main(void) | |||
114 | lcd_clear_display(); | 125 | lcd_clear_display(); |
115 | 126 | ||
116 | switch(cursor) { | 127 | switch(cursor) { |
117 | case ITEM_TETRIS: | 128 | case Tetris: |
118 | tetris(); | 129 | tetris(); |
119 | break; | 130 | break; |
120 | case ITEM_BROWSE: | 131 | case Browse: |
121 | dirbrowse("/"); | 132 | printf("at browse\n"); |
133 | browse_root(); | ||
122 | break; | 134 | break; |
123 | case ITEM_SCREENSAVER: | 135 | case Screen_Saver: |
124 | screensaver(); | 136 | screensaver(); |
125 | break; | 137 | break; |
126 | default: | 138 | default: |