@ -7,22 +7,22 @@ void yon_config_save_proceed(char *path, YON_CONFIG_TYPE type){
void yon_load_proceed ( YON_CONFIG_TYPE type ) {
if ( type ! = YON_CONFIG_CUSTOM ) {
yon_config_clean ( ) ;
if ( main_config . config_load_path ) {
if ( main_config . startup_config ) {
yon_config_restore ( NULL ) ;
yon_config_custom_clean ( main_config . startup_config ) ;
}
main_config . startup_config = NULL ;
}
}
if ( ! yon_char_is_empty ( config_get_default_command ) ) {
yon_config_load_config ( YON_CONFIG_DEFAULT , config_get_default_command , NULL ) ;
}
if ( main_config . config_load_path ) {
if ( main_config . startup_config ) {
yon_config_restore ( NULL ) ;
yon_config_custom_clean ( main_config . startup_config ) ;
}
main_config . startup_config = NULL ;
yon_config_custom_load_config ( & main_config . startup_config , config_get_command ( main_config . config_load_path ) , NULL ) ;
}
switch ( type ) {
case YON_CONFIG_LOCAL :
main_config . config_load_path = yon_char_new ( " system " ) ;
main_config . config_save_path = main_config . config_load_path ;
yon_config_custom_load_config ( & main_config . startup_config , config_get_command ( " system " ) , NULL ) ;
yon_config_load_config ( type , config_get_command ( " system " ) , NULL ) ;
break ;
case YON_CONFIG_CUSTOM :
@ -30,14 +30,23 @@ void yon_load_proceed(YON_CONFIG_TYPE type){
char * path = NULL ;
path = yon_custom_config_init ( GTK_FILE_CHOOSER_ACTION_OPEN ) ;
if ( ! yon_char_is_empty ( path ) ) {
if ( main_config . config_load_path ) {
if ( main_config . startup_config ) {
yon_config_restore ( NULL ) ;
yon_config_custom_clean ( main_config . startup_config ) ;
}
main_config . startup_config = NULL ;
}
main_config . config_load_path = yon_char_new ( path ) ;
main_config . config_save_path = main_config . config_load_path ;
yon_config_clean ( ) ;
yon_config_load_config ( type , config_get_command ( path ) , NULL ) ;
yon_config_custom_load_config ( & main_config . startup_config , config_get_command ( path ) , NULL ) ;
}
} else {
yon_config_clean ( ) ;
yon_config_load_config ( type , config_get_command ( main_config . force_ini ) , NULL ) ;
yon_config_custom_load_config ( & main_config . startup_config , config_get_command ( main_config . force_ini ) , NULL ) ;
}
break ;
default :
@ -53,25 +62,28 @@ void on_config_local_load(GtkWidget *,main_window *widgets){
yon_load_proceed ( YON_CONFIG_LOCAL ) ;
main_config . load_mode = YON_CONFIG_LOCAL ;
yon_main_window_update_locale ( widgets ) ;
yon_ page_init( widgets , gtk_notebook_get_current_page ( GTK_NOTEBOOK ( widgets - > Notebook ) ) ) ;
yon_ navigation_buttons_set_sensetiveness( widgets ) ;
}
void on_config_custom_load ( GtkWidget * , main_window * ) {
void on_config_custom_load ( GtkWidget * , main_window * widgets ) {
char * temp_custom_path = NULL ;
yon_load_proceed ( YON_CONFIG_CUSTOM ) ;
if ( ! yon_char_is_empty ( main_config . config_load_path ) ) {
main_config . load_mode = YON_CONFIG_CUSTOM ;
free ( temp_custom_path ) ;
}
yon_navigation_buttons_set_sensetiveness ( widgets ) ;
}
void on_config_custom_load_last ( GtkWidget * , main_window * ) {
void on_config_custom_load_last ( GtkWidget * , main_window * widgets ) {
yon_config_clean ( ) ;
if ( ! yon_char_is_empty ( config_get_default_command ) )
yon_config_load_config ( YON_CONFIG_DEFAULT , config_get_default_command , NULL ) ;
char * command = config_get_command ( main_config . config_load_path ) ;
yon_config_load_config ( YON_CONFIG_CUSTOM , command , NULL ) ;
main_config . load_mode = YON_CONFIG_CUSTOM ;
int page = gtk_notebook_get_current_page ( GTK_NOTEBOOK ( widgets - > Notebook ) ) ;
yon_page_init ( widgets , page ) ;
}
void on_config_global_local_save ( GtkWidget * , main_window * widgets ) {