|
|
|
|
@ -124,6 +124,15 @@ void on_groups_save(GtkWidget *self, dictionary *dict){
|
|
|
|
|
|
|
|
|
|
void on_groups_clicked(GtkWidget *self, GtkEntry *output_target){
|
|
|
|
|
ubl_settings_usergroups_group_window *window = yon_ubl_settings_usergroups_group_new();
|
|
|
|
|
GtkTreeIter iter, itar;
|
|
|
|
|
int valid = gtk_tree_model_get_iter_first(GTK_TREE_MODEL(main_config.groups_list),&iter);
|
|
|
|
|
for (;valid;valid=gtk_tree_model_iter_next(GTK_TREE_MODEL(main_config.groups_list),&iter)){
|
|
|
|
|
char *groupname;
|
|
|
|
|
gtk_tree_model_get(GTK_TREE_MODEL(main_config.groups_list),&iter,1,&groupname,-1);
|
|
|
|
|
gtk_list_store_append(window->list,&itar);
|
|
|
|
|
gtk_list_store_set(window->list,&itar,1,groupname,-1);
|
|
|
|
|
free(groupname);
|
|
|
|
|
}
|
|
|
|
|
gtk_tree_view_column_set_visible(gtk_tree_view_get_column(GTK_TREE_VIEW(window->GroupsTree),0),0);
|
|
|
|
|
gtk_tree_selection_set_mode(gtk_tree_view_get_selection(GTK_TREE_VIEW(window->GroupsTree)),GTK_SELECTION_SINGLE);
|
|
|
|
|
dictionary *dict = NULL;
|
|
|
|
|
@ -158,6 +167,15 @@ void on_groups_multiple_save(GtkWidget *self, dictionary *dict){
|
|
|
|
|
|
|
|
|
|
void on_groups_multiple_clicked(GtkWidget *self, GtkEntry *output_target){
|
|
|
|
|
ubl_settings_usergroups_group_window *window = yon_ubl_settings_usergroups_group_new();
|
|
|
|
|
GtkTreeIter iter, itar;
|
|
|
|
|
int valid = gtk_tree_model_get_iter_first(GTK_TREE_MODEL(main_config.groups_list),&iter);
|
|
|
|
|
for (;valid;valid=gtk_tree_model_iter_next(GTK_TREE_MODEL(main_config.groups_list),&iter)){
|
|
|
|
|
char *groupname;
|
|
|
|
|
gtk_tree_model_get(GTK_TREE_MODEL(main_config.groups_list),&iter,1,&groupname,-1);
|
|
|
|
|
gtk_list_store_append(window->list,&itar);
|
|
|
|
|
gtk_list_store_set(window->list,&itar,1,groupname,-1);
|
|
|
|
|
free(groupname);
|
|
|
|
|
}
|
|
|
|
|
dictionary *dict = NULL;
|
|
|
|
|
yon_dictionary_add_or_create_if_exists_with_data(dict,"window",window);
|
|
|
|
|
yon_dictionary_add_or_create_if_exists_with_data(dict,"output",output_target);
|
|
|
|
|
@ -246,6 +264,8 @@ ubl_settings_usergroups_additional_settings_window *yon_ubl_settings_usergroups_
|
|
|
|
|
window->CancelButton=yon_gtk_builder_get_widget(builder,"CancelButton");
|
|
|
|
|
window->AcceptButton=yon_gtk_builder_get_widget(builder,"AcceptButton");
|
|
|
|
|
|
|
|
|
|
gtk_window_set_title(GTK_WINDOW(window->Window),ADDITIONAL_SETTINGS_TITLE_LABEL);
|
|
|
|
|
|
|
|
|
|
char *default_user = yon_config_get_by_key("DEFAULTUSER");
|
|
|
|
|
if (!yon_char_is_empty(default_user))
|
|
|
|
|
gtk_entry_set_text(GTK_ENTRY(window->DefaultUserNameEntry),default_user);
|
|
|
|
|
@ -295,6 +315,15 @@ void on_ubl_settings_usergroups_additional_settings_open(GtkWidget *self, main_w
|
|
|
|
|
|
|
|
|
|
void on_user_choose(GtkWidget *self, GtkEntry *target){
|
|
|
|
|
ubl_settings_usergroups_group_window *window = yon_ubl_settings_usergroups_group_new();
|
|
|
|
|
GtkTreeIter iter, itar;
|
|
|
|
|
int valid = gtk_tree_model_get_iter_first(GTK_TREE_MODEL(main_config.users_list),&iter);
|
|
|
|
|
for (;valid;valid=gtk_tree_model_iter_next(GTK_TREE_MODEL(main_config.users_list),&iter)){
|
|
|
|
|
char *groupname;
|
|
|
|
|
gtk_tree_model_get(GTK_TREE_MODEL(main_config.users_list),&iter,2,&groupname,-1);
|
|
|
|
|
gtk_list_store_append(window->list,&itar);
|
|
|
|
|
gtk_list_store_set(window->list,&itar,1,groupname,-1);
|
|
|
|
|
free(groupname);
|
|
|
|
|
}
|
|
|
|
|
gtk_list_store_new(2,G_TYPE_BOOLEAN,G_TYPE_STRING);
|
|
|
|
|
dictionary *dict = NULL;
|
|
|
|
|
yon_dictionary_add_or_create_if_exists_with_data(dict,"window",window);
|
|
|
|
|
@ -383,7 +412,7 @@ ubl_settings_usergroups_group_creation_window *yon_ubl_settings_usergroups_group
|
|
|
|
|
window->PasswordEntry=yon_gtk_builder_get_widget(builder,"PasswordEntry");
|
|
|
|
|
window->ChangePasswordButton=yon_gtk_builder_get_widget(builder,"ChangePasswordButton");
|
|
|
|
|
|
|
|
|
|
gtk_window_set_title(GTK_WINDOW(window->CreateGroupWindow),TITLE_LABEL);
|
|
|
|
|
gtk_window_set_title(GTK_WINDOW(window->CreateGroupWindow),GROUP_TITLE_LABEL);
|
|
|
|
|
dictionary *entry_dict=NULL;
|
|
|
|
|
yon_dictionary_add_or_create_if_exists_with_data(entry_dict,"combo",window->PasswordCombo);
|
|
|
|
|
yon_dictionary_add_or_create_if_exists_with_data(entry_dict,"entry",window->PasswordEntry);
|
|
|
|
|
@ -414,6 +443,7 @@ ubl_settings_usergroups_group_window *yon_ubl_settings_usergroups_group_new(){
|
|
|
|
|
window->StatusCell = GTK_CELL_RENDERER(gtk_builder_get_object(builder,"StatusCell"));
|
|
|
|
|
window->list = gtk_list_store_new(2,G_TYPE_BOOLEAN,G_TYPE_STRING);
|
|
|
|
|
|
|
|
|
|
gtk_window_set_title(GTK_WINDOW(window->GroupsWindow),GROUPS_TITLE_LABEL);
|
|
|
|
|
g_signal_connect(G_OBJECT(window->StatusCell),"toggled",G_CALLBACK(on_group_clicked),window);
|
|
|
|
|
GtkTreeIter iter;
|
|
|
|
|
gtk_tree_view_set_model(GTK_TREE_VIEW(window->GroupsTree),GTK_TREE_MODEL(window->list));
|
|
|
|
|
@ -451,6 +481,15 @@ void on_standard_groups_accept(GtkWidget *self, ubl_settings_usergroups_group_wi
|
|
|
|
|
|
|
|
|
|
void on_standard_groups_open(GtkWidget *self, main_window *widgets){
|
|
|
|
|
ubl_settings_usergroups_group_window *window = yon_ubl_settings_usergroups_group_new();
|
|
|
|
|
GtkTreeIter iter, itar;
|
|
|
|
|
int valid = gtk_tree_model_get_iter_first(GTK_TREE_MODEL(main_config.groups_list),&iter);
|
|
|
|
|
for (;valid;valid=gtk_tree_model_iter_next(GTK_TREE_MODEL(main_config.groups_list),&iter)){
|
|
|
|
|
char *groupname;
|
|
|
|
|
gtk_tree_model_get(GTK_TREE_MODEL(main_config.groups_list),&iter,1,&groupname,-1);
|
|
|
|
|
gtk_list_store_append(window->list,&itar);
|
|
|
|
|
gtk_list_store_set(window->list,&itar,1,groupname,-1);
|
|
|
|
|
free(groupname);
|
|
|
|
|
}
|
|
|
|
|
g_signal_connect(G_OBJECT(window->GroupsOkButton),"clicked",G_CALLBACK(on_standard_groups_accept),window);
|
|
|
|
|
gtk_window_set_transient_for(GTK_WINDOW(window->GroupsWindow),GTK_WINDOW(widgets->Window));
|
|
|
|
|
char *groups = yon_config_get_by_key("USERGROUPS");
|
|
|
|
|
@ -547,7 +586,7 @@ ubl_settings_usergroups_password_window *yon_ubl_settings_usergroups_password_ne
|
|
|
|
|
g_signal_connect(G_OBJECT(window->PasswordHashEntry),"icon-press",G_CALLBACK(on_password_show_hide),NULL);
|
|
|
|
|
g_signal_connect(G_OBJECT(window->PasswordEntry),"changed",G_CALLBACK(on_password_changed),window);
|
|
|
|
|
g_signal_connect(G_OBJECT(window->RepeatPasswordEntry),"changed",G_CALLBACK(on_password_changed),window);
|
|
|
|
|
gtk_window_set_title(GTK_WINDOW(window->CreateGroupWindow),TITLE_LABEL);
|
|
|
|
|
gtk_window_set_title(GTK_WINDOW(window->CreateGroupWindow),GROUPS_TITLE_LABEL);
|
|
|
|
|
|
|
|
|
|
return window;
|
|
|
|
|
}
|
|
|
|
|
@ -561,6 +600,7 @@ ubl_settings_usergroups_system_window *yon_ubl_settings_usergroups_system_new(){
|
|
|
|
|
window->liststore2=GTK_LIST_STORE(gtk_builder_get_object(builder,"liststore2"));
|
|
|
|
|
window->MonitorWindow=yon_gtk_builder_get_widget(builder,"MonitorWindow");
|
|
|
|
|
window->SettingsBar=yon_gtk_builder_get_widget(builder,"SettingsBar");
|
|
|
|
|
gtk_window_set_title(GTK_WINDOW(window->MonitorWindow),INSPECTOR_TITLE_LABEL);
|
|
|
|
|
return window;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -803,7 +843,7 @@ ubl_settings_usergroups_user_window *yon_ubl_settings_usergroups_user_new(){
|
|
|
|
|
window->userExtraOptionsEntry=yon_gtk_builder_get_widget(builder,"userExtraOptionsEntry");
|
|
|
|
|
window->UserCancelButton=yon_gtk_builder_get_widget(builder,"UserCancelButton");
|
|
|
|
|
window->UserOkButton=yon_gtk_builder_get_widget(builder,"UserOkButton");
|
|
|
|
|
|
|
|
|
|
gtk_window_set_title(GTK_WINDOW(window->CreateUserWindow),USER_TITLE_LABEL);
|
|
|
|
|
window->old_password=NULL;
|
|
|
|
|
dictionary *entry_dict = NULL;
|
|
|
|
|
yon_dictionary_add_or_create_if_exists_with_data(entry_dict,"combo",window->userPasswordCombo);
|
|
|
|
|
@ -991,13 +1031,22 @@ void on_main_delete(GtkWidget *self, main_window *widgets){
|
|
|
|
|
if (gtk_notebook_get_current_page(GTK_NOTEBOOK(widgets->MainNotebook))==0){
|
|
|
|
|
model = GTK_TREE_MODEL(widgets->UsersList);
|
|
|
|
|
cur_tree=widgets->UsersTree;
|
|
|
|
|
if(gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(cur_tree)),&model,&iter)){
|
|
|
|
|
char *name;
|
|
|
|
|
gtk_tree_model_get(model,&iter,2,&name,-1);
|
|
|
|
|
yon_config_remove_by_key(USERADD(name));
|
|
|
|
|
gtk_list_store_remove(GTK_LIST_STORE(model),&iter);
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
model = GTK_TREE_MODEL(widgets->GroupsList);
|
|
|
|
|
cur_tree=widgets->GroupsTree;
|
|
|
|
|
}
|
|
|
|
|
if(gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(cur_tree)),&model,&iter)){
|
|
|
|
|
char *name;
|
|
|
|
|
gtk_tree_model_get(model,&iter,1,&name,-1);
|
|
|
|
|
yon_config_remove_by_key(USERADD(name));
|
|
|
|
|
gtk_list_store_remove(GTK_LIST_STORE(model),&iter);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -1019,6 +1068,8 @@ void config_init(){
|
|
|
|
|
main_config.groups_size=0;
|
|
|
|
|
main_config.load_mode=1;
|
|
|
|
|
main_config.groups = yon_file_open(groups_path,&main_config.groups_size);
|
|
|
|
|
main_config.users_list=NULL;
|
|
|
|
|
main_config.groups_list=NULL;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**yon_main_window_complete(main_window *widgets)
|
|
|
|
|
@ -1060,6 +1111,8 @@ void yon_main_window_complete(main_window *widgets){
|
|
|
|
|
gtk_widget_set_sensitive(widgets->SaveLocalMenuItem,0);
|
|
|
|
|
gtk_widget_set_sensitive(widgets->SaveMenuItem,0);
|
|
|
|
|
}
|
|
|
|
|
main_config.users_list = widgets->UsersList;
|
|
|
|
|
main_config.groups_list = widgets->GroupsList;
|
|
|
|
|
|
|
|
|
|
/* Signal connection | Присоединение сигналов */
|
|
|
|
|
g_signal_connect(G_OBJECT(widgets->AddButton),"clicked",G_CALLBACK(on_main_add),widgets);
|
|
|
|
|
|