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.
131 lines
8.9 KiB
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();
|
|
} |