From 87c24ac9d2abd0019ed675184633ceed2ca93dbf Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Tue, 14 Jan 2025 10:38:10 +0600 Subject: [PATCH] Page changing for user and group creation window to the page, where error occured --- source/ubl-settings-usergroups-user.c | 5 +++++ source/ubl-settings-usergroups.c | 6 ++++++ source/ubl-settings-usergroups.h | 2 ++ ubl-settings-usergroups-group-creation.glade | 4 ++-- ubl-settings-usergroups-user.glade | 4 ++-- 5 files changed, 17 insertions(+), 4 deletions(-) diff --git a/source/ubl-settings-usergroups-user.c b/source/ubl-settings-usergroups-user.c index 43e77aa..8b8f2e0 100644 --- a/source/ubl-settings-usergroups-user.c +++ b/source/ubl-settings-usergroups-user.c @@ -47,6 +47,7 @@ ubl_settings_usergroups_user_window *yon_ubl_settings_usergroups_user_new(){ window->UsershadowBootCheck=yon_gtk_builder_get_widget(builder,"UsershadowBootCheck"); window->UsershadowShutdownCheck=yon_gtk_builder_get_widget(builder,"UsershadowShutdownCheck"); window->userTitleNameLabel=yon_gtk_builder_get_widget(builder,"userTitleNameLabel"); + window->MainNotebook=yon_gtk_builder_get_widget(builder,"MainNotebook"); window->expiration_unix=NULL; window->last_uid=NULL; @@ -238,6 +239,7 @@ void on_user_save(GtkWidget *self, dictionary *dict){ if (found){ yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),found==1?UID_ALREADY_EXIST_CONFIG_LABEL:UID_ALREADY_EXIST_SYSTEM_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE); yon_ubl_status_highlight_incorrect(window->userUIDEntry); + gtk_notebook_set_current_page(GTK_NOTEBOOK(window->MainNotebook),0); return; } } @@ -246,6 +248,7 @@ void on_user_save(GtkWidget *self, dictionary *dict){ 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); + gtk_notebook_set_current_page(GTK_NOTEBOOK(window->MainNotebook),0); return; } } @@ -263,6 +266,7 @@ void on_user_save(GtkWidget *self, dictionary *dict){ 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); + gtk_notebook_set_current_page(GTK_NOTEBOOK(window->MainNotebook),0); return; } @@ -272,6 +276,7 @@ void on_user_save(GtkWidget *self, dictionary *dict){ 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); + gtk_notebook_set_current_page(GTK_NOTEBOOK(window->MainNotebook),0); return; } } else if (password_active==1){ diff --git a/source/ubl-settings-usergroups.c b/source/ubl-settings-usergroups.c index 7ca1c49..308958e 100644 --- a/source/ubl-settings-usergroups.c +++ b/source/ubl-settings-usergroups.c @@ -1418,6 +1418,7 @@ void on_group_save(GtkWidget *self, dictionary *dict){ gid = (char*)gtk_entry_get_text(GTK_ENTRY(window->userUIDEntry)); if (yon_char_is_empty(gid)){ yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),EMPTY_IMPORTANT_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE); + gtk_notebook_set_current_page(GTK_NOTEBOOK(window->MainNotebook),0); yon_ubl_status_highlight_incorrect(window->userUIDEntry); return; } @@ -1445,6 +1446,7 @@ void on_group_save(GtkWidget *self, dictionary *dict){ if (found){ yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),found==1?GID_ALREADY_EXIST_CONFIG_LABEL:GID_ALREADY_EXIST_SYSTEM_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE); yon_ubl_status_highlight_incorrect(window->userUIDEntry); + gtk_notebook_set_current_page(GTK_NOTEBOOK(window->MainNotebook),0); return; } } @@ -1459,6 +1461,7 @@ void on_group_save(GtkWidget *self, dictionary *dict){ } if (yon_char_is_empty(group_name)){ yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),EMPTY_IMPORTANT_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE); + gtk_notebook_set_current_page(GTK_NOTEBOOK(window->MainNotebook),0); yon_ubl_status_highlight_incorrect(window->userLoginEntry); return; } @@ -1466,6 +1469,7 @@ void on_group_save(GtkWidget *self, dictionary *dict){ group_users = (char*)gtk_entry_get_text(GTK_ENTRY(window->userGroupsEntry)); if (yon_char_is_empty(group_users)){ yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),EMPTY_IMPORTANT_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE); + gtk_notebook_set_current_page(GTK_NOTEBOOK(window->MainNotebook),0); yon_ubl_status_highlight_incorrect(window->userGroupsEntry); return; } @@ -1495,6 +1499,7 @@ void on_group_save(GtkWidget *self, dictionary *dict){ password = (char*)gtk_entry_get_text(GTK_ENTRY(window->PasswordEntry)); if (yon_char_is_empty(password)){ yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),EMPTY_IMPORTANT_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE); + gtk_notebook_set_current_page(GTK_NOTEBOOK(window->MainNotebook),0); yon_ubl_status_highlight_incorrect(window->PasswordEntry); return; } @@ -1578,6 +1583,7 @@ ubl_settings_usergroups_group_creation_window *yon_ubl_settings_usergroups_group window->AdminGroupsButton=yon_gtk_builder_get_widget(builder,"AdminGroupsButton"); window->GroupaddShutdownCheck=yon_gtk_builder_get_widget(builder,"GroupaddShutdownCheck"); window->groupExtraOptionsEntry=yon_gtk_builder_get_widget(builder,"groupExtraOptionsEntry"); + window->MainNotebook=yon_gtk_builder_get_widget(builder,"MainNotebook"); window->last_gid=NULL; gtk_window_set_title(GTK_WINDOW(window->CreateGroupWindow),GROUPS_TITLE_LABEL); diff --git a/source/ubl-settings-usergroups.h b/source/ubl-settings-usergroups.h index b626528..b3c8478 100644 --- a/source/ubl-settings-usergroups.h +++ b/source/ubl-settings-usergroups.h @@ -263,6 +263,7 @@ typedef struct{ GtkWidget *AdminGroupsButton; GtkWidget *GroupaddShutdownCheck; GtkWidget *groupExtraOptionsEntry; + GtkWidget *MainNotebook; char *last_gid; } ubl_settings_usergroups_group_creation_window; @@ -350,6 +351,7 @@ typedef struct{ GtkWidget *UsershadowShutdownCheck; GtkWidget *userTitleNameLabel; GtkWidget *userSyncSAMBAPasswordCheck; + GtkWidget *MainNotebook; char *expiration_unix; diff --git a/ubl-settings-usergroups-group-creation.glade b/ubl-settings-usergroups-group-creation.glade index 78c8766..49b403b 100644 --- a/ubl-settings-usergroups-group-creation.glade +++ b/ubl-settings-usergroups-group-creation.glade @@ -1,5 +1,5 @@ - + @@ -56,7 +56,7 @@ - + True True 5 diff --git a/ubl-settings-usergroups-user.glade b/ubl-settings-usergroups-user.glade index 8e0cda4..8ecc1cc 100644 --- a/ubl-settings-usergroups-user.glade +++ b/ubl-settings-usergroups-user.glade @@ -1,5 +1,5 @@ - + @@ -86,7 +86,7 @@ - + True True