|
|
|
@ -527,9 +527,12 @@ int yon_pacman_software_save(main_window *widgets){
|
|
|
|
|
|
|
|
|
|
|
|
for_iter(model,&iter){
|
|
|
|
for_iter(model,&iter){
|
|
|
|
char *target;
|
|
|
|
char *target;
|
|
|
|
gtk_tree_model_get(model,&iter,1,&target,-1);
|
|
|
|
int sensitive=0;
|
|
|
|
|
|
|
|
gtk_tree_model_get(model,&iter,1,&target,6,&sensitive,-1);
|
|
|
|
|
|
|
|
if (sensitive){
|
|
|
|
yon_config_append_element(packages_parameter,target,",");
|
|
|
|
yon_config_append_element(packages_parameter,target,",");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
if (!main_config.configure_mode){
|
|
|
|
if (!main_config.configure_mode){
|
|
|
|
int size;
|
|
|
|
int size;
|
|
|
|
config_str parameters = yon_config_get_save_parameters_by_key(&size,packages_parameter,NULL);
|
|
|
|
config_str parameters = yon_config_get_save_parameters_by_key(&size,packages_parameter,NULL);
|
|
|
|
@ -551,8 +554,9 @@ void yon_pacman_init(main_window *widgets){
|
|
|
|
}
|
|
|
|
}
|
|
|
|
gtk_list_store_clear(widgets->PacmanSoftwareChosenList);
|
|
|
|
gtk_list_store_clear(widgets->PacmanSoftwareChosenList);
|
|
|
|
char *pacman_packages = config(packages_parameter);
|
|
|
|
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,",");
|
|
|
|
config_str parsed = yon_char_parse(pacman_packages,&size,",");
|
|
|
|
for (int i=0;i<size;i++){
|
|
|
|
for (int i=0;i<size;i++){
|
|
|
|
char *description = yon_packages_get_description(YON_PACKAGES_SYNC,parsed[i]);
|
|
|
|
char *description = yon_packages_get_description(YON_PACKAGES_SYNC,parsed[i]);
|
|
|
|
@ -563,7 +567,35 @@ void yon_pacman_init(main_window *widgets){
|
|
|
|
char *size_str = yon_char_unite(yon_char_from_double(size_converted)," ", yon_size_get_name_from_letter(mod),NULL);
|
|
|
|
char *size_str = yon_char_unite(yon_char_from_double(size_converted)," ", yon_size_get_name_from_letter(mod),NULL);
|
|
|
|
GtkTreeIter iter;
|
|
|
|
GtkTreeIter iter;
|
|
|
|
gtk_list_store_append(widgets->PacmanSoftwareChosenList,&iter);
|
|
|
|
gtk_list_store_append(widgets->PacmanSoftwareChosenList,&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;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_packages = yon_char_parsed_to_string(final,final_size,",");
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
parsed = yon_char_parse(modules_packages,&size,",");
|
|
|
|
|
|
|
|
for (int i=1;i<size;i++){
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
char *description = yon_packages_get_description(YON_PACKAGES_SYNC,parsed[i]);
|
|
|
|
|
|
|
|
char *version = yon_packages_get_version(YON_PACKAGES_SYNC,parsed[i]);
|
|
|
|
|
|
|
|
long pkgsize = yon_packages_get_installed_size(YON_PACKAGES_SYNC,parsed[i]);
|
|
|
|
|
|
|
|
char mod = '\n';
|
|
|
|
|
|
|
|
double size_converted = yon_size_long_convert_automatic(pkgsize,&mod);
|
|
|
|
|
|
|
|
char *size_str = yon_char_unite(yon_char_from_double(size_converted)," ", yon_size_get_name_from_letter(mod),NULL);
|
|
|
|
|
|
|
|
GtkTreeIter iter;
|
|
|
|
|
|
|
|
gtk_list_store_append(widgets->PacmanSoftwareChosenList,&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);
|
|
|
|
free(size_str);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
yon_pacman_software_update_overall_size(widgets);
|
|
|
|
yon_pacman_software_update_overall_size(widgets);
|
|
|
|
@ -590,10 +622,13 @@ void yon_pacman_software_update_overall_size(main_window *widgets){
|
|
|
|
GtkTreeModel *model = GTK_TREE_MODEL(widgets->PacmanSoftwareChosenList);
|
|
|
|
GtkTreeModel *model = GTK_TREE_MODEL(widgets->PacmanSoftwareChosenList);
|
|
|
|
for_iter(model, &iter){
|
|
|
|
for_iter(model, &iter){
|
|
|
|
char *name;
|
|
|
|
char *name;
|
|
|
|
gtk_tree_model_get(model,&iter,1,&name,-1);
|
|
|
|
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);
|
|
|
|
long size = yon_packages_get_installed_size(YON_PACKAGES_ALL,name);
|
|
|
|
pacman_size+=size;
|
|
|
|
pacman_size+=size;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
char *overall_str = NULL;
|
|
|
|
char *overall_str = NULL;
|
|
|
|
if (pacman_size){
|
|
|
|
if (pacman_size){
|
|
|
|
overall_str = yon_size_long_convert_automatic_to_string(pacman_size);
|
|
|
|
overall_str = yon_size_long_convert_automatic_to_string(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){
|
|
|
|
void on_pacman_software_chosen_toggled(GtkWidget *, char *path, main_window *widgets){
|
|
|
|
GtkTreeIter iter;
|
|
|
|
GtkTreeIter iter;
|
|
|
|
char *name, *type, *description, *size_str;
|
|
|
|
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_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_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_remove(widgets->PacmanSoftwareChosenList,&iter);
|
|
|
|
gtk_list_store_append(widgets->PacmanSoftwareAllList,&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);
|
|
|
|
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);
|
|
|
|
g_hash_table_remove(widgets->pacmanchosen,name);
|
|
|
|
yon_pacman_software_update_overall_size(widgets);
|
|
|
|
yon_pacman_software_update_overall_size(widgets);
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
gboolean yon_pacman_fill(struct pacman_struct *pacman){
|
|
|
|
gboolean yon_pacman_fill(struct pacman_struct *pacman){
|
|
|
|
|