Commit Graph

382 Commits

Author SHA1 Message Date
16fb895cb0 use hash table to eliminate duplicates
2001-11-02  Radek Doulik  <rodo@ximian.com>

	* e-msg-composer.c (add_inlined_images): use hash table to
	eliminate duplicates

svn path=/trunk/; revision=14587
2001-11-05 13:03:07 +00:00
2
8fcca3dc0b New function, enable/disable autosave for the composer temporarily.
2001-11-02    <NotZed@Ximian.com>

        * e-msg-composer.c (e_msg_composer_set_enable_autosave): New
        function, enable/disable autosave for the composer temporarily.
        (autosave_run_foreach_cb): Only save if we have enable autosave
        turned on.  In other cases we want to save it regardless.

svn path=/trunk/; revision=14574
2001-11-03 00:01:39 +00:00
be7fbc93cd Add back the "remove Content-Disposition when sending itip" hack.
* e-msg-composer.c (build_message): Add back the "remove
        Content-Disposition when sending itip" hack.

svn path=/trunk/; revision=14516
2001-10-31 04:40:29 +00:00
e7157ba893 New.
* Evolution-Composer.idl (setMultipartType): New.

	* evolution-composer.c (impl_Composer_set_multipart_type): Allow
	caller to specify a multipart/alternative rather than
	multipart/mixed.

	* e-msg-composer.c (build_message): Revert yesterday's changes.
	Add new ones for sending multipart/alternative.

svn path=/trunk/; revision=14510
2001-10-31 00:26:58 +00:00
32ce65319d Always force a save query for now.
svn path=/trunk/; revision=14486
2001-10-30 22:02:04 +00:00
d66b90437b add dirty prototype.
001-10-30  Larry Ewing  <lewing@ximian.com>

	* e-msg-composer.h: add dirty prototype.

	* e-msg-composer.c: add dirty implementation.

svn path=/trunk/; revision=14485
2001-10-30 21:58:16 +00:00
d52e9c60b7 new helper function, extracted (insert_paragraph_after): ditto
2001-10-30  Radek Doulik  <rodo@ximian.com>

	* listener.c (insert_paragraph_before): new helper function,
	extracted
	(insert_paragraph_after): ditto
	(impl_event): process command_before and command_after, use new
	functions
	(clear_signature): reset style to be sure
	(reply_indent): ditto

