Main components loading fix

pull/314/head
parent 9e624c3833
commit 447b7432df

@ -231,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);
}
@ -275,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;
@ -316,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 {
@ -325,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){
@ -437,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++){

@ -1593,4 +1593,5 @@ void on_software_uncheck_all(GtkWidget *, main_window *widgets);
gboolean on_kernel_enabled_toggled(GtkWidget *self, GdkEventButton *, kernel_row *row);
void on_status_update(GtkWidget *,main_window *widgets);
gboolean on_kernel_addon_menu_block(GObject *self, GdkEventButton *event);
void on_os_components_uncheck_all(GtkWidget *,main_window *widgets);
void on_os_components_uncheck_all(GtkWidget *,main_window *widgets);
gboolean yon_os_components_load(main_window *widgets);
Loading…
Cancel
Save