Keyboard table loading

pull/95/head
parent 5e90756d5c
commit 3c2696a1e7
No known key found for this signature in database
GPG Key ID: FF1D842BF4DDE92B

@ -31,7 +31,7 @@ int yon_keyboard_save(main_window *widgets){
}
}
if (yon_char_is_empty(layouts_list))
if (!yon_char_is_empty(layouts_list))
yon_config_register(xkblayout_parameter,xkblayout_parameter_command,layouts_list);
else
yon_config_remove_by_key(xkblayout_parameter);
@ -283,6 +283,7 @@ void yon_keyboard_init(main_window *widgets){
char *keyboard = config(xkbmodel_parameter);
char *option_parameter = config(xkboptions_parameter);
char *layouts = config(xkblayout_parameter);
char *variant = config(xkbvariant_parameter);
if (!yon_char_is_empty(keyboard)){
gtk_combo_box_set_active_id(GTK_COMBO_BOX(widgets->KeyboardModelCombo),keyboard);
@ -300,15 +301,24 @@ void yon_keyboard_init(main_window *widgets){
int parsed_size;
config_str parsed = yon_char_parse(layouts,&parsed_size,",");
GtkTreeIter iter;
GtkTreeIter iter, chiter;
GtkTreeModel *model = GTK_TREE_MODEL(widgets->LayoutList);
for_iter(model,&iter){
char *target;
gtk_tree_model_get(model,&iter,0,&target,-1);
if (yon_char_parsed_check_exist(parsed,parsed_size,target)>-1){
gtk_tree_store_set(widgets->LayoutList,&iter,2,1,3,1,-1);
if (!strcmp(variant,target)){
gtk_tree_store_set(widgets->LayoutList,&iter,4,1,-1);
} else {
gtk_tree_store_set(widgets->LayoutList,&iter,4,0,-1);
}
} else {
gtk_tree_store_set(widgets->LayoutList,&iter,3,0,-1);
gtk_tree_store_set(widgets->LayoutList,&iter,3,0,4,0,-1);
}
for (int valid2 = gtk_tree_model_iter_children(model,&chiter,&iter);valid2;valid2 = gtk_tree_model_iter_next(model,&chiter)){
}
}
} else {

Loading…
Cancel
Save