summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--uisimulator/app.c42
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
27extern void tetris(void); 29extern 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 */ 35enum 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 */ 39struct Menu_Items {
39#define MAX_LINE ITEM_BROWSE 40 int menu_id;
41 const char *menu_desc;
42 void (*function) (void);
43};
40 44
41int menu_top = 0; 45struct Menu_Items items[] = {
42int menu_bottom = MAX_LINE; 46 { Tetris, "Tetris", tetris },
47 { Screen_Saver, "Screen Saver", screensaver },
48 { Browse, "Browse", dirbrowse },
49};
50
51
52int menu_top = Tetris;
53int menu_bottom = Last_Id-1;
43 54
44void add_menu_item(int location, char *string) 55void add_menu_item(int location, char *string)
45{ 56{
@@ -53,9 +64,9 @@ void add_menu_item(int location, char *string)
53 64
54void menu_init(void) 65void 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: