diff --git a/source/ubinstall-gtk-components.c b/source/ubinstall-gtk-components.c index 94c5416..2a2cae3 100644 --- a/source/ubinstall-gtk-components.c +++ b/source/ubinstall-gtk-components.c @@ -15,12 +15,14 @@ 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))){ - char *append_str = yon_char_replace(row->modules," ",","); - yon_config_append_elements(packages_parameter,append_str,","); - free(append_str); - active_size++; - if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(row->EnableRadio))){ - enabled_module = row->package; + 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); + active_size++; + if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(row->EnableRadio))){ + enabled_module = row->package; + } } } else { char *append_str = yon_char_replace(row->modules," ",","); @@ -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))){ - yon_config_append_elements(packages_parameter,row->modules,","); + 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,7 +372,9 @@ 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,",")){ - yon_config_append_elements(packages_parameter,target,","); + if (gtk_widget_get_sensitive(row->InstallCheck)){ + yon_config_append_elements(packages_parameter,target,","); + } } } else{ char *append_str = yon_char_replace(target," ",","); @@ -637,7 +643,7 @@ gboolean yon_pacman_fill(struct pacman_struct *pacman){ for (int i=0;ipacmanchosen,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; diff --git a/source/ubinstall-gtk-packages.c b/source/ubinstall-gtk-packages.c index 64a7e5f..e0f74a0 100644 --- a/source/ubinstall-gtk-packages.c +++ b/source/ubinstall-gtk-packages.c @@ -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){ - yon_config_append_elements(packages_parameter,package,","); + if (sensitive){ + yon_config_append_elements(packages_parameter,package,","); + } } else { yon_config_remove_elements(packages_parameter,package,","); }