|
|
|
|
@ -246,6 +246,37 @@ void on_kernel_parameter_switch(GtkCellRenderer *, char *path, main_window *widg
|
|
|
|
|
config_str parsed = yon_char_parse(config_param,&size," ");
|
|
|
|
|
switch (status){
|
|
|
|
|
case 0:{
|
|
|
|
|
if (strstr(parameter,"=")){
|
|
|
|
|
char *param_copy = yon_char_new(parameter);
|
|
|
|
|
char *cur_param = yon_char_divide_search(param_copy,"=",-1);
|
|
|
|
|
free(param_copy);
|
|
|
|
|
GtkTreeIter itar;
|
|
|
|
|
for_iter(GTK_TREE_MODEL(widgets->KernelParametersList),&itar){
|
|
|
|
|
char *target;
|
|
|
|
|
gtk_tree_model_get(GTK_TREE_MODEL(widgets->KernelParametersList),&itar,1,&target,-1);
|
|
|
|
|
GtkTreePath *cur_path=gtk_tree_model_get_path(GTK_TREE_MODEL(widgets->KernelParametersList),&iter), *compare_path=gtk_tree_model_get_path(GTK_TREE_MODEL(widgets->KernelParametersList),&itar);
|
|
|
|
|
if (strstr(target,cur_param)&&strstr(target,"=")&>k_tree_path_compare(cur_path,compare_path)){
|
|
|
|
|
gtk_list_store_set(widgets->KernelParametersList,&itar,0,0,-1);
|
|
|
|
|
int pos = yon_char_parsed_check_exist(parsed,size,target);
|
|
|
|
|
if (pos>-1){
|
|
|
|
|
if (size>1){
|
|
|
|
|
parsed = yon_char_parsed_rip(parsed,&size,pos);
|
|
|
|
|
char *final = yon_char_parsed_to_string(parsed,size," ");
|
|
|
|
|
yon_config_register(GRUB_CMDLINE_LINUX_parameter,GRUB_CMDLINE_LINUX_command,final);
|
|
|
|
|
gtk_entry_set_text(GTK_ENTRY(widgets->CommandLineParametersEntry),final);
|
|
|
|
|
free(final);
|
|
|
|
|
} else {
|
|
|
|
|
gtk_entry_set_text(GTK_ENTRY(widgets->CommandLineParametersEntry),"");
|
|
|
|
|
yon_config_remove_by_key(GRUB_CMDLINE_LINUX_parameter);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
gtk_tree_path_free(cur_path);
|
|
|
|
|
gtk_tree_path_free(compare_path);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
free(cur_param);
|
|
|
|
|
}
|
|
|
|
|
int pos = yon_char_parsed_check_exist(parsed,size,parameter);
|
|
|
|
|
if (pos == -1){
|
|
|
|
|
yon_char_parsed_add_or_create_if_exists(parsed,&size,parameter);
|
|
|
|
|
@ -400,7 +431,7 @@ void config_init(){
|
|
|
|
|
main_config.lock_save_global=0;
|
|
|
|
|
main_config.lock_save_local=0;
|
|
|
|
|
main_config.load_mode=1;
|
|
|
|
|
main_config.password_min_length=yon_password_get_min_len();
|
|
|
|
|
main_config.password_min_length = yon_password_get_min_len();
|
|
|
|
|
main_config.kernel_parameters = yon_resource_open_file(kernel_options_path,&main_config.kernel_size);
|
|
|
|
|
main_config.input_parameters = yon_resource_open_file(terminal_input_path,&main_config.input_size);
|
|
|
|
|
main_config.output_parameters = yon_resource_open_file(terminal_output_path,&main_config.output_size);
|
|
|
|
|
|