Fixed layouts loading

pull/17/head
parent a647750a45
commit 569fa32fd8
No known key found for this signature in database
GPG Key ID: FF1D842BF4DDE92B

@ -73,13 +73,17 @@ void yon_layouts_add(GtkTreeView *, GtkListStore *, main_window *widgets){
char *languages = config(keyboard_layout_parameter); char *languages = config(keyboard_layout_parameter);
int size; int size;
config_str parsed = yon_char_parse(languages,&size,","); config_str parsed = yon_char_parse(languages,&size,",");
GtkTreeIter iter; GtkTreeIter iter,itar;
for_iter(window->list,&iter){ for_iter(window->list,&iter){
int found = 0; int found = 0;
char *id; char *id, *id_var;
gtk_tree_model_get(GTK_TREE_MODEL(window->list),&iter,0,&id,-1); gtk_tree_model_get(GTK_TREE_MODEL(window->list),&iter,0,&id,-1);
for (int i=0;i<size;i++){ for (int i=0;i<size;i++){
if (!strcmp(id,parsed[i])){ char *key, *variant = NULL;
variant = yon_char_new(parsed[i]);
key = yon_char_divide_search(variant,"_",-1);
key = yon_char_new(parsed[i]);
if (!strcmp(id,key)&&((!variant))){
gtk_tree_store_set(GTK_TREE_STORE(window->list),&iter,3,1,-1); gtk_tree_store_set(GTK_TREE_STORE(window->list),&iter,3,1,-1);
found=1; found=1;
break; break;
@ -88,6 +92,22 @@ void yon_layouts_add(GtkTreeView *, GtkListStore *, main_window *widgets){
if (!found) { if (!found) {
gtk_tree_store_set(GTK_TREE_STORE(window->list),&iter,3,0,-1); gtk_tree_store_set(GTK_TREE_STORE(window->list),&iter,3,0,-1);
} }
if (gtk_tree_model_iter_children(GTK_TREE_MODEL(window->list),&itar,&iter)){
for (int valid2=1;valid2;valid2 = gtk_tree_model_iter_next(GTK_TREE_MODEL(window->list),&itar)){
gtk_tree_model_get(GTK_TREE_MODEL(window->list),&itar,0,&id,1,&id_var,-1);
for (int i=0;i<size;i++){
char *key, *variant = NULL;
variant = yon_char_new(parsed[i]);
key = yon_char_divide_search(variant,"_",-1);
if (!strcmp(key,id)&&!yon_char_is_empty(id_var)&&!strcmp(variant,id_var)){
gtk_tree_store_set(GTK_TREE_STORE(window->list),&itar,3,1,-1);
found=1;
break;
}
}
}
}
} }
} }

Loading…
Cancel
Save