You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ubl-settings-usergroups/source/ubl-settings-usergroups.c

131 lines
8.9 KiB

#include <gtk/gtk.h>
#include "ubl-settings-usergroups.h"
void on_close_subwindow(GtkWidget *self){
gtk_widget_destroy(gtk_widget_get_toplevel(self));
}
void on_about_open(){
}
void on_open_users(){
GtkBuilder *builder=gtk_builder_new_from_file(glade_path);
users_window *widgets = malloc (sizeof(users_window));
widgets->window=yon_gtk_builder_get_widget(builder, "usersEditWindow");
}
void on_open_groups(){
GtkBuilder *builder=gtk_builder_new_from_file(glade_path);
groups_window *widgets = malloc (sizeof(groups_window));
widgets->window=yon_gtk_builder_get_widget(builder, "groupsEditWindow");
widgets->groupsTreeView=yon_gtk_builder_get_widget(builder, "groupsTreeView");
widgets->groupsGroupColumn=GTK_TREE_VIEW_COLUMN(gtk_builder_get_object(builder, "groupsGroupColumn"));
widgets->groupsEnabledColumn=GTK_TREE_VIEW_COLUMN(gtk_builder_get_object(builder, "groupsEnabledColumn"));
widgets->groupsCancelButton=yon_gtk_builder_get_widget(builder, "groupsCancelButton");
widgets->groupsOkButton=yon_gtk_builder_get_widget(builder, "groupsOkButton");
widgets->list=GTK_LIST_STORE(gtk_builder_get_object(builder, "liststore2"));
gtk_button_set_label(GTK_BUTTON(widgets->groupsCancelButton),_("Cancel"));
gtk_button_set_label(GTK_BUTTON(widgets->groupsOkButton),_("Ok"));
gtk_tree_view_column_set_title(GTK_TREE_VIEW_COLUMN(widgets->groupsGroupColumn),_("Group"));
gtk_tree_view_column_set_title(GTK_TREE_VIEW_COLUMN(widgets->groupsEnabledColumn),_("Enabled"));
g_signal_connect(G_OBJECT(widgets->groupsCancelButton), "clicked", G_CALLBACK(on_close_subwindow),NULL);
gtk_widget_show_all(widgets->window);
}
main_window *setup_main_window(){
main_window *widgets=NULL;
widgets=malloc(sizeof(main_window));
GtkBuilder *builder=gtk_builder_new_from_file(glade_path);
widgets->window=yon_gtk_builder_get_widget(builder,"MainWindow");
GtkListStore *list;
widgets->mainUserGroupsLabel=yon_gtk_builder_get_widget(builder,"mainUserGroupsLabel");
widgets->mainUserGroupsEntry=yon_gtk_builder_get_widget(builder,"mainUserGroupsEntry");
widgets->mainUserGroupsButton=yon_gtk_builder_get_widget(builder,"mainUserGroupsButton");
widgets->mainUserNameLabel=yon_gtk_builder_get_widget(builder,"mainUserNameLabel");
widgets->mainUserNameAdminCheck=yon_gtk_builder_get_widget(builder,"mainUserNameAdminCheck");
widgets->mainUserNameEntry=yon_gtk_builder_get_widget(builder,"mainUserNameEntry");
widgets->mainUserPasswordLabel=yon_gtk_builder_get_widget(builder,"mainUserPasswordLabel");
widgets->mainUserPasswordEntry=yon_gtk_builder_get_widget(builder,"mainUserPasswordEntry");
widgets->mainPasswordHashLabel=yon_gtk_builder_get_widget(builder,"mainPasswordHashLabel");
widgets->mainUserPasswordHashCombo=yon_gtk_builder_get_widget(builder,"mainUserPasswordHashCombo");
widgets->mainUserAutologinLabel=yon_gtk_builder_get_widget(builder,"mainUserAutologinLabel");
widgets->mainUserAutologinCombo=yon_gtk_builder_get_widget(builder,"mainUserAutologinCombo");
widgets->mainUpdateHomeDirLabel=yon_gtk_builder_get_widget(builder,"mainUpdateHomeDirLabel");
widgets->mainUpdateDirCheck=yon_gtk_builder_get_widget(builder,"mainUpdateDirCheck");
widgets->mainLoadUserProgramsLabel=yon_gtk_builder_get_widget(builder,"mainLoadUserProgramsLabel");
widgets->mainLoadUserProgramsEntry=yon_gtk_builder_get_widget(builder,"mainLoadUserProgramsEntry");
widgets->mainUserStringLabel=yon_gtk_builder_get_widget(builder,"mainUserStringLabel");
widgets->mainUserStringEntry=yon_gtk_builder_get_widget(builder,"mainUserStringEntry");
widgets->mainAddButton=yon_gtk_builder_get_widget(builder,"mainAddButton");
widgets->mainEditButton=yon_gtk_builder_get_widget(builder,"mainEditButton");
widgets->mainDeleteButton=yon_gtk_builder_get_widget(builder,"mainDeleteButton");
widgets->mainUIDColumn=GTK_TREE_VIEW_COLUMN(gtk_builder_get_object(builder,"mainUIDColumn"));
widgets->mainLoginColumn=GTK_TREE_VIEW_COLUMN(gtk_builder_get_object(builder,"mainLoginColumn"));
widgets->mainPasswordColumn=GTK_TREE_VIEW_COLUMN(gtk_builder_get_object(builder,"mainPasswordColumn"));
widgets->mainUserNameColumn=GTK_TREE_VIEW_COLUMN(gtk_builder_get_object(builder,"mainUserNameColumn"));
widgets->headerLoadGlobalConfigurationMenuItem=yon_gtk_builder_get_widget(builder,"headerLoadGlobalConfigurationMenuItem");
widgets->headerLoadLocalConfigurationMenuItem=yon_gtk_builder_get_widget(builder,"headerLoadLocalConfigurationMenuItem");
widgets->headerSaveGlobalLocalConfigurationMenuItem=yon_gtk_builder_get_widget(builder,"headerSaveGlobalLocalConfigurationMenuItem");
widgets->headerSaveGlobalConfigurationMenuItem=yon_gtk_builder_get_widget(builder,"headerSaveGlobalConfigurationMenuItem");
widgets->headerSaveLocalConfigurationMenuItem=yon_gtk_builder_get_widget(builder,"headerSaveLocalConfigurationMenuItem");
widgets->headerDocumentationMenuItem=yon_gtk_builder_get_widget(builder,"headerDocumentationMenuItem");
widgets->headerAboutMenuItem=yon_gtk_builder_get_widget(builder,"headerAboutMenuItem");
widgets->mainHeaderConfigLoadLabel=yon_gtk_builder_get_widget(builder,"mainHeaderConfigLoadLabel");
widgets->mainHeaderTitleLabel=yon_gtk_builder_get_widget(builder,"mainHeaderTitleLabel");
widgets->mainHeaderSaveConfigurationLabel=yon_gtk_builder_get_widget(builder,"mainHeaderSaveConfigurationLabel");
widgets->mainStatusBox=yon_gtk_builder_get_widget(builder,"mainStatusBox");
widgets->mainStatusIcon=yon_gtk_builder_get_widget(builder,"mainStatusIcon");
widgets->mainStatusLabel=yon_gtk_builder_get_widget(builder,"mainStatusLabel");
g_signal_connect(G_OBJECT(widgets->mainUserGroupsButton),"clicked", G_CALLBACK(on_open_groups),NULL);
g_signal_connect(G_OBJECT(widgets->window), "destroy", G_CALLBACK(gtk_main_quit), NULL);
gtk_label_set_text(GTK_LABEL(widgets->mainUserGroupsLabel),_("User groups (default)"));
gtk_label_set_text(GTK_LABEL(widgets->mainUserNameLabel),_("User name"));
gtk_button_set_label(GTK_BUTTON(widgets->mainUserNameAdminCheck),_("Administrator"));
gtk_label_set_text(GTK_LABEL(widgets->mainUserPasswordLabel),_("User password"));
gtk_label_set_text(GTK_LABEL(widgets->mainPasswordHashLabel),_("Password hash algorythm"));
gtk_label_set_text(GTK_LABEL(widgets->mainUserAutologinLabel),_("Autologin"));
gtk_label_set_text(GTK_LABEL(widgets->mainUpdateHomeDirLabel),_("Update HOME directory(ies)"));
gtk_button_set_label(GTK_BUTTON(widgets->mainUpdateDirCheck),_("Enabled"));
gtk_label_set_text(GTK_LABEL(widgets->mainLoadUserProgramsLabel),_("Automatically load user programs"));
gtk_label_set_text(GTK_LABEL(widgets->mainUserStringLabel),_("User string"));
gtk_tree_view_column_set_title(GTK_TREE_VIEW_COLUMN(widgets->mainUIDColumn),_("UID"));
gtk_tree_view_column_set_title(GTK_TREE_VIEW_COLUMN(widgets->mainLoginColumn),_("Login"));
gtk_tree_view_column_set_title(GTK_TREE_VIEW_COLUMN(widgets->mainPasswordColumn),_("Password"));
gtk_tree_view_column_set_title(GTK_TREE_VIEW_COLUMN(widgets->mainUserNameColumn),_("User Name"));
gtk_menu_item_set_label(GTK_MENU_ITEM(widgets->headerLoadGlobalConfigurationMenuItem),_("Load from global configuration"));
gtk_menu_item_set_label(GTK_MENU_ITEM(widgets->headerLoadLocalConfigurationMenuItem),_("Load from local configuration"));
gtk_menu_item_set_label(GTK_MENU_ITEM(widgets->headerSaveGlobalLocalConfigurationMenuItem),_("Save to global and local configuration"));
gtk_menu_item_set_label(GTK_MENU_ITEM(widgets->headerSaveGlobalConfigurationMenuItem),_("Save to global configuration"));
gtk_menu_item_set_label(GTK_MENU_ITEM(widgets->headerSaveLocalConfigurationMenuItem),_("Save to local configuration"));
gtk_menu_item_set_label(GTK_MENU_ITEM(widgets->headerDocumentationMenuItem),_("Documentation"));
gtk_menu_item_set_label(GTK_MENU_ITEM(widgets->headerAboutMenuItem),_("About"));
gtk_label_set_text(GTK_LABEL(widgets->mainHeaderConfigLoadLabel),_("Load"));
gtk_label_set_text(GTK_LABEL(widgets->mainHeaderTitleLabel),_("Users and groups"));
gtk_label_set_text(GTK_LABEL(widgets->mainHeaderSaveConfigurationLabel),_("Save"));
GtkWidget *Header = yon_gtk_builder_get_widget(builder,"headBox");
GtkWidget *Image = yon_gtk_builder_get_widget(builder,"mainHeadBackgroundImage");
GtkWidget *Overlay = yon_gtk_builder_get_widget(builder,"mainHeadOverlay");
yon_ubl_header_setup(Overlay,Header,Image,image_path);
widgets->mainUserAutologinCombo;
gtk_widget_show_all(widgets->window);
}
int main(int argc, char *argv[]){
textdomain (LocaleName);
gtk_init(&argc,&argv);
main_window *widgets=setup_main_window();
GtkCssProvider *css=gtk_css_provider_new();
gtk_css_provider_load_from_path(css,CssPath,NULL);
gtk_style_context_add_provider_for_screen(gdk_screen_get_default(),
GTK_STYLE_PROVIDER(css),
-1);
gtk_main();
}