Sensitivity ogic tweaks

pull/235/head
Ivan Dmitrievich Yartsev 10 months ago
parent beb16d0b4f
commit 6b29a41ed4

@ -2325,20 +2325,45 @@ void config_init(){
void on_selection_changed(GtkWidget *, main_window *widgets){
GtkTreeIter iter;
if (gtk_notebook_get_current_page(GTK_NOTEBOOK(widgets->MainNotebook))==0){
int page = gtk_notebook_get_current_page(GTK_NOTEBOOK(widgets->MainNotebook));
if (page==0){
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)){
gtk_widget_set_sensitive(widgets->EditButton,1);
gtk_widget_set_sensitive(widgets->DeleteButton,1);
} else {
gtk_widget_set_sensitive(widgets->EditButton,0);
gtk_widget_set_sensitive(widgets->DeleteButton,0);
}
} else {
} else if (page==1){
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)){
gtk_widget_set_sensitive(widgets->EditButton,1);
gtk_widget_set_sensitive(widgets->DeleteButton,1);
} else {
gtk_widget_set_sensitive(widgets->EditButton,0);
gtk_widget_set_sensitive(widgets->DeleteButton,0);
}
} else if (page == 2){
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)){
gtk_widget_set_sensitive(widgets->UserAddToConfigButton,1);
gtk_widget_set_sensitive(widgets->DeleteButton,1);
} else {
gtk_widget_set_sensitive(widgets->UserAddToConfigButton,0);
gtk_widget_set_sensitive(widgets->DeleteButton,0);
}
} else if (page == 3){
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)){
gtk_widget_set_sensitive(widgets->UserAddToConfigButton,1);
gtk_widget_set_sensitive(widgets->DeleteButton,1);
} else {
gtk_widget_set_sensitive(widgets->UserAddToConfigButton,0);
gtk_widget_set_sensitive(widgets->DeleteButton,0);
}
}
}
@ -2352,8 +2377,10 @@ void on_notebook_page_changed(GtkWidget *, GtkWidget *, int num, main_window *wi
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)){
gtk_widget_set_sensitive(widgets->EditButton,1);
gtk_widget_set_sensitive(widgets->DeleteButton,1);
} else {
gtk_widget_set_sensitive(widgets->EditButton,0);
gtk_widget_set_sensitive(widgets->DeleteButton,0);
}
} else if (num==1){
gtk_widget_show(widgets->AddButton);
@ -2363,13 +2390,36 @@ void on_notebook_page_changed(GtkWidget *, GtkWidget *, int num, main_window *wi
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)){
gtk_widget_set_sensitive(widgets->EditButton,1);
gtk_widget_set_sensitive(widgets->DeleteButton,0);
} else {
gtk_widget_set_sensitive(widgets->EditButton,0);
gtk_widget_set_sensitive(widgets->DeleteButton,0);
}
} else if (num==2||num==3){
} else if (num==2){
gtk_widget_hide(widgets->AddButton);
gtk_widget_hide(widgets->EditButton);
gtk_widget_show(widgets->UserAddToConfigButton);
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)){
gtk_widget_set_sensitive(widgets->UserAddToConfigButton,1);
gtk_widget_set_sensitive(widgets->DeleteButton,1);
} else {
gtk_widget_set_sensitive(widgets->UserAddToConfigButton,0);
gtk_widget_set_sensitive(widgets->DeleteButton,0);
}
} else if (num==3){
gtk_widget_hide(widgets->AddButton);
gtk_widget_hide(widgets->EditButton);
gtk_widget_show(widgets->UserAddToConfigButton);
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)){
gtk_widget_set_sensitive(widgets->UserAddToConfigButton,1);
gtk_widget_set_sensitive(widgets->DeleteButton,1);
} else {
gtk_widget_set_sensitive(widgets->UserAddToConfigButton,0);
gtk_widget_set_sensitive(widgets->DeleteButton,0);
}
}
}
@ -2455,6 +2505,8 @@ main_window *yon_main_window_complete(main_window *widgets){
g_signal_connect(G_OBJECT(widgets->UsersTree),"cursor-changed",G_CALLBACK(on_selection_changed),widgets);
g_signal_connect(G_OBJECT(widgets->UsersTree),"row-activated",G_CALLBACK(on_main_edit_activate),widgets);
g_signal_connect(G_OBJECT(widgets->GroupsTree),"cursor-changed",G_CALLBACK(on_selection_changed),widgets);
g_signal_connect(G_OBJECT(widgets->SystemTree),"cursor-changed",G_CALLBACK(on_selection_changed),widgets);
g_signal_connect(G_OBJECT(widgets->SystemGroupsTree),"cursor-changed",G_CALLBACK(on_selection_changed),widgets);
g_signal_connect(G_OBJECT(widgets->GroupsTree),"row-activated",G_CALLBACK(on_main_edit_activate),widgets);
g_signal_connect(G_OBJECT(widgets->MainNotebook),"switch-page",G_CALLBACK(on_notebook_page_changed),widgets);
g_signal_connect(G_OBJECT(widgets->SaveGlobalMenuItem),"activate",G_CALLBACK(on_config_global_save),widgets);

Loading…
Cancel
Save