diff --git a/README.md b/README.md
index f17b7ad..5a8ac35 100644
--- a/README.md
+++ b/README.md
@@ -6,7 +6,7 @@ In order to build ubl-ubl-settings-usergroups you will need:
- CMake
- C compiler
- GTK+ 3 & dependencies
-- webkit2gtk (optional)
+- webkit2gtk
- [libublsettings-ui](https://gitea.ublinux.ru/Applications/libublsettings-ui)
Once you have all the necessary dependencies, you can use:
diff --git a/source/ubl-settings-usergroups.c b/source/ubl-settings-usergroups.c
index c9374b7..1843f6e 100644
--- a/source/ubl-settings-usergroups.c
+++ b/source/ubl-settings-usergroups.c
@@ -12,18 +12,38 @@ void yon_save_proceed(char *section,YON_CONFIG_TYPE type){
}
void on_filechooser_open(GtkWidget *self, GtkEntry *output_target){
+ // 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);
+ // gtk_widget_show(window->Window);
}
void on_groups_clicked(GtkWidget *self, GtkEntry *output_target){
+ ubl_settings_usergroups_group_window *window = yon_ubl_settings_usergroups_group_new();
+ gtk_tree_view_column_set_visible(gtk_tree_view_get_column(GTK_TREE_VIEW(window->GroupsTree),0),0);
+ g_signal_connect(G_OBJECT(window->GroupsOkButton),"clicked",G_CALLBACK(on_subwindow_close),NULL);
+ gtk_widget_show(window->GroupsWindow);
+
+}
+
+void on_groups_multiple_clicked(GtkWidget *self, GtkEntry *output_target){
+ ubl_settings_usergroups_group_window *window = yon_ubl_settings_usergroups_group_new();
+ g_signal_connect(G_OBJECT(window->GroupsOkButton),"clicked",G_CALLBACK(on_subwindow_close),NULL);
+ gtk_widget_show(window->GroupsWindow);
}
void on_password_change(GtkWidget *self, GtkEntry *output_target){
+ ubl_settings_usergroups_password_window *window = yon_ubl_settings_usergroups_password_new();
+ g_signal_connect(G_OBJECT(window->UserOkButton),"clicked",G_CALLBACK(on_subwindow_close),NULL);
+ gtk_widget_show(window->CreateGroupWindow);
}
-void on_additional_groups_clicked(GtkWidget *self, GtkEntry *output_target){
+void on_additional_settings_clicked(GtkWidget *self, GtkEntry *output_target){
+ 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);
+ gtk_widget_show(window->Window);
}
@@ -76,6 +96,16 @@ ubl_settings_usergroups_group_creation_window *yon_ubl_settings_usergroups_group
window->UserAdditionalGroupsButton=yon_gtk_builder_get_widget(builder,"UserAdditionalGroupsButton");
window->UserCancelButton=yon_gtk_builder_get_widget(builder,"UserCancelButton");
window->UserOkButton=yon_gtk_builder_get_widget(builder,"UserOkButton");
+ window->AdditionalGroupsButton=yon_gtk_builder_get_widget(builder,"AdditionalGroupsButton");
+ window->UnuniqueGIDCheck=yon_gtk_builder_get_widget(builder,"UnuniqueGIDCheck");
+ window->SystemGroupCheck=yon_gtk_builder_get_widget(builder,"SystemGroupCheck");
+ window->PasswordCombo=yon_gtk_builder_get_widget(builder,"PasswordCombo");
+ window->PasswordEntry=yon_gtk_builder_get_widget(builder,"PasswordEntry");
+ window->ChangePasswordButton=yon_gtk_builder_get_widget(builder,"ChangePasswordButton");
+
+ g_signal_connect(G_OBJECT(window->UnuniqueGIDCheck),"clicked",G_CALLBACK(yon_gtk_widget_set_sensitive_from_toggle_button_inversed),window->userLoginEntry);
+ g_signal_connect(G_OBJECT(window->AdditionalGroupsButton),"clicked",G_CALLBACK(on_groups_multiple_clicked),window->userGroupsEntry);
+ g_signal_connect(G_OBJECT(window->ChangePasswordButton),"clicked",G_CALLBACK(on_password_change),window->PasswordEntry);
g_signal_connect(G_OBJECT(window->UserCancelButton),"clicked",G_CALLBACK(on_subwindow_close),NULL);
return window;
}
@@ -102,6 +132,7 @@ ubl_settings_usergroups_group_window *yon_ubl_settings_usergroups_group_new(){
window->GroupsTree=yon_gtk_builder_get_widget(builder,"GroupsTree");
window->GroupsCancelButton=yon_gtk_builder_get_widget(builder,"GroupsCancelButton");
window->GroupsOkButton=yon_gtk_builder_get_widget(builder,"GroupsOkButton");
+
g_signal_connect(G_OBJECT(window->GroupsCancelButton),"clicked",G_CALLBACK(on_subwindow_close),NULL);
return window;
}
@@ -191,11 +222,12 @@ ubl_settings_usergroups_user_window *yon_ubl_settings_usergroups_user_new(){
window->UserCancelButton=yon_gtk_builder_get_widget(builder,"UserCancelButton");
window->UserOkButton=yon_gtk_builder_get_widget(builder,"UserOkButton");
+ g_signal_connect(G_OBJECT(window->UserCancelButton),"clicked",G_CALLBACK(on_subwindow_close),NULL);
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->userHomeButton),"clicked",G_CALLBACK(on_filechooser_open),window->userHomeEntry);
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),window->userPasswordEntry);
- g_signal_connect(G_OBJECT(window->userAdditionalGroupsButton),"clicked",G_CALLBACK(on_additional_groups_clicked),window->userAdditionalGroupsEntry);
+ 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);
return window;
}
diff --git a/source/ubl-settings-usergroups.h b/source/ubl-settings-usergroups.h
index e85cc5b..4ee3e97 100644
--- a/source/ubl-settings-usergroups.h
+++ b/source/ubl-settings-usergroups.h
@@ -143,6 +143,12 @@ typedef struct{
GtkWidget *UserAdditionalGroupsButton;
GtkWidget *UserCancelButton;
GtkWidget *UserOkButton;
+ GtkWidget *AdditionalGroupsButton;
+ GtkWidget *UnuniqueGIDCheck;
+ GtkWidget *SystemGroupCheck;
+ GtkWidget *PasswordCombo;
+ GtkWidget *PasswordEntry;
+ GtkWidget *ChangePasswordButton;
} ubl_settings_usergroups_group_creation_window;
typedef struct{
@@ -218,3 +224,20 @@ typedef struct{
} ubl_settings_usergroups_user_window;
+ubl_settings_usergroups_additional_settings_window *yon_ubl_settings_usergroups_additional_settings_new();
+
+void on_ubl_settings_usergroups_additional_settings_open(GtkWidget *self, main_window *widgets);
+
+ubl_settings_usergroups_group_creation_window *yon_ubl_settings_usergroups_group_creation_new();
+
+ubl_settings_usergroups_group_window *yon_ubl_settings_usergroups_group_new();
+
+void on_standard_groups_open(GtkWidget *self, main_window *widgets);
+
+ubl_settings_usergroups_password_window *yon_ubl_settings_usergroups_password_new();
+
+ubl_settings_usergroups_system_window *yon_ubl_settings_usergroups_system_new();
+
+void on_settings_usergroups_system_open(GtkWidget *self, main_window *widgets);
+
+ubl_settings_usergroups_user_window *yon_ubl_settings_usergroups_user_new();
\ No newline at end of file
diff --git a/ubl-settings-usergroups-additional-settings.glade b/ubl-settings-usergroups-additional-settings.glade
index d5a324f..3ff73e0 100644
--- a/ubl-settings-usergroups-additional-settings.glade
+++ b/ubl-settings-usergroups-additional-settings.glade
@@ -17,6 +17,7 @@
350
False
False
+ True
com.ublinux.ubl-settings-usergroups
-
-
+
True
True
True
@@ -281,7 +281,7 @@
vertical
5
-
+
Create group with ununique GID
True
True
@@ -295,7 +295,7 @@
-
+
Create system group
True
True
@@ -326,7 +326,7 @@
-
+
True
False
0
@@ -344,7 +344,7 @@
-
+
True
True
False
@@ -359,7 +359,7 @@
-
+
True
True
True