2001-07-02 Jeffrey Stedfast <fejj@ximian.com>
* mail-callbacks.c (transfer_msg): Updated for the
mail_transfer_messages API.
* folder-browser.c (message_list_drag_data_recieved): Update for
the mail_transfer_messages API.
(selection_received): Same.
* mail-ops.c (mail_transfer_messages): Renamed from
mail_do_transfer_messages and also added a callback/data arguments
since we need it component_factory::xfer_folder.
* component-factory.c (xfer_folder): Use mail_transfer_messages
instead.
(destination_folder_handle_drop): Update to pass in a NULL
callback arg and a NULL data argument to mail_transfer_messages.
svn path=/trunk/; revision=10710
2001-07-02 Peter Williams <peterw@ximian.com>
* mail-folder-cache.h: New file. Protoypes for the Mail Folder Cache, which
provides a place for all the disparate pieces of the mailer to save bits of
information about a folder. Centralizes the information display code.
* mail-folder-cache.c: New file. Implements the Mail Folder Cache.
* Makefile.am (evolution_mail_SOURCES): Add the mail-folder-cache.{c,h}
* folder-browser-factory.c (fb_get_svi): Copy of that absurdly long-named
function in mail-display.c that gets the GNOME_Evolution_ShellView.
(control_activate): Set the ShellView for the folder cache.
* folder-browser.c (got_folder): Tell the folder browser about this folder.
* mail-callbacks.c (create_folders): Tell the folder cache about the new
folders.
* mail-local.c (reconfigure_folder_reconfigure): Don't unhook our
events as we no longer hook them up.
(register_folder_registered): Tell the folder cache about this
folder's place in the local storage.
(register_folder_register): No longer hook events; the Folder Cache
will do this.
(local_folder_changed, local_folder_changed_proxy): Move to mail-folder-cache.c
(free_local_folder): No longer unhook events.
* mail-ops.c (do_update_subfolders_rec): Instead of setting the
folder status ourselves, inform the Folder Cache about the changes.
* mail-tools.c (mail_tool_uri_to_folder): Replace danw's cache
with the new Mail Folder Cache.
(cache_folder, etc): removed.
svn path=/trunk/; revision=10694
2001-06-30 Jon Trowbridge <trow@ximian.com>
* mail-display.c (make_popup_window): Changed to return the
created window.
(find_socket): Added. Copied from e-shell-view.c. The fact
that I'm copying this bit of code all over isn't cool.
(html_button_press_event): Properly destroy the popup window when
the widget inside the control is destroyed.
* mail-callbacks.c (addrbook_sender): Added. Implements
the "Add sender to addressbook" right-click. (Bug #3645)
(find_socket): Added. Copied from e-shell-view.c.
* folder-browser.c: Added "Add sender to addressbook" to
context_menu[].
* mail-display.c: (handle_embedded_address_object): Removed.
(on_object_requested): Removed handling for embedded address
objects. (Which was obsolete crap.)
svn path=/trunk/; revision=10643
2001-06-29 Larry Ewing <lewing@ximian.com>
* mail-callbacks.c (create_msg_composer): make sure we show the
sig file.
* e-msg-composer.c (e_msg_composer_show_sig_file): remove now
invalid argument in the documentation.
svn path=/trunk/; revision=10616
2001-06-29 Jeffrey Stedfast <fejj@ximian.com>
* mail-callbacks.c (ask_confirm_for_only_bcc): Throw up the
confirmation dialog.
(composer_get_message): If the user only specified Bcc recipients,
prompt him/her to make sure we should continue and risk the server
adding an Apparently-To header.
* mail-config.c (config_read): Read in config option for prompting
when only Bcc recipients are specified.
(mail_config_write_on_exit): Save the option.
(mail_config_get_prompt_only_bcc): New.
(mail_config_set_prompt_only_bcc): New.
svn path=/trunk/; revision=10606
2001-06-27 Peter Williams <peterw@ximian.com>
* configure.in (gal): Bump required gal version for new accessors
in ETree.
mail:
2001-06-27 Peter Williams <peterw@ximian.com>
* folder-browser-ui.c: Uncomment EditSelectThread. Yaay!
* mail-callbacks.c (select_thread): New function. Self-explanatory
name. Implementation is a little hairy.
* mail-callbacks.h: Prototype it here.
* mail-callbacks.c (invert_selection): Here too.
(select_all): Here too.
* subscribe-dialog.c (subscribe_select_all): Update to use new
ETree accessors.
(subscribe_invert_selection): Here too.
calendar:
2001-06-27 Peter Williams <peterw@ximian.com>
* conduits/*/Makefile.am (INCLUDES): More srcdir != builddir
fixes.
svn path=/trunk/; revision=10544
* mail-mt.c (op_status_timeout): Don't pop up a progress dialog to
say "I already finished this a while ago".
* component-factory.c (storage_create_folder): Pass the path
prefix to folder_created so it can add it to the folder tree in
the right place.
* mail-callbacks.c (folder_created): Take a path prefix.
svn path=/trunk/; revision=10508
2001-06-25 jacob berkman <jacob@ximian.com>
* mail-send-recv.c (free_send_data): sync folders after we've
gotten mail
* folder-browser-factory.c (control_activate): set the ui
component on the folder browser
(control_activate): update the view preview item
(control_deactivate): don't sync the folder here
(control_deactivate): unset the ui component of the folder browser
* mail-callbacks.c (toggle_flags): stuff from jleach to add an
importance keybinding
(mark_as_important): ditto
(toggle_as_important): again
* mail-config.c (mail_config_get_show_preview):
(mail_config_set_show_preview): basically a copy of
get_thread_list() but for the preview pane
* folder-browser.c (folder_browser_destroy): unref the our ui
component
(folder_browser_set_ui_component): new function for setting the ui
component
(save_cursor_pos):
(set_cursor_pos): try to show the selected row when the preview
pane is shown
(folder_browser_set_message_preview): implement
(folder_browser_toggle_preview): toggle the preview (duh)
(on_key_press): add keybindings for marking as important (!), and
hiding the preview pane (q)
(etree_key): clean up a little bit, and make enter either show the
preview pane or open the message
(fb_resize_cb): only save the paned size if the preview is alread
shown
(folder_browser_gui_init): pass ourselves to fb_resize_cb
(on_message_selected): only add the timeout if the preview is
shown
svn path=/trunk/; revision=10491
2001-06-21 Jeffrey Stedfast <fejj@ximian.com>
* mail-callbacks.c (composer_get_message): Allow the message to be
sent even if there are no To recipients but only as long as there
are other recipients defined.
svn path=/trunk/; revision=10363
2001-06-18 Jeffrey Stedfast <fejj@ximian.com>
* component-factory.c (destination_folder_handle_drop): Use a nice
switch statement and use the new enum values.
* mail-callbacks.c (list_add_addresses): Now takes a hash table of
already-used-recipients so that we don't get duplicates.
(mail_generate_reply): Pass in a rcpt_hash argument to
list_add_addresses(). These changes fix bug #1639.
svn path=/trunk/; revision=10282
2001-06-18 Jeffrey Stedfast <fejj@ximian.com>
* mail-callbacks.c (list_add_addresses): Now takes a hash table of
already-used-recipients so that we don't get duplicates.
(mail_generate_reply): Pass in a rcpt_hash argument to
list_add_addresses(). These changes fix bug #1639.
svn path=/trunk/; revision=10278
2001-06-14 Jeffrey Stedfast <fejj@ximian.com>
* folder-browser-factory.c: Add Reply-to-List bonobo verbs.
* folder-browser.c: Add Reply-to-List menu items.
* mail-callbacks.c (mail_reply): Use an enum for specifying the
reply mode, becaus enow we can reply-to-list.
(reply_to_list): Implement.
(reply_to_sender): Use REPLY_SENDER.
(reply_to_all): Use REPLY_ALL.
(mail_generate_reply): Handle the different modes.
svn path=/trunk/; revision=10232
2001-06-08 Jon Trowbridge <trow@ximian.com>
* mail-ops.c (mail_send_message): Reattach X-Evolution-Account
information to the message after sending it. This way it can
be used to set the identity properly if we later Resend the
message.
svn path=/trunk/; revision=10162
2001-05-29 Jeffrey Stedfast <fejj@ximian.com>
* mail-callbacks.c (list_add_addresses): Take another argument to
ignore a certain address.
(mail_generate_reply): Ignore references to the reply-to address
when constructing the Cc list.
svn path=/trunk/; revision=10046
2001-05-24 Jeffrey Stedfast <fejj@ximian.com>
* message-list.c (message_list_select_uid): g_strdup the uid into
the ml->cursor_uid.
* message-browser.c (message_browser_forward_msg): Use the default
forward style.
svn path=/trunk/; revision=9969
2001-05-23 Jeffrey Stedfast <fejj@ximian.com>
* mail-callbacks.c (composer_postpone_cb): Don't free the
folder-info here, instead have mail_append_mail() call our new
function, append_mail_cleanup() which'll free the
folder-info. This fixes the problem of send-later segfaulting.
svn path=/trunk/; revision=9958
* folder-browser.c (folder_browser_is_drafts,
folder_browser_is_sent, folder_browser_is_outbox): Functions to
determine if a folderbrowser is one of the drafts, sent, or outbox
folders.
(got_folder): Pass TRUE for the "outgoing" flag to
message_list_set_folder if this is a Sent, Drafts, or Outbox
folder.
* message-list.c (message_list_set_folder): Take a flag saying
whether or not the folder is an "outgoing" folder.
(message_list_setup_etree): Ditto. Use that rather than a
hardcoded list of foldernames for deciding whether to swap From
and To in the default layout.
* mail-config.c (mail_config_folder_to_cachename): Make IMAP
folders have unique cachenames rather than only one per store, so
that IMAP Sent and Drafts folders don't get forced into having the
same layout as the INBOX.
* mail-callbacks.c: (is_sent_folder, is_drafts_folder): Gone.
Replaced with simpler folder_browser_is_* routines.
(edit_msg, resend_msg, open_msg): Use folder_browser_is_*
routines.
* mail-local.c (reconfigure_clicked): Update call to
message_list_set_folder.
svn path=/trunk/; revision=9857
* mail-display.c (on_url_requested): Load http images if the user
has force-loaded images too.
(mail_display_redisplay): Update for normal/headers/source changes.
(mail_display_load_images): New. Force HTTP image loading for the
current message.
* mail-config.c (mail_config_get_message_display_style,
mail_config_set_message_display_style): Updated and renamed from
mail_config_{get,set}_view_source
* mail-callbacks.c (load_images): New.
* folder-browser.c (folder_browser_set_message_display_style):
Renamed and updated from folder_browser_toggle_view_source.
* folder-browser-factory.c (verbs): Add ViewLoadImages.
(control_activate): Update for normal/headers/source change to
radio group.
svn path=/trunk/; revision=9820
* 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
2001-05-11 Jeffrey Stedfast <fejj@ximian.com>
* mail-vfolder.c (vfolder_edit): Don't allow multiple copies of
this to be run at a time.
* mail-callbacks.c (providers_config): Don't allow multiple copies
of this to be run at a time.
(manage_subscriptions): Same, but this was a tad more kludgy since
we don't gnome_dialog_run_and_close() this one. I had to make the
widget a semi-global variable. yuck :\
(filter_edit): Same.
svn path=/trunk/; revision=9762
2001-05-11 Jeffrey Stedfast <fejj@ximian.com>
* mail-callbacks.c (forward_inlined): If the cursor_uid is NULL,
then we can't forward anything so just return.
(forward_quoted): Same.
svn path=/trunk/; revision=9759
* folder-browser.c (on_key_press): Don't advance to the next
undeleted message after "Delete"...
* mail-callbacks.c (delete_msg): ...instead, do it here, whether
the user used Delete, Alt+D, or the toolbar. (But only if they
only deleted a single message.)
* message-list.c (message_list_select): Don't clear the display on
failure.
(build_tree): Clear the display when the currently-selected
message stops existing and we don't have an obvious message to
select instead of it. (Eg, when deleting the last message with
"hide deleted messages" set, or expunging while a deleted message
is selected.)
svn path=/trunk/; revision=9744
2001-05-08 Jeffrey Stedfast <fejj@ximian.com>
* mail-callbacks.c (edit_msg_internal): Free the UIDs if the user
decides to not go through with editing all the messages he
selected.
(resend_msg): If the user attempts to resend more than 10
messages, make sure he really means it.
(do_resend_messages): Richard Zach feels that "Resend" should open
the message(s) in a composer since he might want to edit at least
the recipients (maybe he needs to resend because the message
bounced the first time) and Ettore wants pretty much the same
thing. This makes "Resend" basically the same as "Edit" but for
previously sent messages, whereas "Edit" is only for Drafts.
svn path=/trunk/; revision=9717
2001-04-26 Jeffrey Stedfast <fejj@ximian.com>
* mail-callbacks.c (next_msg): Don't filter on Seen status.
(previous_msg): Same.
(next_unread_msg): New function that does what the old callback
next_msg callback did (only better named).
(previous_unread_msg): Same.
svn path=/trunk/; revision=9605
* mail-callbacks.c (are_you_sure): New foot-shooting-prevention
helper function.
(edit_msg_internal, view_msg): If the user has more than 10
messages selected, ask before opening them all in separate
windows, to protect against misclicks/typos after "select all"
(which we've had at least two reports of now).
svn path=/trunk/; revision=9559
2001-04-23 Jeffrey Stedfast <fejj@ximian.com>
* mail-callbacks.c (do_view_message): Use the message-browser
widget rather than the mail-view window.
* mail-view.c: Removed.
* folder-browser.c: Added a folder_loaded signal.
* message-browser.[c,h]: New window to solve all our message
browsing needs. This replaces mail-view.c.
* message-list.c (message_list_select_uid): New function needed by
the new message-browser window.
svn path=/trunk/; revision=9525
* mail-callbacks.c (save_msg): Append a "/" to the result of
g_get_home_dir so gets the default dir it was supposed to.
svn path=/trunk/; revision=9511
2001-04-22 Jeffrey Stedfast <fejj@ximian.com>
* mail-callbacks.c (composer_get_message): Only set the
X-Evolution-* header if that value is non-NULL.
* mail-ops.c (mail_send_message): Lets do proper refcounting on
the sent-folder. Also, g_strdup() the sent_folder_uri since we
later free it. If we don't, then we get lovely corrupt memory.
svn path=/trunk/; revision=9498
2001-04-22 Gediminas Paulauskas <menesis@delfi.lt>
* folder-browser.c, mail-autofilter.c, mail-callbacks.c, mail-ops.c,
mail-summary.c, mail-vfolder.c: use system = EVOLUTION_DATADIR "/file"
instead of g_strdup_printf. Rename userrules to user (and system) to be
consistent.
* mail-send-recv.c: set window icon to send-receive.xpm
2001-04-21 Gediminas Paulauskas <menesis@delfi.lt>
* mail-summary.c: translate "Mail summary".
svn path=/trunk/; revision=9490
2001-04-15 Jeffrey Stedfast <fejj@ximian.com>
* mail-callbacks.c (mark_all_as_seen): Mark the messages as seen,
not unseen.
(is_drafts_folder): New function to attempt to determine if a
folder is a drafts folder.
(open_msg): Use is_drafts_folder().
(edit_msg): And here.
(edit_msg_internal): New function that doesn't do the drafts
checking and is only to be used internally. This should save us
from having to doubly-check a folder to see if it's a drafts
folder when doing an Open on the message.
(open_msg): Call edit_msg_internal once we've established that the
folder is a drafts folder.
svn path=/trunk/; revision=9336
2001-04-15 Jeffrey Stedfast <fejj@ximian.com>
* mail-callbacks.c (mark_all_as_seen): Mark the messages as seen,
not unseen.
svn path=/trunk/; revision=9330
2001-04-11 Jeffrey Stedfast <fejj@ximian.com>
* mail-display.c (save_cb): Change to the user's home dir before
opening the filesel.
* mail-callbacks.c (save_msg): Same.
svn path=/trunk/; revision=9241
2001-03-29 Jon Trowbridge <trow@ximian.com>
* printing/e-contact-print.c: Added #include <libgnome/gnome-paper.h>
* printing/e-contact-print-envelope.c: Added #include <time.h>
and #include <libgnome/gnome-paper.h>
* gui/component/select-names/e-select-names-completion.c
(match_email): Better handle matching of "nameless" contacts.
* backend/ebook/e-destination.c (e_destination_get_string): Better
handle the case of a "nameless" contact.
2001-03-29 Jon Trowbridge <trow@ximian.com>
* camel-filter-driver.c (camel_filter_driver_filter_message): Save
the source URL using camel_mime_message_set_source.
* camel-mime-message.c (camel_mime_message_set_source): Renamed
camel_mime_message_set_identity to this. Sets the X-Evolution-Source
header.
(camel_mime_message_get_source): Returns the X-Evolution-Source
header.
2001-03-29 Jon Trowbridge <trow@ximian.com>
* mail-callbacks.c: Added #include <time.h> to get things
to compile.
* mail-callbacks.c (mail_generate_reply): Look at the
X-Evolution-Source header, and try to find a corresponding
account. If this works, send the mail from this account.
If not, use the default account.
* mail-ops.c (send_queue_send): Strip out the X-Evolution-Source
header before sending.
* mail-config.c (mail_config_get_account_by_source_url): Added.
Look up accounts by source URL.
svn path=/trunk/; revision=9032
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-account-gui.c (mail_account_gui_new): Set up the
sent/drafts folder buttons.
(folder_picker_clicked): Pop up the folder selector when sent or
drafts is clicked.
(mail_account_gui_save): Save the sent/drafts folders.
* mail-config.c (account_copy): copy sent/drafts info
(config_read): read sent/drafts info
(mail_config_write): write sent/drafts info
* mail-callbacks.c (composer_send_cb, composer_postpone_cb):
split out some common code here (and fix inconsistencies). Always
set headers on the message giving the account name, transport,
and sent folder to use.
* mail-ops.c (mail_send_message): If the message has an
X-Evolution-Account header, use the transport/sent folder info for
that account (assuming it still exists). Otherwise, if it has
X-Evolution-Transport and/or X-Evolution-Fcc, use those. If not,
use the default transport and sent folder.
FIXME: Falls back silently to the default sent folder if it can't
open the account-specific one...
(send_queue_send): remove the X-Evolution-Transport, etc
processing here, as it gets done by mail_send_message now.
FIXME: We only sync the default sent folder.
* component-factory.c (owner_set_cb): While setting up the
standard folders, also record their URIs.
svn path=/trunk/; revision=8991