|
|
|
|
@ -210,8 +210,8 @@ void on_additional_settings_clicked(GtkWidget *self, GtkEntry *output_target){
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void on_expiration_clicked(GtkWidget *self, GtkEntry *output_target){
|
|
|
|
|
// gtk_popover_popdown();
|
|
|
|
|
void on_expiration_clicked(GtkWidget *self, ubl_settings_usergroups_user_window *window){
|
|
|
|
|
gtk_popover_popup(GTK_POPOVER(window->CalendarPopup));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// standard functions
|
|
|
|
|
@ -832,7 +832,7 @@ void on_user_save(GtkWidget *self, dictionary *dict){
|
|
|
|
|
|
|
|
|
|
password_expiration_date = (char*)gtk_entry_get_text(GTK_ENTRY(window->userPasswordExpirationEntry));
|
|
|
|
|
if (!yon_char_is_empty(password_expiration_date)){
|
|
|
|
|
password_expiration_date = password_expiration_date;
|
|
|
|
|
password_expiration_date = yon_char_from_long(window->expiration_unix);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
warning_days = yon_char_from_long(gtk_spin_button_get_value(GTK_SPIN_BUTTON(window->userWarningSpin)));
|
|
|
|
|
@ -917,6 +917,14 @@ void on_user_save(GtkWidget *self, dictionary *dict){
|
|
|
|
|
on_subwindow_close(self);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void on_date_selected(GtkWidget *self, ubl_settings_usergroups_user_window *window){
|
|
|
|
|
int year=0, month=0, day=0;
|
|
|
|
|
gtk_calendar_get_date(GTK_CALENDAR(window->ExpirationCalendar),&year,&month,&day);
|
|
|
|
|
GDateTime *date = g_date_time_new_local(year,month,day,23,59,59);
|
|
|
|
|
gtk_entry_set_text(GTK_ENTRY(window->userPasswordExpirationEntry), g_date_time_format(date,"%c"));
|
|
|
|
|
window->expiration_unix=g_date_time_to_unix(date);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
ubl_settings_usergroups_user_window *yon_ubl_settings_usergroups_user_new(){
|
|
|
|
|
ubl_settings_usergroups_user_window *window = malloc(sizeof(ubl_settings_usergroups_user_window));
|
|
|
|
|
GtkBuilder *builder = gtk_builder_new_from_resource(glade_path_ubl_settings_usergroups_user);
|
|
|
|
|
@ -955,6 +963,8 @@ ubl_settings_usergroups_user_window *yon_ubl_settings_usergroups_user_new(){
|
|
|
|
|
window->userExtraOptionsEntry=yon_gtk_builder_get_widget(builder,"userExtraOptionsEntry");
|
|
|
|
|
window->UserCancelButton=yon_gtk_builder_get_widget(builder,"UserCancelButton");
|
|
|
|
|
window->UserOkButton=yon_gtk_builder_get_widget(builder,"UserOkButton");
|
|
|
|
|
window->CalendarPopup=yon_gtk_builder_get_widget(builder,"CalendarPopover");
|
|
|
|
|
window->ExpirationCalendar=yon_gtk_builder_get_widget(builder,"ExpirationCalendar");
|
|
|
|
|
gtk_window_set_title(GTK_WINDOW(window->CreateUserWindow),USER_TITLE_LABEL);
|
|
|
|
|
|
|
|
|
|
int shell_size=0;
|
|
|
|
|
@ -981,13 +991,14 @@ ubl_settings_usergroups_user_window *yon_ubl_settings_usergroups_user_new(){
|
|
|
|
|
g_signal_connect(G_OBJECT(window->UserGroupsButton),"clicked",G_CALLBACK(on_groups_clicked),window->userGroupsEntry);
|
|
|
|
|
g_signal_connect(G_OBJECT(window->userPasswordButton),"clicked",G_CALLBACK(on_password_change),entry_dict);
|
|
|
|
|
g_signal_connect(G_OBJECT(window->userAdditionalGroupsButton),"clicked",G_CALLBACK(on_groups_multiple_clicked),window->userAdditionalGroupsEntry);
|
|
|
|
|
g_signal_connect(G_OBJECT(window->userPasswordExpirationButton),"clicked",G_CALLBACK(on_expiration_clicked),window->userPasswordExpirationEntry);
|
|
|
|
|
g_signal_connect(G_OBJECT(window->userPasswordExpirationButton),"clicked",G_CALLBACK(on_expiration_clicked),window);
|
|
|
|
|
g_signal_connect(G_OBJECT(window->userUIDAutoCheck),"toggled",G_CALLBACK(yon_gtk_widget_set_sensitive_from_toggle_button_inversed),window->userUIDEntry);
|
|
|
|
|
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);
|
|
|
|
|
g_signal_connect(G_OBJECT(window->ExpirationCalendar),"day-selected",G_CALLBACK(on_date_selected),window);
|
|
|
|
|
return window;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -1096,7 +1107,10 @@ void on_main_edit(GtkWidget *self, main_window *widgets){
|
|
|
|
|
gtk_spin_button_set_value(GTK_SPIN_BUTTON(window->userPasswordChangeDelayMaximumSpin),atol(parsed_size>2?parameters[2]:"0"));
|
|
|
|
|
gtk_spin_button_set_value(GTK_SPIN_BUTTON(window->userWarningSpin),atol(parsed_size>3?parameters[3]:"0"));
|
|
|
|
|
gtk_spin_button_set_value(GTK_SPIN_BUTTON(window->userActivitySpin),atol(parsed_size>4?parameters[4]:"0"));
|
|
|
|
|
gtk_entry_set_text(GTK_ENTRY(window->userPasswordExpirationEntry),parsed_size>5?parameters[5]:"");
|
|
|
|
|
if (parsed_size>5){
|
|
|
|
|
GDateTime *date = g_date_time_new_from_unix_local(atol(parameters[5]));
|
|
|
|
|
gtk_entry_set_text(GTK_ENTRY(window->userPasswordExpirationEntry),g_date_time_format(date,"%c"));
|
|
|
|
|
}
|
|
|
|
|
gtk_window_set_transient_for(GTK_WINDOW(window->CreateUserWindow),GTK_WINDOW(widgets->Window));
|
|
|
|
|
gtk_widget_show(window->CreateUserWindow);
|
|
|
|
|
}
|
|
|
|
|
|