Commit Graph

899 Commits

Author SHA1 Message Date
20b84e201f Use header_content_type_simple, not header_content_type_format.
* mail-format.c (mail_part_is_inline):
	(find_preferred_alternative):
	* mail-display.c (launch_cb): Use header_content_type_simple, not
	header_content_type_format.

svn path=/trunk/; revision=7214
2001-01-02 19:33:48 +00:00
7f77a607ea fixed unresolved symbol (d)
svn path=/trunk/; revision=7207
2001-01-02 00:56:09 +00:00
863c2afc5c fixed changelog
svn path=/trunk/; revision=7206
2001-01-01 23:24:02 +00:00
161d88eee6 Implemented.
2000-12-26  Jeffrey Stedfast  <fejj@helixcode.com>

	* mail-crypto.c (mail_crypto_openpgp_verify): Implemented.

2000-12-23  Jeffrey Stedfast  <fejj@helixcode.com>

	* mail-ops.c (mail_do_setup_trash): New function similar to
	mail_do_setup_folder() except that this creates the Trash VFolder
	(special-case).

2000-12-21  Jeffrey Stedfast  <fejj@helixcode.com>

	* mail-ops.c (do_send_mail): Don't free info inside the last
	if-statement, if sent_folder doesn't exist we'll have a memory
	leak. Instead free it afterward.

svn path=/trunk/; revision=7205
2001-01-01 23:19:54 +00:00
d6cf6698a5 fix previous fix
svn path=/trunk/; revision=7195
2000-12-30 04:43:31 +00:00
ebe0fd91cf Update this for CamelContentType too.
svn path=/trunk/; revision=7193
2000-12-29 21:59:27 +00:00
847506be0e Use CamelContentType, and use header_content_type_is instead of doing it
* mail-format.c (mail_part_is_inline, mail_get_message_body): Use
	CamelContentType, and use header_content_type_is instead of doing
	it by hand.

	(handle_text_plain):
	(handle_multipart_related):
	(find_preferred_alternative):
	(handle_message_external_body): Use CamelContentType and
	header_content_type_* functions instead of GMimeContentField.

	* mail-display.c (write_data_to_file, launch_cb): Use
	CamelContentType and header_content_type_* functions instead of
	GMimeContentField.

svn path=/trunk/; revision=7189
2000-12-28 19:29:33 +00:00
3fa9fa84fc Return of the thumbnail cache.
Still does the same swap thumbnails around problem it had last time.
As the code is totally different, I'm guessing it's a bug in GtkHTML.
But its probably not.

svn path=/trunk/; revision=7183
2000-12-27 18:46:42 +00:00
8422b87e2d ({setup,do,cleanup}_subscribe_folder): Update previous fix: Jeff
had changed it to use ->full_name instead of ->name because that's
	what camel_store_subscribe_folder needed. So we need to have
	*both* names available, one for Camel, one for the shell.

svn path=/trunk/; revision=7181
2000-12-27 16:50:37 +00:00
7389045ccc Use info->name, not input->full_name. Fixes #1029 in
* subscribe-dialog.c (setup_subscribe_folder): Use info->name, not
        input->full_name. Fixes #1029 in bugzilla.helixcode.com.

svn path=/trunk/; revision=7180
2000-12-27 15:12:49 +00:00
138e45cc66 New BonoboPropertyEventless stuff
pt 1

svn path=/trunk/; revision=7177
2000-12-26 23:42:43 +00:00
f141147560 Changed this to format times in 12 hour time instead of 24 hour time.
2000-12-24  Christopher James Lahey  <clahey@helixcode.com>

	* message-list.c (filter_date): Changed this to format times in 12
	hour time instead of 24 hour time.

svn path=/trunk/; revision=7160
2000-12-24 22:50:41 +00:00
31e9ec4257 Changed this to do different formatting of dates within the last week.
2000-12-24  Christopher James Lahey  <clahey@helixcode.com>

	* message-list.c (filter_date): Changed this to do different
	formatting of dates within the last week.

svn path=/trunk/; revision=7157
2000-12-24 21:05:49 +00:00
fba04bdda7 Merge from camel-mt-branch.
2000-12-24  Not Zed  <NotZed@HelixCode.com>

        * Merge from camel-mt-branch.

svn path=/trunk/; revision=7153
2000-12-24 01:03:14 +00:00
0d23c06675 Changed this to do different formatting of dates based on the current
2000-12-23  Christopher James Lahey  <clahey@helixcode.com>

	* message-list.c (filter_date): Changed this to do different
	formatting of dates based on the current time.

