From 0a5f291c96e05aab8dc63a2a3f5152e74794459d Mon Sep 17 00:00:00 2001 From: Andrea Zagli Date: Sat, 15 Aug 2020 08:25:48 +0200 Subject: [PATCH] B4: class form-check for radio and check must be repeated for each element. --- src/formelement.c | 24 ------------------------ src/formelementcheck.c | 3 ++- src/formelementradio.c | 30 ++++++++++++++++++------------ 3 files changed, 20 insertions(+), 37 deletions(-) diff --git a/src/formelement.c b/src/formelement.c index 9934afb..1d6793a 100644 --- a/src/formelement.c +++ b/src/formelement.c @@ -24,8 +24,6 @@ #include #include "formelement.h" -#include "formelementcheck.h" -#include "formelementradio.h" enum { @@ -248,21 +246,6 @@ gchar g_hash_table_insert (priv->ht_attrs, (gpointer)"readonly", (gpointer)"readonly"); } - if ((ZAK_FORM_CGI_IS_FORM_ELEMENT_CHECK (element) - || ZAK_FORM_CGI_IS_FORM_ELEMENT_RADIO (element)) - && g_strcmp0 (zak_form_cgi_form_element_get_bootstrap_version (element), "4") == 0) - { - g_string_append (str, "
\n"); - } - g_string_append (str, ZAK_FORM_CGI_FORM_ELEMENT_GET_CLASS (element)->render (element)); } @@ -279,13 +262,6 @@ gchar } } - if ((ZAK_FORM_CGI_IS_FORM_ELEMENT_CHECK (element) - || ZAK_FORM_CGI_IS_FORM_ELEMENT_RADIO (element)) - && g_strcmp0 (zak_form_cgi_form_element_get_bootstrap_version (element), "4") == 0) - { - g_string_append (str, "
\n"); - } - g_string_append (str, "\n\n"); ret = g_strdup (str->str); diff --git a/src/formelementcheck.c b/src/formelementcheck.c index beb3cae..944f829 100644 --- a/src/formelementcheck.c +++ b/src/formelementcheck.c @@ -279,7 +279,8 @@ static gchar { g_hash_table_insert (ht_attrs, "class", g_strdup_printf ("%s form-check-input", g_hash_table_lookup (ht_attrs, "class"))); - g_string_append_printf (str, "\n%s", + g_string_append_printf (str, "\n
\n%s\n
", + priv->in_line ? " form-check-inline" : "", zak_cgi_tag_tag_ht ("input", zak_form_cgi_form_element_get_id (element), ht_attrs), zak_form_cgi_form_element_get_id (element), zak_form_cgi_form_element_check_get_text (ZAK_FORM_CGI_FORM_ELEMENT_CHECK (element))); diff --git a/src/formelementradio.c b/src/formelementradio.c index c1704c0..fa359dd 100644 --- a/src/formelementradio.c +++ b/src/formelementradio.c @@ -229,7 +229,6 @@ gchar guint i; GHashTable *ht_attrs; - GHashTable *ht_label_attrs; GHashTable *ht_attrs_option; gchar *attr_class; @@ -243,16 +242,8 @@ gchar klass = (ZakFormCgiFormElementClass *)g_type_class_peek_parent (ZAK_FORM_CGI_FORM_ELEMENT_RADIO_GET_CLASS (ZAK_FORM_CGI_FORM_ELEMENT_RADIO (element))); ht_attrs = klass->get_ht_attrs (element); - ht_label_attrs = klass->get_ht_label_attrs (element); - if (ht_label_attrs != NULL) - { - ret = g_string_new ("
\n"); - } - else - { - ret = g_string_new (""); - } + ret = g_string_new (""); element_value = zak_form_element_get_value (ZAK_FORM_ELEMENT (element)); @@ -293,7 +284,8 @@ gchar { /* g_hash_table_insert (ht_attrs_option, "class", g_strdup_printf ("%s form-check-input", g_hash_table_lookup (ht_attrs_option, "class"))); */ - g_string_append_printf (ret, "\n%s", + g_string_append_printf (ret, "\n
\n%s\n
", + priv->in_line ? " form-check-inline" : "", zak_cgi_tag_tag_ht ("input", g_strdup_printf ("%s_%d", zak_form_cgi_form_element_get_id (element), @@ -318,11 +310,25 @@ static gchar gchar *ret_value; GString *ret; + GHashTable *ht_label_attrs; + guint i; + ZakFormCgiFormElementClass *klass; + ZakFormCgiFormElementRadioPrivate *priv = ZAK_FORM_CGI_FORM_ELEMENT_RADIO_GET_PRIVATE (element); - ret = g_string_new (""); + klass = (ZakFormCgiFormElementClass *)g_type_class_peek_parent (ZAK_FORM_CGI_FORM_ELEMENT_RADIO_GET_CLASS (ZAK_FORM_CGI_FORM_ELEMENT_RADIO (element))); + ht_label_attrs = klass->get_ht_label_attrs (element); + + if (ht_label_attrs != NULL) + { + ret = g_string_new ("
\n"); + } + else + { + ret = g_string_new (""); + } for (i = 0; i < priv->ar_options->len; i++) { -- 2.49.0