|
|
|
|
@ -1,83 +1,5 @@
|
|
|
|
|
#include "ubinstall-gtk.h"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
int yon_kernel_save(main_window *widgets){
|
|
|
|
|
GList *list = gtk_container_get_children(GTK_CONTAINER(widgets->KernelListBox));
|
|
|
|
|
char *config_val = config(packages_parameter);
|
|
|
|
|
if (yon_char_is_empty(config_val)) {
|
|
|
|
|
char *old_packages = config(packages_parameter);
|
|
|
|
|
yon_config_register(packages_parameter,packages_parameter_command,NULL);
|
|
|
|
|
int status = yon_char_is_empty(old_packages);
|
|
|
|
|
yon_config_set_status(packages_parameter,status-1);
|
|
|
|
|
}
|
|
|
|
|
char *enabled_module = NULL;
|
|
|
|
|
int overall_size = 0;
|
|
|
|
|
int active_size = 0;
|
|
|
|
|
for(GList *iter = list;iter;iter = iter->next){
|
|
|
|
|
overall_size++;
|
|
|
|
|
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_widget_get_sensitive(row->InstallCheck)){
|
|
|
|
|
char *append_str = yon_char_replace(row->modules," ",",");
|
|
|
|
|
yon_config_append_elements(packages_parameter,append_str,",");
|
|
|
|
|
free(append_str);
|
|
|
|
|
active_size++;
|
|
|
|
|
}
|
|
|
|
|
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(row->EnableRadio))){
|
|
|
|
|
enabled_module = row->package;
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
char *append_str = yon_char_replace(row->modules," ",",");
|
|
|
|
|
yon_config_remove_elements(packages_parameter,append_str,",");
|
|
|
|
|
free(append_str);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (!yon_char_is_empty(enabled_module)){
|
|
|
|
|
yon_config_register(KERNEL_BOOT_parameter,KERNEL_BOOT_parameter_command,enabled_module);
|
|
|
|
|
} else {
|
|
|
|
|
yon_config_remove_by_key(KERNEL_BOOT_parameter);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (!main_config.configure_mode){
|
|
|
|
|
yon_debug_output("%s\n",yon_config_save_args_simple(main_config.config_load_path,packages_parameter, KERNEL_BOOT_parameter,NULL));
|
|
|
|
|
}
|
|
|
|
|
return 1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int yon_kernel_addon_save(main_window *widgets){
|
|
|
|
|
char *parameter = config(packages_parameter);
|
|
|
|
|
GList *list = gtk_container_get_children(GTK_CONTAINER(widgets->KernelAddonListBox));
|
|
|
|
|
if (yon_char_is_empty(parameter)){
|
|
|
|
|
yon_config_register(packages_parameter,packages_parameter_command,NULL);
|
|
|
|
|
}
|
|
|
|
|
for(GList *iter = list;iter;iter = iter->next){
|
|
|
|
|
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_widget_get_sensitive(row->InstallCheck)){
|
|
|
|
|
yon_config_append_elements(packages_parameter,row->modules,",");
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
char *append_str = yon_char_replace(row->modules," ",",");
|
|
|
|
|
yon_config_remove_elements(packages_parameter,row->modules,",");
|
|
|
|
|
free(append_str);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
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;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void on_os_components_uncheck_all(GtkWidget *,main_window *widgets){
|
|
|
|
|
int active = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->OSSoftwareUncheckAllCheck));
|
|
|
|
|
switch(active){
|
|
|
|
|
|