summaryrefslogtreecommitdiffstats
path: root/src/html.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/html.c')
-rw-r--r--src/html.c149
1 files changed, 18 insertions, 131 deletions
diff --git a/src/html.c b/src/html.c
index d4a08ab..9417db9 100644
--- a/src/html.c
+++ b/src/html.c
@@ -143,13 +143,6 @@ static const gchar *styles =
"form {\n"
"margin: 0;\n"
"}"
- "table {\n"
- "border-collapse: collapse;\n"
- "}\n"
- "table th {\n"
- "padding: 6px 0;\n"
- "text-align: left;\n"
- "}\n"
"form input, form select {\n"
"border: 1px solid #9F9F9F;\n"
"border-radius: 3px;\n"
@@ -165,14 +158,6 @@ static const gchar *styles =
"margin: 0;\n"
"float: right;\n"
"}\n"
- "form table label {\n"
- "margin: 6px 0;\n"
- "padding: 0 6px 0 0;\n"
- "text-align: right;\n"
- "}\n"
- "form table input, form table select {\n"
- "margin: 6px 0;\n"
- "}\n"
"form label {\n"
"display: block;\n"
"}\n"
@@ -551,69 +536,11 @@ mq_html_form(const gchar *submit_label, const gchar *reset_label, ...)
}
gchar *
-mq_html_fieldset(gchar *first_child, ...)
-{
- gsize len;
- va_list ap;
- gchar *child;
- gchar *fieldset;
- gchar *ptr;
-
- /* Calculate length. */
- len = strlen("<fieldset>\n");
- len += strlen("<table>\n");
- len += strlen(first_child);
- va_start(ap, first_child);
- while ((child = va_arg(ap, gchar *))) {
- len += strlen(child);
- }
- va_end(ap);
- len += strlen("</table>\n");
- len += strlen("</fieldset>\n");
- ++len; /* NUL byte */
-
- /* Build string. */
- fieldset = g_new(gchar, len);
- ptr = g_stpcpy(fieldset, "<fieldset>\n");
- ptr = g_stpcpy(ptr, "<table>\n");
- ptr = g_stpcpy(ptr, first_child);
- g_free(first_child);
- va_start(ap, first_child);
- while ((child = va_arg(ap, gchar *))) {
- ptr = g_stpcpy(ptr, child);
- g_free(child);
- }
- va_end(ap);
- ptr = g_stpcpy(ptr, "</table>\n");
- ptr = g_stpcpy(ptr, "</fieldset>\n"); /* g_stpcpy() adds the NUL. */
-
- return fieldset;
-}
-
-gchar *
-mq_html_th(GDestroyNotify destroy, gchar *text)
-{
- gchar *e;
- e = g_strconcat("<tr>\n<th colspan=\"2\">", text, "</th>\n</tr>\n",
- NULL);
- if (destroy) {
- destroy(text);
- }
- return e;
-}
-
-gchar *
mq_html_input_text(const gchar *name, const gchar *label, const gchar *value)
{
- return g_strdup_printf(
- "<tr>\n"
- "<td>\n"
- "<label for=\"%s\">%s</label>\n"
- "</td>\n"
- "<td>\n"
+ return g_strdup_printf("<label for=\"%s\">\n<span>%s</span>\n"
"<input type=\"text\" name=\"%s\" id=\"%s\" value=\"%s\">\n"
- "</td>\n"
- "</tr>\n",
+ "</label>\n",
name, label, name, name, value ? value : "");
}
@@ -621,16 +548,10 @@ gchar *
mq_html_input_number_i(const gchar *name, const gchar *label,
gint min, gint step, gint max, gint value)
{
- return g_strdup_printf(
- "<tr>\n"
- "<td>\n"
- "<label for=\"%s\">%s</label>\n"
- "</td>\n"
- "<td>\n"
+ return g_strdup_printf("<label for=\"%s\">\n<span>%s</span>\n"
"<input type=\"number\" name=\"%s\" id=\"%s\""
" min=\"%d\" step=\"%d\" max=\"%d\" value=\"%d\">\n"
- "</td>\n"
- "</tr>\n",
+ "</label>\n",
name, label, name, name, min, step, max, value);
}
@@ -638,31 +559,18 @@ gchar *
mq_html_input_number_d(const gchar *name, const gchar *label,
gdouble min, gdouble step, gdouble max, gdouble value)
{
- return g_strdup_printf(
- "<tr>\n"
- "<td>\n"
- "<label for=\"%s\">%s</label>\n"
- "</td>\n"
- "<td>\n"
+ return g_strdup_printf("<label for=\"%s\">\n<span>%s</span>\n"
"<input type=\"number\" name=\"%s\" id=\"%s\""
" min=\"%f\" step=\"%f\" max=\"%f\" value=\"%f\">\n"
- "</td>\n"
- "</tr>\n",
+ "</label>\n",
name, label, name, name, min, step, max, value);
}
gchar *
mq_html_input_radio(const gchar *name, const gchar *label, gboolean checked)
{
- return g_strdup_printf(
- "<tr>\n"
- "<td>\n"
- "<label for=\"%s\">%s</label>\n"
- "</td>\n"
- "<td>\n"
- "<input type=\"radio\" name=\"%s\" id=\"%s\"%s>\n"
- "</td>\n"
- "</tr>\n",
+ return g_strdup_printf("<label for=\"%s\">\n<span>%s</span>\n"
+ "<input type=\"radio\" name=\"%s\" id=\"%s\"%s>\n</label>\n",
name, label, name, name, checked ? " checked=\"checked\"" : "");
}
@@ -690,16 +598,9 @@ mq_html_input_checkbox(const gchar *name, const gchar *label, gboolean checked)
* <input> when the former <input> is checked.
*/
- return g_strdup_printf(
- "<tr>\n"
- "<td>\n"
- "<label for=\"%s\">%s</label>\n"
- "</td>\n"
- "<td>\n"
+ return g_strdup_printf("<label for=\"%s\">\n<span>%s</span>\n"
"<input type=\"hidden\" name=\"%s\" value=\"off\">\n"
- "<input type=\"checkbox\" name=\"%s\" id=\"%s\"%s>\n"
- "</td>\n"
- "</tr>\n",
+ "<input type=\"checkbox\" name=\"%s\" id=\"%s\"%s>\n</label>\n",
name, label, name, name, name,
checked ? " checked=\"checked\"" : "");
}
@@ -719,16 +620,11 @@ mq_html_input_select(const gchar *name, const gchar *label,
g_assert(selected && selected[0]); /* Would cause buffer overflow */
/* Calculate length. */
- len = strlen("<tr>\n");
- len += strlen("<td>\n");
- len += strlen("<label for=\"");
+ len = strlen("<label for=\"");
len += strlen(name);
- len += strlen("\">");
+ len += strlen("\">\n<span>");
len += strlen(label);
- len += strlen("</label>\n");
- len += strlen("</td>\n");
- len += strlen("<td>\n");
- len += strlen("<select name=\"");
+ len += strlen("</span>\n<select name=\"");
len += strlen(name);
len += strlen("\" id=\"");
len += strlen(name);
@@ -745,23 +641,16 @@ mq_html_input_select(const gchar *name, const gchar *label,
}
va_end(ap);
len += strlen(" selected=\"selected\"");
- len += strlen("</select>\n");
- len += strlen("</td>\n");
- len += strlen("</tr>\n");
+ len += strlen("</select>\n</label>\n");
++len; /* NUL byte */
/* Build string. */
select = g_new(gchar, len);
- ptr = g_stpcpy(select, "<tr>\n");
- ptr = g_stpcpy(ptr, "<td>\n");
- ptr = g_stpcpy(ptr, "<label for=\"");
+ ptr = g_stpcpy(select, "<label for=\"");
ptr = g_stpcpy(ptr, name);
- ptr = g_stpcpy(ptr, "\">");
+ ptr = g_stpcpy(ptr, "\">\n<span>");
ptr = g_stpcpy(ptr, label);
- ptr = g_stpcpy(ptr, "</label>\n");
- ptr = g_stpcpy(ptr, "</td>\n");
- ptr = g_stpcpy(ptr, "<td>\n");
- ptr = g_stpcpy(ptr, "<select name=\"");
+ ptr = g_stpcpy(ptr, "</span>\n<select name=\"");
ptr = g_stpcpy(ptr, name);
ptr = g_stpcpy(ptr, "\" id=\"");
ptr = g_stpcpy(ptr, name);
@@ -786,9 +675,7 @@ mq_html_input_select(const gchar *name, const gchar *label,
ptr = g_stpcpy(ptr, "</option>\n");
}
va_end(ap);
- ptr = g_stpcpy(ptr, "</select>\n");
- ptr = g_stpcpy(ptr, "</td>\n");
- ptr = g_stpcpy(ptr, "</tr>\n"); /* g_stpcpy() adds NUL */
+ ptr = g_stpcpy(ptr, "</select>\n</label>\n"); /* g_stpcpy() adds NUL */
return select;
}