|
|
|
|
@ -222,23 +222,31 @@ void yon_interface_update(main_window *widgets){
|
|
|
|
|
|
|
|
|
|
char *system_locale = config(locale_parameter);
|
|
|
|
|
if (!yon_char_is_empty(system_locale)){
|
|
|
|
|
char *chosen_langs = "";
|
|
|
|
|
for_iter(widgets->LanguagesList,&iter){
|
|
|
|
|
char *cur=NULL;
|
|
|
|
|
gtk_tree_model_get(GTK_TREE_MODEL(widgets->LanguagesList),&iter,1,&cur,-1);
|
|
|
|
|
char *cur=NULL, *render = NULL;
|
|
|
|
|
gtk_tree_model_get(GTK_TREE_MODEL(widgets->LanguagesList),&iter,1,&render,2,&cur,-1);
|
|
|
|
|
if (strstr(system_locale,cur)){
|
|
|
|
|
gtk_list_store_set((widgets->LanguagesList),&iter,0,1,-1);
|
|
|
|
|
chosen_langs = yon_char_unite(chosen_langs,!yon_char_is_empty(chosen_langs)?";":"",render,NULL);
|
|
|
|
|
} else {
|
|
|
|
|
gtk_list_store_set((widgets->LanguagesList),&iter,0,0,-1);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
gtk_tree_model_filter_refilter(GTK_TREE_MODEL_FILTER(widgets->LanguagesFilter));
|
|
|
|
|
if (!yon_char_is_empty(chosen_langs)){
|
|
|
|
|
gtk_entry_set_text(GTK_ENTRY(widgets->AvailableLanguagesEntry),chosen_langs);
|
|
|
|
|
free(chosen_langs);
|
|
|
|
|
}
|
|
|
|
|
// gtk_tree_model_filter_refilter(GTK_TREE_MODEL_FILTER(widgets->LanguagesFilter));
|
|
|
|
|
} else {
|
|
|
|
|
for_iter(widgets->LanguagesList,&iter){
|
|
|
|
|
gtk_list_store_set((widgets->LanguagesList),&iter,0,0,-1);
|
|
|
|
|
}
|
|
|
|
|
gtk_tree_model_filter_refilter(GTK_TREE_MODEL_FILTER(widgets->LanguagesFilter));
|
|
|
|
|
// gtk_tree_model_filter_refilter(GTK_TREE_MODEL_FILTER(widgets->LanguagesFilter));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
char *zone = config(zone_parameter);
|
|
|
|
|
char *region = NULL;
|
|
|
|
|
|
|
|
|
|
@ -257,7 +265,10 @@ void yon_interface_update(main_window *widgets){
|
|
|
|
|
|
|
|
|
|
char *language = config(lang_parameter);
|
|
|
|
|
if (!yon_char_is_empty(language)){
|
|
|
|
|
gtk_combo_box_set_active_id(GTK_COMBO_BOX(widgets->LanguageCombo),language);
|
|
|
|
|
int feasf = gtk_combo_box_set_active_id(GTK_COMBO_BOX(widgets->LanguageCombo),language);
|
|
|
|
|
if (feasf){
|
|
|
|
|
printf("fsa\n");
|
|
|
|
|
};
|
|
|
|
|
} else {
|
|
|
|
|
gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->LanguageCombo),0);
|
|
|
|
|
}
|
|
|
|
|
@ -276,21 +287,20 @@ void yon_interface_update(main_window *widgets){
|
|
|
|
|
} else gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->LayoutBindingCombo),0);
|
|
|
|
|
|
|
|
|
|
if (!yon_char_is_empty(layout)){
|
|
|
|
|
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widgets->ManualLayoutRadio),1);
|
|
|
|
|
for_iter(widgets->LayoutList,&iter){
|
|
|
|
|
char *cur=NULL;
|
|
|
|
|
gtk_tree_model_get(GTK_TREE_MODEL(widgets->LayoutList),&iter,1,&cur,-1);
|
|
|
|
|
gtk_tree_model_get(GTK_TREE_MODEL(widgets->LayoutList),&iter,0,&cur,-1);
|
|
|
|
|
if (strstr(layout,cur)){
|
|
|
|
|
gtk_tree_store_set(widgets->LayoutList,&iter,0,1,-1);
|
|
|
|
|
gtk_tree_store_set(widgets->LayoutList,&iter,3,1,-1);
|
|
|
|
|
} else {
|
|
|
|
|
gtk_tree_store_set(widgets->LayoutList,&iter,0,0,-1);
|
|
|
|
|
gtk_tree_store_set(widgets->LayoutList,&iter,3,0,-1);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
gtk_tree_model_filter_refilter(GTK_TREE_MODEL_FILTER(widgets->LanguagesFilter));
|
|
|
|
|
} else {
|
|
|
|
|
for_iter(widgets->LayoutList,&iter){
|
|
|
|
|
gtk_tree_store_set((widgets->LayoutList),&iter,0,0,-1);
|
|
|
|
|
gtk_tree_store_set((widgets->LayoutList),&iter,3,0,-1);
|
|
|
|
|
}
|
|
|
|
|
gtk_tree_model_filter_refilter(GTK_TREE_MODEL_FILTER(widgets->LanguagesFilter));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
char *user_name = config(user_name_parameter);
|
|
|
|
|
@ -1787,6 +1797,10 @@ main_window *yon_main_window_complete(){
|
|
|
|
|
main_window *widgets=NULL;
|
|
|
|
|
widgets = yon_remalloc(widgets,sizeof(main_window));
|
|
|
|
|
GtkBuilder *builder = gtk_builder_new_from_resource(glade_path);
|
|
|
|
|
gtk_builder_add_callback_symbol(builder,"yon_gtk_widget_set_sensitive_from_toggle_button",G_CALLBACK(yon_gtk_widget_set_sensitive_from_toggle_button));
|
|
|
|
|
gtk_builder_add_callback_symbol(builder,"yon_gtk_toggle_button_set_inactive_from_toggle",G_CALLBACK(yon_gtk_toggle_button_set_inactive_from_toggle));
|
|
|
|
|
gtk_builder_add_callback_symbol(builder,"yon_gtk_toggle_button_set_inactive_from_entry",G_CALLBACK(yon_gtk_toggle_button_set_inactive_from_entry));
|
|
|
|
|
gtk_builder_add_callback_symbol(builder,"yon_gtk_toggle_button_set_inactive_from_combo_box",G_CALLBACK(yon_gtk_toggle_button_set_inactive_from_combo_box));
|
|
|
|
|
// Custom widgets configuration
|
|
|
|
|
widgets->builder = builder;
|
|
|
|
|
|
|
|
|
|
@ -1986,6 +2000,7 @@ main_window *yon_main_window_complete(){
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->SameInstallationFormatCheck),"toggled",G_CALLBACK(yon_gtk_widget_set_sensitive_from_toggle_button),widgets->SameInstallationFilesystemTypeCombo);
|
|
|
|
|
// g_signal_connect(G_OBJECT(widgets->InstallationToggle),"toggled",G_CALLBACK(on_toggle_block),widgets);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
gtk_tree_model_filter_set_visible_column(GTK_TREE_MODEL_FILTER(widgets->LanguagesFilter),0);
|
|
|
|
|
gtk_tree_model_filter_refilter(GTK_TREE_MODEL_FILTER(widgets->LanguagesFilter));
|
|
|
|
|
|
|
|
|
|
@ -2047,6 +2062,7 @@ main_window *yon_main_window_complete(){
|
|
|
|
|
if (layout_size){
|
|
|
|
|
char *layout_id = yon_char_new(layout[0]);
|
|
|
|
|
gtk_tree_store_append(widgets->LayoutList,&iter,NULL);
|
|
|
|
|
yon_debug_output("%s\n",parsed[i]);
|
|
|
|
|
gtk_tree_store_set(widgets->LayoutList,&iter,0,layout[0],1,_(layout[1]),2,1,-1);
|
|
|
|
|
yon_char_parsed_free(layout,layout_size);
|
|
|
|
|
layout = yon_config_load(get_layouts_local_command(layout_id),&layout_size);
|
|
|
|
|
@ -2106,6 +2122,7 @@ main_window *yon_main_window_complete(){
|
|
|
|
|
models[i+1] = yon_char_divide_search(models[i+1],"\n",-1);
|
|
|
|
|
gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(widgets->KeyboardModelCombo),models[i],_(models[i+1]));
|
|
|
|
|
}
|
|
|
|
|
gtk_builder_connect_signals(builder,NULL);
|
|
|
|
|
yon_load_proceed(YON_CONFIG_DEFAULT);
|
|
|
|
|
yon_interface_update(widgets);
|
|
|
|
|
return widgets;
|
|
|
|
|
|