user adding window saving - WIP

pull/14/head
parent ca469554c2
commit e3b9071803

@ -36,6 +36,7 @@ void on_filechooser_open(GtkWidget *self, GtkEntry *output_target){
char *filename = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(dialog));
gtk_entry_set_text(output_target,filename);
}
on_subwindow_close(dialog);
// ubl_settings_usergroups_additional_settings_window *window = yon_ubl_settings_usergroups_additional_settings_new();
// g_signal_connect(G_OBJECT(window->AcceptButton),"clicked",G_CALLBACK(on_subwindow_close),NULL);
@ -400,6 +401,159 @@ void on_settings_usergroups_system_open(GtkWidget *self, main_window *widgets){
void on_user_shell_changed(GtkWidget *self, ubl_settings_usergroups_user_window *window){
if (!strcmp(gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(window->userShellCombo)),SET_LABEL)){
if(gtk_combo_box_get_active(GTK_COMBO_BOX(window->userShellCombo))>1){
gtk_widget_set_sensitive(window->userShellEntry,1);
} else {
gtk_widget_set_sensitive(window->userShellEntry,0);
}
} else {
gtk_widget_set_sensitive(window->userShellEntry,0);
}
}
void on_user_save(GtkWidget *self, ubl_settings_usergroups_user_window *window){
char *final_user="";
char *uid_string = NULL;
char *password = NULL;
char *login = NULL;
char *username = NULL;
char *main_group = NULL;
char *additional_groups = NULL;
char *password_changed_date = NULL;
char *password_expiration_date = NULL;
char *password_change_interval_minimum = NULL;
char *password_change_interval_maximum = NULL;
char *warning_days = NULL;
char *no_activity_days = NULL;
char *force_at_next_login = NULL;
char *user_shell = NULL;
char *user_home = NULL;
char *create_system_user = NULL;
char *create_ununique = NULL;
char *do_not_check = NULL;
char *samba_sync = NULL;
char *deactivate = NULL;
char *extra_options = NULL;
int uid_auto_active = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(window->userUIDAutoCheck));
if (uid_auto_active){
uid_string="x";
} else {
uid_string = (char*)gtk_entry_get_text(GTK_ENTRY(window->userUIDEntry));
if (yon_char_is_empty(uid_string)){
yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),EMPTY_IMPORTANT_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE);
yon_ubl_status_highlight_incorrect(window->userUIDEntry);
return;
}
}
login = (char*)gtk_entry_get_text(GTK_ENTRY(window->userLoginEntry));
if (yon_char_is_empty(login)){
yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),EMPTY_IMPORTANT_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE);
yon_ubl_status_highlight_incorrect(window->userLoginEntry);
return;
}
password = (char*)gtk_entry_get_text(GTK_ENTRY(window->userPasswordEntry));
if (yon_char_is_empty(password)){
yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),EMPTY_IMPORTANT_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE);
yon_ubl_status_highlight_incorrect(window->userPasswordEntry);
return;
}
username = (char*)gtk_entry_get_text(GTK_ENTRY(window->userUserNameEntry));
if (yon_char_is_empty(username)){
yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),EMPTY_IMPORTANT_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE);
yon_ubl_status_highlight_incorrect(window->userUserNameEntry);
return;
}
main_group = (char*)gtk_entry_get_text(GTK_ENTRY(window->userGroupsEntry));
if (yon_char_is_empty(main_group)){
yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),EMPTY_IMPORTANT_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE);
yon_ubl_status_highlight_incorrect(window->userGroupsEntry);
return;
}
additional_groups = (char*)gtk_entry_get_text(GTK_ENTRY(window->userAdditionalGroupsEntry));
if (yon_char_is_empty(additional_groups)){
yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),EMPTY_IMPORTANT_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE);
yon_ubl_status_highlight_incorrect(window->userAdditionalGroupsEntry);
return;
}
password_change_interval_minimum = yon_char_from_long(gtk_spin_button_get_value(GTK_SPIN_BUTTON(window->userPasswordChangeDelayMinimumSpin)));
if (yon_char_is_empty(password_change_interval_minimum)){
yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),EMPTY_IMPORTANT_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE);
yon_ubl_status_highlight_incorrect(window->userPasswordChangeDelayMinimumSpin);
return;
}
password_change_interval_maximum = yon_char_from_long(gtk_spin_button_get_value(GTK_SPIN_BUTTON(window->userPasswordChangeDelayMaximumSpin)));
if (yon_char_is_empty(password_change_interval_maximum)){
yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),EMPTY_IMPORTANT_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE);
yon_ubl_status_highlight_incorrect(window->userPasswordChangeDelayMaximumSpin);
return;
}
warning_days = yon_char_from_long(gtk_spin_button_get_value(GTK_SPIN_BUTTON(window->userWarningSpin)));
if (yon_char_is_empty(warning_days)){
yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),EMPTY_IMPORTANT_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE);
yon_ubl_status_highlight_incorrect(window->userWarningSpin);
return;
}
no_activity_days = yon_char_from_long(gtk_spin_button_get_value(GTK_SPIN_BUTTON(window->userActivitySpin)));
if (yon_char_is_empty(no_activity_days)){
yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),EMPTY_IMPORTANT_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE);
yon_ubl_status_highlight_incorrect(window->userActivitySpin);
return;
}
int force_at_next_login_active = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(window->userForceChangeCheck));
if (force_at_next_login_active){
}
user_shell = (char*)gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(window->userShellCombo));
if (!strcmp(user_shell,SET_LABEL)){
user_shell = (char*)gtk_entry_get_text(GTK_ENTRY(window->userShellCombo));
if (yon_char_is_empty(user_shell)){
yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),EMPTY_IMPORTANT_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE);
yon_ubl_status_highlight_incorrect(window->userShellEntry);
return;
}
}
int user_home_active = gtk_combo_box_get_active(GTK_COMBO_BOX(window->userHomeCombo));
if (user_home_active==2){
user_home=(char*)gtk_entry_get_text(GTK_ENTRY(window->userHomeEntry));
if (yon_char_is_empty(user_home)){
yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),EMPTY_IMPORTANT_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE);
yon_ubl_status_highlight_incorrect(window->userHomeCombo);
return;
}
}
int system_user_active = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(window->userCreateSystemCheck));
if (system_user_active);
int create_ununique_active = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(window->userCreateUnuniqueCheck));
if (create_ununique_active);
int do_not_check_actve = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(window->userDontCheckCheck));
if (do_not_check);
int samba_sync_active = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(window->userSyncSAMBACheck));
if (samba_sync_active);
int deactivate_active = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(window->userDeactivatedCheck));
if (deactivate_active);
extra_options=(char*)gtk_entry_get_text(GTK_ENTRY(window->userExtraOptionsEntry));
}
ubl_settings_usergroups_user_window *yon_ubl_settings_usergroups_user_new(){
ubl_settings_usergroups_user_window *window = malloc(sizeof(ubl_settings_usergroups_user_window));
@ -451,6 +605,8 @@ ubl_settings_usergroups_user_window *yon_ubl_settings_usergroups_user_new(){
g_signal_connect(G_OBJECT(window->userHomeCombo),"changed",G_CALLBACK(on_password_combo_changed),window->userHomeEntry);
g_signal_connect(G_OBJECT(window->userHomeCombo),"changed",G_CALLBACK(on_password_combo_changed),window->userHomeButton);
g_signal_connect(G_OBJECT(window->userPasswordCombo),"changed",G_CALLBACK(on_password_combo_changed),window->userPasswordButton);
g_signal_connect(G_OBJECT(window->userGroupsCheck),"toggled",G_CALLBACK(yon_gtk_widget_set_sensitive_from_toggle_button_inversed),window->userGroupsEntry);
g_signal_connect(G_OBJECT(window->userShellCombo),"changed",G_CALLBACK(on_user_shell_changed),window);
return window;
}

@ -86,4 +86,8 @@
#define GROUP_LABEL _("Group")
#define PASSWORD_MISMATCH_LABEL _("Password mismatch")
#define GROUP_LABEL _("Group")
#define GROUP_LABEL _("Group")
//ubl-settings-usergroups-user.glade
#define SET_LABEL _("Set")
#define EMPTY_IMPORTANT_LABEL _("Empty important field")

@ -141,6 +141,7 @@
<object class="GtkEntry" id="userUIDEntry">
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="max-length">5</property>
<property name="placeholder-text" translatable="yes">1001</property>
<property name="input-purpose">number</property>
</object>

Loading…
Cancel
Save