[empathy] Don't display parameters if Parameters_Exact is not Set



commit ede1523b824fef2f72b8d60f4efdf78a4fc4a768
Author: Guillaume Desmottes <guillaume desmottes collabora co uk>
Date:   Wed Mar 14 10:56:49 2012 +0100

    Don't display parameters if Parameters_Exact is not Set
    
    There is no point cluttering the UI with it as we don't allow user to choose
    which param he wants to set.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=671983

 libempathy-gtk/empathy-contact-widget.c    |    8 ++++++--
 libempathy-gtk/empathy-contactinfo-utils.c |    8 ++++++--
 libempathy-gtk/empathy-contactinfo-utils.h |    3 ++-
 libempathy-gtk/empathy-individual-widget.c |    2 +-
 4 files changed, 15 insertions(+), 6 deletions(-)
---
diff --git a/libempathy-gtk/empathy-contact-widget.c b/libempathy-gtk/empathy-contact-widget.c
index 1b04fb7..edeec31 100644
--- a/libempathy-gtk/empathy-contact-widget.c
+++ b/libempathy-gtk/empathy-contact-widget.c
@@ -409,10 +409,14 @@ contact_widget_details_update_edit (EmpathyContactWidget *information)
 
       /* Add Title */
       title = empathy_contact_info_field_label (field->field_name,
-          field->parameters);
+          field->parameters,
+          (spec->flags & TP_CONTACT_INFO_FIELD_FLAG_PARAMETERS_EXACT));
       w = gtk_label_new (title);
       g_free (title);
 
+      /* TODO: if TP_CONTACT_INFO_FIELD_FLAG_PARAMETERS_EXACT is not set we
+       * should allow user to tag the vCard fields (bgo#672034) */
+
       gtk_grid_attach (GTK_GRID (information->grid_details),
           w, 0, n_rows, 1, 1);
 
@@ -529,7 +533,7 @@ contact_widget_details_update_show (EmpathyContactWidget *information)
 
       /* Add Title */
       title = empathy_contact_info_field_label (field->field_name,
-          field->parameters);
+          field->parameters, TRUE);
       title_widget = gtk_label_new (title);
       g_free (title);
 
diff --git a/libempathy-gtk/empathy-contactinfo-utils.c b/libempathy-gtk/empathy-contactinfo-utils.c
index b995297..2705667 100644
--- a/libempathy-gtk/empathy-contactinfo-utils.c
+++ b/libempathy-gtk/empathy-contactinfo-utils.c
@@ -213,15 +213,19 @@ build_parameters_string (GStrv parameters)
 
 char *
 empathy_contact_info_field_label (const char *field_name,
-    GStrv parameters)
+    GStrv parameters,
+    gboolean show_parameters)
 {
   char *ret;
   const char *title;
-  char *join = build_parameters_string (parameters);
+  char *join = NULL;
 
   if (!empathy_contact_info_lookup_field (field_name, &title, NULL))
     return NULL;
 
+  if (show_parameters)
+    join = build_parameters_string (parameters);
+
   if (join != NULL)
     ret = g_strdup_printf ("%s (%s):", title, join);
   else
diff --git a/libempathy-gtk/empathy-contactinfo-utils.h b/libempathy-gtk/empathy-contactinfo-utils.h
index a49e807..b91f419 100644
--- a/libempathy-gtk/empathy-contactinfo-utils.h
+++ b/libempathy-gtk/empathy-contactinfo-utils.h
@@ -34,7 +34,8 @@ const char **empathy_contact_info_get_field_names (guint *nnames);
 gboolean empathy_contact_info_lookup_field (const gchar *field_name,
     const gchar **title, EmpathyContactInfoFormatFunc *linkify);
 char *empathy_contact_info_field_label (const char *field_name,
-    GStrv parameters);
+    GStrv parameters,
+    gboolean show_parameters);
 
 gint empathy_contact_info_field_cmp (TpContactInfoField *field1,
     TpContactInfoField *field2);
diff --git a/libempathy-gtk/empathy-individual-widget.c b/libempathy-gtk/empathy-individual-widget.c
index 3cbd1d5..e103eff 100644
--- a/libempathy-gtk/empathy-individual-widget.c
+++ b/libempathy-gtk/empathy-individual-widget.c
@@ -267,7 +267,7 @@ details_update_show (EmpathyIndividualWidget *self,
 
       /* Add Title */
       title = empathy_contact_info_field_label (field->field_name,
-          field->parameters);
+          field->parameters, TRUE);
       title_widget = gtk_label_new (title);
 
       /* Add Value */



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]