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); yon_config_register(xkblayout_parameter,xkblayout_parameter_command,layouts_list);
else else
yon_config_remove_by_key(xkblayout_parameter); yon_config_remove_by_key(xkblayout_parameter);
@ -283,6 +283,7 @@ void yon_keyboard_init(main_window *widgets){
char *keyboard = config(xkbmodel_parameter); char *keyboard = config(xkbmodel_parameter);
char *option_parameter = config(xkboptions_parameter); char *option_parameter = config(xkboptions_parameter);
char *layouts = config(xkblayout_parameter); char *layouts = config(xkblayout_parameter);
char *variant = config(xkbvariant_parameter);
if (!yon_char_is_empty(keyboard)){ if (!yon_char_is_empty(keyboard)){
gtk_combo_box_set_active_id(GTK_COMBO_BOX(widgets->KeyboardModelCombo),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; int parsed_size;
config_str parsed = yon_char_parse(layouts,&parsed_size,","); config_str parsed = yon_char_parse(layouts,&parsed_size,",");
GtkTreeIter iter; GtkTreeIter iter, chiter;
GtkTreeModel *model = GTK_TREE_MODEL(widgets->LayoutList); GtkTreeModel *model = GTK_TREE_MODEL(widgets->LayoutList);
for_iter(model,&iter){ for_iter(model,&iter){
char *target; char *target;
gtk_tree_model_get(model,&iter,0,&target,-1); gtk_tree_model_get(model,&iter,0,&target,-1);
if (yon_char_parsed_check_exist(parsed,parsed_size,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); 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 { } 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 { } else {

Loading…
Cancel
Save