diff options
author | Danielle Madeley <danielle.madeley@collabora.co.uk> | 2011-09-08 11:11:22 +0800 |
---|---|---|
committer | Danielle Madeley <danielle.madeley@collabora.co.uk> | 2011-10-21 06:42:21 +0800 |
commit | cf23dd409cc36a8f692bf0db4f28e505da8633f8 (patch) | |
tree | 5d29fe7b658fe3c39a76a76056c4432303d6bf13 /libempathy | |
parent | 06e665213df9b95a74f317da82a8f9537e2e3c87 (diff) | |
download | gsoc2013-empathy-cf23dd409cc36a8f692bf0db4f28e505da8633f8.tar gsoc2013-empathy-cf23dd409cc36a8f692bf0db4f28e505da8633f8.tar.gz gsoc2013-empathy-cf23dd409cc36a8f692bf0db4f28e505da8633f8.tar.bz2 gsoc2013-empathy-cf23dd409cc36a8f692bf0db4f28e505da8633f8.tar.lz gsoc2013-empathy-cf23dd409cc36a8f692bf0db4f28e505da8633f8.tar.xz gsoc2013-empathy-cf23dd409cc36a8f692bf0db4f28e505da8633f8.tar.zst gsoc2013-empathy-cf23dd409cc36a8f692bf0db4f28e505da8633f8.zip |
Move empathy-contactinfo-utils to libempathy-gtk
Why do we still have this annoying split?
Rebasing this work will pull in a dependency on empathy-string-parser, which is
part of libempathy-gtk. Hence the move.
Diffstat (limited to 'libempathy')
-rw-r--r-- | libempathy/Makefile.am | 2 | ||||
-rw-r--r-- | libempathy/empathy-contactinfo-utils.c | 185 | ||||
-rw-r--r-- | libempathy/empathy-contactinfo-utils.h | 41 |
3 files changed, 0 insertions, 228 deletions
diff --git a/libempathy/Makefile.am b/libempathy/Makefile.am index bb3088234..079b4736b 100644 --- a/libempathy/Makefile.am +++ b/libempathy/Makefile.am @@ -39,7 +39,6 @@ libempathy_headers = \ empathy-contact-list.h \ empathy-contact-manager.h \ empathy-contact.h \ - empathy-contactinfo-utils.h \ empathy-debug.h \ empathy-ft-factory.h \ empathy-ft-handler.h \ @@ -83,7 +82,6 @@ libempathy_handwritten_source = \ empathy-contact-list.c \ empathy-contact-manager.c \ empathy-contact.c \ - empathy-contactinfo-utils.c \ empathy-debug.c \ empathy-ft-factory.c \ empathy-ft-handler.c \ diff --git a/libempathy/empathy-contactinfo-utils.c b/libempathy/empathy-contactinfo-utils.c deleted file mode 100644 index c4bbeb1ab..000000000 --- a/libempathy/empathy-contactinfo-utils.c +++ /dev/null @@ -1,185 +0,0 @@ -/* - * Copyright (C) 2007-2011 Collabora Ltd. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - * Authors: Xavier Claessens <xclaesse@gmail.com> - * Philip Withnall <philip.withnall@collabora.co.uk> - * Danielle Madeley <danielle.madeley@collabora.co.uk> - */ - -#include <config.h> - -#include <string.h> - -#include <glib/gi18n-lib.h> - -#include <telepathy-glib/util.h> - -#include "empathy-contactinfo-utils.h" - -typedef struct -{ - const gchar *field_name; - const gchar *title; - gboolean linkify; -} InfoFieldData; - -static InfoFieldData info_field_data[] = -{ - { "fn", N_("Full name"), FALSE }, - { "tel", N_("Phone number"), FALSE }, - { "email", N_("E-mail address"), TRUE }, - { "url", N_("Website"), TRUE }, - { "bday", N_("Birthday"), FALSE }, - { NULL, NULL } -}; - -typedef struct -{ - const gchar *type; - const gchar *title; -} InfoParameterData; - -static InfoParameterData info_parameter_data[] = -{ - { "work", N_("work") }, - { "home", N_("home") }, - { "cell", N_("mobile") }, - { "voice", N_("voice") }, - { "pref", N_("preferred") }, - { "postal", N_("postal") }, - { "parcel", N_("parcel") }, - { NULL, NULL } -}; - -gboolean -empathy_contact_info_lookup_field (const gchar *field_name, - const gchar **title, - gboolean *linkify) -{ - guint i; - - for (i = 0; info_field_data[i].field_name != NULL; i++) - { - if (tp_strdiff (info_field_data[i].field_name, field_name) == FALSE) - { - if (title != NULL) - *title = gettext (info_field_data[i].title); - - if (linkify != NULL) - *linkify = info_field_data[i].linkify; - - return TRUE; - } - } - - return FALSE; -} - -static char * -build_parameters_string (GStrv parameters) -{ - GPtrArray *output = g_ptr_array_new (); - char *join; - GStrv iter; - - for (iter = parameters; iter != NULL && *iter != NULL; iter++) - { - static const char *prefix = "type="; - const char *param = *iter; - InfoParameterData *iter2; - - if (!g_str_has_prefix (param, prefix)) - continue; - - param += strlen (prefix); - - for (iter2 = info_parameter_data; iter2->type != NULL; iter2++) - { - if (!tp_strdiff (iter2->type, param)) - { - g_ptr_array_add (output, gettext (iter2->title)); - break; - } - } - } - - if (output->len == 0) - return NULL; - - g_ptr_array_add (output, NULL); /* NULL-terminate */ - - join = g_strjoinv (", ", (char **) output->pdata); - g_ptr_array_free (output, TRUE); - - return join; -} - -char * -empathy_contact_info_field_label (const char *field_name, - GStrv parameters) -{ - char *ret; - const char *title; - char *join = build_parameters_string (parameters); - - if (!empathy_contact_info_lookup_field (field_name, &title, NULL)) - return NULL; - - if (join != NULL) - ret = g_strdup_printf ("%s (%s):", title, join); - else - ret = g_strdup_printf ("%s:", title); - - g_free (join); - - return ret; -} - -static gint -contact_info_field_name_cmp (const gchar *name1, - const gchar *name2) -{ - guint i; - - if (tp_strdiff (name1, name2) == FALSE) - return 0; - - /* We use the order of info_field_data */ - for (i = 0; info_field_data[i].field_name != NULL; i++) - { - if (tp_strdiff (info_field_data[i].field_name, name1) == FALSE) - return -1; - if (tp_strdiff (info_field_data[i].field_name, name2) == FALSE) - return +1; - } - - return g_strcmp0 (name1, name2); -} - -gint -empathy_contact_info_field_cmp (TpContactInfoField *field1, - TpContactInfoField *field2) -{ - return contact_info_field_name_cmp (field1->field_name, field2->field_name); -} - -gint -empathy_contact_info_field_spec_cmp (TpContactInfoFieldSpec *spec1, - TpContactInfoFieldSpec *spec2) -{ - return contact_info_field_name_cmp (spec1->name, spec2->name); -} diff --git a/libempathy/empathy-contactinfo-utils.h b/libempathy/empathy-contactinfo-utils.h deleted file mode 100644 index 059085c84..000000000 --- a/libempathy/empathy-contactinfo-utils.h +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Copyright (C) 2011 Collabora Ltd. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - * - * Authors: Danielle Madeley <danielle.madeley@collabora.co.uk> - */ - -#ifndef __EMPATHY_CONTACTINFO_UTILS_H__ -#define __EMPATHY_CONTACTINFO_UTILS_H__ - -#include <glib.h> -#include <telepathy-glib/connection.h> - -G_BEGIN_DECLS - -gboolean empathy_contact_info_lookup_field (const gchar *field_name, - const gchar **title, gboolean *linkify); -char *empathy_contact_info_field_label (const char *field_name, - GStrv parameters); - -gint empathy_contact_info_field_cmp (TpContactInfoField *field1, - TpContactInfoField *field2); -gint empathy_contact_info_field_spec_cmp (TpContactInfoFieldSpec *spec1, - TpContactInfoFieldSpec *spec2); - -G_END_DECLS - -#endif /* __EMPATHY_UTILS_H__ */ |