|
|
|
@ -31,7 +31,13 @@ void on_region_changed(GtkComboBox *self, main_window *widgets){
|
|
|
|
if (!yon_char_is_empty(active)){
|
|
|
|
if (!yon_char_is_empty(active)){
|
|
|
|
config_str parsed = yon_timezone_get_zones_from_region(active,&size);
|
|
|
|
config_str parsed = yon_timezone_get_zones_from_region(active,&size);
|
|
|
|
for (size_t i=0;i<size;i++){
|
|
|
|
for (size_t i=0;i<size;i++){
|
|
|
|
gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(widgets->ZoneCombo),parsed[i],_(parsed[i]));
|
|
|
|
char *timezone = yon_char_unite(active,"/",parsed[i],NULL);
|
|
|
|
|
|
|
|
char *utc = yon_timezone_get_utc(timezone);
|
|
|
|
|
|
|
|
if (utc&&strlen(utc)>3) utc[3]='\0';
|
|
|
|
|
|
|
|
char *zone_label = yon_char_unite("(UTC ",utc,") ",_(parsed[i]),NULL);
|
|
|
|
|
|
|
|
gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(widgets->ZoneCombo),parsed[i],zone_label);
|
|
|
|
|
|
|
|
free(zone_label);
|
|
|
|
|
|
|
|
free(timezone);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (size) yon_char_parsed_free(parsed,size);
|
|
|
|
if (size) yon_char_parsed_free(parsed,size);
|
|
|
|
gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->ZoneCombo),0);
|
|
|
|
gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->ZoneCombo),0);
|
|
|
|
|