2001-08-06 Jeffrey Stedfast <fejj@ximian.com>
* mail-config.glade: Added key accelerators to a bunch of the
config options and moved the Bcc and empty-subject checkboxes to
the composer tab where they belong.
* mail-callbacks.c (providers_config): Raise the dialog if it
exists already.
(manage_subscriptions): Raise the dialog if it already exists.
(main_select_first_unread): Removed (we haven't needed this code
in ages).
(select_first_unread): Same.
(save_msg_ok): If the path is empty, just return.
* mail-local.c (mail_local_reconfigure_folder): Raise the dialog
if it already exists.
svn path=/trunk/; revision=11719
2001-08-06 Jeffrey Stedfast <fejj@ximian.com>
* mail-callbacks.c (expunge_folder): Set the message-display
message to NULL if we can't get an info too.
svn path=/trunk/; revision=11711
2001-08-06 Jason Leach <jleach@ximian.com>
* mail-callbacks.c (create_folders): Make vtrash folders on other
storages with a "vtrash" type, so they get the little trashcan
icon.
svn path=/trunk/; revision=11709
2001-08-06 Peter Williams <peterw@ximian.com>
* subscribe-dialog.[ch]: Reimplement to be asynchronous and pretty,
with progressive folder loading and all sorts of wonderful
improvements.
* mail-callbacks.c (manage_subscriptions): Change to reflect API
update.
* component-factory.c (mail_load_storages): Don't add the storage
if it has been disabled.
* Makefile.am (etspec_DATA): Add subscribe-dialog.etspec.
(glade_DATA): And the glade file.
* subscribe-dialog.etspec: New file, break out the specification
from inside the subscribe-dialog.c
* subscribe-dialog.glade: Update this, actually use it now.
svn path=/trunk/; revision=11706
2001-08-06 Jeffrey Stedfast <fejj@ximian.com>
* mail-callbacks.c (empty_trash): Yuck. Special case whether or
not we want to expunge all the trash folders syncronously or
asyncronously based on whether or not we are doing Empty-On-Exit
or emptying trash by user request respectively.
svn path=/trunk/; revision=11701
2001-07-25 Jeffrey Stedfast <fejj@ximian.com>
* mail-session.c (make_key): Don't make the key url:item if we
have the url, just make it url. This fixes bug #5339.
(mail_session_set_password): Removed.
svn path=/trunk/; revision=11411
2001-07-25 Jeffrey Stedfast <fejj@ximian.com>
* mail-callbacks.c (mail_generate_reply): Initialize `me' to NULL.
(forward_attached): If we are only forwarding a single message,
pass the message along as the callback data, else pass NULL.
(do_forward_attach): Updated for changes to
forward_get_composer().
(do_forward_non_attached): Same.
(forward_get_composer): Try to guess which account to forward the
message from if the message passed in is non-NULL.
svn path=/trunk/; revision=11401
2001-07-24 Jason Leach <jleach@ximian.com>
* mail-callbacks.c (delete_msg): If we're the last row and we're
deleting, select the previous message, not next, which actually
selects nothing. Fixes#5323.
svn path=/trunk/; revision=11391
2001-07-24 Jeffrey Stedfast <fejj@ximian.com>
* mail-callbacks.c (guess_me): Do a case-insensitive comparison.
(mail_generate_reply): Only resort to the source account's
identity if we can't find out which identity to use based on the
recipients of the message first.
* mail-config.c (mail_config_get_default_account): Make sure to
return the 0th account if we don't have a default. We don't want
to return NULL.
* mail-callbacks.c (empty_trash): Use mail_tool_get_trash for the
remote store trash folders.
* mail-tools.c (mail_tool_get_trash): New convenience function.
svn path=/trunk/; revision=11353
2001-07-23 Jeffrey Stedfast <fejj@ximian.com>
* mail-config.glade: Fixed the "Read" to be Read in the glade file
per menesis' request.
* mail-accounts.c (construct): Give the dialog a Close button
instead of an OK button.
(prompt_bcc_only_toggled): New.
(threaded_list_toggled): New.
(show_preview_toggled): New.
(construct): Add code for the bcc-only-prompt, threaded-list, and
show-preview checkboxes.
* mail-ops.c (transfer_messages_transfer): If the source and
destination folders are the same, just mark the uids as undeleted
(in case they were marked as deleted before).
svn path=/trunk/; revision=11327
2001-07-23 Jason Leach <jleach@ximian.com>
[Bug #5225: No UI way to mark as unimportant]
* folder-browser.c (on_right_click): Do the necessary stuff to
show or hide the correct "Mark Important" or "Mark as Unimportant"
menu items depending on the status of messages that are selected.
* folder-browser-ui.c: Add the MarkAsUnimportant verb here.
* mail-callbacks.c (mark_as_unimportant): Simple function that's
the callback for these new menu items.
svn path=/trunk/; revision=11316
2001-07-19 Peter Williams <peterw@ximian.com>
Policy change: NULL url's are no longer allowed in CamelFolderInfos. They used
to signify that the folder was, in IMAP jargon, NoSelect; now the same effect
is achieved by adding a "noselect=yes" parameter to the end of the URL. As far
as I know, IMAP is the only affected provider.
* providers/imap/camel-imap-store.c (delete_folder): New function. Implement
folder deletion.
(camel_imap_store_class_init): Set the delete_folder class function here.
(get_folder_status): New function. Utility wrapper around the STATUS command.
(create_folder): If the parent folder is NoSelect but is empty, delete it
and recreate it as a a subfolder-containing folder. If it is NoSelect but
contains messages, set an exception.
(parse_list_response_as_folder_info): Always set the FolderInfo's URL, but
add a NoSelect parameter if it isn't selectable.
(get_folder_info_online): Change logic of removing the namespace to reflect
URL change. Same for logic of checking unread counts.
(get_folder_info_online): Use get_folder_status to simplify this.
* camel-store.c (camel_folder_info_build): When creating
dummy parents, copy the child's URL and set the NoSelect
parameter.
In mail:
2001-07-19 Peter Williams <peterw@ximian.com>
Track the NoSelect changes in Camel.
* mail-callbacks.c (create_folders): We don't need to check if
the URL is NULL or not anymore.
* component-factory.c (create_noselect_control): New
function. Create a dummy control for folders that can't contain
messages (ie \NoSelect)
(create_view): If the URI says the folder is noselect, make a
dummy control. FIXME: still should merge in the global UI
elements.
(xfer_folder): Don't allow the operation if the destination is
NoSelect.
(destination_folder_handle_motion): Ditto.
(destination_folder_handle_drop): Ditto.
svn path=/trunk/; revision=11237
2001-07-13 Peter Williams <peterw@ximian.com>
* mail-callbacks.c (expunge_folder): Segfault prevention here if no uid is
currently loaded.
svn path=/trunk/; revision=11093
2001-07-13 Peter Williams <peterw@ximian.com>
* mail-callbacks.c (expunge_folder): Segfault prevention here if we lose
the race with message_list_set_hidedeleted().
svn path=/trunk/; revision=11092
2001-07-12 Jason Leach <jleach@ximian.com>
* mail-callbacks.c (expunge_folder): Only blank the mail display
if the message being viewed is one of those to be expunged. Bug
#4030.
svn path=/trunk/; revision=11052
2001-07-10 Jeffrey Stedfast <fejj@ximian.com>
* mail-callbacks.c (mail_generate_reply): Make sure that the
reply-to addr i non-NULL before trying to add it to the hash
table.
svn path=/trunk/; revision=10953
2001-07-06 Larry Ewing <lewing@ximian.com>
* mail-callbacks.c (composer_send_cb): add a NULL check since that
is a valid return.
svn path=/trunk/; revision=10866
2001-07-06 Peter Williams <peterw@ximian.com>
* mail-callbacks.c (composer_postpone_cb): Don't free the psd here --
it will be freed on the "destroy" signal.
* mail-folder-cache.c (maybe_update): Instead of an idle, use a very
short timeout in hopes of reducing the number of redundant updates.
* mail-tools.c (mail_tool_uri_to_folder): Only note the folder in the
cache if we successfully got it.
svn path=/trunk/; revision=10852
2001-07-06 Jason Leach <jleach@ximian.com>
* mail-callbacks.c (delete_msg): Select the very next message
after deleting, not the next undeleted (it can make things jump
around in annoying ways if you are deleting many messages), bug #4032.
* folder-browser.c: Forgot to commit the "Mark as Important" right
click menu item.
* message-list.c (message_list_set_folder): Setup the strikeout
column here (after we've gotten the folder) so we can disable
strikeouts for vtrash folders, part of bug #2224.
svn path=/trunk/; revision=10849
2001-07-03 Joe Shaw <joe@ximian.com>
* mail-callbacks.c (expunge_folder): Unset the message being displayed
when expunging. This makes expunged messages not show in the preview
pane when they're not there anymore. Fixes#3591.
svn path=/trunk/; revision=10774
2001-07-03 Joe Shaw <joe@ximian.com>
* mail-callbacks.c (mail_reply): If msg is NULL, fetch the message
and requeue a mail_reply call. Fixes bug #3816.
(requeue_mail_reply): Callback from mail_get_message().
svn path=/trunk/; revision=10772
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