|
|
|
@ -12,7 +12,9 @@ int yon_kernel_save(main_window *widgets){
|
|
|
|
overall_size++;
|
|
|
|
overall_size++;
|
|
|
|
kernel_row *row = g_object_get_data(G_OBJECT(iter->data),"kernel_row");
|
|
|
|
kernel_row *row = g_object_get_data(G_OBJECT(iter->data),"kernel_row");
|
|
|
|
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(row->InstallCheck))){
|
|
|
|
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(row->InstallCheck))){
|
|
|
|
yon_config_append_element(packages_parameter,row->package,",");
|
|
|
|
char *append_str = yon_char_replace(row->modules," ",",");
|
|
|
|
|
|
|
|
yon_config_append_element(packages_parameter,append_str,",");
|
|
|
|
|
|
|
|
free(append_str);
|
|
|
|
active_size++;
|
|
|
|
active_size++;
|
|
|
|
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(row->EnableRadio))){
|
|
|
|
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(row->EnableRadio))){
|
|
|
|
enabled_module = row->package;
|
|
|
|
enabled_module = row->package;
|
|
|
|
@ -26,25 +28,44 @@ int yon_kernel_save(main_window *widgets){
|
|
|
|
yon_config_remove_by_key(KERNEL_BOOT_parameter);
|
|
|
|
yon_config_remove_by_key(KERNEL_BOOT_parameter);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (!main_config.configure_mode){
|
|
|
|
|
|
|
|
int size;
|
|
|
|
|
|
|
|
config_str parameters = yon_config_get_save_parameters_by_key(&size,packages_parameter, KERNEL_BOOT_parameter,NULL);
|
|
|
|
|
|
|
|
if (parameters){
|
|
|
|
|
|
|
|
char *command_parameters = yon_char_parsed_to_string(parameters,size," -- ");
|
|
|
|
|
|
|
|
char *command = yon_char_unite(ubconfig_dull_command,"--target system ",command_parameters,NULL);
|
|
|
|
|
|
|
|
if (!system(yon_debug_output("%s\n",command))){}
|
|
|
|
|
|
|
|
free(command);
|
|
|
|
|
|
|
|
yon_char_parsed_free(parameters,size);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
return 1;
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
int yon_kernel_addon_save(main_window *widgets){
|
|
|
|
int yon_kernel_addon_save(main_window *widgets){
|
|
|
|
char *parameter = config(packages_parameter);
|
|
|
|
char *parameter = config(packages_parameter);
|
|
|
|
GList *list = gtk_container_get_children(GTK_CONTAINER(widgets->KernelAddonListBox));
|
|
|
|
GList *list = gtk_container_get_children(GTK_CONTAINER(widgets->KernelAddonListBox));
|
|
|
|
char *install_modules = yon_char_new(parameter);
|
|
|
|
if (yon_char_is_empty(parameter)){
|
|
|
|
|
|
|
|
yon_config_register(packages_parameter,packages_parameter_command,NULL);
|
|
|
|
|
|
|
|
}
|
|
|
|
for(GList *iter = list;iter;iter = iter->next){
|
|
|
|
for(GList *iter = list;iter;iter = iter->next){
|
|
|
|
kernel_addon_row *row = g_object_get_data(G_OBJECT(iter->data),"kernel_row");
|
|
|
|
kernel_addon_row *row = g_object_get_data(G_OBJECT(iter->data),"kernel_row");
|
|
|
|
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(row->InstallCheck))){
|
|
|
|
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(row->InstallCheck))){
|
|
|
|
char *temp = yon_char_append_element(install_modules,row->modules," ");
|
|
|
|
yon_config_append_element(packages_parameter,row->modules," ");
|
|
|
|
if (!yon_char_is_empty(install_modules)) free(install_modules);
|
|
|
|
|
|
|
|
install_modules = temp;
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
if (!yon_char_is_empty(install_modules)){
|
|
|
|
if (!main_config.configure_mode){
|
|
|
|
yon_config_register(packages_parameter,packages_parameter_command,install_modules);
|
|
|
|
int size;
|
|
|
|
free(install_modules);
|
|
|
|
config_str parameters = yon_config_get_save_parameters_by_key(&size,packages_parameter, KERNEL_BOOT_parameter,NULL);
|
|
|
|
|
|
|
|
if (parameters){
|
|
|
|
|
|
|
|
char *command_parameters = yon_char_parsed_to_string(parameters,size," -- ");
|
|
|
|
|
|
|
|
char *command = yon_char_unite(ubconfig_dull_command,"--target system ",command_parameters,NULL);
|
|
|
|
|
|
|
|
if (!system(yon_debug_output("%s\n",command))){}
|
|
|
|
|
|
|
|
free(command);
|
|
|
|
|
|
|
|
yon_char_parsed_free(parameters,size);
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 1;
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
@ -115,6 +136,17 @@ int yon_os_components_save(main_window *widgets){
|
|
|
|
yon_ubl_status_box_spawn(GTK_CONTAINER(widgets->StatusBox),NOTHING_CHOSEN_LABEL,5,BACKGROUND_IMAGE_INFO_TYPE);
|
|
|
|
yon_ubl_status_box_spawn(GTK_CONTAINER(widgets->StatusBox),NOTHING_CHOSEN_LABEL,5,BACKGROUND_IMAGE_INFO_TYPE);
|
|
|
|
yon_ubl_status_highlight_incorrect(widgets->OSSoftwareListBox);
|
|
|
|
yon_ubl_status_highlight_incorrect(widgets->OSSoftwareListBox);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
if (!main_config.configure_mode){
|
|
|
|
|
|
|
|
int size;
|
|
|
|
|
|
|
|
config_str parameters = yon_config_get_save_parameters_by_key(&size,modules_parameter,NULL);
|
|
|
|
|
|
|
|
if (parameters){
|
|
|
|
|
|
|
|
char *command_parameters = yon_char_parsed_to_string(parameters,size," -- ");
|
|
|
|
|
|
|
|
char *command = yon_char_unite(ubconfig_dull_command,"--target system ",command_parameters,NULL);
|
|
|
|
|
|
|
|
if (!system(yon_debug_output("%s\n",command))){}
|
|
|
|
|
|
|
|
free(command);
|
|
|
|
|
|
|
|
yon_char_parsed_free(parameters,size);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
return 1;
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@ -283,6 +315,53 @@ int yon_software_save(main_window *widgets){
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
g_list_free(list);
|
|
|
|
g_list_free(list);
|
|
|
|
|
|
|
|
if (!main_config.configure_mode){
|
|
|
|
|
|
|
|
int size;
|
|
|
|
|
|
|
|
config_str parameters = yon_config_get_save_parameters_by_key(&size,packages_parameter,NULL);
|
|
|
|
|
|
|
|
if (parameters){
|
|
|
|
|
|
|
|
char *command_parameters = yon_char_parsed_to_string(parameters,size," -- ");
|
|
|
|
|
|
|
|
char *command = yon_char_unite(ubconfig_dull_command,"--target system ",command_parameters,NULL);
|
|
|
|
|
|
|
|
if (!system(yon_debug_output("%s\n",command))){}
|
|
|
|
|
|
|
|
free(command);
|
|
|
|
|
|
|
|
yon_char_parsed_free(parameters,size);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
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;
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@ -290,6 +369,7 @@ 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);
|
|
|
|
|
|
|
|
|
|
|
|
@ -341,40 +421,35 @@ 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);
|
|
|
|
int size;
|
|
|
|
char *config_parameter = config(packages_parameter);
|
|
|
|
config_str parameters = NULL;
|
|
|
|
if (yon_char_is_empty(config_parameter)){
|
|
|
|
|
|
|
|
yon_config_register(packages_parameter,packages_parameter_command,NULL);
|
|
|
|
|
|
|
|
}
|
|
|
|
for_iter(model,&iter){
|
|
|
|
for_iter(model,&iter){
|
|
|
|
char *target;
|
|
|
|
char *target;
|
|
|
|
gtk_tree_model_get(model,&iter,1,&target,-1);
|
|
|
|
gtk_tree_model_get(model,&iter,1,&target,-1);
|
|
|
|
yon_char_parsed_add_or_create_if_exists(parameters,&size,target);
|
|
|
|
yon_config_append_element(packages_parameter,target,",");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
char *final = yon_char_parsed_to_string(parameters,size,",");
|
|
|
|
if (!main_config.configure_mode){
|
|
|
|
|
|
|
|
int size;
|
|
|
|
|
|
|
|
config_str parameters = yon_config_get_save_parameters_by_key(&size,packages_parameter,NULL);
|
|
|
|
|
|
|
|
if (parameters){
|
|
|
|
|
|
|
|
char *command_parameters = yon_char_parsed_to_string(parameters,size," -- ");
|
|
|
|
|
|
|
|
char *command = yon_char_unite(ubconfig_dull_command,"--target system ",command_parameters,NULL);
|
|
|
|
|
|
|
|
if (!system(yon_debug_output("%s\n",command))){}
|
|
|
|
|
|
|
|
free(command);
|
|
|
|
yon_char_parsed_free(parameters,size);
|
|
|
|
yon_char_parsed_free(parameters,size);
|
|
|
|
if (!yon_char_is_empty(final)){
|
|
|
|
}
|
|
|
|
yon_config_register(packages_parameter,packages_parameter_command,final);
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
yon_config_remove_by_key(packages_parameter);
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 1;
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|