master #189
Merged
asmeron
merged 4 commits from YanTheKaller/ubl-settings-usergroups:master into master 11 months ago
|
After Width: | Height: | Size: 680 B |
@ -1750,7 +1750,7 @@ ubl_settings_usergroups_password_window *yon_ubl_settings_usergroups_password_ne
|
|||||||||||||
return window;
|
return window;
|
||||||||||||
}
|
}
|
||||||||||||
|
|
||||||||||||
void yon_system_load(ubl_settings_usergroups_system_window *window){
|
void yon_system_load(main_window *window){
|
||||||||||||
gtk_list_store_clear(window->liststore1);
|
gtk_list_store_clear(window->liststore1);
|
||||||||||||
gtk_list_store_clear(window->liststore2);
|
gtk_list_store_clear(window->liststore2);
|
||||||||||||
GtkTreeIter iter;
|
GtkTreeIter iter;
|
||||||||||||
@ -1758,15 +1758,12 @@ void yon_system_load(ubl_settings_usergroups_system_window *window){
|
|||||||||||||
int parsed_size;
|
int parsed_size;
|
||||||||||||
if (main_config.groups[i][strlen(main_config.groups[i])-1]=='\n') main_config.groups[i][strlen(main_config.groups[i])-1]='\0';
|
if (main_config.groups[i][strlen(main_config.groups[i])-1]=='\n') main_config.groups[i][strlen(main_config.groups[i])-1]='\0';
|
||||||||||||
config_str parsed = yon_char_parse(main_config.groups[i],&parsed_size,":");
|
config_str parsed = yon_char_parse(main_config.groups[i],&parsed_size,":");
|
||||||||||||
if (atoi(parsed[2])>=main_config.MINGID&&atoi(parsed[2])<=main_config.MAXGID||window->show_all==1){
|
|
||||||||||||
gtk_list_store_append(window->liststore2,&iter);
|
gtk_list_store_append(window->liststore2,&iter);
|
||||||||||||
gtk_list_store_set(window->liststore2,&iter,0,atol(parsed[2]),1,parsed[0],2,parsed[3],-1);
|
gtk_list_store_set(window->liststore2,&iter,0,atol(parsed[2]),1,parsed[0],2,parsed[3],-1);
|
||||||||||||
}
|
}
|
||||||||||||
}
|
|
||||||||||||
for (int i=0;i<main_config.users_size;i++){
|
for (int i=0;i<main_config.users_size;i++){
|
||||||||||||
int parsed_size;
|
int parsed_size;
|
||||||||||||
config_str parsed = yon_char_parse(main_config.users[i],&parsed_size,":");
|
config_str parsed = yon_char_parse(main_config.users[i],&parsed_size,":");
|
||||||||||||
if ((atoi(parsed[2])>=main_config.MINUID&&atoi(parsed[2])<=main_config.MAXUID)||window->show_all==1){
|
|
||||||||||||
char *groups_string="";
|
char *groups_string="";
|
||||||||||||
char *main_group_name="";
|
char *main_group_name="";
|
||||||||||||
for (int j=0;j<main_config.groups_size;j++){
|
for (int j=0;j<main_config.groups_size;j++){
|
||||||||||||
@ -1782,7 +1779,6 @@ void yon_system_load(ubl_settings_usergroups_system_window *window){
|
|||||||||||||
}
|
}
|
||||||||||||
gtk_list_store_append(window->liststore1,&iter);
|
gtk_list_store_append(window->liststore1,&iter);
|
||||||||||||
gtk_list_store_set(window->liststore1,&iter,1,atol(parsed[2]),2,parsed[0],3,parsed[4],4,main_group_name,5,groups_string,6,parsed[5],-1);
|
gtk_list_store_set(window->liststore1,&iter,1,atol(parsed[2]),2,parsed[0],3,parsed[4],4,main_group_name,5,groups_string,6,parsed[5],-1);
|
||||||||||||
}
|
|
||||||||||||
yon_char_parsed_free(parsed,parsed_size);
|
yon_char_parsed_free(parsed,parsed_size);
|
||||||||||||
}
|
}
|
||||||||||||
int shadow_size;
|
int shadow_size;
|
||||||||||||
@ -1808,18 +1804,18 @@ void yon_system_load(ubl_settings_usergroups_system_window *window){
|
|||||||||||||
}
|
}
|
||||||||||||
}
|
}
|
||||||||||||
|
|
||||||||||||
void on_mode_changed(GtkWidget *self, ubl_settings_usergroups_system_window *window){
|
// void on_mode_changed(GtkWidget *self, main_window *window){
|
||||||||||||
|
|
|||||||||||||
if (window->show_all==0){
|
// if (window->show_all==0){
|
||||||||||||
window->show_all=1;
|
// window->show_all=1;
|
||||||||||||
gtk_style_context_add_class(gtk_widget_get_style_context(window->ToggleAllButton),"chosenOutline");
|
// gtk_style_context_add_class(gtk_widget_get_style_context(window->ToggleAllButton),"chosenOutline");
|
||||||||||||
} else {
|
// } else {
|
||||||||||||
window->show_all=0;
|
// window->show_all=0;
|
||||||||||||
gtk_style_context_remove_class(gtk_widget_get_style_context(window->ToggleAllButton),"chosenOutline");
|
// gtk_style_context_remove_class(gtk_widget_get_style_context(window->ToggleAllButton),"chosenOutline");
|
||||||||||||
}
|
// }
|
||||||||||||
yon_system_load(window);
|
// yon_system_load(window);
|
||||||||||||
}
|
// }
|
||||||||||||
|
|
||||||||||||
void on_system_update(GtkWidget *self, ubl_settings_usergroups_system_window *window){
|
void on_system_update(GtkWidget *self, main_window *window){
|
||||||||||||
|
|
||||||||||||
main_config.groups = yon_file_open(groups_path,&main_config.groups_size);
|
main_config.groups = yon_file_open(groups_path,&main_config.groups_size);
|
||||||||||||
main_config.users = yon_file_open(users_path,&main_config.users_size);
|
main_config.users = yon_file_open(users_path,&main_config.users_size);
|
||||||||||||
@ -1870,10 +1866,8 @@ ubl_settings_usergroups_system_window *yon_ubl_settings_usergroups_system_new(){
|
|||||||||||||
g_list_free(list);
|
g_list_free(list);
|
||||||||||||
gtk_window_set_title(GTK_WINDOW(window->MonitorWindow),INSPECTOR_TITLE_LABEL);
|
gtk_window_set_title(GTK_WINDOW(window->MonitorWindow),INSPECTOR_TITLE_LABEL);
|
||||||||||||
|
|
||||||||||||
g_signal_connect(G_OBJECT(window->ToggleAllButton),"clicked",G_CALLBACK(on_mode_changed),window);
|
// g_signal_connect(G_OBJECT(window->ToggleAllButton),"clicked",G_CALLBACK(on_mode_changed),window);
|
||||||||||||
|
user-166
commented 11 months ago
Review
Комментарий. |
|||||||||||||
g_signal_connect(G_OBJECT(window->UpdateButton),"clicked",G_CALLBACK(on_system_update),window);
|
g_signal_connect(G_OBJECT(window->UpdateButton),"clicked",G_CALLBACK(on_system_update),window);
|
||||||||||||
yon_system_load(window);
|
|
||||||||||||
on_system_update(NULL,window);
|
|
||||||||||||
return window;
|
return window;
|
||||||||||||
}
|
}
|
||||||||||||
|
|
||||||||||||
@ -1992,7 +1986,7 @@ void on_user_save(GtkWidget *self, dictionary *dict){
|
|||||||||||||
for (int i=0;i<final_size;i++){
|
for (int i=0;i<final_size;i++){
|
||||||||||||
int parsed_size;
|
int parsed_size;
|
||||||||||||
config_str parsed = yon_char_parse(final[i],&parsed_size,":");
|
config_str parsed = yon_char_parse(final[i],&parsed_size,":");
|
||||||||||||
if (parsed_size>1&&!strcmp(parsed[2],uid_string)&&strcmp(parsed[2],window->last_uid)) found = 1;
|
if (parsed_size>1&&!strcmp(parsed[2],uid_string)&&(!yon_char_is_empty(window->last_uid)&&strcmp(parsed[2],window->last_uid))) found = 1;
|
||||||||||||
if (parsed_size) yon_char_parsed_free(parsed,parsed_size);
|
if (parsed_size) yon_char_parsed_free(parsed,parsed_size);
|
||||||||||||
}
|
}
|
||||||||||||
if (found){
|
if (found){
|
||||||||||||
@ -2809,6 +2803,37 @@ void on_config_update(GtkWidget *self, main_window *widgets){
|
|||||||||||||
} else {
|
} else {
|
||||||||||||
on_config_local_load(NULL,widgets);
|
on_config_local_load(NULL,widgets);
|
||||||||||||
}
|
}
|
||||||||||||
|
on_system_update(NULL,widgets);
|
||||||||||||
|
|
||||||||||||
|
}
|
||||||||||||
|
|
||||||||||||
|
void on_user_sync_with_config(GtkWidget *,main_window *widgets){
|
||||||||||||
|
int active = gtk_notebook_get_current_page(GTK_NOTEBOOK(widgets->MainNotebook));
|
||||||||||||
|
switch (active){
|
||||||||||||
|
case 2:
|
||||||||||||
|
GtkTreeModel *model = GTK_TREE_MODEL(widgets->liststore1);
|
||||||||||||
|
GtkTreeIter iter;
|
||||||||||||
|
if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->SystemTree)),&model,&iter)){
|
||||||||||||
|
char *target;
|
||||||||||||
|
gtk_tree_model_get(model,&iter,2,&target,-1);
|
||||||||||||
|
int size;
|
||||||||||||
|
config_str passwd_users = yon_config_load(user_shadow_path,&size);
|
||||||||||||
|
int active_usr = yon_char_parsed_strstr(passwd_users,size,target);
|
||||||||||||
|
int cur_size;
|
||||||||||||
|
if (size>-1){
|
||||||||||||
|
config_str cur_user = yon_char_parse(passwd_users[active_usr],&cur_size,":");
|
||||||||||||
|
char *final_user = yon_char_unite(cur_user[4],":",cur_user[5],":",cur_size>1?cur_user[1]:"",":",cur_size>2?cur_user[2]:"",":",cur_user[0],":",":",NULL);
|
||||||||||||
|
char *final_command = yon_config_parameter_prepare_command(dull_parameter_get_command,NULL,"users",USERADD_SYNC(target));
|
||||||||||||
|
yon_config_register(USERADD(target),final_command,final_user);
|
||||||||||||
|
|
||||||||||||
|
int shadow_size;
|
||||||||||||
|
config_str shadow = yon_config_load(shadow_path,&shadow_size);
|
||||||||||||
|
}
|
||||||||||||
|
}
|
||||||||||||
|
break;
|
||||||||||||
|
case 3:
|
||||||||||||
|
break;
|
||||||||||||
|
}
|
||||||||||||
}
|
}
|
||||||||||||
|
|
||||||||||||
int *yon_element_chosen(GtkWidget *target){
|
int *yon_element_chosen(GtkWidget *target){
|
||||||||||||
@ -2917,19 +2942,29 @@ void on_selection_changed(GtkWidget *self, main_window *widgets){
|
|||||||||||||
void on_notebook_page_changed(GtkWidget *self, GtkWidget *page, int num, main_window *widgets){
|
void on_notebook_page_changed(GtkWidget *self, GtkWidget *page, int num, main_window *widgets){
|
||||||||||||
GtkTreeIter iter;
|
GtkTreeIter iter;
|
||||||||||||
if (num==0){
|
if (num==0){
|
||||||||||||
|
gtk_widget_show(widgets->AddButton);
|
||||||||||||
|
gtk_widget_show(widgets->EditButton);
|
||||||||||||
|
gtk_widget_show(widgets->DeleteButton);
|
||||||||||||
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)){
|
||||||||||||
gtk_widget_set_sensitive(widgets->EditButton,1);
|
gtk_widget_set_sensitive(widgets->EditButton,1);
|
||||||||||||
} else {
|
} else {
|
||||||||||||
gtk_widget_set_sensitive(widgets->EditButton,0);
|
gtk_widget_set_sensitive(widgets->EditButton,0);
|
||||||||||||
}
|
}
|
||||||||||||
} else {
|
} else if (num==1){
|
||||||||||||
|
gtk_widget_show(widgets->AddButton);
|
||||||||||||
|
gtk_widget_show(widgets->EditButton);
|
||||||||||||
|
gtk_widget_show(widgets->DeleteButton);
|
||||||||||||
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);
|
||||||||||||
} else {
|
} else {
|
||||||||||||
gtk_widget_set_sensitive(widgets->EditButton,0);
|
gtk_widget_set_sensitive(widgets->EditButton,0);
|
||||||||||||
}
|
}
|
||||||||||||
|
} else if (num==2||num==3){
|
||||||||||||
|
gtk_widget_hide(widgets->AddButton);
|
||||||||||||
|
gtk_widget_hide(widgets->EditButton);
|
||||||||||||
|
gtk_widget_hide(widgets->DeleteButton);
|
||||||||||||
}
|
}
|
||||||||||||
}
|
}
|
||||||||||||
|
|
||||||||||||
@ -2965,8 +3000,12 @@ main_window *yon_main_window_complete(main_window *widgets){
|
|||||||||||||
widgets->CacheAlgList=GTK_LIST_STORE(gtk_builder_get_object(builder,"CacheAlgList"));
|
widgets->CacheAlgList=GTK_LIST_STORE(gtk_builder_get_object(builder,"CacheAlgList"));
|
||||||||||||
widgets->GroupsList=GTK_LIST_STORE(gtk_builder_get_object(builder,"GroupsList"));
|
widgets->GroupsList=GTK_LIST_STORE(gtk_builder_get_object(builder,"GroupsList"));
|
||||||||||||
widgets->UsersList=GTK_LIST_STORE(gtk_builder_get_object(builder,"UsersList"));
|
widgets->UsersList=GTK_LIST_STORE(gtk_builder_get_object(builder,"UsersList"));
|
||||||||||||
|
widgets->liststore1=GTK_LIST_STORE(gtk_builder_get_object(builder,"liststore1"));
|
||||||||||||
|
widgets->liststore2=GTK_LIST_STORE(gtk_builder_get_object(builder,"liststore2"));
|
||||||||||||
widgets->PlugBox=yon_gtk_builder_get_widget(builder,"PlugBox");
|
widgets->PlugBox=yon_gtk_builder_get_widget(builder,"PlugBox");
|
||||||||||||
widgets->button1=yon_gtk_builder_get_widget(builder,"button1");
|
widgets->UserAddToConfigButton=yon_gtk_builder_get_widget(builder,"UserAddToConfigButton");
|
||||||||||||
|
widgets->SystemTree=yon_gtk_builder_get_widget(builder,"SystemTree");
|
||||||||||||
|
widgets->SystemGroupsTree=yon_gtk_builder_get_widget(builder,"SystemGroupsTree");
|
||||||||||||
widgets->button2=yon_gtk_builder_get_widget(builder,"button2");
|
widgets->button2=yon_gtk_builder_get_widget(builder,"button2");
|
||||||||||||
widgets->button3=yon_gtk_builder_get_widget(builder,"button3");
|
widgets->button3=yon_gtk_builder_get_widget(builder,"button3");
|
||||||||||||
widgets->AddButton=yon_gtk_builder_get_widget(builder,"AddButton");
|
widgets->AddButton=yon_gtk_builder_get_widget(builder,"AddButton");
|
||||||||||||
@ -2988,7 +3027,7 @@ main_window *yon_main_window_complete(main_window *widgets){
|
|||||||||||||
g_signal_connect(G_OBJECT(widgets->DeleteButton),"clicked",G_CALLBACK(on_main_delete),widgets);
|
g_signal_connect(G_OBJECT(widgets->DeleteButton),"clicked",G_CALLBACK(on_main_delete),widgets);
|
||||||||||||
g_signal_connect(G_OBJECT(widgets->button3),"clicked",G_CALLBACK(on_standard_groups_open),widgets);
|
g_signal_connect(G_OBJECT(widgets->button3),"clicked",G_CALLBACK(on_standard_groups_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->button2),"clicked",G_CALLBACK(on_ubl_settings_usergroups_additional_settings_open),widgets);
|
||||||||||||
g_signal_connect(G_OBJECT(widgets->button1),"clicked",G_CALLBACK(on_settings_usergroups_system_open),widgets);
|
// g_signal_connect(G_OBJECT(widgets->UserAddToConfigButton),"clicked",G_CALLBACK(on_user_sync_with_config),widgets);
|
||||||||||||
|
user-166
commented 11 months ago
Review
Комментарий. |
|||||||||||||
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->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);
|
||||||||||||
@ -3010,6 +3049,9 @@ main_window *yon_main_window_complete(main_window *widgets){
|
|||||||||||||
g_signal_connect(G_OBJECT(widgets->UsersTree),"button-press-event",G_CALLBACK(on_menu_open),widgets->UsersMenu);
|
g_signal_connect(G_OBJECT(widgets->UsersTree),"button-press-event",G_CALLBACK(on_menu_open),widgets->UsersMenu);
|
||||||||||||
g_signal_connect(G_OBJECT(widgets->GroupsTree),"button-press-event",G_CALLBACK(on_menu_open),widgets->GroupsMenu);
|
g_signal_connect(G_OBJECT(widgets->GroupsTree),"button-press-event",G_CALLBACK(on_menu_open),widgets->GroupsMenu);
|
||||||||||||
|
|
||||||||||||
|
yon_system_load(widgets);
|
||||||||||||
|
on_system_update(NULL,widgets);
|
||||||||||||
|
|
||||||||||||
yon_root_button_setup((template_main_window*)widgets,main_config.launch_arguments,main_config.launch_size);
|
yon_root_button_setup((template_main_window*)widgets,main_config.launch_arguments,main_config.launch_size);
|
||||||||||||
|
|
||||||||||||
yon_gtk_tree_view_minimal_fixed_size_set_full(GTK_TREE_VIEW(widgets->UsersTree));
|
yon_gtk_tree_view_minimal_fixed_size_set_full(GTK_TREE_VIEW(widgets->UsersTree));
|
||||||||||||
|
|||||||||||||
Loading…
Reference in new issue
Закомментированный блок кода. Если не нужен - удалить.