Added update button to all menus

pull/235/head
Ivan Dmitrievich Yartsev 10 months ago
parent 0eb20191df
commit beb16d0b4f

@ -2379,18 +2379,29 @@ gboolean on_menu_open(GtkWidget *self,GdkEventButton *event, rmb_menu_window *wi
if (event->button==3){
GtkTreeModel *model = gtk_tree_view_get_model(GTK_TREE_VIEW(self));
GtkTreeIter iter;
dictionary *cur=NULL;
int amount = 0;
if (gtk_tree_model_get_iter_first(model,&iter)&&gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(self)),&model,&iter)){
gtk_widget_set_sensitive(GTK_WIDGET(window->buttons->first->next->data),1);
gtk_widget_set_sensitive(GTK_WIDGET(window->buttons->first->next->next->data),1);
} else {
gtk_widget_set_sensitive(GTK_WIDGET(window->buttons->first->next->data),0);
gtk_widget_set_sensitive(GTK_WIDGET(window->buttons->first->next->next->data),0);
}
}
return 0;
}
gboolean on_system_menu_open(GtkWidget *self,GdkEventButton *event, rmb_menu_window *window){
if (event->button==3){
GtkTreeModel *model = gtk_tree_view_get_model(GTK_TREE_VIEW(self));
GtkTreeIter iter;
int chosen = gtk_tree_model_get_iter_first(model,&iter)&&gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(self)),&model,&iter);
for_dictionaries(cur,window->buttons){
amount++;
if (chosen){
gtk_widget_set_sensitive(GTK_WIDGET(cur->data),1);
gtk_widget_set_sensitive(GTK_WIDGET(window->buttons->first->data),1);
gtk_widget_set_sensitive(GTK_WIDGET(window->buttons->first->next->data),1);
} else {
gtk_widget_set_sensitive(GTK_WIDGET(cur->data),0);
}
gtk_widget_set_sensitive(GTK_WIDGET(window->buttons->first->data),0);
gtk_widget_set_sensitive(GTK_WIDGET(window->buttons->first->next->data),0);
}
if (amount<3) gtk_widget_set_sensitive(GTK_WIDGET(window->buttons->first->data),1);
}
return 0;
}
@ -2453,13 +2464,15 @@ main_window *yon_main_window_complete(main_window *widgets){
g_signal_connect(G_OBJECT(widgets->LoadGlobalMenuItem),"activate",G_CALLBACK(on_config_global_load),widgets);
g_signal_connect(G_OBJECT(widgets->LoadLocalMenuItem),"activate",G_CALLBACK(on_config_local_load),widgets);
g_signal_connect(G_OBJECT(widgets->LoadCustomMenuItem),"activate",G_CALLBACK(on_config_custom_load),widgets);
widgets->UsersMenu = yon_rmb_menu_setup(widgets->UsersTree,(RmbCheck)yon_element_chosen,widgets->UsersTree,CREATE_NEW_LABEL,add_icon_name,G_CALLBACK(on_main_add),widgets,EDIT_LABEL,edit_icon_name,G_CALLBACK(on_main_edit),widgets, REMOVE_LABEL,delete_icon_name,G_CALLBACK(on_main_delete),widgets,NULL);
widgets->GroupsMenu = yon_rmb_menu_setup(widgets->GroupsTree,(RmbCheck)yon_element_chosen,widgets->GroupsTree,CREATE_NEW_LABEL,add_icon_name,G_CALLBACK(on_main_add),widgets,EDIT_LABEL,edit_icon_name,G_CALLBACK(on_main_edit),widgets,REMOVE_LABEL,delete_icon_name,G_CALLBACK(on_main_delete),widgets,NULL);
widgets->GroupsMenu = yon_rmb_menu_setup(widgets->SystemTree,(RmbCheck)yon_element_chosen,widgets->GroupsTree,SYNC_TOOLTIP_LABEL,sync_icon_name,G_CALLBACK(on_user_sync_with_config),widgets,REMOVE_LABEL,delete_icon_name,G_CALLBACK(on_main_delete),widgets,NULL);
widgets->GroupsMenu = yon_rmb_menu_setup(widgets->SystemGroupsTree,(RmbCheck)yon_element_chosen,widgets->GroupsTree,SYNC_TOOLTIP_LABEL,sync_icon_name,G_CALLBACK(on_user_sync_with_config),widgets,REMOVE_LABEL,delete_icon_name,G_CALLBACK(on_main_delete),widgets,NULL);
widgets->UsersMenu = yon_rmb_menu_setup(widgets->UsersTree,(RmbCheck)yon_element_chosen,widgets->UsersTree,CREATE_NEW_LABEL,add_icon_name,G_CALLBACK(on_main_add),widgets,EDIT_LABEL,edit_icon_name,G_CALLBACK(on_main_edit),widgets, REMOVE_LABEL,delete_icon_name,G_CALLBACK(on_main_delete),widgets,UPDATE_LABEL,update_icon_name,G_CALLBACK(on_config_update),widgets,NULL);
widgets->GroupsMenu = yon_rmb_menu_setup(widgets->GroupsTree,(RmbCheck)yon_element_chosen,widgets->GroupsTree,CREATE_NEW_LABEL,add_icon_name,G_CALLBACK(on_main_add),widgets,EDIT_LABEL,edit_icon_name,G_CALLBACK(on_main_edit),widgets,REMOVE_LABEL,delete_icon_name,G_CALLBACK(on_main_delete),widgets,UPDATE_LABEL,update_icon_name,G_CALLBACK(on_config_update),widgets,NULL);
widgets->SystemUsersMenu = yon_rmb_menu_setup(widgets->SystemTree,(RmbCheck)yon_element_chosen,widgets->GroupsTree,SYNC_TOOLTIP_LABEL,sync_icon_name,G_CALLBACK(on_user_sync_with_config),widgets,REMOVE_LABEL,delete_icon_name,G_CALLBACK(on_main_delete),widgets,UPDATE_LABEL,update_icon_name,G_CALLBACK(on_config_update),widgets,NULL);
widgets->SystemGroupsMenu = yon_rmb_menu_setup(widgets->SystemGroupsTree,(RmbCheck)yon_element_chosen,widgets->GroupsTree,SYNC_TOOLTIP_LABEL,sync_icon_name,G_CALLBACK(on_user_sync_with_config),widgets,REMOVE_LABEL,delete_icon_name,G_CALLBACK(on_main_delete),widgets,UPDATE_LABEL,update_icon_name,G_CALLBACK(on_config_update),widgets,NULL);
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->SystemTree),"button-press-event",G_CALLBACK(on_system_menu_open),widgets->UsersMenu);
g_signal_connect(G_OBJECT(widgets->SystemGroupsTree),"button-press-event",G_CALLBACK(on_system_menu_open),widgets->GroupsMenu);
yon_system_load(widgets);
// on_system_update(NULL,widgets);

