X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=lib%2Fmenu.c;h=e2cfaef3178235bfd66da2f78e2b46d771892cb6;hb=1aac4ac30a9a0d6cd2182013d2b3fd48b65ed2fd;hp=86ca3a191d3b06fe6d3a0c83f237dc914fcfbf7a;hpb=09ed626f25fb3e7c57ad7a59e5261ea005aa498f;p=ap-utils.git diff --git a/lib/menu.c b/lib/menu.c index 86ca3a1..e2cfaef 100644 --- a/lib/menu.c +++ b/lib/menu.c @@ -24,6 +24,7 @@ #include "ap-utils.h" extern WINDOW *sub_for_menu; +extern char set_oeminfo_allowed; void uni_menu(struct umitems *umenu, int num) { @@ -43,49 +44,54 @@ void uni_menu(struct umitems *umenu, int num) post_menu(menu); - wrefresh(sub_for_menu); print_help(umenu[0].help); while (1) { + wrefresh(sub_for_menu); switch (getch()) { case KEY_DOWN: case 'j': case 'J': menu_driver(menu, REQ_NEXT_ITEM); - wrefresh(sub_for_menu); break; case KEY_RIGHT: case 'l': case 'L': menu_driver(menu, REQ_LAST_ITEM); - wrefresh(sub_for_menu); break; case KEY_LEFT: case 'h': case 'H': menu_driver(menu, REQ_FIRST_ITEM); - wrefresh(sub_for_menu); break; case KEY_UP: case 'k': case 'K': menu_driver(menu, REQ_PREV_ITEM); - wrefresh(sub_for_menu); break; case KEY_PPAGE: case KEY_HOME: menu_driver(menu, REQ_FIRST_ITEM); - wrefresh(sub_for_menu); break; case KEY_NPAGE: case KEY_END: menu_driver(menu, REQ_LAST_ITEM); - wrefresh(sub_for_menu); break; case 'q': case 'Q': idx = num - 2; goto quitmenu; + case 's': + case 'S': + if (set_oeminfo_allowed) { + set_menu_mark(menu, " "); + set_menu_fore(menu, A_NORMAL); + wrefresh(sub_for_menu); + atmel_set_oeminfo(); + set_menu_mark(menu, "-"); + set_menu_fore(menu, A_STANDOUT); + } + break; /* Enter */ case 10: idx = item_index(current_item(menu)); @@ -104,11 +110,12 @@ quitmenu: } if (umenu[idx].is_menu) unpost_menu(menu); + umenu[idx].func(); - if (umenu[idx].is_menu) { + + if (umenu[idx].is_menu) post_menu(menu); - wrefresh(sub_for_menu); - } + break; default: continue;