Fixed loading modules, installed from [modules] for other package/module installation window

pull/357/head
parent eb4af89138
commit 90f4b44a35

@ -453,7 +453,7 @@ gboolean yon_software_insert(struct row_data *row_input){
char *modules_prm = config(modules_parameter); char *modules_prm = config(modules_parameter);
char *modules_param = NULL; char *modules_param = NULL;
if (modules_prm&&!strcmp(modules_prm,"auto")){ if (modules_prm&&!strcmp(modules_prm,"auto")){
int final_size; int final_size = 0;
config_str final = NULL; config_str final = NULL;
for (int i=0;i<main_config.modules_size;i++){ for (int i=0;i<main_config.modules_size;i++){
int parsed_size=0; int parsed_size=0;
@ -462,6 +462,18 @@ gboolean yon_software_insert(struct row_data *row_input){
yon_char_parsed_free(parsed,parsed_size); yon_char_parsed_free(parsed,parsed_size);
} }
modules_param = yon_char_parsed_to_string(final,final_size,","); modules_param = yon_char_parsed_to_string(final,final_size,",");
} else if (!yon_char_is_empty(modules_prm)){
int final_size = 0;
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,";");
if (yon_char_check_element(modules_prm,parsed[0],",")){
yon_char_parsed_add_or_create_if_exists(final,&final_size,parsed[1]);
}
yon_char_parsed_free(parsed,parsed_size);
}
modules_param = yon_char_parsed_to_string(final,final_size,",");
} }
if (yon_char_check_elements(modules_param,row_input->name,",")){ if (yon_char_check_elements(modules_param,row_input->name,",")){
gtk_widget_set_sensitive(row->InstallCheck,0); gtk_widget_set_sensitive(row->InstallCheck,0);
@ -583,6 +595,18 @@ void yon_pacman_init(main_window *widgets){
yon_char_parsed_free(parsed,parsed_size); yon_char_parsed_free(parsed,parsed_size);
} }
modules_packages = yon_char_parsed_to_string(final,final_size,","); modules_packages = yon_char_parsed_to_string(final,final_size,",");
} else if (!yon_char_is_empty(modules_packages)){
int final_size = 0;
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,";");
if (yon_char_check_element(modules_packages,parsed[0],",")){
yon_char_parsed_add_or_create_if_exists(final,&final_size,parsed[1]);
}
yon_char_parsed_free(parsed,parsed_size);
}
modules_packages = yon_char_parsed_to_string(final,final_size,",");
} }
parsed = yon_char_parse(modules_packages,&size,","); parsed = yon_char_parse(modules_packages,&size,",");
for (int i=1;i<size;i++){ for (int i=1;i<size;i++){

@ -89,6 +89,18 @@ void yon_packages_tab_init(main_window *widgets){
yon_char_parsed_free(parsed,parsed_size); yon_char_parsed_free(parsed,parsed_size);
} }
modules = yon_char_parsed_to_string(final,final_size,","); modules = yon_char_parsed_to_string(final,final_size,",");
} else if (!yon_char_is_empty(modules)){
int final_size = 0;
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,";");
if (yon_char_check_element(modules,parsed[0],",")){
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);

Loading…
Cancel
Save