2001-12-19 Jeffrey Stedfast <fejj@ximian.com>
* mail-callbacks.c (composer_get_message): Add the auto-cc/bcc
recipients here. The problem with setting them in the composer is
that what if the user changes which account he wants to use? We'd
either have to clear the cc/bcc lists *or* we'd have to leave them
alone. Either way is bad. We can't just clear the entries because
the user may have added addresses since the composer was
opened. We don't want to leave any old auto-cc/bcc addresses there
because that isn't desirable either. So we give up and add them
here after the user has already hit the send button.
* mail-config.c (account_copy): Update to copy the always-[b]cc
options.
(account_destroy): Update to destroy the above options.
(config_read): Update to read in those values.
(mail_config_write): Save those options.
* mail-account-gui.c (mail_account_gui_new): Setup Always Cc/Bcc
widgets.
(mail_account_gui_save): Get the user-entered values for the
always-cc/bcc stuff.
svn path=/trunk/; revision=15189
2001-12-11 Jon Trowbridge <trow@ximian.com>
* mail-identify.c (mail_identify_mime_part): Fixed for
mail_content_loaded's new signature.
* mail-format.c (attachment_header): Don't convert URLs, etc. if
we are printing.
(write_address): Don't convert addresses to mailto: links if we
are printing.
(write_one_text_plain_chunk): Add a printing flag, that we pass
along to mail_text_write.
(handle_text_plain): Pass our printing flag to
write_one_text_plain_chunk.
(mail_get_message_rfc822): Don't unneccesarily convert URLs.
(mail_content_loaded): Add a GtkHTML parameter.
* mail-display.c (mail_display_initialize_gtkhtml): Added. Breaks
all of the signal hookups out of mail_display_new.
(mail_display_new): Call mail_display_initialize_gtkhtml.
(mail_text_write): Don't convert URLs, etc., if we are printing.
Lots of other changes to pass around GtkHTML/GtkHTMLStream objects.
* mail-callbacks.c (do_mail_print): Call
mail_display_initialize_gtkhtml on our GtkHTML object.
* folder-browser.c (update_status_bar): Make the status bar more
useful when you have a large number of hidden messages.
svn path=/trunk/; revision=14997
2001-12-11 Jon Trowbridge <trow@ximian.com>
* message-list.etspec: Add ETable magic for our new "Needs Reply"
column. (The next few entries are for bug #90)
* message-list.h: Add COL_NEED_REPLY.
* message-list.c: Move mail_need_reply_xpm to the end of
states_pixmaps.
(ml_duplicate_value): Handle COL_NEED_REPLY.
(ml_free_value): Handle COL_NEED_REPLY.
(ml_initialize_value): Handle COL_NEED_REPLY.
(ml_value_is_empty): Handle COL_NEED_REPLY. Added
needs_reply_map[] array.
(ml_value_to_string): Handle COL_NEED_REPLY.
(ml_tree_value_at): Fix magic numbers, undoing my changes from the
otehr day. Add handler for COL_NEED_REPLY.
(message_list_create_extras): Attach icons for COL_NEED_REPLY.
(on_click): Undo my previous changes to display need-reply status
in COL_MESSAGE_STATUS. Add handing for COL_NEED_REPLY.
* mail.h: Change mail_format_mime_message, mail_format_raw_message
and the MailMimeHandlerFn typedef to take GtkHTML and
GtkHTMLStream args, as per our changes in mail-format.c.
* mail-format.c: Giant refactoring. Remove the assumption
throughout that we will always want to render into the GtkHTML
object contained in the MailDisplay. Instead, always pass in the
GtkHTML and GtkHTMLStream that we want to write to. Also, ignore
theme work-arounds if the printing flag is set. (This and what
follows fixes bug #82)
* mail-display.h: Remove GtkHTMLStream *stream from MailDisplay.
We don't need it anymore.
* mail-display.c (mail_display_render): Added. Breaks the code
that renders the message into the GtkHTML object out of
mail_display_redisplay.
(mail_display_redisplay): Call mail_display_render.
(mail_display_init): Remove reference to ->stream.
(mail_display_new): Remove reference to ->stream.
* mail-callbacks.c (do_mail_print): Create a new GtkHTML to render
our printed version into (via the new function
mail_display_render. Set the MailDisplay's printing flag to TRUE
before we render, and set it back to FALSE afterwards.
(do_mail_fetch_and_print): If the preview pane isn't open when we
try to print, fetch the message before printing.
(print_msg): Call do_mail_fetch_and_print.
(print_preview_msg): Call do_mail_fetch_and_print.
* folder-browser-ui.c: Remove "PrintMessage" and
"PrintPreviewMessage" from message_pane_enables... these now work
when the preview pane is closed. Disable printing if multiple
messages are selected.
svn path=/trunk/; revision=14981
2001-12-05 Radek Doulik <rodo@ximian.com>
* mail-callbacks.c (do_mail_print): set paper size to
_("US-Letter"), use gtk_html_print_set_master
svn path=/trunk/; revision=14953
* mail-display.c (on_object_requested): Don't just assume all of
the GtkHTMLEmbedded's fields are filled in, since HTML messages
may have <object>s in them that we're not expecting.
* mail-send-recv.c (mail_send_receive): Add a "current_folder"
arg.
(build_dialogue): Remember the current_folder
(free_send_data): If current_folder is set, refresh it so it's
guaranteed to be synced with the folder tree. Fixes#14770.
* mail-callbacks.c (send_receive_mail): Pass current_folder to
mail_send_receive().
svn path=/trunk/; revision=14950
Implements marking messages as "Need Reply".
2001-12-09 Jon Trowbridge <trow@ximian.com>
* mail-need-reply.xpm: Added a really, really ugly and
awful icon to symbolize "message needs a reply".
* Makefile.am (EXTRA_DIST): Added mail-need-reply.xpm.
2001-12-09 Jon Trowbridge <trow@ximian.com>
* camel-folder-summary.c: Add "NeedsReply" to the flag_names array
for CAMEL_MESSAGE_NEEDS_REPLY.
* camel-folder-summary.h: Added CAMEL_MESSAGE_NEEDS_REPLY flag.
2001-12-09 Jon Trowbridge <trow@ximian.com>
* vfoldertypes.xml: Add "Needs Reply" option to different status
types.
* filtertypes.xml: Add "Needs Reply" option to different status
types.
2001-12-09 Jon Trowbridge <trow@ximian.com>
* message-list.c: #include "art/mail-need-reply.xpm".
(ml_tree_value_at): Adjust magic numbers, show "Need Reply" icon
if the message needs reply.
(message_list_create_extras): Adjust magic numbers to add new
icon.
(on_click): Changed to toggle between unread, read, and need reply
when the status icon is clicked.
* mail-callbacks.c (mark_as_needing_reply): Added.
(mark_as_not_needing_reply): Added. Add "set" value to struct
post_send_data.
(composer_sent_cb): Use both "flags" and "set" elements of
post_send_data when setting message flags.
(mail_reply): Clear "Needs Reply" flag when we actually reply to a
message.
* folder-browser.c: Changed flag values to be given by
bit-shifting (1<<5) vs. base-ten (32). Added
CAN_MARK_DOESNT_NEED_REPLY flag. Added "Mark as Needing Reply"
and "Mark as Not Needing Reply" elements to context menu.
(on_right_click): Hide "Mark as (Not) Needing Reply" context menu
elements as appropriate.
svn path=/trunk/; revision=14946
2001-12-03 Jeffrey Stedfast <fejj@ximian.com>
* folder-browser-ui.c: Setup the UI for the AddSenderToAddressbook
ui verb thingy.
* mail-callbacks.c (add_sender_to_addrbook): New bonobo-ui
callback that adds a sender to the addressbook.
svn path=/trunk/; revision=14905
2001-11-28 Jeffrey Stedfast <fejj@ximian.com>
* mail-callbacks.c (save_msg_ok): If the path exists, make sure
it's a regular file (or we can't possibly save to it). Fix for
#14127.
2001-11-28 Jeffrey Stedfast <fejj@ximian.com>
* message-list.c (message_list_select): Cleaned up the code.
* mail-callbacks.c (previous_unread_msg): Pass wraparound as TRUE.
svn path=/trunk/; revision=14850
2001-11-09 Jeffrey Stedfast <fejj@ximian.com>
* mail-callbacks.c (forward_message): If we already have the
message loaded in the mail-display, don't bother re-loading. This
happens to fix bug #14848.
svn path=/trunk/; revision=14663
2001-11-05 <NotZed@Ximian.com>
* message-browser.c (set_bonobo_ui): Override the Move/Copy
handlers setup by the folder_browser_ui code, and use our own,
because we need to pass it a live window which we can't.
(transfer_msg): Our own version of mail-callbacks.c:transfer_msg,
so we can properly pass the parent to the user_select_folder.
(transfer_msg_done): Also copy this so we can pass it diff args.
All fix#13919.
* mail-callbacks.c (transfer_msg): Set physical/uri to NULL before
calling, because althought he shell client api call is supposed to
null these out, it doesn't with its stupid assertion checks on
entry. Also free physical to plug a memleak. Bugs exposed by
#13919.
svn path=/trunk/; revision=14597
2001-11-01 Jeffrey Stedfast <fejj@ximian.com>
* mail-display.h (mail_html_write): Renamed from
mail_html_write_string.
* mail-display.c (mail_text_write): Don't bother with varargs
since nothing used them, we were only passing strings anyway...
(mail_error_printf): Renamed from mail_error_write, this makes
more sense.
(mail_html_write): Removed.
* mail-format.c: Updated to use gtk_html_stream_printf directly
and s/mail_html_write_string/mail_html_write.
(mail_lookup_handler): Don't use %.*s here either...
(handle_text_enriched): Same.
(write_one_text_plain_chunk): And finally here (also update for
new mail_text_write api).
(handle_multipart_signed): Update for new mail_text_write api.
(format_mime_part): Update for new mail_error_text/printf name
change.
(handle_multipart_encrypted): Same.
* mail-tools.c (mail_tool_generate_forward_subject): Same as
mail_generate_reply.
* mail-callbacks.c (mail_generate_reply): Don't use %.*s in any
*printf* functions.
svn path=/trunk/; revision=14590
2001-11-02 <NotZed@Ximian.com>
* message-browser.c (message_browser_message_list_built):
Disconnect from the message_list_built function so we dont do it
every time the list is rebuilt.
* mail-callbacks.c (composer_send_cb): Disable autosave when we're
sending mail.
(composer_sent_cb): Re-enable autosave.
* folder-browser-ui.c (fbui_sensitize_timeout): Make sure we reset
any data we're using on the folderbrowser before doing anything
'cause things could vanish while we're doing it, and also
ref/unref the folderbrowser so it doesn't vanish while w'ere
working.
* folder-browser.c (folder_browser_set_ui_component): If we are
changing the ui comp, remove any pending timeouts. For #13719.
svn path=/trunk/; revision=14575
2001-10-28 Jeffrey Stedfast <fejj@ximian.com>
* mail-callbacks.c (transfer_msg_done): Move the message-list
cursor to the next message.
(transfer_msg): If we are moving messages, then pass
transfer_msg_done() to mail_transfer_messages() so when it
finishes it can move the cursor to the next undeleted message.
svn path=/trunk/; revision=14313
* folder-browser.c (etree_key): Work around something that we
think is a GtkHTML bug, where sometimes the adjustments have
slightly bogus values and scrolling ends up working backwards.
(Ximian 4939)
* mail-display.c (do_signature, do_attachment_header): Set the
icon to be 24x24 here so that (assuming it's not a thumbnail), no
resizes will have to be queued later. (There's still a bug with
the text to the left of the button being drawn twice for some
reason though.)
* mail-callbacks.c (delete_msg): Fix a bug here that makes
deleting multiple messages cause a gratuitous message body fetch.
(Ximian 12355)
svn path=/trunk/; revision=14172
2001-10-25 Jeffrey Stedfast <fejj@ximian.com>
* mail-callbacks.c (providers_config): Set the GdkWindow of the
FolderBrowser, not the GtkWindow...
svn path=/trunk/; revision=14148
2001-10-26 <NotZed@Ximian.com>
* component-factory.c (owner_unset_cb): Use a timeout not an idle handler.
* mail-callbacks.c (providers_config): Only set the parent window.
* mail-accounts.c (mail_edit): Set the parent on the account editor.
svn path=/trunk/; revision=14121
2001-10-24 Jeffrey Stedfast <fejj@ximian.com>
* mail-callbacks.c (mail_generate_reply): No longer need to pass a
settext argument.
(do_forward_non_attached): Same.
svn path=/trunk/; revision=14085
2001-10-23 <NotZed@Ximian.com>
* mail-session.c (get_password): Completely re-done. We now hae a
completely async dialogue when requested from antoehr thread, and
dont use gtk_main() if we can avoid it (which is normally the
case). This stuff is only partially finished, and will mena the
removal of the same from mail-mt.c, and the mail_user_message()
code will be moved here and changed to work in a similar way.
* mail-callbacks.c (empty_trash): Dont try and connect to remote
stores just to get the trash. Also, always run empty trash async,
and make sure we unref the trash.
(empty_trash): Hmm, dont unref the trash, causes a problem on
exit, i suspect something else is doing funky unrefs on it.
* mail-tools.c (mail_tool_get_trash): Pass a 'connect' arg, tell
it whether it should tryand connect or not to the parent service,
if it isn't already connected.
* component-factory.c (owner_unset_cb): Dont try wait_all here,
could potentially deadlock.
(idle_quit): Keep returning TRUE if we have outstanding
processing. Note that this may busy-wait during exit processign
with busy tasks :(
(idle_quit): Keep calling ourselves till we no longer get called
(i.e. gtk_main really quits).
* mail-mt.c (mail_msg_active): New function, returns TRUE if
events are still active/outstanding.
(do_op_status): @$@$#@@!#@!! didn't unlock the mail_msg_lock if
data->activity was NULL and we had no global_shell_client anymore!
Also shortcut processing if this is going to be the case.
(mail_msg_init): Setup a temporary other gui_port for redoing with
new semantics password, user message and progress reporting.
(mail_get_password): #ifdef'd out all this code temporarily, till
it gets fully moved to mail-session.c
2001-10-22 <NotZed@Ximian.com>
* component-factory.c (owner_set_cb): Dont call enable_interaction
here.
(interactive_cb): But here instead, let the shell tell us when its
ok to go interactive.
svn path=/trunk/; revision=13933
2001-10-22 Jeffrey Stedfast <fejj@ximian.com>
* mail-format.c (format_mime_part): Don't wrap error text with
<blockquote>, this is done inside mail_error_write.
(handle_multipart_encrypted): If we get an exception trying to
decrypt the mime part, display an error rather than trying to
treat it as multipart/mixed.
* mail-callbacks.c (empty_trash): Confirm expunge.
svn path=/trunk/; revision=13893
* mail-callbacks.c (transfer_msg): Fix these functions so they
don't crash evolution-mail. Too bad it still crashes in the
shell.
svn path=/trunk/; revision=13873
2001-10-22 <NotZed@Ximian.com>
* mail-callbacks.c (mark_all_as_seen): Instead of select_all()
then using the tree's selected nodes to iterate, just do it on the
folder which keeps the current selection. Fixes#3658.
svn path=/trunk/; revision=13860
2001-10-19 Jeffrey Stedfast <fejj@ximian.com>
* mail-callbacks.c (mail_generate_reply): Update to reflect API
changes to e_msg_composer_add_message_attachments().
(do_forward_non_attached): Same.
(providers_config): Oops, pass a GdkWindow instead of a GtkWindow.
svn path=/trunk/; revision=13812
2001-10-17 Jeffrey Stedfast <fejj@ximian.com>
* subscribe-dialog.h (subscribe_dialog_show): Helper macro.
* subscribe-dialog.c (subscribe_dialog_run_and_close): Removed.
* mail-callbacks.c (check_send_configuration): Don't use
gnome_dialog_run_and_close() here, we can easily get away with
just using a gtk_widget_show().
(providers_config): Don't use a gnome_dialog_run_and_close() here
either. No longer need to use e_gnome_dialog utils.
(manage_subscriptions): Don't run_and_close().
svn path=/trunk/; revision=13732
2001-10-17 Jeffrey Stedfast <fejj@ximian.com>
* mail-callbacks.c (check_send_configuration): Don't use
gnome_dialog_run_and_close() here, we can easily get away with
just using a gtk_widget_show().
(providers_config): Don't use a gnome_dialog_run_and_close() here
either.
svn path=/trunk/; revision=13727
2001-10-15 Larry Ewing <lewing@ximian.com>
* mail-callbacks.c (mail_generate_reply): don't apply the body
text in replys since we will just replace it anyway.
svn path=/trunk/; revision=13683
2001-10-11 Jon Trowbridge <trow@ximian.com>
* mail-callbacks.c (addrbook_sender): Listen for "destroy" events
from the control, so that we don't leave stray windows laying
around. (Bug #9101)
svn path=/trunk/; revision=13609
2001-10-11 Jeffrey Stedfast <fejj@ximian.com>
* component-factory.c (free_storage): Make sure the
service/storage are non-NULL.
* mail-callbacks.c (e_gnome_dialog_parent_destroyed): Call
gtk_main_quit.
(send_receive_mail): Don't use e_gnome stuff since this doesn't
need to be run using gnome_dialog_run_and_close().
(composer_send_cb): Same.
(edit_msg): Here too.
(resend_msg): And here.
(search_msg): Same.
(filter_edit): Here too.
(filter_edit): Don't use e_gnome_dialog_set_parent() because we
don't do gnome_dialog_run_and_close on this dialog.
(e_gnome_error_dialog_parented): Removed.
(e_gnome_ok_dialog_parented): Removed.
svn path=/trunk/; revision=13583
2001-10-10 Larry Ewing <lewing@ximian.com>
* mail-callbacks.c (mail_generate_reply): use new function to copy
the attachments from the source message. This still isn't perfect
but it should avoid the problems with headers being transfered.
This makes images in replies work again.
svn path=/trunk/; revision=13564
2001-10-09 Jeffrey Stedfast <fejj@ximian.com>
* folder-browser-ui.c (folder_browser_ui_add_message): Create a
chaqrset picker submenu in the View menu.
* mail-format.c (mail_format_raw_message): Pass the mail-display
to get_data_wrapper_text.
(get_data_wrapper_text): Use the user's override charset if one is
provided, otherwise user the user's default charset.
(handle_text_plain): Pass along the mail-display to
get_data_wrapper_text.
(handle_application_pgp): Same.
(handle_text_enriched): Here too.
(mail_get_message_body): Pass NULL as the mail-display to
get_data_wrapper_text since we don't have access to a
mail-display.
* mail-display.c (mail_display_set_charset): New function to set a
charset on the maildisplay. Once set, the message is redisplayed
using the new charset.
(mail_display_destroy): Free the charset.
* folder-browser.c (folder_browser_charset_changed): New callback
for when a user overrides the message charset.
svn path=/trunk/; revision=13530
* mail-callbacks.c (e_gnome_dialog_set_parent): Use
gtk_signal_connect_while_alive here so
e_gnome_dialog_parent_destroyed doesn't get called on an
already-destroyed dialog.
* mail-config-druid.c (*_prepare): Record which page we're
currently in.
(*_changed): Only update the druid buttons if we're the current
page. Fixes a problem that could make it impossible to get beyond
the first page of the setup wizard.
svn path=/trunk/; revision=13522
* mail-callbacks.c (mail_generate_reply): Revert the change to use
e_msg_composer_new_with_message. That has unwanted side effects.
(This commit re-breaks replying to HTML messages with inline
images.)
svn path=/trunk/; revision=13518
2001-10-05 <NotZed@Ximian.com>
* folder-browser.c: reformatted the menu tables so they're a bit
more bloody readable.
* mail-folder-cache.c (mail_note_store): Hook into
subscribed/unsubscribed events. Only 'add/remove' folders from
the add/removed events if we aren't subscribed, otherwise use the
subscribed events. Rest of fix for #11831
svn path=/trunk/; revision=13472