2002-03-04 Jeffrey Stedfast <fejj@ximian.com>
* mail-display.c (load_http): Added more debugging code to help
figure out why a certain image isn't loading - looks like
gnome-vfs is getting a premature EOF?
svn path=/trunk/; revision=15910
2002-03-04 Jeffrey Stedfast <fejj@ximian.com>
* folder-browser.c (my_folder_browser_init): Connect to the
focus-in/out events on the message-list so that we can disable the
EditInvertSelection and EditSelectThread menu items when the
message-list is not in focus.
* folder-browser-ui.c (folder_browser_ui_message_list_unfocus):
New function to de-sensitize some items if the message-list is not
in focus.
(folder_browser_ui_message_list_focus): New function to sensitize
some items if the message-list is not in focus.
* mail-callbacks.c (invert_selection): Only invert the selection
of the message-list if it is the widget in focus.
* message-list.c (message_list_select): Do not explicitly grab the
focus here.
svn path=/trunk/; revision=15909
2002-02-24 Chris Toshok <toshok@ximian.com>
* folder-browser.c (folder_browser_search_do_search): rename
folder_browser_search_query_changed to this.
(folder_browser_gui_init): hook both query_changed and
search_activated up to folder_browser_search_do_search, preserving
current behavior.
svn path=/trunk/; revision=15829
2002-02-12 Jeffrey Stedfast <fejj@ximian.com>
* message-tag-followup.c (set_widget_values): Fixed a bug.
* mail-callbacks.c (flag_for_followup): If only 1 message is
selected and it happens to already be marked for follow-up, set
the value of the flag on the editor so the settings are restored.
* folder-browser-ui.c: Set the pixmaps on MarkAsRead, MarkAsUnread
and MarkAsImportant bonobo verbs. Also connect to
flag-for-followup verb.
(folder_browser_ui_set_selection_state): Added MessageFollowUpFlag
verb to the array of verb strings.
* folder-browser.c: Set key accelerators on the follow-up
right-click menu items to match Outlook.
svn path=/trunk/; revision=15702
2002-02-08 Jeffrey Stedfast <fejj@ximian.com>
* message-tag-followup.[c,h]: New flag-for-followup tag editor
dialog.
* mail-callbacks.c (flag_for_followup): New callback that pops up
a flag-for-followup editor dialog.
(flag_followup_completed): Marks all flag-for-followup'd messages
as 'complete'.
(flag_followup_clear): Clears all flag-for-followup tags from the
selected messages.
* message-tags.glade: glade file for tag editors.
svn path=/trunk/; revision=15632
2002-02-08 Jeffrey Stedfast <fejj@ximian.com>
* message-tag-editor.[c,h]: Base class for a message tag editor.
* folder-browser.c (on_right_click): Setup the hide/enable masks
for "Flag for Follow-up"
* mail-callbacks.c (confirm_expunge): Instead of hiding deleted
messages and then expunging, disable the use of the message-list
completely during the expunge operation.
(expunged_folder): Re-enable the use of the message-list widget
here.
svn path=/trunk/; revision=15626
2002-02-07 Christopher James Lahey <clahey@ximian.com>
* configure.in: Bumped the required version of gal.
From addressbook/ChangeLog:
2002-02-07 Christopher James Lahey <clahey@ximian.com>
* gui/widgets/e-addressbook-view.c
(e_addressbook_view_setup_menus): Changed this function to use the
new GalViewMenus which takes a GalViewInstance, instead of a
GalViewCollection.
From calendar/ChangeLog:
2002-02-07 Christopher James Lahey <clahey@ximian.com>
* gui/e-tasks.c (e_tasks_setup_view_menus), gui/gnome-cal.c
(gnome_calendar_setup_view_menus): Made these use the new
GalViewMenus stuff.
From mail/ChangeLog:
2002-02-07 Christopher James Lahey <clahey@ximian.com>
* folder-browser.c, folder-browser.h, folder-browser-ui.c,
folder-browser-ui.h
(folder_browser_ui_setup_view_menus,
folder_browser_ui_discard_view_menus): Changed this to use the new
GalViewMenus stuff. Made these exported functions.
* mail-callbacks.c, message-browser.c: Changed these to not pass
the now removed row parameter to message_list_select.
* mail-config.c, mail-config.h (mail_config_folder_to_safe_url):
Refactored this out of mail_config_folder_to_cachename.
* message-list.c, message-list.h (message_list_select): Removed
the row argument. Changed this to use the new function in ETree
for finding the next cursor row that matches a test.
(message_list_construct): Handle a failed construction of the
ETree here.
(message_list_setup_etree, save_tree_state): Don't load or save
the header state. folder-browser-ui.c deals with this now.
From views/ChangeLog:
2002-02-07 Christopher James Lahey <clahey@ximian.com>
* addressbook/galview.xml, calendar/galview.xml, mail/galview.xml,
tasks/galview.xml: Added default-view parameters.
* mail/As_Sent_Folder.galview: New galview.
* mail/Makefile.am, mail/galview.xml: Added As_Sent_Folder
galview.
From widgets/ChangeLog:
2002-02-07 Christopher James Lahey <clahey@ximian.com>
* menus/gal-view-menus.c, menus/gal-view-menus.h
(gal_view_menus_new): Made this take a GalViewInstance instead of
a GalViewCollection. Reworked most of this to utilize the
interfaces provided by GalViewInstance.
svn path=/trunk/; revision=15592
2002-02-06 Jeffrey Stedfast <fejj@ximian.com>
* message-list.c: Removed references to NEEDS_REPLY.
* mail-callbacks.c (mark_as_needing_reply): Removed.
(mark_as_not_needing_reply): Removed.
(toggle_need_reply): Removed.
* folder-browser.c (on_right_click): Remove CAN_MARK_NEEDS_REPLY
stuff, this is going to be implemented in an entirely different
way.
svn path=/trunk/; revision=15585
2002-01-23 Jeffrey Stedfast <fejj@ximian.com>
Implements bug #15692
* folder-browser.c (html_button_press_event): New callback that
checks to make sure that the mouse isn't over a link or image in
the html view and then calls the on_right_click handler after
getting the appropriate args.
(my_folder_browser_init): Connect to the button_press_event here.
svn path=/trunk/; revision=15437
2001-12-17 Jon Trowbridge <trow@ximian.com>
* mail-format.c (attachment_header): Avoid embedding <object> tags
when we are printing.
(handle_multipart_signed): Don't do the click-for-info signature
stuff when we are printing.
(handle_via_bonobo): Don't embed an <object> tag if we are
printing.
* folder-browser.c: Changed context_menu[] array so that we can
print when the preview pane is closed.
svn path=/trunk/; revision=15139
2001-12-11 Jon Trowbridge <trow@ximian.com>
* mail-identify.c (mail_identify_mime_part): Fixed for
mail_content_loaded's new signature.
* mail-format.c (attachment_header): Don't convert URLs, etc. if
we are printing.
(write_address): Don't convert addresses to mailto: links if we
are printing.
(write_one_text_plain_chunk): Add a printing flag, that we pass
along to mail_text_write.
(handle_text_plain): Pass our printing flag to
write_one_text_plain_chunk.
(mail_get_message_rfc822): Don't unneccesarily convert URLs.
(mail_content_loaded): Add a GtkHTML parameter.
* mail-display.c (mail_display_initialize_gtkhtml): Added. Breaks
all of the signal hookups out of mail_display_new.
(mail_display_new): Call mail_display_initialize_gtkhtml.
(mail_text_write): Don't convert URLs, etc., if we are printing.
Lots of other changes to pass around GtkHTML/GtkHTMLStream objects.
* mail-callbacks.c (do_mail_print): Call
mail_display_initialize_gtkhtml on our GtkHTML object.
* folder-browser.c (update_status_bar): Make the status bar more
useful when you have a large number of hidden messages.
svn path=/trunk/; revision=14997
Implements marking messages as "Need Reply".
2001-12-09 Jon Trowbridge <trow@ximian.com>
* mail-need-reply.xpm: Added a really, really ugly and
awful icon to symbolize "message needs a reply".
* Makefile.am (EXTRA_DIST): Added mail-need-reply.xpm.
2001-12-09 Jon Trowbridge <trow@ximian.com>
* camel-folder-summary.c: Add "NeedsReply" to the flag_names array
for CAMEL_MESSAGE_NEEDS_REPLY.
* camel-folder-summary.h: Added CAMEL_MESSAGE_NEEDS_REPLY flag.
2001-12-09 Jon Trowbridge <trow@ximian.com>
* vfoldertypes.xml: Add "Needs Reply" option to different status
types.
* filtertypes.xml: Add "Needs Reply" option to different status
types.
2001-12-09 Jon Trowbridge <trow@ximian.com>
* message-list.c: #include "art/mail-need-reply.xpm".
(ml_tree_value_at): Adjust magic numbers, show "Need Reply" icon
if the message needs reply.
(message_list_create_extras): Adjust magic numbers to add new
icon.
(on_click): Changed to toggle between unread, read, and need reply
when the status icon is clicked.
* mail-callbacks.c (mark_as_needing_reply): Added.
(mark_as_not_needing_reply): Added. Add "set" value to struct
post_send_data.
(composer_sent_cb): Use both "flags" and "set" elements of
post_send_data when setting message flags.
(mail_reply): Clear "Needs Reply" flag when we actually reply to a
message.
* folder-browser.c: Changed flag values to be given by
bit-shifting (1<<5) vs. base-ten (32). Added
CAN_MARK_DOESNT_NEED_REPLY flag. Added "Mark as Needing Reply"
and "Mark as Not Needing Reply" elements to context menu.
(on_right_click): Hide "Mark as (Not) Needing Reply" context menu
elements as appropriate.
svn path=/trunk/; revision=14946
2001-11-25 Not Zed <NotZed@Ximian.com>
* mail-config.c (config_read): Enable news accounts that exist
always, since no gui for it.
2001-11-20 Jeffrey Stedfast <fejj@ximian.com>
* message-list.c (message_list_select): 'n' shouldn't wrap if 'p'
doesn't.
* mail-format.c (format_mime_part): Make sure the mime-type is
non-NULL before passing it off to mail_lookup_handler().
2001-11-20 Not Zed <NotZed@Ximian.com>
* folder-browser-ui.c: Disable search if no message
loaded/viewed. Also for #14348.
* folder-browser.c: Disable "Add sender to addressbook" if we dont
have a message loaded (it wont work). For #14348.
2001-11-20 Jeffrey Stedfast <fejj@ximian.com>
* mail-display.c (load_content_loaded): Make sure the mail-display
object is still "alive" before accessing any of it's data.
svn path=/trunk/; revision=14796
2001-11-08 Jeffrey Stedfast <fejj@ximian.com>
* mail-tools.c (mail_tools_x_evolution_message_parse): Was
x_evolution_message_parse from folder-browser.c. A space char is
no longer used to separate the folder URI and the first uid,
instead this is now done with a nul-char so update to parse the
newer/better format.
* component-factory.c (destination_folder_handle_drop): Update to
parse the new/better format.
* folder-browser.c (x_evolution_message_parse): Moved to
mail-tools.c
(message_list_drag_data_get): Instead of placing a space char
after the folder URI, instead use a nul-char.
svn path=/trunk/; revision=14645
2001-11-02 <NotZed@Ximian.com>
* message-browser.c (message_browser_message_list_built):
Disconnect from the message_list_built function so we dont do it
every time the list is rebuilt.
* mail-callbacks.c (composer_send_cb): Disable autosave when we're
sending mail.
(composer_sent_cb): Re-enable autosave.
* folder-browser-ui.c (fbui_sensitize_timeout): Make sure we reset
any data we're using on the folderbrowser before doing anything
'cause things could vanish while we're doing it, and also
ref/unref the folderbrowser so it doesn't vanish while w'ere
working.
* folder-browser.c (folder_browser_set_ui_component): If we are
changing the ui comp, remove any pending timeouts. For #13719.
svn path=/trunk/; revision=14575
2001-10-29 Jeffrey Stedfast <fejj@ximian.com>
* mail-ops.c (transfer_messages_transfer): Don't warn the user if
the source and destination folders are the same.
svn path=/trunk/; revision=14410
2001-10-29 Christopher James Lahey <clahey@ximian.com>
* e-searching-tokenizer.c (search_info_set_match_size_increase):
Fixed a warning by #if 0ing out this function.
* folder-browser.c, folder-browser.h (on_selection_changed):
Update status bar in an idle call. Fixes Ximian bug #13929.
* mail-folder-cache.c (folder_renamed, store_folder_renamed):
Fixed some warnings here.
svn path=/trunk/; revision=14372
* folder-browser.c (folder_browser_copy): Fix the focus check.
It's not fb->message_list that has focus, it's one of its
children. #13616.
svn path=/trunk/; revision=14370
2001-10-29 <NotZed@Ximian.com>
* mail-vfolder.c (rule_changed): Copy the folder's full_name
before trying to use it to rename.
(vfolder_edit_rule): Set 'orig' to be a reference of the original
rule.
(edit_rule_clicked): Dont lookup orig by name, copy it over
instead.
* folder-browser.c (got_folder): oops, emit signal before
unreffing object, incase we got killded during getting folder.
(got_folder): Reset get_id.
(folder_browser_new): Set get_id of the get_folder task.
(folder_browser_init): Init get_id.
(folder_browser_destroy): IF we have outstanding 'get folder' op,
cancel it.
svn path=/trunk/; revision=14323
* folder-browser.c (etree_key): Work around something that we
think is a GtkHTML bug, where sometimes the adjustments have
slightly bogus values and scrolling ends up working backwards.
(Ximian 4939)
* mail-display.c (do_signature, do_attachment_header): Set the
icon to be 24x24 here so that (assuming it's not a thumbnail), no
resizes will have to be queued later. (There's still a bug with
the text to the left of the button being drawn twice for some
reason though.)
* mail-callbacks.c (delete_msg): Fix a bug here that makes
deleting multiple messages cause a gratuitous message body fetch.
(Ximian 12355)
svn path=/trunk/; revision=14172
2001-10-25 <NotZed@Ximian.com>
* folder-browser-ui.c (fbui_sensitize_timeout): So apparently the
uicomp can just 'vanish' while we're using it. Joy. Take care of
that case here, fixes#13482.
(fbui_sensitise_item): Check here too just for kicks.
* mail-folder-cache.c (store_finalised): If we can't destroy our
async event, then queue another one to do it.
(store_finalised_finish): And handle it here, until we can, then
free it.
(mail_note_store): Queue an async event to get folderinfo, dont
use mail_get_folderinfo.
(update_folders_get): thread-async event to retrieve the
folderinfo, and build it, then queues gui-async event to update
the gui.
(add_unmatched_info): Taken from mail-ops, adds unmatched if
required.
(add_vtrash_info): From mail-ops, add trash if required.
(update_folders): Thread async event to update gui.
(mail_note_store): Ref the store and storage when created.
(update_1folder): Changed to assume we have info_lock, and store
updates in an updates list.
(setup_folder): Same.
(folder_changed): Changed to call update_1folder directly.
(real_folder_changed): Removed.
(mail_note_folder): Changed to call update_1folder directly.
(real_note_folder): Removed.
(store_folder_subscribed): Call setup_folder directly.
(real_folder_created): Removed.
(real_flush_update): Function that actually does the updates in
the gui thread.
(mail_note_store): Go back to using mail_get_folderinfo.
(update_folders): Fixed upf ro changed api's.
(unset_folder_info): Changed to queue pending updates.
(real_folder_deleted): Removed.
(store_folder_unsubscribed): Do the removal work directly.
(mail_note_store): Dont link to finalised event of store - we now
ref it.
(mail_note_store_remove): If we have any pending updates, clear
them out. Also cancel any pending folderinfo retrieve operations.
(update_folders): Remove our update from the storeinfo list, if it
still exists.
(update_1folder): Make 'sent folder shows all counts' optional via
an environmental variable EVOLUTION_COUNT_SENT for all those
bloody whinging lusers out there.
(mail_note_store_remove): Unref the storage when done.
* mail-mt.c (mail_async_event_emit): If we're in main and have a
gui task, set it to run via an idle function.
(idle_async_event): Wrapper for calling do_async_event from idle
function, and freeing the message when done.
(idle_async_event): Call mail_msg_free not free on the finished
message.
* component-factory.c (mail_remove_storage): Destroy the storage
async.
(store_disconnect): This does the work.
(free_storage): Un-note the store when we remove it, so the store
noting code can unref things properly.
(idle_quit): Return false when done, dont loop.
2001-10-24 <NotZed@Ximian.com>
* component-factory.c (owner_set_cb): Setup an async_event
handler.
(idle_quit): Try to destroy the async_event, or keep dropping out
if it can't (deadlock).
* mail-mt.c (do_async_event): Set the threadid of the thread we're
running in so we know its running/which thread its in.
(mail_async_event_emit): Added new argument 'type' which is the
type of thread to execute against, gui or another one. Fixed all
callers.
(mail_async_event_destroy): Return -1 if this operation will fail
(deadlock possibility). If we're in the thread of the task
we're going to wait for, then return a failure (since we will
deadlock).
(mail_async_event_emit): Chagned to use MailAsyncFunc type as the
function type, which just takes 3 void args, change args to suit.
* mail-folder-cache.c (mail_note_store): Record the pending update
events in a pending list. We should really be able to use an
async event for this, but that doesn't return to the gui loop when
done :-/
(update_folders): Remove from pending update when done.
svn path=/trunk/; revision=14101
2001-10-23 Jeffrey Stedfast <fejj@ximian.com>
* component-factory.c (owner_unset_cb): Unref the global
search_context.
(owner_set_cb): create the global search_context.
* folder-browser.c (folder_browser_gui_init): Pass along the
global search_context to the e_filter_bar_new call.
svn path=/trunk/; revision=13976
fix for #10346
2001-10-24 <NotZed@Ximian.com>
* message-browser.c (message_browser_message_loaded): Call
ui_message_loaded when we are.
* folder-browser-factory.c (control_activate): Freeze/thaw around
all updates.
(control_deactivate): Freeze/thaw around all updates.
* folder-browser.c (folder_browser_init): Setup a hashtable to
keep track of *our* sensitise state, so we can optimise pushes to
bonobo.
(folder_browser_finalise): Free hash here.
(folder_browser_set_message_preview): Call a ui_message_loaded,
even though it isn't, so it updates sensitivities right.
(done_message_selected): Call ui_message_loaded when it really is,
rather than the very fucked up idea of reversing the loaded_uid
check.
* folder-browser-ui.c (folder_browser_ui_set_selection_state):
Dont enable the message-enabled options if the message display is
hidden, e.g. print, view headers, etc.
(folder_browser_ui_rm_all): Forget sensitise state.
(fbui_sensitise_item): Sensitise items via a current-state table,
so we dont have to do bonobo calls every time.
(folder_browser_setup_property_menu): Call sensitise_item.
(folder_browser_ui_add_message):
(folder_browser_ui_add_global): Leave current set_prop "sensitive"
for the stop button, so it doesn't get lost by the stuff in
mail-mt.c
(fbui_real_sensitize_items): Removed.
(fbui_sensitize_timeout): Cleaned up, use sensitise_item to do
work.
(folder_browser_ui_message_loaded): Setup sensitive based on
preview_shown too.
(folder_browser_ui_set_selection_state): And here too.
svn path=/trunk/; revision=13972
2001-10-22 Jeffrey Stedfast <fejj@ximian.com>
* folder-browser.c (folder_browser_destroy): Move the folder sync
code along with a few other things from folder_browser_finalise()
into here instead.
(folder_browser_finalise): Moved some cleanup functions into
destroy.
svn path=/trunk/; revision=13892
2001-10-21 <NotZed@Ximian.com>
* mail-vfolder.c (mail_vfolder_shutdown): Clear variables once
done, for debugging.
(mail_vfolder_add_uri, mail_vfolder_delete_uri): Dont do anything
if we're shutdown (context == NULL).
* component-factory.c (idle_quit): Move mail_vfolder_shutdown
here, it should be one of the last things shutdown.
* mail-format.c (handle_text_plain): Dont use (if (!p++), and then
check p!= later, since its now 1, oops. Fixes#13106, thought it
was a start of uuencoded stuff!
* folder-browser.c (on_right_click): Escape _'s before adding them
to menu from mailing list name, also remove some dead code that
someone forgot to remove when refactoring. #11307.
(folder_browser_is_drafts): Use the store's uri_cmp function to
compare to the drafts uri's.
(folder_browser_is_sent): Same. Slight cleanup for #11351.
svn path=/trunk/; revision=13856
* mail-folder-cache.c: Added an async_event handler to store_info.
(mail_note_store): Setup async event handler here.
(store_finalised): Flush out async events here.
(folder_changed): Use async event handler to emit event.
(mail_note_folder): Chagned, do most of the work in the calling
context, only do the corba stuff in main.
(store_folder_subscribed): Use async event, and do more work locally.
(store_folder_unsubscribed): Same.
(store_folder_deleted): Call store_folder_unsubscribed if we have
to do any work.
(store_folder_created): Call store_folder_subscribed if we have to
do any work.
(store_folder_unsubscribed): Ref store while busy.
(real_folder_deleted): And unref here.
(store_folder_subscribed): Reg store while busy.
(real_folder_created): Unref here.
(mail_note_folder): Ref folder while busy.
(real_note_folder): And unref here.
(mail_note_folder): Hook onto folder_deleted event.
(folder_deleted): Just mark this folder as no longer available.
* mail-session.c (register_timeout): Use mail_call_main instead of
proxy_event.
(remove_timeout): Same here.
* folder-browser.c (folder_changed): use the new mail_async_event
stuff.
(folder_changed_main): Remove old async event handling stuff.
(FOLDER_BROWSER_LOCK/UNLOCK): Removed.
(FolderBrowserPrivate): Removed too, sigh.
* mail-mt.c (mail_async_event_new, mail_async_event_emit,
mail_async_event_destroy): New functions to handle async events.
(mail_proxy_event, mail_proxy_event_id): Removed old functions for
async events.
(do_call): Add suport for MAIL_CALL_p_pp.
(mail_msg_free): Use mail_async_event instead of proxy_event.
* message-list.c (message_changed): Promote the message_changed to
a folder_changed and use main_folder_changed to process it.
(main_message_changed): Remove.d
(message_list_init): Setup async event handler.
(message_list_destroy): Remove async handler.
(folder_changed): Use async hanler to emit event in main loop.
(message_changed): Same.
svn path=/trunk/; revision=13698
2001-10-16 <NotZed@Ximian.com>
* mail-mt.c (mail_proxy_event_id): New function to return the id
of the currently executing proxied event.
* folder-browser.h: Added private field.
* folder-browser.c (folder_changed): Keep track of tasks
outstanding in the tasks list, locked access.
(FOLDER_BROWSER_LOCK, UNLOCK): Macros to lock the folder browser
for poking about in diff threads.
(folder_browser_finalise): Wait for any outstanding takss to
finish before cleaning ourself up.
(folder_browser_destroy): Move the seen_id handling to finalise,
also add a loading_id handling code.
(main_folder_changed): Remove our running task when done.
svn path=/trunk/; revision=13695
2001-10-09 Jeffrey Stedfast <fejj@ximian.com>
* folder-browser-ui.c (folder_browser_ui_add_message): Create a
chaqrset picker submenu in the View menu.
* mail-format.c (mail_format_raw_message): Pass the mail-display
to get_data_wrapper_text.
(get_data_wrapper_text): Use the user's override charset if one is
provided, otherwise user the user's default charset.
(handle_text_plain): Pass along the mail-display to
get_data_wrapper_text.
(handle_application_pgp): Same.
(handle_text_enriched): Here too.
(mail_get_message_body): Pass NULL as the mail-display to
get_data_wrapper_text since we don't have access to a
mail-display.
* mail-display.c (mail_display_set_charset): New function to set a
charset on the maildisplay. Once set, the message is redisplayed
using the new charset.
(mail_display_destroy): Free the charset.
* folder-browser.c (folder_browser_charset_changed): New callback
for when a user overrides the message charset.
svn path=/trunk/; revision=13530
2001-10-05 <NotZed@Ximian.com>
* folder-browser.c: reformatted the menu tables so they're a bit
more bloody readable.
* mail-folder-cache.c (mail_note_store): Hook into
subscribed/unsubscribed events. Only 'add/remove' folders from
the add/removed events if we aren't subscribed, otherwise use the
subscribed events. Rest of fix for #11831
svn path=/trunk/; revision=13472
2001-10-04 <NotZed@Ximian.com>
* folder-browser.c (update_status_bar): Show "nn sent" as total in
sent folder, rather than just 'total'.
* mail-folder-cache.c (update_1folder): Also show total message
count for sent_folder.
svn path=/trunk/; revision=13429
2001-10-03 <NotZed@Ximian.com>
* folder-browser.c (update_status_bar): If we have hide deleted
set, then dont count deleted messages in the 'total' messages
count. Fixes#6591.
svn path=/trunk/; revision=13381
2001-10-02 Jeffrey Stedfast <fejj@ximian.com>
* mail-callbacks.c (transfer_msg): Pass an empty flags argument to
mail_transfer_messages - destination folder should already be
created by this point.
* folder-browser.c (message_list_drag_data_received): Pass an
empty flags argument to mail_transfer_messages.
(selection_received): Same.
* component-factory.c (xfer_folder): Pass the CREATE flag to
mail_transfer_messages() so that the dest folder gets created.
(destination_folder_handle_drop): Update for mail-ops API change.
* mail-ops.c (mail_transfer_messages): Now takes a dest_flags
argument that it passes along to mail_tool_uri_to_folder when
opening the destination folder.
svn path=/trunk/; revision=13357
2001-10-02 Jeffrey Stedfast <fejj@ximian.com>
* mail-vfolder.c (vfolder_setup_do): Pass an empty flags argument
to mail_tool_uri_to_folder.
(vfolder_adduri_do): Same.
* mail-session.c (get_folder): Pass an empty flags argument to
mail_tool_uri_to_folder.
* mail-send-recv.c (receive_get_folder): Pass an empty flags
argument to mail_tool_uri_to_folder.
* mail-ops.c (get_folder_get): Pass the flags to
mail_tool_uri_to_folder.
(mail_get_folder): Now takes a flags argument.
(remove_folder_get): Pass an empty flags argument to
mail_tool_uri_to_folder.
(mail_send_message): Pass an empty argument flag to
mail_tool_uri_to_folder.
(transfer_messages_transfer): Same. Destination folder should
already be created by this time.
* folder-info.c (do_get_info): Pass an empty flags argument to
mail_tool_uri_to_folder.
* importers/evolution-mbox-importer.c (folder_created_cb): Pass
the CREATE flag here too.
(load_file_fn): And here.
(load_file_fn): And here too.
* importers/evolution-outlook-importer.c (load_file_fn): Pass the
CREATE flag to mail_tool_uri_to_folder.
* folder-browser.c (folder_browser_new): Pass an empty flags
argument.
(x_evolution_message_parse): Pass an empty flags argument to
mail_tool_uri_to_folder.
* component-factory.c (create_folder): Pass a CREATE flag to
mail_get_folder here too.
(owner_set_cb): And here.
(xfer_folder): Shouldn't need the CREATE flag here, so not passing
any flags.
(destination_folder_handle_drop): Same.
* mail-local.c (mail_local_store_add_folder): Pass a CREATE flag
to mail_get_folder.
(reconfigure_folder_reconfigure): Pass an empty flags argument to
mail_tool_uri_to_folder.
* mail-tools.c (mail_tool_uri_to_folder): Take a flags argument.
(mail_tool_get_local_inbox): Pass an empty flags argument to
mail_tool_uri_to_folder.
svn path=/trunk/; revision=13353
2001-09-25 <NotZed@Ximian.com>
* folder-browser.c (folder_browser_destroy): Deal with destroy vs
finalise semantics. Only destroy widgets here.
(folder_browser_finalise): object finalise function, actually
unref/free all other objects here.
(folder_browser_class_init): Init the finalise hook.
(got_folder): Check if message_list == NULL -> we've been
destroyed before the thread got a chance to finish loading the
folder.
(folder_browser_is_drafts): Dont use a g_return_if_fail to return
in what could be a valid state of the object.
(folder_browser_is_sent): Likewise.
(folder_browser_copy): Do nothing if message_list == NULL.
* main.c (main): call mail_msg_cleanup() before leaving threads.
* component-factory.c (owner_unset_cb): Wait for all outstanding
operations to finish before setting up to quit.
(idle_quit): Wait for all outstanding ops to finish before
cleanup.
(unref_standard_folders): NULL out the standard folder before
unreffing it.
* mail-mt.c (mail_msg_wait_all): New function to wait for all
outstanding thread operations.
(mail_msg_cleanup): Destroy the io channels before we're
finished. Also wait for all outstanding threads first. Made
public.
(mail_msg_init): Dont call mail_msg_cleanup atexit automatically.
svn path=/trunk/; revision=13129
2001-09-20 <NotZed@Ximian.com>
* folder-browser.c (folder_browser_set_shell_view): Update the
status bar here, assuming we've just been activated.
* mail-ops.c (add_vtrash_info): Scan whole list, rather than
missing the last one. Also dont assume its always the last,
otherwise we could lose following folders.
* mail-vfolder.c
(all): d(x) out debug printfs
* mail-folder-cache.c
(update_1folder): If its a vtrash folder, or the outbox_folder,
and we have a folder, then make the 'count' the total message
count, not unread messages count.
svn path=/trunk/; revision=13036
2001-09-20 <NotZed@Ximian.com>
* mail-tools.c(mail_tool_uri_to_folder): Register vfolder sources here.
* folder-browser.c (got_folder): Dont register vfolder sources
here.
* mail-ops.c (mail_get_folder): Add thread parameter. Fix callers.
* mail-vfolder.c (vfolder_setup): Use the 'slow' queue for setting
up vfolders.
* mail-mt.c (mail_msg_init): Limit the maximum number of threads
on the 'new' thread to 10.
(mail_msg_init): Create a new queue 'slow' for doing slow
operations.
svn path=/trunk/; revision=13017
2001-09-19 <NotZed@Ximian.com>
* General cleanup of mail debug printfs.
* mail-folder-cache.[ch]: Completely rewritten. Removed all calls
to the old code everywhere they were used. Nuff said.
* folder-browser.h: Add shell_view to folder_browser & api to set
it.
* folder-browser-factory.c (control_activate): Set the shell-view
on the folder_browser.
(control_deactivate): And clear it here.
* folder-browser.c (folder_browser_destroy): Unhook from changed
events on the folder before giving it away.
(got_folder): Hook onto the folder-changed events.
(folder_changed): Event hook proxy for folder_changed events
(main_folder_changed): And the main code version.
(update_status_bar): And the one that actually does the work.
(on_selection_changed): Also call update_status_bar() to update
the selection count.
(folder_browser_set_shell_view): Implement function to set the
shell_view on the folder_browser.
(folder_browser_destroy): Release the shell_view here too.
* mail-tools.c (mail_tool_uri_to_folder): Dont 'note' the new
folder if its from a file: url, this is handled by hte local store
(yeeruughck).
* mail-local.c (mls_init):
(free_info):
(mls_finalise): Setup init/finalise funcs for the folderinfo hash.
(local_storage_removed_folder_cb): re-enable.
2001-09-18 <NotZed@Ximian.com>
* mail-local.c (MailLocalStore): Add a hash table to store
uri<>folderinfo data.
(mail_local_store_add_folder): Add a new folderinfo to our hash.
(mail_local_store_remove_folder): Remove a folder by uri.
(storage_listener_startup): Add this store to those monitored by
the folder tree.
svn path=/trunk/; revision=12974