static void
set_model_text (GtkWidget * picker, gchar * value)
{
	XklConfigItem *ci = xkl_config_item_new ();
	char *model = NULL;

	if (value != NULL && value[0] != '\0') {
		model = g_strdup(value);
	}

	if (model == NULL) {
		model = g_strdup(initial_config.model);
		if (model == NULL)
			model = g_strdup("");
	}

	g_snprintf (ci->name, sizeof (ci->name), "%s", model);

	if (xkl_config_registry_find_model (config_registry, ci)) {
		char *d;

		d = xci_desc_to_utf8 (ci);
		gtk_button_set_label (GTK_BUTTON (picker), d);
		g_free (d);
	} else {
		gtk_button_set_label (GTK_BUTTON (picker), _("Unknown"));
	}
	g_object_unref (G_OBJECT (ci));
	g_free (model);
}
static void
set_model_text (GtkWidget * picker, MateConfValue * value)
{
	XklConfigItem *ci = xkl_config_item_new ();
	const char *model = NULL;

	if (value != NULL && value->type == MATECONF_VALUE_STRING) {
		model = mateconf_value_get_string (value);
		if (model != NULL && model[0] == '\0')
			model = NULL;
	}

	if (model == NULL) {
		model = initial_config.model;
		if (model == NULL)
			model = "";
	}

	g_snprintf (ci->name, sizeof (ci->name), "%s", model);

	if (xkl_config_registry_find_model (config_registry, ci)) {
		char *d;

		d = xci_desc_to_utf8 (ci);
		gtk_button_set_label (GTK_BUTTON (picker), d);
		g_free (d);
	} else {
		gtk_button_set_label (GTK_BUTTON (picker), _("Unknown"));
	}
	g_object_unref (G_OBJECT (ci));
}