From 70da340f8593a534c0897e157e70f93916b4491d Mon Sep 17 00:00:00 2001 From: Ivan Dmitrievich Yartsev Date: Mon, 30 Mar 2026 17:53:10 +0600 Subject: [PATCH] Pacman page main components showed --- source/ubinstall-gtk-components.c | 64 ++++++++++++++++++++++++------- ubinstall-gtk.glade | 3 ++ 2 files changed, 54 insertions(+), 13 deletions(-) diff --git a/source/ubinstall-gtk-components.c b/source/ubinstall-gtk-components.c index e5085cb..b6246b1 100644 --- a/source/ubinstall-gtk-components.c +++ b/source/ubinstall-gtk-components.c @@ -527,8 +527,11 @@ int yon_pacman_software_save(main_window *widgets){ for_iter(model,&iter){ char *target; - gtk_tree_model_get(model,&iter,1,&target,-1); - yon_config_append_element(packages_parameter,target,","); + int sensitive=0; + gtk_tree_model_get(model,&iter,1,&target,6,&sensitive,-1); + if (sensitive){ + yon_config_append_element(packages_parameter,target,","); + } } if (!main_config.configure_mode){ int size; @@ -551,8 +554,9 @@ void yon_pacman_init(main_window *widgets){ } gtk_list_store_clear(widgets->PacmanSoftwareChosenList); char *pacman_packages = config(packages_parameter); + char *modules_packages = config(modules_parameter); - int size; + int size=0; config_str parsed = yon_char_parse(pacman_packages,&size,","); for (int i=0;iPacmanSoftwareChosenList,&iter); - gtk_list_store_set(widgets->PacmanSoftwareChosenList,&iter,0,1,1,parsed[i],2,version,3,_(description),4,size_str,-1); + gtk_list_store_set(widgets->PacmanSoftwareChosenList,&iter,0,1,1,parsed[i],2,version,3,_(description),4,size_str,6,1,-1); + free(size_str); + } + yon_char_parsed_free(parsed,size); + + size=0; + if (modules_packages&&!strcmp(modules_packages,"auto")){ + int final_size; + config_str final = NULL; + for (int i=0;iPacmanSoftwareChosenList,&iter); + gtk_list_store_set(widgets->PacmanSoftwareChosenList,&iter,0,1,1,parsed[i],2,version,3,_(description),4,size_str,6,0,-1); free(size_str); } yon_pacman_software_update_overall_size(widgets); @@ -590,9 +622,12 @@ void yon_pacman_software_update_overall_size(main_window *widgets){ GtkTreeModel *model = GTK_TREE_MODEL(widgets->PacmanSoftwareChosenList); for_iter(model, &iter){ char *name; - gtk_tree_model_get(model,&iter,1,&name,-1); - long size = yon_packages_get_installed_size(YON_PACKAGES_ALL,name); - pacman_size+=size; + int sensitive=0; + gtk_tree_model_get(model,&iter,1,&name,6,&sensitive,-1); + if (sensitive){ + long size = yon_packages_get_installed_size(YON_PACKAGES_ALL,name); + pacman_size+=size; + } } char *overall_str = NULL; if (pacman_size){ @@ -627,13 +662,16 @@ void yon_pacman_software_update_overall_size(main_window *widgets){ void on_pacman_software_chosen_toggled(GtkWidget *, char *path, main_window *widgets){ GtkTreeIter iter; char *name, *type, *description, *size_str; + int sensitive=0; gtk_tree_model_get_iter_from_string(GTK_TREE_MODEL(widgets->PacmanSoftwareChosenList),&iter,path); - gtk_tree_model_get(GTK_TREE_MODEL(widgets->PacmanSoftwareChosenList),&iter,1,&name,2,&type,3,&description,4,&size_str,-1); - gtk_list_store_remove(widgets->PacmanSoftwareChosenList,&iter); - gtk_list_store_append(widgets->PacmanSoftwareAllList,&iter); - gtk_list_store_set(widgets->PacmanSoftwareAllList,&iter,0,0,1,name,2,type,3,description,4,size_str,-1); - g_hash_table_remove(widgets->pacmanchosen,name); - yon_pacman_software_update_overall_size(widgets); + gtk_tree_model_get(GTK_TREE_MODEL(widgets->PacmanSoftwareChosenList),&iter,1,&name,2,&type,3,&description,4,&size_str,6,&sensitive,-1); + if (sensitive){ + gtk_list_store_remove(widgets->PacmanSoftwareChosenList,&iter); + gtk_list_store_append(widgets->PacmanSoftwareAllList,&iter); + gtk_list_store_set(widgets->PacmanSoftwareAllList,&iter,0,0,1,name,2,type,3,description,4,size_str,-1); + g_hash_table_remove(widgets->pacmanchosen,name); + yon_pacman_software_update_overall_size(widgets); + } } gboolean yon_pacman_fill(struct pacman_struct *pacman){ diff --git a/ubinstall-gtk.glade b/ubinstall-gtk.glade index 71a94da..001dd0c 100644 --- a/ubinstall-gtk.glade +++ b/ubinstall-gtk.glade @@ -247,6 +247,8 @@ + + @@ -3985,6 +3987,7 @@ Select a different installation source. + 6 0