|
|
|
|
@ -5,7 +5,7 @@ config main_config;
|
|
|
|
|
//functions
|
|
|
|
|
|
|
|
|
|
void on_save_done(main_window *, config_str output, int size){
|
|
|
|
|
char *final_output = yon_char_parsed_to_string(output,size,"");
|
|
|
|
|
char *final_output = yon_char_parsed_to_string(output,size,"\n");
|
|
|
|
|
if (final_output){
|
|
|
|
|
printf("%s\n",final_output);
|
|
|
|
|
free(final_output);
|
|
|
|
|
@ -69,8 +69,7 @@ void yon_load_proceed(YON_CONFIG_TYPE type){
|
|
|
|
|
} else {
|
|
|
|
|
gtk_widget_destroy(dialog);
|
|
|
|
|
}
|
|
|
|
|
char *command = yon_char_unite(config_get_command(path),NULL);
|
|
|
|
|
yon_debug_output("%s\n",command);
|
|
|
|
|
char *command = config_get_command(path);
|
|
|
|
|
yon_config_load_config(type,command,NULL);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
@ -98,6 +97,21 @@ void yon_config_custom_load(GtkWidget *, main_window *widgets){
|
|
|
|
|
yon_interface_update(widgets);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void yon_language_update(main_window *widgets){
|
|
|
|
|
gtk_combo_box_text_remove_all(GTK_COMBO_BOX_TEXT(widgets->LanguageCombo));
|
|
|
|
|
gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(widgets->LanguageCombo),DEFAULT_LABEL);
|
|
|
|
|
gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->LanguageCombo),0);
|
|
|
|
|
GtkTreeIter iter;
|
|
|
|
|
for_iter(GTK_TREE_MODEL(widgets->languagelist),&iter){
|
|
|
|
|
char *target, *code;
|
|
|
|
|
int active;
|
|
|
|
|
gtk_tree_model_get(GTK_TREE_MODEL(widgets->languagelist),&iter,0,&target,1,&code,2,&active,-1);
|
|
|
|
|
if (active){
|
|
|
|
|
gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(widgets->LanguageCombo),code,target);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void yon_interface_update(main_window *widgets){
|
|
|
|
|
|
|
|
|
|
g_signal_handlers_block_by_func(G_OBJECT(widgets->IDEntry),G_CALLBACK(on_id_changed),widgets);
|
|
|
|
|
@ -162,24 +176,24 @@ void yon_interface_update(main_window *widgets){
|
|
|
|
|
int valid = gtk_tree_model_get_iter_first(GTK_TREE_MODEL(widgets->languagelist),&iter);
|
|
|
|
|
for(;valid;valid=gtk_tree_model_iter_next(GTK_TREE_MODEL(widgets->languagelist),&iter)){
|
|
|
|
|
gtk_tree_model_get(GTK_TREE_MODEL(widgets->languagelist),&iter,0,&loc_name,1,&code,2,&is_active,-1);
|
|
|
|
|
if (avlocale){
|
|
|
|
|
for (int i=0;i<locsize;i++){
|
|
|
|
|
if (!strcmp(code,locale_parsed[i])) {
|
|
|
|
|
gtk_list_store_set(widgets->languagelist,&iter,2,1,-1);
|
|
|
|
|
locale_string = yon_char_unite(strcmp(locale_string,"") ? yon_char_append(locale_string,"; ") : locale_string, loc_name,NULL);
|
|
|
|
|
}
|
|
|
|
|
for (int i=0;i<locsize;i++){
|
|
|
|
|
if (!strcmp(code,locale_parsed[i])||!strcmp(code,lang)) {
|
|
|
|
|
gtk_list_store_set(widgets->languagelist,&iter,2,1,-1);
|
|
|
|
|
char *temp = yon_char_unite(yon_char_is_empty(locale_string)?"":locale_string,yon_char_is_empty(locale_string)?"":"; ",loc_name,NULL);
|
|
|
|
|
if (!yon_char_is_empty(locale_string)) free(locale_string);
|
|
|
|
|
locale_string = temp;
|
|
|
|
|
// locale_string = yon_char_unite(yon_char_is_empty(locale_string) ? yon_char_append(locale_string,"; ") : locale_string, loc_name,NULL);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (!yon_char_is_empty(lang)&&!yon_char_is_empty(code)&&!strcmp(code,lang)) {
|
|
|
|
|
GtkTreeIter filter_iter;
|
|
|
|
|
gtk_tree_model_filter_refilter(GTK_TREE_MODEL_FILTER(main_config.localefilter));
|
|
|
|
|
while(gtk_events_pending()) gtk_main_iteration();
|
|
|
|
|
gtk_tree_model_filter_convert_child_iter_to_iter(GTK_TREE_MODEL_FILTER(main_config.localefilter),&filter_iter,&iter);
|
|
|
|
|
gtk_combo_box_set_active_iter(GTK_COMBO_BOX(widgets->LanguageCombo),&filter_iter);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (strcmp(locale_string,"")) gtk_entry_set_text(GTK_ENTRY(widgets->LocaleEntry),locale_string);
|
|
|
|
|
}
|
|
|
|
|
yon_language_update(widgets);
|
|
|
|
|
if (!yon_char_is_empty(lang)) {
|
|
|
|
|
gtk_combo_box_set_active_id(GTK_COMBO_BOX(widgets->LanguageCombo),lang);
|
|
|
|
|
} else {
|
|
|
|
|
gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->LanguageCombo),0);
|
|
|
|
|
}
|
|
|
|
|
g_signal_handlers_unblock_by_func(G_OBJECT(widgets->IDEntry),G_CALLBACK(on_id_changed),widgets);
|
|
|
|
|
g_signal_handlers_unblock_by_func(G_OBJECT(widgets->HostnameEntry),G_CALLBACK(on_hostname_changed),widgets);
|
|
|
|
|
g_signal_handlers_unblock_by_func(G_OBJECT(widgets->ConsoleFontCombo),G_CALLBACK(on_console_font_changed),widgets);
|
|
|
|
|
@ -227,13 +241,13 @@ void yon_config_custom_save(){
|
|
|
|
|
template_saving_window *window = yon_save_proceed(NULL,YON_CONFIG_CUSTOM,config_get_command("system"),NULL);
|
|
|
|
|
if (window){};
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void on_domain_address_save(GtkEntry *self){
|
|
|
|
|
|
|
|
|
|
void on_domain_address_save(GtkEntry *self){
|
|
|
|
|
char *adress = (char*)gtk_entry_get_text(self);
|
|
|
|
|
if (!yon_char_is_empty(adress)){
|
|
|
|
|
yon_config_register(DOMAIN,DOMAIN_get_command,adress);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void yon_gtk_windget_set_sensitive_from_entry_emptiness(GtkEntry *self, GtkWidget *target){
|
|
|
|
|
if (yon_char_is_empty(gtk_entry_get_text(self))){
|
|
|
|
|
@ -258,6 +272,7 @@ void on_locale_accept(GtkWidget *self, dictionary *dict){
|
|
|
|
|
GtkTreeIter iter;
|
|
|
|
|
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(window->DefaultCheck))){
|
|
|
|
|
yon_config_remove_by_key(locale_parameter);
|
|
|
|
|
yon_config_remove_by_key(language_parameter);
|
|
|
|
|
gtk_entry_set_text(GTK_ENTRY(widgets->LocaleEntry),DEFAULT_LABEL);
|
|
|
|
|
for_iter (GTK_TREE_MODEL(widgets->languagelist),&iter){
|
|
|
|
|
gtk_list_store_set(widgets->languagelist,&iter,2,0,-1);
|
|
|
|
|
@ -278,7 +293,7 @@ void on_locale_accept(GtkWidget *self, dictionary *dict){
|
|
|
|
|
yon_config_register(locale_parameter,LOCALE_get_command,final_ids);
|
|
|
|
|
gtk_entry_set_text(GTK_ENTRY(widgets->LocaleEntry),final_string);
|
|
|
|
|
}
|
|
|
|
|
gtk_tree_model_filter_refilter(GTK_TREE_MODEL_FILTER(main_config.localefilter));
|
|
|
|
|
yon_language_update(widgets);
|
|
|
|
|
on_subwindow_close(self);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -390,20 +405,11 @@ void on_console_font_changed(GtkComboBox *self, main_window *widgets){
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void on_language_changed(GtkComboBox *self, main_window *widgets){
|
|
|
|
|
GtkTreeIter iter, child;
|
|
|
|
|
if (gtk_combo_box_get_active_iter(self,&iter)){
|
|
|
|
|
char *code;
|
|
|
|
|
|
|
|
|
|
gtk_tree_model_filter_convert_iter_to_child_iter(GTK_TREE_MODEL_FILTER(main_config.localefilter),&child,&iter);
|
|
|
|
|
gtk_tree_model_get(GTK_TREE_MODEL(widgets->languagelist),&child,1,&code,-1);
|
|
|
|
|
if (code){
|
|
|
|
|
if (yon_config_get_by_key(language_parameter)){
|
|
|
|
|
yon_config_set(language_parameter,code);
|
|
|
|
|
} else {
|
|
|
|
|
yon_config_register(language_parameter,LANG_get_command,code);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
void on_language_changed(GtkComboBox *, main_window *widgets){
|
|
|
|
|
const char *code;
|
|
|
|
|
code = gtk_combo_box_get_active_id(GTK_COMBO_BOX(widgets->LanguageCombo));
|
|
|
|
|
if (code){
|
|
|
|
|
yon_config_register(language_parameter,LANG_get_command,(char*)code);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -784,9 +790,6 @@ main_window *yon_main_window_complete(main_window *widgets){
|
|
|
|
|
// g_timeout_add(1000,(GSourceFunc)on_check_domain_connected,widgets);
|
|
|
|
|
on_check_domain_connected(NULL, widgets);
|
|
|
|
|
|
|
|
|
|
main_config.localefilter = gtk_tree_model_filter_new(GTK_TREE_MODEL(widgets->languagelist),NULL);
|
|
|
|
|
gtk_combo_box_set_model(GTK_COMBO_BOX(widgets->LanguageCombo),main_config.localefilter);
|
|
|
|
|
gtk_tree_model_filter_set_visible_column(GTK_TREE_MODEL_FILTER(main_config.localefilter),2);
|
|
|
|
|
int size;
|
|
|
|
|
config_str locales = yon_resource_open_file(get_locales_command,&size);
|
|
|
|
|
GtkTreeIter iter;
|
|
|
|
|
|