]> git.0d.be Git - empathy.git/commitdiff
Pressing F2 opens the Edit Contact Information window for #586257
authorKushal Das <kushal@fedoraproject.org>
Tue, 11 Jan 2011 12:19:18 +0000 (17:49 +0530)
committerGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>
Tue, 11 Jan 2011 12:27:53 +0000 (13:27 +0100)
libempathy-gtk/empathy-individual-view.c

index 38ef61e5447bd6fb25e97b66e91c3eadafdd7e6a..e1007ae65f6d9b9a049a15231ceec334831cd067 100644 (file)
@@ -47,6 +47,7 @@
 #include "empathy-individual-view.h"
 #include "empathy-individual-menu.h"
 #include "empathy-individual-store.h"
+#include "empathy-contact-dialogs.h"
 #include "empathy-images.h"
 #include "empathy-linking-dialog.h"
 #include "empathy-cell-renderer-expander.h"
@@ -947,6 +948,25 @@ individual_view_key_press_event_cb (EmpathyIndividualView *view,
       data->button = 0;
       data->time = event->time;
       g_idle_add (individual_view_popup_menu_idle_cb, data);
+    } else if (event->keyval == GDK_KEY_F2) {
+        FolksIndividual *individual;
+        EmpathyContact *contact;
+
+        g_return_val_if_fail (EMPATHY_IS_INDIVIDUAL_VIEW (view), FALSE);
+
+        individual = empathy_individual_view_dup_selected (view);
+        if (individual == NULL)
+            return FALSE;
+
+        contact = empathy_contact_dup_from_folks_individual (individual);
+        if (contact == NULL) {
+            g_object_unref (individual);
+            return FALSE;
+        }
+        empathy_contact_edit_dialog_show (contact, NULL);
+
+        g_object_unref (individual);
+        g_object_unref (contact);
     }
 
   return FALSE;
@@ -1365,7 +1385,8 @@ individual_view_search_key_navigation_cb (GtkWidget *search,
   GdkEventKey *eventkey = ((GdkEventKey *) event);
   gboolean ret = FALSE;
 
-  if (eventkey->keyval == GDK_KEY_Up || eventkey->keyval == GDK_KEY_Down)
+  if (eventkey->keyval == GDK_KEY_Up || eventkey->keyval == GDK_KEY_Down
+      || eventkey->keyval == GDK_KEY_F2)
     {
       GdkEvent *new_event;