static void remove_selected_layout (GtkWidget * button, GtkBuilder * dialog) { gint idx = find_selected_layout_idx (dialog); if (idx != -1) { GSList *layouts_list = xkb_layouts_get_selected_list (); char *id = NULL; GSList *node2Remove = g_slist_nth (layouts_list, idx); layouts_list = g_slist_remove_link (layouts_list, node2Remove); id = (char *) node2Remove->data; g_slist_free_1 (node2Remove); g_free (id); if (default_group > idx) xkb_save_default_group (default_group - 1); else if (default_group == idx) xkb_save_default_group (-1); xkb_layouts_set_selected_list (layouts_list); clear_xkb_elements_list (layouts_list); } }
static void chk_new_windows_inherit_layout_toggled (GtkWidget * chk_new_windows_inherit_layout, GtkBuilder * dialog) { xkb_save_default_group (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (chk_new_windows_inherit_layout)) ? -1 : 0); }