|
|
|
@ -14,8 +14,8 @@ int yon_load_proceed(YON_CONFIG_TYPE type){
|
|
|
|
yon_config_load_config(type,config_get_command("global"),NULL);
|
|
|
|
yon_config_load_config(type,config_get_command("global"),NULL);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (type==YON_CONFIG_LOCAL){
|
|
|
|
if (type==YON_CONFIG_LOCAL){
|
|
|
|
yon_config_load_config(type,config_get_command("system"),NULL);
|
|
|
|
|
|
|
|
yon_config_load_config(YON_CONFIG_GLOBAL,config_get_global_only_parameters,NULL);
|
|
|
|
yon_config_load_config(YON_CONFIG_GLOBAL,config_get_global_only_parameters,NULL);
|
|
|
|
|
|
|
|
yon_config_load_config(type,config_get_command("system"),NULL);
|
|
|
|
yon_config_set_status(DEFAULTPASSWD_parameter,-2);
|
|
|
|
yon_config_set_status(DEFAULTPASSWD_parameter,-2);
|
|
|
|
yon_config_set_status(DEFAULTROOTPASSWD_parameter,-2);
|
|
|
|
yon_config_set_status(DEFAULTROOTPASSWD_parameter,-2);
|
|
|
|
int size;
|
|
|
|
int size;
|
|
|
|
@ -1854,6 +1854,93 @@ void on_main_delete(GtkWidget *, main_window *widgets){
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void on_user_info_print(GtkWidget *,yon_user_info_window *window){
|
|
|
|
|
|
|
|
filechooser_window *dialog = yon_file_chooser_window_new(GTK_FILE_CHOOSER_ACTION_SAVE);
|
|
|
|
|
|
|
|
yon_gtk_window_setup(GTK_WINDOW(dialog->Window),GTK_WINDOW(window->Window),SAVE_USER_INFO_LABEL,icon_path,"filechooser_window");
|
|
|
|
|
|
|
|
GtkFileFilter *filter = gtk_file_filter_new();
|
|
|
|
|
|
|
|
gtk_file_filter_add_pattern(filter,"*.pdf");
|
|
|
|
|
|
|
|
gtk_file_filter_set_name(filter,"PDF");
|
|
|
|
|
|
|
|
gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(dialog->MainFileChooser),filter);
|
|
|
|
|
|
|
|
if (yon_file_chooser_start(dialog)==GTK_RESPONSE_APPLY){
|
|
|
|
|
|
|
|
char *path = dialog->last_success_selection;
|
|
|
|
|
|
|
|
char *command = user_info_pdf_command(window->target_user,path);
|
|
|
|
|
|
|
|
yon_launch(command);
|
|
|
|
|
|
|
|
free(command);
|
|
|
|
|
|
|
|
free(dialog);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void on_user_info_save(GtkWidget *,yon_user_info_window *window){
|
|
|
|
|
|
|
|
filechooser_window *dialog = yon_file_chooser_window_new(GTK_FILE_CHOOSER_ACTION_SAVE);
|
|
|
|
|
|
|
|
yon_gtk_window_setup(GTK_WINDOW(dialog->Window),GTK_WINDOW(window->Window),SAVE_USER_INFO_LABEL,icon_path,"filechooser_window");
|
|
|
|
|
|
|
|
GtkFileFilter *filter = gtk_file_filter_new();
|
|
|
|
|
|
|
|
gtk_file_filter_add_pattern(filter,"*.txt");
|
|
|
|
|
|
|
|
gtk_file_filter_set_name(filter,"TXT");
|
|
|
|
|
|
|
|
gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(dialog->MainFileChooser),filter);
|
|
|
|
|
|
|
|
if (yon_file_chooser_start(dialog)==GTK_RESPONSE_APPLY){
|
|
|
|
|
|
|
|
char *path = dialog->last_success_selection;
|
|
|
|
|
|
|
|
char *command = user_info_txt_command(window->target_user,path);
|
|
|
|
|
|
|
|
yon_launch(command);
|
|
|
|
|
|
|
|
free(command);
|
|
|
|
|
|
|
|
free(dialog);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
yon_user_info_window *yon_user_info_window_new(){
|
|
|
|
|
|
|
|
yon_user_info_window *window = new(yon_user_info_window);
|
|
|
|
|
|
|
|
GtkBuilder *builder = gtk_builder_new_from_resource(ui_glade_path_debug);
|
|
|
|
|
|
|
|
window->Window = yon_gtk_builder_get_widget(builder,"Window");
|
|
|
|
|
|
|
|
window->Terminal = yon_gtk_builder_get_widget(builder,"DebuggerTerminal");
|
|
|
|
|
|
|
|
window->HeaderImage = yon_gtk_builder_get_widget(builder,"HeaderImage");
|
|
|
|
|
|
|
|
window->PrintButton = gtk_button_new_from_icon_name(icon_path_print,GTK_ICON_SIZE_BUTTON);
|
|
|
|
|
|
|
|
window->SaveButton = gtk_button_new_from_icon_name(icon_path_save,GTK_ICON_SIZE_BUTTON);
|
|
|
|
|
|
|
|
window->target_user = NULL;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
g_signal_connect(G_OBJECT(window->PrintButton),"clicked",G_CALLBACK(on_user_info_print),window);
|
|
|
|
|
|
|
|
g_signal_connect(G_OBJECT(window->SaveButton),"clicked",G_CALLBACK(on_user_info_save),window);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
gtk_image_set_from_icon_name(GTK_IMAGE(window->HeaderImage),icon_path,GTK_ICON_SIZE_BUTTON);
|
|
|
|
|
|
|
|
gtk_widget_set_tooltip_markup(window->PrintButton,PRINT_TOOLTIP_LABEL);
|
|
|
|
|
|
|
|
gtk_widget_set_tooltip_markup(window->SaveButton,SAVE_LABEL);
|
|
|
|
|
|
|
|
GtkWidget *titlebar = gtk_window_get_titlebar(GTK_WINDOW(window->Window));
|
|
|
|
|
|
|
|
gtk_header_bar_pack_end(GTK_HEADER_BAR(titlebar),window->SaveButton);
|
|
|
|
|
|
|
|
gtk_header_bar_pack_end(GTK_HEADER_BAR(titlebar),window->PrintButton);
|
|
|
|
|
|
|
|
gtk_widget_show(window->PrintButton);
|
|
|
|
|
|
|
|
gtk_widget_show(window->SaveButton);
|
|
|
|
|
|
|
|
return window;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void on_user_info(GtkWidget *,main_window *widgets){
|
|
|
|
|
|
|
|
int page = gtk_notebook_get_current_page(GTK_NOTEBOOK(widgets->MainNotebook));
|
|
|
|
|
|
|
|
char *target_user = NULL;
|
|
|
|
|
|
|
|
GtkTreeIter iter;
|
|
|
|
|
|
|
|
GtkTreeModel *model = NULL;
|
|
|
|
|
|
|
|
switch (page){
|
|
|
|
|
|
|
|
case 1:
|
|
|
|
|
|
|
|
case 3:{
|
|
|
|
|
|
|
|
return;
|
|
|
|
|
|
|
|
} break;
|
|
|
|
|
|
|
|
case 0:{
|
|
|
|
|
|
|
|
if (!gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->UsersTree)),&model,&iter)){
|
|
|
|
|
|
|
|
return;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
} break;
|
|
|
|
|
|
|
|
case 2:{
|
|
|
|
|
|
|
|
if (!gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->SystemTree)),&model,&iter)){
|
|
|
|
|
|
|
|
return;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
gtk_tree_model_get(model,&iter,2,&target_user,-1);
|
|
|
|
|
|
|
|
char *command = user_info_command(target_user);
|
|
|
|
|
|
|
|
// yon_terminal_window_launch(GTK_WINDOW(widgets->Window),command,yon_char_get_localised_from_lib(SUCCESS_LABEL),yon_char_get_localised_from_lib(FAIL_LABEL));
|
|
|
|
|
|
|
|
yon_user_info_window *window = yon_user_info_window_new();
|
|
|
|
|
|
|
|
window->target_user = target_user;
|
|
|
|
|
|
|
|
yon_gtk_window_setup(GTK_WINDOW(window->Window),GTK_WINDOW(widgets->Window),USER_INFO_LABEL,icon_path,"user_info_window");
|
|
|
|
|
|
|
|
yon_terminal_integrated_start(window->Terminal,command);
|
|
|
|
|
|
|
|
gtk_widget_show(window->Window);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void on_config_update(GtkWidget *, main_window *widgets){
|
|
|
|
void on_config_update(GtkWidget *, main_window *widgets){
|
|
|
|
if (main_config.load_mode==YON_CONFIG_GLOBAL){
|
|
|
|
if (main_config.load_mode==YON_CONFIG_GLOBAL){
|
|
|
|
on_config_global_load(NULL,widgets);
|
|
|
|
on_config_global_load(NULL,widgets);
|
|
|
|
@ -2103,6 +2190,7 @@ void on_notebook_page_changed(GtkWidget *, GtkWidget *, int num, main_window *wi
|
|
|
|
gtk_widget_show(widgets->AddButton);
|
|
|
|
gtk_widget_show(widgets->AddButton);
|
|
|
|
gtk_widget_show(widgets->EditButton);
|
|
|
|
gtk_widget_show(widgets->EditButton);
|
|
|
|
gtk_widget_show(widgets->DeleteButton);
|
|
|
|
gtk_widget_show(widgets->DeleteButton);
|
|
|
|
|
|
|
|
gtk_widget_show(widgets->UserInfoButton);
|
|
|
|
gtk_widget_hide(widgets->UserAddToConfigButton);
|
|
|
|
gtk_widget_hide(widgets->UserAddToConfigButton);
|
|
|
|
GtkTreeModel *model = GTK_TREE_MODEL(widgets->UsersList);
|
|
|
|
GtkTreeModel *model = GTK_TREE_MODEL(widgets->UsersList);
|
|
|
|
if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->UsersTree)),&model,&iter)){
|
|
|
|
if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->UsersTree)),&model,&iter)){
|
|
|
|
@ -2117,6 +2205,7 @@ void on_notebook_page_changed(GtkWidget *, GtkWidget *, int num, main_window *wi
|
|
|
|
gtk_widget_show(widgets->EditButton);
|
|
|
|
gtk_widget_show(widgets->EditButton);
|
|
|
|
gtk_widget_show(widgets->DeleteButton);
|
|
|
|
gtk_widget_show(widgets->DeleteButton);
|
|
|
|
gtk_widget_hide(widgets->UserAddToConfigButton);
|
|
|
|
gtk_widget_hide(widgets->UserAddToConfigButton);
|
|
|
|
|
|
|
|
gtk_widget_hide(widgets->UserInfoButton);
|
|
|
|
GtkTreeModel *model = GTK_TREE_MODEL(widgets->GroupsList);
|
|
|
|
GtkTreeModel *model = GTK_TREE_MODEL(widgets->GroupsList);
|
|
|
|
if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->GroupsTree)),&model,&iter)){
|
|
|
|
if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->GroupsTree)),&model,&iter)){
|
|
|
|
gtk_widget_set_sensitive(widgets->EditButton,1);
|
|
|
|
gtk_widget_set_sensitive(widgets->EditButton,1);
|
|
|
|
@ -2128,6 +2217,7 @@ void on_notebook_page_changed(GtkWidget *, GtkWidget *, int num, main_window *wi
|
|
|
|
} else if (num==2){
|
|
|
|
} else if (num==2){
|
|
|
|
gtk_widget_hide(widgets->AddButton);
|
|
|
|
gtk_widget_hide(widgets->AddButton);
|
|
|
|
gtk_widget_hide(widgets->EditButton);
|
|
|
|
gtk_widget_hide(widgets->EditButton);
|
|
|
|
|
|
|
|
gtk_widget_show(widgets->UserInfoButton);
|
|
|
|
gtk_widget_show(widgets->UserAddToConfigButton);
|
|
|
|
gtk_widget_show(widgets->UserAddToConfigButton);
|
|
|
|
GtkTreeModel *model = GTK_TREE_MODEL(widgets->liststore1);
|
|
|
|
GtkTreeModel *model = GTK_TREE_MODEL(widgets->liststore1);
|
|
|
|
if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->SystemTree)),&model,&iter)){
|
|
|
|
if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->SystemTree)),&model,&iter)){
|
|
|
|
@ -2142,6 +2232,7 @@ void on_notebook_page_changed(GtkWidget *, GtkWidget *, int num, main_window *wi
|
|
|
|
gtk_widget_hide(widgets->AddButton);
|
|
|
|
gtk_widget_hide(widgets->AddButton);
|
|
|
|
gtk_widget_hide(widgets->EditButton);
|
|
|
|
gtk_widget_hide(widgets->EditButton);
|
|
|
|
gtk_widget_show(widgets->UserAddToConfigButton);
|
|
|
|
gtk_widget_show(widgets->UserAddToConfigButton);
|
|
|
|
|
|
|
|
gtk_widget_hide(widgets->UserInfoButton);
|
|
|
|
GtkTreeModel *model = GTK_TREE_MODEL(widgets->liststore2);
|
|
|
|
GtkTreeModel *model = GTK_TREE_MODEL(widgets->liststore2);
|
|
|
|
if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->SystemGroupsTree)),&model,&iter)){
|
|
|
|
if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->SystemGroupsTree)),&model,&iter)){
|
|
|
|
gtk_widget_set_sensitive(widgets->UserAddToConfigButton,1);
|
|
|
|
gtk_widget_set_sensitive(widgets->UserAddToConfigButton,1);
|
|
|
|
@ -2213,6 +2304,7 @@ main_window *yon_main_window_complete(main_window *widgets){
|
|
|
|
widgets->EditButton=yon_gtk_builder_get_widget(builder,"EditButton");
|
|
|
|
widgets->EditButton=yon_gtk_builder_get_widget(builder,"EditButton");
|
|
|
|
widgets->DeleteButton=yon_gtk_builder_get_widget(builder,"DeleteButton");
|
|
|
|
widgets->DeleteButton=yon_gtk_builder_get_widget(builder,"DeleteButton");
|
|
|
|
widgets->UpdateButton=yon_gtk_builder_get_widget(builder,"UpdateButton");
|
|
|
|
widgets->UpdateButton=yon_gtk_builder_get_widget(builder,"UpdateButton");
|
|
|
|
|
|
|
|
widgets->UserInfoButton=yon_gtk_builder_get_widget(builder,"UserInfoButton");
|
|
|
|
widgets->UsersTree=yon_gtk_builder_get_widget(builder,"UsersTree");
|
|
|
|
widgets->UsersTree=yon_gtk_builder_get_widget(builder,"UsersTree");
|
|
|
|
widgets->GroupsTree=yon_gtk_builder_get_widget(builder,"GroupsTree");
|
|
|
|
widgets->GroupsTree=yon_gtk_builder_get_widget(builder,"GroupsTree");
|
|
|
|
widgets->MainNotebook=yon_gtk_builder_get_widget(builder,"MainNotebook");
|
|
|
|
widgets->MainNotebook=yon_gtk_builder_get_widget(builder,"MainNotebook");
|
|
|
|
@ -2247,6 +2339,7 @@ main_window *yon_main_window_complete(main_window *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->button2),"clicked",G_CALLBACK(on_ubl_settings_usergroups_additional_settings_open),widgets);
|
|
|
|
g_signal_connect(G_OBJECT(widgets->UserAddToConfigButton),"clicked",G_CALLBACK(on_user_sync_with_config),widgets);
|
|
|
|
g_signal_connect(G_OBJECT(widgets->UserAddToConfigButton),"clicked",G_CALLBACK(on_user_sync_with_config),widgets);
|
|
|
|
g_signal_connect(G_OBJECT(widgets->UpdateButton),"clicked",G_CALLBACK(on_config_update),widgets);
|
|
|
|
g_signal_connect(G_OBJECT(widgets->UpdateButton),"clicked",G_CALLBACK(on_config_update),widgets);
|
|
|
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->UserInfoButton),"clicked",G_CALLBACK(on_user_info),widgets);
|
|
|
|
g_signal_connect(G_OBJECT(widgets->SavingSettingsButton),"clicked",G_CALLBACK(on_saving_settings_open),widgets);
|
|
|
|
g_signal_connect(G_OBJECT(widgets->SavingSettingsButton),"clicked",G_CALLBACK(on_saving_settings_open),widgets);
|
|
|
|
g_signal_connect(G_OBJECT(widgets->SaveMenuItem),"activate",G_CALLBACK(on_config_save),widgets);
|
|
|
|
g_signal_connect(G_OBJECT(widgets->SaveMenuItem),"activate",G_CALLBACK(on_config_save),widgets);
|
|
|
|
g_signal_connect(G_OBJECT(widgets->UsersTree),"cursor-changed",G_CALLBACK(on_selection_changed),widgets);
|
|
|
|
g_signal_connect(G_OBJECT(widgets->UsersTree),"cursor-changed",G_CALLBACK(on_selection_changed),widgets);
|
|
|
|
|