2004-07-27 Not Zed <NotZed@Ximian.com>
** See #57972.
* message-list.c (search_func): removed.
(ml_search_path): new function to just search, not actually change
the cursor like e_tree_find does.
(message_list_can_select): new function, returns true if the
selection specified is possible without changing the selection.
(message_list_select): rewritten.
(select_path): helper to select a path in a way that 'works
reliably'.
(message_list_select_next_thread): rewritten to use the
table-adapter, so it properly handles arbitrary sorting.
* em-folder-view.c (em_folder_view_get_popup_target): setup
next/prev flags as appropriate.
(emfv_enable_map[]): setup next/prev flags.
* em-folder-view.h: added last and first message status bits to
folder view select mask.
svn path=/trunk/; revision=26749
2004-07-22 Not Zed <NotZed@Ximian.com>
* em-utils.c (em_utils_part_to_html, em_utils_message_to_html):
set the session on the formatter. See #61767.
2004-07-22 Not Zed <NotZed@Ximian.com>
** See bug #61747.
* message-list.c (search_func): don't emit a message_selected here
(god knows why we did?). Don't update cursor_uid either, just
clear it.
(message_list_select): select the path if we find it here, causing
the cascade of selection action.
svn path=/trunk/; revision=26710
2004-06-22 Jeffrey Stedfast <fejj@novell.com>
* em-popup.c (emp_apps_open_in): If the app requires a terminal to
run, give it a bloody terminal (who uses vi in an xterm to view
attached text files? *sigh*). Fixes bug #51259.
svn path=/trunk/; revision=26455
2004-06-17 Not Zed <NotZed@Ximian.com>
** See #59885.
* em-format-html-quote.[ch]: remove and remove from build, not
used.
* Makefile.am (libevolution_mail_la_LIBADD): add libeabutil and
evolution-smime.
* mail-component-factory.c (factory): there is no mail_config
anymore.
2004-06-16 Not Zed <NotZed@Ximian.com>
* em-utils.c (em_utils_selection_get_urilist): handle comments in
the urilist. Can't remember the rfc for it.
svn path=/trunk/; revision=26374
2004-06-10 Not Zed <NotZed@Ximian.com>
* message-list.c (message_list_set_selected): use new
etreeselectionmodel api to select paths in one call. Fixes
#59546.
svn path=/trunk/; revision=26278
2004-05-24 Not Zed <NotZed@Ximian.com>
* message-list.c (regen_list_regened): pull the message from the
regen list before we check the list and pending uid.
* em-folder-view.c (emfv_enable_menus): remove the hack for
enabling select delete from here and put it in the right place.
(em_folder_view_get_popup_target): put it here so its consistent.
svn path=/trunk/; revision=26055
2004-05-21 Not Zed <NotZed@Ximian.com>
* mail-mt.c (do_call): add marshaller for p_ppppp call.
* mail-session.c (get_password): fix for camel api changes.
(forget_password): same.
** See #58376.
* message-list.c (mail_regen_list): do some timeout foo so we
don't keep doing list regnerations if we're getting called too
often. God knows what this will break.
(message_list_set_selected): removede bug printf.
(regen_list_free): move the message-list poking stuff into
regen_list_regened.
(message_list_set_folder): call mail_regen_cancel to cancel any
regen stuff.
(mail_regen_cancel): cancel/clear outstanding regenerations.
(message_list_destroy): do it here too.
(message_list_select_uid): also set the pending select uid if we
have a timeout pending.
* mail-component.c (impl_createControls): set the defualt parent
to the main folderview as soon as its created.
* em-folder-tree.c (emft_popup_copy_folder_selected): use
get_toplevel rather than get_ancestor. seems the more reliable
one. also we're always parented so we shoudl always find a
toplevel window.
(em_folder_tree_create_folder): same.
(emft_popup_delete_response): set error parent.
(emft_popup_delete_folder, emft_popup_rename_folder)
(emft_popup_rename_folder, emft_popup_rename_folder):
svn path=/trunk/; revision=26030
2004-05-20 Not Zed <NotZed@Ximian.com>
** See #57583.
* message-list.c (build_tree): save/restore the selection when we
update.
(message_list_set_selected): util to set the selected messages
from a list of uids.
(build_flat): same. I wonder if etree's unbroken enough to use it
more directly?
svn path=/trunk/; revision=26006
2004-05-19 Jeffrey Stedfast <fejj@novell.com>
* message-list.c (message_list_init_images): Changed to load an
empty pixbuf manually rather than relying on the pixbuf returned
for "" from e_icon_factory_get_icon() since it has changed to
return a broken image icon.
svn path=/trunk/; revision=25985
2004-05-17 Not Zed <NotZed@Ximian.com>
* mail-account-gui.c (mail_account_gui_setup): put the None item
at the head of the providers list.
(mail_account_gui_setup): only set the transport default fallback
if it is not a STORE_AND_TRANSPORT type provider (since that was
just disabled). #57939.
* message-list.c (on_selection_changed_cmd): only NOOP if we have
no selection and no uid, if we have a selection and no uid, then
always update. Fixes#58267 without breaking the double-load
thing.
svn path=/trunk/; revision=25919
2004-05-17 Not Zed <NotZed@Ximian.com>
** Bug #6556.
* message-list.c (ml_drop_async_desc, ml_drop_async_drop)
(ml_drop_async_done, ml_drop_async_free, ml_drag_data_action)
(ml_drop_popup_copy, ml_drop_popup_move, ml_drop_popup_cancel)
(ml_tree_drag_data_received): implement async drop operations and
the ask drop option menu.
2004-05-14 Not Zed <NotZed@Ximian.com>
** Bug #6556.
* message-list.c (ml_selection_received_uidlist): removed, not
needed anymore.
(ml_selection_received): call get_uidlist to paste the selection.
(ml_tree_drag_data_received): same here.
* em-folder-tree.c (emft_drop_uid_list): removed, not needed
because of below change.
* em-utils.c (em_utils_selection_get_uidlist): actually do the
copy now, don't just decode the data.
* em-folder-tree.c (tree_drag_data_received): just copy the
selection data data itself, dont decode yet.
(emft_import_message_rfc822): removed, not needed, use em utils
stuff instead.
(emft_drop_message_rfc822): same.
(emft_drop_text_uri_list): same.
(emft_drop_async_free): simply free stuff.
(emft_drop_async_drop): call em_utils stuff where they exist to do
the drop.
* message-list.c (ml_tree_drag_data_get): send x-mailbox instead
of message/rfc822 for the mailbox.
(ml_tree_drag_data_received): handle drop of x-mailbox differently
to message/rfc822.
(ml_tree_drag_motion): implement so proper options are setup
whilst dragging.
(message_list_construct): seutp the drag src/dest types for
changes typs and with ASK action.
* em-utils.c (em_utils_read_messages_from_stream): dont unref the
stream when we get it.
(em_utils_selection_get_mailbox): add an argument to scan from or
not, for message/rfc822 vs x-mailbox drops.
(em_utils_read_messages_from_stream): Same.
* em-folder-tree.c (tree_drag_motion): default to move properly.
* message-list.c (ml_selection_received_uidlist): take a move flag.
(ml_tree_drag_data_received): handle move action.
* em-folder-tree.c (em_folder_tree_new_with_model): got sick of
this bloody warning.
* em-format.c (default_headers[]): just remove x-mailer from the
header list, if it isn't on by default. This is the default list.
(em_format_default_headers): loop through everything.
svn path=/trunk/; revision=25915
2004-05-07 Not Zed <NotZed@Ximian.com>
** See #58017.
* message-list.c (mail_regen_list): use thread_queued, so we don't
regen out of order.
* em-folder-view.c (emfv_list_message_selected): use the queue
thread so we don't get messages out of order.
* mail-ops.c (mail_transfer_messages): use thread_queued_slow.
(mail_prep_offline): and here too.
svn path=/trunk/; revision=25819
2004-05-05 Not Zed <NotZed@Ximian.com>
** See bug #57720.
* em-folder-browser.c (emfb_create_view_menus): removed some stuff
done in create_view_instance in the superclass.
* em-folder-view.c (emfv_create_view_instance): moved here from
em-folder-browser, setup the view instance for the folder.
(emfv_set_folder): if the folder is set, create the view instance.
* em-folder-browser.c: moved the galview instance and menu
pointers to EMFolderView, since they're basically meta-data on the
messagelist @ to fix issues.
* em-folder-view.c (em_folder_view_open_selected): copy over the
threaded list value when the message browser is brought up.
** some clean up
* evolution-mail.schemas.in.in: removed xmailer_mask stuff.
* em-migrate.c (mail_display_map[]): Removed xmailer_mask stuff.
* em-folder-view.c (emfv_setting_notify): removed xmailer_mask stuff.
* em-format-html.c (em_format_html_set_xmailer_mask): removed.
This isn't used anymore.
** Fixes the double-draw on separate mail view.
* message-list.c (on_cursor_activated_cmd): noop if the cursor and
uid match for all cases (clearing uid).
(on_selection_changed_cmd): noop if the cursor and new selection
hasn't changed & fix a memleak.
svn path=/trunk/; revision=25806
2004-05-03 Jeffrey Stedfast <fejj@ximian.com>
Fix for bug #57968
* message-list.c (message_list_set_folder): Save the tree/hide
state of the current folder before clearing the message-list.
(message_list_set_folder): Note that a new folder has just been
set (now needed by the regen code to tell whether or not it should
save the tree state before clearing the tree).
(message_list_destroy): Save the tree/hide state before destroying
the message-info's, not after.
(regen_list_regened): If the regen is being performed in response
to a message_list_set_folder, don't save the tree state before
clearing the tree or we'll clobber the real state with bogus data.
svn path=/trunk/; revision=25767
2004-04-30 Jeffrey Stedfast <fejj@ximian.com>
* message-list.c (message_list_set_folder): Properly initialise
the strikeout column for both types of folders (trash and not
trash). Completes the fix for bug #57304.
svn path=/trunk/; revision=25714
2004-04-28 Not Zed <NotZed@Ximian.com>
* message-list.c (ml_selection_clear_event): return the right
type, related to #53839.
svn path=/trunk/; revision=25656
2004-04-19 Jeffrey Stedfast <fejj@ximian.com>
* em-composer-prefs.h: Removed variables that got re-added with
the icon-theme patch somehow.
* em-account-prefs.c: Don't bother keeping global references to
the enable_pixbuf anymore, since it's unnecessary.
svn path=/trunk/; revision=25523
2004-04-14 Jeffrey Stedfast <fejj@ximian.com>
* message-list.c: Added a new "message_list_scrolled" signal so
our users can listen to this event in order to update saved state.
(message_list_get_scrollbar_position): Simplified.
(message_list_set_scrollbar_position): Simplified.
svn path=/trunk/; revision=25470
2004-04-14 Not Zed <NotZed@Ximian.com>
* em-folder-view.c (emfv_set_folder_uri): ugh, use the queued
thread to get the folder, otherwise we can get folders set on the
display out of order.
* message-list.c (message_list_set_search): if we set this while
frozen, save the search elsewhere.
(message_list_thaw): if we had a frozen-time search, use it when
we regenerate.
* em-folder-browser.c (emfb_set_folder): freeze/thaw the
messagelist around changes so we don't have multiple updates fire
off changing folders.
(emfb_activate): remove an unused variable i never used.
* message-list.c (message_list_freeze, message_list_thaw): lock
some updates to the ui, so you can do things like set folder and
search atomically.
(message_list_set_threaded, message_list_set_hidedeleted)
(message_list_set_search, message_list_hide_uids)
(message_list_hide_clear, message_list_set_folder): dont refresh
the list if we're frozen.
svn path=/trunk/; revision=25458
2004-04-14 Not Zed <NotZed@Ximian.com>
** See bug #56149.
* em-folder-view.c (emfv_edit_cut): similar to below, use focus to
determine who we select from.
(emfv_edit_copy): ditto.
* message-list.c: Remove primary selection stuff. It just annoys.
* em-folder-browser.c (emfb_edit_copy): use focus rather than
selection owner to determine who to copy from.
(emfb_edit_cut): similarly.
svn path=/trunk/; revision=25455
2004-04-12 Jeffrey Stedfast <fejj@ximian.com>
* message-list.c (message_list_get_scrollbar_position): New
function.
(message_list_set_scrollbar_position): New function.
* em-utils.c (em_uri_to_camel): If the provider is unavailable,
return euri like the other fail cases. Fixes bug #56846.
svn path=/trunk/; revision=25417
2004-04-08 Not Zed <NotZed@Ximian.com>
* mail-folder-cache.c:
(update_1folder): VJUNK_FOLDER's dont exist, they're VTRASH
folders now.
* em-folder-view.c: remove message_changed stuff from camel folder
stuff.
* mail-component.c (mail_component_init): don't setup the search
context here, wait till its requested. Fixes#56672.
2004-04-07 Not Zed <NotZed@Ximian.com>
* mail-component.c (view_changed_cb): hook to update the info
label when the folderview changes.
* em-folder-view.c (emfv_class_init): added 2 signals 'loaded' and
'changed'. For when a folder is set/cleared or when some state
changes.
(emfv_set_folder): emit LOADED signal when we set the folder.
(emfv_list_message_selected): emit changed event.
(emfv_gui_folder_changed): emit changed event.
svn path=/trunk/; revision=25369
2004-03-31 Not Zed <NotZed@Ximian.com>
* *.[ch]: Cleaned up header inclusions and added plenty of forward
declarations. Sped up complete re-compilation by upto 20%.
** See bug #55950.
* em-utils.c (em_utils_in_addressbook): utility for checking if an
email address is in the addressbook. I can't tell if it works
'cause it crashes eds.
* em-format-html.c (emfh_gethttp): handle addressbook checking.
2004-03-30 Not Zed <NotZed@Ximian.com>
* mail-config.h: clean up the headers and use some forward decl's
instead.
* em-format-html.c (em_format_html_set_load_http): change state to
an int 'style' instead.
* em-folder-view.c (emfv_setting_notify): set the format load http
option to the config value directly.
** See bug #56147.
* message-list.c (clear_info): set the node data to NULL when we
unref its data.
(ml_get_save_id): use a different test for the root node, and
return NULL if we don't have any data on the node (because we're
cleaing it).
** See bug #54962.
* em-folder-tree.c (emft_popup_new_folder_response): put back the
old hack to open the vfolder editor if you try to create a folder
under vfolders.
** See bug #55940.
* mail-autofilter.c (mail_filter_rename_uri): map the uri to an
email uri before passing to filter code.
(mail_filter_delete_uri): same here.
svn path=/trunk/; revision=25261
2004-02-06 Not Zed <NotZed@Ximian.com>
** See bug #53258.
* em-format-html-display.c (efhd_find_handler): force any bonobo
handler types to always be inline, even attachments.
* em-format.c (em_format_is_inline): use handler flags for special
cases, removing all hard-coded types.
* em-format.h (EMFormatHandler): add a flags field, so far a flag
to set default inline viewing of the content.
2004-02-06 Not Zed <NotZed@Ximian.com>
* em-folder-properties.c: include string.h to kill warning.
** See bug #53627.
* em-folder-view.c (emfv_popup_mark_junk): changed to work like
delete does, jumping to the next message if required, and marking
things immediately, then queuing up the junk marking job if
required.
* mail-ops.c (mail_mark_junk): ugh, this stuff totally can't go
accessing messagelist from another thread!!!! Changed so this
code only does the junk reporting, not setting flags. UGH! It
should be doing this implictly on the folder when you set the
flags, or at least when you sync the folder!!! Changed ot use the
queued thread.
* message-list.c (find_next_undeleted): changed to find
next-unhidden, i.e. junk as well as deleted, if we're in
hide-deleted mode.
(build_tree): always call find_next_undeleted if we have a cursor.
(build_flat): same.
svn path=/trunk/; revision=24644
2004-01-30 Not Zed <NotZed@Ximian.com>
** See bug #53549, partial fix.
* em-folder-selector.c (emfs_create_name_activate): only emit the
ok response if the ok button would be active (i.e. entered a valid
path).
** See bug #52992.
* message-list.c (message_list_hide_clear): save the hide state
after its been cleared, so any popup windows inherit it.
(message_list_hide_uids): same.
svn path=/trunk/; revision=24534
2004-01-29 Not Zed <NotZed@Ximian.com>
** See bug #53320 and probably others
* message-list.c (message_list_set_folder): NULL out
message_list->folder when we clear it so it isn't left for another
free when we switch again.
2004-01-29 Not Zed <NotZed@Ximian.com>
** See bug #52190.
* message-list.c: Added folder/folder uri to the data stored for
primary/secondary selection, uses a struct to store the data now.
This is needed so when you cut/copy messages, and paste them, it
doesn't end up 'pasting' the messages from the current folder, but
from the one where the copy/cut took place.
(clear_selection): helper to free data inside selection struct.
2004-01-29 Not Zed <NotZed@Ximian.com>
** See bug #53506.
* mail-tools.c (mail_tools_folder_to_url): use a camelurl to do
this properly, and handle fragment folder-paths.
* em-composer-utils.c (em_utils_composer_send_cb): removed
outbox_folder local, not necessary.
svn path=/trunk/; revision=24511
2004-01-21 Jeffrey Stedfast <fejj@ximian.com>
* em-migrate.c (em_migrate_1_4): Migrate the ETree expanded state
files as well as the GalView files.
* message-list.c: s/hide_save_state/save_hide_state/g and
s/hide_load_state/load_hide_state/g to be more consistant with the
other state saving function names.
svn path=/trunk/; revision=24356
2004-01-20 Not Zed <NotZed@Ximian.com>
** See bug #53028.
* message-list.c (on_selection_changed_cmd): emit the
cursor_activated if more than 1 item is selected also.
svn path=/trunk/; revision=24319
2004-01-20 Not Zed <NotZed@Ximian.com>
** See bug #52989.
* message-list.c (hide_load_state): clear the hidden table if
setup, before loading.
svn path=/trunk/; revision=24316
2004-01-19 Not Zed <NotZed@Ximian.com>
* mail-ops.c (add_vjunk_info, add_vtrash_info): removed this like
i asked radek to ages ago, just call the parent directly.
(add_vtrash_or_vjunk_info): renamed to something saner.
add_special_info.
(add_special_info): removed the 'unread count' parameter & return
the added info.
** See bug #52854.
* em-folder-tree.c (emft_tree_button_press): setup a FOLDER target
for the popup menu.
* em-popup.c (em_popup_target_free): implement free for
TARGET_FOLDER, changed the target options somewhat.
(em_popup_target_new_folder): implement folder selection target.
Total Hack(tm) alert.
(emp_standard_menu_factory): removed the stupid
g_assert_if_not_reached() call.
* message-list.c (message_list_destroy): NULL out the uid_nodemap
when we destroy it.
svn path=/trunk/; revision=24302
2004-01-16 Jeffrey Stedfast <fejj@ximian.com>
* message-list.c (message_list_set_folder): Move
'message_list->folder = folder;' out of the uri compare if-block
and move it into the if-block that tests that folder != NULL.
(regen_list_regen): Abort if the regen folder is not the same as
the ml->folder.
svn path=/trunk/; revision=24273
2003-12-12 Not Zed <NotZed@Ximian.com>
* mail-config.c (config_write_style): put the style in .evolution.
** See bug #52023.
* message-list.c (message_list_select_uid): noop if we've been
destroyed (foldre == NULL).
svn path=/trunk/; revision=23932
2003-12-02 Not Zed <NotZed@Ximian.com>
* message-list.c (message_list_create_extras): setup another image
(followup completed) to flag status list.
(states_pixmaps[]): added flag_for_followup_done.
(ml_tree_value_at): return 0,1 or 2 for completed icon. also use
the real ints, these shouldn't have been true/false. Bug #43514.
svn path=/trunk/; revision=23570
2003-11-19 Jeffrey Stedfast <fejj@ximian.com>
* em-utils.c (em_utils_selection_set_urilist): Same.
* em-format-html-display.c (efhd_drag_data_get): Same as below.
* em-folder-tree.c (drag_text_uri_list): Terminate each url of a
text/uri-list with a \r\n.
svn path=/trunk/; revision=23451
* message-list.c: Don't #include e-name-western.h, since the code
that uses it is commented out, and we want to remove the local
copy, but we don't want to make the mailer depend on the e-d-s
copy if it's not even going to be using it.
svn path=/trunk/; revision=23230
2003-10-22 Jeffrey Stedfast <fejj@ximian.com>
* mail-component.c (parse_uid_list): Removed, use
em_utils_selection_get_uidlist() instead.
(drop_uid_list): Use em_utils_selection_get_uidlist() to parse the
x-uid-list selection data and use mail_tool_uri_to_folder()
directly since we have the uri (originally we expected the first
component of the selection data to be the e-storage-set-view
folder path rather than the uri).
(folder_receive_drop_cb): Call gtk_drag_finish() here.
* message-list.c: s/x-evolution-message/x-uid-list/
* em-utils.c: Same.
svn path=/trunk/; revision=23004
2003-09-19 Jeffrey Stedfast <fejj@ximian.com>
Fix for bug #48618.
* em-folder-view.c (emfv_list_message_selected): See if we have
already loaded the message uid that has just been selected, if so
- don't bother re-loading it.
(emfv_list_done_message_selected): Update loaded_uid and
loading_uid.
svn path=/trunk/; revision=22628
2003-09-18 Jeffrey Stedfast <fejj@ximian.com>
* component-factory.c: updated for camel namespace changes
* em-folder-view.c: updated for camel namespace changes
* em-format-html-display.c: updated for camel namespace changes
* em-format-html-quote.c: updated for camel namespace changes
* em-format.c: updated for camel namespace changes
* em-popup.c: updated for camel namespace changes
* em-utils.c: updated for camel namespace changes
* mail-autofilter.c: updated for camel namespace changes
* mail-ops.c: updated for camel namespace changes
* mail-session.c: updated for camel namespace changes
* message-list.c: updated for camel namespace changes
* message-tag-followup.c: updated for camel namespace changes
* importers/evolution-mbox-importer.c: updated for camel namespace
changes
2003-09-18 Jeffrey Stedfast <fejj@ximian.com>
* em-popup.c (emp_standard_menu_factory): Don't forget to
initialise/increment 'i' when using it as an object id in the
for-loop.
* em-format.c (em_format_format_text): Initialise charset to NULL
or it may be used uninitialised. Also include
gnome-vfs-mime-handlers.h for gnome_vfs_mime_type_get_description().
svn path=/trunk/; revision=22610
2003-08-25 Jeffrey Stedfast <fejj@ximian.com>
* mail-display.c: updated for namespace changed made to
camel-mime-utils.[c,h]
* mail-format.c: updated for namespace changed made to
camel-mime-utils.[c,h]
* mail-ops.c: updated for namespace changed made to
camel-mime-utils.[c,h]
* message-list.c: updated for namespace changed made to
camel-mime-utils.[c,h]
* message-tag-followup.c: updated for namespace changed made to
camel-mime-utils.[c,h]
svn path=/trunk/; revision=22357
2003-08-22 Not Zed <NotZed@Ximian.com>
* mail-format.c (write_date): translate the local time format.
2003-08-20 David Woodhouse <dwmw2@infradead.org>
* mail-format.c (write_date): Use e_utf8_strftime() to generate
localised time; avoid gratuitous extra translation and array of
day names, and the autoconf magic which made Not Zed dislike the
inclusion of the timezone name.
2003-08-05 Not Zed <NotZed@Ximian.com>
** See bug #32732
* message-list.c (mail_regen_list): use thread_new.
* mail-local.c (reconfigure_response): use thread_new.
* mail-display.c (stream_write_or_redisplay_when_loaded): use
thread_new.
* mail-config.c (mail_config_check_service): use thread_new rather
than queue.
* mail-callbacks.c (view_msg): change to use mail_get_messages(),
fixes FIXME.
(do_view_messages): handle get_messages callback.
(do_view_message): removed.
* mail-ops.c (mail_get_folderinfo): Use a new thread thread
semantic.
(mail_save_part): "
(mail_store_set_offline): "
(mail_sync_folder): use queued_slow thread queue.
(mail_expunge_folder): "
(mail_empty_trash): "
svn path=/trunk/; revision=22340
2003-06-27 Jeffrey Stedfast <fejj@ximian.com>
* message-list.c (filter_date): Use the newer utf8 versions of the
e_strftime*() functions since our format strings are all now in
UTF-8.
* mail-display.c (mail_display_render): Use the newer
e_utf8_strftime_fix_am_pm().
* mail-callbacks.c (mail_generate_reply): Use e_utf8_strftime(),
otherwise we can end up with invalid utf-8.
svn path=/trunk/; revision=21712