#include #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(); }