2002-04-05 Jeffrey Stedfast <fejj@ximian.com>
* camel-http-stream.c (http_get_headers): Don't get the statuscode
here anymore.
(http_method_invoke): Use a User-Agent header and do basic proxy
authentication.
(stream_read): Handle redirects.
(camel_http_stream_set_user_agent): New function to allow client
to set the User-Agent string.
(camel_http_stream_set_proxy): New function for setting the proxy
server.
(camel_http_stream_set_proxy_authrealm): New function for setting
the proxy auth realm.
(camel_http_stream_set_proxy_authpass): New function for setting
the proxy auth password.
svn path=/trunk/; revision=16367
2002-04-05 Jeffrey Stedfast <fejj@ximian.com>
Fixes bug #3980.
* e-msg-composer-hdrs.c (e_msg_composer_hdrs_set_cc): If a Cc list
is set to something non-empty, make sure to show the Cc widgets.
(e_msg_composer_hdrs_set_bcc): Same but for Bcc.
(e_msg_composer_hdrs_set_reply_to): And here.
svn path=/trunk/; revision=16366
2002-04-04 Not Zed <NotZed@Ximian.com>
* providers/imap/camel-imap-search.c (imap_body_contains): If
(body-contains) is not passed any arguments, return empty/false.
Fixes a crash exposed by #15001.
svn path=/trunk/; revision=16362
2002-04-04 Jeffrey Stedfast <fejj@ximian.com>
* camel-folder-summary.c (message_info_new): Simplified since we
can now decode in-reply-to without getting extra cruft. Get rid of
the FIXME about having to check scan->id because of the
possibility of it being NULL, this can no longer happen.
* camel-mime-utils.c (header_references_inreplyto_decode): New
function to decode in-reply-to headers. Only grabs the first thing
that looks like a message-id and then returns.
(header_references_decode): Loop calling
header_references_decode_single (a new internal function).
svn path=/trunk/; revision=16361
* netscape-importer.c (netscape_import_accounts): Remove refs to
drafts_folder_name and sent_folder_name in the corba account
structure.
svn path=/trunk/; revision=16356
* filter-folder.c: Remove the #ifndef SHELL part. Use an
EvolutionFolderSelectorButton. Remove FilterFolder->name since
it's no longer needed.
* filter-context.c (filter_rename_uri): Update for removal of
FilterFolder->name.
* filter-element.c (filter_element_copy_value): Likewise.
* vfolder-rule.c (source_add): Update for
evolution_shell_client_user_select_folder API change.
svn path=/trunk/; revision=16354
* mail-account-gui.c (mail_account_gui_new): Make the drafts and
sent folder buttons be EvolutionFolderSelectorButtons. Remove the
code to deal with drafts_folder_name and sent_folder_name, since
they were only used to construct the button and aren't needed now.
(mail_account_gui_save): Remove drafts/sent name references.
(mail_account_gui_destroy): Likewise
(folder_selected): Handle the "selected" signal on the folder
selector button by updating the URI in the MailAccountGui.
(mail_account_gui_folder_selector_button_new): Glade custom widget
constructor.
* mail-callbacks.c (transfer_msg): Update for
evolution_shell_client_user_select_folder change.
* message-browser.c (transfer_msg): Likewise. (Sigh. Why is this
cut+pasted?)
* mail-config.glade: Make the drafts/sent folder buttons custom
widgets.
* mail-config.c (account_copy): Remove drafts/sent folder name
handling.
(account_destroy): Likewise.
(config_read): Likewise.
(mail_config_write): Likewise.
* Mail.idl (MailConfig:Account): remove drafts_folder_name and
sent_folder_name.
svn path=/trunk/; revision=16353
* evolution-folder-selector-button.c: New widget for a button that
displays a folder selection in a standard form, and when clicked
lets the user select a new folder.
* Evolution-Shell.idl (FolderSelectionListener:notifySelected):
Make this take an Evolution:Folder instead of a pair of uris.
(Shell:getIconByType): New method to get the icon for a type from
the folder type registry.
* Evolution-common.idl (Folder): add "evolutionUri" to the folder
structure.
* Evolution-Storage.idl (StorageRegistry:getFolderByUri): get an
Evolution:Folder for a given uri.
* evolution-shell-client.c
(evolution_shell_client_user_select_folder): Update this to
reflect the IDL change: return a GNOME_Evolution_Folder instead of
a pair of URIs. Make sure it always sets *@folder_return to %NULL
if it fails (even if it's a g_return_if_fail).
(evolution_shell_client_get_storage_registry_interface): New.
(evolution_shell_client_get_pixbuf_for_type): New. Uses
Shell_getIconByType, but caches results.
* e-shell.c (folder_selection_dialog_folder_selected_cb): Update
for API change. (Return a GNOME_Evolution_Folder.)
(impl_Shell_getIconByType): Implement.
* e-corba-storage-registry.c
(impl_StorageRegistry_getFolderByUri): Implement.
* evolution-storage.c (evolution_storage_new_folder): Add a
(dummy) evolutionUri to the folder.
* Makefile.am (libeshell_la_SOURCES): add
evolution-folder-selector-button.c
(eshellinclude_HEADERS): and .h
svn path=/trunk/; revision=16352
2002-04-04 JP Rosevear <jpr@ximian.com>
* configure.in: Fix static linking on solaris which doesn't have a
static libresolv.
svn path=/trunk/; revision=16347
* Makefile.am (wombat_LDADD): Put DB3_LDADD and LDAP_LIBS on the
top so the PAS backend uses the right version of DB3 and always
links to LDAP.
svn path=/trunk/; revision=16343
* evolution-shell-component.c: Change type of parent_class to
BonoboXObjectClass.
* e-shell.c (pop_up_activation_error_dialog): New helper function
to pop up a dialog if one of the components couldn't be activated,
getting the description for the error from
e_get_activation_failure_msg().
(setup_components): Use this function in case of activation error.
(set_owner_on_components): Likewise, when the component gets
restarted. Also get a @splash arg so we can set the parent for
this dialog correctly.
* e-component-registry.c (register_component): New arg @ev.
(e_component_registry_register_component): Likewise.
(e_component_registry_restart_component): Likewise. Also, remove
some bogus code that was #if'ed out.
* evolution-shell-component-client.c
(evolution_shell_component_client_new): New arg @ev.
* evolution-shell-component-utils.c
(e_get_activation_failure_msg): New.
svn path=/trunk/; revision=16342
* C/Makefile.am: Remove bogus EXTRA_DIST with sgmldocs.make.
Problem pointed out by Richard Boulton <richard@tartarus.org>.
svn path=/trunk/; revision=16340
* gui/component/addressbook.c: Remove AddressbookConfig,
ContactNew, ContactNewList EPixmap entries.
* gui/component/addressbook-factory.c (main): Print out a
debugging message just before the main loop starts, for debugging
purposes.
svn path=/trunk/; revision=16339
2002-04-04 Not Zed <NotZed@Ximian.com>
* camel-remote-store.c (remote_connect): Reset the keepalive
timeout to 10 minutes rather than the 30 seconds I was using for
testing.
svn path=/trunk/; revision=16336
2002-04-03 Jeffrey Stedfast <fejj@ximian.com>
* message-tag-followup.c (construct): Set the window title/icon
here instead.
* message-tag-editor.c (message_tag_editor_init): Don't set the
title or window icon here, this is a generic class.
* mail-format.c (handle_multipart_signed): Replace
get_url_for_icon with the new mail_display_get_url_for_icon
function.
(handle_multipart_digest): Here too.
(get_cid): Use mail_display_add_url instead.
(get_location): Same.
(handle_text_enriched): Here too.
(handle_multipart_signed): And here.
* message-tag-followup.c (message_tag_followup_i18n_name): Use the
U_() macro, not the _() macro as it is what we really want.
* mail-ops.c (mail_send_message): Don't cast the message into a
CamelMedium before sending anymore.
* mail-callbacks.c (expunge_folder): Set the followup argument to
NULL here.
(done_message_selected): Get the followup value here and pass it
to the mail-display here.
(do_mail_fetch_and_print): Again with the NULL followup here.
* folder-browser.c (folder_browser_set_message_preview): Update to
pass in NULL as the followup since we are setting the message to
NULL here.
(done_message_selected): Get and set the appropriate followup
value here.
(do_message_selected): Update to pass in NULL as the followup
since we are setting the message to NULL here.
* mail-display.c (mail_display_set_message): Now takes a followup
tag value.
(mail_display_init): Set md->followup to NULL.
(mail_display_destroy): Free md->followup.
(mail_display_add_url): New: replaces the static add_url function
originally in mail-format.c
(mail_display_get_url_for_icon): New: replaces get_url_for_icon
which was originally in mail-format.c
svn path=/trunk/; revision=16334
* mail-account-gui.c: Changes to allow combined store/transport
providers (like exchange and nntp). You can only select the
transport if the account is also using that provider for the
source.
(source_type_changed): If changing away from a combined
store/transport type, disable that provider on the transport page.
If change to a combined store/transport type, enable and select
that provider on the transport page.
(mail_account_gui_setup): Do some additional bookkeeping here to
make the above stuff work.
(transport_type_changed): If the provider is a combined
store/transport type, pretend it doesn't need any additional URL
configuration.
(mail_account_gui_transport_complete): if the transport provider
is also a store provider, then as long as it matches the source
for the account, it's considered complete.
(mail_account_gui_save): If the selected transport is a combined
store/transport provider, use the source page's information to
fill in the transport url.
* mail-local.c (mail_local_provider_init): Don't set up
service_cache.
svn path=/trunk/; revision=16331
* camel-provider.h (CamelProvider): make service_cache be an array
of CAMEL_NUM_PROVIDER_TYPES elements so you can have a single
provider offer both stores and transports. (Eg, Exchange, NNTP)
* providers/imap/camel-imap-provider.c: Don't initialize
service_cache here. (The session code can do it itself since the
url_hash and url_equal functions are stored as part of the
provider.)
* providers/nntp/camel-nntp-provider.c: Likewise.
* providers/local/camel-local-provider.c: Likewise.
* providers/pop3/camel-pop3-provider.c: Likewise.
* providers/sendmail/camel-sendmail-provider.c: Likewise.
* providers/smtp/camel-smtp-provider.c: Likewise.
* camel-session.c (register_provider): Initialize the provider's
service cache(s) here.
(camel_session_class_init): Don't initialize.
vee_provider.service_cache here.
(camel_session_destroy_provider): Update to destroy multiple
service_caches.
(service_cache_remove, get_service): Tweak these a bit to deal
with multiple service_caches.
svn path=/trunk/; revision=16330
2002-04-03 Not Zed <NotZed@Ximian.com>
* providers/local/camel-local-folder.c
(camel_local_folder_construct): Turn indexing back on, fingers
crossed ...
* camel-block-file.c (sync_nolock): #!@$@$#@~#$
DF@#$!Q@$#!@$#!#%. Well it helps if we're iterating a list to
iterate the node pointer ...
* camel-text-index.c (text_index_sync): Sync the key tables
explcitly.
(text_index_sync): Debug out frag info.
(camel_text_index_dump): Added a (rather large, but optional) raw
dumping mode for debugging purposes.
* camel-partition-table.c (camel_key_table_finalise): Sync root
block when done.
svn path=/trunk/; revision=16329
2002-04-02 Jeffrey Stedfast <fejj@ximian.com>
* mail-callbacks.c (do_edit_messages): Pass the UID of the message
being edited to the save-draft signal handler.
(composer_save_draft_cb): Pass the old draft uid to our async
append_message function and let the append_message callback worry
about deleting the old draft message on success.
(save_draft_done): Delete the old draft message if we successfully
appended the new draft message.
svn path=/trunk/; revision=16328
2002-04-02 Jeffrey Stedfast <fejj@ximian.com>
* camel-tcp-stream-ssl.c (set_errno): Handle a ton more nspr i/o
errno's.
(stream_connect): Act as if we are doing a non-blocking
connect. This is to try and work around bug #15120 where users get
an EINPROGRESS error. Maybe importing a PRFileDesc into SSL mode
automagically makes it non-blocking? I dunno.
2002-04-01 Jeffrey Stedfast <fejj@ximian.com>
* camel-folder-summary.c (message_info_new): Updated the
construction of the references to match JWZ's updated algorithm
initialization (ie, append any In-Reply-To reference onto any
References header and never take more than a single message-id
from the In-Reply-To header since anything after the first will
probably just be email addresses). Fixes bug #1336.
svn path=/trunk/; revision=16327
2002-04-02 Christopher James Lahey <clahey@ximian.com>
* e-storage-set-view.c (e_storage_set_view_set_show_checkboxes):
Set the show_checkboxes field here instead of the show_folders
field.
svn path=/trunk/; revision=16326
2002-04-02 Christopher James Lahey <clahey@ximian.com>
* e-storage-set-view.c (etree_value_at): If folder is NULL, return
the correct type of data.
svn path=/trunk/; revision=16325
2002-04-02 Christopher James Lahey <clahey@ximian.com>
* Makefile.am (etspec_DATA): Added
e-storage-set-view-checkboxes.etstate and
e-storage-set-view-no-checkboxes.etstate here.
* e-storage-set-view-checkboxes.etstate,
e-storage-set-view-no-checkboxes.etstate: The two possible states
of the EStorageSetView.
* e-storage-set-view.c, e-storage-set-view.h
(e_storage_set_view_set_show_checkboxes,
e_storage_set_view_get_show_checkboxes): Added this functionality.
Added a model column to the underlying table for the checkbox
data.
* e-storage-set-view.etspec: Added a view column for the
checkboxes.
svn path=/trunk/; revision=16324
2002-04-03 Not Zed <NotZed@Ximian.com>
* camel-text-index.c (text_index_sync): Sync the key tables
explcitly.
* camel-partition-table.c (camel_key_table_finalise): Sync root
block when done.
(camel_key_table_sync): New function, sync key table (root) explicitly.
2002-04-02 Not Zed <NotZed@Ximian.com>
* camel-block-file.c (camel_block_file_free_block): Mark root
block dirty when we change it (this function isn't used yet
anyway).
* camel-text-index.c (text_index_add_name_to_word): Touch the root
block when we modify the counts. Also, abort processing on any
errors.
(text_index_sync): Fix typo in comments. Sync the block file
inside the lock.
(text_index_compress_nosync): Lock the old index while we're
compressing.
(text_index_compress_nosync): Remove the bogus while() at the end
of the while() loops! Also plug a memleak - records weren't
freed.
(text_index_rename): Lock around rename op.
(text_index_add_name): More typos.
(text_index_sync): Touch root when changing it.
(text_index_add_name): "
(text_index_delete_name): "
(camel_text_index_new): Touch root if we change it.
(text_index_cursor_reset): Make sure we NULL pointers after we
free them (nothing uses this yet).
* camel-partition-table.c (hash_key): Remove some debug
accidentally left in.
(camel_partition_table_add): When linking in the next block list,
set the right previous pointer.
(camel_key_table_add): Simplify the 'left' calculation (it was
already ok though).
(camel_key_table_next): Initialise returns before processing.
Broaden the lock slightly, and simplify validity calculations.
svn path=/trunk/; revision=16323
2002-04-02 Not Zed <NotZed@Ximian.com>
* providers/imap/camel-imap-store.c (imap_keepalive): Put back in
the exception setup stuff i disabled for debugging.
svn path=/trunk/; revision=16320
2002-04-02 Not Zed <NotZed@Ximian.com>
* providers/local/camel-local-folder.c
(camel_local_folder_construct): Temporarily disable indexing.
2002-03-28 Not Zed <NotZed@Ximian.com>
* camel-partition-table.c (camel_key_table_lookup): Change range
checking assert to a warning.
* providers/pop3/camel-pop3-folder.c (pop3_finalize): Make sure we
flush out all outstanding commands before finalising, stops being
finalised while outsanding requests are processed by the store
finalise.
(pop3_get_message): Instead of pre-fetching all messages, just
pre-fetch a maxiumum number at any one time, stops us running out
of cache fd's.
* providers/nntp/camel-nntp-folder.c (nntp_folder_init/finalise):
Setup priv data + locks, & free.
* providers/imap/camel-imap-folder.c (imap_rescan): Batch all
message_chagned events into a single folder_changed event
(otherwise updates can be >>> expensive, like >5 hours for 80K
messages changing!). Alternately it could use folder
freeze/unfreeze perhaps.
2002-03-27 Not Zed <NotZed@Ximian.com>
* providers/imap/camel-imap-store.c (imap_keepalive): Pass an
exception to called code so it behaves properly since it uses the
passed exception to check returns.
svn path=/trunk/; revision=16319
2002-04-01 Jeffrey Stedfast <fejj@ximian.com>
* folder-browser-ui.c: Removed an unused pixmap from
Tools/Settings to avoid a big nasty bonobo warning.
svn path=/trunk/; revision=16318
2002-04-01 Jeffrey Stedfast <fejj@ximian.com>
* rule-editor.c (rule_edit): Set 're' as the parent window rather
than as the parent widget.
(add_editor_clicked): Only unref the editor if it is non-NULL.
svn path=/trunk/; revision=16317
2002-04-01 Jeffrey Stedfast <fejj@ximian.com>
* mail-composer-prefs.c (mail_composer_prefs_construct):
Re-Implemented the signature editor stuff (mostly just copy/paste
from Radeks original code).
* mail-signature-editor.c (mail_signature_editor): Use the right
oafiid for the html editor control.
svn path=/trunk/; revision=16316