]> git.ozlabs.org Git - petitboot/blobdiff - ui/ncurses/nc-menu.c
ui/ncurses: Add nc_scr_{un,}post()
[petitboot] / ui / ncurses / nc-menu.c
index 073860bbfc772f0a9b59730111ddd1e382870d0b..4dba0ad1d8d6680e7c21cd189e2642e0e5c167f8 100644 (file)
@@ -162,7 +162,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 +173,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;
 }
@@ -205,6 +205,7 @@ static void pmenu_process_key(struct nc_scr *scr, int key)
 
        switch (key) {
        case 27: /* ESC */
+       case 'x':
                if (menu->on_exit)
                        menu->on_exit(menu);
                nc_flush_keys();
@@ -233,8 +234,8 @@ static void pmenu_process_key(struct nc_scr *scr, int key)
                        item->on_edit(item);
                break;
        case 'n':
-               if (menu->on_open)
-                       menu->on_open(menu);
+               if (menu->on_new)
+                       menu->on_new(menu);
                break;
        case '\n':
        case '\r':