Commit Graph

871 Commits

Author SHA1 Message Date
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
3fb451ad92 Connect to signals on the ETable instead of the ETableScrolled.
2000-12-08  Christopher James Lahey  <clahey@helixcode.com>

	* folder-browser.c: Connect to signals on the ETable instead of
	the ETableScrolled.

	* subscribe-dialog.c: Used the e_table_scrolled_get_table function
	instead of accessing the variable directly.

svn path=/trunk/; revision=6873
2000-12-08 21:33:35 +00:00
4294cdc1ed Connect to signals on the ETable instead of the ETableScrolled.
2000-12-08  Christopher James Lahey  <clahey@helixcode.com>

	* message-list.c: Connect to signals on the ETable instead of the
	ETableScrolled.

svn path=/trunk/; revision=6871
2000-12-08 21:21:07 +00:00
7eb086940f Got rid of code referencing the ETableScrolled proxy functions. Changed
2000-12-07  Christopher James Lahey  <clahey@helixcode.com>

	* message-list.c: Got rid of code referencing the ETableScrolled
	proxy functions.  Changed the call to e_table_set_cursor_row to
	send a model row instead of a view row.

svn path=/trunk/; revision=6852
2000-12-07 23:44:25 +00:00
cec18e26aa Only do a message_list_foreach if we plan on attaching messages, otherwise
2000-12-07  Jeffrey Stedfast  <fejj@helixcode.com>

	* mail-callbacks.c (forward_message): Only do a
	message_list_foreach if we plan on attaching messages, otherwise
	just use ml->cursor_uid.

	* mail-ops.c (cleanup_forward_messages): If attaching multiple
	forwarded message, wrap them in a multipart/digest otherwise just
	attach the single message as a message/rfc822.

svn path=/trunk/; revision=6851
2000-12-07 23:41:59 +00:00
907a6cf1e3 Make the iTip hack spew a g_warning and not crash if you have no identity
* mail-display.c (on_object_requested): Make the iTip hack spew a
	g_warning and not crash if you have no identity configured. To be
	revisited.

svn path=/trunk/; revision=6845
2000-12-07 20:50:09 +00:00
97f16d13a4 Add some g_return_if_fail()s to protect from crashes until the code to
* mail-callbacks.c: (various)
	* folder-browser.c (filter_mlist):
	* mail-autofilter.c (filter_gui_add_from_message):
	* mail-vfolder.c (vfolder_gui_add_from_message): Add some
	g_return_if_fail()s to protect from crashes until the code to
	enable/disable commands based on how many messages are selected is
	done.

svn path=/trunk/; revision=6840
2000-12-07 19:19:48 +00:00
2479980988 Make the vfolder editor resize correctly. Fixes bug #835.
2000-12-06  Jeffrey Stedfast  <fejj@helixcode.com>

	* mail-vfolder.c (vfolder_gui_add_rule): Make the vfolder editor
	resize correctly. Fixes bug #835.

svn path=/trunk/; revision=6835
2000-12-07 02:18:19 +00:00
6dc395e264 Fix up shutdown so that things that should be destroyed get
destroyed. Among other things, this fixes the bug where IMAP
	stores weren't disconnected at shutdown.

	* mail-threads.c (update_active_views): Update for
	folder_browser_factory_get_control_list change to EList.

	* folder-browser-factory.c: Turn control_list into an EList so
	that we can safely remove items from it while it's being iterated
	(which will happen as FolderBrowsers are destroyed at shutdown
	while the thread code is trying to update the status bars).
	(control_destroy_cb): Just destroy the folder_browser.
	(browser_destroy_cb): New callback for FolderBrowser destroy.
	Remove the control from control_list here instead of
	control_destroy_cb, because the controls don't seem to get
	destroyed reliably...

	* component-factory.c: Clean up stuff.
	(factory_destroy): Get rid of this.
	(owner_unset_cb): Schedule an idle handler to quit.
	(idle_quit): Wait for all of the FolderBrowsers to be destroyed
	and then destroy the storages and quit.

svn path=/trunk/; revision=6830
2000-12-06 23:03:49 +00:00
b5391901dc Fix prototype
* mail-summary.h (create_summary_view): Fix prototype

svn path=/trunk/; revision=6829
2000-12-06 23:02:34 +00:00
804acf56c6 Use e_filename_make_safe (which used to be e_str_make_safe).
2000-12-06  Jeffrey Stedfast  <fejj@helixcode.com>

	* mail-config.c (mail_config_folder_to_cachename): Use
	e_filename_make_safe (which used to be e_str_make_safe).

	* mail-display.c (make_safe_filename): And here.

	* message-list.c (message_list_drag_data_get): Here too.

