diff --git a/source/ubinstall-gtk-users.c b/source/ubinstall-gtk-users.c index 2ccc42c..d34a0f6 100644 --- a/source/ubinstall-gtk-users.c +++ b/source/ubinstall-gtk-users.c @@ -55,6 +55,7 @@ int yon_users_save(main_window *widgets){ yon_char_parsed_add_or_create_if_exists(users,&users_size,root_password_parameter); yon_char_parsed_add_or_create_if_exists(users,&users_size,autologin_parameter); yon_char_parsed_add_or_create_if_exists(users,&users_size,DEFAULTUSER_parameter); + yon_char_parsed_add_or_create_if_exists(users,&users_size,ADDADM_parameter); yon_debug_output("%s\n",yon_config_save_list_simple(users,users_size,main_config.config_load_path)); } return 1; @@ -69,6 +70,17 @@ int yon_user_save(yon_user_struct *user){ yon_ubl_status_highlight_incorrect(user->LoginEntry); return 0; } + char *default_user = config(DEFAULTUSER_parameter); + if (yon_char_is_empty(default_user)){ + default_user = config(DEFAULTUSER_system_parameter); + } + if (!strcmp(default_user,login)){ + if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(user->AdminCheck))){ + yon_config_register(ADDADM_parameter,ADDADM_parameter_command,"yes"); + } else { + yon_config_register(ADDADM_parameter,ADDADM_parameter_command,"no"); + } + } if (gtk_combo_box_get_active(GTK_COMBO_BOX(user->PasswordCombo))){ password = (char *)gtk_entry_get_text(GTK_ENTRY(user->PasswordEntry)); if (yon_char_is_empty(password)){ @@ -214,6 +226,10 @@ void yon_user_init(main_window *widgets){ int users_size; config_str users = yon_config_get_all_by_key(USERADD_parameter_search,&users_size); if (!users_size){ + char *addadm = config(ADDADM_parameter); + if (yon_char_is_empty(addadm)){ + addadm = config(ADDADM_system_parameter); + } char *def_usr = config(DEFAULTUSER_parameter); if (yon_char_is_empty(def_usr)||(!yon_char_is_empty(def_usr)&&strcmp(def_usr,"root"))){ char *default_user = config(DEFAULTUSER_parameter); @@ -233,7 +249,11 @@ void yon_user_init(main_window *widgets){ } if (!yon_char_is_empty(default_passwd)) gtk_entry_set_text(GTK_ENTRY(user->PasswordEntry),default_passwd); - gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(user->AdminCheck),1); + if (!yon_char_is_empty(def_usr)&& !strcmp(def_usr,default_user)){ + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(user->AdminCheck),!strcmp(addadm,"yes")); + } else { + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(user->AdminCheck),strcmp(addadm,"yes")); + } } } for (int i=0;i