@ -87,6 +87,7 @@
#define edit_icon_name "com.ublinux.ubl-settings-usergroups.edit-symbolic"
#define delete_icon_name "com.ublinux.ubl-settings-usergroups.trash-symbolic"
#define sync_icon_name "com.ublinux.ubl-settings-usergroups.user-add-symbolic"
#define update_icon_name "com.ublinux.ubl-settings-usergroups.sync-symbolic"
#define password_hash_get_command(passwd) yon_char_append("mkpasswd2 ",passwd)
@ -209,6 +210,8 @@ typedef struct {
rmb_menu_window *UsersMenu;
rmb_menu_window *GroupsMenu;
rmb_menu_window *SystemUsersMenu;
rmb_menu_window *SystemGroupsMenu;
GtkListStore *liststore1;
GtkListStore *liststore2;
@ -514,6 +517,7 @@ void config_init();
void on_selection_changed(GtkWidget *self, main_window *widgets);
void on_notebook_page_changed(GtkWidget *self, GtkWidget *page, int num, main_window *widgets);
gboolean on_menu_open(GtkWidget *self,GdkEventButton *event, rmb_menu_window *window);
gboolean on_system_menu_open(GtkWidget *self,GdkEventButton *event, rmb_menu_window *window);
main_window *yon_main_window_complete(main_window *widgets);
void yon_remove_confirmation_window_accept_clicked(GtkWidget *self,dictionary *dict);
system_remove_confirmation_window *yon_system_remove_confirmation_window_new();

Loading…
Cancel
Save