svn path=/trunk/; revision=14465
2001-10-30 16:38:13 +00:00
83cbc43d1c Remove Content-Disposition in the no_body case. (More kludging around
* e-msg-composer.c (build_message): Remove Content-Disposition in
	the no_body case. (More kludging around Outlook iCalendar
	brokenness.)

svn path=/trunk/; revision=14433
2001-10-30 05:25:40 +00:00
b0587183ce Put the charset encoding submenu in the EncodingPlaceholder.
* e-msg-composer.c (setup_ui): Put the charset encoding submenu in
the EncodingPlaceholder.

svn path=/trunk/; revision=14407
2001-10-30 02:44:35 +00:00
46dee51671 Set the (new) "no_body" flag on the composer.
* evolution-composer.c (init): Set the (new) "no_body" flag on the
	composer.
	(impl_Composer_set_body_text): And unset it here.
	(unset_no_body): And here (called if/when the composer is
	realized).

	* e-msg-composer.c (build_message): If the composer has the
	"no_body" flag set, and a single attachment, promote that
	attachment to be the message body.

svn path=/trunk/; revision=14393
2001-10-30 01:36:48 +00:00
61bd0c972f simplified, requires new gtkhtml
2001-10-30  Radek Doulik  <rodo@ximian.com>

	* listener.c (reply_indent): simplified, requires new gtkhtml

svn path=/trunk/; revision=14383
2001-10-29 23:41:23 +00:00
80fffd0930 add GList to hold the current images.
2001-10-29  Larry Ewing  <lewing@ximian.com>

	* e-msg-composer.h: add GList to hold the current images.

	* listener.c (resolve_image_url): keep track of the images that
	the editor is currently uses in current_images as well as storing
	the images in the hash.

	* e-msg-composer.c (clear_current_images): clear the list of
	images actually in the message.
	(add_inlined_images): use the current image list rather than the
	hash tables.
	(build_message): clear the current image list when appropriate.
	(init): initialize current_images.

svn path=/trunk/; revision=14379
2001-10-29 23:30:25 +00:00
4ca07463a0 More fixing of the license texts.
svn path=/trunk/; revision=14217
2001-10-27 18:21:05 +00:00
02dcd0aadf Update the licensing information to require version 2 of the GPL
(instead of version 2 or any later version).

svn path=/trunk/; revision=14190
2001-10-27 00:25:49 +00:00
84dcb1413f New function that replaces handle_multpart() and
2001-10-24  Jeffrey Stedfast  <fejj@ximian.com>

	* e-msg-composer.c (add_attachments_from_multipart): New function
	that replaces handle_multpart() and handle_multipart_alternative()
	for add_message_attachments().
	(e_msg_composer_add_message_attachments): Call
	add_attachments_from_multipart().
	(handle_multipart_alternative): Now only used by
	new_with_message() and is really only designed to work well with
	messages generated by Evolution (ie for editing Drafts and such).
	(handle_multipart): Same.
	(e_msg_composer_new_with_message): No longer calls
	add_message_attachments() because we can't ever have this fail and
	the logic in add_message_attachments() is impossible
	logic. Instead do like what we used to do before the addition of
	add_message_attachments() came along.

svn path=/trunk/; revision=14084
2001-10-25 03:27:00 +00:00
162035d400 rework this so that we don't end up freeing the cid then reading from it.
2001-10-24  Larry Ewing  <lewing@ximian.com>

	* e-msg-composer.c
	(e_msg_composer_add_inline_image_from_mime_part): rework this so
	that we don't end up freeing the cid then reading from it.

svn path=/trunk/; revision=14077
2001-10-25 00:03:17 +00:00
708dc70ac5 Check that account->id->address != NULL.
2001-10-22  Jon Trowbridge  <trow@ximian.com>

	* e-msg-composer-hdrs.c (create_from_optionmenu): Check that
	account->id->address != NULL.

svn path=/trunk/; revision=13886
2001-10-22 18:39:47 +00:00
c71602cae0 fix broken default changelog email address in last entry
svn path=/trunk/; revision=13854
2001-10-21 19:12:19 +00:00
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
c420f20740 Now takes a 'attach_all' argument. If !attach_all, then only attach the
2001-10-19  Jeffrey Stedfast  <fejj@ximian.com>

	* e-msg-composer.c (handle_multipart): Now takes a 'attach_all'
	argument. If !attach_all, then only attach the attachment if the
	part has a content-id, otherwise we can safely assume that nothing
	references it thus we don't need to attach it.
	(e_msg_composer_add_message_attachments): Now takes a 'attach_all'
	argument that overrides the "only attach attachments if they have
	a content-id header" behavior.
	(e_msg_composer_new_with_message): Pass TRUE as the attach_all
	argument to add_message_attachments.

svn path=/trunk/; revision=13800
2001-10-19 20:03:42 +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
244694ee58 s/apply/flush/. (e_msg_composer_flush_pending_body): renamed from apply
001-10-15  Larry Ewing  <lewing@ximian.com>

	* e-msg-composer.c (e_msg_composer_add_message_attachments):
	s/apply/flush/.
	(e_msg_composer_flush_pending_body): renamed from apply now takes
	apply as an argument.
	(e_msg_composer_show_sig_file): s/g_assert/g_return_if_fail/
	warnings make for less painful bugs than crashes.
	(set_editor_text): s/g_assert/g_return_if_fail/

svn path=/trunk/; revision=13681
2001-10-15 19:48:06 +00:00
da2d6ee08c Don't pop up an "unable to retrieve message" if the composer never
* e-msg-composer.c (autosave_manager_unregister): Don't pop up an
	"unable to retrieve message" if the composer never finished
	initializing.
	(init): Don't call autosave_manager_register here: wait until the
	end of create_composer.
	(create_composer): Remove the distinction between this and
	e_msg_composer_construct since there's no need for the latter. Use
	e_activation_failure_dialog if either the selectnames component or
	the gtkhtml editor fails.

	* e-msg-composer-hdrs.c (setup_corba): Don't g_warn if the oaf
	activation fails. create_composer() will tell the user.

svn path=/trunk/; revision=13661
2001-10-13 17:35:40 +00:00
bde8795c94 Deleted declaration of len.
2001-10-11  Jeffrey Stedfast  <fejj@ximian.com>

	* listener.c (impl_event): Deleted declaration of len.

	* e-msg-composer.c (e_msg_composer_add_message_attachments): Take
	a settext argument.
	(e_msg_composer_new_with_message): Updated to pass the settext argument.

svn path=/trunk/; revision=13595
2001-10-11 19:39:07 +00:00
7e628d1745 Check for either a matching account name, or for a matching e-mail address
2001-10-10  Jon Trowbridge  <trow@ximian.com>

        * e-msg-composer-hdrs.c (e_msg_composer_hdrs_set_from_account):
        Check for either a matching account name, or for a matching e-mail
        address embedded in the passed-in string. (Fixes half of bug
        #3255)
        (destroy): Call bonobo_object_release_unref on corba_select_names,
        not CORBA_Object_release.  Otherwise we leak stuff all over the
        place. (Bug #11878)

        * e-msg-composer.c (e_msg_composer_new_with_message): If our message
        doesn't contain an X-Evolution-Account header, pass in the From
        header as the account name.  (Fixes the other half of #3255)

svn path=/trunk/; revision=13567
2001-10-10 20:47:46 +00:00
fee8a6f66d add prototype.
2001-10-10  Larry Ewing  <lewing@ximian.com>

	* e-msg-composer.h: add prototype.

	* e-msg-composer.c (e_msg_composer_add_message_attachments): new
	function to copy attachments from the a message to a composer.
	(e_msg_composer_set_pending_body): make simple function to
	abstract this.
	(e_msg_composer_apply_pending_body): apply the pending body to
	the composer.
	(e_msg_composer_new_with_message): use
	e_msg_composer_add_message_attachments to copy attachments.

svn path=/trunk/; revision=13563
2001-10-10 20:35:33 +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
a7282ea415 Pass /menu/Edit as the menu path to e_charset_picker thingy.
2001-10-09  Jeffrey Stedfast  <fejj@ximian.com>

	* e-msg-composer.c (setup_ui): Pass /menu/Edit as the menu path to
	e_charset_picker thingy.

svn path=/trunk/; revision=13529
2001-10-09 22:00:33 +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
1d4100c58a Make sure to unref the message object so we don't leak it or any
2001-10-03  Jeffrey Stedfast  <fejj@ximian.com>

	* e-msg-composer.c (autosave_save_draft): Make sure to unref the
	message object so we don't leak it or any references to
	attachments (child mime parts).

	* e-msg-composer-attachment.c (e_msg_composer_attachment_new):
	Unref the mime part after passing it along to new_from_mime_part.

svn path=/trunk/; revision=13402
2001-10-04 01:53:36 +00:00
c44b422cd6 Pass an empty flags argument to mail_get_folder.
2001-10-02  Jeffrey Stedfast  <fejj@ximian.com>

	* e-msg-composer.c (save_draft): Pass an empty flags argument to
	mail_get_folder.

svn path=/trunk/; revision=13352
2001-10-02 21:59:54 +00:00
11c665c925 Use bonobo_ui_component_new_default()', not bonobo_ui_component_new()'.
* e-shell-view.c (e_shell_view_construct): Use
`bonobo_ui_component_new_default()', not
`bonobo_ui_component_new()'.

* mail-account-gui.c (launch_signature_editor): Use
`bonobo_ui_component_new_default()', not
`bonobo_ui_component_new()'.

* e-msg-composer.c (setup_ui): Use
`bonobo_ui_component_new_default()', not
`bonobo_ui_component_new()'.

* gui/dialogs/comp-editor.c (setup_widgets): Use
`bonobo_ui_component_new_default()', not
`bonobo_ui_component_new()'.

svn path=/trunk/; revision=13306
2001-10-02 18:33:34 +00:00
9fda060c7e Don't set Content-Ids on these parts since they are not contained within a
2001-09-27  Jeffrey Stedfast  <fejj@ximian.com>

	* e-msg-composer-attachment.c (e_msg_composer_attachment_new):
	Don't set Content-Ids on these parts since they are not contained
	within a multipart/related - this fixes bug #10032.

svn path=/trunk/; revision=13195
2001-09-27 19:30:11 +00:00
96ccc526ae Fixes glitch in mailto: url parsing that caused it to fail when recipient
2001-09-26  Jon Trowbridge  <trow@ximian.com>

	* e-msg-composer.c (e_msg_composer_new_from_url): Fixes glitch in
	mailto: url parsing that caused it to fail when recipient names
	contained commas. (Bug #10796)

svn path=/trunk/; revision=13156
2001-09-26 19:35:41 +00:00
bfc5551e12 Update to reflect changes to mail_get_folder.
2001-09-20  Jeffrey Stedfast  <fejj@ximian.com>

	* e-msg-composer.c (save_draft): Update to reflect changes to
	mail_get_folder.

svn path=/trunk/; revision=13028
2001-09-20 23:35:47 +00:00
c503814d7f Create nonexistant files.
svn path=/trunk/; revision=13021
2001-09-20 22:51:19 +00:00
e8d33a0308 Attach an X-Evolution-Format header so if people re-edit a message in say
2001-09-18  Jeffrey Stedfast  <fejj@ximian.com>

	* e-msg-composer.c (build_message): Attach an X-Evolution-Format
	header so if people re-edit a message in say their Sent folder, we
	will preserve format preferences.
	(e_msg_composer_get_message_draft): Don't attach
	X-Evolution-Format headers here since it is now done in
	build_message().
	(e_msg_composer_new_with_message): Make sure to remove *all*
	X-Evolution headers by using the mail-tools functions.

svn path=/trunk/; revision=12958
2001-09-18 21:45:23 +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
8eac276f02 [Automake 1.5 fixes pointed out by Richard Boulton
<richard@tartarus.org>, as per #9258.]

* Makefile.am (CLEANFILES): Set directly with `=' instead of `+='.

svn path=/trunk/; revision=12844
2001-09-14 23:32:16 +00:00
638b60e50d free the text values we get from the property bag and release the property
2001-09-13  Larry Ewing  <lewing@ximian.com>

	* e-msg-composer.c (map_default_cb): free the text values we get
	from the property bag and release the property bag properly.

svn path=/trunk/; revision=12794
2001-09-13 08:04:16 +00:00
551fd78d30 null terminate the destination vector
2001-09-12  JP Rosevear  <jpr@ximian.com>

	* evolution-composer.c (corba_recipientlist_to_destv): null
	terminate the destination vector

svn path=/trunk/; revision=12773
2001-09-12 05:55:24 +00:00
d200d93b12 Don't call new_with_sig_file, it no longer exists.
2001-09-10  Jeffrey Stedfast  <fejj@ximian.com>

	* evolution-composer.c (init): Don't call new_with_sig_file, it no
	longer exists.

	* e-msg-composer.c (setup_ui): Make sure that the session is
	non-NULL.
	(menu_file_send_cb): And here too.
	(e_msg_composer_new_with_sig_file): Removed.

svn path=/trunk/; revision=12753
2001-09-10 23:27:49 +00:00
b5297de4c4 Make sure that the session is non-NULL. (menu_file_send_cb): And here too.
2001-09-10  Jeffrey Stedfast  <fejj@ximian.com>

	* e-msg-composer.c (setup_ui): Make sure that the session is
	non-NULL.
	(menu_file_send_cb): And here too.

svn path=/trunk/; revision=12746
2001-09-10 22:34:08 +00:00
9013c9cbd6 Wrap the S/MIME code in ifdef SMIME_SUPPORTED which isn't defined but by
2001-09-10  Jeffrey Stedfast  <fejj@ximian.com>

	* e-msg-composer.c (build_message): Wrap the S/MIME code in ifdef
	SMIME_SUPPORTED which isn't defined but by some later version will
	be.
	(setup_ui): And again here.

svn path=/trunk/; revision=12742
2001-09-10 20:05:42 +00:00
bd7c5f322f Add VFS_CFLAGS so things don't break when the gnome-vfs headers move.
* Makefile.am: Add VFS_CFLAGS so things don't break when the
	gnome-vfs headers move.

svn path=/trunk/; revision=12720
2001-09-09 23:55:09 +00:00
936f363f4f Originally was corba_recipientlist_to_glist. (impl_Composer_set_headers):
2001-09-08  Jon Trowbridge  <trow@ximian.com>

	* evolution-composer.c (corba_recipientlist_to_destv): Originally
	was corba_recipientlist_to_glist.
	(impl_Composer_set_headers): Use corba_recipientlist_to_destv, new
	destination-based api.

	* e-msg-composer.c (build_message): Get rid of that 'sending'
	stuff.  That was a bad idea.
	(e_msg_composer_new_with_message): Apply the revised api and work
	with vectors of destinations rather than just lists.
	(e_msg_composer_get_recipients): Added.  Returns the full set of
	recipient destinations in a vector.

	* e-msg-composer-hdrs.c: Removed free_destv function.  We use
	e_destination_freev instead.
	(e_msg_composer_hdrs_get_to): Changed to return a vector of
	EDestinations.  This function now works.
	(e_msg_composer_hdrs_get_cc): Ditto.
	(e_msg_composer_hdrs_get_bcc): Ditto.
	(e_msg_composer_hdrs_get_recipients): Added.  Returns a vector of
	EDestinations that is the union of the to, cc and bcc lines.
	(e_msg_composer_hdrs_set_to): Changed to take a vector of
	EDestinations, rather than a GList.
	(e_msg_composer_hdrs_set_cc): Ditto.
	(e_msg_composer_hdrs_set_bcc): Ditto.
	(e_msg_composer_hdrs_to_message): Use our new, improved API, rather
	than a bunch of poking around in BonoboPropertyBags, etc.

svn path=/trunk/; revision=12711
2001-09-09 04:10:54 +00:00
7028220378 Remove some debugging messages that don't check for NULL strings and crash
* e-msg-composer-hdrs.c (set_recipients_from_destv): Remove some
	debugging messages that don't check for NULL strings and crash
	Solaris.

svn path=/trunk/; revision=12701
2001-09-08 03:54:33 +00:00