2002-01-24 Jeffrey Stedfast <fejj@ximian.com>
* mail-callbacks.c (select_all): If the mail-display is in focus,
then select-all in the mail display rather than the
message-list. Fixes bug #19126.
svn path=/trunk/; revision=15456
2002-01-02 Jeffrey Stedfast <fejj@ximian.com>
* mail-callbacks.c (list_add_addresses): Simplified. Also no
longer needs an "ignore_addr" argument as far as I can tell so
that has been removed.
(mail_generate_reply): Don't pass an ignore_addr argument to
list_add_addresses and also change to use g_strcase_hash and
g_strcase_equal since addresses are not case snesitive
(mostly). Also, Reply-To can contain multiple addresses, so handle
this case too.
svn path=/trunk/; revision=15231
2002-01-02 JP Rosevear <jpr@ximian.com>
* mail-callbacks.c: remove e_gnome_dialog util functions and use
e-util ones instead
2002-01-02 JP Rosevear <jpr@ximian.com>
* e-dialog-utils.c (e_gnome_dialog_set_parent): util function
moved from mail-callbacks, also destroys the dialog if the parent
is destroyed
(e_gnome_warning_dialog_parented): similarly
(e_gnome_ok_cancel_dialog_parented): ditto
* e-dialog-utils.h: new protos
svn path=/trunk/; revision=15225
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