Version 1 without localisation

pull/7/head
parent 561937b921
commit aa2930608d

@ -6,7 +6,7 @@ In order to build ubl-ubl-settings-usergroups you will need:
- CMake - CMake
- C compiler - C compiler
- GTK+ 3 & dependencies - GTK+ 3 & dependencies
- webkit2gtk (optional) - webkit2gtk
- [libublsettings-ui](https://gitea.ublinux.ru/Applications/libublsettings-ui) - [libublsettings-ui](https://gitea.ublinux.ru/Applications/libublsettings-ui)
Once you have all the necessary dependencies, you can use: Once you have all the necessary dependencies, you can use:

@ -12,18 +12,38 @@ void yon_save_proceed(char *section,YON_CONFIG_TYPE type){
} }
void on_filechooser_open(GtkWidget *self, GtkEntry *output_target){ 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){ 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){ 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->UserAdditionalGroupsButton=yon_gtk_builder_get_widget(builder,"UserAdditionalGroupsButton");
window->UserCancelButton=yon_gtk_builder_get_widget(builder,"UserCancelButton"); window->UserCancelButton=yon_gtk_builder_get_widget(builder,"UserCancelButton");
window->UserOkButton=yon_gtk_builder_get_widget(builder,"UserOkButton"); 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); g_signal_connect(G_OBJECT(window->UserCancelButton),"clicked",G_CALLBACK(on_subwindow_close),NULL);
return window; 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->GroupsTree=yon_gtk_builder_get_widget(builder,"GroupsTree");
window->GroupsCancelButton=yon_gtk_builder_get_widget(builder,"GroupsCancelButton"); window->GroupsCancelButton=yon_gtk_builder_get_widget(builder,"GroupsCancelButton");
window->GroupsOkButton=yon_gtk_builder_get_widget(builder,"GroupsOkButton"); window->GroupsOkButton=yon_gtk_builder_get_widget(builder,"GroupsOkButton");
g_signal_connect(G_OBJECT(window->GroupsCancelButton),"clicked",G_CALLBACK(on_subwindow_close),NULL); g_signal_connect(G_OBJECT(window->GroupsCancelButton),"clicked",G_CALLBACK(on_subwindow_close),NULL);
return window; 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->UserCancelButton=yon_gtk_builder_get_widget(builder,"UserCancelButton");
window->UserOkButton=yon_gtk_builder_get_widget(builder,"UserOkButton"); 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->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->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->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->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); g_signal_connect(G_OBJECT(window->userPasswordExpirationButton),"clicked",G_CALLBACK(on_expiration_clicked),window->userPasswordExpirationEntry);
return window; return window;
} }

@ -143,6 +143,12 @@ typedef struct{
GtkWidget *UserAdditionalGroupsButton; GtkWidget *UserAdditionalGroupsButton;
GtkWidget *UserCancelButton; GtkWidget *UserCancelButton;
GtkWidget *UserOkButton; GtkWidget *UserOkButton;
GtkWidget *AdditionalGroupsButton;
GtkWidget *UnuniqueGIDCheck;
GtkWidget *SystemGroupCheck;
GtkWidget *PasswordCombo;
GtkWidget *PasswordEntry;
GtkWidget *ChangePasswordButton;
} ubl_settings_usergroups_group_creation_window; } ubl_settings_usergroups_group_creation_window;
typedef struct{ typedef struct{
@ -218,3 +224,20 @@ typedef struct{
} ubl_settings_usergroups_user_window; } 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();

@ -17,6 +17,7 @@
<property name="height-request">350</property> <property name="height-request">350</property>
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="resizable">False</property> <property name="resizable">False</property>
<property name="modal">True</property>
<property name="icon-name">com.ublinux.ubl-settings-usergroups</property> <property name="icon-name">com.ublinux.ubl-settings-usergroups</property>
<child> <child>
<object class="GtkBox"> <object class="GtkBox">

@ -78,7 +78,7 @@
</packing> </packing>
</child> </child>
<child> <child>
<object class="GtkCheckButton" id="userUIDAutoCheck"> <object class="GtkCheckButton" id="GIDAutoCheck">
<property name="label" translatable="yes">Automatically</property> <property name="label" translatable="yes">Automatically</property>
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">True</property> <property name="can-focus">True</property>
@ -179,7 +179,7 @@
</packing> </packing>
</child> </child>
<child> <child>
<object class="GtkButton" id="UserAdditionalGroupsButton"> <object class="GtkButton" id="AdditionalGroupsButton">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">True</property> <property name="can-focus">True</property>
<property name="receives-default">True</property> <property name="receives-default">True</property>
@ -281,7 +281,7 @@
<property name="orientation">vertical</property> <property name="orientation">vertical</property>
<property name="spacing">5</property> <property name="spacing">5</property>
<child> <child>
<object class="GtkCheckButton"> <object class="GtkCheckButton" id="UnuniqueGIDCheck">
<property name="label" translatable="yes">Create group with ununique GID</property> <property name="label" translatable="yes">Create group with ununique GID</property>
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">True</property> <property name="can-focus">True</property>
@ -295,7 +295,7 @@
</packing> </packing>
</child> </child>
<child> <child>
<object class="GtkCheckButton"> <object class="GtkCheckButton" id="SystemGroupCheck">
<property name="label" translatable="yes">Create system group</property> <property name="label" translatable="yes">Create system group</property>
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">True</property> <property name="can-focus">True</property>
@ -326,7 +326,7 @@
</packing> </packing>
</child> </child>
<child> <child>
<object class="GtkComboBoxText"> <object class="GtkComboBoxText" id="PasswordCombo">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="active">0</property> <property name="active">0</property>
@ -344,7 +344,7 @@
</packing> </packing>
</child> </child>
<child> <child>
<object class="GtkEntry"> <object class="GtkEntry" id="PasswordEntry">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">True</property> <property name="can-focus">True</property>
<property name="visibility">False</property> <property name="visibility">False</property>
@ -359,7 +359,7 @@
</packing> </packing>
</child> </child>
<child> <child>
<object class="GtkButton"> <object class="GtkButton" id="ChangePasswordButton">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">True</property> <property name="can-focus">True</property>
<property name="receives-default">True</property> <property name="receives-default">True</property>

Loading…
Cancel
Save