Added packages by groups page chosen on others pages shown

pull/300/head
parent 89195ac379
commit 8beac05978

@ -72,6 +72,18 @@ GtkTreeIter *yon_subcategory_check(GtkTreeStore *target, GtkTreeIter *parent_ite
void yon_packages_tab_init(main_window *widgets){ void yon_packages_tab_init(main_window *widgets){
gtk_tree_store_clear(widgets->PackagesList); 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;i<main_config.modules_size;i++){
int parsed_size=0;
config_str parsed = yon_char_parse(main_config.modules[i],&parsed_size,";");
yon_char_parsed_add_or_create_if_exists(final,&final_size,parsed[1]);
yon_char_parsed_free(parsed,parsed_size);
}
modules = yon_char_parsed_to_string(final,final_size,",");
}
int size; int size;
char *config_packages = config(packages_parameter); char *config_packages = config(packages_parameter);
@ -87,7 +99,7 @@ void yon_packages_tab_init(main_window *widgets){
GtkTreeIter package_iter; GtkTreeIter package_iter;
gtk_tree_store_append(widgets->PackagesList,&package_iter,subcategory_iter); gtk_tree_store_append(widgets->PackagesList,&package_iter,subcategory_iter);
char *full_string = yon_char_unite("<b>",parsed[2],"</b>\n",_(parsed[3]),NULL); char *full_string = yon_char_unite("<b>",parsed[2],"</b>\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); free(full_string);
gtk_tree_iter_free(subcategory_iter); gtk_tree_iter_free(subcategory_iter);
} else { } 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_set(widgets->PackagesList,&subcatiter,1,parsed[1],2,_(parsed[3]),3,0,-1);
gtk_tree_store_append(widgets->PackagesList,&package_iter,&subcatiter); gtk_tree_store_append(widgets->PackagesList,&package_iter,&subcatiter);
char *full_string = yon_char_unite("<b>",parsed[2],"</b>\n",_(parsed[3]),NULL); char *full_string = yon_char_unite("<b>",parsed[2],"</b>\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); free(full_string);
} }
} else { } else {
GtkTreeIter package_iter; GtkTreeIter package_iter;
gtk_tree_store_append(widgets->PackagesList,&package_iter,category_iter); gtk_tree_store_append(widgets->PackagesList,&package_iter,category_iter);
char *full_string = yon_char_unite("<b>",parsed[2],"</b>\n",_(parsed[3]),NULL); char *full_string = yon_char_unite("<b>",parsed[2],"</b>\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); free(full_string);
} }
gtk_tree_iter_free(category_iter); 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_set(widgets->PackagesList,&catiter,1,parsed[0],2,_(parsed[0]),3,0,-1);
gtk_tree_store_append(widgets->PackagesList,&package_iter,&catiter); gtk_tree_store_append(widgets->PackagesList,&package_iter,&catiter);
char *full_string = yon_char_unite("<b>",parsed[2],"</b>\n",_(parsed[3]),NULL); char *full_string = yon_char_unite("<b>",parsed[2],"</b>\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); free(full_string);
} }
} }
} }
if (!yon_char_is_empty(modules)) free(modules);
gtk_tree_view_expand_all(GTK_TREE_VIEW(widgets->PackagesTree)); gtk_tree_view_expand_all(GTK_TREE_VIEW(widgets->PackagesTree));
} }

@ -213,6 +213,8 @@
<column type="gchararray"/> <column type="gchararray"/>
<!-- column-name ChosenVisible --> <!-- column-name ChosenVisible -->
<column type="gboolean"/> <column type="gboolean"/>
<!-- column-name Sensitive -->
<column type="gboolean"/>
</columns> </columns>
</object> </object>
<object class="GtkListStore" id="PacmanSoftwareAllList"> <object class="GtkListStore" id="PacmanSoftwareAllList">
@ -7118,6 +7120,7 @@ Select a different installation source.</property>
<property name="yalign">0</property> <property name="yalign">0</property>
</object> </object>
<attributes> <attributes>
<attribute name="sensitive">4</attribute>
<attribute name="visible">3</attribute> <attribute name="visible">3</attribute>
<attribute name="active">0</attribute> <attribute name="active">0</attribute>
</attributes> </attributes>

Loading…
Cancel
Save