mirror of
https://github.com/rkd77/elinks.git
synced 2024-12-04 14:46:47 -05:00
Make select forms look more like other forms.
Insert "[_" and "_]" as part of the form link, and include it as part of the link.
This commit is contained in:
parent
d8e749c0f4
commit
7e58737619
@ -494,10 +494,10 @@ end_parse:
|
|||||||
fc->labels = labels;
|
fc->labels = labels;
|
||||||
|
|
||||||
menu_labels(fc->menu, "", labels);
|
menu_labels(fc->menu, "", labels);
|
||||||
put_chrs(html_context, "[", 1);
|
|
||||||
html_stack_dup(html_context, ELEMENT_KILLABLE);
|
html_stack_dup(html_context, ELEMENT_KILLABLE);
|
||||||
format.form = fc;
|
format.form = fc;
|
||||||
format.style.attr |= AT_BOLD;
|
format.style.attr |= AT_BOLD;
|
||||||
|
put_chrs(html_context, "[ ", 7);
|
||||||
|
|
||||||
max_width = 0;
|
max_width = 0;
|
||||||
for (i = 0; i < order; i++) {
|
for (i = 0; i < order; i++) {
|
||||||
@ -514,8 +514,8 @@ end_parse:
|
|||||||
for (i = 0; i < max_width; i++)
|
for (i = 0; i < max_width; i++)
|
||||||
put_chrs(html_context, "_", 1);
|
put_chrs(html_context, "_", 1);
|
||||||
|
|
||||||
|
put_chrs(html_context, " ]", 7);
|
||||||
pop_html_element(html_context);
|
pop_html_element(html_context);
|
||||||
put_chrs(html_context, "]", 1);
|
|
||||||
html_context->special_f(html_context, SP_CONTROL, fc);
|
html_context->special_f(html_context, SP_CONTROL, fc);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -589,28 +589,38 @@ drew_char:
|
|||||||
else
|
else
|
||||||
/* XXX: when can this happen? --pasky */
|
/* XXX: when can this happen? --pasky */
|
||||||
s = "";
|
s = "";
|
||||||
#ifdef CONFIG_UTF8
|
|
||||||
if (term->utf8_cp) goto utf8_select;
|
/* insert preceding '[_' */
|
||||||
#endif /* CONFIG_UTF8 */
|
i = 0;
|
||||||
|
x = link->points[i].x + dx;
|
||||||
|
y = link->points[i].y + dy;
|
||||||
|
if (is_in_box(box, x, y))
|
||||||
|
draw_char_data(term, x, y, '[');
|
||||||
|
i++;
|
||||||
|
x = link->points[i].x + dx;
|
||||||
|
y = link->points[i].y + dy;
|
||||||
|
if (is_in_box(box, x, y))
|
||||||
|
draw_char_data(term, x, y, '_');
|
||||||
|
i++;
|
||||||
|
|
||||||
|
#ifndef CONFIG_UTF8
|
||||||
len = s ? strlen(s) : 0;
|
len = s ? strlen(s) : 0;
|
||||||
for (i = 0; i < link->npoints; i++) {
|
for (; i < link->npoints-2; i++) {
|
||||||
x = link->points[i].x + dx;
|
x = link->points[i].x + dx;
|
||||||
y = link->points[i].y + dy;
|
y = link->points[i].y + dy;
|
||||||
if (is_in_box(box, x, y))
|
if (is_in_box(box, x, y))
|
||||||
draw_char_data(term, x, y, i < len ? s[i] : '_');
|
draw_char_data(term, x, y, i-2 < len ? s[i] : '_');
|
||||||
}
|
}
|
||||||
break;
|
#else
|
||||||
#ifdef CONFIG_UTF8
|
|
||||||
utf8_select:
|
|
||||||
text = s;
|
text = s;
|
||||||
end = strchr((const char *)s, '\0');
|
end = strchr((const char *)s, '\0');
|
||||||
len = utf8_ptr2cells(text, end);
|
len = utf8_ptr2cells(text, end);
|
||||||
for (i = 0; i < link->npoints; i++) {
|
for (; i < link->npoints-2; i++) {
|
||||||
x = link->points[i].x + dx;
|
x = link->points[i].x + dx;
|
||||||
y = link->points[i].y + dy;
|
y = link->points[i].y + dy;
|
||||||
if (is_in_box(box, x, y)) {
|
if (is_in_box(box, x, y)) {
|
||||||
unicode_val_T data;
|
unicode_val_T data;
|
||||||
if (i < len) {
|
if (i-2 < len) {
|
||||||
int cell;
|
int cell;
|
||||||
|
|
||||||
data = utf8_to_unicode(&s, end);
|
data = utf8_to_unicode(&s, end);
|
||||||
@ -628,8 +638,18 @@ utf8_select:
|
|||||||
draw_char_data(term, x, y, data);
|
draw_char_data(term, x, y, data);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
|
||||||
#endif /* CONFIG_UTF8 */
|
#endif /* CONFIG_UTF8 */
|
||||||
|
/* insert trailing ' ]'. */
|
||||||
|
x = link->points[i].x + dx;
|
||||||
|
y = link->points[i].y + dy;
|
||||||
|
if (is_in_box(box, x, y))
|
||||||
|
draw_char_data(term, x, y, '_');
|
||||||
|
i++;
|
||||||
|
x = link->points[i].x + dx;
|
||||||
|
y = link->points[i].y + dy;
|
||||||
|
if (is_in_box(box, x, y))
|
||||||
|
draw_char_data(term, x, y, ']');
|
||||||
|
break;
|
||||||
case FC_SUBMIT:
|
case FC_SUBMIT:
|
||||||
case FC_IMAGE:
|
case FC_IMAGE:
|
||||||
case FC_RESET:
|
case FC_RESET:
|
||||||
|
@ -123,6 +123,7 @@ get_link_cursor_offset(struct document_view *doc_view, struct link *link)
|
|||||||
case LINK_CHECKBOX:
|
case LINK_CHECKBOX:
|
||||||
return 1;
|
return 1;
|
||||||
|
|
||||||
|
case LINK_SELECT:
|
||||||
case LINK_BUTTON:
|
case LINK_BUTTON:
|
||||||
return 2;
|
return 2;
|
||||||
|
|
||||||
@ -156,7 +157,6 @@ get_link_cursor_offset(struct document_view *doc_view, struct link *link)
|
|||||||
|
|
||||||
case LINK_HYPERTEXT:
|
case LINK_HYPERTEXT:
|
||||||
case LINK_MAP:
|
case LINK_MAP:
|
||||||
case LINK_SELECT:
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user