Fix the member list context menu. gtk4

Sun, 28 Aug 2022 01:16:13 -0500

author
Gary Kramlich <grim@reaperworld.com>
date
Sun, 28 Aug 2022 01:16:13 -0500
branch
gtk4
changeset 41609
40c35d54cc66
parent 41608
a0a447f4e151
child 41610
412ebdf7158c

Fix the member list context menu.

Testing Done:
Joined a chat and verified that the mouse actions worked on the member list.

Reviewed at https://reviews.imfreedom.org/r/1667/

pidgin/gtkconv.c file | annotate | diff | comparison | revisions
--- a/pidgin/gtkconv.c	Sun Aug 28 01:13:40 2022 -0500
+++ b/pidgin/gtkconv.c	Sun Aug 28 01:16:13 2022 -0500
@@ -553,44 +553,6 @@
 	return menu;
 }
 
-
-static gint
-gtkconv_chat_popup_menu_cb(GtkWidget *widget, PidginConversation *gtkconv)
-{
-	PurpleConversation *conv = gtkconv->active_conv;
-	PurpleConnection *gc;
-	PurpleAccount *account;
-	GtkTreeSelection *sel;
-	GtkTreeIter iter;
-	GtkTreeModel *model;
-	GtkWidget *popover_menu = NULL;
-	GMenu *menu = NULL;
-	gchar *who;
-
-	gtkconv = PIDGIN_CONVERSATION(conv);
-	account = purple_conversation_get_account(conv);
-	gc      = purple_account_get_connection(account);
-
-	model = gtk_tree_view_get_model(GTK_TREE_VIEW(gtkconv->list));
-
-	sel = gtk_tree_view_get_selection(GTK_TREE_VIEW(gtkconv->list));
-	if(!gtk_tree_selection_get_selected(sel, NULL, &iter))
-		return FALSE;
-
-	gtk_tree_model_get(GTK_TREE_MODEL(model), &iter, CHAT_USERS_NAME_COLUMN, &who, -1);
-	menu = create_chat_menu(PURPLE_CHAT_CONVERSATION(conv), who, gc, gtkconv);
-
-	popover_menu = gtk_popover_menu_new_from_model(G_MENU_MODEL(menu));
-	gtk_widget_set_parent(popover_menu, gtkconv->list);
-
-	gtk_popover_popup(GTK_POPOVER(popover_menu));
-
-	g_free(who);
-
-	return TRUE;
-}
-
-
 static gint
 right_click_chat_cb(GtkGestureClick *click, gint n_press, gdouble x, gdouble y,
                     gpointer data)
@@ -1508,13 +1470,12 @@
 	gtk_tree_view_append_column(GTK_TREE_VIEW(list), col);
 
 	click = gtk_gesture_click_new();
+	gtk_gesture_single_set_button(GTK_GESTURE_SINGLE(click), 0);
 	g_signal_connect(click, "pressed", G_CALLBACK(right_click_chat_cb), gtkconv);
 	gtk_widget_add_controller(list, GTK_EVENT_CONTROLLER(click));
 
 	g_signal_connect(G_OBJECT(list), "row-activated",
 					 G_CALLBACK(activate_list_cb), gtkconv);
-	g_signal_connect(G_OBJECT(list), "popup-menu",
-			 G_CALLBACK(gtkconv_chat_popup_menu_cb), gtkconv);
 
 	gtk_widget_set_has_tooltip(list, TRUE);
 	g_signal_connect(list, "query-tooltip",

mercurial