X-Git-Url: http://git.ozlabs.org/?p=petitboot;a=blobdiff_plain;f=ui%2Fncurses%2Fnc-menu.c;h=d2048e1c3561591bd615a82fcb57ef58b36e27b0;hp=beb63f3bdd2f91b3bf7fc9d4a18161c872bb6958;hb=729bcafedd3b117c031c413fac2e2d2096d62510;hpb=bf8d7e61a8fbc19be5ea1a73b9eaa30e58453d1f diff --git a/ui/ncurses/nc-menu.c b/ui/ncurses/nc-menu.c index beb63f3..d2048e1 100644 --- a/ui/ncurses/nc-menu.c +++ b/ui/ncurses/nc-menu.c @@ -16,9 +16,9 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ +#if defined(HAVE_CONFIG_H) #include "config.h" - -#define _GNU_SOURCE +#endif #include #include @@ -27,6 +27,7 @@ #include "log/log.h" #include "talloc/talloc.h" #include "ui/common/ui-system.h" +#include "nc-cui.h" #include "nc-menu.h" /** @@ -162,7 +163,7 @@ int pmenu_item_replace(struct pmenu_item *i, const char *name) set_item_userptr(nci, i); - menu->scr.unpost(&menu->scr); + nc_scr_unpost(&menu->scr); set_menu_items(menu->ncm, NULL); // FIXME: need to assure item name is a talloc string. @@ -173,7 +174,7 @@ int pmenu_item_replace(struct pmenu_item *i, const char *name) i->nci = nci; set_menu_items(menu->ncm, menu->items); - menu->scr.post(&menu->scr); + nc_scr_post(&menu->scr); return 0; } @@ -237,11 +238,18 @@ static void pmenu_process_key(struct nc_scr *scr, int key) if (menu->on_new) menu->on_new(menu); break; + case ' ': case '\n': case '\r': if (item->on_execute) item->on_execute(item); break; + case 'i': + cui_show_sysinfo(cui_from_arg(scr->ui_ctx)); + break; + case 'c': + cui_show_config(cui_from_arg(scr->ui_ctx)); + break; default: menu_driver(menu->ncm, key); break; @@ -378,6 +386,8 @@ int pmenu_setup(struct pmenu *menu) /* Makes menu scrollable. */ set_menu_format(menu->ncm, LINES - nc_scr_frame_lines, 1); + set_menu_grey(menu->ncm, A_NORMAL); + return 0; }