mirror of
https://github.com/rkd77/elinks.git
synced 2025-01-03 14:57:44 -05:00
[select] Modifications related to select. test/select.html still broken
This commit is contained in:
parent
3af2c6f2d9
commit
d55ea80fe6
@ -24,6 +24,8 @@ void menu_labels(struct menu_item *m, char *base, char **lbls);
|
|||||||
void do_select_submenu(struct terminal *term, void *menu_, void *ses_);
|
void do_select_submenu(struct terminal *term, void *menu_, void *ses_);
|
||||||
void free_menu(struct menu_item *m);
|
void free_menu(struct menu_item *m);
|
||||||
|
|
||||||
|
extern struct list_menu lnk_menu;
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
@ -332,7 +332,7 @@ html_input(struct html_context *html_context, char *a,
|
|||||||
html_context->special_f(html_context, SP_CONTROL, fc);
|
html_context->special_f(html_context, SP_CONTROL, fc);
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct list_menu lnk_menu;
|
struct list_menu lnk_menu;
|
||||||
|
|
||||||
static void
|
static void
|
||||||
do_html_select(char *attr, char *html,
|
do_html_select(char *attr, char *html,
|
||||||
|
@ -3268,8 +3268,6 @@ do_tags_html_select_multiple(struct source_renderer *renderer, void *node, unsig
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct list_menu lnk_menu;
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
do_tags_html_select(struct source_renderer *renderer, void *node, unsigned char *a,
|
do_tags_html_select(struct source_renderer *renderer, void *node, unsigned char *a,
|
||||||
unsigned char *xxx3, unsigned char *xxx4, unsigned char **xxx5)
|
unsigned char *xxx3, unsigned char *xxx4, unsigned char **xxx5)
|
||||||
@ -3287,75 +3285,10 @@ do_tags_html_select(struct source_renderer *renderer, void *node, unsigned char
|
|||||||
int preselect = -1;
|
int preselect = -1;
|
||||||
int group = 0;
|
int group = 0;
|
||||||
int i, max_width;
|
int i, max_width;
|
||||||
|
|
||||||
html_focusable(html_context, a);
|
tags_html_focusable(renderer, node);
|
||||||
init_menu(&lnk_menu);
|
init_menu(&lnk_menu);
|
||||||
|
|
||||||
#if 0
|
|
||||||
se:
|
|
||||||
en = html;
|
|
||||||
|
|
||||||
see:
|
|
||||||
html = en;
|
|
||||||
while (html < eof && *html != '<') html++;
|
|
||||||
|
|
||||||
if (html >= eof) {
|
|
||||||
|
|
||||||
abort:
|
|
||||||
// *end = html;
|
|
||||||
if (lbl.source) done_string(&lbl);
|
|
||||||
if (orig_lbl.source) done_string(&orig_lbl);
|
|
||||||
if (values) {
|
|
||||||
int j;
|
|
||||||
|
|
||||||
for (j = 0; j < order; j++)
|
|
||||||
mem_free_if(values[j]);
|
|
||||||
mem_free(values);
|
|
||||||
}
|
|
||||||
destroy_menu(&lnk_menu);
|
|
||||||
// *end = en;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (lbl.source) {
|
|
||||||
unsigned char *q, *s = en;
|
|
||||||
int l = html - en;
|
|
||||||
|
|
||||||
while (l && isspace(s[0])) s++, l--;
|
|
||||||
while (l && isspace(s[l-1])) l--;
|
|
||||||
q = convert_string(ct, s, l,
|
|
||||||
html_context->options->cp,
|
|
||||||
CSM_DEFAULT, NULL, NULL, NULL);
|
|
||||||
if (q) add_to_string(&lbl, q), mem_free(q);
|
|
||||||
add_bytes_to_string(&orig_lbl, s, l);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (html + 2 <= eof && (html[1] == '!' || html[1] == '?')) {
|
|
||||||
html = skip_comment(html, eof);
|
|
||||||
goto se;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (parse_element(html, eof, &name, &namelen, &t_attr, &en)) {
|
|
||||||
html++;
|
|
||||||
goto se;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!namelen) goto see;
|
|
||||||
|
|
||||||
if (name[0] == '/') {
|
|
||||||
namelen--;
|
|
||||||
if (!namelen) goto see;
|
|
||||||
name++;
|
|
||||||
closing_tag = 1;
|
|
||||||
} else {
|
|
||||||
closing_tag = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (closing_tag && !c_strlcasecmp(name, namelen, "SELECT", 6)) {
|
|
||||||
add_select_item(&lnk_menu, &lbl, &orig_lbl, values, order, nnmi);
|
|
||||||
goto end_parse;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
xmlpp::Element *select = node;
|
xmlpp::Element *select = node;
|
||||||
xmlpp::Node::NodeList options = select->get_children();
|
xmlpp::Node::NodeList options = select->get_children();
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user