static void init_chown_advanced (void) { int i; enum { dlg_h = 13, dlg_w = 74, n_elem = 4 }; #ifdef ENABLE_NLS static int i18n_len = 0; if (i18n_len == 0) { int dx, cx; for (i = 0 ; i < n_elem ; i++) { chown_advanced_but[i].text = _(chown_advanced_but[i].text); i18n_len += str_term_width1 (chown_advanced_but[i].text) + 3; if (DEFPUSH_BUTTON == chown_advanced_but[i].flags) i18n_len += 2; /* "<>" */ } cx = dx = (dlg_w - i18n_len - 2) / (n_elem + 1); /* Reversed order */ for (i = n_elem - 1; i >= 0; i--) { chown_advanced_but[i].x = cx; cx += str_term_width1 (chown_advanced_but[i].text) + 3 + dx; } } #endif /* ENABLE_NLS */ sf_stat = g_new (struct stat, 1); do_refresh (); end_chown = need_update = current_file = 0; single_set = (current_panel->marked < 2) ? 2 : 0; memset (ch_flags, '=', 11); flag_pos = 0; x_toggle = 070; ch_dlg = create_dlg (0, 0, dlg_h, dlg_w, dialog_colors, advanced_chown_callback, "[Advanced Chown]", _(" Chown advanced command "), DLG_CENTER | DLG_REVERSE); #define XTRACT(i) BY+chown_advanced_but[i].y, BX+chown_advanced_but[i].x, \ chown_advanced_but[i].ret_cmd, chown_advanced_but[i].flags, \ (chown_advanced_but[i].text), 0 for (i = 0; i < BUTTONS - 5; i++) if (!single_set || i < 2) add_widget (ch_dlg, button_new (XTRACT (i))); b_att[0] = button_new (XTRACT (8)); b_att[1] = button_new (XTRACT (7)); b_att[2] = button_new (XTRACT (6)); b_user = button_new (XTRACT (5)); b_group = button_new (XTRACT (4)); add_widget (ch_dlg, b_group); add_widget (ch_dlg, b_user); add_widget (ch_dlg, b_att[2]); add_widget (ch_dlg, b_att[1]); add_widget (ch_dlg, b_att[0]); }
static void init_chown (void) { int i; struct passwd *l_pass; struct group *l_grp; do_refresh (); end_chown = need_update = current_file = 0; single_set = (cpanel->marked < 2) ? 3 : 0; ch_dlg = create_dlg (0, 0, 18, 74, dialog_colors, chown_callback, "[Chown]", "chown", DLG_CENTER); #define XTRACT(i) BY+chown_but[i].y, BX+chown_but[i].x, chown_but[i].ret_cmd, chown_but[i].flags, _(chown_but[i].text), 0, 0, NULL for (i = 0; i < BUTTONS-single_set; i++) add_widget (ch_dlg, button_new (XTRACT (i))); /* Add the widgets for the file information */ #define LX(i) chown_label [i].y, chown_label [i].x, "", NULL for (i = 0; i < LABELS; i++){ chown_label [i].l = label_new (LX (i)); add_widget (ch_dlg, chown_label [i].l); } /* get new listboxes */ l_user = listbox_new (UY + 1, UX + 1, 19, 10, 0, l_call, NULL); l_group = listbox_new (GY + 1, GX + 1, 19, 10, 0, l_call, NULL); listbox_add_item (l_user, 0, 0, _("<Unknown user>"), NULL); /* add fields for unknown names (numbers) */ listbox_add_item (l_group, 0, 0, _("<Unknown group>"), NULL); setpwent (); /* get and put user names in the listbox */ while ((l_pass = getpwent ())) { listbox_add_item (l_user, 0, 0, l_pass->pw_name, NULL); } endpwent (); setgrent (); /* get and put group names in the listbox */ while ((l_grp = getgrent ())) { listbox_add_item (l_group, 0, 0, l_grp->gr_name, NULL); } endgrent (); add_widget (ch_dlg, l_group); add_widget (ch_dlg, l_user); /* add listboxes to the dialogs */ }
static void init_layout (void) { static int i18n_layt_flag = 0; static int b1, b2, b3; int i = sizeof (s_split_direction) / sizeof(char*) ; char* ok_button = _("&Ok"); char* cancel_button = _("&Cancel"); char* save_button = _("&Save"); if (!i18n_layt_flag) { register int l1; first_width = 19; /* length of line with '<' '>' buttons */ layout_title = _(" Layout "); title1 = _(" Panel split "); title2 = _(" Highlight... "); title3 = _(" Other options "); output_lines_label = _("output lines"); while (i--) { s_split_direction [i] = _(s_split_direction [i]); l1 = strlen (s_split_direction [i]) + 7; if (l1 > first_width) first_width = l1; } for (i = 0; i <= 8; i++) { check_options[i].text = _(check_options[i].text); l1 = strlen (check_options[i].text) + 7; if (l1 > first_width) first_width = l1; } l1 = strlen (title1) + 1; if (l1 > first_width) first_width = l1; l1 = strlen (title2) + 1; if (l1 > first_width) first_width = l1; second_width = strlen (title3) + 1; for (i = 0; i < 6; i++) { check_options[i].text = _(check_options[i].text); l1 = strlen (check_options[i].text) + 7; if (l1 > second_width) second_width = l1; } if (console_flag) { l1 = strlen (output_lines_label) + 13; if (l1 > second_width) second_width = l1; } /* * [email protected]: * To be completely correct, one need to check if layout_title * does not exceed dialog length and total length of 3 buttons * allows their placement in one row. But assuming this dialog * is wide enough, I don't include such a tests. * * Now the last thing to do - properly space buttons... */ l1 = 11 + strlen (ok_button) /* 14 - all brackets and inner space */ + strlen (save_button) /* notice: it is 3 char less because */ + strlen (cancel_button); /* of '&' char in button text */ i = (first_width + second_width - l1) / 4; b1 = 5 + i; b2 = b1 + strlen(ok_button) + i + 6; b3 = b2 + strlen(save_button) + i + 4; i18n_layt_flag = 1; } layout_dlg = create_dlg (0, 0, 15, first_width + second_width + 9, dialog_colors, layout_callback, "[Layout]", "layout", DLG_CENTER | DLG_GRID); x_set_dialog_title (layout_dlg, _("Layout")); add_widgetl (layout_dlg, button_new (BY, b3, B_CANCEL, NORMAL_BUTTON, cancel_button, 0, 0, "c"), XV_WLAY_RIGHTOF); add_widgetl (layout_dlg, button_new (BY, b2, B_EXIT, NORMAL_BUTTON, save_button, 0, 0, "s"), XV_WLAY_RIGHTOF); add_widgetl (layout_dlg, button_new (BY, b1, B_ENTER, DEFPUSH_BUTTON, ok_button, 0, 0, "o"), XV_WLAY_CENTERROW); #ifndef HAVE_X if (console_flag){ add_widget (layout_dlg, button_new (9, 12 + first_width, B_MINUS, NARROW_BUTTON, "&-", bminus_cback, 0, NULL)); add_widget (layout_dlg, button_new (9, 7 + first_width, B_PLUS, NARROW_BUTTON, "&+", bplus_cback, 0, NULL)); } #endif #define XTRACT(i) *check_options[i].variable, check_options[i].text, check_options[i].tkname for (i = 0; i < 6; i++){ check_options [i].widget = check_new (8 - i, 7 + first_width, XTRACT(i)); add_widgetl (layout_dlg, check_options [i].widget, XV_WLAY_BELOWCLOSE); } #ifdef HAVE_XVIEW add_widgetl (layout_dlg, label_new (2, 7 + first_width, _("Other options"), "oo"), XV_WLAY_NEXTCOLUMN); add_widgetl (layout_dlg, label_new (8, 5, _("Highlight..."), "hl"), XV_WLAY_NEXTCOLUMN); add_widgetl (layout_dlg, label_new (2, 5, _("Panel split"), "ps"), XV_WLAY_NEXTCOLUMN); #endif check_options [8].widget = check_new (10, 6, XTRACT(8)); add_widgetl (layout_dlg, check_options [8].widget, XV_WLAY_BELOWCLOSE); check_options [7].widget = check_new (9, 6, XTRACT(7)); add_widgetl (layout_dlg, check_options [7].widget, XV_WLAY_BELOWCLOSE); _filetype_mode = filetype_mode; _permission_mode = permission_mode; _equal_split = equal_split; _menubar_visible = menubar_visible; _command_prompt = command_prompt; _keybar_visible = keybar_visible; _message_visible = message_visible; _xterm_hintbar = xterm_hintbar; #ifndef HAVE_X bright_widget = button_new(6, 15, B_2RIGHT, NARROW_BUTTON, "&>", b2right_cback, 0, ">"); add_widgetl (layout_dlg, bright_widget, XV_WLAY_RIGHTOF); bleft_widget = button_new (6, 9, B_2LEFT, NARROW_BUTTON, "&<", b2left_cback, 0, "<"); add_widgetl (layout_dlg, bleft_widget, XV_WLAY_RIGHTOF); check_options [6].widget = check_new (5, 6, XTRACT(6)); #endif old_first_panel_size = -1; old_horizontal_split = -1; old_output_lines = -1; _first_panel_size = first_panel_size; _output_lines = output_lines; #ifndef HAVE_X add_widget (layout_dlg, check_options [6].widget); radio_widget = radio_new (3, 6, 2, s_split_direction, 1, "r"); add_widget (layout_dlg, radio_widget); radio_widget->sel = horizontal_split; #endif }
static void init_chown_advanced (void) { int i; int dlg_h = 12; int dlg_w = 74; int y; static gboolean i18n = FALSE; if (!i18n) { for (i = BUTTONS_PERM; i < BUTTONS; i++) { #ifdef ENABLE_NLS chown_advanced_but[i].text = _(chown_advanced_but[i].text); #endif /* ENABLE_NLS */ chown_advanced_but[i].len = str_term_width1 (chown_advanced_but[i].text) + 3; if (chown_advanced_but[i].flags == DEFPUSH_BUTTON) chown_advanced_but[i].len += 2; /* "<>" */ } i18n = TRUE; } do_refresh (); sf_stat = g_new (struct stat, 1); current_file = 0; end_chown = need_update = FALSE; single_set = (current_panel->marked < 2); memset (ch_flags, '=', 11); flag_pos = 0; x_toggle = 070; if (!single_set) dlg_h += 2; ch_dlg = dlg_create (TRUE, 0, 0, dlg_h, dlg_w, WPOS_CENTER, FALSE, dialog_colors, advanced_chown_callback, NULL, "[Advanced Chown]", _("Chown advanced command")); l_filename = label_new (2, 3, ""); add_widget (ch_dlg, l_filename); add_widget (ch_dlg, hline_new (3, -1, -1)); #define XTRACT(i,y) y, BX+chown_advanced_but[i].x, \ chown_advanced_but[i].ret_cmd, chown_advanced_but[i].flags, \ (chown_advanced_but[i].text), NULL b_att[0] = button_new (XTRACT (0, BY)); chown_advanced_but[0].id = add_widget (ch_dlg, b_att[0]); b_att[1] = button_new (XTRACT (1, BY)); chown_advanced_but[1].id = add_widget (ch_dlg, b_att[1]); b_att[2] = button_new (XTRACT (2, BY)); chown_advanced_but[2].id = add_widget (ch_dlg, b_att[2]); b_user = button_new (XTRACT (3, BY)); chown_advanced_but[3].id = add_widget (ch_dlg, b_user); b_group = button_new (XTRACT (4, BY)); chown_advanced_but[4].id = add_widget (ch_dlg, b_group); #undef XTRACT l_mode = label_new (BY + 2, 3, ""); add_widget (ch_dlg, l_mode); y = BY + 3; if (!single_set) { i = BUTTONS_PERM; add_widget (ch_dlg, hline_new (y++, -1, -1)); chown_advanced_but[i].id = add_widget (ch_dlg, button_new (y, WIDGET (ch_dlg)->cols / 2 - chown_advanced_but[i].len, chown_advanced_but[i].ret_cmd, chown_advanced_but[i].flags, chown_advanced_but[i].text, NULL)); i++; chown_advanced_but[i].id = add_widget (ch_dlg, button_new (y, WIDGET (ch_dlg)->cols / 2 + 1, chown_advanced_but[i].ret_cmd, chown_advanced_but[i].flags, chown_advanced_but[i].text, NULL)); y++; } i = BUTTONS_PERM + 2; add_widget (ch_dlg, hline_new (y++, -1, -1)); chown_advanced_but[i].id = add_widget (ch_dlg, button_new (y, WIDGET (ch_dlg)->cols / 2 - chown_advanced_but[i].len, chown_advanced_but[i].ret_cmd, chown_advanced_but[i].flags, chown_advanced_but[i].text, NULL)); i++; chown_advanced_but[i].id = add_widget (ch_dlg, button_new (y, WIDGET (ch_dlg)->cols / 2 + 1, chown_advanced_but[i].ret_cmd, chown_advanced_but[i].flags, chown_advanced_but[i].text, NULL)); dlg_select_widget (b_att[0]); }
static WDialog * init_layout (void) { WDialog *layout_dlg; int l1 = 0, width; int b1, b2, b; size_t i; const char *title1 = N_("Panel split"); const char *title2 = N_("Console output"); const char *title3 = N_("Other options"); const char *s_split_direction[2] = { N_("&Vertical"), N_("&Horizontal") }; const char *ok_button = N_("&OK"); const char *cancel_button = N_("&Cancel"); output_lines_label = _("Output lines:"); /* save old params */ _menubar_visible = menubar_visible; _command_prompt = command_prompt; _keybar_visible = mc_global.keybar_visible; _message_visible = mc_global.message_visible; _xterm_title = xterm_title; _free_space = free_space; old_output_lines = -1; _output_lines = output_lines; #ifdef ENABLE_NLS { static gboolean i18n = FALSE; title1 = _(title1); title2 = _(title2); title3 = _(title3); i = G_N_ELEMENTS (s_split_direction); while (i-- != 0) s_split_direction[i] = _(s_split_direction[i]); if (!i18n) { for (i = 0; i < (size_t) LAYOUT_OPTIONS_COUNT; i++) check_options[i].text = _(check_options[i].text); i18n = TRUE; } ok_button = _(ok_button); cancel_button = _(cancel_button); } #endif /* radiobuttons */ i = G_N_ELEMENTS (s_split_direction); while (i-- != 0) l1 = max (l1, str_term_width1 (s_split_direction[i]) + 7); /* checkboxes */ for (i = 0; i < (size_t) LAYOUT_OPTIONS_COUNT; i++) l1 = max (l1, str_term_width1 (check_options[i].text) + 7); /* groupboxes */ l1 = max (l1, str_term_width1 (title1) + 4); l1 = max (l1, str_term_width1 (title2) + 4); l1 = max (l1, str_term_width1 (title3) + 4); /* label + "+"/"-" buttons */ output_lines_label_len = str_term_width1 (output_lines_label); l1 = max (l1, output_lines_label_len + 12); /* buttons */ b1 = str_term_width1 (ok_button) + 5; /* default button */ b2 = str_term_width1 (cancel_button) + 3; b = b1 + b2 + 1; /* dialog width */ width = max (l1 * 2 + 7, b); layout_dlg = dlg_create (TRUE, 0, 0, 15, width, dialog_colors, layout_callback, NULL, "[Layout]", _("Layout"), DLG_CENTER); #define XTRACT(i) *check_options[i].variable, check_options[i].text /* "Panel split" groupbox */ add_widget (layout_dlg, groupbox_new (2, 3, 6, l1, title1)); radio_widget = radio_new (3, 5, 2, s_split_direction); radio_widget->sel = panels_layout.horizontal_split; add_widget (layout_dlg, radio_widget); check_options[0].widget = check_new (5, 5, XTRACT (0)); add_widget (layout_dlg, check_options[0].widget); equal_split = panels_layout.horizontal_split ? panels_layout.horizontal_equal : panels_layout.vertical_equal; bleft_widget = button_new (6, 8, B_2LEFT, NARROW_BUTTON, "&<", b_left_right_cback); widget_disable (WIDGET (bleft_widget), equal_split); add_widget (layout_dlg, bleft_widget); bright_widget = button_new (6, 14, B_2RIGHT, NARROW_BUTTON, "&>", b_left_right_cback); widget_disable (WIDGET (bright_widget), equal_split); add_widget (layout_dlg, bright_widget); /* "Console output" groupbox */ { const int disabled = mc_global.tty.console_flag != '\0' ? 0 : W_DISABLED; Widget *w; w = WIDGET (groupbox_new (8, 3, 3, l1, title2)); w->options |= disabled; add_widget (layout_dlg, w); w = WIDGET (button_new (9, output_lines_label_len + 5, B_PLUS, NARROW_BUTTON, "&+", bplus_cback)); w->options |= disabled; add_widget (layout_dlg, w); w = WIDGET (button_new (9, output_lines_label_len + 5 + 5, B_MINUS, NARROW_BUTTON, "&-", bminus_cback)); w->options |= disabled; add_widget (layout_dlg, w); } /* "Other options" groupbox */ add_widget (layout_dlg, groupbox_new (2, 4 + l1, 9, l1, title3)); for (i = 1; i < (size_t) LAYOUT_OPTIONS_COUNT; i++) { check_options[i].widget = check_new (i + 2, 6 + l1, XTRACT (i)); add_widget (layout_dlg, check_options[i].widget); } #undef XTRACT add_widget (layout_dlg, hline_new (11, -1, -1)); /* buttons */ add_widget (layout_dlg, button_new (12, (width - b) / 2, B_ENTER, DEFPUSH_BUTTON, ok_button, 0)); add_widget (layout_dlg, button_new (12, (width - b) / 2 + b1 + 1, B_CANCEL, NORMAL_BUTTON, cancel_button, 0)); dlg_select_widget (radio_widget); return layout_dlg; }
static void init_configure (void) { int i; static int i18n_config_flag = 0; static int b1, b2, b3; char* ok_button = _("&Ok"); char* cancel_button = _("&Cancel"); char* save_button = _("&Save"); if (!i18n_config_flag) { register int l1; /* Similar code is in layout.c (init_layout()) */ configure_title = _(" Configure options "); title1 = _(" Panel options "); title2 = _(" Pause after run... "); title3 = _(" Other options "); first_width = strlen (title1) + 1; for (i = 13; i < 18; i++) { check_options[i].text = _(check_options[i].text); l1 = strlen (check_options[i].text) + 7; if (l1 > first_width) first_width = l1; } i = sizeof(pause_options)/sizeof(char*); while (i--) { pause_options [i] = _(pause_options [i]); l1 = strlen (pause_options [i]) + 7; if (l1 > first_width) first_width = l1; } l1 = strlen (title2) + 1; if (l1 > first_width) first_width = l1; OX = first_width + 5; second_width = strlen (title3) + 1; for (i = 0; i < 13; i++) { check_options[i].text = _(check_options[i].text); l1 = strlen (check_options[i].text) + 7; if (l1 > second_width) second_width = l1; } l1 = 11 + strlen (ok_button) + strlen (save_button) + strlen (cancel_button); i = (first_width + second_width - l1) / 4; b1 = 5 + i; b2 = b1 + strlen(ok_button) + i + 6; b3 = b2 + strlen(save_button) + i + 4; i18n_config_flag = 1; } conf_dlg = create_dlg (0, 0, 20, first_width + second_width + 9, dialog_colors, configure_callback, "[Options Menu]", "option", DLG_CENTER | DLG_GRID); x_set_dialog_title (conf_dlg, _("Configure options")); add_widgetl (conf_dlg, button_new (BY, b3, B_CANCEL, NORMAL_BUTTON, cancel_button, 0, 0, "button-cancel"), XV_WLAY_RIGHTOF); add_widgetl (conf_dlg, button_new (BY, b2, B_EXIT, NORMAL_BUTTON, save_button, 0, 0, "button-save"), XV_WLAY_RIGHTOF); add_widgetl (conf_dlg, button_new (BY, b1, B_ENTER, DEFPUSH_BUTTON, ok_button, 0, 0, "button-ok"), XV_WLAY_CENTERROW); #define XTRACT(i) *check_options[i].variable, check_options[i].text, check_options [i].tk /* Add all the checkboxes */ for (i = 0; i < 13; i++){ check_options [i].widget = check_new (OY + (13-i), OX+2, XTRACT(i)); add_widgetl (conf_dlg, check_options [i].widget, XV_WLAY_BELOWCLOSE); } pause_radio = radio_new (RY+1, RX+2, 3, pause_options, 1, "pause-radio"); pause_radio->sel = pause_after_run; #ifndef HAVE_GNOME add_widgetl (conf_dlg, pause_radio, XV_WLAY_BELOWCLOSE); #endif for (i = 0; i < 6; i++){ check_options [i+13].widget = check_new (PY + (6-i), PX+2, XTRACT(i+13)); add_widgetl (conf_dlg, check_options [i+13].widget, XV_WLAY_BELOWCLOSE); } }
static void init_learn (void) { int x, y, i, j; key_code_name_t *key; char buffer [22]; static int i18n_flag = 0; do_refresh (); #ifdef ENABLE_NLS if (!i18n_flag) { char* cp; learn_but [0].text = _(learn_but [0].text); learn_but [0].x = 78 / 2 + 4; learn_but [1].text = _(learn_but [1].text); learn_but [1].x = 78 / 2 - (strlen (learn_but [1].text) + 9); for (i = 0; i < BUTTONS; i++) { cp = strchr(learn_but [i].text, '&'); if (cp != NULL && *++cp != '\0') learn_but [i].hotkey = toupper(*cp); } learn_title = _(learn_title); i18n_flag = 1; } #endif /* ENABLE_NLS */ learn_dlg = create_dlg (0, 0, 23, 78, dialog_colors, learn_callback, "[Learn keys]", "Learn keys", DLG_CENTER); x_set_dialog_title (learn_dlg, _("Learn keys")); #define XTRACT(i) BY+learn_but[i].y, learn_but[i].x, learn_but[i].ret_cmd, learn_but[i].flags, _(learn_but[i].text), 0, 0, NULL for (i = 0; i < BUTTONS; i++) add_widget (learn_dlg, button_new (XTRACT (i))); x = UX; y = UY; for (key = key_name_conv_tab, j = 0; key->name != NULL && strcmp (key->name, "kpleft"); key++, j++); learnkeys = (learnkey *) xmalloc (sizeof (learnkey) * j, "Learn keys"); x += ((j - 1) / ROWS) * COLSHIFT; y += (j - 1) % ROWS; learn_total = j; learnok = 0; learnchanged = 0; for (i = j - 1, key = key_name_conv_tab + j - 1; i >= 0; i--, key--) { learnkeys [i].ok = 0; learnkeys [i].sequence = NULL; sprintf (buffer, "%-16s", _(key->longname)); add_widget (learn_dlg, learnkeys [i].button = (Widget *) button_new (y, x, B_USER + i, NARROW_BUTTON, buffer, learn_button, 0, NULL)); add_widget (learn_dlg, learnkeys [i].label = (Widget *) label_new (y, x + 19, "", NULL)); if (i % 13) y--; else { x -= COLSHIFT; y = UY + ROWS - 1; } } add_widget (learn_dlg, label_new (UY+14, 5, _("Press all the keys mentioned here. After you have done it, check"), NULL)); add_widget (learn_dlg, label_new (UY+15, 5, _("which keys are not marked with OK. Press space on the missing"), NULL)); add_widget (learn_dlg, label_new (UY+16, 5, _("key, or click with the mouse to define it. Move around with Tab."), NULL)); }
static void init_listmode (char *oldlistformat) { int i; char *s; int format_width = 0; int format_columns = 0; do_refresh (); listmode_dlg = create_dlg (0, 0, 22, 74, dialog_colors, listmode_callback, listmode_section, "listmode", DLG_CENTER); x_set_dialog_title (listmode_dlg, "Listing format edit"); #define XTRACT(i) BY+listmode_but[i].y, BX+listmode_but[i].x, listmode_but[i].ret_cmd, listmode_but[i].flags, listmode_but[i].text, 0, 0, NULL for (i = 0; i < BUTTONS; i++) add_widgetl (listmode_dlg, button_new (XTRACT (i)), (i == BUTTONS - 1) ? XV_WLAY_CENTERROW : XV_WLAY_RIGHTOF); /* We add the labels. */ for (i = 0; i < LABELS; i++){ pname = label_new (listmode_text [i].y, listmode_text [i].x, listmode_text [i].text, NULL); add_widget (listmode_dlg, pname); } add_widget (listmode_dlg, button_new (UY+13, UX+37, B_MINUS, NORMAL_BUTTON, "&-", bminus_cback, 0, NULL)); add_widget (listmode_dlg, button_new (UY+13, UX+34, B_PLUS, NORMAL_BUTTON, "&+", bplus_cback, 0, NULL)); radio_itemwidth = radio_new (UY+9, UX+22, 3, s_itemwidth, 1, NULL); add_widget (listmode_dlg, radio_itemwidth); radio_itemwidth = 0; radio_justify = radio_new (UY+5, UX+22, 3, s_justify, 1, NULL); add_widget (listmode_dlg, radio_justify); radio_justify->sel = 1; /* get new listbox */ l_listmode = listbox_new (UY + 5, UX + 1, 16, 9, 0, l_call, NULL); if (strncmp (oldlistformat, "full ", 5) == 0){ format_width = 1; oldlistformat += 5; } if (strncmp (oldlistformat, "half ", 5) == 0){ oldlistformat += 5; } if (strncmp (oldlistformat, "2 ", 2) == 0){ format_columns = 1; oldlistformat += 2; } if (strncmp (oldlistformat, "1 ", 2) == 0){ oldlistformat += 2; } s = strtok (oldlistformat, ","); while (s){ listbox_add_item (l_listmode, 0, 0, s, NULL); s = strtok (NULL, ","); } /* add listbox to the dialogs */ add_widgetl (listmode_dlg, l_listmode, XV_WLAY_EXTENDWIDTH); radio_columns = radio_new (UY+1, UX+32, 2, s_columns, 1, NULL); add_widget (listmode_dlg, radio_columns); radio_columns->sel = format_columns; radio_genwidth = radio_new (UY+1, UX+2, 2, s_genwidth, 1, NULL); add_widget (listmode_dlg, radio_genwidth); radio_genwidth->sel = format_width; }