Commit Graph

40 Commits

Author SHA1 Message Date
b0ac33fbbe Make inline images used for replies not show up as
attachments. Also, I think this should make replies to HTML
	messages containing inline images referenced via Content-Location
	work, but that's not tested.

	* e-msg-composer.c (various): Keep two hash tables of inline image
	data: one mapping from cid: URLs to CamelMimeParts for all
	attachments, the other mapping from file: and Content-Location
	urls to CamelMimeParts (for those inline images that came from a
	file or have a Content-Location).
	(add_inlined_images): Simplify. Most of this code is in
	e_msg_composer_add_inline_image_from_file() now.
	(e_msg_composer_add_message_attachments, handle_multipart): Change
	"attach_all" arg to "just_inlines". If it is set, call
	e_msg_composer_add_inline_image_from_mime_part on any attachment
	with a Content-Id or Content-Location.
	(e_msg_composer_add_inline_image_from_file): Create a mime part
	from a file and add it to the inline images hash.
	(e_msg_composer_add_inline_image_from_mime_part): Add a mime part
	directly to the inline images hash.

	* listener.c (resolve_image_url): If asked to resolve a file: URL
	that isn't in the inline images hash, call
	e_msg_composer_add_inline_image_from_file to get a cid for it.
	(impl_event): Look up the URL in the inline_images and
	inline_images_by_url hashes.

        * e-msg-composer-attachment-bar.c
	(e_msg_composer_attachment_bar_find_message): Gone. No longer
	used.

svn path=/trunk/; revision=13852
2001-10-21 19:08:07 +00:00
dfd09f4f17 Don't use a g_return_val_if_fail after iconv_open, this is a valid error
2001-10-18  Jeffrey Stedfast  <fejj@ximian.com>

	* e-msg-composer.c (best_encoding): Don't use a
	g_return_val_if_fail after iconv_open, this is a valid error
	condition and so should use check it for real.

	* e-msg-composer-attachment-bar.c (attach_to_multipart): Correctly
	set the charset parameter and use camel's bestenc filter to
	determine which content transfer encoding to use.

svn path=/trunk/; revision=13784
2001-10-19 01:56:21 +00:00
45a3bf8c45 If the attachment fails, report the error to the user.
2001-10-09  Jeffrey Stedfast  <fejj@ximian.com>

	* e-msg-composer-attachment-bar.c (add_from_file): If the
	attachment fails, report the error to the user.

	* e-msg-composer-attachment.c (e_msg_composer_attachment_new): Now
	takes a CamelException argument.

svn path=/trunk/; revision=13537
2001-10-10 00:10:02 +00:00
88a34e292b fix cut&pasteo.
2001-10-05  Larry Ewing  <lewing@ximian.com>

	* e-msg-composer-attachment-bar.c
	(e_msg_composer_attachment_bar_find_message): fix cut&pasteo.

svn path=/trunk/; revision=13447
2001-10-05 17:50:16 +00:00
a1750a292e remove unused variable.
2001-10-05  Larry Ewing  <lewing@ximian.com>

	* e-msg-composer-attachment.c (e_msg_composer_attachment_new):
	remove unused variable.

	* e-msg-composer-attachment-bar.c
	(e_msg_composer_attachment_bar_find_message): generalize this to
	lookup content locations as well.

	* e-msg-composer-attachment-bar.h: change prototype to match the
	new function.

	* listener.c (impl_event): handle the url_requested event, look up
	parts in the attachment part and feed them down the stream if it
	is found.

	* e-msg-composer.c (handle_multipart_alternative): delay setting
	the body text.
	(handle_multipart): delay setting body text
	(e_msg_composer_new_with_message): set the body text from the
	object data.  Doing this ensures that we will have the attachments
	processed before we try to look them up.

svn path=/trunk/; revision=13445
2001-10-05 16:57:01 +00:00
45a6a71ecd change to return a CamelMimePart.
2001-10-04  Larry Ewing  <lewing@ximian.com>

	* e-msg-composer-attachment-bar.c
	(e_msg_composer_attachment_bar_find_content_id): change to return
	a CamelMimePart.

	* e-msg-composer-attachment-bar.h: update prototype.

