@ -8,21 +8,38 @@ int yon_installation_start(main_window *widgets){
void yon_quick_install ( GtkWidget * self , main_window * widgets ) {
if ( ! yon_installation_check_packages_size ( widgets ) ) return ;
if ( ! main_config . dry_run ) {
main_config . save_configured = 1 ;
gtk_widget_hide ( self ) ;
gtk_widget_show ( gtk_widget_get_parent ( widgets - > InstallationProgress ) ) ;
pthread_create ( & main_config . install_thread , NULL , on_ config_save , widgets ) ;
pthread_create ( & main_config . install_thread , NULL , on_ quick_install_start , widgets ) ;
gtk_notebook_set_current_page ( GTK_NOTEBOOK ( widgets - > Notebook ) , YON_PAGE_INSTALLATION ) ;
if ( ! yon_char_is_empty ( main_config . config_load_path ) ) {
char * command = quick_install_command ( main_config . config_load_path ) ;
yon_launch_app_with_arguments ( command , NULL ) ;
}
yon_page_init ( widgets , YON_PAGE_INSTALLATION ) ;
yon_page_update ( widgets ) ;
}
void * on_quick_install_start ( void * data ) {
main_window * widgets = ( main_window * ) data ;
g_idle_add ( ( GSourceFunc ) yon_progress_bar_start , widgets ) ;
if ( ! main_config . dry_run ) {
char * command = yon_debug_output ( " %s \n " , quick_install_command ( main_config . config_load_path ) ) ;
yon_debug_output ( " %s \n " , " Entered installation " ) ;
if ( system ( yon_debug_output ( " %s \n " , command ) ) ) {
gdk_threads_add_idle ( ( GSourceFunc ) on_install_error , widgets ) ;
free ( command ) ;
g_mutex_lock ( & main_config . install_mutex ) ;
main_config . install_complete = 1 ;
g_mutex_unlock ( & main_config . install_mutex ) ;
return 0 ;
} ;
free ( command ) ;
g_mutex_lock ( & main_config . install_mutex ) ;
main_config . install_complete = 1 ;
g_mutex_unlock ( & main_config . install_mutex ) ;
g_idle_add ( ( GSourceFunc ) on_install_success , widgets ) ;
} else {
yon_launch ( " ubconfig --source system get / " ) ;
yon_launch ( ubinstall_dry_run_command ) ;
}
return 0 ;
}