svn path=/trunk/; revision=7140
2000-12-23 06:05:57 +00:00
bfcb25d071 Added titles to the pixbuf columns.
2000-12-23  Christopher James Lahey  <clahey@helixcode.com>

	* message-list.c (message_list_get_layout): Added titles to the
	pixbuf columns.

svn path=/trunk/; revision=7139
2000-12-23 06:03:00 +00:00
f803abb65f Detect created and deleted vfolders.
svn path=/trunk/; revision=7126
2000-12-22 00:29:14 +00:00
fbf92961aa Deal with the possibility that we have an icon-filename listed for a MIME
* mail-display.c (pixbuf_for_mime_type): Deal with the possibility
	that we have an icon-filename listed for a MIME type, but the icon
	file doesn't actually exist. Also, if gnome-unknown.png can't be
	found, fall back. Might fix a crash people have been reporting...

svn path=/trunk/; revision=7118
2000-12-21 17:27:37 +00:00
93b4700f7d for now #ifdef PGP_PROGRAM falling back to handle_multipart_mixed.
2000-12-18  Chris Toshok  <toshok@helixcode.com>

	* mail-format.c (handle_multipart_encrypted): for now #ifdef
	PGP_PROGRAM falling back to handle_multipart_mixed.
	(handle_multipart_signed): same.

svn path=/trunk/; revision=7074
2000-12-18 21:59:18 +00:00
956ed2760e Unlock camel when done to prevent a hang later.
* message-list.c (hide_save_state): Unlock camel when done to
	prevent a hang later.

svn path=/trunk/; revision=7072
2000-12-18 20:39:55 +00:00
d89c235bc7 Only update display every 2 seconds.
2000-12-18  Miguel de Icaza  <miguel@helixcode.com>

	* mail-tools.c (mail_tool_move_folder_contents): Only update
	display every 2 seconds.

	* mail-ops.c (do_view_messages): Only update display every 2 seconds.

svn path=/trunk/; revision=7066
2000-12-18 06:49:02 +00:00
a228c210b0 Always use the slow (full-update) version of the tree update code, to get
2000-12-16  Not Zed  <NotZed@HelixCode.com>

	* message-list.c (build_tree): Always use the slow (full-update)
	version of the tree update code, to get around a bug(?) in etree.
	(build_flat): Likewise.