svn path=/trunk/; revision=6827
2000-12-06 22:30:28 +00:00
5d64f35e99 Run the folder_changed code on message_changed as well, so the unread
* mail-local.c (cleanup_register_folder): Run the folder_changed
	code on message_changed as well, so the unread message counts
	update as messages are read.

svn path=/trunk/; revision=6813
2000-12-06 18:41:45 +00:00
5c7218c629 Remove bits of filter-on-demand and toolbar bug workaround cruft that
* folder-browser.c: Remove bits of filter-on-demand and toolbar
	bug workaround cruft that don't do anything useful any more.

	* mail-ops.c (cleanup_load_folder): unref the ref we added in
	setup_load_folder.

svn path=/trunk/; revision=6812
2000-12-06 18:40:11 +00:00
80c720a569 Use a charset filter to make sure the data is written out in the charset
2000-12-05  Jeffrey Stedfast  <fejj@helixcode.com>

	* mail-display.c (write_data_to_file): Use a charset filter to
	make sure the data is written out in the charset it was meant to
	be in instead of UTF-8.

	* mail-format.c (mail_format_raw_message): Don't use the raw
	message body as the format argument, use "%s" instead. If the raw
	message contains %'s then it will segfault otherwise.

svn path=/trunk/; revision=6803
2000-12-05 23:44:15 +00:00
52d9dbc10d Don't use the raw message body as the format argument, use "%s" instead.
2000-12-05  Jeffrey Stedfast  <fejj@helixcode.com>

	* mail-format.c (mail_format_raw_message): Don't use the raw
	message body as the format argument, use "%s" instead. If the raw
	message contains %'s then it will segfault otherwise.

svn path=/trunk/; revision=6798
2000-12-05 22:08:48 +00:00
b05a2b14c8 Fix a typo so that toggling the "remember password" checkbox will activate
* mail-config-gui.c (service_page_item_new): Fix a typo so that
	toggling the "remember password" checkbox will activate the "OK"
	button if it was inactive.

svn path=/trunk/; revision=6796
2000-12-05 16:27:01 +00:00
01bb166850 Update the calls to `evolution_storage_new()' according to the new
API in `libeshell'.

