@ -103,7 +103,7 @@ void on_about(){
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					//functions
 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					void  yon_load_proceed ( YON_CONFIG_TYPE  type ) { 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    if  ( yon_config_load_register ( type , " config " , hostname_parameter , " config " , id_parameter , " locale " , console_font_parameter , " locale " , l anguage_parameter, NULL ) ) { } 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    if  ( yon_config_load_register ( type , " config " , hostname_parameter , " config " , id_parameter , " locale " , console_font_parameter , " locale " , l ocale_parameter, " locale " , l  anguage_parameter, NULL ) ) { } 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    else 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        yon_ubl_status_box_render ( LOAD_FAILED_LABEL , BACKGROUND_IMAGE_FAIL_TYPE ) ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    
 
				
			 
			
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
				 
				 
				
					@ -112,7 +112,9 @@ void yon_load_proceed(YON_CONFIG_TYPE type){
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					void  yon_config_local_load ( GtkWidget  * self ,  main_window  * widgets ) { 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    gtk_entry_set_text ( GTK_ENTRY ( widgets - > HostnameEntry ) , " " ) ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    gtk_entry_set_text ( GTK_ENTRY ( widgets - > IDEntry ) , " " ) ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    gtk_entry_set_text ( GTK_ENTRY ( widgets - > LocaleEntry ) , " " ) ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    int  size ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    GtkTreeIter  iter ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    config_str  rtn  =  yon_config_load ( get_id_command , & size ) ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    rtn [ 0 ] = yon_char_divide_search ( rtn [ 0 ] , " \n " , - 1 ) ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    gtk_entry_set_text ( GTK_ENTRY ( widgets - > IDEntry ) , * rtn ) ; 
 
				
			 
			
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
				 
				 
				
					@ -120,6 +122,9 @@ void yon_config_local_load(GtkWidget *self, main_window *widgets){
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    gtk_combo_box_set_active ( GTK_COMBO_BOX ( widgets - > LanguageCombo ) , 0 ) ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    yon_load_proceed ( YON_CONFIG_LOCAL ) ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    gtk_entry_set_text ( GTK_ENTRY ( widgets - > HostnameEntry ) , yon_config_get_by_key ( hostname_parameter ) ) ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    for_iter ( GTK_TREE_MODEL ( widgets - > languagelist ) , & iter ) { 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        gtk_list_store_set ( widgets - > languagelist , & iter , 2 , 0 , - 1 ) ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    } 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    char  * id  =  yon_config_get_by_key ( id_parameter ) ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    if  ( ! strcmp ( id , " Random " ) ) 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        gtk_combo_box_set_active ( GTK_COMBO_BOX ( widgets - > IDCombo ) , 1 ) ; 
 
				
			 
			
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
				 
				 
				
					@ -128,7 +133,6 @@ void yon_config_local_load(GtkWidget *self, main_window *widgets){
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    else 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        gtk_entry_set_text ( GTK_ENTRY ( widgets - > IDEntry ) , id ) ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    GtkTreeIter  iter ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    char  * code ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    char  * cons_font  =  yon_config_get_by_key ( console_font_parameter ) ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    if  ( cons_font ) { 
 
				
			 
			
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
				 
				 
				
					@ -139,12 +143,26 @@ void yon_config_local_load(GtkWidget *self, main_window *widgets){
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        } 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    } 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    char  * lang  =  yon_config_get_by_key ( language_parameter ) ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    char  * avlocale  =  yon_config_get_by_key ( locale_parameter ) ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    int  locsize ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    if  ( avlocale ) ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        config_str  locale_parsed  =  yon_char_parse ( avlocale , & locsize , " , " ) ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    gboolean  is_active ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    char  * locale_string = " " ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    char  * loc_name ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    if  ( lang ) { 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        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 , 1 , & code , - 1 ) ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            gtk_tree_model_get ( GTK_TREE_MODEL ( widgets - > languagelist ) , & iter , 0, & loc_name ,  1, & cod e, 2 , & is_activ  e, - 1 ) ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            if  ( code & & ! strcmp ( code , lang ) )  gtk_combo_box_set_active_iter ( GTK_COMBO_BOX ( widgets - > LanguageCombo ) , & iter ) ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            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 ) ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                    } 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        } 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        gtk_entry_set_text ( GTK_ENTRY ( widgets - > LocaleEntry ) , locale_string ) ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    } 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    yon_ubl_status_box_render ( LOCAL_LOAD_SUCCESS_LABEL , BACKGROUND_IMAGE_SUCCESS_TYPE ) ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					} 
 
				
			 
			
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
				 
				 
				
					@ -152,7 +170,9 @@ void yon_config_local_load(GtkWidget *self, main_window *widgets){
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					void  yon_config_global_load ( GtkWidget  * self ,  main_window  * widgets ) { 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    gtk_entry_set_text ( GTK_ENTRY ( widgets - > HostnameEntry ) , " " ) ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    gtk_entry_set_text ( GTK_ENTRY ( widgets - > IDEntry ) , " " ) ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    gtk_entry_set_text ( GTK_ENTRY ( widgets - > LocaleEntry ) , " " ) ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    int  size ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    GtkTreeIter  iter ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    config_str  rtn  =  yon_config_load ( get_id_command , & size ) ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    rtn [ 0 ] = yon_char_divide_search ( rtn [ 0 ] , " \n " , - 1 ) ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    gtk_entry_set_text ( GTK_ENTRY ( widgets - > IDEntry ) , * rtn ) ; 
 
				
			 
			
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
				 
				 
				
					@ -160,51 +180,120 @@ void yon_config_global_load(GtkWidget *self, main_window *widgets){
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    gtk_combo_box_set_active ( GTK_COMBO_BOX ( widgets - > LanguageCombo ) , 0 ) ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    yon_load_proceed ( YON_CONFIG_GLOBAL ) ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    gtk_entry_set_text ( GTK_ENTRY ( widgets - > HostnameEntry ) , yon_config_get_by_key ( hostname_parameter ) ) ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    for_iter ( GTK_TREE_MODEL ( widgets - > languagelist ) , & iter ) { 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        gtk_list_store_set ( widgets - > languagelist , & iter , 2 , 0 , - 1 ) ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    } 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    char  * id  =  yon_config_get_by_key ( id_parameter ) ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    if  ( ! strcmp ( id , " Random " ) ) 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        gtk_combo_box_set_active ( GTK_COMBO_BOX ( widgets - > IDCombo ) , 1 ) ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    else  if  ( ! strcmp ( id , " hardware " ) ) 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        gtk_combo_box_set_active ( GTK_COMBO_BOX ( widgets - > IDCombo ) , 2 ) ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    GtkTreeIter  iter ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    else 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        gtk_entry_set_text ( GTK_ENTRY ( widgets - > IDEntry ) , id ) ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    char  * code ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    char  * cons_font  =  yon_config_get_by_key ( console_font_parameter ) ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    if  ( cons_font ) { 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        int  valid  =  gtk_tree_model_get_iter_first ( GTK_TREE_MODEL ( widgets - > fontlist ) , & iter ) ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        for ( ; valid ; gtk_tree_model_iter_next ( GTK_TREE_MODEL ( widgets - > fontlist ) , & iter ) ) { 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            gtk_tree_model_get ( GTK_TREE_MODEL ( widgets - > fontlist ) , & iter , 1 , & code , - 1 ) ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            if  ( code & & ! strcmp ( code , cons_font ) ) {  gtk_combo_box_set_active_iter ( GTK_COMBO_BOX ( widgets - > ConsoleFontCombo ) , & iter ) ;  break ;  } 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            else  {  gtk_combo_box_set_active ( GTK_COMBO_BOX ( widgets - > ConsoleFontCombo ) , 0 ) ;  } 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        for ( ; valid ; valid = gtk_tree_model_iter_next ( GTK_TREE_MODEL ( widgets - > fontlist ) , & iter ) ) { 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            gtk_tree_model_get ( GTK_TREE_MODEL ( widgets - > fontlist ) , & iter , 0 , & code , - 1 ) ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            if  ( code & & ! strcmp ( code , cons_font ) )  gtk_combo_box_set_active_iter ( GTK_COMBO_BOX ( widgets - > ConsoleFontCombo ) , & iter ) ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        } 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    } 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    char  * lang  =  yon_config_get_by_key ( language_parameter ) ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    char  * avlocale  =  yon_config_get_by_key ( locale_parameter ) ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    int  locsize ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    if  ( avlocale ) ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        config_str  locale_parsed  =  yon_char_parse ( avlocale , & locsize , " , " ) ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    gboolean  is_active ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    char  * locale_string = " " ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    char  * loc_name ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    if  ( lang ) { 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        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 , 1 , & code , - 1 ) ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            if  ( ! strcmp ( code , lang ) ) {  gtk_combo_box_set_active_iter ( GTK_COMBO_BOX ( widgets - > LanguageCombo ) , & iter ) ;  break ;  } 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            else  {  gtk_combo_box_set_active ( GTK_COMBO_BOX ( widgets - > LanguageCombo ) , 0 ) ;  } 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            gtk_tree_model_get ( GTK_TREE_MODEL ( widgets - > languagelist ) , & iter , 0 , & loc_name , 1 , & code , 2 , & is_active , - 1 ) ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            if  ( code & & ! strcmp ( code , lang ) )  gtk_combo_box_set_active_iter ( GTK_COMBO_BOX ( widgets - > LanguageCombo ) , & iter ) ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            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 ) ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					                    } 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        } 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        gtk_entry_set_text ( GTK_ENTRY ( widgets - > LocaleEntry ) , locale_string ) ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    } 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    yon_ubl_status_box_render ( GLOBAL_LOAD_SUCCESS_LABEL , BACKGROUND_IMAGE_SUCCESS_TYPE ) ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					} 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					void  yon_config_global_local_save ( ) { 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    yon_config_save_registered ( NULL ," "  ); 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    yon_config_save_registered ( NULL  ); 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    yon_ubl_status_box_render ( yon_char_unite ( GLOBAL_LOCAL_SAVE_SUCCESS_LABEL , " \n " ,  SAVE_WARNING_LABEL , NULL ) , BACKGROUND_IMAGE_SUCCESS_TYPE ) ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					} 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					void  yon_config_local_save ( ) { 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    yon_config_save_registered ( " system " ," config "  ); 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    yon_config_save_registered ( " system "  ); 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    yon_ubl_status_box_render ( yon_char_unite ( LOCAL_SAVE_SUCCESS_LABEL , " \n " ,  SAVE_WARNING_LABEL , NULL ) , BACKGROUND_IMAGE_SUCCESS_TYPE ) ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					} 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					void  yon_config_global_save ( ) { 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    yon_config_save_registered ( " global " ," "  ); 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    yon_config_save_registered ( " global "  ); 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    yon_ubl_status_box_render ( yon_char_unite ( GLOBAL_SAVE_SUCCESS_LABEL , " \n " ,  SAVE_WARNING_LABEL , NULL ) , BACKGROUND_IMAGE_SUCCESS_TYPE ) ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					} 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					void  on_locale_toggle ( GtkCellRendererToggle  * self , GtkTreePath *  path , GtkTreeViewColumn *  column , locals_window  * window ) { 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    GtkTreeIter  iter ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    GtkTreeModel  * model  =  gtk_tree_view_get_model ( GTK_TREE_VIEW ( window - > MainTree ) ) ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    gtk_tree_model_get_iter ( model , & iter , path ) ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    gboolean  is_active ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    gtk_tree_model_get ( model , & iter , 2 , & is_active , - 1 ) ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    gtk_list_store_set ( GTK_LIST_STORE ( model ) , & iter , 2 , ! is_active , - 1 ) ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					} 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					void  on_locale_accept ( GtkWidget  * self ,  dictionary  * dict ) { 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    main_window  * widgets  =  yon_dictionary_get_data ( dict - > first , main_window * ) ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    locals_window  * window  =  yon_dictionary_get_data ( dict - > first - > next , locals_window * ) ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    GtkTreeIter  iter ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    gboolean  is_active ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    char  * final_string  =  " " ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    char  * final_ids  =  " " ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    char  * name ,  * id ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    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 , & name , 1 , & id , 2 , & is_active , - 1 ) ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        if  ( is_active ) { 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            final_string  =  yon_char_unite ( strcmp ( final_string , " " )  ?  yon_char_append ( final_string , " ;  " )  :  final_string , name , NULL ) ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					            final_ids  =  yon_char_unite ( strcmp ( final_ids , " " )  ?  yon_char_append ( final_ids , " , " )  :  final_ids , id , NULL ) ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        } 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    } 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    gtk_entry_set_text ( GTK_ENTRY ( widgets - > LocaleEntry ) , final_string ) ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    if  ( yon_config_get_by_key ( " LOCALE " ) )  yon_config_set ( " LOCALE " , final_ids ) ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    else  yon_config_register ( " LOCALE " , " locale " , final_ids ) ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    on_close_subwindow ( self ) ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					} 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					void  on_locale_open ( GtkWidget  * self ,  main_window  * widgets ) { 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    locals_window  * window  =  malloc ( sizeof ( locals_window ) ) ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    GtkBuilder  * builder  =  gtk_builder_new_from_resource ( glade_locales_path ) ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    window - > Window  =  yon_gtk_builder_get_widget ( builder , " localesLayoutsWindow " ) ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    window - > MainTree  =  yon_gtk_builder_get_widget ( builder , " localesTree " ) ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    window - > CloseButton  =  yon_gtk_builder_get_widget ( builder , " localesCancelButton " ) ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    window - > AcceptButton  =  yon_gtk_builder_get_widget ( builder , " localesAcceptButton " ) ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    window - > ToggleCell  =  GTK_CELL_RENDERER ( gtk_builder_get_object ( builder , " toggleCell " ) ) ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    gtk_tree_view_set_model ( GTK_TREE_VIEW ( window - > MainTree ) ,  GTK_TREE_MODEL ( widgets - > languagelist ) ) ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    dictionary  * dict  =  NULL ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    yon_dictionary_add_or_create_if_exists_with_data ( dict , " widgets " , widgets ) ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    yon_dictionary_add_or_create_if_exists_with_data ( dict , " window " , window ) ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    g_signal_connect ( G_OBJECT ( window - > CloseButton ) , " clicked " , G_CALLBACK ( on_close_subwindow ) , NULL ) ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    g_signal_connect ( G_OBJECT ( window - > AcceptButton ) , " clicked " , G_CALLBACK ( on_locale_accept ) , dict ) ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    g_signal_connect ( G_OBJECT ( window - > MainTree ) , " row-activated " , G_CALLBACK ( on_locale_toggle ) , window ) ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    gtk_dialog_run ( GTK_DIALOG ( window - > Window ) ) ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					} 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					void  on_hostname_changed ( GtkEntry  * self ,  main_window  * widgets ) { 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    char  * text  =  ( char * ) gtk_entry_get_text ( self ) ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    if  ( yon_config_get_by_key ( hostname_parameter ) ) { 
 
				
			 
			
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
				 
				 
				
					@ -349,6 +438,9 @@ main_window *setup_window(){
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    widgets - > ConsoleFontCombo  =  yon_gtk_builder_get_widget ( builder , " ConsoleFontCombo " ) ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    widgets - > LanguageCombo  =  yon_gtk_builder_get_widget ( builder , " LanguageCombo " ) ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    widgets - > LocaleButton  =  yon_gtk_builder_get_widget ( builder , " getLocalesButton " ) ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    widgets - > LocaleEntry  =  yon_gtk_builder_get_widget ( builder , " localeEntry " ) ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    widgets - > fontlist  =  GTK_LIST_STORE ( gtk_builder_get_object ( builder , " fontlist " ) ) ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    widgets - > languagelist  =  GTK_LIST_STORE ( gtk_builder_get_object ( builder , " languagelist " ) ) ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
				 
				 
				
					@ -391,9 +483,11 @@ main_window *setup_window(){
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    g_signal_connect ( G_OBJECT ( widgets - > IDCombo ) , " changed " , G_CALLBACK ( on_id_combo_toggled ) , widgets ) ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    g_signal_connect ( G_OBJECT ( widgets - > IDEntry ) , " changed " , G_CALLBACK ( on_id_changed ) , widgets ) ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    g_signal_connect ( G_OBJECT ( widgets - > IDCopyButton ) , " clicked " , G_CALLBACK ( on_id_copy ) , widgets ) ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    g_signal_connect ( G_OBJECT ( widgets - > LocaleButton ) , " clicked " , G_CALLBACK ( on_locale_open ) , widgets ) ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    g_signal_connect ( G_OBJECT ( widgets - > ConsoleFontCombo ) , " changed " , G_CALLBACK ( on_console_font_changed ) , widgets ) ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    g_signal_connect ( G_OBJECT ( widgets - > LanguageCombo ) , " changed " , G_CALLBACK ( on_language_changed ) , widgets ) ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    main_config . localeslist  =  gtk_list_store_new ( 3 , G_TYPE_STRING , G_TYPE_STRING , G_TYPE_BOOLEAN ) ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    int  size ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    config_str  locales  =  yon_config_load ( get_locales_command , & size ) ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    GtkTreeIter  iter ; 
 
				
			 
			
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
				 
				 
				
					@ -402,7 +496,7 @@ main_window *setup_window(){
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        locales [ i ] = yon_char_divide_search ( locales [ i ] , " \n " , - 1 ) ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        config_str  loc_parsed  =  yon_char_parse ( locales [ i ] , & locsize , " ; " ) ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        gtk_list_store_append ( widgets - > languagelist , & iter ) ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        gtk_list_store_set ( widgets - > languagelist , & iter , 0 , _ ( loc_parsed [ 1 ] ) , 1 , loc_parsed [ 0 ] , - 1 ) ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					        gtk_list_store_set ( widgets - > languagelist , & iter , 0 , _ ( loc_parsed [ 1 ] ) , 1 , loc_parsed [ 0 ] , 2 , 0 , - 1 ) ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    } 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    config_str  fonts  =  yon_config_load ( get_fonts_command , & size ) ; 
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				 
				
					    for  ( int  i = 0 ; i < size ; i + + ) {