@ -66,28 +66,32 @@ void on_config_save(GtkWidget *, main_window *widgets){
main_config . save_config = 2 ;
template_saving_window * window = yon_save_proceed ( NULL , YON_CONFIG_BOTH , yon_config_get_custom_command ( " global " ) , NULL ) ;
if ( window ) { } ;
yon_interface_update ( widgets ) ;
on_update_clicked ( NULL , widgets ) ;
}
void on_config_global_save ( GtkWidget * , main_window * widgets ) {
main_config . save_config = 0 ;
template_saving_window * window = yon_save_proceed ( " global " , YON_CONFIG_GLOBAL , yon_config_get_custom_command ( " global " ) , NULL ) ;
if ( window ) { } ;
yon_interface_update ( widgets ) ;
on_update_clicked ( NULL , widgets ) ;
}
void on_config_local_save ( GtkWidget * , main_window * widgets ) {
main_config . save_config = 1 ;
template_saving_window * window = yon_save_proceed ( " system " , YON_CONFIG_LOCAL , yon_config_get_custom_command ( " system " ) , NULL ) ;
if ( window ) { } ;
yon_interface_update ( widgets ) ;
on_update_clicked ( NULL , widgets ) ;
}
void on_config_custom_save ( GtkWidget * , main_window * widgets ) {
main_config . save_config = 1 ;
template_saving_window * window = yon_save_proceed ( NULL , YON_CONFIG_CUSTOM , yon_config_get_custom_command ( " system " ) , NULL ) ;
if ( window ) { } ;
yon_interface_update ( widgets ) ;
on_update_clicked ( NULL , widgets ) ;
}
@ -97,7 +101,8 @@ void on_config_local_load(GtkWidget *, main_window *widgets){
yon_ubl_status_box_render ( LOCAL_LOAD_SUCCESS_LABEL , BACKGROUND_IMAGE_SUCCESS_TYPE ) ;
textdomain ( LocaleName ) ;
main_config . load_mode = 1 ;
yon_interface_update ( widgets ) ;
on_update_clicked ( NULL , widgets ) ;
}
void on_config_global_load ( GtkWidget * , main_window * widgets ) {
@ -106,7 +111,8 @@ void on_config_global_load(GtkWidget *, main_window *widgets){
yon_ubl_status_box_render ( GLOBAL_LOAD_SUCCESS_LABEL , BACKGROUND_IMAGE_SUCCESS_TYPE ) ;
textdomain ( LocaleName ) ;
main_config . load_mode = 0 ;
yon_interface_update ( widgets ) ;
on_update_clicked ( NULL , widgets ) ;
}
void on_config_custom_load ( GtkWidget * , main_window * widgets ) {
@ -115,7 +121,8 @@ void on_config_custom_load(GtkWidget *,main_window *widgets){
yon_ubl_status_box_render ( GLOBAL_LOAD_SUCCESS_LABEL , BACKGROUND_IMAGE_SUCCESS_TYPE ) ;
textdomain ( LocaleName ) ;
main_config . load_mode = 3 ;
yon_interface_update ( widgets ) ;
on_update_clicked ( NULL , widgets ) ;
}
gboolean yon_tab_create_tags ( kernels_tab * tab ) {
@ -173,7 +180,9 @@ gboolean yon_tab_create_tags(kernels_tab *tab){
char * launched = config ( KERNEL_BOOT_parameter ) ;
int boot_size ;
config_str boot_run = yon_config_load ( get_active_kernel_command , & boot_size ) ;
yon_char_remove_last_symbol ( boot_run [ 0 ] , ' \n ' ) ;
if ( boot_size > 0 ) {
yon_char_remove_last_symbol ( boot_run [ 0 ] , ' \n ' ) ;
}
if ( ( ! ( launched & & ! strcmp ( tab - > package , launched ) ) & & ( strcmp ( tab - > package , boot_run [ 0 ] ) ) ) ) {
gtk_widget_show ( tab - > launch_button ) ;
@ -383,7 +392,8 @@ gboolean on_command_execute_success(GtkWidget *,gint status,main_window *widgets
g_mutex_unlock ( & main_config . progress_mutex ) ;
if ( ! status ) {
yon_ubl_status_box_render ( OPERATION_SUCCESS_LABEL , BACKGROUND_IMAGE_SUCCESS_TYPE ) ;
yon_interface_update ( widgets ) ;
on_update_clicked ( NULL , widgets ) ;
} else {
yon_ubl_status_box_render ( OPERATION_ERROR_LABEL , BACKGROUND_IMAGE_FAIL_TYPE ) ;
}
@ -432,7 +442,8 @@ gboolean yon_terminal_get_progress(main_window *widgets){
void * yon_command_execute_async ( char * command , main_window * widgets ) {
gtk_progress_bar_set_fraction ( GTK_PROGRESS_BAR ( widgets - > InstallationProgress ) , 0 ) ;
vte_terminal_reset ( VTE_TERMINAL ( widgets - > InstallTerminal ) , 0 , 1 ) ;
yon_terminal_integrated_start_shell ( widgets - > InstallTerminal , yon_debug_output ( " %s \n " , command ) , on_command_execute_success , widgets ) ;
yon_terminal_integrated_start_shell ( widgets - > InstallTerminal , yon_debug_output ( " %s \n " , command ) , NULL , NULL ) ;
g_signal_connect_after ( G_OBJECT ( widgets - > InstallTerminal ) , " child-exited " , G_CALLBACK ( on_command_execute_success ) , widgets ) ;
// yon_terminal_integrated_start(widgets->InstallTerminal,yon_debug_output("%s\n",command));
glong columns = vte_terminal_get_column_count ( VTE_TERMINAL ( widgets - > InstallTerminal ) ) ;
vte_terminal_set_size ( VTE_TERMINAL ( widgets - > InstallTerminal ) , columns , 20 ) ;
@ -608,8 +619,33 @@ void on_module_remove_done(GtkWidget *self, int state, kernels_tab *tab){
void on_module_remove_clicked ( GtkWidget * self , dictionary * dict ) {
main_window * widgets = yon_dictionary_get_data ( dict - > first , main_window * ) ;
kernels_tab * tab = yon_dictionary_get_data ( dict - > first - > next , kernels_tab * ) ;
int size ;
config_str cnf = yon_config_load ( SAVE_MODE_GET_COMMAND , & size ) ;
yon_char_remove_last_symbol ( cnf [ 0 ] , ' \n ' ) ;
SAVE_MODE_TYPE type = yon_ubl_save_mode_get_type ( cnf [ 0 ] ) ;
int installed_kernels = 0 ;
dictionary * cur_ker = NULL ;
for_dictionaries ( cur_ker , main_config . kernel_tabs ) {
switch ( type ) {
case SAVE_MODE_RAM_HOME :
case SAVE_MODE_SANDBOX : {
if ( ( ( kernels_tab * ) cur_ker - > data ) - > module_installed ) {
installed_kernels + + ;
} break ;
default :
if ( ( ( kernels_tab * ) cur_ker - > data ) - > package_installed | | ( ( kernels_tab * ) cur_ker - > data ) - > module_installed ) {
installed_kernels + + ;
}
} break ;
}
}
dialog_confirmation_data * data = malloc ( sizeof ( dialog_confirmation_data ) ) ;
data - > action_text = KERNEL_MODULE_REMOVE_CONFIRMATION_LABEL ( tab - > name ) ;
if ( installed_kernels > 1 ) {
data - > action_text = KERNEL_MODULE_REMOVE_CONFIRMATION_LABEL ( tab - > name ) ;
} else if ( installed_kernels = = 1 ) {
data - > action_text = KERNEL_REMOVE_LAST_CONFIRMATION_LABEL ( tab - > name ) ;
}
data - > function = NULL ;
data - > data = NULL ;
if ( yon_confirmation_dialog_call ( self , data ) = = GTK_RESPONSE_ACCEPT ) {
@ -627,8 +663,33 @@ void on_module_remove_clicked(GtkWidget *self,dictionary *dict){
void on_package_remove_clicked ( GtkWidget * self , dictionary * dict ) {
main_window * widgets = yon_dictionary_get_data ( dict - > first , main_window * ) ;
kernels_tab * tab = yon_dictionary_get_data ( dict - > first - > next , kernels_tab * ) ;
int size ;
config_str cnf = yon_config_load ( SAVE_MODE_GET_COMMAND , & size ) ;
yon_char_remove_last_symbol ( cnf [ 0 ] , ' \n ' ) ;
SAVE_MODE_TYPE type = yon_ubl_save_mode_get_type ( cnf [ 0 ] ) ;
int installed_kernels = 0 ;
dictionary * cur_ker = NULL ;
for_dictionaries ( cur_ker , main_config . kernel_tabs ) {
switch ( type ) {
case SAVE_MODE_RAM_HOME :
case SAVE_MODE_SANDBOX : {
if ( ( ( kernels_tab * ) cur_ker - > data ) - > module_installed ) {
installed_kernels + + ;
} break ;
default :
if ( ( ( kernels_tab * ) cur_ker - > data ) - > package_installed | | ( ( kernels_tab * ) cur_ker - > data ) - > module_installed ) {
installed_kernels + + ;
}
} break ;
}
}
dialog_confirmation_data * data = malloc ( sizeof ( dialog_confirmation_data ) ) ;
data - > action_text = KERNEL_PACKAGE_REMOVE_CONFIRMATION_LABEL ( tab - > name ) ;
if ( installed_kernels > 1 ) {
data - > action_text = KERNEL_PACKAGE_REMOVE_CONFIRMATION_LABEL ( tab - > name ) ;
} else if ( installed_kernels = = 1 ) {
data - > action_text = KERNEL_REMOVE_LAST_CONFIRMATION_LABEL ( tab - > name ) ;
}
data - > function = NULL ;
data - > data = NULL ;
int resp = yon_confirmation_dialog_call ( self , data ) ;
@ -650,7 +711,8 @@ void on_launch_cliked(GtkWidget *self,dictionary *dict){
data - > data = NULL ;
if ( yon_confirmation_dialog_call ( self , data ) = = GTK_RESPONSE_ACCEPT ) {
yon_config_set ( KERNEL_BOOT_parameter , tab - > package ) ;
yon_interface_update ( widgets ) ;
on_update_clicked ( NULL , widgets ) ;
}
}
@ -864,8 +926,8 @@ void on_update_clicked(GtkWidget *, main_window *widgets){
yon_dictionary_free_all ( main_config . addition_tabs , free ) ;
main_config . kernel_tabs = NULL ;
main_config . addition_tabs = NULL ;
yon_interface_update ( widgets ) ;
}
}
@ -1047,6 +1109,11 @@ void yon_main_window_complete(main_window *widgets){
g_signal_connect ( G_OBJECT ( widgets - > LoadLocalMenuItem ) , " activate " , G_CALLBACK ( on_config_local_load ) , widgets ) ;
g_signal_connect ( G_OBJECT ( widgets - > LoadCustomMenuItem ) , " activate " , G_CALLBACK ( on_config_custom_load ) , widgets ) ;
int paned_pos = 0 ;
if ( yon_window_config_get_parameter ( " settings " , " paned_pos " , & paned_pos , YON_TYPE_INT ) ) {
gtk_paned_set_position ( GTK_PANED ( widgets - > TerminalPaned ) , paned_pos ) ;
}
yon_root_button_setup ( ( template_main_window * ) widgets , main_config . launch_arguments , main_config . launch_size ) ;
if ( getuid ( ) ) {
gtk_widget_set_sensitive ( widgets - > BuildingButton , 0 ) ;
@ -1062,7 +1129,7 @@ void yon_main_window_complete(main_window *widgets){
gtk_paned_add2 ( GTK_PANED ( widgets - > TerminalPaned ) , widgets - > TerminalRevealer ) ;
y on_interface_ update( widgets ) ;
on_update_clicked ( NULL , widgets ) ;
yon_save_window_set_postsave_function ( on_save_done , widgets ) ;
}
yon_load_proceed ( YON_CONFIG_LOCAL ) ;