|
|
|
|
@ -12,12 +12,6 @@ int yon_users_save(main_window *widgets){
|
|
|
|
|
} else {
|
|
|
|
|
yon_config_remove_by_key(root_password_parameter);
|
|
|
|
|
}
|
|
|
|
|
int autologin = gtk_switch_get_active(GTK_SWITCH(widgets->UserAutologinSwitch));
|
|
|
|
|
if (autologin){
|
|
|
|
|
yon_config_register(autologin_parameter,autologin_parameter_command,"yes");
|
|
|
|
|
} else {
|
|
|
|
|
yon_config_register(autologin_parameter,autologin_parameter_command,"no");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
GList *users = gtk_container_get_children(GTK_CONTAINER(widgets->UserAddBox));
|
|
|
|
|
GList *iter;
|
|
|
|
|
@ -38,7 +32,7 @@ int yon_users_save(main_window *widgets){
|
|
|
|
|
} else {
|
|
|
|
|
for (iter=users;iter;iter=iter->next){
|
|
|
|
|
yon_user_struct *user = g_object_get_data(G_OBJECT(iter->data),"yon_user_struct");
|
|
|
|
|
if (user){
|
|
|
|
|
if (user&&user->changed){
|
|
|
|
|
if (!yon_user_save(user)){
|
|
|
|
|
yon_ubl_status_box_spawn(GTK_CONTAINER(main_config.status_box),_EMPTY_IMPORTANT_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE);
|
|
|
|
|
|
|
|
|
|
@ -57,6 +51,9 @@ int yon_users_save(main_window *widgets){
|
|
|
|
|
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));
|
|
|
|
|
for (int i=0;i<users_size;i++){
|
|
|
|
|
yon_config_set_status(users[i],0);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return 1;
|
|
|
|
|
}
|
|
|
|
|
@ -104,11 +101,20 @@ int yon_user_save(yon_user_struct *user){
|
|
|
|
|
return 1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void on_user_autoloin_switch(GtkWidget *, int status, main_window *){
|
|
|
|
|
if (status){
|
|
|
|
|
yon_config_register(autologin_parameter,autologin_parameter_command,"yes");
|
|
|
|
|
} else {
|
|
|
|
|
yon_config_register(autologin_parameter,autologin_parameter_command,"no");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void on_user_add(GtkWidget *,main_window *widgets){
|
|
|
|
|
yon_user_struct *user = yon_user_struct_new();
|
|
|
|
|
g_signal_connect(G_OBJECT(user->AdminCheck),"clicked",G_CALLBACK(yon_user_admin_check),widgets);
|
|
|
|
|
g_object_set_data(G_OBJECT(user->MainBox),"widgets",widgets);
|
|
|
|
|
gtk_box_pack_start(GTK_BOX(widgets->UserAddBox),user->MainBox,0,0,0);
|
|
|
|
|
user->changed=1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void on_user_remove_clicked(GtkWidget *,yon_user_struct *user){
|
|
|
|
|
@ -131,6 +137,7 @@ void yon_password_new(GtkWidget *, yon_user_struct *user){
|
|
|
|
|
void yon_user_admin_check(GtkWidget *self, main_window *widgets){
|
|
|
|
|
yon_user_struct *user = g_object_get_data(G_OBJECT(self),"yon_user_struct");
|
|
|
|
|
GList *list = gtk_container_get_children(GTK_CONTAINER(widgets->UserAddBox));
|
|
|
|
|
user->changed=1;
|
|
|
|
|
GList *iter;
|
|
|
|
|
for(iter=list;iter;iter=iter->next){
|
|
|
|
|
if (iter->data!=user->MainBox){
|
|
|
|
|
@ -144,6 +151,7 @@ void yon_user_admin_check(GtkWidget *self, main_window *widgets){
|
|
|
|
|
|
|
|
|
|
yon_user_struct *yon_user_struct_new(){
|
|
|
|
|
yon_user_struct *user = new(yon_user_struct);
|
|
|
|
|
memset(user,0,sizeof(yon_user_struct));
|
|
|
|
|
GtkBuilder *builder = gtk_builder_new_from_resource(glade_path_user);
|
|
|
|
|
|
|
|
|
|
user->MainBox = yon_gtk_builder_get_widget(builder,"MainBox");
|
|
|
|
|
|