Fixed software by groups page saving

pull/284/head
parent b545b9f888
commit facc544d82

@ -46,20 +46,20 @@ int yon_kernel_save(main_window *widgets){
int yon_kernel_addon_save(main_window *widgets){ int yon_kernel_addon_save(main_window *widgets){
char *parameter = config(packages_parameter); char *parameter = config(packages_parameter);
GList *list = gtk_container_get_children(GTK_CONTAINER(widgets->KernelAddonListBox)); GList *list = gtk_container_get_children(GTK_CONTAINER(widgets->KernelAddonListBox));
char *install_modules = yon_char_new(parameter); if (yon_char_is_empty(parameter)){
yon_config_register(packages_parameter,packages_parameter_command,NULL);
}
for(GList *iter = list;iter;iter = iter->next){ for(GList *iter = list;iter;iter = iter->next){
kernel_addon_row *row = g_object_get_data(G_OBJECT(iter->data),"kernel_row"); kernel_addon_row *row = g_object_get_data(G_OBJECT(iter->data),"kernel_row");
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(row->InstallCheck))){ if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(row->InstallCheck))){
char *temp = yon_char_append_element(install_modules,row->modules," "); yon_config_append_element(packages_parameter,row->modules," ");
if (!yon_char_is_empty(install_modules)) free(install_modules);
install_modules = temp;
} }
} }
if (!yon_char_is_empty(install_modules)){ // if (!yon_char_is_empty(install_modules)){
yon_config_register(packages_parameter,packages_parameter_command,install_modules); // yon_config_register(packages_parameter,packages_parameter_command,install_modules);
free(install_modules); // free(install_modules);
} // }
return 1; return 1;
} }
@ -376,19 +376,14 @@ void yon_software_init(main_window *widgets){
int yon_pacman_software_save(main_window *widgets){ int yon_pacman_software_save(main_window *widgets){
GtkTreeIter iter; GtkTreeIter iter;
GtkTreeModel *model = GTK_TREE_MODEL(widgets->PacmanSoftwareChosenList); GtkTreeModel *model = GTK_TREE_MODEL(widgets->PacmanSoftwareChosenList);
int size; char *config_parameter = config(packages_parameter);
config_str parameters = NULL; if (yon_char_is_empty(config_parameter)){
yon_config_register(packages_parameter,packages_parameter_command,NULL);
}
for_iter(model,&iter){ for_iter(model,&iter){
char *target; char *target;
gtk_tree_model_get(model,&iter,1,&target,-1); gtk_tree_model_get(model,&iter,1,&target,-1);
yon_char_parsed_add_or_create_if_exists(parameters,&size,target); yon_config_append_element(packages_parameter,target,",");
}
char *final = yon_char_parsed_to_string(parameters,size,",");
yon_char_parsed_free(parameters,size);
if (!yon_char_is_empty(final)){
yon_config_register(packages_parameter,packages_parameter_command,final);
} else {
yon_config_remove_by_key(packages_parameter);
} }
return 1; return 1;
} }

@ -15,11 +15,13 @@ int yon_packages_tab_save(main_window *widgets){
} else { } else {
for (int valid3 = gtk_tree_model_iter_children(GTK_TREE_MODEL(widgets->PackagesList),&packiter,&subiter);valid3;valid3 = gtk_tree_model_iter_next(GTK_TREE_MODEL(widgets->PackagesList),&packiter)){ for (int valid3 = gtk_tree_model_iter_children(GTK_TREE_MODEL(widgets->PackagesList),&packiter,&subiter);valid3;valid3 = gtk_tree_model_iter_next(GTK_TREE_MODEL(widgets->PackagesList),&packiter)){
gtk_tree_model_get(GTK_TREE_MODEL(widgets->PackagesList),&packiter,0,&status,1,&package,3,&selectable,-1); gtk_tree_model_get(GTK_TREE_MODEL(widgets->PackagesList),&packiter,0,&status,1,&package,3,&selectable,-1);
if (status){
yon_config_append_element(packages_parameter,package,","); yon_config_append_element(packages_parameter,package,",");
} }
} }
} }
} }
}
return 1; return 1;
} }

Loading…
Cancel
Save