]> git.0d.be Git - empathy.git/commitdiff
map-view: use the individual menu
authorGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>
Fri, 9 Dec 2011 16:57:05 +0000 (17:57 +0100)
committerGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>
Wed, 14 Dec 2011 12:24:04 +0000 (13:24 +0100)
https://bugzilla.gnome.org/show_bug.cgi?id=665038

src/empathy-map-view.c

index 5916dd02e47d4a28e2ba8f975ce8c4e6cc7f6fdb..9ab82c091c518954bda82f95321d970a13382fd4 100644 (file)
@@ -35,7 +35,7 @@
 #include <libempathy/empathy-utils.h>
 #include <libempathy/empathy-location.h>
 
-#include <libempathy-gtk/empathy-contact-menu.h>
+#include <libempathy-gtk/empathy-individual-menu.h>
 #include <libempathy-gtk/empathy-ui-utils.h>
 
 #include "empathy-map-view.h"
@@ -192,28 +192,41 @@ marker_clicked_cb (ChamplainMarker *marker,
 {
   GtkWidget *menu;
   EmpathyContact *contact;
+  TpContact *tp_contact;
+  FolksIndividual *individual;
 
   if (event->button != 3)
     return FALSE;
 
   contact = g_object_get_data (G_OBJECT (marker), "contact");
+  if (contact == NULL)
+    return FALSE;
 
-  menu = empathy_contact_menu_new (contact,
-      EMPATHY_CONTACT_FEATURE_CHAT |
-      EMPATHY_CONTACT_FEATURE_CALL |
-      EMPATHY_CONTACT_FEATURE_LOG |
-      EMPATHY_CONTACT_FEATURE_FT |
-      EMPATHY_CONTACT_FEATURE_INFO);
+  tp_contact = empathy_contact_get_tp_contact (contact);
+  if (tp_contact == NULL)
+    return FALSE;
 
-  if (menu == NULL)
+  individual = empathy_create_individual_from_tp_contact (tp_contact);
+  if (individual == NULL)
     return FALSE;
 
+  menu = empathy_individual_menu_new (individual,
+      EMPATHY_INDIVIDUAL_FEATURE_CHAT |
+      EMPATHY_INDIVIDUAL_FEATURE_CALL |
+      EMPATHY_INDIVIDUAL_FEATURE_LOG |
+      EMPATHY_INDIVIDUAL_FEATURE_INFO, NULL);
+
+  if (menu == NULL)
+    goto out;
+
   gtk_menu_attach_to_widget (GTK_MENU (menu), GTK_WIDGET (self), NULL);
 
   gtk_widget_show (menu);
   gtk_menu_popup (GTK_MENU (menu), NULL, NULL, NULL, NULL,
       event->button, event->time);
 
+out:
+  g_object_unref (individual);
   return FALSE;
 }