X-Git-Url: http://git.ozlabs.org/?p=petitboot;a=blobdiff_plain;f=ui%2Fncurses%2Fnc-textscreen.c;h=55428e791986d102665fc0aaa42fa36addea3fda;hp=ad91f61e4c14b83cb499c8235cdd737d04232490;hb=b6f99a457cb906277b172a0332a1e16ddba99228;hpb=8c60755607cbade935b1f763dffbf9ee1c38f97a diff --git a/ui/ncurses/nc-textscreen.c b/ui/ncurses/nc-textscreen.c index ad91f61..55428e7 100644 --- a/ui/ncurses/nc-textscreen.c +++ b/ui/ncurses/nc-textscreen.c @@ -26,6 +26,7 @@ #include #include #include +#include #include "nc-cui.h" #include "nc-textscreen.h" @@ -173,15 +174,22 @@ struct nc_scr *text_screen_scr(struct text_screen *screen) } void text_screen_set_help(struct text_screen *screen, const char *title, - const char *text) + const struct help_text *text) { screen->help_title = title; screen->help_text = text; - screen->scr.frame.help = "x=exit, h=help"; + screen->scr.frame.help = _("x=exit, h=help"); } static int text_screen_post(struct nc_scr *scr) { + struct text_screen *screen = text_screen_from_scr(scr); + + if (screen->need_update) { + text_screen_draw(screen); + screen->need_update = false; + } + nc_scr_frame_draw(scr); redrawwin(scr->main_ncw); wrefresh(scr->main_ncw); @@ -201,9 +209,10 @@ void text_screen_init(struct text_screen *screen, struct cui *cui, screen->cui = cui; screen->on_exit = on_exit; + screen->need_update = false; screen->scr.frame.ltitle = talloc_strdup(screen, title); screen->scr.frame.rtitle = NULL; - screen->scr.frame.help = "x=exit"; + screen->scr.frame.help = _("x=exit"); scrollok(screen->scr.sub_ncw, true); }