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
2001-10-30 <NotZed@Ximian.com>
* mail-mt.c: Added exception strings to some of the op logging.
* mail-format.c (elide_quotes): Remove, uh, what was this for, its
not used anywhere? Also loops the instant it had a ", good one
trow! :)
(write_address): Remove name_arg/email_arg, these aren't used
anywhere.
svn path=/trunk/; revision=14482
2001-10-30 <NotZed@Ximian.com>
* mail-mt.c (mail_msg_received): If we have a cancellation setup,
destroy it immediately, to save fd's.
(mail_msg_cancel): Check cancel != NULL.
(mail_msg_free): Same.
svn path=/trunk/; revision=14470
2001-10-30 <NotZed@Ximian.com>
* folder-info.c: Comment out the Folder: and you've got mail
prints.
* mail-config-druid.c (wizard_next_cb): If we have a next
function, honour if it tells us its going to set the page, and
dont set it, otherwise, set it to the next page, unless we're at
the end of our pages, and let the wizard do it itself.
(wizard_back_cb): Same for going back. Rest of fix for #12127,
see e-shell-startup-wizard for the rest.
(next_func): If we're not on the last page, tell the druid we're
gonna handle the next button, so we can sync properly with it,
needed for above changes.
(back_func): Similarly for going back past page 0.
(wizard_listener_event): We want to set the page to the actual one
asked for not, pagenum-1.
svn path=/trunk/; revision=14449
2001-10-30 <NotZed@Ximian.com>
* mail-local.c (mls_rename_folder): Oops, dont use the url storage
path to offset the folder name we're renaming/opening, etc.
svn path=/trunk/; revision=14431
2001-10-30 <NotZed@Ximian.com>
* subscribe-dialog.c (fe_cancel_op_foreach): Argh!!! Dont free the
async op data here, the async op is still running and will access
it! Just try to cancel it and mark it as cancelled (id == -1)
(fe_done_subscribing): Only remove outselves from the hash table
if we're not cancelled. The handle should always be set here,
since this code runs in the gui thread.
* message-list.c (on_cursor_activated_idle): If nothing
selected/cursor not activated, then select no message.
* mail-folder-cache.c (update_1folder): Make the trash count
optional on EVOLUTION_COUNT_TRASH, becuase some lusers are just
too stupid to understand what its for.
* component-factory.c (storage_xfer_folder): Return slightly
better error codes for copying folders, since its not implemented
yet.
* mail-vfolder.c, mail-local.c, mail-folder-cache.c,
message-list.c component-factory.c, mail-ops.c,
subscribe-dialog.c, mail-session.c: d() out some debug printfs,
w() out some warnings.
* folder-browser-ui.c (folder_browser_ui_add_message): Fix typo,
Resent->Resend.
svn path=/trunk/; revision=14412
2001-10-29 Jeffrey Stedfast <fejj@ximian.com>
* mail-ops.c (transfer_messages_transfer): Don't warn the user if
the source and destination folders are the same.
svn path=/trunk/; revision=14410
* mail-format.c (handle_multipart_signed): add some debug spew re
13839.
* mail-display.c (on_object_requested): here too
svn path=/trunk/; revision=14404
2001-10-29 Christopher James Lahey <clahey@ximian.com>
* e-searching-tokenizer.c (search_info_set_match_size_increase):
Fixed a warning by #if 0ing out this function.
* folder-browser.c, folder-browser.h (on_selection_changed):
Update status bar in an idle call. Fixes Ximian bug #13929.
* mail-folder-cache.c (folder_renamed, store_folder_renamed):
Fixed some warnings here.
svn path=/trunk/; revision=14372
* folder-browser.c (folder_browser_copy): Fix the focus check.
It's not fb->message_list that has focus, it's one of its
children. #13616.
svn path=/trunk/; revision=14370
2001-10-29 <NotZed@Ximian.com>
* mail-folder-cache.c (store_folder_renamed): Sort the folder
updates first, since we dont seem to get them in the right order,
or infact in any tree representation whatsoever when using IMAP
...? get_folder_info bugs?
Unrelated note to self, the subscribe dialogue may interfere with
the folder cache.
svn path=/trunk/; revision=14328
2001-10-29 <NotZed@Ximian.com>
* mail-vfolder.c (rule_changed): Copy the folder's full_name
before trying to use it to rename.
(vfolder_edit_rule): Set 'orig' to be a reference of the original
rule.
(edit_rule_clicked): Dont lookup orig by name, copy it over
instead.
* folder-browser.c (got_folder): oops, emit signal before
unreffing object, incase we got killded during getting folder.
(got_folder): Reset get_id.
(folder_browser_new): Set get_id of the get_folder task.
(folder_browser_init): Init get_id.
(folder_browser_destroy): IF we have outstanding 'get folder' op,
cancel it.
svn path=/trunk/; revision=14323
2001-10-28 Jeffrey Stedfast <fejj@ximian.com>
* mail-callbacks.c (transfer_msg_done): Move the message-list
cursor to the next message.
(transfer_msg): If we are moving messages, then pass
transfer_msg_done() to mail_transfer_messages() so when it
finishes it can move the cursor to the next undeleted message.
svn path=/trunk/; revision=14313
2001-10-28 Jeffrey Stedfast <fejj@ximian.com>
* mail-format.c (try_inline_pgp): Check that the special PGP lines
begin and end with \n so as to avoid matching against quoted PGP
lines.
svn path=/trunk/; revision=14310
2001-10-28 <NotZed@Ximian.com>
* mail-local.c (mlf_rename): add the folder name to the path when
passing down to the subordinate folder.
svn path=/trunk/; revision=14295
2001-10-28 <NotZed@Ximian.com>
* folder-browser-ui.c (fbui_sensitize_timeout): Remove uic, kill
dumb warning.
* mail-autofilter.c (mail_filter_rename_uri): Implement function
for filters to keep track of uri's being renamed.
(mail_filter_delete_uri): Similarly for deleting uri's. Note that
these functions are just noops though.
(real_flush_updates): Also rename and delete uri's from filters.
(mls_delete_folder): Unref the store when done.
(mls_rename_folder): Fix implementation, shell already created
destination folder, so we can't just rename :(
(xfer_folder): Manually call rename code, since the shell will do
a remove/add later on, AND there's no way we can determine the new
path from the crock of an api we have to work with.
svn path=/trunk/; revision=14291
2001-10-28 <NotZed@Ximian.com>
* mail-vfolder.c (mail_vfolder_rename_uri): Implemented.
(mail_vfolder_rename_uri): We do want to check renamed uri's from
vstores.
(mail_vfolder_delete_uri): Same.
(store_folder_renamed): Fix the folder hash at the same time.
* mail-folder-cache.c (real_flush_updates): Pass the rename event
to vfolder rename uri.
* mail-local.c (mail_local_folder_reconfigure): Change the store
path to be same as parent + mbox to be full path.
(mls_delete_folder): Change store path to be parent path, and mbox
to be full path.
(mail_local_folder_reconfigure): Fix a leak of tmpname.
* component-factory.c (xfer_folder): Only do a rename if we have
remove set, cleaned up logic a bit.
(idle_quit): Put the components still active check last last of
all.
(storage_create_folder): IF we have a fragment, use that as part
part for parent.
svn path=/trunk/; revision=14276
2001-10-27 Jeffrey Stedfast <fejj@ximian.com>
* mail-format.c (mail_format_get_data_wrapper_text): Allow the
user to shoot him/herself in the foot when overriding message
charsets. Permanantly fixes bug #921.
svn path=/trunk/; revision=14240
2001-10-26 <NotZed@Ximian.com>
* mail-local.c (mlf_set_folder): Changed to open the source store
from '/', so we can do renames across directories. Of course,
this doesn't quite work with different filesystems, but we'll
assume this isn't a problem we're going to have.
(mail_local_folder_get_type): Setup parent_class.
(mlf_rename): Implement folder rename call, rename internal data.
Is this a security issue? Well, not really, no more than anything
else.
* mail-folder-cache.c (mail_note_store): Listen to rename event.
(store_folder_renamed): Function to handle it, empty.
(mail_note_store_remove): Unhook from rename event.
(mail_note_folder): Hook onto renamed event.
(unset_folder_info): Unhook from renamed event.
(folder_finalised): Lock around update.
(folder_deleted): Lock around update.
(real_flush_updates): If we have a path to remove remove it.
(rename_folders): Scan folderinfo's, if we can find ones renamed,
rename them, otherwise add them.
* component-factory.c (owner_unset_cb): Use a timeout not an idle handler.
(storage_xfer_folder): Implementation of xfer_folder signal
handler, so we can rename imap/vfolders/etc.
svn path=/trunk/; revision=14205
* folder-browser.c (etree_key): Work around something that we
think is a GtkHTML bug, where sometimes the adjustments have
slightly bogus values and scrolling ends up working backwards.
(Ximian 4939)
* mail-display.c (do_signature, do_attachment_header): Set the
icon to be 24x24 here so that (assuming it's not a thumbnail), no
resizes will have to be queued later. (There's still a bug with
the text to the left of the button being drawn twice for some
reason though.)
* mail-callbacks.c (delete_msg): Fix a bug here that makes
deleting multiple messages cause a gratuitous message body fetch.
(Ximian 12355)
svn path=/trunk/; revision=14172
2001-10-25 Jeffrey Stedfast <fejj@ximian.com>
* mail-callbacks.c (providers_config): Set the GdkWindow of the
FolderBrowser, not the GtkWindow...
svn path=/trunk/; revision=14148
2001-10-26 <NotZed@Ximian.com>
* component-factory.c (owner_unset_cb): Use a timeout not an idle handler.
* mail-callbacks.c (providers_config): Only set the parent window.
* mail-accounts.c (mail_edit): Set the parent on the account editor.
svn path=/trunk/; revision=14121
2001-10-25 <NotZed@Ximian.com>
* folder-browser-ui.c (fbui_sensitize_timeout): So apparently the
uicomp can just 'vanish' while we're using it. Joy. Take care of
that case here, fixes#13482.
(fbui_sensitise_item): Check here too just for kicks.
* mail-folder-cache.c (store_finalised): If we can't destroy our
async event, then queue another one to do it.
(store_finalised_finish): And handle it here, until we can, then
free it.
(mail_note_store): Queue an async event to get folderinfo, dont
use mail_get_folderinfo.
(update_folders_get): thread-async event to retrieve the
folderinfo, and build it, then queues gui-async event to update
the gui.
(add_unmatched_info): Taken from mail-ops, adds unmatched if
required.
(add_vtrash_info): From mail-ops, add trash if required.
(update_folders): Thread async event to update gui.
(mail_note_store): Ref the store and storage when created.
(update_1folder): Changed to assume we have info_lock, and store
updates in an updates list.
(setup_folder): Same.
(folder_changed): Changed to call update_1folder directly.
(real_folder_changed): Removed.
(mail_note_folder): Changed to call update_1folder directly.
(real_note_folder): Removed.
(store_folder_subscribed): Call setup_folder directly.
(real_folder_created): Removed.
(real_flush_update): Function that actually does the updates in
the gui thread.
(mail_note_store): Go back to using mail_get_folderinfo.
(update_folders): Fixed upf ro changed api's.
(unset_folder_info): Changed to queue pending updates.
(real_folder_deleted): Removed.
(store_folder_unsubscribed): Do the removal work directly.
(mail_note_store): Dont link to finalised event of store - we now
ref it.
(mail_note_store_remove): If we have any pending updates, clear
them out. Also cancel any pending folderinfo retrieve operations.
(update_folders): Remove our update from the storeinfo list, if it
still exists.
(update_1folder): Make 'sent folder shows all counts' optional via
an environmental variable EVOLUTION_COUNT_SENT for all those
bloody whinging lusers out there.
(mail_note_store_remove): Unref the storage when done.
* mail-mt.c (mail_async_event_emit): If we're in main and have a
gui task, set it to run via an idle function.
(idle_async_event): Wrapper for calling do_async_event from idle
function, and freeing the message when done.
(idle_async_event): Call mail_msg_free not free on the finished
message.
* component-factory.c (mail_remove_storage): Destroy the storage
async.
(store_disconnect): This does the work.
(free_storage): Un-note the store when we remove it, so the store
noting code can unref things properly.
(idle_quit): Return false when done, dont loop.
2001-10-24 <NotZed@Ximian.com>
* component-factory.c (owner_set_cb): Setup an async_event
handler.
(idle_quit): Try to destroy the async_event, or keep dropping out
if it can't (deadlock).
* mail-mt.c (do_async_event): Set the threadid of the thread we're
running in so we know its running/which thread its in.
(mail_async_event_emit): Added new argument 'type' which is the
type of thread to execute against, gui or another one. Fixed all
callers.
(mail_async_event_destroy): Return -1 if this operation will fail
(deadlock possibility). If we're in the thread of the task
we're going to wait for, then return a failure (since we will
deadlock).
(mail_async_event_emit): Chagned to use MailAsyncFunc type as the
function type, which just takes 3 void args, change args to suit.
* mail-folder-cache.c (mail_note_store): Record the pending update
events in a pending list. We should really be able to use an
async event for this, but that doesn't return to the gui loop when
done :-/
(update_folders): Remove from pending update when done.
svn path=/trunk/; revision=14101
2001-10-24 Jeffrey Stedfast <fejj@ximian.com>
* mail-callbacks.c (mail_generate_reply): No longer need to pass a
settext argument.
(do_forward_non_attached): Same.
svn path=/trunk/; revision=14085
2001-10-24 Jeffrey Stedfast <fejj@ximian.com>
* mail-format.c (mail_get_message_body): Fix to not always return
NULL for html parts, doh!.
svn path=/trunk/; revision=14081
2001-10-24 Jon Trowbridge <trow@ximian.com>
* mail-search.c (mail_search_construct): Fixed some weird casting
crack that got in here somehow, removed superfluous box-packing
that was generating a gtk warning.
svn path=/trunk/; revision=13988