|
|
|
@ -76,6 +76,7 @@ int yon_user_save(yon_user_struct *user){
|
|
|
|
|
|
|
|
|
|
|
|
void on_user_add(GtkWidget *,main_window *widgets){
|
|
|
|
void on_user_add(GtkWidget *,main_window *widgets){
|
|
|
|
yon_user_struct *user = yon_user_struct_new();
|
|
|
|
yon_user_struct *user = yon_user_struct_new();
|
|
|
|
|
|
|
|
g_object_set_data(G_OBJECT(user->MainBox),"widgets",widgets);
|
|
|
|
gtk_box_pack_start(GTK_BOX(widgets->UserAddBox),user->MainBox,0,0,0);
|
|
|
|
gtk_box_pack_start(GTK_BOX(widgets->UserAddBox),user->MainBox,0,0,0);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@ -96,6 +97,20 @@ void yon_password_new(GtkWidget *, yon_user_struct *user){
|
|
|
|
yon_password_hash_list_set(window,NULL,NULL,0);
|
|
|
|
yon_password_hash_list_set(window,NULL,NULL,0);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void yon_user_admin_check(GtkWidget *, yon_user_struct *user){
|
|
|
|
|
|
|
|
main_window *widgets = g_object_get_data(G_OBJECT(user->MainBox),"widgets");
|
|
|
|
|
|
|
|
GList *list = gtk_container_get_children(GTK_CONTAINER(widgets->UserAddBox));
|
|
|
|
|
|
|
|
GList *iter;
|
|
|
|
|
|
|
|
for(iter=list;iter;iter=iter->next){
|
|
|
|
|
|
|
|
if (iter->data!=user->MainBox){
|
|
|
|
|
|
|
|
yon_user_struct *cur_user = g_object_get_data(G_OBJECT(iter->data),"yon_user_struct");
|
|
|
|
|
|
|
|
g_signal_handlers_block_by_func(G_OBJECT(cur_user->AdminCheck),G_CALLBACK(yon_user_admin_check),cur_user);
|
|
|
|
|
|
|
|
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(cur_user->AdminCheck),0);
|
|
|
|
|
|
|
|
g_signal_handlers_unblock_by_func(G_OBJECT(cur_user->AdminCheck),G_CALLBACK(yon_user_admin_check),cur_user);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
yon_user_struct *yon_user_struct_new(){
|
|
|
|
yon_user_struct *yon_user_struct_new(){
|
|
|
|
yon_user_struct *user = new(yon_user_struct);
|
|
|
|
yon_user_struct *user = new(yon_user_struct);
|
|
|
|
GtkBuilder *builder = gtk_builder_new_from_resource(glade_path_user);
|
|
|
|
GtkBuilder *builder = gtk_builder_new_from_resource(glade_path_user);
|
|
|
|
@ -107,6 +122,7 @@ yon_user_struct *yon_user_struct_new(){
|
|
|
|
user->PasswordCombo = yon_gtk_builder_get_widget(builder,"PasswordCombo");
|
|
|
|
user->PasswordCombo = yon_gtk_builder_get_widget(builder,"PasswordCombo");
|
|
|
|
user->PasswordEntry = yon_gtk_builder_get_widget(builder,"PasswordEntry");
|
|
|
|
user->PasswordEntry = yon_gtk_builder_get_widget(builder,"PasswordEntry");
|
|
|
|
user->PasswordButton = yon_gtk_builder_get_widget(builder,"PasswordButton");
|
|
|
|
user->PasswordButton = yon_gtk_builder_get_widget(builder,"PasswordButton");
|
|
|
|
|
|
|
|
user->AdminCheck = yon_gtk_builder_get_widget(builder,"AdminCheck");
|
|
|
|
yon_gtk_entry_block_symbols(GTK_ENTRY(user->LoginEntry),"[]'\"=:\n");
|
|
|
|
yon_gtk_entry_block_symbols(GTK_ENTRY(user->LoginEntry),"[]'\"=:\n");
|
|
|
|
yon_gtk_entry_block_symbols(GTK_ENTRY(user->UsernameEntry),"[]'\":\n");
|
|
|
|
yon_gtk_entry_block_symbols(GTK_ENTRY(user->UsernameEntry),"[]'\":\n");
|
|
|
|
|
|
|
|
|
|
|
|
@ -117,6 +133,7 @@ yon_user_struct *yon_user_struct_new(){
|
|
|
|
g_signal_connect(G_OBJECT(user->PasswordCombo),"changed",G_CALLBACK(yon_gtk_widget_set_sensitive_from_combo_box),user->PasswordEntry);
|
|
|
|
g_signal_connect(G_OBJECT(user->PasswordCombo),"changed",G_CALLBACK(yon_gtk_widget_set_sensitive_from_combo_box),user->PasswordEntry);
|
|
|
|
g_signal_connect(G_OBJECT(user->PasswordCombo),"changed",G_CALLBACK(yon_gtk_widget_set_sensitive_from_combo_box),user->PasswordButton);
|
|
|
|
g_signal_connect(G_OBJECT(user->PasswordCombo),"changed",G_CALLBACK(yon_gtk_widget_set_sensitive_from_combo_box),user->PasswordButton);
|
|
|
|
g_signal_connect(G_OBJECT(user->PasswordButton),"clicked",G_CALLBACK(yon_password_new),user);
|
|
|
|
g_signal_connect(G_OBJECT(user->PasswordButton),"clicked",G_CALLBACK(yon_password_new),user);
|
|
|
|
|
|
|
|
g_signal_connect(G_OBJECT(user->AdminCheck),"clicked",G_CALLBACK(yon_user_admin_check),user);
|
|
|
|
g_signal_connect(G_OBJECT(user->RemoveButton),"clicked",G_CALLBACK(on_user_remove_clicked),user);
|
|
|
|
g_signal_connect(G_OBJECT(user->RemoveButton),"clicked",G_CALLBACK(on_user_remove_clicked),user);
|
|
|
|
return user;
|
|
|
|
return user;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
@ -128,7 +145,7 @@ void yon_user_init(main_window *widgets){
|
|
|
|
yon_gtk_entry_set_password_visibility_icon(GTK_ENTRY(widgets->UserRootPasswordEntry));
|
|
|
|
yon_gtk_entry_set_password_visibility_icon(GTK_ENTRY(widgets->UserRootPasswordEntry));
|
|
|
|
char *root_password = config(root_password_parameter);
|
|
|
|
char *root_password = config(root_password_parameter);
|
|
|
|
char *autologin = config(autologin_parameter);
|
|
|
|
char *autologin = config(autologin_parameter);
|
|
|
|
if (!yon_char_is_empty(root_password)){
|
|
|
|
if (!yon_char_is_empty(root_password)&&!yon_config_check_default(root_password_parameter)){
|
|
|
|
gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->UserRootPasswordCombo),1);
|
|
|
|
gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->UserRootPasswordCombo),1);
|
|
|
|
gtk_entry_set_text(GTK_ENTRY(widgets->UserRootPasswordEntry),root_password);
|
|
|
|
gtk_entry_set_text(GTK_ENTRY(widgets->UserRootPasswordEntry),root_password);
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
@ -152,12 +169,14 @@ void yon_user_init(main_window *widgets){
|
|
|
|
config_str users = yon_config_get_all_by_key(USERADD_parameter_search,&users_size);
|
|
|
|
config_str users = yon_config_get_all_by_key(USERADD_parameter_search,&users_size);
|
|
|
|
if (!users_size){
|
|
|
|
if (!users_size){
|
|
|
|
yon_user_struct *user = yon_user_struct_new();
|
|
|
|
yon_user_struct *user = yon_user_struct_new();
|
|
|
|
|
|
|
|
g_object_set_data(G_OBJECT(user->MainBox),"widgets",widgets);
|
|
|
|
gtk_box_pack_start(GTK_BOX(widgets->UserAddBox),user->MainBox,0,0,0);
|
|
|
|
gtk_box_pack_start(GTK_BOX(widgets->UserAddBox),user->MainBox,0,0,0);
|
|
|
|
gtk_entry_set_text(GTK_ENTRY(user->UsernameEntry),ADMINISTRATOR_LABEL);
|
|
|
|
gtk_entry_set_text(GTK_ENTRY(user->UsernameEntry),ADMINISTRATOR_LABEL);
|
|
|
|
gtk_entry_set_text(GTK_ENTRY(user->LoginEntry),"superadmin");
|
|
|
|
gtk_entry_set_text(GTK_ENTRY(user->LoginEntry),"superadmin");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
for (int i=0;i<users_size;i++){
|
|
|
|
for (int i=0;i<users_size;i++){
|
|
|
|
yon_user_struct *user = yon_user_struct_new();
|
|
|
|
yon_user_struct *user = yon_user_struct_new();
|
|
|
|
|
|
|
|
g_object_set_data(G_OBJECT(user->MainBox),"widgets",widgets);
|
|
|
|
gtk_box_pack_start(GTK_BOX(widgets->UserAddBox),user->MainBox,0,0,0);
|
|
|
|
gtk_box_pack_start(GTK_BOX(widgets->UserAddBox),user->MainBox,0,0,0);
|
|
|
|
|
|
|
|
|
|
|
|
int parsed_size;
|
|
|
|
int parsed_size;
|
|
|
|
|