diff options
author | Xavier Claessens <xclaesse@gmail.com> | 2009-04-21 06:43:41 +0800 |
---|---|---|
committer | Xavier Claessens <xclaesse@gmail.com> | 2009-04-22 18:21:14 +0800 |
commit | 65ed272fef1016fff3403024e3417491ecf30015 (patch) | |
tree | 23cb0dabcc28a0d8b7155230462831f8894317a0 | |
parent | a5356f9c7ea9979f05a6752a848d944a9ed7264d (diff) | |
download | gsoc2013-empathy-65ed272fef1016fff3403024e3417491ecf30015.tar gsoc2013-empathy-65ed272fef1016fff3403024e3417491ecf30015.tar.gz gsoc2013-empathy-65ed272fef1016fff3403024e3417491ecf30015.tar.bz2 gsoc2013-empathy-65ed272fef1016fff3403024e3417491ecf30015.tar.lz gsoc2013-empathy-65ed272fef1016fff3403024e3417491ecf30015.tar.xz gsoc2013-empathy-65ed272fef1016fff3403024e3417491ecf30015.tar.zst gsoc2013-empathy-65ed272fef1016fff3403024e3417491ecf30015.zip |
Add empathy_contact_new_static() to create a contact that comes from logs
-rw-r--r-- | libempathy/empathy-contact.c | 17 | ||||
-rw-r--r-- | libempathy/empathy-contact.h | 2 | ||||
-rw-r--r-- | libempathy/empathy-log-store-empathy.c | 9 |
3 files changed, 22 insertions, 6 deletions
diff --git a/libempathy/empathy-contact.c b/libempathy/empathy-contact.c index 813982b27..27f3ff9c2 100644 --- a/libempathy/empathy-contact.c +++ b/libempathy/empathy-contact.c @@ -388,6 +388,23 @@ empathy_contact_new (TpContact *tp_contact) NULL); } +EmpathyContact * +empathy_contact_new_static (McAccount *account, + const gchar *id, + const gchar *name, + gboolean is_user) +{ + g_return_val_if_fail (MC_IS_ACCOUNT (account), NULL); + g_return_val_if_fail (id != NULL, NULL); + + return g_object_new (EMPATHY_TYPE_CONTACT, + "account", account, + "id", id, + "name", name, + "is-user", is_user, + NULL); +} + TpContact * empathy_contact_get_tp_contact (EmpathyContact *contact) { diff --git a/libempathy/empathy-contact.h b/libempathy/empathy-contact.h index 11f329ee5..0fab90462 100644 --- a/libempathy/empathy-contact.h +++ b/libempathy/empathy-contact.h @@ -68,6 +68,8 @@ typedef enum { GType empathy_contact_get_type (void) G_GNUC_CONST; EmpathyContact * empathy_contact_new (TpContact *tp_contact); +EmpathyContact * empathy_contact_new_static (McAccount *account, + const gchar *id, const gchar *name, gboolean is_user); TpContact * empathy_contact_get_tp_contact (EmpathyContact *contact); const gchar * empathy_contact_get_id (EmpathyContact *contact); void empathy_contact_set_id (EmpathyContact *contact, const gchar *id); diff --git a/libempathy/empathy-log-store-empathy.c b/libempathy/empathy-log-store-empathy.c index d431e0d35..6485d0079 100644 --- a/libempathy/empathy-log-store-empathy.c +++ b/libempathy/empathy-log-store-empathy.c @@ -481,12 +481,9 @@ log_store_empathy_get_messages_for_file (EmpathyLogStore *self, t = empathy_time_parse (time); - sender = g_object_new (EMPATHY_TYPE_CONTACT, - "account", account, - "id", sender_id, - "name", sender_name, - "is-user", is_user, - NULL); + sender = empathy_contact_new_static (account, sender_id, sender_name, + is_user); + if (!EMP_STR_EMPTY (sender_avatar_token)) empathy_contact_load_avatar_cache (sender, sender_avatar_token); |