|
|
|
|
@ -36,7 +36,7 @@ int yon_kernel_save(main_window *widgets){
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (!main_config.configure_mode){
|
|
|
|
|
yon_config_save_args_simple(main_config.config_load_path,packages_parameter, KERNEL_BOOT_parameter,NULL);
|
|
|
|
|
yon_debug_output("%s\n",yon_config_save_args_simple(main_config.config_load_path,packages_parameter, KERNEL_BOOT_parameter,NULL));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return 1;
|
|
|
|
|
@ -73,6 +73,27 @@ int yon_kernel_addon_save(main_window *widgets){
|
|
|
|
|
return 1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void on_os_components_uncheck_all(GtkWidget *,main_window *widgets){
|
|
|
|
|
int active = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->OSSoftwareUncheckAllCheck));
|
|
|
|
|
switch(active){
|
|
|
|
|
case 1:{
|
|
|
|
|
GList *list = gtk_container_get_children(GTK_CONTAINER(widgets->OSSoftwareListBox));
|
|
|
|
|
GList *iter;
|
|
|
|
|
for(iter = list;iter;iter=iter->next){
|
|
|
|
|
os_row *row = g_object_get_data(iter->data,"kernel_row");
|
|
|
|
|
int sensitive = gtk_widget_get_sensitive(row->InstallCheck);
|
|
|
|
|
if (sensitive){
|
|
|
|
|
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(row->InstallCheck),0);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
} break;
|
|
|
|
|
}
|
|
|
|
|
gtk_widget_hide(widgets->OSSoftwareUncheckAllCheck);
|
|
|
|
|
g_signal_handlers_block_by_func(G_OBJECT(widgets->OSSoftwareUncheckAllCheck),on_os_components_uncheck_all,widgets);
|
|
|
|
|
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widgets->OSSoftwareUncheckAllCheck),0);
|
|
|
|
|
g_signal_handlers_unblock_by_func(G_OBJECT(widgets->OSSoftwareUncheckAllCheck),on_os_components_uncheck_all,widgets);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int yon_os_components_check_packages_size(GtkWidget *, main_window *widgets){
|
|
|
|
|
long pacman_size = 0;
|
|
|
|
|
{
|
|
|
|
|
@ -83,6 +104,9 @@ int yon_os_components_check_packages_size(GtkWidget *, main_window *widgets){
|
|
|
|
|
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(row->InstallCheck))){
|
|
|
|
|
long cur_size = yon_packages_get_installed_size(YON_PACKAGES_ALL,row->name);
|
|
|
|
|
pacman_size += cur_size;
|
|
|
|
|
if (gtk_widget_get_sensitive(row->InstallCheck)){
|
|
|
|
|
gtk_widget_show(widgets->OSSoftwareUncheckAllCheck);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
@ -207,6 +231,7 @@ void *yon_modules_list_load(main_window *widgets){
|
|
|
|
|
main_config.modules_size = size;
|
|
|
|
|
}
|
|
|
|
|
g_idle_add((GSourceFunc)yon_spinner_switch_off,widgets->OSSpinner);
|
|
|
|
|
g_idle_add((GSourceFunc)yon_os_components_load,widgets);
|
|
|
|
|
g_thread_exit(NULL);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -251,29 +276,10 @@ gboolean yon_spinner_switch_off(GtkSpinner *target){
|
|
|
|
|
return G_SOURCE_REMOVE;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void yon_modules_missed_func(main_window *widgets){
|
|
|
|
|
yon_ubl_status_box_spawn(GTK_CONTAINER(widgets->StatusBox),MAIN_COMPONENTS_NOT_FOUND_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void yon_os_components_init(main_window *widgets){
|
|
|
|
|
if (!main_config.configure_mode){
|
|
|
|
|
yon_config_update_by_args(modules_parameter,NULL);
|
|
|
|
|
}
|
|
|
|
|
int size = 0;
|
|
|
|
|
gboolean yon_os_components_load(main_window *widgets){
|
|
|
|
|
int size=0;
|
|
|
|
|
GList *list = gtk_container_get_children(GTK_CONTAINER(widgets->OSSoftwareListBox));
|
|
|
|
|
GList *iter;
|
|
|
|
|
for (iter=list;iter;iter=iter->next){
|
|
|
|
|
os_row *row = g_object_get_data(iter->data,"kernel_row");
|
|
|
|
|
free(row);
|
|
|
|
|
gtk_widget_destroy(GTK_WIDGET(iter->data));
|
|
|
|
|
}
|
|
|
|
|
gtk_overlay_add_overlay(GTK_OVERLAY(widgets->OSOverlay),widgets->OSSpinner);
|
|
|
|
|
gtk_spinner_start(GTK_SPINNER(widgets->OSSpinner));
|
|
|
|
|
gtk_widget_show(widgets->OSSpinner);
|
|
|
|
|
g_thread_new("geag",(GThreadFunc)yon_modules_list_load,widgets);
|
|
|
|
|
while(gtk_events_pending()) gtk_main_iteration();
|
|
|
|
|
list = gtk_container_get_children(GTK_CONTAINER(widgets->OSSoftwareListBox));
|
|
|
|
|
GList *iter;
|
|
|
|
|
for(iter = list;iter;iter=iter->next){
|
|
|
|
|
os_row *row = g_object_get_data(iter->data,"kernel_row");
|
|
|
|
|
int cur_size = 0;
|
|
|
|
|
@ -292,7 +298,7 @@ void yon_os_components_init(main_window *widgets){
|
|
|
|
|
config_str parsed = yon_char_parse(modules,&parsed_size,",");
|
|
|
|
|
for(iter = list;iter;iter=iter->next){
|
|
|
|
|
os_row *row = g_object_get_data(iter->data,"kernel_row");
|
|
|
|
|
char *target = row->name;
|
|
|
|
|
char *target = row->source;
|
|
|
|
|
if (yon_char_parsed_check_exist(parsed,parsed_size,target)>-1){
|
|
|
|
|
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(row->InstallCheck),1);
|
|
|
|
|
} else {
|
|
|
|
|
@ -301,6 +307,30 @@ void yon_os_components_init(main_window *widgets){
|
|
|
|
|
}
|
|
|
|
|
yon_char_parsed_free(parsed,parsed_size);
|
|
|
|
|
}
|
|
|
|
|
return G_SOURCE_REMOVE;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void yon_modules_missed_func(main_window *widgets){
|
|
|
|
|
yon_ubl_status_box_spawn(GTK_CONTAINER(widgets->StatusBox),MAIN_COMPONENTS_NOT_FOUND_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void yon_os_components_init(main_window *widgets){
|
|
|
|
|
if (!main_config.configure_mode){
|
|
|
|
|
yon_config_update_by_args(modules_parameter,NULL);
|
|
|
|
|
}
|
|
|
|
|
// int size = 0;
|
|
|
|
|
GList *list = gtk_container_get_children(GTK_CONTAINER(widgets->OSSoftwareListBox));
|
|
|
|
|
GList *iter;
|
|
|
|
|
for (iter=list;iter;iter=iter->next){
|
|
|
|
|
os_row *row = g_object_get_data(iter->data,"kernel_row");
|
|
|
|
|
free(row);
|
|
|
|
|
gtk_widget_destroy(GTK_WIDGET(iter->data));
|
|
|
|
|
}
|
|
|
|
|
gtk_overlay_add_overlay(GTK_OVERLAY(widgets->OSOverlay),widgets->OSSpinner);
|
|
|
|
|
gtk_spinner_start(GTK_SPINNER(widgets->OSSpinner));
|
|
|
|
|
gtk_widget_show(widgets->OSSpinner);
|
|
|
|
|
g_thread_new("geag",(GThreadFunc)yon_modules_list_load,widgets);
|
|
|
|
|
while(gtk_events_pending()) gtk_main_iteration();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void on_software_uncheck_all(GtkWidget *, main_window *widgets){
|
|
|
|
|
@ -413,8 +443,9 @@ gboolean yon_software_insert(struct row_data *row_input){
|
|
|
|
|
} else {
|
|
|
|
|
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(row->InstallCheck),0);
|
|
|
|
|
}
|
|
|
|
|
char *modules_param = config(modules_parameter);
|
|
|
|
|
if (modules_param&&!strcmp(modules_param,"auto")){
|
|
|
|
|
char *modules_prm = config(modules_parameter);
|
|
|
|
|
char *modules_param = NULL;
|
|
|
|
|
if (modules_prm&&!strcmp(modules_prm,"auto")){
|
|
|
|
|
int final_size;
|
|
|
|
|
config_str final = NULL;
|
|
|
|
|
for (int i=0;i<main_config.modules_size;i++){
|
|
|
|
|
|