|
|
|
|
@ -3,14 +3,17 @@
|
|
|
|
|
|
|
|
|
|
int yon_kernel_save(main_window *widgets){
|
|
|
|
|
GList *list = gtk_container_get_children(GTK_CONTAINER(widgets->KernelListBox));
|
|
|
|
|
char *install_modules = "";
|
|
|
|
|
char *config_val = config(modules_extra_parameter);
|
|
|
|
|
if (yon_char_is_empty(config_val)) yon_config_register(modules_extra_parameter,modules_extra_parameter_command,"");
|
|
|
|
|
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))){
|
|
|
|
|
char *temp = yon_char_unite(install_modules,!yon_char_is_empty(install_modules)?" ":"",row->modules,NULL);
|
|
|
|
|
if (!yon_char_is_empty(install_modules)) free(install_modules);
|
|
|
|
|
install_modules = temp;
|
|
|
|
|
yon_config_append_element(modules_extra_parameter,row->package,",");
|
|
|
|
|
active_size++;
|
|
|
|
|
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(row->EnableRadio))){
|
|
|
|
|
enabled_module = row->package;
|
|
|
|
|
}
|
|
|
|
|
@ -18,28 +21,12 @@ int yon_kernel_save(main_window *widgets){
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (yon_char_is_empty(enabled_module)){
|
|
|
|
|
yon_ubl_status_box_spawn(GTK_CONTAINER(widgets->StatusBox),ENABLED_KERNEL_MISSING_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE);
|
|
|
|
|
return 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (!yon_char_is_empty(install_modules)){
|
|
|
|
|
yon_config_register(modules_extra_parameter,modules_extra_parameter_command,install_modules);
|
|
|
|
|
yon_config_register(KERNEL_BOOT_parameter,KERNEL_BOOT_parameter_command,enabled_module);
|
|
|
|
|
} else {
|
|
|
|
|
yon_config_remove_by_key(modules_extra_parameter);
|
|
|
|
|
}
|
|
|
|
|
yon_config_register(KERNEL_BOOT_parameter,KERNEL_BOOT_parameter_command,enabled_module);
|
|
|
|
|
if (!main_config.configure_mode){
|
|
|
|
|
int size;
|
|
|
|
|
config_str parameters = yon_config_get_save_parameters_by_key(&size,modules_extra_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);
|
|
|
|
|
}
|
|
|
|
|
yon_config_remove_by_key(KERNEL_BOOT_parameter);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return 1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -61,17 +48,6 @@ int yon_kernel_addon_save(main_window *widgets){
|
|
|
|
|
yon_config_register(modules_extra_parameter,modules_extra_parameter_command,install_modules);
|
|
|
|
|
free(install_modules);
|
|
|
|
|
}
|
|
|
|
|
if (!main_config.configure_mode){
|
|
|
|
|
int size;
|
|
|
|
|
config_str parameters = yon_config_get_save_parameters_by_key(&size,modules_extra_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;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -99,17 +75,6 @@ int yon_os_components_save(main_window *widgets){
|
|
|
|
|
} else {
|
|
|
|
|
yon_config_remove_by_key(modules_parameter);
|
|
|
|
|
}
|
|
|
|
|
if (!main_config.configure_mode){
|
|
|
|
|
int parameters_size;
|
|
|
|
|
config_str parameters = yon_config_get_save_parameters_by_key(¶meters_size,modules_parameter,NULL);
|
|
|
|
|
if (parameters){
|
|
|
|
|
char *command_parameters = yon_char_parsed_to_string(parameters,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,parameters_size);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return 1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -126,8 +91,6 @@ os_row *yon_os_row_new(){
|
|
|
|
|
row->modules=NULL;
|
|
|
|
|
row->version=NULL;
|
|
|
|
|
|
|
|
|
|
g_signal_connect(G_OBJECT(row->InstallCheck),"toggled",G_CALLBACK(on_kernel_install_enabled),row);
|
|
|
|
|
|
|
|
|
|
row->row = gtk_list_box_row_new();
|
|
|
|
|
gtk_container_add(GTK_CONTAINER(row->row),row->RowBox);
|
|
|
|
|
gtk_widget_show(row->row);
|
|
|
|
|
@ -235,43 +198,45 @@ void yon_os_components_init(main_window *widgets){
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int yon_software_save(main_window *){
|
|
|
|
|
// GtkTreeIter iter;
|
|
|
|
|
// GtkTreeModel *model = GTK_TREE_MODEL(widgets->AdditionalSoftwareList);
|
|
|
|
|
// int size = 0;
|
|
|
|
|
// config_str modules = NULL;
|
|
|
|
|
// for_iter(model,&iter){
|
|
|
|
|
// char *target;
|
|
|
|
|
// int status;
|
|
|
|
|
// gtk_tree_model_get(model,&iter,0,&status,1,&target,-1);
|
|
|
|
|
// if (status){
|
|
|
|
|
// yon_char_parsed_add_or_create_if_exists(modules,&size,target);
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
// if (size){
|
|
|
|
|
// char *final = yon_char_parsed_to_string(modules,size,",");
|
|
|
|
|
// char *parameter = config(modules_extra_parameter);
|
|
|
|
|
// char *parameter_new = yon_char_unite(!yon_char_is_empty(parameter)?parameter:"",!yon_char_is_empty(parameter)?",":"",final,NULL);
|
|
|
|
|
// yon_config_register(modules_extra_parameter,modules_extra_parameter_command,parameter_new);
|
|
|
|
|
// free(parameter_new);
|
|
|
|
|
// }
|
|
|
|
|
// if (!main_config.configure_mode){
|
|
|
|
|
// int size;
|
|
|
|
|
// config_str parameters = yon_config_get_save_parameters_by_key(&size,modules_extra_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);
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
int yon_software_save(main_window *widgets){
|
|
|
|
|
GList *list = gtk_container_get_children(GTK_CONTAINER(widgets->AdditionalComponentsList));
|
|
|
|
|
GList *iter;
|
|
|
|
|
char *config_val = config(modules_extra_parameter);
|
|
|
|
|
for(iter = list;iter;iter=iter->next){
|
|
|
|
|
os_row *row = g_object_get_data(iter->data,"kernel_row");
|
|
|
|
|
char *target = row->name;
|
|
|
|
|
int status = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(row->InstallCheck));
|
|
|
|
|
if (status){
|
|
|
|
|
if (!yon_char_check_element(config_val,target,",")){
|
|
|
|
|
yon_config_append_element(modules_extra_parameter,target,",");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
g_list_free(list);
|
|
|
|
|
return 1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
gboolean yon_software_insert(struct row_data *row_input){
|
|
|
|
|
os_row *row = yon_os_row_new();
|
|
|
|
|
|
|
|
|
|
main_window *widgets = row_input->widgets;
|
|
|
|
|
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);
|
|
|
|
|
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(row->InstallCheck),0);
|
|
|
|
|
return G_SOURCE_REMOVE;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void yon_software_init(main_window *widgets){
|
|
|
|
|
|
|
|
|
|
GList *list = gtk_container_get_children(GTK_CONTAINER(widgets->AdditionalComponentsList));
|
|
|
|
|
GList *iter;
|
|
|
|
|
for (iter=list;iter;iter=iter->next){
|
|
|
|
|
os_row *row = g_object_get_data(iter->data,"kernel_row");
|
|
|
|
|
free(row);
|
|
|
|
|
gtk_widget_destroy(GTK_WIDGET(iter->data));
|
|
|
|
|
}
|
|
|
|
|
int base_size;
|
|
|
|
|
config_str base = yon_config_load(get_modules_command,&base_size);
|
|
|
|
|
config_str base = yon_config_load(get_available_modules_command,&base_size);
|
|
|
|
|
for (int i=0;i<base_size;i++){
|
|
|
|
|
yon_char_remove_last_symbol(base[i],'\n');
|
|
|
|
|
int parsed_size;
|
|
|
|
|
@ -282,7 +247,7 @@ void yon_software_init(main_window *widgets){
|
|
|
|
|
row->tags = yon_char_replace(parsed[2]," ",", ");
|
|
|
|
|
row->description = parsed[3];
|
|
|
|
|
row->widgets=widgets;
|
|
|
|
|
g_idle_add((GSourceFunc)yon_os_component_insert,row);
|
|
|
|
|
g_idle_add((GSourceFunc)yon_software_insert,row);
|
|
|
|
|
}
|
|
|
|
|
g_idle_add((GSourceFunc)yon_spinner_switch_off,widgets->OSSpinner);
|
|
|
|
|
yon_char_parsed_free(base,base_size);
|
|
|
|
|
@ -306,17 +271,6 @@ int yon_pacman_software_save(main_window *widgets){
|
|
|
|
|
} else {
|
|
|
|
|
yon_config_remove_by_key(packages_parameter);
|
|
|
|
|
}
|
|
|
|
|
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;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|