X-Git-Url: http://git.ozlabs.org/?p=petitboot;a=blobdiff_plain;f=ui%2Fncurses%2Fnc-add-url.c;h=451b05014cc2a752659fe43fce6a619d79bfac2c;hp=f8273a29ace0ac9177bc103820f85c24f05e08f2;hb=a2441c75956929293359888a4169114267a5fdbf;hpb=563ebfa6e702f917d277d4ea9dd5e9eba17e51f7 diff --git a/ui/ncurses/nc-add-url.c b/ui/ncurses/nc-add-url.c index f8273a2..451b050 100644 --- a/ui/ncurses/nc-add-url.c +++ b/ui/ncurses/nc-add-url.c @@ -43,6 +43,7 @@ struct add_url_screen { bool exit; bool show_help; + bool need_redraw; void (*on_exit)(struct cui *); int label_x; @@ -93,6 +94,7 @@ static void add_url_screen_process_key(struct nc_scr *scr, int key) } else if (screen->show_help) { screen->show_help = false; + screen->need_redraw = true; cui_show_help(screen->cui, _("Retrieve Config"), &add_url_help_text); @@ -106,7 +108,10 @@ static int add_url_screen_post(struct nc_scr *scr) struct add_url_screen *screen = add_url_screen_from_scr(scr); widgetset_post(screen->widgetset); nc_scr_frame_draw(scr); - redrawwin(scr->main_ncw); + if (screen->need_redraw) { + redrawwin(scr->main_ncw); + screen->need_redraw = false; + } wrefresh(screen->scr.main_ncw); return 0; } @@ -189,9 +194,9 @@ static void add_url_screen_layout_widgets(struct add_url_screen *screen) widget_move(widget_button_base(screen->widgets.ok_b), y, screen->field_x); widget_move(widget_button_base(screen->widgets.help_b), - y, screen->field_x + 10); + y, screen->field_x + 14); widget_move(widget_button_base(screen->widgets.cancel_b), - y, screen->field_x + 23); + y, screen->field_x + 28); } static void add_url_screen_setup_widgets(struct add_url_screen *screen) @@ -205,11 +210,11 @@ static void add_url_screen_setup_widgets(struct add_url_screen *screen) _("Configuration URL:")); screen->widgets.url_f = widget_new_textbox(set, 0, 0, 50, NULL); - screen->widgets.ok_b = widget_new_button(set, 0, 0, 6, _("OK"), + screen->widgets.ok_b = widget_new_button(set, 0, 0, 10, _("OK"), ok_click, screen); - screen->widgets.help_b = widget_new_button(set, 0, 0, 9, _("Help"), + screen->widgets.help_b = widget_new_button(set, 0, 0, 10, _("Help"), help_click, screen); - screen->widgets.cancel_b = widget_new_button(set, 0, 0, 9, _("Cancel"), + screen->widgets.cancel_b = widget_new_button(set, 0, 0, 10, _("Cancel"), cancel_click, screen); } @@ -223,7 +228,8 @@ struct add_url_screen *add_url_screen_init(struct cui *cui, screen->cui = cui; screen->on_exit = on_exit; screen->label_x = 2; - screen->field_x = 22; + screen->field_x = 25; + screen->need_redraw = false; nc_scr_init(&screen->scr, pb_add_url_screen_sig, 0, cui, add_url_screen_process_key,