X-Git-Url: http://git.ozlabs.org/?p=petitboot;a=blobdiff_plain;f=ui%2Fncurses%2Fnc-subset.c;h=9ca3e8aacc8ddb777d990cca7ad6d51fce8720e5;hp=d90ed20e09881effb49a3cf35976b5ce559397a7;hb=24ccb34938342f414b888553882ef2ee976d02a0;hpb=37b4861cb01bf6bd9da41aa1b311a87b0d26fc25 diff --git a/ui/ncurses/nc-subset.c b/ui/ncurses/nc-subset.c index d90ed20..9ca3e8a 100644 --- a/ui/ncurses/nc-subset.c +++ b/ui/ncurses/nc-subset.c @@ -62,6 +62,12 @@ struct nc_scr *subset_screen_return_scr(struct subset_screen *screen) return screen->return_scr; } +void subset_screen_update(struct subset_screen *screen) +{ + pb_debug("Exiting subset due to update\n"); + return screen->on_exit(screen->cui); +} + static struct subset_screen *subset_screen_from_scr(struct nc_scr *scr) { struct subset_screen *subset_screen; @@ -144,7 +150,7 @@ static void cancel_click(void *arg) static void subset_screen_layout_widgets(struct subset_screen *screen) { - int y = 2; + int y = 1; /* select */ widget_move(widget_select_base(screen->widgets.options_f), @@ -155,9 +161,9 @@ static void subset_screen_layout_widgets(struct subset_screen *screen) y += 1; widget_move(widget_button_base(screen->widgets.ok_b), - y, screen->field_x + 12); + y, screen->field_x); widget_move(widget_button_base(screen->widgets.cancel_b), - y, screen->field_x + 24); + y, screen->field_x + 14); } static void subset_screen_option_select(void *arg, int value) @@ -216,8 +222,11 @@ static void subset_screen_draw(struct subset_screen *screen) bool repost = false; int height; - /* Size of pad = top space + number of available options */ - height = 1 + N_FIELDS + widget_subset_n_inactive(screen->options); + /* + * Size of pad = top space + 2 * number of available options in case + * device names wrap + */ + height = 1 + N_FIELDS + widget_subset_n_inactive(screen->options) * 2; if (!screen->pad || getmaxy(screen->pad) < height) { if (screen->pad) @@ -265,8 +274,8 @@ struct subset_screen *subset_screen_init(struct cui *cui, screen->cui = cui; screen->on_exit = on_exit; screen->options = (struct nc_widget_subset *) subset; - screen->label_x = 2; - screen->field_x = 22; + screen->label_x = 8; + screen->field_x = 8; screen->return_scr = current_scr;