]> git.0d.be Git - empathy.git/commitdiff
Add a "Linked Contacts" label at the top of the Information dialogue
authorPhilip Withnall <philip.withnall@collabora.co.uk>
Fri, 20 Aug 2010 14:40:33 +0000 (15:40 +0100)
committerPhilip Withnall <philip.withnall@collabora.co.uk>
Fri, 20 Aug 2010 15:43:56 +0000 (16:43 +0100)
libempathy-gtk/empathy-individual-information-dialog.c
po/POTFILES.in

index 63623cd2daf9c4f2e44a91b9d8a64495c714f996..486770684254e2bc2543f6ca28f66ca84c60c106 100644 (file)
@@ -110,6 +110,9 @@ individual_information_dialog_set_individual (
 {
   EmpathyIndividualInformationDialogPriv *priv;
   GtkWidget *individual_widget;
+  GtkBox *content_area;
+  GList *personas, *l;
+  guint num_personas = 0;
 
   g_return_if_fail (EMPATHY_INDIVIDUAL_INFORMATION_DIALOG (dialog));
   g_return_if_fail (FOLKS_IS_INDIVIDUAL (individual));
@@ -119,13 +122,42 @@ individual_information_dialog_set_individual (
   gtk_window_set_title (GTK_WINDOW (dialog),
       folks_individual_get_alias (individual));
 
+  content_area = GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (dialog)));
+
+  /* Determine how many personas we have, because we only want to display the
+   * label if we have more than one persona. */
+  personas = folks_individual_get_personas (individual);
+  for (l = personas; l != NULL; l = l->next)
+    {
+      if (TPF_IS_PERSONA (l->data))
+        num_personas++;
+    }
+
+  /* Label */
+  if (num_personas > 1)
+    {
+      gchar *label_string;
+      GtkWidget *label;
+
+      /* Translators: the heading at the top of the Information dialogue */
+      label_string = g_strdup_printf ("<b>%s</b>", _("Linked Contacts"));
+      label = gtk_label_new (NULL);
+      gtk_label_set_markup (GTK_LABEL (label), label_string);
+      g_free (label_string);
+
+      gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
+      gtk_misc_set_padding (GTK_MISC (label), 6, 6);
+      gtk_box_pack_start (content_area, label, FALSE, TRUE, 0);
+      gtk_widget_show (label);
+    }
+
+  /* Individual widget */
   individual_widget = empathy_individual_widget_new (individual,
       EMPATHY_INDIVIDUAL_WIDGET_SHOW_LOCATION |
       EMPATHY_INDIVIDUAL_WIDGET_SHOW_DETAILS |
       EMPATHY_INDIVIDUAL_WIDGET_SHOW_PERSONAS);
-  gtk_container_set_border_width (GTK_CONTAINER (individual_widget), 8);
-  gtk_box_pack_start (GTK_BOX (gtk_dialog_get_content_area (
-      GTK_DIALOG (dialog))), individual_widget, TRUE, TRUE, 0);
+  gtk_container_set_border_width (GTK_CONTAINER (individual_widget), 6);
+  gtk_box_pack_start (content_area, individual_widget, TRUE, TRUE, 0);
   gtk_widget_show (individual_widget);
 
   priv->individual = g_object_ref (individual);
index 98443f94b72d70cccade7d948a61f9eeb4185c79..ac0f13a672848fe80d483a5eae1293f3efc70184 100644 (file)
@@ -40,6 +40,7 @@ libempathy-gtk/empathy-contact-widget.c
 libempathy-gtk/empathy-groups-widget.c
 libempathy-gtk/empathy-individual-dialogs.c
 libempathy-gtk/empathy-individual-edit-dialog.c
+libempathy-gtk/empathy-individual-information-dialog.c
 libempathy-gtk/empathy-individual-linker.c
 libempathy-gtk/empathy-individual-menu.c
 libempathy-gtk/empathy-individual-view.c