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
2001-03-29 Kjartan Maraas <kmaraas@gnome.org>
* *.*: Cleaned up #includes. Remove unneccesary includes of
<gnome.h>, <gtk/gtk.h>, <bonobo.h> and replaced with more
fine grained headers where needed. Also marked a bunch of
strings for translations and added some missing prototypes.
svn path=/trunk/; revision=9025
* mail-format.c (get_cid): Make fake content-id URLs be guaranteed
unique: the old way (with %p on the CamelMimePart *) would
generate duplicates if memory was freed and re-allocated the right
way.
* mail-display.c (pixbuf_gen_idle, etc): Make the thumbnail cache
global rather than per-MailDisplay, since content-ids ought to be
globally unique. Also, don't leak content-id strings when the
pixbuf generation fails, and remove pixbufs from the cache after 5
minutes.
svn path=/trunk/; revision=8944
2001-03-26 Radek Doulik <rodo@ximian.com>
* mail-format.c (write_address): clear name and email data after
each address
svn path=/trunk/; revision=8936
2001-03-23 Jon Trowbridge <trow@ximian.com>
* gui/widgets/e-minicard-widget.c (e_minicard_widget_set_card):
Added. Call me old-fashioned, but I just prefer to have a real
API rather than doing everything via gtk_object_get/set-type
calls.
(e_minicard_widget_set_arg): Changed to call
e_minicard_widget_set_card.
* backend/ebook/e-book-util.c: Small changes to get rid of
compiler warnings. (Casting out const, removed unused variables,
etc.) Removed some debugging messages.
* gui/component/addressbook-factory.c (main): Added call
to e_address_popup_factory_init.
* gui/component/e-address-popup.c: Added. A popup gadget that is
invoked (as a bonobo control) when an address is left-clicked in
the mailer. The addressbook is queries, and the address is either
displayed as a minicard (if it already exists) or in a "generic
format". A button is provided for editting/adding the contact.
Some of the semantics of this widget are a bit... non-standard,
because of bonobo issues. I can't really seem to replicate
popup-menu behavior because of how bonobo propogates events, etc.
so I've tried to produce something that I think is non-annoying.
YMMV.
2001-03-23 Jon Trowbridge <trow@ximian.com>
* mail-display.c (handle_embedded_address_object): #ifdef away
some code I don't quite want to delete yet.
(html_button_press_event): Remove some of Radek's placeholder
code, replace it with code to create my AddressPopup bonobo
control.
* mail-format.c: Remove some obsolete code that if #ifdef-ed out
a while ago.
* mail-ops.c (send_queue_send): Strip out the X-Evolution-Identity
header when sending.
2001-03-23 Jon Trowbridge <trow@ximian.com>
* camel-filter-driver.c (camel_filter_driver_filter_message):
Don't call camel_mime_message_set_identity. (The call is
commented out, left over from some earlier experimentation that I
want to be able to remember later...)
* camel-mime-message.c (camel_mime_message_set_identity): Added.
A function to set the X-Evolution-Identity header.
svn path=/trunk/; revision=8916
2001-03-22 Radek Doulik <rodo@ximian.com>
* mail-display.c (mail_display_new): connect to button_press_event
and iframe_created events of GtkHTML widget
(html_button_press_event): new signal handler, runs popup on
address fields and on links, later we should add popups for images
and maybe some more? any ideas?
(html_iframe_created): new signal handler, takes care of
connecting to button_press_event of all iframes
: plus bunch of empty methods for popup menu items - to be
implemented
* mail-format.c (write_address): revert back to raw HTML text,
store name and email to Text objects, workaround gtkhtml tables
bug (to be fixed soon ;-)
svn path=/trunk/; revision=8896
* mail-config-druid.c (incoming_check, incoming_type_changed,
transport_check, transport_type_changed):
* mail-account-editor.c (transport_type_changed, source_check):
Use the new URL part macros
* mail-config.c (check_service_check): Use provider authtype list
if not connecting.
svn path=/trunk/; revision=8873
2001-03-08 Jon Trowbridge <trow@ximian.com>
* gui/component/select-names/e-select-names-popup.c
(quick_add_cb): Switched to use e_contact_quick_add_free_form.
Removed debugging code, hopefully without introducing any bugs
in the process.
* gui/component/select-names/e-select-names-text-model.c
(e_select_names_text_model_insert_length): Fix bug with commas
inside of name/address combos. As long as the comma is inside of
quotes, it will be treated as part of the name rather than as a
break between addresses.
* gui/component/select-names/e-select-names-completion.c
(match_nickname): Use e_card_name_to_string for nickname match
strings.
(match_email): Use e_card_name_to_string for email match strings.
(e_select_names_completion_begin): Strip quotes out of query text,
so we don't produce malformed sexps.
Added William Blake quote easter egg.
* contact-editor/e-contact-quick-add.c: Further attempts to fix...
mostly unsuccessful.
(e_contact_quick_add_free_form): Added. Takes a single string
and tries to parse out (using some simple, loose rules) the
name and e-mail -- then calls e_contact_quick_add. An attempt to
get the computer to automatically Do The Right Thing.
* backend/ebook/e-book.c: Fixed some broken indentation. Yes, I'm
anal.
* gui/component/GNOME_Evolution_Addressbook.oafinfo: Added oaf_server
info for EAddressWidget.
* gui/component/GNOME_Evolution_Addressbook.oaf.in: Added oaf_server
info for EAddressWidget.
* gui/component/addressbook-factory.c (main): Add call to
e_address_widget_factory_init.
* gui/component/e-address-widget.h:
* gui/component/e-address-widget.c: Added. A little widget (and a
Bonobo control, BTW) for displaying addresses, with a left-click
menu. Used to display addresses in the mail viewer (as embedded
GtkHTML objects, replacing the text previously used). Still quite
incomplete.
2001-03-08 Jon Trowbridge <trow@ximian.com>
* mail-format.c (write_field_row_begin): Added. Table row HTML
broken out into its own function.
(write_subject): Added. Emits the proper HTML for the subject
line.
(write_field_to_stream): #ifdef-ed out of existence.
(write_address): Take a CamelInternetAddress and spit out an
<object> tag with the appropriate <param>s.
* mail-display.c (on_object_requested): Check for an "address"
object. If found, call...
(handle_embedded_address_object): ...this function, which creates
an AddressWidget bonobo control and passes in the necessary info.
I never really realized just quite how much GtkHTML kicks ass
until I figured out how to make this work.
svn path=/trunk/; revision=8607
2001-02-22 Jeffrey Stedfast <fejj@ximian.com>
* openpgp-utils.c (openpgp_verify): Fixed memory corruption bug.
* mail-format.c (try_inline_pgp_sig): Check to make sure the
validity isn't NULL.
(handle_multipart_signed): Check for NULL validities.
2001-02-21 Jeffrey Stedfast <fejj@ximian.com>
* mail-tools.c (mail_tool_uri_to_folder): Protect against NULL
uri's.
* mail-vtrash.c: Do mutex locking on the global hash table - this
should clear up some segfaults ;-)
* mail-config-druid.c (druid_finish): Set the 'enabled' member of
the source to TRUE if the URL exists else set to FALSE.
(incoming_type_changed): If the provider chosen is "None" then
gray-out the auto-check widgets and the check-settings, otherwise
sensitize them.
* mail-account-editor.c (construct): Added a few more settings.
(apply_changes): Save the new settings.
* mail-config.c (service_copy): Updated.
(config_read): Read in whether or not the account is enabled.
(mail_config_write): Save if the account is enabled or not.
svn path=/trunk/; revision=8349
2001-02-21 Jeffrey Stedfast <fejj@ximian.com>
* mail-crypto.c (pgp_mime_part_verify): Changed to use
PgpValidity.
* openpgp-utils.c (openpgp_verify): Return a PgpValidity and set
the description as UTF-8 for later use in mail-format.c when
writing to GtkHTML.
* mail-format.c (try_inline_pgp_sig): Updated to use the new
PgpValidity code.
(handle_multipart_signed): Updated.
svn path=/trunk/; revision=8320
2001-02-08 Jeffrey Stedfast <fejj@ximian.com>
* mail-callbacks.c (mail_generate_reply): New location for this
function.
* mail-format.c: Removed mail_generate_reply as it's ONLY ever
used in mail-callbacks.c.
* mail-ops.c (fetch_mail_fetch): Reworked some keep-mail-on-server
logic so that we ALWAYS look for a cached array of UIDs that we
may have downloaded previously so as not to download them again
even if we will be deleting them off the server. This fixes bug
#1344.
svn path=/trunk/; revision=8137
* mail-format.c (mail_content_loaded): Check if a message part's
content is available, and if it's not, queue a thread that will
load it and then queue an idle-handler redisplay of the message.
(call_handler_function): Call mail_content_loaded() on the part
and don't try to display it if it's currently offline.
(get_data_wrapper_text): Simplify a bit
* mail-display.c (mail_display_queue_redisplay): rename and make
non-static.
(mail_display_redisplay): Use a "new and improved" way of
preserving the GtkHTML scroll location. ("new and improved" is
code for "gross and hackish", but there should be a real interface
for this eventually.)
(on_url_requested): Use mail_content_loaded() and don't write out
offline cid: URLs
* mail-identify.c (mail_identify_mime_part): Use
mail_content_loaded and don't try to identify the data if it's
offline.
svn path=/trunk/; revision=7813
2001-01-22 Jeffrey Stedfast <fejj@ximian.com>
* mail-format.c (handle_multipart_signed): Just wrote a temp way
of reporting success/fail of PGP/MIME signature verification
status.
svn path=/trunk/; revision=7735
2001-01-22 Jeffrey Stedfast <fejj@ximian.com>
* mail-format.c (handle_multipart_signed): Fixed to display
subparts (other than the signature part) and started to write a
pretty way to show if the signature verified or not.
svn path=/trunk/; revision=7724
2001-01-22 Jeffrey Stedfast <fejj@ximian.com>
* mail-crypto.c (mail_crypto_is_rfc2015_signed): Helps if I spell
stuff correctly so it can pass the tests ;-)
svn path=/trunk/; revision=7697
2001-01-19 Jeffrey Stedfast <fejj@ximian.com>
* mail-format.c (mail_generate_reply): If the name is empty
string, use the address.
svn path=/trunk/; revision=7663
2001-01-09 Jeffrey Stedfast <fejj@helixcode.com>
* mail-format.c: Updated.
(decode_pgp): Get rid of #ifdef PGP_PROGRAM's and handle
appropriately.
(handle_multipart_signed): Same.
(handle_multipart_encrypted): Same.
* Makefile.am: Added openpgp-utils.[c,h] to the build.
* openpgp-utils.c: New source file containing all of the pgp
interface code.
* mail-crypto.c: Removed all of the openpgp funtions as they are
being moved to a new file.
(mail_crypto_is_rfc2015_signed): Renamed.
(mail_crypto_is_rfc2015_encrypted): Renamed.
svn path=/trunk/; revision=7320