2000-12-15  Not Zed  <NotZed@HelixCode.com>

	* mail-display.c (write_data_to_file): Dont blindly convert all
	parts to utf8, e.g. image/jpg.  We only convert text/* parts, and
	only then if required.

2000-12-14  Not Zed  <NotZed@HelixCode.com>

	* component-factory.c (create_view): cast over a warning.

	* folder-browser-factory.c: Add verbs for hide functions.

	* message-list.c (message_list_hide_clear):
	(message_list_hide_uids):
	(message_list_hide_add): Some api renaming.
	(message_list_hide_add): Allow ML_HIDE_SAME to be passed to mean
	not to change the upper/lower range at all.
	(hide_save_state): Save the state of the hide list to stable
	storage.
	(hide_load_state): Load the state of hte hide list.
	(message_list_set_folder): Load/save the state of the folder if it
	is changed/set.
	(message_list_destroy): Save the state of the folder hide list
	when done.
	(save_tree_state): If we wrote out an empty state file, simply
	remove it instead.

	* folder-browser.c (on_right_click): Add some hide menus.
	(hide_read): Hide read messages.
	(hide_deleted): Hide deleted messages.
	(hide_selected): Hide selected/current message.
	(hide_none): Show all hidden messages.
	(on_right_click): Lock around accesses to the message (inside
	mlist_detect_magic).
	(on_right_click): Free the mailing list name.

2000-12-13  Not Zed  <NotZed@HelixCode.com>

	* folder-browser.c (on_right_click): Add camel locking since we
	call it directly.  Whoever heard of a lock you 'down' to unlock?

	* message-list.c (mail_do_regenerate_messagelist): Added hide
	expression, messages to hide.  Fixed all callers.
	(do_regenerate_messagelist): IF we have a hide expression, search
	and remove those from the uid list.  If we have a hide range,
	apply that afterwards.
	(cleanup_regenerate_messagelist): Handle freeing the hide uid
	temporary data, if required.
	(message_list_destroy): Free hide data, also lock around all camel
	object stuff.
	(message_list_length): New function to get the number of messages
	avaialble to be hidden by range.
	(message_list_set_hide): Set the hide expression and range.
	Issue: Should hiding be remembered?
	(message_list_unhide_all): Turn off all hiding.
	(message_list_hide_uids): Hide a list of uid's.

svn path=/trunk/; revision=7061
2000-12-16 08:55:37 +00:00
0d17002a94 Update this for the new signal handler prototype. Fixes the crash on
* subscribe-dialog.c (folder_toggle_cb): Update this for the new
	signal handler prototype. Fixes the crash on double-click.

svn path=/trunk/; revision=7059
2000-12-15 23:30:46 +00:00
96c13f461a New callback to handle multipart/signed parts. (decode_pgp): Update to
2000-12-15  Jeffrey Stedfast  <fejj@helixcode.com>

	* mail-format.c (handle_multipart_signed): New callback to handle
	multipart/signed parts.
	(decode_pgp): Update to account for the cipherlen argument needed
	for openpgp_decrypt.
	(is_rfc2015): Removed as we now have a better version in
	mail-crypto.
	(handle_multipart_encrypted): Updated to use the PGP/MIME utility
	functions.

	* mail-crypto.c (mail_crypto_openpgp_decrypt): Don't check
	(!*plaintext) as it could be a binary stream. Now also takes a
	cipherlen argument.
	(mail_crypto_openpgp_sign): New function.
	(pgp_mime_part_sign): New function to replace a mime part with the
	pgp signed equivalent.
	(pgp_mime_part_encrypt): New function to replace a mime part with
	the pgp encrypted equivalent.
	(pgp_mime_part_decrypt): New function to decrypt a pgp encrypted
	mime part (like from pgp_mime_part_encrypt) and replace it.
	(is_rfc2015_signed): New function to determine if a mime part is
	an rfc2015 signed part.
	(is_rfc2015_encrypted): New function to determine if a mime part
	is an rfc2015 encrypted part.
	(mail_crypto_openpgp_verify): New openpgp function to verify a
	signature.

svn path=/trunk/; revision=7056
2000-12-15 23:05:55 +00:00
b3ee088211 Dont blindly convert all parts to utf8, e.g. image/jpg. We only convert
2000-12-15  Not Zed  <NotZed@HelixCode.com>

        * mail-display.c (write_data_to_file): Dont blindly convert all
        parts to utf8, e.g. image/jpg.  We only convert text/* parts, and
        only then if required.

svn path=/trunk/; revision=7035
2000-12-15 00:14:45 +00:00
579a645c95 Unref the iterator when we're done with it.
2000-12-14  Christopher James Lahey  <clahey@helixcode.com>

	* mail-threads.c (update_active_views): Unref the iterator when
	we're done with it.

svn path=/trunk/; revision=7029
2000-12-14 20:40:56 +00:00
2e5328e274 call gtk_html_set_default_content_type to make gkthtml default to utf-8
2000-12-14  Larry Ewing  <lewing@helixcode.com>

	* mail-display.c (mail_display_new): call
	gtk_html_set_default_content_type to make gkthtml default to utf-8
	when parsing.  This requires gtkhtml >= the released 0.8.

svn path=/trunk/; revision=7022
2000-12-14 19:15:08 +00:00
302ed28592 Fix a slight race condition that could cause the busy indicator not to
go off after switching folder views.

svn path=/trunk/; revision=7021
2000-12-14 19:12:58 +00:00
d4c75eb010 Made the vertical scrollbar always be there.
2000-12-13  Christopher James Lahey  <clahey@helixcode.com>

	* folder-browser.c (my_folder_browser_init): Made the vertical
	scrollbar always be there.

	* message-list.c (message_list_get_layout): Changed the minimum
	width of some of the pixmap column headers.

svn path=/trunk/; revision=6983
2000-12-14 01:31:29 +00:00
07e9c0c50e Small ChangeLog mistake.
svn path=/trunk/; revision=6957
2000-12-12 23:36:02 +00:00
ecae5285ea Added a cast.
2000-12-12  Christopher James Lahey  <clahey@helixcode.com>

	* component-factory.c (create_view): Added a cast.

	* mail-summary.c: Added #include "mail-summary.h".  Commented out
	folder_free, summary_free, and view_destroy_cb since they're not
	used.
	(do_changed): Added a cast.
	(create_summary_view): Changed some types so that casting would be
	easier.

	* session.c (mail_session_remember_password): Added a cast.

svn path=/trunk/; revision=6956
2000-12-12 23:35:45 +00:00
55940a77ad Fix to use the right .h instead of the deprecated one.
* mail-summary.h: Fix to use the right .h instead of the
	deprecated one.

svn path=/trunk/; revision=6952
2000-12-12 23:15:16 +00:00
b03dcd7552 Attach a signature when forwarding, fixes bug #826.
2000-12-12  Jeffrey Stedfast  <fejj@helixcode.com>

	* mail-callbacks.c (forward_message): Attach a signature when
	forwarding, fixes bug #826.

svn path=/trunk/; revision=6944
2000-12-12 22:26:19 +00:00
8997c57f5c New function to tell the code that it's ok (or not) to interact with the
* session.c (mail_session_enable_interaction): New function to
	tell the code that it's ok (or not) to interact with the user when
	trying to authenticate to a service. Starts out turned off.
	(mail_session_request_dialog): If interaction is disabled, fail if
	the password isn't in the cache.

	* component-factory.c (owner_set_cb): Call
	mail_session_enable_interaction() after everything else. (This
	means that the IMAP password dialog will no longer pop up [under
	the splash screen] at startup.)

svn path=/trunk/; revision=6924
2000-12-11 23:29:55 +00:00
045479b2a4 Deal with "mailstorage" type views (top-level mail storages) by trying to
* component-factory.c (create_view): Deal with "mailstorage" type
	views (top-level mail storages) by trying to fill the storage's
	folder tree again if we failed before.
	(add_storage): Create new storages with a URI and type
	"mailstorage".

	* mail-ops.c (cleanup_scan_subfolders): On success, mark the
	storage as having been loaded, so create_view won't try again.

svn path=/trunk/; revision=6923
2000-12-11 23:17:46 +00:00
6f20275b96 Updated to reflect arguments to the openpgp functions - now also takes an
2000-12-11  Jeffrey Stedfast  <fejj@helixcode.com>

	* mail-format.c (decode_pgp): Updated to reflect arguments to the
	openpgp functions - now also takes an outlen argument.
	(try_inline_pgp): Updated.
	(handle_multipart_encrypted): Updated here too.

	* mail-crypto.c (crypto_exec_with_passwd): Updated to handle
	binary streams and such.
	(mail_crypto_openpgp_encrypt): Always initialize the passwd_fds
	even if we don't plan on signing. Added an 'inlen' to specify the
	length of the input data (as it could be binary). Also added a
	'userid' argument for cases when we want to sign as well as
	encrypt.
	(mail_crypto_openpgp_decrypt): Updated to take an outlen argument
	in case the ciphertext is encrypted binary data.
	(mail_crypto_openpgp_clearsign): Added a 'hash' and 'detach'
	arguments. 'hash' allows the program to specify the preferred hash
	function (which will come in handy when generating
	PGP/MIME). 'detach' allows the program to specify whether it wants
	a detached signature or the entire signed text.

svn path=/trunk/; revision=6921
2000-12-11 23:07:01 +00:00
b7c314b29c Ignore double-clicks on "active" columns (the ones where clicking does
* folder-browser.c (on_double_click): Ignore double-clicks on
	"active" columns (the ones where clicking does something
	beyond "select"), fixing bug #811

svn path=/trunk/; revision=6910
2000-12-11 17:02:07 +00:00
e22c643dc6 Remove the never-once-used BonoboObject stuff and make MessageList be a
* message-list.c: Remove the never-once-used BonoboObject stuff
	and make MessageList be a GtkWidget instead. Also, keep track of
	the ETable directly rather than repeatedly calling
	e_table_scrolled_get_table.

	* folder-browser.c (folder_browser_destroy): Use gtk methods
	rather than bonobo methods to destroy the message list.
	(on_right_click, on_double_click): These are being attached to the
	ETable directly now, so fix the first argument (which isn't being
	used anyway, but...)
	(folder_browser_gui_init): simplify now that MessageList itself is
	a widget. Also use message_list->table rather than
	e_table_scrolled_get_table.

	* mail-local.c (mail_local_reconfigure_folder): Add "mail_" to
	the beginning of this function name to match its prototype and the
	other vague namespace conventions in the mailer.

	* mail-callbacks.c (select_all, invert_selection): Use ml->table.
	(configure_folder): s/local_reconfigure_folder/mail_&/

svn path=/trunk/; revision=6908
2000-12-11 16:44:30 +00:00
093c2be1a8 Remove an unused variable.
* mail-tools.c (mail_tool_quote_message): Remove an unused
	variable.

svn path=/trunk/; revision=6907
2000-12-11 16:41:13 +00:00
ccbbf69f50 clean up the cleanup a bit
* mail-ops.c (do_flag_messages): clean up the cleanup a bit

svn path=/trunk/; revision=6906
2000-12-11 16:41:03 +00:00
c08e99018c Just added a little todo comment about some design issues.
svn path=/trunk/; revision=6901
2000-12-11 11:36:23 +00:00
9601a1ec7b oops again, another insignificatn debug printf removed.
svn path=/trunk/; revision=6900
2000-12-11 04:21:38 +00:00
d693a82428 Left debug on, turned off.
svn path=/trunk/; revision=6899
2000-12-11 04:20:20 +00:00
ffc70650c1 reordered the options and added maildir, mbox, maildir, mh, in that order.
2000-12-11  Not Zed  <NotZed@HelixCode.com>

        * local-config.glade: reordered the options and added maildir,
        mbox, maildir, mh, in that order.

        * mail-local.c (reconfigure_clicked): Added maildir, re-ordered to
        match the changed xml file too.
        (do_reconfigure_folder): WHoever 'threaded' this code forgot to
        check that folder_browser functions shouldn't be called here.
        (cleanup_reconfigure_folder): Call it here instead.
        (lookup_folder): Blah blah, we have to lookup the folder and
        verify its still the same format, joy.  Becaause someone thought
        it would be wise to make the code 5x more complicated for no
        reason, and totally break 'mail reconfigure' in the process. i'm
        really happy about that one.
        (cleanup_register_folder): Uh, yeah, so like, the
        local_store->folders hashtable is supposed to point to like,
        LocalFolders, not CamelFolders.
        (free_local_folder): Free the localfolder struct properly.
        (free_folder): Call above to free data properly.
        (get_folder): Fix for fixing folders hashtable.
        (local_storage_removed_folder_cb): Same here.
        (local_storage_new_folder_cb): Ref the local_store when putting it
        in the local_folder.
        (cleanup_register_folder): Properly free the local_folder if the
        op failed.
        (free_local_folder): Unhook events also.

svn path=/trunk/; revision=6898
2000-12-11 04:14:45 +00:00
df6a67437b Change the "drawfocus" argument on e_table_scrolled_get_table(etable)
2000-12-09  Christopher James Lahey  <clahey@helixcode.com>

	* message-list.c (message_list_init): Change the "drawfocus"
	argument on e_table_scrolled_get_table(etable) instead of on
	etable (etable is an ETableScrolled.)

svn path=/trunk/; revision=6893
2000-12-10 00:07:30 +00:00
c65fda0e89 Check to see if the file already exists, if it does prompt the user to for
2000-12-08  Jeffrey Stedfast  <fejj@helixcode.com>

	* mail-callbacks.c (save_msg_ok): Check to see if the file already
	exists, if it does prompt the user to for permission to overwrite
	the file.
	(forward_message): g_strdup the cursor_uid if there is only a
	single message to be forwarded or we'll segfault later.

	* mail-ops.c (do_save_messages): Rewrote yet again. I'm back to
	almost an identical implementation as the first time I wrote this
	except now we write the From line which I had forgotten last
	time. This means that we no longer have to unlink the .ev-summary
	file created and we also use fewer resources (no need to create a
	CamelMboxFolder object).

svn path=/trunk/; revision=6882
2000-12-09 02:09:56 +00:00
a203289d4e the e-table double-click signal now has extra params
2000-12-08  JP Rosevear  <jpr@helixcode.com>

	* folder-browser.c (on_double_click): the e-table double-click
	signal now has extra params

svn path=/trunk/; revision=6880
2000-12-09 01:46:15 +00:00
a66eae1674 Complete the code to associate a URI and a folder type to the toplevel
node in a storage.  It sucks a bit and needs a little more
refactoring.

svn path=/trunk/; revision=6878
2000-12-09 00:55:57 +00:00
25ad3092eb a slight mixup in order causes "1.33 M" to be displayed as the subject...uh huh, yea...
svn path=/trunk/; revision=6877
2000-12-08 23:07:30 +00:00
1e42d39243 Set the "Size" field to sort using integer comparison instead of string.
2000-12-08  Jeffrey Stedfast  <fejj@helixcode.com>

	* message-list.c (message_list_get_layout): Set the "Size" field
	to sort using integer comparison instead of string.
	(filter_size): New function to transform a integer size into a
	more readable form.
	(ml_value_to_string): Use filter_size.
	(ml_value_is_empty): COL_SIZE is no longer a string, so handle
	this as an integer.
	(ml_initialize_value): Here too.
	(ml_free_value): And here.
	(ml_duplicate_value): And here too.
	(message_list_create_extras): Setup the size etable cell.

svn path=/trunk/; revision=6876
2000-12-08 22:57:02 +00:00