2001-09-07 Jeffrey Stedfast <fejj@ximian.com>
* mail-format.c (mail_write_authenticity): Give the full path of
the wax-seal icons.
(try_inline_pgp_sig): Convert the charset from UTF-8 to whatever
charset it should be. Now takes a CamelMimePart argument as well.
(try_uudecoding): Now takes a part argument as well.
(try_inline_pgp): Here too.
(try_binhex): And finally here.
(handle_text_plain): Pass along the mime part to the try_*
functions.
svn path=/trunk/; revision=12688
2001-09-07 Jeffrey Stedfast <fejj@ximian.com>
* mail-format.c (mail_write_authenticity): Give the full path of
the wax-seal icons.
svn path=/trunk/; revision=12684
2749 - Message text not included in reply, but html attachment is
4294 - "forward inline" should quote the same headers as the
normal mail display
6100 - Reply to a forwarded email displays email headers
7255 - Replying to HTML message
7527 - replying to forwarded message w/ attachments does the wrong
thing
* mail-format.c (mail_get_message_rfc822): New function to get
message headers and body together, for inline forwards, or replies
containing attached messages.
(mail_get_message_body): Redo this to always return HTML, but keep
the "want_plain" flag, to decide whether to return HTML that looks
like HTML or HTML that looks like plain text. Use
mail_get_message_rfc822 to handle attached message/rfc822 parts.
Don't include the text of vcard or icalendar attachments. Don't
fail to include text parts just because we found an HTML part.
(Since we're always returning HTML now, this doesn't cause
problems any more.)
* mail-tools.c (mail_tool_quote_message): Simplify greatly.
mail_get_message_body always returns HTML now, and we let it take
care of prepending "> "s too. We then let GtkHTML deal with
converting the HTML to plain text if the user wants to reply in
plain text.
(mail_tool_forward_message): Simplify this a ton too: parts of it
are moved into mail_get_message_rfc822 and parts are now
unnecessary.
* mail-callbacks.c (do_forward_non_attached): Call
mail_tool_forward_message here always, and let it do the "> "
quoting in the "quoted" case, so that we get the headers too when
forwarding quoted. Related to bug #4294.
svn path=/trunk/; revision=12657
go to Dan, Larry and me ;)
(fixes ximian #6680)
2001-09-06 Radek Doulik <rodo@ximian.com>
* everywhere updated for new mail_content_loaded definition
(prototype)
2001-09-05 Radek Doulik <rodo@ximian.com>
* mail-display.c (mail_display_redisplay): increase
redisplay_counter
(try_part_urls): new helper function
(try_data_urls): ditto
(load_content_loaded): if it has stream handle available and if
it's still valid, it writes to this stream instead of
redisplaying, uses try_part_urls and try_data_urls
* mail-display.h: added redisplay_counter to MailDisplay, I use
it in load_content_loaded to be sure that there wasn't any
redisplay and that remembered handle is still valid
* mail-display.c (on_url_requested): don't end stream with error
if part is not loaded yet
(on_url_requested): don't end stream in cases when we are going to
load image using http
(stream_write_or_redisplay_when_loaded): new helper function,
which is extracted from mail_display_redisplay_when_loaded. it's
extended to handle gtkhtml stream writting
(mail_display_redisplay_when_loaded): use
stream_write_or_redisplay_when_loaded
(mail_display_stream_write_when_loaded): new function, uses
stream_write_or_redisplay_when_loaded
struct _load_content_msg: added handle, url and redisplay_counter
fields
* mail-format.c (mail_content_loaded): added redisplay, url and
handle parameter for case when we are loading image content and
want it write to stream instead of redisplaying
svn path=/trunk/; revision=12633
2001-08-30 Jeffrey Stedfast <fejj@ximian.com>
* message-browser.c (message_browser_message_loaded): Fixed a
memory leak.
(message_browser_new): Added a comment as to why , after
reparenting, we do not unref the mail_display.
(message_browser_destroy): Don't call gtk_widget_destroy() on the
message_list here.
svn path=/trunk/; revision=12531
2001-08-17 Jeffrey Stedfast <fejj@ximian.com>
* mail-format.c (mail_write_authenticity): We want wax-seal.png
instead, since I added the png files to cvs and renamed it to
wax-seal.png.
svn path=/trunk/; revision=12180
2001-08-03 Jeffrey Stedfast <fejj@ximian.com>
* mail-account-gui.c (build_auth_menu): Try to restore the choice
the user had chosen before hitting the "Check Supported Types"
button.
* mail-format.c (write_headers): Removed a no-longer-needed
g_warning.
svn path=/trunk/; revision=11625
2001-07-30 Jeffrey Stedfast <fejj@ximian.com>
* mail-format.c (decode_pgp): When writing out a CamelException to
the HTML stream, be sure to translate it first.
(handle_message_external_body): Convert to UTF8 here too - I know
this function is basically a dead end right now but eventually we
will want to do something. I mostly did this because param values
are UTF8 encoded so we should avoid mixing and matching UTF with
non UTF8.
(format_mime_part): Avoid writing non-UTF8 to the HTML stream.
* mail-tools.c (mail_tool_make_message_attachment): Convert
translated strings to UTF8 here too.
(mail_tool_forward_message): Here too.
2001-07-23 Zbigniew Chyla <cyba@gnome.pl>
* mail-format.c (attachment_header, write_address, decode_pgp,
mail_write_authenticity):
Convert translated strings to UTF8 before calling mail_html_write.
I modified the patch slightly and cleaned up bits of code around
it as well. For example, we probably want to avoid having HTML
tags in the strings to be translated. -- fejj
svn path=/trunk/; revision=11490
2001-07-26 Jeffrey Stedfast <fejj@ximian.com>
* mail-format.c (write_headers): Respect Gtk theme colors for the
fonts and calculate a new table gbcolor based on gtk theme
preferences.
* mail-config.glade: Label the enabled field.
svn path=/trunk/; revision=11431
2001-07-24 Jeffrey Stedfast <fejj@ximian.com>
* mail-format.c (handle_text_plain): check_specials if this is an
application/pgp type as well.
svn path=/trunk/; revision=11357
2001-07-20 Jeffrey Stedfast <fejj@ximian.com>
* mail-ops.c (filter_folder_filter): Don't expunge the source
folder if we have a cache.
svn path=/trunk/; revision=11264
2001-07-17 Jeffrey Stedfast <fejj@ximian.com>
* mail-format.c (mail_part_toggle_displayed): Cleaned up a bit.
(handle_multipart_encrypted): Replace the encrypted part with the
decrypted part.
svn path=/trunk/; revision=11166
2001-07-16 Peter Williams <peterw@ximian.com>
* mail-display.c (mail_display_redisplay): Use our own display_style
member instead of the global setting.
(mail_display_init): Initialize display_style.
* mail-display.h: Include "mail-config.h" and add a display_style member.
* mail-format.c (write_headers): Look at the MailDisplay's display_style
instead of using the full_headers data.
* folder-browser.c (folder_browser_set_message_display_style): Set
the MailDisplay's display style as well as the global display
style.
(my_folder_browser_init): Don't save preference changes by default. (This
is only observered wrt. the message display style but should apply to other
items.)
* folder-browser-factory.c (folder_browser_factory_new_control): Set this
FB to save the preferences set in it.
* folder-browser-ui.c (folder_browser_ui_add_message): Read our display's
state instead of the global setting.
svn path=/trunk/; revision=11131
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-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
* 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-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-06-19 Radek Doulik <rodo@ximian.com>
* mail-format.c (write_field_row_begin): add column with
between header name and value
svn path=/trunk/; revision=10286
* mail-format.c (mail_format_mime_message): We can't output
"<html>" and "</html>" here because it gets called recursively to
display message/rfc822 subparts.
* mail-display.c (mail_display_redisplay): Move rodo's html header
changes from mail_format_mime_message to here.
svn path=/trunk/; revision=10252
2001-05-31 Jeffrey Stedfast <fejj@ximian.com>
* mail-format.c (handle_multipart_signed): Removed the code to
check for the validity of an S/MIME part. Stuff works differently
now.
* mail-crypto.c: Rewrote how the S/MIME stuff is going to work.
svn path=/trunk/; revision=10066
2001-05-26 Jeffrey Stedfast <fejj@ximian.com>
* mail-format.c (try_inline_pgp_sig): Fix to work properly.
(handle_multipart_signed): Fixed a bug that caused some
multipart/signed messages to be handled by the multipart_mixed
handler.
svn path=/trunk/; revision=10016
2001-05-24 Jeffrey Stedfast <fejj@ximian.com>
* mail-format.c (try_inline_pgp_sig): Only write the message up to
(but not including) the attached signature block.
svn path=/trunk/; revision=9967
2001-05-17 Jeffrey Stedfast <fejj@ximian.com>
* mail-format.c (mail_write_authenticity): New convenience
function for all signature verification functions to use to
display whether or not the signed part was authentic.
(try_inline_pgp_sig): Use mail_write_authentic().
(handle_multipart_signed): Add code to handle S/MIME
multipart/signed parts and also use mail_write_authenticity().
svn path=/trunk/; revision=9872
* mail-display.c (mail_display_redisplay): Deal with full-header
mode in addition to source mode
* mail-format.c (write_field_row_begin): Add WRITE_NOCOLUMNS flag
to write the header in a single table cell rather than two. Output
the second columns's "<td>" when not in NOCOLUMNS mode. Don't
include the ":" in the passed-in header name.
(write_date, write_address): Update for write_field_row_begin
changes.
(write_text_field): Genericified and updated from write_subject.
(write_headers): Deal with both normal and full-header mode.
svn path=/trunk/; revision=9850
* mail-config.glade: Split "Other" page into three pages, Display,
Composer, and PGP. Add HTML image stuff on the Display page and
default forward style on the Composer page.
* mail-config.c (mail_config_get_default_forward_style,
mail_config_set_default_forward_style): User-specified default
style for forwarding messages.
(config_read, mail_config_write_on_exit): Deal with forward style.
* mail-accounts.c: Handle HTML image display options and default
forward style.
* mail-callbacks.c (forward): New. Forward in the user-selected
default style.
(forward_inline, forward_quoted): Simplify these some. Remove the
fallback to forward attached when forwarding multiple messages: it
should just forward the multiple messages inline or quoted in
those cases. (Which it doesn't yet, but that's a bug.)
* folder-browser.c (context_menu): Remove "Forward inline" and
make "Forward" call forward() rather than forward_attached().
* folder-browser-factory.c: Update command/menu/toolbar/pixmap
gunk for the "MessageForwardAttached" vs "MessageForward" split.
* mail-session.c (mail_session_get_type):
* mail-format.c (format_mime_part):
* mail-account-gui.c (setup_service): Fix warnings.
svn path=/trunk/; revision=9792
* mail-display.c (load_http): callback to use GNOME-VFS to load
http data.
(on_url_requested): Handle http: URLs that refer to either MIME
parts or web data.
(mail_display_redisplay_when_loaded): Moved out of
mail_content_loaded and made more generic.
* mail-format.c (add_url): Handle two different kinds of URLs
(URLs that point to CamelMimeParts and URLs that point to
GByteArrays).
(mail_content_loaded): Use mail_display_redisplay_when_loaded.
(format_mime_part): Renamed from "call_handler_function". Also,
record Content-Location if the part has one. (This is not yet 100%
correct: it doesn't deal with relative URLs correctly.)
(handle_text_html): Use Content-Location URL rather than
Content-ID, when available (will help deal with relative URLs once
GtkHTML supports that better).
(etc): Update for changes.
* mail-config.c (mail_config_get_http_mode,
mail_config_set_http_mode): get/set HTTP image downloading mode.
(config_read, mail_config_write_on_exit): save/load that data.
svn path=/trunk/; revision=9773
2001-05-10 Jon Trowbridge <trow@ximian.com>
* folder-browser.c (folder_browser_config_search): Use the
ESearchingTokenizer to highlight search matches for folder-level
searches. Still mildly broken, but it works for the simple cases.
* mail-display.c (mail_display_new): Use our ESearchingTokenizer
for the mail display GtkHTML widget.
* mail-search.c (dialog_clicked_cb): Use the ESearchingTokenizer to
highlight search matches.
(mail_search_construct): Add a match count to the search dialog.
* e-searching-tokenizer.c
(e_searching_tokenizer_set_search_string): Added. A custom HTML
tokenizer that does highlighting of search strings.
svn path=/trunk/; revision=9754
* message-list.c: #include <camel/camel-file-utils.h>
* mail-ops.c (get_folderinfo_get):
* subscribe-dialog.c (build_tree): Update for
camel_store_get_folder_info prototype change.
* mail-format.c (handle_text_plain_flowed): Improve more on the
fix from the other day: the first level of indentation adds blank
lines, but further levels don't...
svn path=/trunk/; revision=9660
* mail-format.c (handle_text_plain_flowed): Mojo this a bit so
that "\n\n>" gets translated to "<br><blockquote>" rather than
"<br><br><blockquote>", since the transition to blockquote mode
creates a blank line itself. Makes Mozilla-generated flowed
replies look better.
svn path=/trunk/; revision=9627
* mail-format.c (handle_text_plain_flowed): Use <font color=...>
to mark citations rather than italicizing them, which has never
looked very nice. Now this is more consistent with the non-flowed
case.
svn path=/trunk/; revision=9581
2001-04-23 Jon Trowbridge <trow@ximian.com>
* e-html-utils.c (e_text_to_html_full): Removed attempts to use
Radek's evil <DATA> hacks, which were just causing me
(and GtkHTML) grief.
2001-04-23 Jon Trowbridge <trow@ximian.com>
* gui/component/e-address-popup.c: Lots of code has been
simplified here.
(e_address_popup_factory_new_control): Rather than directly pop
our control up in a window (via the e_address_popup_popup
function, which is now gone), just return the widget and let the
caller do the popping. This works better, since it means we don't
have to work around the vagaries of bonobo focus & event handling.
(e_address_popup_set_name): Refresh when both name & email have
been set, rather than checking a stupid counter.
(e_address_popup_set_email): Ditto.
2001-04-23 Jon Trowbridge <trow@ximian.com>
* mail-display.c (html_button_press_event): Check for mailto:
links, and pop up our mail address menu when we find one.
(make_popup_window): The main piece of code (ignoring a zillion
little callbacks) to pop up our windows with reasonable semantics
for having them close automatically.
(mail_text_write): Enable converting addresses to mailto links
in message bodies.
* mail-format.c (write_address): Simplify code, removing Radek's
<DATA> hacks. Write out addresses as mailto: links.
svn path=/trunk/; revision=9534
2001-04-14 Jeffrey Stedfast <fejj@ximian.com>
* mail-crypto.c (mail_crypto_pgp_mime_part_verify): Only use
non-NULL contexts.
(mail_crypto_pgp_mime_part_encrypt): Same.
(mail_crypto_pgp_mime_part_decrypt): And here too.
* mail-format.c (try_inline_pgp_sig): Make sure to not use the
context if it is NULL.
(decode_pgp): Same.
* folder-browser-factory.c: Added stuff for filtering/vfoldering
on mailinglists.
svn path=/trunk/; revision=9315
2001-04-12 Jeffrey Stedfast <fejj@ximian.com>
* mail-crypto.c (mail_crypto_pgp_mime_part_sign): Use the
CamelCipherHash enum.
(mail_crypto_pgp_mime_part_verify): Use a CamelCipherValidity.
* mail-format.c (try_inline_pgp_sig): Updated to use
CamelCipherValidity instead of CamelPgpValidity.
(handle_multipart_signed): Same.
svn path=/trunk/; revision=9284
2001-04-12 Jeffrey Stedfast <fejj@ximian.com>
* mail-accounts.c (pgp_path_changed): Updated for changes to PGP
code.
* component-factory.c (owner_set_cb): Don't init openpgp anymore
because we don't need it.
* mail-crypto.c: Simply wrap the camel-pgp-mime functions (also
renamed the functions to be prefixed with mail_crypto).
* mail-format.c (handle_multipart_signed): Update to use
camel_pgp_mime_is_rfc2015_signed() and other camel-pgp-mime
functions.
(handle_multipart_encrypted): Same but for rfc2015_encrypted.
(decode_pgp): Updated to use camel-pgp-context
(try_inline_pgp): Updated to use camel-pgp-context's.
(try_inline_pgp_sig): Same.
svn path=/trunk/; revision=9269
* mail-format.c (handle_text_plain): Only look for special
pseudo-multipart-isms (binhex, uucode, old pgp, etc) if the MIME
type is really text/plain. Otherwise, since there's no handler for
applciation/mac-binhex40, it gets sent to mail-identify.c, which
thinks it's text/plain because it starts with English words, and
so it gets sent back to the text/plain handler, which finds an
embedded binhex part...
svn path=/trunk/; revision=9260
* mail-format.c (call_handler_function): if called with a
multipart that's really a 0-part, spew an error and display as
source.
svn path=/trunk/; revision=9031