Commit b3a99043 authored by Victor Ananjevsky's avatar Victor Ananjevsky

add different ways to set boolean values

parent efa8acf2
......@@ -240,10 +240,7 @@ set_field_value (guint num, gchar * value)
break;
case YAD_FIELD_CHECK:
if (g_ascii_strcasecmp (value, "TRUE") == 0)
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (w), TRUE);
else
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (w), FALSE);
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (w), get_bool_val (value));
break;
case YAD_FIELD_COMPLETE:
......
......@@ -218,10 +218,7 @@ handle_stdin (GIOChannel * channel, GIOCondition condition, gpointer data)
g_object_unref (pb);
break;
case COL_TERM:
if (strcasecmp (string->str, "true") == 0)
gtk_list_store_set (GTK_LIST_STORE (model), &iter, column_count, TRUE, -1);
else
gtk_list_store_set (GTK_LIST_STORE (model), &iter, column_count, FALSE, -1);
gtk_list_store_set (GTK_LIST_STORE (model), &iter, column_count, get_bool_val (string->str), -1);
break;
}
......
......@@ -399,7 +399,7 @@ cell_set_data (GtkTreeIter *it, guint num, gchar *data)
{
case YAD_COLUMN_CHECK:
case YAD_COLUMN_RADIO:
gtk_list_store_set (GTK_LIST_STORE (model), it, num, (strcasecmp (data, "true") == 0), -1);
gtk_list_store_set (GTK_LIST_STORE (model), it, num, get_bool_val (data), -1);
break;
case YAD_COLUMN_NUM:
case YAD_COLUMN_SIZE:
......
......@@ -629,6 +629,54 @@ parse_geometry ()
options.data.use_posx = options.data.use_posy = usexy;
}
gboolean
get_bool_val (gchar *str)
{
if (!str && !str[0])
return FALSE;
switch (str[0])
{
case '1':
case 't':
case 'T':
case 'y':
case 'Y':
if (strcasecmp (str, "t") == 0 || strcasecmp (str, "true") == 0 ||
strcasecmp (str, "y") == 0 || strcasecmp (str, "yes") == 0 ||
strcmp (str, "1") == 0)
return TRUE;
break;
case '0':
case 'f':
case 'F':
case 'n':
case 'N':
if (strcasecmp (str, "f") == 0 || strcasecmp (str, "false") == 0 ||
strcasecmp (str, "n") == 0 || strcasecmp (str, "no") == 0 ||
strcmp (str, "0") == 0)
return FALSE;
break;
case 'o':
case 'O':
if (strcasecmp (str, "on") == 0)
return TRUE;
else if (strcasecmp (str, "off") == 0)
return FALSE;
break;
default: ;
}
g_printerr ("yad: wrong boolean value '%s'\n", str);
return FALSE;
}
gchar *
print_bool_val (gboolean val)
{
return "";
}
#ifdef HAVE_SPELL
void
show_langs ()
......
......@@ -631,6 +631,9 @@ gboolean check_complete (GtkEntryCompletion *c, const gchar *key, GtkTreeIter *i
void parse_geometry ();
gboolean get_bool_val (gchar *str);
gchar *print_bool_val (gboolean val);
#ifdef HAVE_SPELL
void show_langs ();
#endif
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment