Fixed bootloader page saving & loading

pull/284/head
parent facc544d82
commit d4e1e3361b

@ -33,13 +33,30 @@ int yon_bootloader_save(main_window *widgets){
int size; int size;
config_str users = yon_config_get_all_by_key(GRUB_PASSWORD_parameter_search,&size); config_str users = yon_config_get_all_by_key(GRUB_PASSWORD_parameter_search,&size);
for (int i=0;i<size;i++){ for (int i=0;i<size;i++){
yon_config_remove_by_key(GRUB_PASSWORD_parameter(users[i])); char *parameter = yon_char_divide_search(users[i],"=",-1);
yon_config_remove_by_key(parameter);
free(parameter);
} }
yon_config_register(AUTOLOGINUSER_parameter,AUTOLOGINUSER_parameter_command,"yes"); yon_config_register(AUTOLOGINUSER_parameter,AUTOLOGINUSER_parameter_command,"yes");
yon_config_remove_by_key(GRUB_PASSWORD_parameter_all); yon_config_remove_by_key(GRUB_PASSWORD_parameter_all);
yon_config_remove_by_key(GRUB_SUPERUSERS_parameter); yon_config_remove_by_key(GRUB_SUPERUSERS_parameter);
yon_char_parsed_free(users,size);
} }
if (!main_config.configure_mode){
int user_size=0;
config_str users = yon_config_get_all_by_key(GRUB_PASSWORD_parameter_search,&user_size);
char *user_string = yon_char_parsed_to_string(users,user_size," ");
int size;
config_str parameters = yon_config_get_save_parameters_by_key(&size,GRUB_TIMEOUT_parameter,AUTOLOGINUSER_parameter,GRUB_SUPERUSERS_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, " ", user_string, NULL);
if (!system(yon_debug_output("%s\n",command))){}
free(command);
yon_char_parsed_free(parameters,size);
}
}
yon_bootloader_interface_update(widgets); yon_bootloader_interface_update(widgets);
return 1; return 1;
@ -447,6 +464,7 @@ void yon_bootloader_interface_update(main_window *widgets){
} }
void yon_bootloader_init(main_window *widgets){ void yon_bootloader_init(main_window *widgets){
gtk_list_store_clear(widgets->BootloadUsersList);
char *timeout = config(GRUB_TIMEOUT_parameter); char *timeout = config(GRUB_TIMEOUT_parameter);
char *os = config(GRUB_DEFAULT_parameter); char *os = config(GRUB_DEFAULT_parameter);
char *autologin = config(AUTOLOGINUSER_parameter); char *autologin = config(AUTOLOGINUSER_parameter);
@ -471,7 +489,6 @@ void yon_bootloader_init(main_window *widgets){
gtk_entry_set_text(GTK_ENTRY(widgets->BootloadDefaultOSEntry),DEFAULT_BOOTLOAD_MENU_ITEM_LABEL); gtk_entry_set_text(GTK_ENTRY(widgets->BootloadDefaultOSEntry),DEFAULT_BOOTLOAD_MENU_ITEM_LABEL);
} }
if (!yon_char_is_empty(autologin)&&(!strcmp(autologin,"no")||!strcmp(autologin,"disable"))){ if (!yon_char_is_empty(autologin)&&(!strcmp(autologin,"no")||!strcmp(autologin,"disable"))){
gtk_list_store_clear(widgets->BootloadUsersList);
gtk_switch_set_active(GTK_SWITCH(widgets->BootloadNoPasswordSwitch),0); gtk_switch_set_active(GTK_SWITCH(widgets->BootloadNoPasswordSwitch),0);
int admins_size; int admins_size;
config_str admins_parsed = yon_char_parse(admins,&admins_size,","); config_str admins_parsed = yon_char_parse(admins,&admins_size,",");

Loading…
Cancel
Save