]> git.0d.be Git - empathy.git/commitdiff
Popup context menu when menu key is pressed. Fixes bug #531414 (Baptiste Mille-Mathias).
authorXavier Claessens <xclaesse@src.gnome.org>
Sun, 18 May 2008 16:49:20 +0000 (16:49 +0000)
committerXavier Claessens <xclaesse@src.gnome.org>
Sun, 18 May 2008 16:49:20 +0000 (16:49 +0000)
svn path=/trunk/; revision=1109

libempathy-gtk/empathy-contact-list-view.c

index 3c4d234b7fbd5398d802cc1e58009bfc21f8d462..1b44d50cef6fb343fc9c3d2331f10ad78bc841bf 100644 (file)
@@ -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 @@ contact_list_view_button_press_event_cb (EmpathyContactListView *view,
        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,
@@ -1030,6 +1049,10 @@ empathy_contact_list_view_init (EmpathyContactListView *view)
                          "button-press-event",
                          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),