X-Git-Url: http://git.maemo.org/git/?p=modest;a=blobdiff_plain;f=src%2Fmaemo%2Fmodest-address-book.c;h=9b3541ff8f9535f9365cb1a676a8ac30d11d8e92;hp=f97f647084f9510bf411be5a28ca994a7c2ce277;hb=e3480a667fa614794b145a9b3d5124e64e26198f;hpb=b6dc592c8d6ba3d356cd84be09a8f6242977e76f diff --git a/src/maemo/modest-address-book.c b/src/maemo/modest-address-book.c index f97f647..9b3541f 100644 --- a/src/maemo/modest-address-book.c +++ b/src/maemo/modest-address-book.c @@ -586,6 +586,7 @@ add_to_address_book (const gchar* address) EBookQuery *query; GList *contacts = NULL; GError *err = NULL; + gchar *email; g_return_val_if_fail (address, FALSE); @@ -593,8 +594,10 @@ add_to_address_book (const gchar* address) open_addressbook (); g_return_val_if_fail (book, FALSE); + + email = modest_text_utils_get_email_address (address); - query = e_book_query_field_test (E_CONTACT_EMAIL, E_BOOK_QUERY_IS, address); + query = e_book_query_field_test (E_CONTACT_EMAIL, E_BOOK_QUERY_IS, email); if (!e_book_get_contacts (book, query, &contacts, &err)) { g_printerr ("modest: failed to get contacts: %s", err ? err->message : ""); @@ -616,12 +619,22 @@ add_to_address_book (const gchar* address) } else { /* it's not yet in the addressbook, add it now! */ EContact *new_contact = e_contact_new (); - e_contact_set (new_contact, E_CONTACT_EMAIL_1, (const gpointer)address); + gchar *display_address; + display_address = g_strdup (address); + if (display_address) { + modest_text_utils_get_display_address (display_address); + if ((display_address[0] != '\0') && (strlen (display_address) != strlen (address))) + e_contact_set (new_contact, E_CONTACT_FULL_NAME, (const gpointer)display_address); + } + e_contact_set (new_contact, E_CONTACT_EMAIL_1, (const gpointer)email); + g_free (display_address); commit_contact (new_contact, TRUE); g_debug ("%s added to address book", address); g_object_unref (new_contact); } + g_free (email); + return TRUE; }