|
|
|
|
@ -33,13 +33,30 @@ int yon_bootloader_save(main_window *widgets){
|
|
|
|
|
int size;
|
|
|
|
|
config_str users = yon_config_get_all_by_key(GRUB_PASSWORD_parameter_search,&size);
|
|
|
|
|
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_remove_by_key(GRUB_PASSWORD_parameter_all);
|
|
|
|
|
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);
|
|
|
|
|
return 1;
|
|
|
|
|
@ -447,6 +464,7 @@ void yon_bootloader_interface_update(main_window *widgets){
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void yon_bootloader_init(main_window *widgets){
|
|
|
|
|
gtk_list_store_clear(widgets->BootloadUsersList);
|
|
|
|
|
char *timeout = config(GRUB_TIMEOUT_parameter);
|
|
|
|
|
char *os = config(GRUB_DEFAULT_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);
|
|
|
|
|
}
|
|
|
|
|
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);
|
|
|
|
|
int admins_size;
|
|
|
|
|
config_str admins_parsed = yon_char_parse(admins,&admins_size,",");
|
|
|
|
|
|