From 168c9a84ceac26a9a9257a48c20163e4cd6da03b Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Wed, 28 Aug 2024 17:34:47 +0600 Subject: [PATCH] Test fix for lang loading --- source/ubinstall-gtk.c | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/source/ubinstall-gtk.c b/source/ubinstall-gtk.c index 2e4567f..af33f9d 100644 --- a/source/ubinstall-gtk.c +++ b/source/ubinstall-gtk.c @@ -747,10 +747,26 @@ void on_language_window_accept(GtkWidget *,dictionary *dict){ if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(window->DefaultCheck))){ gtk_entry_set_text(GTK_ENTRY(widgets->AvailableLanguagesEntry),""); GtkTreeIter iter; + int size; + config_str lang_parsed = yon_char_parsed_new(&size,"en_US.UTF-8","ru_RU.UTF-8",NULL); + + char *final = ""; for_iter(widgets->LanguagesList,&iter){ - gtk_list_store_set(widgets->LanguagesList,&iter,0,0,-1); + char *code, *labl; + gtk_tree_model_get(GTK_TREE_MODEL(widgets->LanguagesList),&iter,1,&labl,2,&code,-1); + if (yon_char_parsed_check_exist(lang_parsed,size,code)!=-1){ + gtk_list_store_set(widgets->LanguagesList,&iter,0,1,-1); + char *tmp = yon_char_unite(final,!yon_char_is_empty(final)?";":"",labl,NULL); + if (!yon_char_is_empty(final)) free(final); + final = tmp; + } else + gtk_list_store_set(widgets->LanguagesList,&iter,0,0,-1); + } + if (!yon_char_is_empty(final)){ + gtk_entry_set_text(GTK_ENTRY(widgets->AvailableLanguagesEntry),final); } gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->LanguagesCombo),-1); + gtk_tree_model_filter_refilter(GTK_TREE_MODEL_FILTER(widgets->LanguagesFilter)); } else { yon_gtk_list_store_copy_full(widgets->LanguagesList,window->liststore1); gtk_tree_model_filter_refilter(GTK_TREE_MODEL_FILTER(widgets->LanguagesFilter));