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
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