]> git.0d.be Git - empathy.git/blobdiff - libempathy-gtk/empathy-individual-view.c
Merge branch 'sasl'
[empathy.git] / libempathy-gtk / empathy-individual-view.c
index 6eb301d341c58b10498b384e1cbbf6daba8ee01c..39dc3b34b98c2b3fc1325ed6bc74662bb8bce30f 100644 (file)
@@ -214,7 +214,8 @@ individual_view_query_tooltip_cb (EmpathyIndividualView *view,
     {
       priv->tooltip_widget = empathy_individual_widget_new (individual,
           EMPATHY_INDIVIDUAL_WIDGET_FOR_TOOLTIP |
-          EMPATHY_INDIVIDUAL_WIDGET_SHOW_LOCATION);
+          EMPATHY_INDIVIDUAL_WIDGET_SHOW_LOCATION |
+          EMPATHY_INDIVIDUAL_WIDGET_SHOW_CLIENT_TYPES);
       gtk_container_set_border_width (GTK_CONTAINER (priv->tooltip_widget), 8);
       g_object_ref (priv->tooltip_widget);
       g_signal_connect (priv->tooltip_widget, "destroy",
@@ -899,7 +900,6 @@ individual_view_popup_menu_idle_cb (gpointer user_data)
 
   if (menu != NULL)
     {
-      g_signal_connect (menu, "deactivate", G_CALLBACK (gtk_menu_detach), NULL);
       gtk_menu_attach_to_widget (GTK_MENU (menu), GTK_WIDGET (data->view),
           NULL);
       gtk_widget_show (menu);
@@ -1031,7 +1031,6 @@ individual_view_call_activated_cb (EmpathyCellRendererActivatable *cell,
   gtk_menu_shell_append (shell, item);
   gtk_widget_show (item);
 
-  g_signal_connect (menu, "deactivate", G_CALLBACK (gtk_menu_detach), NULL);
   gtk_menu_attach_to_widget (GTK_MENU (menu), GTK_WIDGET (view), NULL);
   gtk_widget_show (menu);
   gtk_menu_popup (GTK_MENU (menu), NULL, NULL, NULL, NULL,
@@ -1832,6 +1831,8 @@ individual_view_constructed (GObject *object)
       "is_group", EMPATHY_INDIVIDUAL_STORE_COL_IS_GROUP);
   gtk_tree_view_column_add_attribute (col, cell,
       "compact", EMPATHY_INDIVIDUAL_STORE_COL_COMPACT);
+  gtk_tree_view_column_add_attribute (col, cell,
+      "client-types", EMPATHY_INDIVIDUAL_STORE_COL_CLIENT_TYPES);
 
   /* Audio Call Icon */
   cell = empathy_cell_renderer_activatable_new ();
@@ -2185,8 +2186,8 @@ empathy_individual_view_dup_selected (EmpathyIndividualView *view)
   return individual;
 }
 
-gchar *
-empathy_individual_view_get_selected_group (EmpathyIndividualView *view,
+static gchar *
+empathy_individual_view_dup_selected_group (EmpathyIndividualView *view,
     gboolean *is_fake_group)
 {
   EmpathyIndividualViewPriv *priv;
@@ -2252,7 +2253,7 @@ individual_view_group_remove_activate_cb (GtkMenuItem *menuitem,
 {
   gchar *group;
 
-  group = empathy_individual_view_get_selected_group (view, NULL);
+  group = empathy_individual_view_dup_selected_group (view, NULL);
   if (group != NULL)
     {
       gchar *text;
@@ -2293,10 +2294,11 @@ empathy_individual_view_get_group_menu (EmpathyIndividualView *view)
               EMPATHY_INDIVIDUAL_VIEW_FEATURE_GROUPS_REMOVE)))
     return NULL;
 
-  group = empathy_individual_view_get_selected_group (view, &is_fake_group);
+  group = empathy_individual_view_dup_selected_group (view, &is_fake_group);
   if (!group || is_fake_group)
     {
       /* We can't alter fake groups */
+      g_free (group);
       return NULL;
     }