diff --git a/Makefile b/Makefile
index 739bf18..6e816e2 100644
--- a/Makefile
+++ b/Makefile
@@ -134,6 +134,8 @@ install: check uninstall
@install -Dm644 -t "${DESTDIR}/usr/share/icons/hicolor/scalable/status/" "icons/com.ublinux.${PKGNAME}.group-symbolic.svg"
@install -Dm644 -t "${DESTDIR}/usr/share/icons/hicolor/scalable/status/" "icons/com.ublinux.${PKGNAME}.zoom-symbolic.svg"
@install -Dm644 -t "${DESTDIR}/usr/share/icons/hicolor/scalable/status/" "icons/com.ublinux.${PKGNAME}.calendar-symbolic.svg"
+ @install -Dm644 -t "${DESTDIR}/usr/share/icons/hicolor/scalable/status/" "icons/com.ublinux.${PKGNAME}.key-symbolic.svg"
+ @install -Dm644 -t "${DESTDIR}/usr/share/icons/hicolor/scalable/status/" "icons/com.ublinux.${PKGNAME}.funnel-symbolic.svg"
@install -Dm644 -t "${DESTDIR}/usr/share/icons/hicolor/scalable/status/" "icons/com.ublinux.${PKGNAME}.profile-settings-symbolic.svg"
@install -Dm644 -t "${DESTDIR}/usr/share/polkit-1/actions/" "${CMAKE_BUILD_DIR}/com.ublinux.${PKGNAME}${PKGIDENT}.policy"
@if [ -z ${DESTDIR} ]; then \
diff --git a/README.md b/README.md
index 006bbe3..f17b7ad 100644
--- a/README.md
+++ b/README.md
@@ -7,6 +7,7 @@ In order to build ubl-ubl-settings-usergroups you will need:
- C compiler
- GTK+ 3 & dependencies
- webkit2gtk (optional)
+- [libublsettings-ui](https://gitea.ublinux.ru/Applications/libublsettings-ui)
Once you have all the necessary dependencies, you can use:
```sh
diff --git a/icons/com.ublinux.ubl-settings-usergroups.funnel-symbolic.svg b/icons/com.ublinux.ubl-settings-usergroups.funnel-symbolic.svg
new file mode 100644
index 0000000..4aec04a
--- /dev/null
+++ b/icons/com.ublinux.ubl-settings-usergroups.funnel-symbolic.svg
@@ -0,0 +1,45 @@
+
+
+
+
diff --git a/icons/com.ublinux.ubl-settings-usergroups.key-symbolic.svg b/icons/com.ublinux.ubl-settings-usergroups.key-symbolic.svg
new file mode 100644
index 0000000..a11cbf1
--- /dev/null
+++ b/icons/com.ublinux.ubl-settings-usergroups.key-symbolic.svg
@@ -0,0 +1,60 @@
+
+
diff --git a/source/ubl-settings-usergroups.c b/source/ubl-settings-usergroups.c
index c0f627e..c9374b7 100644
--- a/source/ubl-settings-usergroups.c
+++ b/source/ubl-settings-usergroups.c
@@ -1,158 +1,316 @@
-#include "ubl-settings-usergroups.h"
+#include "ubl-settings-usergroups.h"
+
+config main_config;
+
+//functions
+
+void yon_load_proceed(char *command){
+
+}
+
+void yon_save_proceed(char *section,YON_CONFIG_TYPE type){
+}
+
+void on_filechooser_open(GtkWidget *self, GtkEntry *output_target){
-config main_config;
+}
-//functions
+void on_groups_clicked(GtkWidget *self, GtkEntry *output_target){
-void yon_load_proceed(char *command){
-
}
-void yon_save_proceed(char *section,YON_CONFIG_TYPE type){
+void on_password_change(GtkWidget *self, GtkEntry *output_target){
+
+}
+
+void on_additional_groups_clicked(GtkWidget *self, GtkEntry *output_target){
+
+}
+
+void on_expiration_clicked(GtkWidget *self, GtkEntry *output_target){
+
+}
+
+// standard functions
+
+
+
+ubl_settings_usergroups_additional_settings_window *yon_ubl_settings_usergroups_additional_settings_new(){
+ ubl_settings_usergroups_additional_settings_window *window = malloc(sizeof(ubl_settings_usergroups_additional_settings_window));
+ GtkBuilder *builder = gtk_builder_new_from_resource(glade_path_ubl_settings_usergroups_additional_settings);
+ window->Window=yon_gtk_builder_get_widget(builder,"Window");
+ window->StatusBox=yon_gtk_builder_get_widget(builder,"StatusBox");
+ window->DefaultUserNameEntry=yon_gtk_builder_get_widget(builder,"DefaultUserNameEntry");
+ window->DefaultUserAdministratorCheck=yon_gtk_builder_get_widget(builder,"DefaultUserAdministratorCheck");
+ window->DefaultPasswordCombo=yon_gtk_builder_get_widget(builder,"DefaultPasswordCombo");
+ window->DefaultPasswordEntry=yon_gtk_builder_get_widget(builder,"DefaultPasswordEntry");
+ window->RootPasswordCombo=yon_gtk_builder_get_widget(builder,"RootPasswordCombo");
+ window->RootPasswordEntry=yon_gtk_builder_get_widget(builder,"RootPasswordEntry");
+ window->PasswordHashCombo=yon_gtk_builder_get_widget(builder,"PasswordHashCombo");
+ window->CancelButton=yon_gtk_builder_get_widget(builder,"CancelButton");
+ window->AcceptButton=yon_gtk_builder_get_widget(builder,"AcceptButton");
+ g_signal_connect(G_OBJECT(window->CancelButton),"clicked",G_CALLBACK(on_subwindow_close),NULL);
+return window;
}
-additional_config_window *yon_additional_config_window_new(){
- additional_config_window *window = malloc(sizeof(additional_config_window));
- GtkBuilder *builder = gtk_builder_new_from_resource(glade_path_additional);
-window->Window=yon_gtk_builder_get_widget(builder,"Window");
-window->StatusBox=yon_gtk_builder_get_widget(builder,"StatusBox");
-window->DefaultUserNameEntry=yon_gtk_builder_get_widget(builder,"DefaultUserNameEntry");
-window->DefaultUserAdministratorCheck=yon_gtk_builder_get_widget(builder,"DefaultUserAdministratorCheck");
-window->DefaultPasswordCombo=yon_gtk_builder_get_widget(builder,"DefaultPasswordCombo");
-window->DefaultPasswordEntry=yon_gtk_builder_get_widget(builder,"DefaultPasswordEntry");
-window->RootPasswordCombo=yon_gtk_builder_get_widget(builder,"RootPasswordCombo");
-window->RootPasswordEntry=yon_gtk_builder_get_widget(builder,"RootPasswordEntry");
-window->PasswordHashCombo=yon_gtk_builder_get_widget(builder,"PasswordHashCombo");
-window->CancelButton=yon_gtk_builder_get_widget(builder,"CancelButton");
-window->AcceptButton=yon_gtk_builder_get_widget(builder,"AcceptButton");
+
+void on_ubl_settings_usergroups_additional_settings_open(GtkWidget *self, main_window *widgets){
+ 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_window_set_transient_for(GTK_WINDOW(window->Window),GTK_WINDOW(widgets->Window));
+ gtk_widget_show(window->Window);
}
-groups_window *yon_groups_window_new(){
- groups_window *window = malloc(sizeof(groups_window));
- GtkBuilder *builder = gtk_builder_new_from_resource(glade_path_groups);
- window->GroupsWindow=yon_gtk_builder_get_widget(builder,"GroupsWindow");
- 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;
+ubl_settings_usergroups_group_creation_window *yon_ubl_settings_usergroups_group_creation_new(){
+ ubl_settings_usergroups_group_creation_window *window = malloc(sizeof(ubl_settings_usergroups_group_creation_window));
+ GtkBuilder *builder = gtk_builder_new_from_resource(glade_path_ubl_settings_usergroups_group_creation);
+ window->CreateGroupWindow=yon_gtk_builder_get_widget(builder,"CreateGroupWindow");
+ window->StatusBox=yon_gtk_builder_get_widget(builder,"StatusBox");
+ window->userUIDAutoCheck=yon_gtk_builder_get_widget(builder,"userUIDAutoCheck");
+ window->userUIDEntry=yon_gtk_builder_get_widget(builder,"userUIDEntry");
+ window->userLoginEntry=yon_gtk_builder_get_widget(builder,"userLoginEntry");
+ window->userGroupsEntry=yon_gtk_builder_get_widget(builder,"userGroupsEntry");
+ 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");
+ g_signal_connect(G_OBJECT(window->UserCancelButton),"clicked",G_CALLBACK(on_subwindow_close),NULL);
+return window;
+}
+
+
+
+ubl_settings_usergroups_group_window *yon_ubl_settings_usergroups_group_new(){
+ ubl_settings_usergroups_group_window *window = malloc(sizeof(ubl_settings_usergroups_group_window));
+ GtkBuilder *builder = gtk_builder_new_from_resource(glade_path_ubl_settings_usergroups_group);
+ window->groupsAdmGroupCheck=yon_gtk_builder_get_widget(builder,"groupsAdmGroupCheck");
+ window->groupsAudioGroupCheck=yon_gtk_builder_get_widget(builder,"groupsAudioGroupCheck");
+ window->groupsAutologinGroupCheck=yon_gtk_builder_get_widget(builder,"groupsAutologinGroupCheck");
+ window->groupsAvahiGroupCheck=yon_gtk_builder_get_widget(builder,"groupsAvahiGroupCheck");
+ window->groupsBinGroupCheck=yon_gtk_builder_get_widget(builder,"groupsBinGroupCheck");
+ window->groupsBrlapiGroupCheck=yon_gtk_builder_get_widget(builder,"groupsBrlapiGroupCheck");
+ window->groupsBrittyGroupCheck=yon_gtk_builder_get_widget(builder,"groupsBrittyGroupCheck");
+ window->groupsBumblbeeGroupCheck=yon_gtk_builder_get_widget(builder,"groupsBumblbeeGroupCheck");
+ window->groupsChronyGroupCheck=yon_gtk_builder_get_widget(builder,"groupsChronyGroupCheck");
+ window->groupsClamavGroupCheck=yon_gtk_builder_get_widget(builder,"groupsClamavGroupCheck");
+ window->groupsCockpitWsGroupCheck=yon_gtk_builder_get_widget(builder,"groupsCockpitWsGroupCheck");
+ window->groupsCockpitWsinstanceGroupCheck=yon_gtk_builder_get_widget(builder,"groupsCockpitWsinstanceGroupCheck");
+ window->groupsColordGroupCheck=yon_gtk_builder_get_widget(builder,"groupsColordGroupCheck");
+ window->GroupsWindow=yon_gtk_builder_get_widget(builder,"GroupsWindow");
+ 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;
}
void on_standard_groups_open(GtkWidget *self, main_window *widgets){
- groups_window *window = yon_groups_window_new();
+ 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_window_set_transient_for(GTK_WINDOW(window->GroupsWindow),GTK_WINDOW(widgets->Window));
gtk_widget_show(window->GroupsWindow);
}
-user_window *yon_user_window_new(){
- user_window *window = malloc(sizeof(user_window));
- GtkBuilder *builder = gtk_builder_new_from_resource(glade_path_user);
- window->CreateUserWindow=yon_gtk_builder_get_widget(builder,"CreateUserWindow");
- window->userUIDAutoCheck=yon_gtk_builder_get_widget(builder,"userUIDAutoCheck");
- window->userUIDEntry=yon_gtk_builder_get_widget(builder,"userUIDEntry");
- window->userLoginEntry=yon_gtk_builder_get_widget(builder,"userLoginEntry");
- window->userPasswordCombo=yon_gtk_builder_get_widget(builder,"userPasswordCombo");
- window->userPasswordEntry=yon_gtk_builder_get_widget(builder,"userPasswordEntry");
- window->userPasswordButton=yon_gtk_builder_get_widget(builder,"userPasswordButton");
- window->userUserNameEntry=yon_gtk_builder_get_widget(builder,"userUserNameEntry");
- window->userGroupsCheck=yon_gtk_builder_get_widget(builder,"userGroupsCheck");
- window->userGroupsEntry=yon_gtk_builder_get_widget(builder,"userGroupsEntry");
- window->UserGroupsButton=yon_gtk_builder_get_widget(builder,"UserGroupsButton");
- window->userCreateHomeFolderCheck=yon_gtk_builder_get_widget(builder,"userCreateHomeFolderCheck");
- window->userHomeFolderEntry=yon_gtk_builder_get_widget(builder,"userHomeFolderEntry");
- window->userHomeFolderButton=yon_gtk_builder_get_widget(builder,"userHomeFolderButton");
- window->userAdditionalGroupsEntry=yon_gtk_builder_get_widget(builder,"userAdditionalGroupsEntry");
- window->userAdditionalGroupsButton=yon_gtk_builder_get_widget(builder,"userAdditionalGroupsButton");
- window->userPasswordChangedEntry=yon_gtk_builder_get_widget(builder,"userPasswordChangedEntry");
- window->userPasswordExpirationEntry=yon_gtk_builder_get_widget(builder,"userPasswordExpirationEntry");
- window->userPasswordExpirationButton=yon_gtk_builder_get_widget(builder,"userPasswordExpirationButton");
- window->userPasswordChangeDelayMinimumSpin=yon_gtk_builder_get_widget(builder,"userPasswordChangeDelayMinimumSpin");
- window->userPasswordChangeDelayMaximumSpin=yon_gtk_builder_get_widget(builder,"userPasswordChangeDelayMaximumSpin");
- window->userWarningSpin=yon_gtk_builder_get_widget(builder,"userWarningSpin");
- window->userActivitySpin=yon_gtk_builder_get_widget(builder,"userActivitySpin");
- window->userForceChangeCheck=yon_gtk_builder_get_widget(builder,"userForceChangeCheck");
- window->userShellCombo=yon_gtk_builder_get_widget(builder,"userShellCombo");
- window->userShellEntry=yon_gtk_builder_get_widget(builder,"userShellEntry");
- window->userHomeCombo=yon_gtk_builder_get_widget(builder,"userHomeCombo");
- window->userHomeEntry=yon_gtk_builder_get_widget(builder,"userHomeEntry");
- window->userHomeButton=yon_gtk_builder_get_widget(builder,"userHomeButton");
- window->userCreateSystemCheck=yon_gtk_builder_get_widget(builder,"userCreateSystemCheck");
- window->userCreateUnuniqueCheck=yon_gtk_builder_get_widget(builder,"userCreateUnuniqueCheck");
- window->userDontCheckCheck=yon_gtk_builder_get_widget(builder,"userDontCheckCheck");
- window->userSyncSAMBACheck=yon_gtk_builder_get_widget(builder,"userSyncSAMBACheck");
- window->userDeactivatedCheck=yon_gtk_builder_get_widget(builder,"userDeactivatedCheck");
- 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->userTitleNameLabel=yon_gtk_builder_get_widget(builder,"userTitleNameLabel");
- g_signal_connect(G_OBJECT(window->UserCancelButton),"clicked",G_CALLBACK(on_subwindow_close),NULL);
- return window;
+
+
+ubl_settings_usergroups_password_window *yon_ubl_settings_usergroups_password_new(){
+ ubl_settings_usergroups_password_window *window = malloc(sizeof(ubl_settings_usergroups_password_window));
+ GtkBuilder *builder = gtk_builder_new_from_resource(glade_path_ubl_settings_usergroups_password);
+ window->CreateGroupWindow=yon_gtk_builder_get_widget(builder,"CreateGroupWindow");
+ window->StatusBox=yon_gtk_builder_get_widget(builder,"StatusBox");
+ 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);
+return window;
+}
+
+
+
+ubl_settings_usergroups_system_window *yon_ubl_settings_usergroups_system_new(){
+ ubl_settings_usergroups_system_window *window = malloc(sizeof(ubl_settings_usergroups_system_window));
+ GtkBuilder *builder = gtk_builder_new_from_resource(glade_path_ubl_settings_usergroups_system);
+ window->liststore1=GTK_LIST_STORE(gtk_builder_get_object(builder,"liststore1"));
+ window->liststore2=GTK_LIST_STORE(gtk_builder_get_object(builder,"liststore2"));
+ window->MonitorWindow=yon_gtk_builder_get_widget(builder,"MonitorWindow");
+ window->SettingsBar=yon_gtk_builder_get_widget(builder,"SettingsBar");
+return window;
}
-void on_user_add(GtkWidget *self, main_window *widgets){
- user_window *window = yon_user_window_new();
- g_signal_connect(G_OBJECT(window->UserOkButton),"clicked",G_CALLBACK(on_subwindow_close),NULL);
+void on_settings_usergroups_system_open(GtkWidget *self, main_window *widgets){
+ ubl_settings_usergroups_system_window *window = yon_ubl_settings_usergroups_system_new();
- gtk_window_set_transient_for(GTK_WINDOW(window->CreateUserWindow),GTK_WINDOW(widgets->Window));
- gtk_widget_show(window->CreateUserWindow);
+ gtk_window_set_transient_for(GTK_WINDOW(window->MonitorWindow),GTK_WINDOW(widgets->Window));
+ gtk_widget_show(window->MonitorWindow);
}
-void on_user_edit(){
+
+
+
+
+
+
+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);
+ window->CreateUserWindow=yon_gtk_builder_get_widget(builder,"CreateUserWindow");
+ window->StatusBox=yon_gtk_builder_get_widget(builder,"StatusBox");
+ window->userUIDAutoCheck=yon_gtk_builder_get_widget(builder,"userUIDAutoCheck");
+ window->userUIDEntry=yon_gtk_builder_get_widget(builder,"userUIDEntry");
+ window->userLoginEntry=yon_gtk_builder_get_widget(builder,"userLoginEntry");
+ window->userPasswordCombo=yon_gtk_builder_get_widget(builder,"userPasswordCombo");
+ window->userPasswordEntry=yon_gtk_builder_get_widget(builder,"userPasswordEntry");
+ window->userPasswordButton=yon_gtk_builder_get_widget(builder,"userPasswordButton");
+ window->userUserNameEntry=yon_gtk_builder_get_widget(builder,"userUserNameEntry");
+ window->userGroupsCheck=yon_gtk_builder_get_widget(builder,"userGroupsCheck");
+ window->userGroupsEntry=yon_gtk_builder_get_widget(builder,"userGroupsEntry");
+ window->UserGroupsButton=yon_gtk_builder_get_widget(builder,"UserGroupsButton");
+ window->userAdditionalGroupsEntry=yon_gtk_builder_get_widget(builder,"userAdditionalGroupsEntry");
+ window->userAdditionalGroupsButton=yon_gtk_builder_get_widget(builder,"userAdditionalGroupsButton");
+ window->userPasswordChangedEntry=yon_gtk_builder_get_widget(builder,"userPasswordChangedEntry");
+ window->userPasswordExpirationEntry=yon_gtk_builder_get_widget(builder,"userPasswordExpirationEntry");
+ window->userPasswordExpirationButton=yon_gtk_builder_get_widget(builder,"userPasswordExpirationButton");
+ window->userPasswordChangeDelayMinimumSpin=yon_gtk_builder_get_widget(builder,"userPasswordChangeDelayMinimumSpin");
+ window->userPasswordChangeDelayMaximumSpin=yon_gtk_builder_get_widget(builder,"userPasswordChangeDelayMaximumSpin");
+ window->userWarningSpin=yon_gtk_builder_get_widget(builder,"userWarningSpin");
+ window->userActivitySpin=yon_gtk_builder_get_widget(builder,"userActivitySpin");
+ window->userForceChangeCheck=yon_gtk_builder_get_widget(builder,"userForceChangeCheck");
+ window->userShellCombo=yon_gtk_builder_get_widget(builder,"userShellCombo");
+ window->userShellEntry=yon_gtk_builder_get_widget(builder,"userShellEntry");
+ window->userHomeCombo=yon_gtk_builder_get_widget(builder,"userHomeCombo");
+ window->userHomeEntry=yon_gtk_builder_get_widget(builder,"userHomeEntry");
+ window->userHomeButton=yon_gtk_builder_get_widget(builder,"userHomeButton");
+ window->userCreateSystemCheck=yon_gtk_builder_get_widget(builder,"userCreateSystemCheck");
+ window->userCreateUnuniqueCheck=yon_gtk_builder_get_widget(builder,"userCreateUnuniqueCheck");
+ window->userDontCheckCheck=yon_gtk_builder_get_widget(builder,"userDontCheckCheck");
+ window->userSyncSAMBACheck=yon_gtk_builder_get_widget(builder,"userSyncSAMBACheck");
+ window->userDeactivatedCheck=yon_gtk_builder_get_widget(builder,"userDeactivatedCheck");
+ 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");
+
+ 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->userPasswordExpirationButton),"clicked",G_CALLBACK(on_expiration_clicked),window->userPasswordExpirationEntry);
+return window;
}
-void on_user_delete(){
+void on_main_add(GtkWidget *self, main_window *widgets){
+ GtkTreeModel *model;
+ GtkWidget *cur_tree;
+ GtkTreeIter iter;
+ if (gtk_notebook_get_current_page(GTK_NOTEBOOK(widgets->MainNotebook))==0){
+ model = GTK_TREE_MODEL(widgets->UsersList);
+ ubl_settings_usergroups_user_window *window = yon_ubl_settings_usergroups_user_new();
+ g_signal_connect(G_OBJECT(window->UserOkButton),"clicked",G_CALLBACK(on_subwindow_close),NULL);
+
+ gtk_window_set_transient_for(GTK_WINDOW(window->CreateUserWindow),GTK_WINDOW(widgets->Window));
+ gtk_widget_show(window->CreateUserWindow);
+ } else {
+ model = GTK_TREE_MODEL(widgets->GroupsList);
+ ubl_settings_usergroups_group_creation_window *window = yon_ubl_settings_usergroups_group_creation_new();
+ g_signal_connect(G_OBJECT(window->UserOkButton),"clicked",G_CALLBACK(on_subwindow_close),NULL);
+
+ gtk_window_set_transient_for(GTK_WINDOW(window->CreateGroupWindow),GTK_WINDOW(widgets->Window));
+ gtk_widget_show(window->CreateGroupWindow);
+ }
}
-void on_def_groups_open(){
+void on_main_edit(GtkWidget *self, main_window *widgets){
+ GtkTreeModel *model;
+ GtkWidget *cur_tree;
+ GtkTreeIter iter;
+ if (gtk_notebook_get_current_page(GTK_NOTEBOOK(widgets->MainNotebook))==0){
+ model = GTK_TREE_MODEL(widgets->UsersList);
+ if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->UsersTree)),&model,&iter)){
+ ubl_settings_usergroups_user_window *window = yon_ubl_settings_usergroups_user_new();
+ g_signal_connect(G_OBJECT(window->UserOkButton),"clicked",G_CALLBACK(on_subwindow_close),NULL);
+
+ gtk_window_set_transient_for(GTK_WINDOW(window->CreateUserWindow),GTK_WINDOW(widgets->Window));
+ gtk_widget_show(window->CreateUserWindow);
+ }
+ } else {
+ model = GTK_TREE_MODEL(widgets->GroupsList);
+ if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->GroupsTree)),&model,&iter)){
+ ubl_settings_usergroups_group_creation_window *window = yon_ubl_settings_usergroups_group_creation_new();
+ g_signal_connect(G_OBJECT(window->UserOkButton),"clicked",G_CALLBACK(on_subwindow_close),NULL);
+
+ gtk_window_set_transient_for(GTK_WINDOW(window->CreateGroupWindow),GTK_WINDOW(widgets->Window));
+ gtk_widget_show(window->CreateGroupWindow);
+ }
+ }
}
-// standard functions
-
-/**config_init()
- * [EN]
- *
- * [RU]
- * Функция инициализации всех параметров конфигурации
-*/
-void config_init(){
- main_config.always_open_documentation=0;
- main_config.socket_id=-1;
- main_config.save_socket_id=-1;
- main_config.load_socket_id=-1;
- main_config.lock_help=0;
- main_config.lock_help=0;
- main_config.lock_load_global=0;
- main_config.lock_save_global=0;
- main_config.lock_save_local=0;
+void on_main_delete(GtkWidget *self, main_window *widgets){
+ GtkTreeModel *model;
+ GtkWidget *cur_tree;
+ GtkTreeIter iter;
+ if (gtk_notebook_get_current_page(GTK_NOTEBOOK(widgets->MainNotebook))==0){
+ model = GTK_TREE_MODEL(widgets->UsersList);
+ cur_tree=widgets->UsersTree;
+ } else {
+ model = GTK_TREE_MODEL(widgets->GroupsList);
+ cur_tree=widgets->GroupsTree;
+ }
+ if(gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(cur_tree)),&model,&iter)){
+ gtk_list_store_remove(GTK_LIST_STORE(model),&iter);
+ }
}
-/**yon_main_window_complete(main_window *widgets)
- * [EN]
- *
- * [RU]
- * Функция настройки основного окна приложения. [widgets] - структура со стандартным интерфейсом.
-*/
-void yon_main_window_complete(main_window *widgets){
- widgets = realloc(widgets,sizeof(main_window));
- GtkBuilder *builder = gtk_builder_new_from_resource(glade_path);
- gtk_box_pack_start(GTK_BOX(widgets->InterfaceBox),yon_gtk_builder_get_widget(builder,"PlugBox"),1,1,0);
- widgets->button1 = yon_gtk_builder_get_widget(builder,"button1");
- widgets->button2 = yon_gtk_builder_get_widget(builder,"button2");
- widgets->button3 = yon_gtk_builder_get_widget(builder,"button3");
- widgets->AddButton = yon_gtk_builder_get_widget(builder,"AddButton");
- widgets->EditButton = yon_gtk_builder_get_widget(builder,"EditButton");
- widgets->DeleteButton = yon_gtk_builder_get_widget(builder,"DeleteButton");
- widgets->UpdateButton = yon_gtk_builder_get_widget(builder,"UpdateButton");
- widgets->UsersTree = yon_gtk_builder_get_widget(builder,"UsersTree");
- widgets->GroupsTree = yon_gtk_builder_get_widget(builder,"GroupsTree");
-
- main_config.usersListStore = GTK_LIST_STORE(gtk_builder_get_object(builder,"UsersList"));
+
+/**config_init()
+ * [EN]
+ *
+ * [RU]
+ * Функция инициализации всех параметров конфигурации
+*/
+void config_init(){
+ main_config.always_open_documentation=0;
+ main_config.socket_id=-1;
+ main_config.save_socket_id=-1;
+ main_config.load_socket_id=-1;
+ main_config.lock_help=0;
+ main_config.lock_help=0;
+ main_config.lock_load_global=0;
+ main_config.lock_save_global=0;
+ main_config.lock_save_local=0;
+}
+
+/**yon_main_window_complete(main_window *widgets)
+ * [EN]
+ *
+ * [RU]
+ * Функция настройки основного окна приложения. [widgets] - структура со стандартным интерфейсом.
+*/
+void yon_main_window_complete(main_window *widgets){
+ widgets = yon_remalloc(widgets,sizeof(main_window));
+ GtkBuilder *builder = gtk_builder_new_from_resource(glade_path);
+ gtk_box_pack_start(GTK_BOX(widgets->InterfaceBox),yon_gtk_builder_get_widget(builder,"PlugBox"),1,1,0);
+ // Custom widgets configuration
+
+ widgets->CacheAlgList=GTK_LIST_STORE(gtk_builder_get_object(builder,"CacheAlgList"));
+ widgets->GroupsList=GTK_LIST_STORE(gtk_builder_get_object(builder,"GroupsList"));
+ widgets->UsersList=GTK_LIST_STORE(gtk_builder_get_object(builder,"UsersList"));
+ widgets->PlugBox=yon_gtk_builder_get_widget(builder,"PlugBox");
+ widgets->button1=yon_gtk_builder_get_widget(builder,"button1");
+ widgets->button2=yon_gtk_builder_get_widget(builder,"button2");
+ widgets->button3=yon_gtk_builder_get_widget(builder,"button3");
+ widgets->AddButton=yon_gtk_builder_get_widget(builder,"AddButton");
+ widgets->EditButton=yon_gtk_builder_get_widget(builder,"EditButton");
+ widgets->DeleteButton=yon_gtk_builder_get_widget(builder,"DeleteButton");
+ widgets->UpdateButton=yon_gtk_builder_get_widget(builder,"UpdateButton");
+ widgets->UsersTree=yon_gtk_builder_get_widget(builder,"UsersTree");
+ widgets->GroupsTree=yon_gtk_builder_get_widget(builder,"GroupsTree");
+ widgets->MainNotebook=yon_gtk_builder_get_widget(builder,"MainNotebook");
+
+ main_config.usersListStore = GTK_LIST_STORE(gtk_builder_get_object(builder,"UsersList"));
main_config.groupsListStore = GTK_LIST_STORE(gtk_builder_get_object(builder,"GroupsList"));
@@ -169,96 +327,97 @@ void yon_main_window_complete(main_window *widgets){
}
/* Signal connection | Присоединение сигналов */
- g_signal_connect(G_OBJECT(widgets->AddButton),"clicked",G_CALLBACK(on_user_add),widgets);
- g_signal_connect(G_OBJECT(widgets->EditButton),"clicked",G_CALLBACK(on_user_edit),widgets);
- g_signal_connect(G_OBJECT(widgets->DeleteButton),"clicked",G_CALLBACK(on_user_delete),widgets);
+ g_signal_connect(G_OBJECT(widgets->AddButton),"clicked",G_CALLBACK(on_main_add),widgets);
+ g_signal_connect(G_OBJECT(widgets->EditButton),"clicked",G_CALLBACK(on_main_edit),widgets);
+ g_signal_connect(G_OBJECT(widgets->DeleteButton),"clicked",G_CALLBACK(on_main_delete),widgets);
g_signal_connect(G_OBJECT(widgets->button3),"clicked",G_CALLBACK(on_standard_groups_open),widgets);
- // g_signal_connect(G_OBJECT(widgets->),"clicked",G_CALLBACK(on_def_groups_open),widgets);
+ g_signal_connect(G_OBJECT(widgets->button2),"clicked",G_CALLBACK(on_ubl_settings_usergroups_additional_settings_open),widgets);
+ g_signal_connect(G_OBJECT(widgets->button1),"clicked",G_CALLBACK(on_settings_usergroups_system_open),widgets);
gtk_widget_show(widgets->Window);
-}
-
-int main(int argc, char *argv[]){
- local=setlocale(LC_ALL, "");
- textdomain (LocaleName);
- config_init();
- int option_index=0;
- int show_help=0;
- int debug_mode=0;
- {
- struct option long_options[] = {
- {"help", 0, 0, 'h'},
- {"version", 0, 0, 'V'},
- {"lock-help", 0,0, 1},
- {"lock-save", 0,0, 2},
- {"lock-save-local", 0,0, 3},
- {"lock-save-global", 0,0, 4},
- {"lock-load-global", 0,0, 5},
- {"socket-id", 1, 0, 's'},
- {"socket-ext-id", 1,0, 'e'},
- {"socket-trd-id", 1,0, 't'},
- {"clear-config", 0,0, 'c'},
- { NULL, 0, NULL, 0 }
- };
- for (int i=0;i
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include "../compile/ubl-cmake.h"
-#ifdef WEBKIT_FOUND
- #include
-#endif
-#include "ubl-strings.h"
-
-#define WIKI_LINK "https://wiki.ublinux.ru/ru/Программное_обеспечение/Программы_и_утилиты/Все/ubl-settings-usergroups"
-
-#define _(String) gettext(String)
-
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include "../compile/ubl-cmake.h"
+#ifdef WEBKIT_FOUND
+ #include
+#endif
+#include "ubl-strings.h"
+
+#define WIKI_LINK "https://wiki.ublinux.ru/ru/Программное_обеспечение/Программы_и_утилиты/Все/ubl-settings-usergroups"
+
+#define _(String) gettext(String)
+
#define glade_path "/com/ublinux/ui/ubl-settings-usergroups.glade"
-#define glade_path_user "/com/ublinux/ui/ubl-settings-usergroups-user.glade"
-#define glade_path_groups "/com/ublinux/ui/ubl-settings-usergroups-group.glade"
-#define glade_path_additional "/com/ublinux/ui/ubl-settings-usergroups-additional-settings.glade"
-#define glade_path_group_creation "/com/ublinux/ui/ubl-settings-usergroups-group-creation.glade"
-#define glade_path_password "/com/ublinux/ui/ubl-settings-usergroups-password.glade"
-#define glade_path_system "/com/ublinux/ui/ubl-settings-usergroups-system.glade"
+#define glade_path_ubl_settings_usergroups_additional_settings "/com/ublinux/ui/ubl-settings-usergroups-additional-settings.glade"
+#define glade_path_ubl_settings_usergroups_group_creation "/com/ublinux/ui/ubl-settings-usergroups-group-creation.glade"
+#define glade_path_ubl_settings_usergroups_group "/com/ublinux/ui/ubl-settings-usergroups-group.glade"
+#define glade_path_ubl_settings_usergroups_password "/com/ublinux/ui/ubl-settings-usergroups-password.glade"
+#define glade_path_ubl_settings_usergroups_system "/com/ublinux/ui/ubl-settings-usergroups-system.glade"
+#define glade_path_ubl_settings_usergroups_user "/com/ublinux/ui/ubl-settings-usergroups-user.glade"
+
#define banner_path "/com/ublinux/images/ubl-settings-usergroups-banner.png"
#define CssPath "/com/ublinux/css/ubl-settings-usergroups.css"
-#define config_path yon_char_unite(yon_ubl_user_get_home_directory(),"/.config/",LocaleName,"/",LocaleName,".conf",NULL)
-
-#define LocalePath "/usr/share/locale"
-#define LocaleName "ubl-settings-usergroups"
-
-#define clear_config_both_command "ubconfig remove TEMP_SECTION TEMP_PATAMETER"
-#define clear_config_global_command "ubconfig --target global remove TEMP_SECTION TEMP_PATAMETER"
-#define clear_config_local_command "ubconfig --target system remove TEMP_SECTION TEMP_PATAMETER"
-
-#define yon_col(mean) yon_char_append(mean,":")
-
-#define LocalePath "/usr/share/locale"
-#define LocaleName "ubl-settings-usergroups"
-typedef char* string;
+#define config_path yon_char_unite(yon_ubl_user_get_home_directory(),"/.config/",LocaleName,"/",LocaleName,".conf",NULL)
+
+#define LocalePath "/usr/share/locale"
+#define LocaleName "ubl-settings-usergroups"
+
+#define clear_config_both_command "ubconfig remove TEMP_SECTION TEMP_PATAMETER"
+#define clear_config_global_command "ubconfig --target global remove TEMP_SECTION TEMP_PATAMETER"
+#define clear_config_local_command "ubconfig --target system remove TEMP_SECTION TEMP_PATAMETER"
+
+typedef char* string;
string version_application;
-
-char *local;
-
-typedef struct {
-// Standard config. DO NOT EDIT - MUST BE SAME AS ublsettings-ui's template_config STRUCT {
- int socket_id;
- int load_socket_id;
- int save_socket_id;
-
- int lock_help;
- int lock_save_local;
- int lock_save_global;
- int lock_load_global;
-
- int always_open_documentation;
-// } Standard config. DO NOT EDIT - MUST BE SAME AS ublsettings-ui's template_config STRUCT
-// Type custom parameters below:
+
+char *local;
+
+typedef struct {
+// Standard config. DO NOT EDIT - MUST BE SAME AS ublsettings-ui's template_config STRUCT {
+ int socket_id;
+ int load_socket_id;
+ int save_socket_id;
+
+ int lock_help;
+ int lock_save_local;
+ int lock_save_global;
+ int lock_load_global;
+
+ int always_open_documentation;
+// } Standard config. DO NOT EDIT - MUST BE SAME AS ublsettings-ui's template_config STRUCT
+// Type custom parameters below: :
GtkListStore *usersListStore;
GtkListStore *groupsListStore;
- } config;
-
-typedef struct {
- // Standard widgets. DO NOT EDIT - MUST BE SAME AS ublsettings-ui's template_main_window STRUCT {
- GtkWidget *Window;
- GtkWidget *HeadLabel;
- GtkWidget *PlugBox;
-
- GtkWidget *HeadOverlay;
- GtkWidget *HeadImage;
- GtkWidget *HeadBox;
- GtkWidget *HeadTitleLabel;
- GtkWidget *HeadInfoLabel;
-
- GtkWidget *StatusBox;
- GtkWidget *StatusIcon;
- GtkWidget *StatusLabel;
-
- GtkWidget *SaveMenuItem;
- GtkWidget *SaveGlobalMenuItem;
- GtkWidget *SaveLocalMenuItem;
- GtkWidget *RightBox;
-
- GtkWidget *LoadGlobalMenuItem;
- GtkWidget *LoadLocalMenuItem;
- GtkWidget *LeftBox;
-
- GtkWidget *DocumentationMenuItem;
- GtkWidget *AboutMenuItem;
-
- GtkWidget *InterfaceBox;
-// } Standard widgets. DO NOT EDIT - MUST BE SAME AS ublsettings-ui's template_main_window STRUCT
-// Type custom parameters below:
- GtkWidget *button1;
- GtkWidget *button2;
- GtkWidget *button3;
- GtkWidget *AddButton;
- GtkWidget *EditButton;
- GtkWidget *DeleteButton;
- GtkWidget *UpdateButton;
-
- GtkWidget *UsersTree;
- GtkWidget *GroupsTree;
-
-} main_window;
-
-typedef struct {
- GtkWidget *Window;
-
- GtkWidget *HatText;
- GtkWidget *HeaderText;
- GtkWidget *InfoText;
- GtkWidget *AlwaysOpenCheck;
-
- GtkWidget *CloseButton;
- GtkWidget *AcceptButton;
-} documentation_confirmation_window;
-
-typedef struct {
-GtkWidget *GroupsWindow;
-GtkWidget *GroupsTree;
-GtkWidget *GroupsCancelButton;
-GtkWidget *GroupsOkButton;
-} groups_window;
-
-typedef struct {
-GtkWidget *CreateUserWindow;
-GtkWidget *userUIDAutoCheck;
-GtkWidget *userUIDEntry;
-GtkWidget *userLoginEntry;
-GtkWidget *userPasswordCombo;
-GtkWidget *userPasswordEntry;
-GtkWidget *userPasswordButton;
-GtkWidget *userUserNameEntry;
-GtkWidget *userGroupsCheck;
-GtkWidget *userGroupsEntry;
-GtkWidget *UserGroupsButton;
-GtkWidget *userCreateHomeFolderCheck;
-GtkWidget *userHomeFolderEntry;
-GtkWidget *userHomeFolderButton;
-GtkWidget *userAdditionalGroupsEntry;
-GtkWidget *userAdditionalGroupsButton;
-GtkWidget *userPasswordChangedEntry;
-GtkWidget *userPasswordExpirationEntry;
-GtkWidget *userPasswordExpirationButton;
-GtkWidget *userPasswordChangeDelayMinimumSpin;
-GtkWidget *userPasswordChangeDelayMaximumSpin;
-GtkWidget *userWarningSpin;
-GtkWidget *userActivitySpin;
-GtkWidget *userForceChangeCheck;
-GtkWidget *userShellCombo;
-GtkWidget *userShellEntry;
-GtkWidget *userHomeCombo;
-GtkWidget *userHomeEntry;
-GtkWidget *userHomeButton;
-GtkWidget *userCreateSystemCheck;
-GtkWidget *userCreateUnuniqueCheck;
-GtkWidget *userDontCheckCheck;
-GtkWidget *userSyncSAMBACheck;
-GtkWidget *userDeactivatedCheck;
-GtkWidget *userExtraOptionsEntry;
-GtkWidget *UserCancelButton;
-GtkWidget *UserOkButton;
-GtkWidget *userTitleNameLabel;
-} user_window;
-
-typedef struct {
-GtkWidget *Window;
-GtkWidget *StatusBox;
-GtkWidget *DefaultUserNameEntry;
-GtkWidget *DefaultUserAdministratorCheck;
-GtkWidget *DefaultPasswordCombo;
-GtkWidget *DefaultPasswordEntry;
-GtkWidget *RootPasswordCombo;
-GtkWidget *RootPasswordEntry;
-GtkWidget *PasswordHashCombo;
-GtkWidget *CancelButton;
-GtkWidget *AcceptButton;
-
-} additional_config_window;
-
-main_window *setup_window();
\ No newline at end of file
+
+} config;
+
+typedef struct {
+// Standard widgets. DO NOT EDIT - MUST BE SAME AS ublsettings-ui's template_main_window STRUCT {
+ GtkWidget *Window;
+ GtkWidget *HeadLabel;
+ GtkWidget *PlugBox;
+
+ GtkWidget *HeadOverlay;
+ GtkWidget *HeadImage;
+ GtkWidget *HeadBox;
+ GtkWidget *HeadTitleLabel;
+ GtkWidget *HeadInfoLabel;
+
+ GtkWidget *StatusBox;
+ GtkWidget *StatusIcon;
+ GtkWidget *StatusLabel;
+
+ GtkWidget *SaveMenuItem;
+ GtkWidget *SaveGlobalMenuItem;
+ GtkWidget *SaveLocalMenuItem;
+ GtkWidget *RightBox;
+
+ GtkWidget *LoadGlobalMenuItem;
+ GtkWidget *LoadLocalMenuItem;
+ GtkWidget *LeftBox;
+
+ GtkWidget *DocumentationMenuItem;
+ GtkWidget *AboutMenuItem;
+
+ GtkWidget *InterfaceBox;
+// } Standard widgets. DO NOT EDIT - MUST BE SAME AS ublsettings-ui's template_main_window STRUCT
+// Type custom parameters below:
+ GtkListStore *CacheAlgList;
+ GtkListStore *GroupsList;
+ GtkListStore *UsersList;
+ GtkWidget *button1;
+ GtkWidget *button2;
+ GtkWidget *button3;
+ GtkWidget *AddButton;
+ GtkWidget *EditButton;
+ GtkWidget *DeleteButton;
+ GtkWidget *UpdateButton;
+ GtkWidget *UsersTree;
+ GtkWidget *GroupsTree;
+ GtkWidget *MainNotebook;
+
+} main_window;
+
+
+typedef struct {
+ GtkWidget *Window;
+
+ GtkWidget *AlwaysOpenCheck;
+
+ GtkWidget *CloseButton;
+ GtkWidget *AcceptButton;
+} documentation_confirmation_window;
+
+typedef struct{
+ GtkWidget *Window;
+ GtkWidget *StatusBox;
+ GtkWidget *DefaultUserNameEntry;
+ GtkWidget *DefaultUserAdministratorCheck;
+ GtkWidget *DefaultPasswordCombo;
+ GtkWidget *DefaultPasswordEntry;
+ GtkWidget *RootPasswordCombo;
+ GtkWidget *RootPasswordEntry;
+ GtkWidget *PasswordHashCombo;
+ GtkWidget *CancelButton;
+ GtkWidget *AcceptButton;
+} ubl_settings_usergroups_additional_settings_window;
+
+typedef struct{
+ GtkWidget *CreateGroupWindow;
+ GtkWidget *StatusBox;
+ GtkWidget *userUIDAutoCheck;
+ GtkWidget *userUIDEntry;
+ GtkWidget *userLoginEntry;
+ GtkWidget *userGroupsEntry;
+ GtkWidget *UserAdditionalGroupsButton;
+ GtkWidget *UserCancelButton;
+ GtkWidget *UserOkButton;
+} ubl_settings_usergroups_group_creation_window;
+
+typedef struct{
+ GtkWidget *groupsAdmGroupCheck;
+ GtkWidget *groupsAudioGroupCheck;
+ GtkWidget *groupsAutologinGroupCheck;
+ GtkWidget *groupsAvahiGroupCheck;
+ GtkWidget *groupsBinGroupCheck;
+ GtkWidget *groupsBrlapiGroupCheck;
+ GtkWidget *groupsBrittyGroupCheck;
+ GtkWidget *groupsBumblbeeGroupCheck;
+ GtkWidget *groupsChronyGroupCheck;
+ GtkWidget *groupsClamavGroupCheck;
+ GtkWidget *groupsCockpitWsGroupCheck;
+ GtkWidget *groupsCockpitWsinstanceGroupCheck;
+ GtkWidget *groupsColordGroupCheck;
+ GtkWidget *GroupsWindow;
+ GtkWidget *GroupsTree;
+ GtkWidget *GroupsCancelButton;
+ GtkWidget *GroupsOkButton;
+} ubl_settings_usergroups_group_window;
+
+typedef struct{
+ GtkWidget *CreateGroupWindow;
+ GtkWidget *StatusBox;
+ GtkWidget *UserCancelButton;
+ GtkWidget *UserOkButton;
+} ubl_settings_usergroups_password_window;
+
+typedef struct{
+ GtkListStore *liststore1;
+ GtkListStore *liststore2;
+ GtkWidget *MonitorWindow;
+ GtkWidget *SettingsBar;
+} ubl_settings_usergroups_system_window;
+
+typedef struct{
+ GtkWidget *CreateUserWindow;
+ GtkWidget *StatusBox;
+ GtkWidget *userUIDAutoCheck;
+ GtkWidget *userUIDEntry;
+ GtkWidget *userLoginEntry;
+ GtkWidget *userPasswordCombo;
+ GtkWidget *userPasswordEntry;
+ GtkWidget *userPasswordButton;
+ GtkWidget *userUserNameEntry;
+ GtkWidget *userGroupsCheck;
+ GtkWidget *userGroupsEntry;
+ GtkWidget *UserGroupsButton;
+ GtkWidget *userAdditionalGroupsEntry;
+ GtkWidget *userAdditionalGroupsButton;
+ GtkWidget *userPasswordChangedEntry;
+ GtkWidget *userPasswordExpirationEntry;
+ GtkWidget *userPasswordExpirationButton;
+ GtkWidget *userPasswordChangeDelayMinimumSpin;
+ GtkWidget *userPasswordChangeDelayMaximumSpin;
+ GtkWidget *userWarningSpin;
+ GtkWidget *userActivitySpin;
+ GtkWidget *userForceChangeCheck;
+ GtkWidget *userShellCombo;
+ GtkWidget *userShellEntry;
+ GtkWidget *userHomeCombo;
+ GtkWidget *userHomeEntry;
+ GtkWidget *userHomeButton;
+ GtkWidget *userCreateSystemCheck;
+ GtkWidget *userCreateUnuniqueCheck;
+ GtkWidget *userDontCheckCheck;
+ GtkWidget *userSyncSAMBACheck;
+ GtkWidget *userDeactivatedCheck;
+ GtkWidget *userExtraOptionsEntry;
+ GtkWidget *UserCancelButton;
+ GtkWidget *UserOkButton;
+} ubl_settings_usergroups_user_window;
+
+
diff --git a/ubl-settings-usergroups-additional-settings.glade b/ubl-settings-usergroups-additional-settings.glade
index 53e190c..d5a324f 100644
--- a/ubl-settings-usergroups-additional-settings.glade
+++ b/ubl-settings-usergroups-additional-settings.glade
@@ -72,6 +72,7 @@
True
@@ -130,6 +131,7 @@
- True
+ False
True
1
@@ -149,7 +151,9 @@
True
30
False
- ●
+ *
+ com.ublinux.ubl-settings-usergroups.key-symbolic
+ ********
password
@@ -187,6 +191,7 @@
- True
+ False
True
1
@@ -206,7 +211,9 @@
True
30
False
- ●
+ *
+ com.ublinux.ubl-settings-usergroups.key-symbolic
+ ********
password
diff --git a/ubl-settings-usergroups-group-creation.glade b/ubl-settings-usergroups-group-creation.glade
index e3d234c..b078dda 100644
--- a/ubl-settings-usergroups-group-creation.glade
+++ b/ubl-settings-usergroups-group-creation.glade
@@ -1,16 +1,17 @@
-
+
+
diff --git a/ubl-settings-usergroups-system.glade b/ubl-settings-usergroups-system.glade
index 9936330..0403f40 100644
--- a/ubl-settings-usergroups-system.glade
+++ b/ubl-settings-usergroups-system.glade
@@ -1,20 +1,21 @@
-
+
+
True
False
- gtk-missing-image
+ com.ublinux.ubl-settings-usergroups.funnel-symbolic
True
False
- gtk-missing-image
+ com.ublinux.ubl-settings-usergroups.sync-symbolic
-
+
800
600
False
diff --git a/ubl-settings-usergroups-user.glade b/ubl-settings-usergroups-user.glade
index 1b04071..fc66ccf 100644
--- a/ubl-settings-usergroups-user.glade
+++ b/ubl-settings-usergroups-user.glade
@@ -159,6 +159,7 @@
True
True
+ com.ublinux.ubl-settings-usergroups.profile-symbolic
login
@@ -196,8 +197,12 @@
True
False
+ 0
- Default
+ - No password required
+ - Set a password
+ - Encrypted password
@@ -212,6 +217,7 @@
True
False
*
+ com.ublinux.ubl-settings-usergroups.key-symbolic
False
False
******
diff --git a/ubl-settings-usergroups.glade b/ubl-settings-usergroups.glade
index 75af7f9..c7b056e 100644
--- a/ubl-settings-usergroups.glade
+++ b/ubl-settings-usergroups.glade
@@ -264,7 +264,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-
+
True
True