svn path=/trunk/; revision=13437
2001-10-05 05:15:09 +00:00
0f0efa5e77 look up an attachment by it's content id.
2001-10-04  Larry Ewing  <lewing@ximian.com>

	* e-msg-composer-attachment-bar.c
	(e_msg_composer_attachment_bar_find_content_id): look up an
	attachment by it's content id.

	* e-msg-composer-attachment-bar.h: add prototype for
	e_msg_composer_attachment_bar_find_content_id.

svn path=/trunk/; revision=13436
2001-10-05 04:09:41 +00:00
7054bd6586 Don't gtk_object_destroy() the pixbuf loader, unref it instead.
2001-09-16  Jeffrey Stedfast  <fejj@ximian.com>

	* e-msg-composer-attachment-bar.c (update): Don't
	gtk_object_destroy() the pixbuf loader, unref it instead.

	* e-msg-composer-hdrs.c (destroy): Don't forget to free the
	private structure.

svn path=/trunk/; revision=12862
2001-09-16 20:54:07 +00:00
e694ee7fff Set the user-chosen charset.
2001-07-02  Jeffrey Stedfast  <fejj@ximian.com>

	* e-msg-composer-attachment-bar.c (attach_to_multipart): Set the
	user-chosen charset.

	* e-msg-composer.c (menu_change_charset_cb): New callback function
	to get the user-set charset.
	(init): Set the charset to NULL.
	(best_charset): Take a default_charset param that holds the value
	the user set for this particular message using the menu.
	(destroy): Free the charset.

svn path=/trunk/; revision=10704
2001-07-02 21:13:18 +00:00
91cc026904 Update the copyrights, replacing Helix Code with Ximian and
helixcode.com with ximian.com all over the place.

svn path=/trunk/; revision=10440
2001-06-23 08:52:02 +00:00
1391cd5ced Replace the disposition option menu with a checkbox.
* e-msg-composer-attachment.glade: Replace the disposition option
	menu with a checkbox.

	* e-msg-composer-select-file.c
	(e_msg_composer_select_file_attachment): New function to select a
	file to attach. Adds a "suggest inline disposition" checkbox.

	* e-msg-composer-attachment.c (e_msg_composer_attachment_new): Add
	a disposition argument rather than always defaulting to
	"attachment".
	(struct _DialogData, ok_cb, e_msg_composer_attachment_edit):
	Update for optionmenu->checkbox change for disposition.

	* e-msg-composer-attachment-bar.c (add_from_file): Add a
	disposition argument.
	(add_from_user): Use e_msg_composer_select_file_attachment, pass
	chosen disposition to add_from_file.
	(e_msg_composer_attachment_bar_attach): Pass "attachment" to
	add_from_file for the disposition.

svn path=/trunk/; revision=10200
2001-06-12 18:04:15 +00:00
aaa9b9bb2a Use e_utf8_to_gtk_string() on the description of the attachment since
2001-05-28  Jeffrey Stedfast  <fejj@ximian.com>

	* e-msg-composer-attachment-bar.c (update): Use
	e_utf8_to_gtk_string() on the description of the attachment since
	camel stores these as utf-8 strings.

svn path=/trunk/; revision=10036
2001-05-29 01:13:38 +00:00
8a0c0a6802 Replace #include <gtk/gtk.h> Replace #include <gnome.h> Remove #include
2001-03-29  Kjartan Maraas  <kmaraas@gnome.org>

	* e-icon-list.c: Replace #include <gtk/gtk.h>
	* e-msg-composer-attachment-bar.c: Replace #include <gnome.h>
	* e-msg-composer-attachment-bar.h: Remove #include <gnome.h>
	* e-msg-composer-attachment.c: Remove #include <gnome.h>
	* e-msg-composer-attachment.h: Same here.
	* e-msg-composer-hdrs.c: Replace #include <gnome.h> and <bonobo.h>
	* e-msg-composer-hdrs.h: Replace #include <gnome.h>
	* e-msg-composer-file.c: #include <gtk/gtkmain.h>, <gtk/gtksignal.h>
	* e-msg-composer.c: Replace #include <bonobo.h>, <gnome.h>
	* e-msg-composer.h: Replace #include <gnome.h> and <bonobo.h>
	* evolution-composer.c: Replace #include <bonobo.h>
	* listener.c: Same here.

