diff options
author | Jon Trowbridge <trow@ximian.com> | 2001-05-18 15:10:04 +0800 |
---|---|---|
committer | Jon Trowbridge <trow@src.gnome.org> | 2001-05-18 15:10:04 +0800 |
commit | 3ca3f79dbe4641478582cd0b78a6e377c3430b19 (patch) | |
tree | 2693ebef04b05fff098f38f00233e676caf6229e /composer | |
parent | c8476fc1ff4887bde985382de708f248067ac7ba (diff) | |
download | gsoc2013-evolution-3ca3f79dbe4641478582cd0b78a6e377c3430b19.tar gsoc2013-evolution-3ca3f79dbe4641478582cd0b78a6e377c3430b19.tar.gz gsoc2013-evolution-3ca3f79dbe4641478582cd0b78a6e377c3430b19.tar.bz2 gsoc2013-evolution-3ca3f79dbe4641478582cd0b78a6e377c3430b19.tar.lz gsoc2013-evolution-3ca3f79dbe4641478582cd0b78a6e377c3430b19.tar.xz gsoc2013-evolution-3ca3f79dbe4641478582cd0b78a6e377c3430b19.tar.zst gsoc2013-evolution-3ca3f79dbe4641478582cd0b78a6e377c3430b19.zip |
Return the serialized EDestinations (rather than just a string w/ e-mail
2001-05-18 Jon Trowbridge <trow@ximian.com>
* gui/component/select-names/e-select-names-bonobo.c
(entry_get_property_fn): Return the serialized EDestinations
(rather than just a string w/ e-mail addresses) through the bonobo
component's property bag.
* gui/component/select-names/e-select-names-model.c
(e_select_names_model_export_destinationv): Added. A convenience routine
for serializing the model's EDestinations into a string.
* gui/component/select-names/e-select-names-popup.c
(add_html_mail): Added. Puts in a check menu item for whether or
not the recipient wants HTML mail.
(popup_menu_card): Add menu item for HTML mail. Enable edit
contact info item.
(popup_menu_nocard): Add menu item for HTML mail. Enable edit
contact info item.
* backend/ebook/e-book-util.c (e_book_use_local_address_book):
Added. Fetches the local addressbook and caches it on the first
call. This is meant to be an easy and efficient way to get at the
local addressbook with the minimum of code.
(e_book_query_address_locally): Added. Convenience code that
does an e-mail only e_book_name_and_email_query against the
local address book.
* backend/ebook/e-destination.c
(e_destination_set_html_mail_pref): Added. Allows the intended
recipient's HTML mail preference to be manipulated.
(e_destination_get_email_verbose): Added. Cleaned up to use
e_destination_get_name.
(e_destination_get_html_mail_pref): Added. Read the recipient's HTML mail
preference. If the destination is linked to a card, the
preference is taken from the card (unless it has been explicitly
overridden by a called to e_destination_set_html_mail_pref).
(e_destination_get_address_textv): Added. Form a unified address string
from a NULL-terminated vector of EDestinations.
(e_destination_export): Added. Serialize an EDestination to a string.
(e_destination_import): Added. Unserialize a string to build an
EDestination.
(e_destination_exportv): Added. Serialize a NULL-terminated vector of
EDestinations to a string.
(e_destination_importv): Added. Unserialize a string to build a
NULL-terminated vector of EDestinations.
* gui/component/select-names/e-select-names-completion.c:
Implemented local versions of g_strcasecmp and g_strncasecmp
(which should really be in glib, I think...) for utf8, and used
them to make this code utf8-safe.
2001-05-18 Jon Trowbridge <trow@ximian.com>
* Makefile.am (evolution_mail_LDADD): Added libebook.la (which is
now required by the composer.)
2001-05-18 Jon Trowbridge <trow@ximian.com>
* e-msg-composer-hdrs.c (set_recipients): Properly unserialize the
string returned by the "text" property of the bonobo control,
convert it into EDestinations, and use them to get the e-mail
addresses of our recipients.
22001-05-18 Jon Trowbridge <trow@ximian.com>
* Makefile.am (SUBDIRS): Changed build order. Now addressbook
gets built before mail.
svn path=/trunk/; revision=9878
Diffstat (limited to 'composer')
-rw-r--r-- | composer/ChangeLog | 7 | ||||
-rw-r--r-- | composer/Makefile.am | 1 | ||||
-rw-r--r-- | composer/e-msg-composer-hdrs.c | 32 |
3 files changed, 33 insertions, 7 deletions
diff --git a/composer/ChangeLog b/composer/ChangeLog index 4d09888796..5c78b35db6 100644 --- a/composer/ChangeLog +++ b/composer/ChangeLog @@ -1,3 +1,10 @@ +2001-05-18 Jon Trowbridge <trow@ximian.com> + + * e-msg-composer-hdrs.c (set_recipients): Properly unserialize the + string returned by the "text" property of the bonobo control, + convert it into EDestinations, and use them to get the e-mail + addresses of our recipients. + 2001-05-17 Dan Winship <danw@ximian.com> * e-msg-composer.c (save_draft): Draft messages should be marked diff --git a/composer/Makefile.am b/composer/Makefile.am index ad78500587..898c372e5e 100644 --- a/composer/Makefile.am +++ b/composer/Makefile.am @@ -48,6 +48,7 @@ INCLUDES = \ -I$(top_builddir)/widgets \ -I$(top_srcdir)/camel \ -I$(top_builddir)/camel \ + -I$(top_builddir)/addressbook/backend/ebook \ -I$(top_builddir)/addressbook/gui/component/select-names \ -I$(top_builddir)/shell \ -I$(top_srcdir)/shell \ diff --git a/composer/e-msg-composer-hdrs.c b/composer/e-msg-composer-hdrs.c index d31ac118fc..74932d1ca1 100644 --- a/composer/e-msg-composer-hdrs.c +++ b/composer/e-msg-composer-hdrs.c @@ -44,6 +44,7 @@ #include <gal/widgets/e-unicode.h> #include <camel/camel.h> +#include <e-destination.h> #include "e-msg-composer-hdrs.h" #include "mail/mail-config.h" @@ -630,20 +631,37 @@ e_msg_composer_hdrs_new (gint visible_flags) static void set_recipients (CamelMimeMessage *msg, GtkWidget *entry_widget, const gchar *type) { + EDestination **destv; CamelInternetAddress *addr; - char *string; + char *string = NULL, *dest_str = NULL; + gint i=0; bonobo_widget_get_property (BONOBO_WIDGET (entry_widget), "text", &string, NULL); + destv = e_destination_importv (string); - addr = camel_internet_address_new (); - camel_address_unformat (CAMEL_ADDRESS (addr), string); + if (destv) { + + dest_str = e_destination_get_address_textv (destv); + + if (dest_str) { + addr = camel_internet_address_new (); + camel_address_unformat (CAMEL_ADDRESS (addr), dest_str); - /* TODO: In here, we could cross-reference the names with an alias book - or address book, it should be sufficient for unformat to do the parsing too */ + /* TODO: In here, we could cross-reference the names with an alias book + or address book, it should be sufficient for unformat to do the parsing too */ - camel_mime_message_set_recipients (msg, type, addr); + camel_mime_message_set_recipients (msg, type, addr); - camel_object_unref (CAMEL_OBJECT (addr)); + camel_object_unref (CAMEL_OBJECT (addr)); + + g_free (dest_str); + } + + for (i=0; destv[i]; ++i) + gtk_object_unref (GTK_OBJECT (destv[i])); + g_free (destv); + } + g_free (string); } |