2001-07-13 Peter Williams <peterw@ximian.com>
* mail-callbacks.c (expunge_folder): Segfault prevention here if no uid is
currently loaded.
svn path=/trunk/; revision=11093
2001-07-13 Peter Williams <peterw@ximian.com>
* mail-callbacks.c (expunge_folder): Segfault prevention here if we lose
the race with message_list_set_hidedeleted().
svn path=/trunk/; revision=11092
2001-07-13 Peter Williams <peterw@ximian.com>
* mail-vfolder.c (unlist_vfolder): New function. If a vfolder in our list
gets finalized, NULL out info->folder (Is it wrong if this happens?) Also,
locking issues?
(vfolder_uri_to_folder): Hook up to the finalize event here.
svn path=/trunk/; revision=11087
2001-07-13 Jeffrey Stedfast <fejj@ximian.com>
* mail-ops.c (filter_folder_filter): Updated to reflect changes in
the filter API by passing in the provided uid cache to
camel_filter_driver_filter_folder.
(mail_filter_folder): Set the cache to NULL.
(mail_fetch_mail): Set the cache to NULL.
(fetch_mail_fetch): If a cache exists for this folder, set
it. When we are finished filtering the incoming messages, the
logic changes a bit. We now save the cache if keep_on_server is
set *or* if there was an exception this way if the user's download
gets interrupted, he won't have to download all the messages
again.
(fetch_mail_fetch): Oh yea, and just so if we get an exception
with `delete' turned on, the next time the user checks mail and an
exception *doesn't* occur, it will go back and mark all the
messages for deletion.
svn path=/trunk/; revision=11086
2001-07-13 Jeffrey Stedfast <fejj@ximian.com>
* mail-ops.c (filter_folder_filter): Updated to reflect changes in
the filter API by passing in the provided uid cache to
camel_filter_driver_filter_folder.
(mail_filter_folder): Set the cache to NULL.
(mail_fetch_mail): Set the cache to NULL.
(fetch_mail_fetch): If a cache exists for this folder, set
it. When we are finished filtering the incoming messages, the
logic changes a bit. We now save the cache if keep_on_server is
set *or* if there was an exception this way if the user's download
gets interrupted, he won't have to download all the messages
again.
svn path=/trunk/; revision=11085
2001-07-12 Jason Leach <jleach@ximian.com>
* mail-callbacks.c (expunge_folder): Only blank the mail display
if the message being viewed is one of those to be expunged. Bug
#4030.
svn path=/trunk/; revision=11052
2001-07-12 Jason Leach <jleach@ximian.com>
* mail-config.c (config_read): Should be saving the
'identity_html_signature' and 'identity_has_html_signature" keys
in the /Mail/Accounts prefix (with the rest of the per-account
stuff, not on it's own)
svn path=/trunk/; revision=11051
2001-07-11 JP Rosevear <jpr@ximian.com>
* mail-display.c (get_embedded_for_component): no longer need to
set a my address property
svn path=/trunk/; revision=11019
2001-07-10 Federico Mena Quintero <federico@ximian.com>
* mail-display.c (link_copy_location): Set the CLIPBOARD
selection as well as the primary selection so that Edit/Paste will
work in other programs (e.g. Netscape).
(mail_display_new): Add the target for the CLIPBOARD selection.
svn path=/trunk/; revision=10977
2001-07-10 Jason Leach <jleach@ximian.com>
[Bug #4305: Make the automatic mark-as-read timer optional]
* mail-config.glade: Necessary changes to make the Mark as "Read"
label a toggle button instead.
* mail-accounts.c (construct): Connect to the "toggled" on our new
toggle.
(timeout_toggled): New callback, called from above.
* mail-config.c (mail_config_get_do_seen_timeout): New.
(mail_config_set_do_seen_timeout): New.
(mail_config_write_on_exit): Save the preference here.
(config_read): Load it here.
svn path=/trunk/; revision=10973
2001-07-10 Peter Williams <peterw@ximian.com>
* mail-format.c (attachment_header): Took the logic of whether or not
to make the attachment header out of the actual function.
(mail_part_is_displayed_inline): Return if the part is being displayed
inline (regardless of whether it is actually inline).
(mail_part_toggle_displayed): Toggle whether it's displayed inline or not.
(get_inline_flags): Determine whether the part is displayed inline and whether
it is actually inline.
(mail_format_mime_message): Initialize the attachment_status hash table.
* mail-display.c (inline_cb): Instead of modifying the CamelMimePart,
use mail_part_toggle_displayed
(button_press): As above.
(pixmap_press): Use mail_part_is_displayed_inline instead of
mail_part_is_inline. Get the MailDisplay from the popup to do this.
* mail.h: Add prototypes.
svn path=/trunk/; revision=10960
2001-07-10 Jeffrey Stedfast <fejj@ximian.com>
* mail-config.c (mail_config_write_on_exit): Use
bonobo_config_set_string_wrapper.
(mail_config_write): Same.
(bonobo_config_set_string_wrapper): Macro wrapping
bonobo_config_set_string that passes "" as the val if the val is
NULL.
svn path=/trunk/; revision=10955
2001-07-10 Jeffrey Stedfast <fejj@ximian.com>
* mail-callbacks.c (mail_generate_reply): Make sure that the
reply-to addr i non-NULL before trying to add it to the hash
table.
svn path=/trunk/; revision=10953
2001-07-09 Jeffrey Stedfast <fejj@ximian.com>
* mail-format.c (setup_mime_tables): Handle application/pgp using
the text/plain handler.
* mail-account-gui.c (get_focused_widget): New function to
determine which widget is focused.
svn path=/trunk/; revision=10940
2001-07-09 Jeffrey Stedfast <fejj@ximian.com>
* mail-format.c (setup_mime_tables): Handle application/pgp using
the text/plain handler.
* mail-account-gui.c (get_sensitive_widget): New function to determine
which widget is focused.
* mail-account-editor.c (apply_changes): Not only flip to the
notebook page that wasn't finished, but also grab the focus of the
incomplete widget.
* mail-config-druid.c (source_changed): Grab the focus of the
incomplete widget.
(transport_prepare): And here.
(identity_changed): Here too.
* mail-account-gui.c (mail_account_gui_identity_complete): Take an
incomplete argument so we can set which widget is incomplete and
then the caller can focus it or whatever.
(service_complete): Same.
(mail_account_gui_transport_complete): And again here.
(mail_account_gui_management_complete): And here too.
svn path=/trunk/; revision=10939
2001-07-09 Jeffrey Stedfast <fejj@ximian.com>
* mail-format.c (decode_pgp): Update to pass in the `remember'
argument when creating a new pgp context.
(try_inline_pgp_sig): And here...
* mail-crypto.c (mail_crypto_pgp_mime_part_sign): Update to pass
in the `remember' argument when creating a new pgp context.
(mail_crypto_pgp_mime_part_verify): Same.
(mail_crypto_pgp_mime_part_encrypt): And here...
(mail_crypto_pgp_mime_part_decrypt): And finally here.
* mail-config.c (mail_config_get_remember_pgp_passphrase): New.
(mail_config_set_remember_pgp_passphrase): New.
(config_read): Read in the "remember passphrase" value.
(mail_config_write_on_exit): Save the remember-passphrase value.
* mail-accounts.c (construct): Allow the user to set "Remember PGP
Passphrase".
(remember_pgp_passphrase_toggled): Set the toggle state.
svn path=/trunk/; revision=10934
2001-07-09 Jeffrey Stedfast <fejj@ximian.com>
* mail-crypto.c (mail_crypto_pgp_mime_part_sign): Update to pass
in the `remember' argument when creating a new pgp context.
(mail_crypto_pgp_mime_part_verify): Same.
(mail_crypto_pgp_mime_part_encrypt): And here...
(mail_crypto_pgp_mime_part_decrypt): And finally here.
* mail-config.c (mail_config_get_remember_pgp_passphrase): New.
(mail_config_set_remember_pgp_passphrase): New.
(config_read): Read in the "remember passphrase" value.
(mail_config_write_on_exit): Save the remember-passphrase value.
* mail-accounts.c (construct): Allow the user to set "Remember PGP
Passphrase".
(remember_pgp_passphrase_toggled): Set the toggle state.
svn path=/trunk/; revision=10933
2001-07-09 Peter Williams <peterw@ximian.com>
* mail-ops.c (get_folderinfo_got): Check for an exception and print it.
Call done anyway.
(do_update_subfolders): Check for NULL info.
svn path=/trunk/; revision=10924
2001-07-09 Peter Williams <peterw@ximian.com>
* mail-config.c (mail_config_write): Some NULL protection for our strings:
pgp_key, html_signature, smime_key. Probably we should do this for all
strings. Either that or change Bonobo Config.
* message-list.c (message_list_init): Explicitly initialize search to NULL.
Bug 3951 might to be due to a problem wrt this, and it can't hurt.
svn path=/trunk/; revision=10919
* mail-format.c (mail_lookup_handler): Use
gnome_vfs_mime_get_short_list_applications rather than
gnome_vfs_mime_get_default_application.
* mail-display.c (pixmap_press): Construct the EPopupMenu array on
the fly, based on the number of applications available to open the
MIME type.
(launch_cb): Figure out which menu item was clicked, and invoke
the appropriate application. Ugh, messy, because of the EPopupMenu
interface. Probably should get rewritten some day. Also, make this
handle apps with expects_uris set too.
svn path=/trunk/; revision=10916
2001-07-09 Peter Williams <peterw@ximian.com>
* mail-config.c (mail_config_write): Change html_signature stuff over
to bonobo-config -- someone forgot to do this.
svn path=/trunk/; revision=10915
2001-07-09 Peter Williams <peterw@ximian.com>
* mail-folder-cache.c (dm): Gave up and got rid of dm. Just replaced it
with d(g_message()) and set G_LOG_DOMAIN.
svn path=/trunk/; revision=10911
2001-07-09 Peter Williams <peterw@ximian.com>
* mail-folder-cache.c (mail_folder_cache_set_update_shellview): Deleted
(as opposed to #if 0)
(get_folder_info): Changed to assume it has the folder lock.
(make_folder_name): Same.
(make_folder_status): Same.
(update_idle): Don't unlock around the make_folder_ functions.
(*): Changed behavior wrt. get_folder_info. Lock before calling, but
also move preconditions before -- get_folder_info can only return NULL
if uri is NULL. Also add preconditions for other arguments where
necessary.
svn path=/trunk/; revision=10910
2001-07-07 Christopher James Lahey <clahey@ximian.com>
* message-list.c (on_cursor_activated_cmd): Check for new_uid !=
NULL here before strcmping.
svn path=/trunk/; revision=10889
* main.c (main): Only install the segv_redirect handler if SEGV's
handler is not currently SIG_DFL. Otherwise you get an infinite
SEGV loop if you run with GNOME_DISABLE_CRASH_DIALOG.
svn path=/trunk/; revision=10887
2001-07-07 Christopher James Lahey <clahey@ximian.com>
* message-list.c (message_list_select): Made this handle being
given a row that's outside the range better.
svn path=/trunk/; revision=10881
2001-07-06 Jason Leach <jleach@ximian.com>
[Fix bug #1100, default account is stored strangely]
* mail-config.c (mail_config_get_default_account_num): New
function, returns the integer of the position of the default
account, used to save which account is the default to the config
db.
(mail_config_write): Save the default account number here in
"/Mail/Accounts/default_account".
(config_read): Load in which is the default here.
svn path=/trunk/; revision=10873
2001-07-06 Larry Ewing <lewing@ximian.com>
* mail-callbacks.c (composer_send_cb): add a NULL check since that
is a valid return.
svn path=/trunk/; revision=10866
2001-07-06 Peter Williams <peterw@ximian.com>
* mail-format.c (format_mime_part): Prevent infinite recursion when
viewing attachments that we can't / shouldn't display but are some
form of plaintext. Cf bug #2234
svn path=/trunk/; revision=10857
2001-07-06 Jeffrey Stedfast <fejj@ximian.com>
* folder-browser.c (folder_browser_copy): Mark the messages as
Seen also.
(folder_browser_class_init): Create an atom type for
X-Evolution-Message selection type.
(my_folder_browser_init): Add our multiple selection types, one of
which is the default string type.
* component-factory.c (destination_folder_handle_drop): Update to
use the new X-Evolution-Message type format.
* folder-browser.c (selection_get): Convert the
X-Evolution-Message clipboard type to whatever format the target
wants.
(message_list_drag_data_get): Update because the
X-Evolution-Message type changed.
(folder_browser_copy): Same.
(x_evolution_message_parse): And here too.
svn path=/trunk/; revision=10853
2001-07-06 Peter Williams <peterw@ximian.com>
* mail-callbacks.c (composer_postpone_cb): Don't free the psd here --
it will be freed on the "destroy" signal.
* mail-folder-cache.c (maybe_update): Instead of an idle, use a very
short timeout in hopes of reducing the number of redundant updates.
* mail-tools.c (mail_tool_uri_to_folder): Only note the folder in the
cache if we successfully got it.
svn path=/trunk/; revision=10852
2001-07-06 Jason Leach <jleach@ximian.com>
* mail-callbacks.c (delete_msg): Select the very next message
after deleting, not the next undeleted (it can make things jump
around in annoying ways if you are deleting many messages), bug #4032.
* folder-browser.c: Forgot to commit the "Mark as Important" right
click menu item.
* message-list.c (message_list_set_folder): Setup the strikeout
column here (after we've gotten the folder) so we can disable
strikeouts for vtrash folders, part of bug #2224.
svn path=/trunk/; revision=10849
* mail-folder-cache.c (mail_folder_cache_set_folder_browser): Fix
obvious bug in previous bugfix: Pass "fb" to check_for_fb_match()
so only the selected folder gets updated, instead of "all folders
that haven't yet been selected".
svn path=/trunk/; revision=10846
that it only happens in the mailer (which is the only component
actually using this).
For some reason it still doesn't work properly (i.e. the menu item
currently does nothing), but I haven't quite figured out why yet.
svn path=/trunk/; revision=10840
2001-07-05 Jeffrey Stedfast <fejj@ximian.com>
* mail-accounts.c (construct): Add a checkbox for prompting when
sending a message with an empty subject.
* mail-ops.c (mail_send_message): If filtering fails, return right
away.
svn path=/trunk/; revision=10821
001-07-05 Peter Williams <peterw@ximian.com>
* Makefile.am: Remove the ridiculuous relic known as test-mail. Clean up
a bit.
svn path=/trunk/; revision=10814