X-Git-Url: http://git.ozlabs.org/?p=petitboot;a=blobdiff_plain;f=ui%2Fncurses%2Fnc-cui.c;h=650e90345cffa723abc1a04146b7103889ff17bd;hp=e3422734ebd06d83ec30415b8012c89beb54435a;hb=649de37c20f56749ff02c751656787bf2c3d0024;hpb=66bf929fa97fabb70198455f9eec2e9ccf0661fa diff --git a/ui/ncurses/nc-cui.c b/ui/ncurses/nc-cui.c index e342273..650e903 100644 --- a/ui/ncurses/nc-cui.c +++ b/ui/ncurses/nc-cui.c @@ -38,6 +38,7 @@ #include "nc-boot-editor.h" #include "nc-config.h" #include "nc-sysinfo.h" +#include "nc-helpscreen.h" static void cui_start(void) { @@ -246,6 +247,28 @@ void cui_show_config(struct cui *cui) cui_set_current(cui, config_screen_scr(cui->config_screen)); } +static void cui_help_exit(struct cui *cui) +{ + cui_set_current(cui, help_screen_return_scr(cui->help_screen)); + talloc_free(cui->help_screen); + cui->help_screen = NULL; +} + +void cui_show_help(struct cui *cui, const char *title, const char *text) +{ + if (!cui->current) + return; + + if (cui->help_screen) + return; + + cui->help_screen = help_screen_init(cui, cui->current, + title, text, cui_help_exit); + + if (cui->help_screen) + cui_set_current(cui, help_screen_scr(cui->help_screen)); +} + /** * cui_set_current - Set the currently active screen and redraw it. */