#include "ubinstall-gtk.h" // void on_region_resized(GtkWidget *,main_window *widgets){ // yon_image_resize_from_container(GTK_IMAGE(widgets->SlidesImage), (GdkPixbuf*)g_list_nth_data(widgets->slides_original,cur_slide)); // yon_image_resize_from_container(GTK_IMAGE(widgets->RegionImage), widgets->regions_original); // yon_image_resize_from_container(GTK_IMAGE(widgets->KeyboardImage), widgets->keyboard_original); // } int yon_region_save(main_window *widgets){ if (gtk_combo_box_get_active(GTK_COMBO_BOX(widgets->RegionCombo))==-1){ yon_ubl_status_box_spawn(GTK_CONTAINER(widgets->StatusBox),REGION_EMPTY_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE); yon_ubl_status_highlight_incorrect(widgets->RegionCombo); return 0; } else if (gtk_combo_box_get_active(GTK_COMBO_BOX(widgets->ZoneCombo))==-1){ yon_ubl_status_box_spawn(GTK_CONTAINER(widgets->StatusBox),ZONE_EMPTY_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE); yon_ubl_status_highlight_incorrect(widgets->ZoneCombo); return 0; } char *languages = ""; GtkTreeIter iter; GtkTreeModel *model = GTK_TREE_MODEL(widgets->LanguagesFilter); char *lang_code=NULL; for_iter(model,&iter){ gtk_tree_model_get(model,&iter,2,&lang_code,-1); languages = yon_char_unite(languages,!yon_char_is_empty(languages)?",":"",lang_code,NULL); } if (yon_char_is_empty(languages)||!gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->MainLanguageSensitiveCheck))){ yon_config_remove_by_key(locale_parameter); } else { yon_config_register(locale_parameter,locale_parameter_command,languages); free(languages); } if (gtk_combo_box_get_active(GTK_COMBO_BOX(widgets->LanguagesCombo))==-1||!gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->LanguagesSensitiveCheck))){ yon_config_remove_by_key(lang_parameter); } else { char *language = (char*)gtk_combo_box_get_active_id(GTK_COMBO_BOX(widgets->LanguagesCombo)); yon_config_register(lang_parameter,lang_parameter_command,language); } if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->RegionSensitiveCheck))){ char *region = (char*)gtk_combo_box_get_active_id(GTK_COMBO_BOX(widgets->RegionCombo)); char *zone = (char*)gtk_combo_box_get_active_id(GTK_COMBO_BOX(widgets->ZoneCombo)); yon_debug_output("%s",region); yon_debug_output("/%s\n\n",zone); yon_config_register(zone_parameter,zone_parameter_command,yon_char_unite(region,"/",zone,NULL)); } else { yon_config_remove_by_key(zone_parameter); } return 1; } void on_region_changed(GtkComboBox *self, main_window *widgets){ char *active = (char*)gtk_combo_box_get_active_id(self); active = yon_char_append("/usr/share/zoneinfo/",active); int size; gtk_combo_box_text_remove_all(GTK_COMBO_BOX_TEXT(widgets->ZoneCombo)); if (yon_file_is_directory(active)){ config_str parsed = yon_file_ls(active,&size); for (int i=0;iZoneCombo),parsed[i],_(parsed[i])); } if (size) yon_char_parsed_free(parsed,size); gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->ZoneCombo),0); } free(active); }