diff --git a/source/ubl-settings-usergroups.c b/source/ubl-settings-usergroups.c index c09b947..8ccb44f 100644 --- a/source/ubl-settings-usergroups.c +++ b/source/ubl-settings-usergroups.c @@ -41,7 +41,6 @@ int yon_load_proceed(YON_CONFIG_TYPE type){ local_value=temp; yon_config_set(key,yon_char_new(local_value)); yon_config_set_status(key,0); - } } @@ -1023,10 +1022,21 @@ void on_expiration_clicked(GtkWidget *self, ubl_settings_usergroups_user_window yon_config_remove_by_key(DEFAULTROOTPASSWD_parameter); } int user_k_admin = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(window->DefaultUserAdministratorCheck)); - if (user_k_admin){ - yon_config_register(ADDADM_parameter,ADDADM_parameter_command,"yes"); + if (!yon_config_check_ignore(ADDADM_parameter)){ + if (user_k_admin){ + yon_config_register(ADDADM_parameter,ADDADM_parameter_command,"yes"); + } else { + yon_config_register(ADDADM_parameter,ADDADM_parameter_command,"no"); + } } else { - yon_config_register(ADDADM_parameter,ADDADM_parameter_command,"no"); + char *user_k = config(ADDADM_parameter); + if (strcmp(user_k,user_k_admin?"yes":"no")){ + if (user_k_admin){ + 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(window->PasswordHashCombo))!=0){ char *hash = (char*)gtk_combo_box_get_active_id(GTK_COMBO_BOX(window->PasswordHashCombo)); @@ -1036,6 +1046,20 @@ void on_expiration_clicked(GtkWidget *self, ubl_settings_usergroups_user_window }else { yon_config_remove_by_key(HASHPASSWD_parameter); } + char *sync = ""; + int boot_active = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(window->UsersBootCheck)); + int shutdown_active = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(window->UsersShutdownCheck)); + if (!boot_active&&!shutdown_active){ + yon_config_remove_by_key(USERADD_SYNC_parameter); + } else { + if (boot_active){ + sync = "boot"; + } + if (shutdown_active){ + sync = yon_char_unite(sync,yon_char_is_empty(sync)?"":",","shutdown"); + } + yon_config_register(USERADD_SYNC_parameter,USERADD_SYNC_parameter_command,sync); + } } void on_hash_changed(GtkWidget *self, ubl_settings_usergroups_additional_settings_window *window){ @@ -1192,8 +1216,8 @@ ubl_settings_usergroups_additional_settings_window *yon_ubl_settings_usergroups_ g_signal_connect(G_OBJECT(window->PasswordHashCombo),"changed",G_CALLBACK(on_hash_changed),window); - g_signal_connect(G_OBJECT(window->UsersBootCheck),"toggled",G_CALLBACK(on_users_boot_toggled),NULL); - g_signal_connect(G_OBJECT(window->UsersShutdownCheck),"toggled",G_CALLBACK(on_users_shutdown_toggled),NULL); + // g_signal_connect(G_OBJECT(window->UsersBootCheck),"toggled",G_CALLBACK(on_users_boot_toggled),NULL); + // g_signal_connect(G_OBJECT(window->UsersShutdownCheck),"toggled",G_CALLBACK(on_users_shutdown_toggled),NULL); return window; } @@ -2292,6 +2316,8 @@ void on_parameter_changed(GtkWidget *self,ubl_settings_usergroups_user_window *w if (final_string[strlen(final_string)-1]==' ') final_string[strlen(final_string)-1]='\0'; gtk_entry_set_text(GTK_ENTRY(window->userExtraOptionsEntry),final_string); free(final_string); + } else { + gtk_entry_set_text(GTK_ENTRY(window->userExtraOptionsEntry),""); } }