Sorry for breaking the build.  :-(

svn path=/trunk/; revision=6788
2000-12-05 10:13:56 +00:00
fc99cb4acc Use info->full_name rather than info->name so that we get the namespace
2000-12-04  Jeffrey Stedfast  <fejj@helixcode.com>

	* subscribe-dialog.c (setup_subscribe_folder): Use info->full_name
	rather than info->name so that we get the namespace part of the
	folder path as well.

svn path=/trunk/; revision=6783
2000-12-04 21:55:31 +00:00
042e514a26 return NULL if we can't create a view.
2000-12-04  Michael Meeks  <michael@helixcode.com>

	* e-shell-view.c (get_control_for_uri): return NULL if we can't
	create a view.
	(setup_evolution_shell_view_interface): add precondition.

+

	lots of cleans.

svn path=/trunk/; revision=6778
2000-12-04 17:56:54 +00:00
bfb8c33969 Make inline forwarding not be the default anymore.
svn path=/trunk/; revision=6771
2000-12-04 10:52:55 +00:00
7c69d2523a Writes out passwords (to .gnome_private) in our patented proprietary "Best
* session.c (mail_session_remember_password): Writes out passwords
	(to .gnome_private) in our patented proprietary "Best Awesome
	Super Encryption 64" ("BASE64") format which could not possibly
	ever be cracked by even the most cryptographically knowledgeable
	five-year-olds.
	(mail_session_init): Load remembered passwords at startup.
	(mail_session_forget_passwords): Erase them from disk as well as
	memory.

	* mail-config.c: Add "remember_password" field to
	MailConfigService.
	(mail_config_write_on_exit): Call mail_session_remember_password
	for services with "remember_password" set.
	* mail-config-gui.c: Add "remember password" checkbox to the
	dialogs, and make it appear and disappear as appropriate.

svn path=/trunk/; revision=6760
2000-12-01 20:25:10 +00:00
4f4e741d46 Unref the store regardless of whether or not we're using it, so we don't
* component-factory.c (mail_load_storages): Unref the store
	regardless of whether or not we're using it, so we don't leak
	references to non-storage stores.

svn path=/trunk/; revision=6759
2000-12-01 20:20:27 +00:00
06408727b6 Perform better error-handling.
2000-12-01  Jeffrey Stedfast  <fejj@helixcode.com>

	* message-list.c (e_mail_address_new): Perform better
	error-handling.

svn path=/trunk/; revision=6758
2000-12-01 19:16:56 +00:00
2063939db4 use mail_op_set_message_plain
2000-12-01  Radek Doulik  <rodo@helixcode.com>

	* mail-ops.c (mail_op_report_status): use mail_op_set_message_plain

	* mail-threads.c (mail_op_set_message_plain): plain version of
	mail_op_set_message, doesn't use printf, passes message untouched,
	use set_message
	(mail_op_set_message): set_message
	(set_message): helper function

svn path=/trunk/; revision=6753
2000-12-01 08:19:16 +00:00
8fa85c39e5 Don't display a dialog, instead inform the user that there was no new mail
2000-11-30  Jeffrey Stedfast  <fejj@helixcode.com>

	* mail-ops.c (cleanup_fetch_mail): Don't display a dialog, instead
	inform the user that there was no new mail by setting a status
	message.

	* message-list.c (message_list_drag_data_get): Use the new
	e_str_make_safe function.

	* mail-display.c (make_safe_filename): And here.

	* mail-config.c (mail_config_folder_to_cachename): Here too.

svn path=/trunk/; revision=6745
2000-11-30 22:44:00 +00:00
9b49b3e25a Set threaded view before setting the folder (cleanup some flash ons
2000-11-30  Not Zed  <NotZed@HelixCode.com>

	* mail-ops.c (cleanup_load_folder): Set threaded view before
	setting the folder (cleanup some flash ons tartup).

	* message-list.c (message_list_init): Initialise a mempool for uid
	string storage.
	(new_id_from_uid): Added messagelist arg, allocate strings from
	uid_pool.
	(new_id_from_subject): Same.  Fixed all callers.
	(remove_node_diff): Dont free uid here.
	(build_flat_diff): Nor here.
	(clear_tree): Flush the mempool, rather than freeing the id's
	directly.
	(free_tree_ids): Removed, no longer required.
	(free_tree_ids): Likewise.
	(message_list_init): Dont connect to the table destroy signal
	anymore to free the uid table.
	(message_list_destroy): Free the uid pool here.
	(*): Use accessors for messageid stuff.
	(content_is_attachment): Removed, no longer required.
	(ml_tree_value_at): Get the attachment flag directly from the
	summary.
	(ml_tree_value_at): For 'fake' nodes, try and do something better
	than "?" for from, to, and size.
	(subtree_size): New function, add up the total size of a subtree.
	(subtree_earliest): Get the earliest date from a subtree.
	(ml_tree_value_at): Return earliest date sent/received for fake
	nodes.
	(ml_tree_value_at): Return something to mark a fake subject line
	as a fake subject, although i dont know, i guess this buggers up
	sorting ...
	(subtree_size): Check the info node is still there.
	(subtree_earliest): Same here.
	(subtree_unread): And here.  The info node might vanish if the
	folder has changed/is changing and we try and redraw stuff while
	its doing it.
	(message_list_drag_data_get): Use accessors.

svn path=/trunk/; revision=6732
2000-11-30 11:32:50 +00:00
f65d521704 Implement. (message_list_init): Connect the d&d signal.
2000-11-29  Jeffrey Stedfast  <fejj@helixcode.com>

	* message-list.c (message_list_drag_data_get): Implement.
	(message_list_init): Connect the d&d signal.

	* mail-ops.c (do_save_messages): Use camel a bit more to help us
	out. Don't create the file ourselves, treat it as a CamelFolder so
	we don't have to worry about formatting.

svn path=/trunk/; revision=6728
2000-11-30 00:59:27 +00:00
a547f501cb removed #ifdef ENABLE_NLS/#endif on Miguel's request.
2000-11-30  Gediminas Paulauskas <menesis@delfi.lt>

removed #ifdef ENABLE_NLS/#endif on Miguel's request.

svn path=/trunk/; revision=6727
2000-11-30 00:58:47 +00:00
6a337122e6 Use camel a bit more to help us out. Don't create the file ourselves,
2000-11-29  Jeffrey Stedfast  <fejj@helixcode.com>

	* mail-ops.c (do_save_messages): Use camel a bit more to help us
	out. Don't create the file ourselves, treat it as a CamelFolder so
	we don't have to worry about formatting.

svn path=/trunk/; revision=6724
2000-11-29 20:45:09 +00:00