|
|
|
@ -329,10 +329,47 @@ int yon_software_save(main_window *widgets){
|
|
|
|
return 1;
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
int yon_software_check_packages_size(GtkWidget *, main_window *widgets){
|
|
|
|
|
|
|
|
long pacman_size = 0;
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
GList *list = gtk_container_get_children(GTK_CONTAINER(widgets->AdditionalComponentsList));
|
|
|
|
|
|
|
|
GList *listiter;
|
|
|
|
|
|
|
|
for (listiter=list;listiter;listiter=listiter->next){
|
|
|
|
|
|
|
|
os_row *row = g_object_get_data(G_OBJECT(listiter->data),"kernel_row");
|
|
|
|
|
|
|
|
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(row->InstallCheck))){
|
|
|
|
|
|
|
|
long cur_size = yon_packages_get_installed_size(YON_PACKAGES_ALL,row->name);
|
|
|
|
|
|
|
|
pacman_size += cur_size;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
GtkTreeIter iter;
|
|
|
|
|
|
|
|
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;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
char *overall_str = NULL;
|
|
|
|
|
|
|
|
if (pacman_size){
|
|
|
|
|
|
|
|
overall_str = yon_size_long_convert_automatic_to_string(pacman_size);
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
overall_str = yon_char_unite("0 ",yon_size_get_name_from_letter('K'),NULL);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
gtk_label_set_text(GTK_LABEL(widgets->AdditionalComponentsOverallSizeLabel),overall_str);
|
|
|
|
|
|
|
|
if (!yon_char_is_empty(overall_str)) free(overall_str);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return 1;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
gboolean yon_software_insert(struct row_data *row_input){
|
|
|
|
gboolean yon_software_insert(struct row_data *row_input){
|
|
|
|
os_row *row = yon_os_row_new();
|
|
|
|
os_row *row = yon_os_row_new();
|
|
|
|
|
|
|
|
|
|
|
|
main_window *widgets = row_input->widgets;
|
|
|
|
main_window *widgets = row_input->widgets;
|
|
|
|
|
|
|
|
g_signal_connect(G_OBJECT(row->InstallCheck),"toggled",G_CALLBACK(yon_software_check_packages_size),widgets);
|
|
|
|
gtk_list_box_insert(GTK_LIST_BOX(widgets->AdditionalComponentsList),row->row,-1);
|
|
|
|
gtk_list_box_insert(GTK_LIST_BOX(widgets->AdditionalComponentsList),row->row,-1);
|
|
|
|
yon_os_row_setup(row,row_input->name,row_input->version,row_input->tags,_(row_input->description),NULL,row_input->size);
|
|
|
|
yon_os_row_setup(row,row_input->name,row_input->version,row_input->tags,_(row_input->description),NULL,row_input->size);
|
|
|
|
|
|
|
|
|
|
|
|
@ -384,25 +421,14 @@ void yon_software_init(main_window *widgets){
|
|
|
|
row->widgets=widgets;
|
|
|
|
row->widgets=widgets;
|
|
|
|
g_idle_add((GSourceFunc)yon_software_insert,row);
|
|
|
|
g_idle_add((GSourceFunc)yon_software_insert,row);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
// GList *languages = yon_packages_search_all("ubm-.*");
|
|
|
|
|
|
|
|
// for (iter=languages;iter;iter=iter->next){
|
|
|
|
|
|
|
|
// char *name = (char*)iter->data;
|
|
|
|
|
|
|
|
// yon_packages_info *info_struct = yon_package(YON_PACKAGES_ALL,name);
|
|
|
|
|
|
|
|
// struct row_data *row = malloc(sizeof(struct row_data));
|
|
|
|
|
|
|
|
// row->version = info_struct->version;
|
|
|
|
|
|
|
|
// row->name = info_struct->package_name;
|
|
|
|
|
|
|
|
// row->tags = info_struct->groups;
|
|
|
|
|
|
|
|
// row->description = info_struct->description;
|
|
|
|
|
|
|
|
// row->widgets=widgets;
|
|
|
|
|
|
|
|
// g_idle_add((GSourceFunc)yon_software_insert,row);
|
|
|
|
|
|
|
|
// yon_packages_info_struct_free(info_struct);
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
g_idle_add((GSourceFunc)yon_spinner_switch_off,widgets->OSSpinner);
|
|
|
|
g_idle_add((GSourceFunc)yon_spinner_switch_off,widgets->OSSpinner);
|
|
|
|
yon_char_parsed_free(base,base_size);
|
|
|
|
yon_char_parsed_free(base,base_size);
|
|
|
|
|
|
|
|
yon_software_check_packages_size(NULL,widgets);
|
|
|
|
return ;
|
|
|
|
return ;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
int yon_pacman_software_save(main_window *widgets){
|
|
|
|
int yon_pacman_software_save(main_window *widgets){
|
|
|
|
|
|
|
|
if (!yon_installation_check_packages_size(widgets)) return 0;
|
|
|
|
GtkTreeIter iter;
|
|
|
|
GtkTreeIter iter;
|
|
|
|
GtkTreeModel *model = GTK_TREE_MODEL(widgets->PacmanSoftwareChosenList);
|
|
|
|
GtkTreeModel *model = GTK_TREE_MODEL(widgets->PacmanSoftwareChosenList);
|
|
|
|
char *config_parameter = config(packages_parameter);
|
|
|
|
char *config_parameter = config(packages_parameter);
|
|
|
|
|