2001-12-18 Jeffrey Stedfast <fejj@ximian.com>
* mail-ops.c (filter_folder_free): Argh, don't notify about new
mail here.
(fetch_mail_fetch): Notify about new mail here instead.
svn path=/trunk/; revision=15170
2001-12-18 Jeffrey Stedfast <fejj@ximian.com>
* mail-accounts.c (construct): Setup the new-mail-notification
widgets.
(notify_command_changed): Update the command-line for new mail
notification.
(notify_radio_toggled): Update the new-mail-notification type.
* mail-ops.c (filter_folder_free): See if we got any new mail and
"sound the alarm" if we did.
svn path=/trunk/; revision=15168
2001-12-17 Jon Trowbridge <trow@ximian.com>
* mail-format.c (handle_text_plain_flowed): Set citation color to
black when we are printing.
svn path=/trunk/; revision=15140
2001-12-17 Jon Trowbridge <trow@ximian.com>
* mail-format.c (attachment_header): Avoid embedding <object> tags
when we are printing.
(handle_multipart_signed): Don't do the click-for-info signature
stuff when we are printing.
(handle_via_bonobo): Don't embed an <object> tag if we are
printing.
* folder-browser.c: Changed context_menu[] array so that we can
print when the preview pane is closed.
svn path=/trunk/; revision=15139
2001-12-12 Jeffrey Stedfast <fejJ@ximian.com>
* mail-config.c (mail_config_check_service): Connect to the
destroy signal on the popup dialog.
2001-12-12 Jeffrey Stedfast <fejj@ximian.com>
* mail-format.c (handle_text_plain): Make sure i != num_specials
after we check for any special text markers. Fixes bug #12265.
svn path=/trunk/; revision=15085
2001-12-14 Jeffrey Stedfast <fejj@ximian.com>
* mail-format.c (try_inline_pgp):
(try_inline_pgp_sig): Start reiplementing The Right Way and not
danw's fucking half-assed kludge that doesn't work.
svn path=/trunk/; revision=15076
2001-12-12 Jeffrey Stedfast <fejj@ximian.com>
* mail-config.c (mail_config_set_new_mail_notification_command):
set the new-mail-notify command.
(mail_config_get_new_mail_notification_command): get the
new-mail-notify command.
(mail_config_set_new_mail_notification): set the
new-mail-notification action.
(mail_config_get_new_mail_notification): get the
new-mail-notification action.
(mail_config_write_on_exit): save the new-mail-notification
settings.
(config_read): Read in the new-mail-notification settings.
* mail-ops.c (mail_execute_shell_command): New function to execute
a shell command async. Will be used for playing sounds on new mail
or whatever.
svn path=/trunk/; revision=15005
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-04 Jeffrey Stedfast <fejj@ximian.com>
* mail-autofilter.c (rule_from_message): Make sure that the
message subject is non-NULL beforetrying to base a vfolder rule
off it. Fixes bug #16284.
2001-12-07 Jeffrey Stedfast <fejj@ximian.com>
* mail-accounts.c (construct): Connect to the dialog's "destroy"
event and close any druids/editors that may be open when that
signal is caught. Fixes bug #16501.
* mail-vfolder.c (vfolder_edit): Set the window title to "Virtual
Folders". Fixes bug #16695.
svn path=/trunk/; revision=14966
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-04 Jeffrey Stedfast <fejj@ximian.com>
* mail-display.c (stream_write_or_redisplay_when_loaded): Check
that the mail-display hasn't been destroyed.
(mail_display_redisplay): Same here.
2001-12-07 Dan Winship <danw@ximian.com>
* mail-send-recv.c (receive_update_got_store): If updating a store
that we don't have an associated storage for, just request a
folder tree and then free it. (For the Connector)
* mail-callbacks.h: Add missing part of Jeff's 12-03 patch so this
actually compiles.
svn path=/trunk/; revision=14938
2001-12-03 Jeffrey Stedfast <fejj@ximian.com>
* mail-ops.c (mail_send_message): Don't append "(Preview Version)"
at the end of the version string. Use the PREVIEW_RELEASE #define
instead.
svn path=/trunk/; revision=14913
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-12-04 Jon Trowbridge <trow@ximian.com>
* folder-browser-ui.c (folder_browser_ui_set_selection_state):
Allow 'n' and 'p' to work when multiple messages are selected.
Fixes#12062.
svn path=/trunk/; revision=14874
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-27 Jeffrey Stedfast <fejj@ximian.com>
* mail-format.c (format_mime_part): Reverted the non-NULL
mime-type patch from a little while back, didn't mean to commit
this.
svn path=/trunk/; revision=14798
2001-11-25 Not Zed <NotZed@Ximian.com>
* mail-config.c (config_read): Enable news accounts that exist
always, since no gui for it.
2001-11-20 Jeffrey Stedfast <fejj@ximian.com>
* message-list.c (message_list_select): 'n' shouldn't wrap if 'p'
doesn't.
* mail-format.c (format_mime_part): Make sure the mime-type is
non-NULL before passing it off to mail_lookup_handler().
2001-11-20 Not Zed <NotZed@Ximian.com>
* folder-browser-ui.c: Disable search if no message
loaded/viewed. Also for #14348.
* folder-browser.c: Disable "Add sender to addressbook" if we dont
have a message loaded (it wont work). For #14348.
2001-11-20 Jeffrey Stedfast <fejj@ximian.com>
* mail-display.c (load_content_loaded): Make sure the mail-display
object is still "alive" before accessing any of it's data.
svn path=/trunk/; revision=14796
2001-11-16 Jeffrey Stedfast <fejj@ximian.com>
* message-list.c (message_list_hide_clear): Save hide state.
(message_list_hide_uids): Save hide state.
(message_list_hide_add): Save hide state.
* mail-format.c (format_mime_part): Make sure the mime-type is
non-NULL before passing it off to mail_lookup_handler().
svn path=/trunk/; revision=14734
* main.c (segv_redirect): Instead of doing pthread_exit() after
redirecting the SEGV, try to lock a mutex we know is already
locked. This will hopefully help debug a bunch of bugs where the
crashed thread seems to be missing from the bug-buddy report.
svn path=/trunk/; revision=14699
2001-11-13 Jeffrey Stedfast <fejj@ximian.com>
* mail-session.c (pass_got): Call e_passwords_remember_password()
for account passwords if the user set the "remember password"
checkbox.
svn path=/trunk/; revision=14696
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-08 Jeffrey Stedfast <fejj@ximian.com>
* mail-tools.c (mail_tools_x_evolution_message_parse): Was
x_evolution_message_parse from folder-browser.c. A space char is
no longer used to separate the folder URI and the first uid,
instead this is now done with a nul-char so update to parse the
newer/better format.
* component-factory.c (destination_folder_handle_drop): Update to
parse the new/better format.
* folder-browser.c (x_evolution_message_parse): Moved to
mail-tools.c
(message_list_drag_data_get): Instead of placing a space char
after the folder URI, instead use a nul-char.
svn path=/trunk/; revision=14645
2001-11-06 Jeffrey Stedfast <fejj@ximian.com>
* mail-accounts.c (pgp_path_changed): Call
mail_config_pgp_type_detect_from_path() instead of doing our own
lame auto-detection that didn't even work ;-)
* mail-config.c (auto_detect_pgp_variables): Execute the pgp
binary and look at it's version string if we have a version string
to compare to.
(mail_config_pgp_type_detect_from_path): New function that takes a
pgp path and attempts to figure out what pgp version it is.
svn path=/trunk/; revision=14634
2001-11-05 Jeffrey Stedfast <fejj@ximian.com>
* mail-account-editor.c (construct): Don't make the account editor
modal either.
* mail-accounts.c (mail_add): Use the new global account druid
variable so that we can avoid having more than a single druid at a
time. If a druid already exists, bring it to the top.
(mail_edit): Same idea only for the account editor this time.
(mail_editor_destroyed): Set the global editor to NULL.
(mail_add_finished): Set the global druid to NULL.
(mail_delete): Don't allow any deletes if an account editor is
opened (we don't want to be able to delete the account we are
editing...)
(news_edit): Same thing for the news editor.
(news_editor_destroyed): Set the news editor to NULL.
(news_add): And again for the news add.
* mail-account-gui.c (service_check_supported): Updated to pass a
GtkWindow argument to mail_config_check_service().
* mail-config.c (mail_config_check_service): Now takes a GtkWindow
argument so we can set our parent window. Also, don't make this
dialog modal either.
* mail-config-druid.c (construct): Don't make this druid modal.
svn path=/trunk/; revision=14598
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 Christopher James Lahey <clahey@ximian.com>
* message-list.c (ml_tree_value_at): Use GINT_TO_POINTER here for
platforms where simply casting an int to void * won't work.
(build_flat_diff, main_folder_changed): Call
e_tree_model_pre_change here.
svn path=/trunk/; revision=14581
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
* mail-format.c (handle_multipart_signed): Write out the url
before callind add_url since add_url may free it. Fixes#13839.
Remove debug printf.
* mail-display.c (on_object_requested): Remove debug printf.
svn path=/trunk/; revision=14564
2001-10-30 Larry Ewing <lewing@ximian.com>
* mail-account-gui.c (delete_event_cb): add delete_event_handler.
(menu_file_save_close_cb): add save and close command.
(launch_signature_editor): initial the editor as having changed
and attach the delete event handler.
svn path=/trunk/; revision=14499