/* Return true if optionname describes a string already in the backend's list of selected options */ static gboolean xkb_options_is_selected (gchar * optionname) { gboolean retval = FALSE; GSList *options_list = xkb_options_get_selected_list (); GSList *option; for (option = options_list; option != NULL; option = option->next) { if (!strcmp ((gchar *) option->data, optionname)) retval = TRUE; } clear_xkb_elements_list (options_list); return retval; }
static void add_default_switcher_if_necessary () { gchar **layouts_list = xkb_layouts_get_selected_list(); gchar **options_list = xkb_options_get_selected_list (); gboolean was_appended; options_list = gkbd_keyboard_config_add_default_switch_option_if_necessary (layouts_list, options_list, &was_appended); if (was_appended) xkb_options_set_selected_list (options_list); g_strfreev (options_list); }
void xkl_layout_chooser_add_default_switcher_if_necessary (GSList * layouts_list) { GSList *options_list = xkb_options_get_selected_list (); gboolean was_appended; options_list = matekbd_keyboard_config_add_default_switch_option_if_necessary (layouts_list, options_list, &was_appended); if (was_appended) xkb_options_set_selected_list (options_list); clear_xkb_elements_list (options_list); }
/* Add optionname from the backend's selection list if it's not already in there. */ static void xkb_options_select (gchar * optionname) { gboolean already_selected = FALSE; GSList *options_list = xkb_options_get_selected_list (); GSList *option; for (option = options_list; option != NULL; option = option->next) if (!strcmp ((gchar *) option->data, optionname)) already_selected = TRUE; if (!already_selected) options_list = g_slist_append (options_list, g_strdup (optionname)); xkb_options_set_selected_list (options_list); clear_xkb_elements_list (options_list); }
/* Remove all occurrences of optionname from the backend's selection list */ static void xkb_options_deselect (gchar * optionname) { gchar **options_list = xkb_options_get_selected_list (); if (options_list != NULL) { gchar **option = options_list; while (*option != NULL) { gchar *id = *option; if (!strcmp (id, optionname)) { gkbd_strv_behead (option); } else option++; } xkb_options_set_selected_list (options_list); } g_strfreev (options_list); }
/* Return true if optionname describes a string already in the backend's list of selected options */ static gboolean xkb_options_is_selected (gchar * optionname) { gboolean retval = FALSE; gchar **options_list = xkb_options_get_selected_list (); if (options_list != NULL) { gchar **option = options_list; while (*option != NULL) { if (!strcmp (*option, optionname)) { retval = TRUE; break; } option++; } } g_strfreev (options_list); return retval; }
/* Remove all occurences of optionname from the backend's selection list */ static void xkb_options_deselect (gchar * optionname) { GSList *options_list = xkb_options_get_selected_list (); GSList *nodetmp; GSList *option = options_list; while (option != NULL) { gchar *id = (char *) option->data; if (!strcmp (id, optionname)) { nodetmp = option->next; g_free (id); options_list = g_slist_remove_link (options_list, option); g_slist_free_1 (option); option = nodetmp; } else option = option->next; } xkb_options_set_selected_list (options_list); clear_xkb_elements_list (options_list); }
/* Add optionname from the backend's selection list if it's not already in there. */ static void xkb_options_select (gchar * optionname) { gboolean already_selected = FALSE; gchar **options_list; guint i; options_list = xkb_options_get_selected_list (); for (i = 0; options_list != NULL && options_list[i] != NULL; i++) { gchar *option = options_list[i]; if (!strcmp (option, optionname)) { already_selected = TRUE; break; } } if (!already_selected) { options_list = gkbd_strv_append (options_list, g_strdup (optionname)); xkb_options_set_selected_list (options_list); } g_strfreev (options_list); }