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;
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),
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)
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)
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;
title_suffix);
screen->scr.frame.rtitle = NULL;
screen->scr.frame.help = talloc_strdup(screen,
- _("tab=next, shift+tab=previous, x=exit"));
+ _("tab=next, shift+tab=previous, x=exit, h=help"));
scrollok(screen->scr.sub_ncw, true);