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 True + com.ublinux.ubl-settings-usergroups.profile-symbolic True @@ -130,6 +131,7 @@ True False + 0 Default No password required @@ -138,7 +140,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 + 0 Default No password required @@ -195,7 +200,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 @@ - + + True False - avatar-default-symbolic + com.ublinux.ubl-settings-usergroups.profile-settings-symbolic True False - gtk-missing-image + com.ublinux.ubl-settings-usergroups.edit-symbolic True @@ -32,6 +33,7 @@ True False + 5 vertical 5 @@ -131,6 +133,7 @@ True True + com.ublinux.ubl-settings-usergroups.profile-symbolic login @@ -212,8 +215,6 @@ end 5 5 - 5 - 5 5 True @@ -270,7 +271,9 @@ True False - 12 + 5 + 5 + 5 True @@ -279,7 +282,7 @@ 5 - Allow creation of groups with ununique GID + Create group with ununique GID True True False @@ -326,9 +329,16 @@ True False + 0 + + Default + No password required + Set a password + Encrypted password + - False + True True 1 @@ -337,9 +347,13 @@ True True + False + * + com.ublinux.ubl-settings-usergroups.key-symbolic + ******** - False + True True 2 @@ -350,6 +364,9 @@ True True image2 + False @@ -372,14 +389,14 @@ True False - Additional settings + Additional configuration False True - 2 + 3 @@ -388,6 +405,7 @@ True False + True True diff --git a/ubl-settings-usergroups-group.glade b/ubl-settings-usergroups-group.glade index 60e8937..c9dd9a1 100644 --- a/ubl-settings-usergroups-group.glade +++ b/ubl-settings-usergroups-group.glade @@ -2,6 +2,7 @@ + True False @@ -217,7 +218,7 @@ 5 5 vertical - 10 + 5 True diff --git a/ubl-settings-usergroups-password.glade b/ubl-settings-usergroups-password.glade index 666a39c..48ad22c 100644 --- a/ubl-settings-usergroups-password.glade +++ b/ubl-settings-usergroups-password.glade @@ -1,21 +1,32 @@ - + + True False - gtk-missing-image + com.ublinux.ubl-settings-usergroups.view-symbolic True False - gtk-missing-image + com.ublinux.ubl-settings-usergroups.view-symbolic True False - gtk-missing-image + com.ublinux.ubl-settings-usergroups.view-symbolic + + + True + False + process-stop-symbolic + + + True + False + emblem-ok-symbolic False @@ -27,6 +38,7 @@ True False + 5 vertical 5 @@ -51,10 +63,7 @@ end 5 5 - 5 5 - 5 - 5 5 True @@ -103,6 +112,8 @@ True False + 5 + 5 vertical 5 @@ -127,6 +138,10 @@ True True + False + * + com.ublinux.ubl-settings-usergroups.key-symbolic + ******** True @@ -140,6 +155,9 @@ True True image3 + False @@ -176,6 +194,10 @@ True True + False + * + com.ublinux.ubl-settings-usergroups.key-symbolic + ******** True @@ -189,6 +211,9 @@ True True image1 + False @@ -249,6 +274,9 @@ True True image2 + False @@ -265,7 +293,7 @@ - True + False True 2 @@ -297,14 +325,4 @@ - - True - False - process-stop-symbolic - - - True - False - emblem-ok-symbolic - 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