mirror of
https://github.com/MidnightCommander/mc
synced 2024-12-23 04:46:55 +03:00
Merge branch 'm-utf-8' of ssh://angel_il@midnight-commander.org:2222/git/mc into m-utf-8
This commit is contained in:
commit
a71e58bcdb
@ -2840,7 +2840,7 @@ edit_completion_dialog (WEdit * edit, int max_len, int word_len,
|
|||||||
|
|
||||||
/* create the listbox */
|
/* create the listbox */
|
||||||
compl_list =
|
compl_list =
|
||||||
listbox_new (1, 1, compl_dlg_w - 2, compl_dlg_h - 2, NULL);
|
listbox_new (1, 1, compl_dlg_h - 2, compl_dlg_w - 2, NULL);
|
||||||
|
|
||||||
/* add the dialog */
|
/* add the dialog */
|
||||||
add_widget (compl_dlg, compl_list);
|
add_widget (compl_dlg, compl_list);
|
||||||
@ -3078,7 +3078,7 @@ edit_select_definition_dialog (WEdit * edit, char *match_expr, int max_len, int
|
|||||||
DLG_COMPACT);
|
DLG_COMPACT);
|
||||||
|
|
||||||
/* create the listbox */
|
/* create the listbox */
|
||||||
def_list = listbox_new (1, 1, def_dlg_w - 2, def_dlg_h - 2, NULL);
|
def_list = listbox_new (1, 1, def_dlg_h - 2, def_dlg_w - 2, NULL);
|
||||||
|
|
||||||
/* add the dialog */
|
/* add the dialog */
|
||||||
add_widget (def_dlg, def_list);
|
add_widget (def_dlg, def_list);
|
||||||
|
@ -258,7 +258,7 @@ do_enter_key (Dlg_head * h, int f_pos)
|
|||||||
"[Advanced Chown]", title, DLG_COMPACT | DLG_REVERSE);
|
"[Advanced Chown]", title, DLG_COMPACT | DLG_REVERSE);
|
||||||
|
|
||||||
/* get new listboxes */
|
/* get new listboxes */
|
||||||
chl_list = listbox_new (1, 1, 15, 11, NULL);
|
chl_list = listbox_new (1, 1, 11, 15, NULL);
|
||||||
|
|
||||||
listbox_add_item (chl_list, LISTBOX_APPEND_AT_END, 0,
|
listbox_add_item (chl_list, LISTBOX_APPEND_AT_END, 0,
|
||||||
"<Unknown>", NULL);
|
"<Unknown>", NULL);
|
||||||
|
@ -999,7 +999,7 @@ jobs_cmd (void)
|
|||||||
"[Background jobs]", _("Background Jobs"),
|
"[Background jobs]", _("Background Jobs"),
|
||||||
DLG_CENTER | DLG_REVERSE);
|
DLG_CENTER | DLG_REVERSE);
|
||||||
|
|
||||||
bg_list = listbox_new (2, 3, JOBS_X-7, JOBS_Y-9, 0);
|
bg_list = listbox_new (2, 3, JOBS_Y - 9, JOBS_X - 7, NULL);
|
||||||
add_widget (jobs_dlg, bg_list);
|
add_widget (jobs_dlg, bg_list);
|
||||||
|
|
||||||
i = n_buttons;
|
i = n_buttons;
|
||||||
|
@ -172,8 +172,8 @@ init_chown (void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* get new listboxes */
|
/* get new listboxes */
|
||||||
l_user = listbox_new (UY + 1, UX + 1, 19, 10, NULL);
|
l_user = listbox_new (UY + 1, UX + 1, 10, 19, NULL);
|
||||||
l_group = listbox_new (GY + 1, GX + 1, 19, 10, NULL);
|
l_group = listbox_new (GY + 1, GX + 1, 10, 19, NULL);
|
||||||
|
|
||||||
/* add fields for unknown names (numbers) */
|
/* add fields for unknown names (numbers) */
|
||||||
listbox_add_item (l_user, 0, 0, _("<Unknown user>"), NULL);
|
listbox_add_item (l_user, 0, 0, _("<Unknown user>"), NULL);
|
||||||
|
@ -1088,7 +1088,7 @@ complete_engine (WInput *in, int what_to_do)
|
|||||||
query_dlg = create_dlg (y, x, query_height, query_width,
|
query_dlg = create_dlg (y, x, query_height, query_width,
|
||||||
dialog_colors, query_callback,
|
dialog_colors, query_callback,
|
||||||
"[Completion]", NULL, DLG_COMPACT);
|
"[Completion]", NULL, DLG_COMPACT);
|
||||||
query_list = listbox_new (1, 1, w - 2, h - 2, NULL);
|
query_list = listbox_new (1, 1, h - 2, w - 2, NULL);
|
||||||
add_widget (query_dlg, query_list);
|
add_widget (query_dlg, query_list);
|
||||||
for (p = in->completions + 1; *p; p++)
|
for (p = in->completions + 1; *p; p++)
|
||||||
listbox_add_item (query_list, 0, 0, *p, NULL);
|
listbox_add_item (query_list, 0, 0, *p, NULL);
|
||||||
|
@ -49,8 +49,8 @@ typedef enum {
|
|||||||
} widget_msg_t;
|
} widget_msg_t;
|
||||||
|
|
||||||
typedef enum {
|
typedef enum {
|
||||||
MSG_NOT_HANDLED,
|
MSG_NOT_HANDLED = 0,
|
||||||
MSG_HANDLED
|
MSG_HANDLED = 1
|
||||||
} cb_ret_t;
|
} cb_ret_t;
|
||||||
|
|
||||||
/* Widgets are expected to answer to the following messages:
|
/* Widgets are expected to answer to the following messages:
|
||||||
|
@ -944,7 +944,7 @@ setup_gui (void)
|
|||||||
add_widget (find_dlg, status_label);
|
add_widget (find_dlg, status_label);
|
||||||
|
|
||||||
find_list =
|
find_list =
|
||||||
listbox_new (2, 2, FIND2_X - 4, FIND2_Y - 9, 0);
|
listbox_new (2, 2, FIND2_Y - 9, FIND2_X - 4, NULL);
|
||||||
add_widget (find_dlg, find_list);
|
add_widget (find_dlg, find_list);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -652,7 +652,7 @@ init_hotlist (int list_type)
|
|||||||
}
|
}
|
||||||
/* get new listbox */
|
/* get new listbox */
|
||||||
l_hotlist =
|
l_hotlist =
|
||||||
listbox_new (UY + 1, UX + 1, COLS - 2 * UX - 8, LINES - 14,
|
listbox_new (UY + 1, UX + 1, LINES - 14, COLS - 2 * UX - 8,
|
||||||
l_call);
|
l_call);
|
||||||
|
|
||||||
/* Fill the hotlist with the active VFS or the hotlist */
|
/* Fill the hotlist with the active VFS or the hotlist */
|
||||||
@ -700,8 +700,8 @@ init_movelist (int list_type, struct hotlist *item)
|
|||||||
add_widget (movelist_dlg, movelist_group);
|
add_widget (movelist_dlg, movelist_group);
|
||||||
/* get new listbox */
|
/* get new listbox */
|
||||||
l_movelist =
|
l_movelist =
|
||||||
listbox_new (UY + 1, UX + 1, movelist_dlg->cols - 2 * UX - 2,
|
listbox_new (UY + 1, UX + 1, movelist_dlg->lines - 8,
|
||||||
movelist_dlg->lines - 8, l_call);
|
movelist_dlg->cols - 2 * UX - 2, l_call);
|
||||||
|
|
||||||
fill_listbox ();
|
fill_listbox ();
|
||||||
|
|
||||||
|
@ -439,10 +439,10 @@ init_layout (void)
|
|||||||
dialog_colors, layout_callback, "[Layout]",
|
dialog_colors, layout_callback, "[Layout]",
|
||||||
_("Layout"), DLG_CENTER | DLG_REVERSE);
|
_("Layout"), DLG_CENTER | DLG_REVERSE);
|
||||||
|
|
||||||
add_widget (layout_dlg, groupbox_new (4, 2, first_width, 6, title1));
|
add_widget (layout_dlg, groupbox_new (2, 4, 6, first_width, title1));
|
||||||
add_widget (layout_dlg, groupbox_new (4, 8, first_width, 4, title2));
|
add_widget (layout_dlg, groupbox_new (8, 4, 4, first_width, title2));
|
||||||
add_widget (layout_dlg,
|
add_widget (layout_dlg,
|
||||||
groupbox_new (5 + first_width, 2, second_width, 10,
|
groupbox_new (2, 5 + first_width, 10, second_width,
|
||||||
title3));
|
title3));
|
||||||
|
|
||||||
add_widget (layout_dlg,
|
add_widget (layout_dlg,
|
||||||
|
@ -173,10 +173,10 @@ init_listmode (char *oldlistformat)
|
|||||||
"Listing format edit", DLG_CENTER | DLG_REVERSE);
|
"Listing format edit", DLG_CENTER | DLG_REVERSE);
|
||||||
|
|
||||||
add_widget (listmode_dlg,
|
add_widget (listmode_dlg,
|
||||||
groupbox_new (UX, UY, 63, 4, "General options"));
|
groupbox_new (UY, UX, 4, 63, "General options"));
|
||||||
add_widget (listmode_dlg, groupbox_new (UX, UY + 4, 18, 11, "Items"));
|
add_widget (listmode_dlg, groupbox_new (UY + 4, UX, 11, 18, "Items"));
|
||||||
add_widget (listmode_dlg,
|
add_widget (listmode_dlg,
|
||||||
groupbox_new (UX + 20, UY + 4, 43, 11, "Item options"));
|
groupbox_new (UY + 4, UX + 20, 11, 43, "Item options"));
|
||||||
|
|
||||||
for (i = 0;
|
for (i = 0;
|
||||||
i < sizeof (listmode_but) / sizeof (struct listmode_button); i++)
|
i < sizeof (listmode_but) / sizeof (struct listmode_button); i++)
|
||||||
@ -205,7 +205,7 @@ init_listmode (char *oldlistformat)
|
|||||||
radio_justify->sel = 1;
|
radio_justify->sel = 1;
|
||||||
|
|
||||||
/* get new listbox */
|
/* get new listbox */
|
||||||
l_listmode = listbox_new (UY + 5, UX + 1, 16, 9, NULL);
|
l_listmode = listbox_new (UY + 5, UX + 1, 9, 16, NULL);
|
||||||
|
|
||||||
if (strncmp (oldlistformat, "full ", 5) == 0) {
|
if (strncmp (oldlistformat, "full ", 5) == 0) {
|
||||||
format_width = 1;
|
format_width = 1;
|
||||||
|
@ -18,12 +18,13 @@ enum {
|
|||||||
|
|
||||||
#define ACS_VLINE SLSMG_VLINE_CHAR
|
#define ACS_VLINE SLSMG_VLINE_CHAR
|
||||||
#define ACS_HLINE SLSMG_HLINE_CHAR
|
#define ACS_HLINE SLSMG_HLINE_CHAR
|
||||||
|
#define ACS_LTEE SLSMG_LTEE_CHAR
|
||||||
|
#define ACS_RTEE SLSMG_RTEE_CHAR
|
||||||
#define ACS_ULCORNER SLSMG_ULCORN_CHAR
|
#define ACS_ULCORNER SLSMG_ULCORN_CHAR
|
||||||
#define ACS_LLCORNER SLSMG_LLCORN_CHAR
|
#define ACS_LLCORNER SLSMG_LLCORN_CHAR
|
||||||
#define ACS_URCORNER SLSMG_URCORN_CHAR
|
#define ACS_URCORNER SLSMG_URCORN_CHAR
|
||||||
#define ACS_LRCORNER SLSMG_LRCORN_CHAR
|
#define ACS_LRCORNER SLSMG_LRCORN_CHAR
|
||||||
|
|
||||||
#define ACS_LTEE 't'
|
|
||||||
#define acs() SLsmg_set_char_set(1)
|
#define acs() SLsmg_set_char_set(1)
|
||||||
#define noacs() SLsmg_set_char_set (0)
|
#define noacs() SLsmg_set_char_set (0)
|
||||||
#define baudrate() SLang_TT_Baud_Rate
|
#define baudrate() SLang_TT_Baud_Rate
|
||||||
|
@ -172,13 +172,13 @@ init_configure (void)
|
|||||||
_("Configure options"), DLG_CENTER | DLG_REVERSE);
|
_("Configure options"), DLG_CENTER | DLG_REVERSE);
|
||||||
|
|
||||||
add_widget (conf_dlg,
|
add_widget (conf_dlg,
|
||||||
groupbox_new (PX, PY, first_width, PANEL_OPTIONS + 2, title1));
|
groupbox_new (PY, PX, PANEL_OPTIONS + 2, first_width, title1));
|
||||||
|
|
||||||
add_widget (conf_dlg,
|
add_widget (conf_dlg,
|
||||||
groupbox_new (RX, RY, first_width, PAUSE_OPTIONS + 2, title2));
|
groupbox_new (RY, RX, PAUSE_OPTIONS + 2, first_width, title2));
|
||||||
|
|
||||||
add_widget (conf_dlg,
|
add_widget (conf_dlg,
|
||||||
groupbox_new (OX, OY, second_width, OTHER_OPTIONS + 2, title3));
|
groupbox_new (OY, OX, OTHER_OPTIONS + 2, second_width, title3));
|
||||||
|
|
||||||
add_widget (conf_dlg,
|
add_widget (conf_dlg,
|
||||||
button_new (BY, b3, B_CANCEL, NORMAL_BUTTON,
|
button_new (BY, b3, B_CANCEL, NORMAL_BUTTON,
|
||||||
|
@ -172,7 +172,7 @@ init_panelize (void)
|
|||||||
|
|
||||||
/* get new listbox */
|
/* get new listbox */
|
||||||
l_panelize =
|
l_panelize =
|
||||||
listbox_new (UY + 1, UX + 1, panelize_dlg->cols - 12, 10, NULL);
|
listbox_new (UY + 1, UX + 1, 10, panelize_dlg->cols - 12, NULL);
|
||||||
|
|
||||||
while (current) {
|
while (current) {
|
||||||
listbox_add_item (l_panelize, 0, 0, current->label, current);
|
listbox_add_item (l_panelize, 0, 0, current->label, current);
|
||||||
|
12
src/screen.c
12
src/screen.c
@ -774,15 +774,13 @@ show_dir (WPanel *panel)
|
|||||||
panel->widget.y, panel->widget.x,
|
panel->widget.y, panel->widget.x,
|
||||||
panel->widget.lines, panel->widget.cols);
|
panel->widget.lines, panel->widget.cols);
|
||||||
|
|
||||||
#ifdef HAVE_SLANG
|
|
||||||
if (show_mini_info) {
|
if (show_mini_info) {
|
||||||
SLsmg_draw_object (panel->widget.y + llines (panel) + 2,
|
widget_move (&panel->widget, llines (panel) + 2, 0);
|
||||||
panel->widget.x, SLSMG_LTEE_CHAR);
|
tty_print_alt_char (ACS_LTEE);
|
||||||
SLsmg_draw_object (panel->widget.y + llines (panel) + 2,
|
widget_move (&panel->widget, llines (panel) + 2,
|
||||||
panel->widget.x + panel->widget.cols - 1,
|
panel->widget.cols - 1);
|
||||||
SLSMG_RTEE_CHAR);
|
tty_print_alt_char (ACS_RTEE);
|
||||||
}
|
}
|
||||||
#endif /* HAVE_SLANG */
|
|
||||||
|
|
||||||
if (panel->active)
|
if (panel->active)
|
||||||
attrset (REVERSE_COLOR);
|
attrset (REVERSE_COLOR);
|
||||||
|
71
src/widget.c
71
src/widget.c
@ -156,10 +156,9 @@ button_callback (Widget *w, widget_msg_t msg, int parm)
|
|||||||
if (b->text.hotkey != NULL) {
|
if (b->text.hotkey != NULL) {
|
||||||
if (g_ascii_tolower ((gchar)b->text.hotkey[0]) ==
|
if (g_ascii_tolower ((gchar)b->text.hotkey[0]) ==
|
||||||
g_ascii_tolower ((gchar)parm)) {
|
g_ascii_tolower ((gchar)parm)) {
|
||||||
|
button_callback (w, WIDGET_KEY, ' ');
|
||||||
button_callback (w, WIDGET_KEY, ' ');
|
return MSG_HANDLED;
|
||||||
return MSG_HANDLED;
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return MSG_NOT_HANDLED;
|
return MSG_NOT_HANDLED;
|
||||||
|
|
||||||
@ -204,7 +203,7 @@ button_callback (Widget *w, widget_msg_t msg, int parm)
|
|||||||
|
|
||||||
widget_selectcolor (w, b->selected, FALSE);
|
widget_selectcolor (w, b->selected, FALSE);
|
||||||
widget_move (w, 0, 0);
|
widget_move (w, 0, 0);
|
||||||
|
|
||||||
switch (b->flags) {
|
switch (b->flags) {
|
||||||
case DEFPUSH_BUTTON:
|
case DEFPUSH_BUTTON:
|
||||||
addstr ("[< ");
|
addstr ("[< ");
|
||||||
@ -221,11 +220,11 @@ button_callback (Widget *w, widget_msg_t msg, int parm)
|
|||||||
}
|
}
|
||||||
|
|
||||||
addstr (str_term_form (b->text.start));
|
addstr (str_term_form (b->text.start));
|
||||||
|
|
||||||
if (b->text.hotkey != NULL) {
|
if (b->text.hotkey != NULL) {
|
||||||
widget_selectcolor (w, b->selected, TRUE);
|
widget_selectcolor (w, b->selected, TRUE);
|
||||||
addstr (str_term_form (b->text.hotkey));
|
addstr (str_term_form (b->text.hotkey));
|
||||||
widget_selectcolor (w, b->selected, FALSE);
|
widget_selectcolor (w, b->selected, FALSE);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (b->text.end != NULL) {
|
if (b->text.end != NULL) {
|
||||||
@ -243,7 +242,6 @@ button_callback (Widget *w, widget_msg_t msg, int parm)
|
|||||||
addstr ("]");
|
addstr ("]");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
return MSG_HANDLED;
|
return MSG_HANDLED;
|
||||||
|
|
||||||
case WIDGET_DESTROY:
|
case WIDGET_DESTROY:
|
||||||
@ -411,7 +409,7 @@ radio_callback (Widget *w, widget_msg_t msg, int parm)
|
|||||||
widget_move (&r->widget, i, 0);
|
widget_move (&r->widget, i, 0);
|
||||||
|
|
||||||
addstr ((r->sel == i) ? "(*) " : "( ) ");
|
addstr ((r->sel == i) ? "(*) " : "( ) ");
|
||||||
|
|
||||||
addstr (str_term_form (r->texts[i].start));
|
addstr (str_term_form (r->texts[i].start));
|
||||||
|
|
||||||
if (r->texts[i].hotkey != NULL) {
|
if (r->texts[i].hotkey != NULL) {
|
||||||
@ -431,7 +429,7 @@ radio_callback (Widget *w, widget_msg_t msg, int parm)
|
|||||||
}
|
}
|
||||||
g_free (r->texts);
|
g_free (r->texts);
|
||||||
return MSG_HANDLED;
|
return MSG_HANDLED;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
return default_proc (msg, parm);
|
return default_proc (msg, parm);
|
||||||
}
|
}
|
||||||
@ -501,10 +499,10 @@ check_callback (Widget *w, widget_msg_t msg, int parm)
|
|||||||
if (c->text.hotkey != NULL) {
|
if (c->text.hotkey != NULL) {
|
||||||
if (g_ascii_tolower ((gchar)c->text.hotkey[0]) ==
|
if (g_ascii_tolower ((gchar)c->text.hotkey[0]) ==
|
||||||
g_ascii_tolower ((gchar)parm)) {
|
g_ascii_tolower ((gchar)parm)) {
|
||||||
|
|
||||||
check_callback (w, WIDGET_KEY, ' '); /* make action */
|
check_callback (w, WIDGET_KEY, ' '); /* make action */
|
||||||
return MSG_HANDLED;
|
return MSG_HANDLED;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return MSG_NOT_HANDLED;
|
return MSG_NOT_HANDLED;
|
||||||
|
|
||||||
@ -535,7 +533,7 @@ check_callback (Widget *w, widget_msg_t msg, int parm)
|
|||||||
addstr (str_term_form (c->text.hotkey));
|
addstr (str_term_form (c->text.hotkey));
|
||||||
widget_selectcolor (w, msg == WIDGET_FOCUS, FALSE);
|
widget_selectcolor (w, msg == WIDGET_FOCUS, FALSE);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (c->text.end != NULL) {
|
if (c->text.end != NULL) {
|
||||||
addstr (str_term_form (c->text.end));
|
addstr (str_term_form (c->text.end));
|
||||||
}
|
}
|
||||||
@ -624,7 +622,7 @@ label_callback (Widget *w, widget_msg_t msg, int parm)
|
|||||||
|
|
||||||
widget_move (&l->widget, y, 0);
|
widget_move (&l->widget, y, 0);
|
||||||
addstr (str_fit_to_term (p, l->widget.cols, J_LEFT));
|
addstr (str_fit_to_term (p, l->widget.cols, J_LEFT));
|
||||||
|
|
||||||
if (q == NULL)
|
if (q == NULL)
|
||||||
break;
|
break;
|
||||||
q[0] = c;
|
q[0] = c;
|
||||||
@ -704,7 +702,7 @@ gauge_callback (Widget *w, widget_msg_t msg, int parm)
|
|||||||
|
|
||||||
if (msg == WIDGET_INIT)
|
if (msg == WIDGET_INIT)
|
||||||
return MSG_HANDLED;
|
return MSG_HANDLED;
|
||||||
|
|
||||||
/* We don't want to get the focus */
|
/* We don't want to get the focus */
|
||||||
if (msg == WIDGET_FOCUS)
|
if (msg == WIDGET_FOCUS)
|
||||||
return MSG_NOT_HANDLED;
|
return MSG_NOT_HANDLED;
|
||||||
@ -717,7 +715,7 @@ gauge_callback (Widget *w, widget_msg_t msg, int parm)
|
|||||||
else {
|
else {
|
||||||
int percentage, columns;
|
int percentage, columns;
|
||||||
long total = g->max, done = g->current;
|
long total = g->max, done = g->current;
|
||||||
|
|
||||||
if (total <= 0 || done < 0) {
|
if (total <= 0 || done < 0) {
|
||||||
done = 0;
|
done = 0;
|
||||||
total = 100;
|
total = 100;
|
||||||
@ -738,6 +736,7 @@ gauge_callback (Widget *w, widget_msg_t msg, int parm)
|
|||||||
}
|
}
|
||||||
return MSG_HANDLED;
|
return MSG_HANDLED;
|
||||||
}
|
}
|
||||||
|
|
||||||
return default_proc (msg, parm);
|
return default_proc (msg, parm);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1060,7 +1059,7 @@ show_hist (GList *history, int widget_x, int widget_y)
|
|||||||
query_dlg =
|
query_dlg =
|
||||||
create_dlg (y, x, h, w, dialog_colors, NULL, "[History-query]",
|
create_dlg (y, x, h, w, dialog_colors, NULL, "[History-query]",
|
||||||
i18n_htitle (), DLG_COMPACT);
|
i18n_htitle (), DLG_COMPACT);
|
||||||
query_list = listbox_new (1, 1, w - 2, h - 2, 0);
|
query_list = listbox_new (1, 1, h - 2, w - 2, NULL);
|
||||||
add_widget (query_dlg, query_list);
|
add_widget (query_dlg, query_list);
|
||||||
hi = z;
|
hi = z;
|
||||||
if (y < widget_y) {
|
if (y < widget_y) {
|
||||||
@ -1230,16 +1229,18 @@ insert_char (WInput *in, int c_code)
|
|||||||
|
|
||||||
if (c_code == -1)
|
if (c_code == -1)
|
||||||
return MSG_NOT_HANDLED;
|
return MSG_NOT_HANDLED;
|
||||||
|
|
||||||
if (in->charpoint >= MB_LEN_MAX) return 1;
|
if (in->charpoint >= MB_LEN_MAX)
|
||||||
|
return MSG_HANDLED;
|
||||||
|
|
||||||
in->charbuf[in->charpoint] = c_code;
|
in->charbuf[in->charpoint] = c_code;
|
||||||
in->charpoint++;
|
in->charpoint++;
|
||||||
|
|
||||||
res = str_is_valid_char (in->charbuf, in->charpoint);
|
res = str_is_valid_char (in->charbuf, in->charpoint);
|
||||||
if (res < 0) {
|
if (res < 0) {
|
||||||
if (res != -2) in->charpoint = 0; /* broken multibyte char, skip */
|
if (res != -2)
|
||||||
return 1;
|
in->charpoint = 0; /* broken multibyte char, skip */
|
||||||
|
return MSG_HANDLED;
|
||||||
}
|
}
|
||||||
|
|
||||||
in->need_push = 1;
|
in->need_push = 1;
|
||||||
@ -1253,7 +1254,7 @@ insert_char (WInput *in, int c_code)
|
|||||||
in->current_max_size = new_length;
|
in->current_max_size = new_length;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (strlen (in->buffer) + in->charpoint < in->current_max_size) {
|
if (strlen (in->buffer) + in->charpoint < in->current_max_size) {
|
||||||
/* bytes from begin */
|
/* bytes from begin */
|
||||||
size_t ins_point = str_offset_to_pos (in->buffer, in->point);
|
size_t ins_point = str_offset_to_pos (in->buffer, in->point);
|
||||||
@ -1267,7 +1268,7 @@ insert_char (WInput *in, int c_code)
|
|||||||
memcpy(in->buffer + ins_point, in->charbuf, in->charpoint);
|
memcpy(in->buffer + ins_point, in->charbuf, in->charpoint);
|
||||||
in->point++;
|
in->point++;
|
||||||
}
|
}
|
||||||
|
|
||||||
in->charpoint = 0;
|
in->charpoint = 0;
|
||||||
return MSG_HANDLED;
|
return MSG_HANDLED;
|
||||||
}
|
}
|
||||||
@ -2090,11 +2091,11 @@ static cb_ret_t
|
|||||||
listbox_key (WListbox *l, int key)
|
listbox_key (WListbox *l, int key)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
int j = 0;
|
cb_ret_t j = MSG_NOT_HANDLED;
|
||||||
|
|
||||||
if (!l->list)
|
if (!l->list)
|
||||||
return MSG_NOT_HANDLED;
|
return MSG_NOT_HANDLED;
|
||||||
|
|
||||||
switch (key){
|
switch (key){
|
||||||
case KEY_HOME:
|
case KEY_HOME:
|
||||||
case KEY_A1:
|
case KEY_A1:
|
||||||
@ -2125,14 +2126,16 @@ listbox_key (WListbox *l, int key)
|
|||||||
case KEY_NPAGE:
|
case KEY_NPAGE:
|
||||||
case XCTRL('v'):
|
case XCTRL('v'):
|
||||||
for (i = 0; i < l->height-1; i++)
|
for (i = 0; i < l->height-1; i++)
|
||||||
j |= listbox_fwd (l);
|
if (listbox_fwd (l) != MSG_NOT_HANDLED)
|
||||||
return (j > 0) ? MSG_HANDLED : MSG_NOT_HANDLED;
|
j = MSG_HANDLED;
|
||||||
|
return j;
|
||||||
|
|
||||||
case KEY_PPAGE:
|
case KEY_PPAGE:
|
||||||
case ALT('v'):
|
case ALT('v'):
|
||||||
for (i = 0; i < l->height-1; i++)
|
for (i = 0; i < l->height-1; i++)
|
||||||
j |= listbox_back (l);
|
if (listbox_back (l) != MSG_NOT_HANDLED)
|
||||||
return (j > 0) ? MSG_HANDLED : MSG_NOT_HANDLED;
|
j = MSG_HANDLED;
|
||||||
|
return j;
|
||||||
}
|
}
|
||||||
return MSG_NOT_HANDLED;
|
return MSG_NOT_HANDLED;
|
||||||
}
|
}
|
||||||
@ -2275,7 +2278,7 @@ listbox_event (Gpm_Event *event, void *data)
|
|||||||
}
|
}
|
||||||
|
|
||||||
WListbox *
|
WListbox *
|
||||||
listbox_new (int y, int x, int width, int height, lcback callback)
|
listbox_new (int y, int x, int height, int width, lcback callback)
|
||||||
{
|
{
|
||||||
WListbox *l = g_new (WListbox, 1);
|
WListbox *l = g_new (WListbox, 1);
|
||||||
|
|
||||||
@ -2434,7 +2437,7 @@ buttonbat_get_button_width ()
|
|||||||
{
|
{
|
||||||
int result = COLS / 10;
|
int result = COLS / 10;
|
||||||
return (result >= 7) ? result : 7;
|
return (result >= 7) ? result : 7;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static cb_ret_t
|
static cb_ret_t
|
||||||
@ -2632,7 +2635,7 @@ groupbox_callback (Widget *w, widget_msg_t msg, int parm)
|
|||||||
}
|
}
|
||||||
|
|
||||||
WGroupbox *
|
WGroupbox *
|
||||||
groupbox_new (int x, int y, int width, int height, const char *title)
|
groupbox_new (int y, int x, int height, int width, const char *title)
|
||||||
{
|
{
|
||||||
WGroupbox *g = g_new (WGroupbox, 1);
|
WGroupbox *g = g_new (WGroupbox, 1);
|
||||||
|
|
||||||
|
@ -167,8 +167,8 @@ WCheck *check_new (int y, int x, int state, const char *text);
|
|||||||
WInput *input_new (int y, int x, int color, int len, const char *text, const char *histname, INPUT_COMPLETE_FLAGS completion_flags);
|
WInput *input_new (int y, int x, int color, int len, const char *text, const char *histname, INPUT_COMPLETE_FLAGS completion_flags);
|
||||||
WLabel *label_new (int y, int x, const char *text);
|
WLabel *label_new (int y, int x, const char *text);
|
||||||
WGauge *gauge_new (int y, int x, int shown, int max, int current);
|
WGauge *gauge_new (int y, int x, int shown, int max, int current);
|
||||||
WListbox *listbox_new (int x, int y, int width, int height, lcback callback);
|
WListbox *listbox_new (int y, int x, int height, int width, lcback callback);
|
||||||
WGroupbox *groupbox_new (int x, int y, int width, int height, const char *title);
|
WGroupbox *groupbox_new (int y, int x, int height, int width, const char *title);
|
||||||
|
|
||||||
/* Input lines */
|
/* Input lines */
|
||||||
void winput_set_origin (WInput *i, int x, int field_width);
|
void winput_set_origin (WInput *i, int x, int field_width);
|
||||||
|
@ -66,7 +66,7 @@ create_listbox_window (int cols, int lines, const char *title, const char *help)
|
|||||||
create_dlg (ypos, xpos, lines + 6, cols + 4, dialog_colors, NULL,
|
create_dlg (ypos, xpos, lines + 6, cols + 4, dialog_colors, NULL,
|
||||||
help, title, DLG_CENTER | DLG_REVERSE);
|
help, title, DLG_CENTER | DLG_REVERSE);
|
||||||
|
|
||||||
listbox->list = listbox_new (2, 2, cols, lines, 0);
|
listbox->list = listbox_new (2, 2, lines, cols, NULL);
|
||||||
|
|
||||||
add_widget (listbox->dlg,
|
add_widget (listbox->dlg,
|
||||||
button_new (lines + 3, (cols / 2 + 2) - len / 2, B_CANCEL,
|
button_new (lines + 3, (cols / 2 + 2) - len / 2, B_CANCEL,
|
||||||
|
Loading…
Reference in New Issue
Block a user