From 8beac05978dc6543318a102a32d1f2903d7d7ac5 Mon Sep 17 00:00:00 2001 From: Ivan Dmitrievich Yartsev Date: Wed, 18 Mar 2026 13:33:26 +0600 Subject: [PATCH] Added packages by groups page chosen on others pages shown --- source/ubinstall-gtk-packages.c | 21 +++++++++++++++++---- ubinstall-gtk.glade | 3 +++ 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/source/ubinstall-gtk-packages.c b/source/ubinstall-gtk-packages.c index fa821bc..b63b730 100644 --- a/source/ubinstall-gtk-packages.c +++ b/source/ubinstall-gtk-packages.c @@ -72,6 +72,18 @@ GtkTreeIter *yon_subcategory_check(GtkTreeStore *target, GtkTreeIter *parent_ite void yon_packages_tab_init(main_window *widgets){ gtk_tree_store_clear(widgets->PackagesList); + char *modules = config(modules_parameter); + if (modules&&!strcmp(modules,"auto")){ + int final_size; + config_str final = NULL; + for (int i=0;iPackagesList,&package_iter,subcategory_iter); char *full_string = yon_char_unite("",parsed[2],"\n",_(parsed[3]),NULL); - gtk_tree_store_set(widgets->PackagesList,&package_iter,0,!!yon_char_check_element(config_packages,parsed[2],","),1,parsed[2],2,full_string,3,1,-1); + gtk_tree_store_set(widgets->PackagesList,&package_iter,0,!!yon_char_check_element(config_packages,parsed[2],","),1,parsed[2],2,full_string,3,1,4,yon_char_check_element(modules,parsed[2],","),-1); free(full_string); gtk_tree_iter_free(subcategory_iter); } else { @@ -97,14 +109,14 @@ void yon_packages_tab_init(main_window *widgets){ gtk_tree_store_set(widgets->PackagesList,&subcatiter,1,parsed[1],2,_(parsed[3]),3,0,-1); gtk_tree_store_append(widgets->PackagesList,&package_iter,&subcatiter); char *full_string = yon_char_unite("",parsed[2],"\n",_(parsed[3]),NULL); - gtk_tree_store_set(widgets->PackagesList,&package_iter,0,!!yon_char_check_element(config_packages,parsed[2],","),1,parsed[2],2,full_string,3,1,-1); + gtk_tree_store_set(widgets->PackagesList,&package_iter,0,!!yon_char_check_element(config_packages,parsed[2],","),1,parsed[2],2,full_string,3,1,4,yon_char_check_element(modules,parsed[2],","),-1); free(full_string); } } else { GtkTreeIter package_iter; gtk_tree_store_append(widgets->PackagesList,&package_iter,category_iter); char *full_string = yon_char_unite("",parsed[2],"\n",_(parsed[3]),NULL); - gtk_tree_store_set(widgets->PackagesList,&package_iter,0,!!yon_char_check_element(config_packages,parsed[2],","),1,parsed[2],2,full_string,3,1,-1); + gtk_tree_store_set(widgets->PackagesList,&package_iter,0,!!yon_char_check_element(config_packages,parsed[2],","),1,parsed[2],2,full_string,3,1,4,yon_char_check_element(modules,parsed[2],","),-1); free(full_string); } gtk_tree_iter_free(category_iter); @@ -128,11 +140,12 @@ void yon_packages_tab_init(main_window *widgets){ gtk_tree_store_set(widgets->PackagesList,&catiter,1,parsed[0],2,_(parsed[0]),3,0,-1); gtk_tree_store_append(widgets->PackagesList,&package_iter,&catiter); char *full_string = yon_char_unite("",parsed[2],"\n",_(parsed[3]),NULL); - gtk_tree_store_set(widgets->PackagesList,&package_iter,0,!!yon_char_check_element(config_packages,parsed[2],","),1,parsed[2],2,full_string,3,1,-1); + gtk_tree_store_set(widgets->PackagesList,&package_iter,0,!!yon_char_check_element(config_packages,parsed[2],","),1,parsed[2],2,full_string,3,1,4,yon_char_check_element(modules,parsed[2],","),-1); free(full_string); } } } + if (!yon_char_is_empty(modules)) free(modules); gtk_tree_view_expand_all(GTK_TREE_VIEW(widgets->PackagesTree)); } diff --git a/ubinstall-gtk.glade b/ubinstall-gtk.glade index 62937cb..afe4e1b 100644 --- a/ubinstall-gtk.glade +++ b/ubinstall-gtk.glade @@ -213,6 +213,8 @@ + + @@ -7118,6 +7120,7 @@ Select a different installation source. 0 + 4 3 0