svn path=/trunk/; revision=9023
2001-03-29 20:22:54 +00:00
c1488e33da multipart/* is another mime type we DO NOT want to encode ;-)
2001-02-10  Jeffrey Stedfast  <fejj@ximian.com>

	* e-msg-composer-attachment-bar.c (attach_to_multipart):
	multipart/* is another mime type we DO NOT want to encode ;-)

svn path=/trunk/; revision=8156
2001-02-10 09:14:38 +00:00
a8b13bc044 Use header_content_type_simple, not header_content_type_format.
* e-msg-composer-attachment.c (e_msg_composer_attachment_edit):
	* e-msg-composer-attachment-bar.c (update): Use
	header_content_type_simple, not header_content_type_format.

svn path=/trunk/; revision=7215
2001-01-02 19:34:03 +00:00
87d3886d23 Use CamelContentType instead of GMimeContentField.
* e-msg-composer.c (handle_multipart_alternative,
	handle_multipart, e_msg_composer_new_with_message): Use
	CamelContentType instead of GMimeContentField.

	* e-msg-composer-attachment.c (e_msg_composer_attachment_edit):
	* e-msg-composer-attachment-bar.c (update, attach_to_multipart):
	Use CamelContentType, and use the header_content_type_* functions
	rather than operating on the structure by hand.

svn path=/trunk/; revision=7188
2000-12-28 19:29:09 +00:00
f69d5ec143 Big patch. Evolution-services rewrite, services updated for new system,
Big patch.
Evolution-services rewrite, services updated for new system, Fixes to
Executive Summary and other things. See some changelogs

svn path=/trunk/; revision=6644
2000-11-22 00:34:39 +00:00
f3ec28d123 new function (destroy): use e_msg_composer_clear_inlined_table, destroy
2000-11-08  Radek Doulik  <rodo@helixcode.com>

	* e-msg-composer.c (e_msg_composer_clear_inlined_table): new
	function
	(destroy): use e_msg_composer_clear_inlined_table, destroy
	inlined_images hash table

	* listener.c (resolve_image_url): don't add inlined images to
	attachement bar

	* e-msg-composer.c (add_inlined_images): new function, adds
	inlined images to multipart
	(add_inlined_image): helper function, adds one image to multipart
	(build_message): store HTML messages with inlined images to
	multipart/related

	* e-msg-composer-attachment-bar.c (add_from_file): removed
	content_id arg
	(e_msg_composer_attachment_bar_attach): likewise

	* e-msg-composer-attachment.c (e_msg_composer_attachment_new):
	removed content_id arg

svn path=/trunk/; revision=6507
2000-11-08 13:06:58 +00:00
66b85f364e Two segfault fixes
svn path=/trunk/; revision=6472
2000-11-07 01:19:27 +00:00
341487d67d Added #include <config.h> s/_HAVE_CONFIG_H/HAVE_CONFIG_H for working i18n.
2000-11-06  Kjartan Maraas  <kmaraas@gnome.org>

	* e-msg-composer-attachment.c: Added #include <config.h>
	* e-msg-composer-hdrs.c: s/_HAVE_CONFIG_H/HAVE_CONFIG_H for
	working i18n.

svn path=/trunk/; revision=6420
2000-11-06 20:27:16 +00:00
7f7c32f6d2 use inline images hash table
2000-11-04  Radek Doulik  <rodo@helixcode.com>

	* listener.c (resolve_image_url): use inline images hash table

	* e-msg-composer.c (init): create inlined images hash table
	(destroy): destroy it
	(clear_inline_images): helper function, used from
	g_hash_table_foreach_remove to destroy one inline image record

	* e-msg-composer.h: added hash table with inlined images url ->
	cid info

2000-11-03  Radek Doulik  <rodo@helixcode.com>

	* listener.c (impl_event): updated for API changed
	implemented image_url event
	(resolve_image_url): new helper function, attaches image to mail
	and returns new (resolved) url pointing to mime component

	* e-msg-composer-attachment.c (e_msg_composer_attachment_new):
	added conponent_id parameter

	* e-msg-composer-attachment-bar.c
	(e_msg_composer_attachment_bar_attach): added parameter content_id
	(add_from_file): likewise

svn path=/trunk/; revision=6390
2000-11-04 10:11:50 +00:00
de58cbf8be Fix the CTE kludge, calculate the best mime transfer encoding for the mime
2000-11-01  Jeffrey Stedfast  <fejj@helixcode.com>

	* e-msg-composer-attachment-bar.c (attach_to_multipart): Fix the
	CTE kludge, calculate the best mime transfer encoding for the mime
	part and use that. Include e-msg-composer-select-file.h

svn path=/trunk/; revision=6325
2000-11-01 22:32:59 +00:00
360675f54b lots of i18n fixes
svn path=/trunk/; revision=6143
2000-10-24 05:23:27 +00:00
20255e43df Pull the fix to the "attach-twice-and-crash" problem up to HEAD.
svn path=/trunk/; revision=6108
2000-10-22 17:04:12 +00:00
fcfe968ab5 Handle missing icons better.
svn path=/trunk/; revision=5827
2000-10-10 23:58:49 +00:00
3026d9fc5c If the description of an attachment is a blank string, revert to
2000-10-02  Iain Holmes  <iain@helixcode.com>

	* e-msg-composer-attachment-bar.c: If the description of an attachment
	is a blank string, revert to displaying the filename.

2000-10-01  Iain Holmes  <iain@helixcode.com>

	* e-icon-list.c: If you try to add an icon from a file that doesn't
	exist put a "Broken icon" image.

	* bad-icon.xpm: Broken icon image.

svn path=/trunk/; revision=5652
2000-10-02 00:42:10 +00:00
9d6c76ce37 The big eye-candy commit.
Make thumbnails out of image attachments.

svn path=/trunk/; revision=5648
2000-10-01 03:43:17 +00:00
a4264abf3b Use gnome_vfs_get_file_info.
* e-msg-composer-attachment.c (get_mime_type): Use
	gnome_vfs_get_file_info.

	* e-msg-composer-attachment-bar.c (update): Use gnome_vfs_mime
	functions, not old gnome_mime.

svn path=/trunk/; revision=5496
2000-09-19 00:07:47 +00:00
cad6e285aa add a make sure the attachment isn't NULL. A more complete fix coming
2000-09-12  Larry Ewing  <lewing@helixcode.com>

	* e-msg-composer-attachment-bar.c (add_common): add a make sure
	the attachment isn't NULL.  A more complete fix coming soon.

svn path=/trunk/; revision=5394
2000-09-12 22:55:16 +00:00
f433ddf7b2 s/strcasecmp/g_strcasecmp
2000-08-07  Jeffrey Stedfast  <fejj@helixcode.com>

	* e-msg-composer-attachment-bar.c (attach_to_multipart):
	s/strcasecmp/g_strcasecmp

svn path=/trunk/; revision=4574
2000-08-07 18:28:51 +00:00
4e6bf7a954 keep the GtkFileSelection around between calls so we start up in the same
* e-msg-composer-attachment-bar.c (add_from_user): keep the
	GtkFileSelection around between calls so we start up in the same
	directory we ended up in last time around. (Also fixes a big
	memory leak in that the code was already keeping the
	GtkFileSelection around, it just wasn't remembering to reuse it.)

svn path=/trunk/; revision=3570
2000-06-14 15:49:15 +00:00
5ec9e5b228 New convenience function.
* e-msg-composer.c (e_msg_composer_attach): New convenience
	function.

	* e-msg-composer-attachment.c: Store a CamelMimePart rather than
	filename/description/mime_type info. Also record whether we were
	told or guessed the MIME type.
	(e_msg_composer_attachment_new_from_mime_part): New constructor.
	(e_msg_composer_attachment_edit): Remove the "browse" button. (If
	the user wants to change the actual file that the attachment is
	based on, he should delete the attachment and create a new one...)
	Remove the "Apply" button, because it's not all that useful. Make
	the MIME type only track the filename if it was guessed rather
	than being provided.

	* e-msg-composer-attachment.glade: Remove "browse" and "apply"
	buttons. Make filename editable.

	* e-msg-composer-attachment-bar.c (sort): Removed. Send the
	attachments in the order the user attached them in.
	(text_changed): Removed, since we weren't enabling the relevant
	GnomeIconList functionality that would have used this.
	(update): Don't print the size if it's 0.
	(attach_to_multipart, etc): adjust for EMsgComposerAttachment
	changes.
	(attach_to_multipart): Use 7bit encoding for message/ subparts.
	(e_msg_composer_attachment_bar_attach_mime_part): New convenience
	function.

svn path=/trunk/; revision=3430
2000-06-05 21:14:32 +00:00
497516ec00 deal with Content-Transfer-Encoding a little bit at least.
* e-msg-composer-attachment-bar.c (attach_to_multipart): deal with
	Content-Transfer-Encoding a little bit at least.

svn path=/trunk/; revision=2977
2000-05-10 20:12:40 +00:00
7bd8141a28 unref content, etc. after attaching it to message.
* e-msg-composer.c (build_message): unref content, etc. after
	attaching it to message.

	* e-msg-composer-attachment-bar.c (attach_to_multipart): unref
	part after attaching it.

svn path=/trunk/; revision=2884
2000-05-07 21:57:20 +00:00
2a6a191e05 Remove. We weren't using the fields that made this different from
* camel-mime-body-part.[ch]: Remove. We weren't using the fields
	that made this different from camel-mime-part, so it basically
	just forced us to do lots of gratuitous typecasting.

	* camel-multipart.[ch]: Use CamelMimePart. Remove the multipart
	parent stuff, since we weren't using that either.

	* etc: update for CamelMimeBodyPart -> CamelMimePart

svn path=/trunk/; revision=2645
2000-04-26 21:30:32 +00:00
2409d71026 Update for camel_mime_part_set_content.
svn path=/trunk/; revision=2644
2000-04-26 20:42:22 +00:00
ec4ad73a58 add a s/SIMPLE_// that notzed missed remove a now-unused variable
* e-msg-composer-attachment-bar.c (attach_to_multipart): add a
	s/SIMPLE_// that notzed missed
	* e-msg-composer.c (build_message): remove a now-unused variable

svn path=/trunk/; revision=2630
2000-04-26 14:40:05 +00:00
854e4ba9a4 Use camel_mime_part_set_text() to set the text rather than messing with
2000-04-26  NotZed  <NotZed@HelixCode.com>

        * e-msg-composer.c (build_message): Use camel_mime_part_set_text()
        to set the text rather than messing with data wrappers.

        * e-msg-composer-attachment-bar.c (attach_to_multipart): Change
        for new camel-stream interfaces.
        (attach_to_multipart): Also set base64 encoding by default.

svn path=/trunk/; revision=2623
2000-04-26 10:25:52 +00:00
b33db409a6 build libcomposer static and don't install it.
* Makefile.am: build libcomposer static and don't install it.

	* e-msg-composer-attachment-bar.c (attach_to_multipart): This was
	only half-implemented. Finish it, mostly.

svn path=/trunk/; revision=2561
2000-04-23 17:12:18 +00:00
9663037f6c More work:
- Fixed some Camel API naming issues.
- Moved the message composer stuff to the `composer' directory.

svn path=/trunk/; revision=1395
1999-11-17 15:35:43 +00:00