2002-08-05 Jeffrey Stedfast <fejj@ximian.com>
* mail-mt.c (mail_msg_check_error): If we are not in interactive
mode, don't display error dialogs.
* component-factory.c (interactive_cb): Updated to use the new
function mail_session_set_interactive().
(owner_unset_cb): Same here.
* mail-session.c (mail_session_set_interactive): Renamed from
mail_session_enable_interaction().
(mail_session_get_interactive): New function to get the
interactive state.
svn path=/trunk/; revision=17702
2002-08-05 Jeffrey Stedfast <fejj@ximian.com>
* component-factory.c (user_create_new_item_cb): Updated to call
post_to_url if the id is "post".
* mail-callbacks.c (post_to_url): New function so that we don't
need a FolderBrowser to post a new message.
(post_message): Call post_to_url since they shared so much code.
svn path=/trunk/; revision=17698
2002-08-02 Jeffrey Stedfast <fejj@ximian.com>
* mail-display.c (mail_display_render): Updated to use the new
Follow-Up tags. Instead of storing a string containing the
follow-up tag value, we now have to store the CamelMessageInfo.
(mail_display_destroy): Unref the folder and the message-info.
* folder-browser.c (followup_tag_complete): No longer needed.
(on_right_clicked): Use the individual follow-up tags to decide
whether or not to enable something.
* message-list.c (ml_tree_value_at): Update to use the new
Follow-Up tags.
* mail-callbacks.c (flag_for_followup): Update to use the new
MessageTagEditor API.
(tag_editor_ok): Update this too.
(flag_followup_completed): Updated this too.
(flag_followup_clear): Set all the follow-up tag values to "".
svn path=/trunk/; revision=17691
2002-07-25 Jeffrey Stedfast <fejj@ximian.com>
* mail-callbacks.c (composer_send_cb): Make sure that the url
isn't an empty string and also make sure to free it when we're
done with it. Also check that we got the folder - if it is NULL,
then just abort.
svn path=/trunk/; revision=17593
2002-07-24 Jeffrey Stedfast <fejj@ximian.com>
* mail-config.c (mail_config_folder_to_safe_url): Use
mail_tools_folder_to_url().
* mail-tools.c (mail_tools_folder_to_url): New convenience
function to take a CamelFolder and return the URL associated with
it.
* mail-callbacks.c (composer_get_message): Pass in a 'post'
argument so we know whether or not we can ignore a NULL set of
recipients.
(composer_send_cb): Default send->send to TRUE unless we are in
Post-To mode, in which case set send->send to FALSE (since we'll
have nothing to send). Also, if we are in Post-To mode, append to
the folder the user wants to post to rather than appending to
Outbox.
(composer_send_queued_cb): Only queue a send thread if send->send
is TRUE (ie, the composer was not in Post mode - if it was in Post
mode, then the message post has already been saved in the correct
folder so there is nothing to do).
(post_message): New function to create an empty composer widget in
Post mode.
(post_reply): New function that calls mail_reply with the new mode
of REPLY_POST.
(mail_generate_reply): If the mode is REPLY_POST, create a Post
composer widget otherwise create a normal composer widget.
svn path=/trunk/; revision=17592
2002-07-24 Peter Williams <peterw@ximian.com>
* mail-callbacks.c (do_mail_fetch_and_print): Check for whether
current_message is NULL as well as preview_shown (if we tried to
load the message and failed, as may happen in offline mode.)
(done_message_selected): Only print if we actually got the message.
* folder-browser.c (folder_browser_query_changed): New function,
use this on the query_changed signal. Don't run the search if
they only changed the dropdown.
svn path=/trunk/; revision=17580
2002-07-19 Not Zed <NotZed@Ximian.com>
* mail-callbacks.c: Try including gtkhtml/gtkhtml.h instead. Test
really is a 4 letter word obviously.
svn path=/trunk/; revision=17515
2002-07-15 Jeffrey Stedfast <fejj@ximian.com>
* mail-callbacks.c (composer_send_cb): Pass 'info' into
mail_append_mail(), seems I created the info but forgot to pass it
in.
(composer_send_queued_cb): If the message is successfully queued,
we destroy the composer, otherwise we unref it. Don't ever destroy
and then unref it.
svn path=/trunk/; revision=17468
2002-07-10 Not Zed <NotZed@Ximian.com>
** fixes for #10781
* mail-callbacks.c (filter_edit): Add back a cancel button. We
dont need to do anything special to 'undo' here, as the rules are
loaded every time they're used.
* mail-vfolder.c (vfolder_editor_clicked): If ok wans't clicked,
revert the ruleset.
(vfolder_editor_destroy): Fake a button of -1 if we get destroyed
with no click.
(context_rule_removed): Unref the folder after we delete it. If
we're the last ref to the folder, unrefing it means it no longer
exist,s which means no delte processing occurs ...
svn path=/trunk/; revision=17449
2002-07-08 Jeffrey Stedfast <fejj@ximian.com>
* mail-callbacks.c (redirect): Don't ever use the mail-display's
current_message, this can cause problems.
* mail-ops.c (get_message_free): Unref the gotten message. All of
the callers seemed to think that they didn't have to unref the
message.
* mail-display.c (mail_display_set_message): Now refs the message.
(mail_display_destroy): Unref the current_message if we still have
ownership of it.
svn path=/trunk/; revision=17387
2002-07-05 Jeffrey Stedfast <fejj@ximian.com>
* mail-callbacks.c (composer_send_queued_cb): Only queue a send
operation if we are in Online mode, otherwise don't bother wasting
our time.
svn path=/trunk/; revision=17381
2002-07-05 Jeffrey Stedfast <fejj@ximian.com>
* main.c (main): No longer need to pass a postpone_cb function
into the composer factory_init.
* mail-send-recv.c (get_receive_type): If the provider is a
transport, return SEND_SEND.
* mail-config.c (mail_config_get_default_transport): If the
default account doesn't have a transport, find the first account
that does.
* mail-callbacks.c (append_mail_cleanup): Don't bother freeing the
appended_uid here.
(composer_send_internal): New helper function that does all the
similar work that composer_send_cb and composer_postpone_cb did.
(composer_send_cb): Append the message to Outbox and in the async
callback, queue a message send operation.
(composer_postpone_cb): Removed.
(composer_send_queued_cb): The new async callback for
composer_send_cb(). If the append is successful, queue a message
send operation and destroy the composer otherwise re-show the
composer.
(save_draft_done): g_strdup the appended uid.
(compose_msg): Don't connect to the postpone signal anymore as it
no longer exists.
(send_to_url): Same.
(mail_reply): Here too.
(forward_get_composer): And here.
(redirect_get_composer): Again here.
(do_edit_messages): And finally here.
* mail-ops.c (append_mail_free): Free the appended uid.
svn path=/trunk/; revision=17379
2002-06-28 Jeffrey Stedfast <fejj@ximian.com>
Fixes bug #27055.
* mail-accounts.c (account_add_finished): Unref the main accounts widget.
(account_add_clicked): Ref the main accounts widget.
(account_edit_finished): Unref the main accounts widget.
(account_edit_clicked): Ref the main accounts widget.
svn path=/trunk/; revision=17323
2002-06-17 Not Zed <NotZed@Ximian.com>
* message-list.c (regen_list_regen): If we dont support searching,
dont try to.
svn path=/trunk/; revision=17208
2002-06-10 Jeffrey Stedfast <fejj@ximian.com>
* mail-callbacks.c (mail_generate_reply): If we are doing
Reply-to-All, do not include any of the user's email accounts in
the To: field. If, after this, the To: field is empty - then
promote the first recipient in the Cc: list to the To: field.
svn path=/trunk/; revision=17158
2002-06-03 Not Zed <NotZed@Ximian.com>
* mail-callbacks.c (composer_get_message): Changed to check
everything from the composer before the message is requested.
Otherwise we could end up signing/encrypting it twice, etc.
* mail-format.c (handle_multipart_signed): removed some dead wood.
svn path=/trunk/; revision=17094
2002-05-24 Jeffrey Stedfast <fejj@ximian.com>
* mail-callbacks.c (mail_generate_reply): If we can't find the
mailing list address in the recipients list, just Reply-to-All
instead.
svn path=/trunk/; revision=16998
2002-05-23 Jeffrey Stedfast <fejj@ximian.com>
* folder-browser-window.c (folder_browser_window_new): If the
folder-browser has a parent, reparent it.
* message-browser.[c,h]: Revert back to the old broken
implementation since that's what users want. They're not happy
unless it's broken.
svn path=/trunk/; revision=16989
2002-05-20 Jeffrey Stedfast <fejj@ximian.com>
* mail-display.c (mail_display_render): Fixed the "Overdue:"
string to not contain any HTML tags.
svn path=/trunk/; revision=16950
* mail-callbacks.c (composer_sent_cb): Always unref the composer
[even when we are destroying it], otherwise we leak it and we get
the nasty bug where you can't quit.
svn path=/trunk/; revision=16941
* (various places): Update for camel_folder_append_message /
camel_folder_transfer_messages_to API change.
* mail-ops.c (mail_append_mail): Pass the appended_uid to the
callback.
* mail-callbacks.c (composer_save_draft_cb, save_draft_done,
do_edit_messages): Take advantage of the append_message change to
keep track of the UID of the saved draft so that we can delete the
old copy of the draft each time we save a new one. Remove the
FIXME suggesting we should do that, since we're doing it now. :)
svn path=/trunk/; revision=16766
2002-05-10 Jeffrey Stedfast <fejj@ximian.com>
* mail-callbacks.c (do_view_message): Update for the new
message-browser api.
* message-browser.c (message_browser_new): A brand new
implementation that just shows the message, none of that next/prev
crap that always caused problems anyway.
svn path=/trunk/; revision=16759
2002-05-06 Jeffrey Stedfast <fejj@ximian.com>
* mail-ops.c (filter_folder_free): Flush the filter log to make
Tuomas happy :-)
* mail-session.c (mail_session_flush_filter_log): New convenience
function to flush the session's filter log file.
svn path=/trunk/; revision=16696
2002-05-06 Jeffrey Stedfast <fejj@ximian.com>
* mail-callbacks.c (mail_reply): Set the Seen flag as well since
it's safe to assume that if the user has replied to an email
message that he has read it. Not always true, but usually ;-)
svn path=/trunk/; revision=16693
* mail-callbacks.c (delete_msg): If the folder's permanent_flags
don't include CAMEL_MESSAGE_DELETED, don't do anything. (In
particular, don't move the cursor.)
svn path=/trunk/; revision=16645
2002-04-26 Jeffrey Stedfast <fejj@ximian.com>
* mail-callbacks.c (next_unread_msg): Do away with the
goto-next-folder stuff, it's very annoying.
svn path=/trunk/; revision=16607
2002-04-18 Radek Doulik <rodo@ximian.com>
* mail-callbacks.c (do_mail_print): use default paper name in case
of wrong translation
svn path=/trunk/; revision=16516
2002-04-12 Jeffrey Stedfast <fejj@ximian.com>
* mail-accounts.c (mail_accounts_tab_construct): Setup News
preferences too if it is enabled.
svn path=/trunk/; revision=16451
2002-04-12 Jeffrey Stedfast <fejj@ximian.com>
* mail-account-gui.c (mail_account_gui_new): Set the text of the
reply-to.
(mail_account_gui_save): Get the reply-to text here.
(mail_account_gui_identity_complete): If there is text in the
reply-to widget make sure it's valid.
* mail-config.c (identity_copy): Copy the reply-to.
(config_read): Read in the reply-to for all the accounts.
(mail_config_write): Save the reply-to.
(impl_GNOME_Evolution_MailConfig_addAccount): Get the reply-to.
(identity_destroy): Free the reply-to.
svn path=/trunk/; revision=16446
2002-04-10 Jeffrey Stedfast <fejj@ximian.com>
* mail-callbacks.c (confirm_expunge): Set the 'No' button as the
default.
svn path=/trunk/; revision=16435
* 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
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
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-03-27 Jeffrey Stedfast <fejj@ximian.com>
* mail-callbacks.c (mail_generate_reply): Updated to respect the
new mail-config options for default reply style that NotZed had
started to implement before there was a gui.
svn path=/trunk/; revision=16266
2002-03-26 Jeffrey Stedfast <fejj@ximian.com>
Sync with yet-another-mail-config branch.
* mail-composer-prefs.c: Updated to get the right widgets and
whatnot. Also updated to tell the evolution-config-control that
stuff has changed.
* mail-preferences.c: Updated to get the right widgets and
whatnot. Also updated to tell the evolution-config-control that
stuff has changed.
* mail-accounts.etspec: New file needed by mail-accounts.c
svn path=/trunk/; revision=16257
2002-03-26 Not Zed <NotZed@Ximian.com>
* mail-callbacks.c (addrbook_sender): Changed to get the address
from the messageinfo of the current selected message rather than
from the current_message.
(requeue_mail_reply): Only re-queue if we got a message, could
potentially cause an infinite loop trying to get a message it
can't.
(reply_to_sender, reply_to_list, reply_to_all): Always pass NULL
as the msg to mail_replay, this forces mail_reply to always load
the message anew. Fixes FIXME's and popup behaviour. Basically
this and stuff below fixes#8542. Its probably not the nicest
way, but it works.
(mark_as_important): Use the flags properly, we can set all flags
to any combination of on or off as we want, so we just need to
call set_flags once, thats why its set flags and not set_option.
(toggle_flags): Fixed the logic here also, so we dont have to call
set_message_flags more than once, and also implement a true toggle
for any number of simultaneous flags (whilst simplifying code).
* mail-vfolder.c (vfolder_gui_add_from_mlist): Removed the 'msg'
parameter, its not used, fixed callers.
* folder-browser.c (on_right_click): Lookup the mlist from
messageinfo, and change the 'no selected' logic slightly, fixes
most of #8542.
(filter_data_free): Free filter data struct.
(vfolder_type_got_message): Actually create vfolder once we have
the message we need to use for it. Code could probably be changed
to use messageinfo instead.
(vfolder_type_uid): Lookup a message based on uid, and use that to
create a vfolder based on type.
(vfolder_subject_uid, vfolder_sender_uid, vfolder_receipient_uid,
vfolder_mlist_uid): Callbacks for the popup menu, used to create
rules based on the uid rather than the message, which it loads as
required.
(filter_type_got_message, filter_*_uid): Similar to vfolder
stuff above.
(filter_menu[]): Changed callbacks to popup specific ones, not
folderbrowser specific ones used by bonobo.
(on_right_click): Initialise callback data for the filter submenu
so it can look up messages for callback implementation.
svn path=/trunk/; revision=16253
2002-03-15 Jeffrey Stedfast <fejj@ximian.com>
* mail-callbacks.c (colour_msg): New callback to set a colour on a
message.
* folder-browser.c (on_right_click): Setup our popup icons and
stuff. Also add a submenu for Labels.
* mail-display.c (pixmap_press): Sync up with the new EPopupMenu
API. Note: This code can probably now be fixed to use per-item
closures - yay!
* mail-accounts.c (construct): Connect to the label GtkEntry's and
GnomeColorPickers and also to the Restore Defaults button.
* mail-config.c (mail_config_get_label_name): New function to get
a label's name.
(mail_config_set_label_name): New function to set the label name.
(mail_config_get_label_color): New function to get the label
color.
(mail_config_set_label_color): New function to set the label
color.
(config_read): Read in the config options for the labels and their
colors.
(mail_config_write_on_exit): Save the label options.
svn path=/trunk/; revision=16186
2002-03-14 Jeffrey Stedfast <fejj@ximian.com>
* mail-callbacks.c (next_thread): Implemented.
* message-list.c (message_list_select_next_thread): New function
to select the next thread.
svn path=/trunk/; revision=16165