2004-07-09 Not Zed <NotZed@Ximian.com>
* em-folder-browser.c (emfb_folder_expunge): only call expunge if
the folder is set.
(emfb_enable_map[]): only enable expunge menu item if we have a
valid folder set.
** See bug #60900.
* em-format-html.c: convert the text_inline_parts hash to be keyed
off the partid.
(efh_free_inline_parts): -> efh_free_cache and fix to do it.
* em-format.c (emf_free_cache): make the inline table cache other
info too based on partid, this frees the structure.
(emf_clone_inlines): copy all of the cache data.
(em_format_is_inline): use the new data structure to determine
state.
(em_format_set_inline): same for setting.
(emf_multipart_signed): cache/lookup the cached part.
(emf_insert_cache): helper to add a cache entry.
(emf_multipart_encrypted): cache decrypted part.
(emf_application_xpkcs7mime): same.
2004-07-08 Not Zed <NotZed@Ximian.com>
** See bug #60900 (related only).
* em-format-html-display.c (efhd_attachment_show): let set_inline
do the redraw itself if required. kill some dead code.
* em-format.c (em_format_set_inline): trigger a redraw here like
the other em_format_set methods, if the state changed.
* em-format.c (emf_format_clone): free inline table keys & setup
string hash table.
* em-format-quote.c (emfq_format_attachment):
* em-format-html-display.c (efhd_format_attachment):
* em-format-html.c (efh_format_attachment): is_inline api changes.
* em-format-html-display.c (efhd_attachment_show): set_inline api
changes.
* em-format.c (em_format_is_inline): make this use the partid
rather than the part address as a key, which may change.
(emf_init): make the inline talbe a string hashtable.
(emf_finalise): free inline keys.
(emf_clone_inlines): copy the key string.
svn path=/trunk/; revision=26614
2004-05-24 Not Zed <NotZed@Ximian.com>
* em-folder-view.c (emfv_enable_menus): remove some debug.
* em-format-html.c (efh_format_header): output commas between
newsgroups, and also append_printf.
svn path=/trunk/; revision=26060
2004-05-19 Not Zed <NotZed@Ximian.com>
* em-inline-filter.c (emif_add_part): if we end up with an
application/octet-stream part, pre-snoop it so we set the right
mime type to start with. Fixes#58554.
* em-format.c (emf_snoop_part): removed, now in em-utils.
* em-utils.c (em_utils_snoop_type): rah rah, snoop a mime part's
type.
* em-format-html.c (efh_text_plain): Revert jeff's fix for #56290.
Ugh, we already have all the citation info in local data. Removed
the need for gconf too.
svn path=/trunk/; revision=25974
2004-05-19 Not Zed <NotZed@Ximian.com>
* em-format-html.c (efh_format_secure): make this match the efhd
stuff.
* em-format-html-display.c: removed stock_signature-nokey since it
doesn't exist in gnome-icon-theme.
(efhd_xpkcs7mime_button): if there is no signing, but encryption,
use its icon. if there's no encryption too, use a broken icon
(?).
svn path=/trunk/; revision=25973
2004-05-18 Cantona Su <paradisetux@hotmail.com>
* em-format-html.c: Added header "X-Newsreader" for handle Outlook
Express as Mailer.
svn path=/trunk/; revision=25965
2004-05-14 Jeffrey Stedfast <fejj@novell.com>
* em-format-html.c (efh_format_secure): Same. Also changed the
"Valid signature, cannot verify sender" string to "Valid signature
but cannot verify sender" as I think it reads nicer.
* em-format-html-display.c (efhd_format_secure): Since signature
status is a tri-state, use 3 different colours too (yellow for
valid sig but unknown sender).
svn path=/trunk/; revision=25906
2004-05-05 Not Zed <NotZed@Ximian.com>
** See bug #57720.
* em-folder-browser.c (emfb_create_view_menus): removed some stuff
done in create_view_instance in the superclass.
* em-folder-view.c (emfv_create_view_instance): moved here from
em-folder-browser, setup the view instance for the folder.
(emfv_set_folder): if the folder is set, create the view instance.
* em-folder-browser.c: moved the galview instance and menu
pointers to EMFolderView, since they're basically meta-data on the
messagelist @ to fix issues.
* em-folder-view.c (em_folder_view_open_selected): copy over the
threaded list value when the message browser is brought up.
** some clean up
* evolution-mail.schemas.in.in: removed xmailer_mask stuff.
* em-migrate.c (mail_display_map[]): Removed xmailer_mask stuff.
* em-folder-view.c (emfv_setting_notify): removed xmailer_mask stuff.
* em-format-html.c (em_format_html_set_xmailer_mask): removed.
This isn't used anymore.
** Fixes the double-draw on separate mail view.
* message-list.c (on_cursor_activated_cmd): noop if the cursor and
uid match for all cases (clearing uid).
(on_selection_changed_cmd): noop if the cursor and new selection
hasn't changed & fix a memleak.
svn path=/trunk/; revision=25806
2004-04-26 Radek Doulik <rodo@ximian.com>
* em-format-html.c (efh_format_timeout): set gtk_html_begin's
flags to avoid scroll to top of the message and
reloading+flickering of images
* em-html-stream.c: added GtkHTMLBeginFlags flags field
(em_html_stream_set_flags): new helper function to set new flags
field
(emhs_sync_write): use gtk_html_begin_full with new flags field
(em_html_stream_new): zero flags field
svn path=/trunk/; revision=25616
2004-04-23 Not Zed <NotZed@Ximian.com>
* em-format-html.c (em_format_html_load_http): fix the check to
see if we've already loaded the images. #57450.
svn path=/trunk/; revision=25594
2004-04-19 Jeffrey Stedfast <fejj@ximian.com>
* em-composer-prefs.h: Removed variables that got re-added with
the icon-theme patch somehow.
* em-account-prefs.c: Don't bother keeping global references to
the enable_pixbuf anymore, since it's unnecessary.
svn path=/trunk/; revision=25523
2004-04-13 Not Zed <NotZed@Ximian.com>
* em-format-html.c (efh_format_headers): use %% for %%.
* em-folder-view.c (emfv_init, emfv_finalise, emfv_activate):
revert dans' creatable items handler patch, moved to
mail-component instead (which deals with the actual menu's).
* mail-component.c (impl_createControls): setup a user creatable
items handler on the view widget.
(view_control_activate_cb): activate the user creatable items
handler on the view widget.
* em-folder-view.c (emfv_init): add a comment about jeff's last
fix.
* em-utils.c (forward_non_attached): Set attachments from
forwardee before we set the body, otherwise images wont resolve
properly. Related to #56566.
svn path=/trunk/; revision=25428
2004-04-08 Not Zed <NotZed@Ximian.com>
* em-format-html.c (efh_format_headers): add the monkey button if
we're from evolution. See #52977.
(emfh_gethttp): cast away a warning.
svn path=/trunk/; revision=25372
2004-04-02 Not Zed <NotZed@Ximian.com>
** See bug #56338.
* em-format-html.c (emfh_gethttp): fix the fugly "load http if"
that doesn't work to be a fugly "load http if" that does work.
(efh_format_timeout): dont set load_http_now here, its only an
override now.
svn path=/trunk/; revision=25296
2004-03-31 Jeffrey Stedfast <fejj@ximian.com>
* em-format-html.c (efh_text_plain): Only do citation colouring if
the user has specified to do so and use the user's specified
colour when appropriate. Fixes bug #56290.
svn path=/trunk/; revision=25269
2004-03-31 Not Zed <NotZed@Ximian.com>
* *.[ch]: Cleaned up header inclusions and added plenty of forward
declarations. Sped up complete re-compilation by upto 20%.
** See bug #55950.
* em-utils.c (em_utils_in_addressbook): utility for checking if an
email address is in the addressbook. I can't tell if it works
'cause it crashes eds.
* em-format-html.c (emfh_gethttp): handle addressbook checking.
2004-03-30 Not Zed <NotZed@Ximian.com>
* mail-config.h: clean up the headers and use some forward decl's
instead.
* em-format-html.c (em_format_html_set_load_http): change state to
an int 'style' instead.
* em-folder-view.c (emfv_setting_notify): set the format load http
option to the config value directly.
** See bug #56147.
* message-list.c (clear_info): set the node data to NULL when we
unref its data.
(ml_get_save_id): use a different test for the root node, and
return NULL if we don't have any data on the node (because we're
cleaing it).
** See bug #54962.
* em-folder-tree.c (emft_popup_new_folder_response): put back the
old hack to open the vfolder editor if you try to create a folder
under vfolders.
** See bug #55940.
* mail-autofilter.c (mail_filter_rename_uri): map the uri to an
email uri before passing to filter code.
(mail_filter_delete_uri): same here.
svn path=/trunk/; revision=25261
2004-03-23 Jeffrey Stedfast <fejj@ximian.com>
* em-format-html.c (emfh_gethttp): Use sizeof() to decide how big
buffer is so that in the future, if we change the length of
bufefr, things will Just Work (tm).
svn path=/trunk/; revision=25166
2004-03-23 Radek Doulik <rodo@ximian.com>
* em-format-html-display.c (efhd_format_attachment): use
EM_FORMAT_HTML_VPAD
* em-format-html.h (EM_FORMAT_HTML_VPAD): added new define for
vertical padding
* em-format-html.c (efh_format_message): change padding table so
that it works OK with fixed gtkhtml
svn path=/trunk/; revision=25156
2004-03-22 Not Zed <NotZed@Ximian.com>
* em-format.c:
* em-mailer-prefs.c: Add Newsgroups to the default header list.
* em-format-html.c (efh_format_header): handle the newsgroups
header, output news: url's. For bug #??? i can't recall, i closed
it already!
svn path=/trunk/; revision=25141
2004-03-17 Not Zed <NotZed@Ximian.com>
* em-format-html.c (efh_message_deliverystatus): format as plain
text too.
* em-format.c (emf_message_deliverystatus): format delivery
status messages as plain text, rather than as messages. since
they wont be CamelMimeMessages. Maybe they should be silently
hidden.
svn path=/trunk/; revision=25098
2004-03-11 Jeffrey Stedfast <fejj@ximian.com>
* em-format-html.c (efh_format_header): Fixed a bug where txt
wasn't being properly initialised in all cases for Date
headers. Also fixed the x-evolution-mailer code to simply use the
ehader->value that was passed in.
(efh_format_headers): Fixed to handle the special
X-Evolution-Mailer header.
svn path=/trunk/; revision=25028
2004-03-11 Not Zed <NotZed@Ximian.com>
* em-format-html.c (efh_format_header): pass the raw header in
instead of name and value.
(efh_format_headers): if we have specific headers to show, iterate
over all headers and print out all matching ones, so duplicate
headers are properly displayed. Related to #55298.
* em-folder-selector.c (em_folder_selector_construct): dont set
this to be modal. otherwise you can't click on error popups. duh.
2004-03-08 Not Zed <NotZed@Ximian.com>
* em-folder-selection-button.c
(em_folder_selection_button_clicked): don't let the user select
virtual/vtrash folders or non-selectable folders.
* mail-component.c (impl_createControls): disable selection of
non-select rows.
* em-folder-selector.c (em_folder_selector_create_new): exclude
folders with noinferiors set.
* em-folder-tree.c (folder_tree_new): add folder tree arg, hook
onto the selection funciton for the tree selection.
(emft_select_func): selection override function. allow certain
things to be excluded.
(em_folder_tree_set_excluded): api to set what is excluded from
the selectability.
(emft_tree_row_activated): call emft_select_func check to see if
this row is excluded before emitting an activated signal.
* em-folder-tree-model.c (em_folder_tree_model_set_folder_info):
save folder info->flags in the tree store.
* mail-folder-cache.c (create_folders): use tail recursion.
(get_folders): tail recurse.
* (*): Fixed for api changes in camel.
svn path=/trunk/; revision=25020
2004-03-10 Jeffrey Stedfast <fejj@ximian.com>
Fix for bug #55298.
* em-format-html.c (efh_format_header): Now takes a default txt
argument (header value). For address/date headers, if this isn't
set, default back to the old behaviour of looking it up.
(efh_format_headers): If we are iterating thru the camel raw
headers, always pas the header value as the txt argument,
otherwise always pass NULL.
svn path=/trunk/; revision=25015
2004-03-05 Jeffrey Stedfast <fejj@ximian.com>
* em-format-html-display.c (em_format_html_display_search): Don't
set our parent window as the efhd, ehfd isn't even a widget.
Fixes bug #54030
* em-format-html-display.c (efhd_search_response): Reset the
searching tokeniser on Cancel.
* e-searching-tokenizer.c (e_searching_tokenizer_reset): New
function to reset a search tokeniser.
svn path=/trunk/; revision=24977
2004-02-06 Jeffrey Stedfast <fejj@ximian.com>
* em-format-html.c (efh_format_headers): Make private (only
EMFormatHTMLQuote used it and that class is no longer in use).
(efh_format_message): Updated for above change.
* em-format-quote.c (emfq_format_message): Always write a \n after
the credits line.
svn path=/trunk/; revision=24661
2004-02-06 Not Zed <NotZed@Ximian.com>
** See bug #53258.
* em-format-html-display.c (efhd_find_handler): force any bonobo
handler types to always be inline, even attachments.
* em-format.c (em_format_is_inline): use handler flags for special
cases, removing all hard-coded types.
* em-format.h (EMFormatHandler): add a flags field, so far a flag
to set default inline viewing of the content.
2004-02-06 Not Zed <NotZed@Ximian.com>
* em-folder-properties.c: include string.h to kill warning.
** See bug #53627.
* em-folder-view.c (emfv_popup_mark_junk): changed to work like
delete does, jumping to the next message if required, and marking
things immediately, then queuing up the junk marking job if
required.
* mail-ops.c (mail_mark_junk): ugh, this stuff totally can't go
accessing messagelist from another thread!!!! Changed so this
code only does the junk reporting, not setting flags. UGH! It
should be doing this implictly on the folder when you set the
flags, or at least when you sync the folder!!! Changed ot use the
queued thread.
* message-list.c (find_next_undeleted): changed to find
next-unhidden, i.e. junk as well as deleted, if we're in
hide-deleted mode.
(build_tree): always call find_next_undeleted if we have a cursor.
(build_flat): same.
svn path=/trunk/; revision=24644
2004-01-30 Not Zed <NotZed@Ximian.com>
** See bug #53558 (plus other fixes/cleanups)
* em-format.c (emf_format_secure): default implementation, handle
output of inner part, but dont output any sign/encrypt info.
(emf_multipart_signed, emf_multipart_encrypted): replaced with
implementations from em-format-html.c, which now call
em_format_format_secure to output guts.
(emf_class_init): hook-up virtual method format_secure.
* em-format.[ch]: add a virtual method for outputing secured
parts. Moved all validity stuff from em-format-html.[ch] to here.
* mail-component.c (impl_createControls): set the session
interactive too.
* em-format-html-display.c: make smime stuff dependent on
HAVE_NSS.
(efhd_multipart_signed, efhd_application_xpkcs7mime): removed, now
handled by root class.
(efhd_output_secure): renamed to efhd_format_secure, and use
EMFormat::format_secure to kick off.
(efhd_class_init): setup format_secure virtual method.
* em-format-html.c (efh_multipart_encrypted): We need to handle
this here so we can properly keep track of the ciphervalidity
stuff. Also do it directly using the context, not
multipartencrypted part.
(efh_multipart_signed): with unsupported signature format, format
as multipart/mixed, not as an attachment.
(efh_multipart_signed): make the smime stuff optional.
(efh_multipart_signed, efh_multipart_encrypted): Moved to
em-format.c.
(efh_application_xpkcs7mime): moved to em-format.c
(efh_output_secure): renamed to efh_format_secure, linked into
virtual method. call parent class to do the validation foo then
output the info if needed.
(efh_format_message): fixed access to validity stuff to parent
object.
(efh_class_init): hook up format_secure virtual method.
(*): removed some now-unused headers.
svn path=/trunk/; revision=24531
2004-01-29 Not Zed <NotZed@Ximian.com>
* em-format-html-display.c (efhd_attachment_button): check the
snooped type for the icon/etc.
(efhd_format_attachment): save the snooped type in the
attach_puri.
* em-format-html.c (efh_text_plain): If we had a snooped type, use
that as the base type, rather than octet-stream, which will cause
an attachment in attachment loop.
* em-format.c (em_format_part_as): save the current snooped mime
type in a stack if we had any.
svn path=/trunk/; revision=24515
2004-01-21 Not Zed <NotZed@Ximian.com>
** See bug #53159.
* em-format.c (emf_message_rfc822): removed incorrect comment,
this is not a fallback.
* em-format-html.c (efh_text_plain): check the content-type of the
containee object, not the holder.
** See bug #52979.
* em-format-html.c: take out text/x-patch and put in text/* for a
text/plain fallback handler instead.
* em-format-html-display.c (efhd_find_handler): allow the bonobo
handlers to override the builtin ones.
svn path=/trunk/; revision=24341
2004-01-19 Not Zed <NotZed@Ximian.com>
* em-folder-view.c (emfv_on_url_cb): properly decode the mailto
url rather than treating it as a simple string.
* em-format-html.c (efh_format_address): if we have a name part,
add it to the mailto part. As per rfc2368. So it isn't lost for
clicking/etc.
svn path=/trunk/; revision=24298
2004-01-16 Jeffrey Stedfast <fejj@ximian.com>
* em-format-html.c (efh_format_address): Dump a struct
_camel_header_address to an html string.
(efh_format_header): Use efh_format_address() and set the
EM_FORMAT_HTML_HEADER_HTML bit on the flags so we don't re-convert
our html string into html.
svn path=/trunk/; revision=24280
2004-01-15 Not Zed <NotZed@Ximian.com>
** See bug #52891.
* em-format-html.c (em_format_html_get_type): protect against http
cache not being able to be created.
svn path=/trunk/; revision=24236
2004-01-15 Not Zed <NotZed@Ximian.com>
** See bugs #51609 and #43515.
* em-format-html-display.c (efhd_format_prefix): output flag for
followup details above the message.
(efhd_write_image): added to output icon data.
* em-format-html.c (efh_format_do): call format_prefix before
outputting the message in normal display mode.
* em-format.c (emf_format_prefix): method called to format data
before the first message output. Default impl == noop.
svn path=/trunk/; revision=24230
2004-01-14 Not Zed <NotZed@Ximian.com>
** See bug 51660.
* em-format-html-quote.c (efhq_multipart_related): setup part_id
appropriately.
* em-format-html-display.c (efhd_output_secure): use part_id in
classid, and add .signed to part_id for subpart.
(efhd_bonobo_unknown): use part_id in classid.
(efhd_format_attachment): use part_id in classid's.
* em-format-html.c (efh_multipart_related)
(emfh_multipart_related_check): setup part_id for each subpart.
(efh_output_secure): as above, and use the part_id for the
classid.
(em_format_html_add_pobject): use part_id for a generated classid.
(efh_text_plain): setup pseudo-parts into part_id.
* em-format.c (emf_format_clone): setup the part_id base, folder +
uid.
(emf_finalise): free the part_id gstring.
(emf_init): allocate the part_id gstring.
(em_format_add_puri): build the cid from the part_id rather than
an arbitrary number, so it is more persistent. Also save the
part_id in the puri for multipart/related use.
(emf_multipart_mixed, emf_multipart_alternative)
(emf_multipart_appledouble, emf_multipart_encrypted)
(emf_multipart_related, emf_multipart_signed): Set the part_id for
each subpart.
(emf_clear_puri_node): free part_id.
2004-01-13 Not Zed <NotZed@Ximian.com>
** See bug 51660.
* em-format-html-print.c (em_format_html_print_print): dont take
message, get the message from the source formatter.
* em-format.c (emf_format_clone): Added folder and uid parameters,
changed camelmedium to a mimemessage.
* em-format-html-display.c (efhd_attachment_button): check the
icon image cache and if the image is there use it.
* em-icon-stream.c (em_icon_stream_get_image): api to lookup
finished images in cache.
(em_icon_stream_new): add a cache key arg.
(emis_sync_close): store the image in the cache once its
completed.
svn path=/trunk/; revision=24210
2004-01-12 Not Zed <NotZed@Ximian.com>
** See bug 52737.
* em-format-html.c (efh_text_plain): treat text/* as inline
content from the made-up multipart.
svn path=/trunk/; revision=24159
2004-01-09 Not Zed <NotZed@Ximian.com>
* em-format.c (em_format_format_text): keep the windows charset
filter around until we're done since if we set it up we reference
its memory. Causes warnings and breaks message display.
** See bug #52637.
* em-inline-filter.c (em_inline_filter_new): added a content-type
paramter for the base content type.
(em_inline_filter_finalize): free base content type.
(emif_types[]): Added 'plain' parameter, indicates type needs
plain parameters set on content type.
(emif_add_part): inherit the full base type if it is set, for
plain parts.
* em-format-html.c (efh_text_plain): pass the part's content-type
to the inline filter.
svn path=/trunk/; revision=24121
2004-01-07 Jeffrey Stedfast <fejj@ximian.com>
* em-format-html.c (efh_format_address): Removed.
(efh_format_header): Handle address formatting a little
differently to address dwmw's complaints. Also now handles other
headers such as Resent-* and Sender as well.
svn path=/trunk/; revision=24090
2003-12-12 Not Zed <NotZed@Ximian.com>
** See bug #52108.
* em-format.c (em_format_is_attachment): also recognise
application/pkcs7-mime for mailers who like to make up their own
standards.
* em-format-html.c (type_builtin_table[]): *
em-format-html-display.c (type_builtin_table[]): make recognise
application/pkcs7-mime too.
svn path=/trunk/; revision=23931
2003-12-11 Grahame Bowland <grahame@angrygoats.net>
* em-format-html.c (efh_format_header): display
x-evolution-mailer pseudo header irrespective of
xmailer_mask. This is now handled by a header
configuration dialog.
* mail-config.glade: add tab to mail configuration
dialog to allow custom headers to be specified for
display.
* em-mailer-prefs.h: modify struct _EMMailerPrefs to
add widgets for custom header tab. Add defines for custom
header flags. Add struct EMMailerCustomHeader to describe
custom headers, and add function
em_mailer_custom_headers_from_xml to allow XML from gconf
key to be parsed into this structure.
* em-folder-view.c (emfv_setting_notify): catch changes to
custom header gconf key and update mail view to correspond
* em-mailer-prefs.c (em_mailer_prefs_apply): save custom
headers to gconf
(header_list_enabled_toggled): toggle clicked toggle column
(add_header): add header to custom header list if valid
(remove_header): remove selected custom header
(is_valid_header): return true if passed header is valid,
otherwise false
(entry_header_changed): call add_header_update_sensitivity
(em_mailer_prefs_construct): initialise header selection tab.
Load gconf data for header selection dialog.
(em_mailer_custom_header_to_xml): load a header structure
from XML document structure
(em_mailer_custom_header_from_xml): load a header
structure from a string containing valid XML. if any failure,
the header.name is set to NULL.
(header_list_row_selected): call
remove_header_update_sensitivity
(remove_header_update_sensitivity): set the sensitivity of
the remove button to FALSE if the list is empty or nothing
is selected. Otherwise, set it to TRUE.
(add_header_update_sensitivity): set the sensitivity of the
the add button to FALSE if the entry box is empty, contains
a duplicate header, or contains an invalid header. Otherwise,
set it to TRUE.
* evolution-mail.schemas.in.in: add mail/display/headers
svn path=/trunk/; revision=23924
2003-11-25 Not Zed <NotZed@Ximian.com>
* em-folder-view.c (em_folder_view_print): set session on print
formatter for signatures to work.
* em-message-browser.c (emmb_destroy): kill warning.
* em-format-html.c (efh_output_secure): same as
efhd_output_secure, output the security bar, but for
printing/plain html.
(efh_application_xpkcs7mime): use output_secure.
(em_format_html_multipart_signed_sign): removed, output_secure
does what this did.
* em-format-html-display.c (smime_sign_table,
smime_encrypt_table): Added a short description for the mail
display.
(efhd_xpkcs7mime_button): only good/bad signature at this point,
if only encrypted, then display 'bad' icon.
(efhd_output_secure): output the security bar/button and handle
multi-level enveloping properly.
(efhd_application_xpkcs7mime): just call output_secure to do
the security bar.
(efhd_multipart_signed): same.
(efhd_signature_button): removed, no longer used.
(efhd_signature_check): removed, no longer used.
svn path=/trunk/; revision=23483
2003-11-24 Radek Doulik <rodo@ximian.com>
* em-format-html.c (efh_text_plain): use new colors
(efh_text_html): ditto
* em-format-html-display.c (efhd_gtkhtml_realise): set new colors
according to style
* em-format-html.c (efh_init): init new colors
* em-format-html.h: added frame and content colors
svn path=/trunk/; revision=23477