Fixed packages saving

pull/336/head
parent 1fa79eb446
commit a45f0a3479

@ -15,6 +15,7 @@ int yon_kernel_save(main_window *widgets){
overall_size++;
kernel_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_widget_get_sensitive(row->InstallCheck)){
char *append_str = yon_char_replace(row->modules," ",",");
yon_config_append_elements(packages_parameter,append_str,",");
free(append_str);
@ -22,6 +23,7 @@ int yon_kernel_save(main_window *widgets){
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(row->EnableRadio))){
enabled_module = row->package;
}
}
} else {
char *append_str = yon_char_replace(row->modules," ",",");
yon_config_remove_elements(packages_parameter,append_str,",");
@ -51,7 +53,9 @@ int yon_kernel_addon_save(main_window *widgets){
for(GList *iter = list;iter;iter = iter->next){
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_widget_get_sensitive(row->InstallCheck)){
yon_config_append_elements(packages_parameter,row->modules,",");
}
} else {
char *append_str = yon_char_replace(row->modules," ",",");
yon_config_remove_elements(packages_parameter,row->modules,",");
@ -368,8 +372,10 @@ int yon_software_save(main_window *widgets){
int status = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(row->InstallCheck));
if (status){
if (!yon_char_check_element(config_val,target,",")){
if (gtk_widget_get_sensitive(row->InstallCheck)){
yon_config_append_elements(packages_parameter,target,",");
}
}
} else{
char *append_str = yon_char_replace(target," ",",");
yon_config_remove_elements(packages_parameter,target,",");
@ -637,7 +643,7 @@ gboolean yon_pacman_fill(struct pacman_struct *pacman){
for (int i=0;i<size;i++){
if (g_hash_table_contains(widgets->pacmanchosen,loaded[i])) continue;
if (yon_char_is_empty(loaded[i])||g_hash_table_contains(widgets->pacmanchosen,loaded[i])) continue;
char *version = yon_packages_get_version(YON_PACKAGES_SYNC,loaded[i]);
char *description = yon_packages_get_description(YON_PACKAGES_SYNC,loaded[i]);
GtkTreeIter iter;

@ -9,9 +9,11 @@ int yon_packages_tab_save(main_window *widgets){
for_iter(widgets->PackagesList,&parentiter){
for (int valid2 = gtk_tree_model_iter_children(GTK_TREE_MODEL(widgets->PackagesList),&subiter,&parentiter);valid2;valid2 = gtk_tree_model_iter_next(GTK_TREE_MODEL(widgets->PackagesList),&subiter)){
int selectable, status;
int sensitive=0;
char *package;
gtk_tree_model_get(GTK_TREE_MODEL(widgets->PackagesList),&subiter,0,&status,1,&package,3,&selectable,-1);
gtk_tree_model_get(GTK_TREE_MODEL(widgets->PackagesList),&subiter,0,&status,1,&package,3,&selectable,4,&sensitive,-1);
if (selectable&&status){
yon_config_append_elements(packages_parameter,package,",");
}else if (selectable&&!status){
yon_config_remove_elements(packages_parameter,package,",");
@ -19,7 +21,9 @@ int yon_packages_tab_save(main_window *widgets){
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);
if (status){
if (sensitive){
yon_config_append_elements(packages_parameter,package,",");
}
} else {
yon_config_remove_elements(packages_parameter,package,",");
}

Loading…
Cancel
Save