X-Git-Url: https://git.decadent.org.uk/gitweb/?p=ap-utils.git;a=blobdiff_plain;f=lib%2Fmenu.c;fp=lib%2Fmenu.c;h=e2cfaef3178235bfd66da2f78e2b46d771892cb6;hp=9aeb6d93c5a47dbbc3167ac8a180f9079f8b99b2;hb=1aac4ac30a9a0d6cd2182013d2b3fd48b65ed2fd;hpb=5c77e013a46530bb3650f61d768dfed0dd3b72cb diff --git a/lib/menu.c b/lib/menu.c index 9aeb6d9..e2cfaef 100644 --- a/lib/menu.c +++ b/lib/menu.c @@ -44,44 +44,38 @@ 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': @@ -89,9 +83,14 @@ void uni_menu(struct umitems *umenu, int num) goto quitmenu; case 's': case 'S': - if (set_oeminfo_allowed) + 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: @@ -111,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;