empathy r1109 - trunk/libempathy-gtk



Author: xclaesse
Date: Sun May 18 16:49:20 2008
New Revision: 1109
URL: http://svn.gnome.org/viewvc/empathy?rev=1109&view=rev

Log:
Popup context menu when menu key is pressed. Fixes bug #531414 (Baptiste Mille-Mathias).


Modified:
   trunk/libempathy-gtk/empathy-contact-list-view.c

Modified: trunk/libempathy-gtk/empathy-contact-list-view.c
==============================================================================
--- trunk/libempathy-gtk/empathy-contact-list-view.c	(original)
+++ trunk/libempathy-gtk/empathy-contact-list-view.c	Sun May 18 16:49:20 2008
@@ -28,6 +28,7 @@
 #include <string.h>
 
 #include <glib/gi18n.h>
+#include <gdk/gdkkeysyms.h>
 #include <gtk/gtk.h>
 #include <glade/glade.h>
 
@@ -440,6 +441,24 @@
 	return FALSE;
 }
 
+static gboolean
+contact_list_view_key_press_event_cb (EmpathyContactListView *view,
+				      GdkEventKey	     *event,
+				      gpointer		      user_data)
+{
+	if (event->keyval == GDK_Menu) {
+		MenuPopupData *data;
+
+		data = g_slice_new (MenuPopupData);
+		data->view = view;
+		data->button = event->keyval;
+		data->time = event->time;
+		g_idle_add (contact_list_view_popup_menu_idle_cb, data);
+	}
+
+	return FALSE;
+}
+
 static void
 contact_list_view_row_activated_cb (EmpathyContactListView *view,
 				    GtkTreePath            *path,
@@ -1031,6 +1050,10 @@
 			  G_CALLBACK (contact_list_view_button_press_event_cb),
 			  NULL);
 	g_signal_connect (view,
+			  "key-press-event",
+			  G_CALLBACK (contact_list_view_key_press_event_cb),
+			  NULL);
+	g_signal_connect (view,
 			  "row-activated",
 			  G_CALLBACK (contact_list_view_row_activated_cb),
 			  NULL);



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]