2003-06-16 Not Zed <NotZed@Ximian.com>
** See bug #44609
* mail-vfolder.c (vfolder_edit_rule): put the ok/cancel buttons in
the stupid gnome 2 order.
** See bug #33593
* message-list.c (on_selection_changed_cmd): also listedn to
selection changed events, since the etable api has changed.
(get_selected_cb): helper for above.
(message_list_construct): hook to selection change signal.
* mail-callbacks.c (composer_send_queued_cb): Unref the composer
to match the ref composer_send_cb();
** See bug #44519
* message-browser.c (message_browser_message_list_built): We want
to disconnect from the messagelist, not folderbrowser signal.
svn path=/trunk/; revision=21452
2003-04-14 Jeffrey Stedfast <fejj@ximian.com>
* mail-vfolder.c (vfolder_gui_add_rule): Set the correct border
width and vbox spacing to be HIG compliant. Fixes bug #41209.
(vfolder_edit_rule): Same here.
* local-config.glade: Updated to comply with the HIG. Fixes bug
#41244.
svn path=/trunk/; revision=20846
2003-03-18 Not Zed <NotZed@Ximian.com>
* mail-vfolder.c (new_rule_clicked): validate rule & rule is
unique. Workaround for #39464. Should this just use
rule_context_add_rule_gui??
svn path=/trunk/; revision=20333
2003-03-11 Not Zed <NotZed@Ximian.com>
* mail-vfolder.c (vfolder_editor_response): Fix the response code,
because some bastard changed the filter/* code and didn't fix the
callers. Partial fix for #39165.
svn path=/trunk/; revision=20231
2003-02-10 Jeffrey Stedfast <fejj@ximian.com>
* message-list.c (build_tree): Use g_signal_emit() rather than
gtk_signal_emit().
(build_flat): Same here.
* mail-signature-editor.c: #include <string.h>
* mail-vfolder.c: #include <string.h>
* mail-session.c: #include <string.h>
* mail-search.c: #include <string.h>
* mail-mt.c: #include <string.h>
* mail-ops.c (save_part_save): Use strcasecmp() instead of
g_strcasecmp().
* mail-local.c: #include <string.h>
(reconfigure_folder_reconfigured): Use a GtkDialog instead of
gnome_error_dialog().
* mail-format.c (find_preferred_alternative): Use g_ascii_strdown
since g_strdown is deprecated.
(fake_mime_part_from_data): Removed, no longer used it seems.
(destroy_part): Also removed.
* mail-display.c (make_popup_window): Replace call to
gtk_window_set_polociy() with gtk_window_set_resizable() instead.
(popup_size_allocate_cb): Use gtk_window_set_position() with
GTK_WIN_POS_MOUSE instead of calculating the position to put it
in.
svn path=/trunk/; revision=19878
* folder-browser-ui.c (folder_browser_ui_setup_view_menus): Use
EVOLUTION_GALVIEWSDIR.
* message-browser.c (set_bonobo_ui): Get
evolution-mail-messagedisplay.xml from EVOLUTION_UIDIR.
* mail-signature-editor.c (mail_signature_editor): Get
evolution-signature-editor.xml from EVOLUTION_UIDIR.
* folder-browser-ui.c (ui_add): Get the evoluiton-mail* XML files
from EVOLUTION_UIDIR.
* Makefile.am (INCLUDES): Define EVOLUTION_GALVIEWSDIR; update
EVOLUTION_IMAGESDIR to include the $(BASE_VERSION).
(gladedir): Version using $(BASE_VERSION).
(etspecdir): Likewise.
(iconsdir): Likewise.
(buttonsdir): Likewise.
(etspecdir): Likewise.
* component-factory.c (owner_set_cb): Look for vfoldertypes.xml in
the new version-aware location.
* mail-summary.c (generate_folder_summaries): Likewise.
* mail-search-dialogue.c (mail_search_dialogue_construct): Likewise.
* mail-vfolder.c (vfolder_load_storage): Likewise.
* mail-autofilter.c (filter_gui_add_from_message): Look for
filtertypes.xml in the new version-aware location.
(mail_filter_rename_uri): Likewise.
(mail_filter_delete_uri): Likewise.
* mail-session.c (main_get_filter_driver): Likewise.
* mail-callbacks.c (filter_edit): Likewise.
svn path=/trunk/; revision=19562
2003-01-17 Jeffrey Stedfast <fejj@ximian.com>
* mail-session.c (do_get_pass): Updated.
(request_password): Same.
* mail-send-recv.c (mail_send): Fixed to use EAccountService.
* mail-config-druid.c (make_account): Updated to use EAccount and
friends.
* mail-account-gui.c (service_check_supported): Updated to use
EAccountService.
(mail_account_gui_new): Ref the account passed in and also update
to use EAccount objects.
(save_service): Updated to use an EAccountService.
(add_new_store): Updated to use an EAccount.
(mail_account_gui_save): Updated to use EAccounts.
(setup_signatures): Updated because the new account->id->def_sig
is now an int and not a structure pointer.
* mail-account-editor.c (construct): Updated.
(mail_account_editor_new): Now takes an EAccount object as an
argument instead of a MailConfigAccount.
* mail-crypto.c (mail_crypto_get_pgp_cipher_context): Updated to
use EAccounts.
* subscribe-dialog.c (populate_store_foreach): Removed.
(populate_store_list): Can't use populate_store_foreach here
because of the change to EAccountList so do it manually.
* mail-vfolder.c (uri_is_ignore): Rewrote to use EAccountList and
EIterator and all that fun.
* mail-send-recv.c (build_dialogue): Updated to use EAccountList
and EAccount object stuff. *ugh*
(mail_send_receive): Here too.
(mail_autoreceive_setup): Same.
* mail-callbacks.c (check_send_configuration): Updated.
(composer_get_message): Updated.
(compose_msg): "
(list_add_addresses): "
(guess_me): "
(guess_me_from_accounts): Same.
(forward_get_composer): Here too.
(mail_generate_reply): Same.
(redirect_get_composer): "
(empty_trash): And finally here.
* mail-accounts.c (account_edit_clicked): Updated.
(account_delete_clicked): Same.
(account_default_clicked): Here too.
(account_able_clicked): "
(account_cursor_change): "
(mail_accounts_load): Again here.
* folder-browser.c (folder_browser_is_drafts): Updated to use
EAccountList and EAccount stuff.
(folder_browser_is_sent): Same.
* component-factory.c (mail_load_storages): Updated to use
EAccount and EAccountList stuff.
(owner_set_cb): Same.
(send_receive_cb): Here too.
* mail-config.c: Rewritten to use EAccount and EAccountList
objects.
svn path=/trunk/; revision=19509
2002-12-17 Jeffrey Stedfast <fejj@ximian.com>
...And a whole bunch more build fixes.
* mail-vfolder.c (mail_vfolder_delete_uri): Don't use
g_string_sprintfa() anymore since it is apparently deprecated.
* mail-session.c (main_get_filter_driver): Don't use
g_string_sprintfa() anymore since it is apparently deprecated.
* mail-ops.c (build_from): Don't use g_string_sprintfa() anymore
since it is apparently deprecated.
* mail-callbacks.c (ask_confirm_for_unwanted_html_mail): Don't use
g_string_sprintfa() anymore since it is apparently deprecated.
* mail-autofilter.c: Don't use g_string_sprintfa() anymore since
it is apparently deprecated.
* folder-browser.c: Don't use g_string_sprintfa() anymore since it
is apparently deprecated.
* mail-search.c (mail_search_set_subject): Remove the unnecessary
g_strdup()'age as well as fix a possible buffer overrun.
* mail-local.c (mail_local_folder_construct): Use
g_path_get_basename().
* mail-config-druid.c (make_account): Don't use e_utf8_*
functions.
svn path=/trunk/; revision=19152
2002-11-27 Not Zed <NotZed@Ximian.com>
* message-tag-followup.c (construct): gnome_pixmap -> gtkimage.
(construct): gtk_clist -> gtk_tree_view, setup columns. They dont
size well :-/
(message_tag_followup_append_message): Append using model, remove
clist stuff.
(construct): Show date edit (glade bugs?)
* folder-browser.c (folder_browser_class_init): gtk_marshal -> g_cclosure_marshal
(setup_popup_icons): gnome_pixmap -> gtk_image.
(on_right_click): gtk_pixmap -> gtk_image.
* mail-accounts.c (account_delete_clicked): removed #if 0'd out code.
* mail-send-recv.c (receive_done): remove FIXME and extra unref.
* mail-session.c (request_password): Removed #if 0'd out stuff.
* mail-vfolder.c (new_rule_clicked): proper cast for g_object_get_data.
* mail-local.c (reconfigure_response): cast for g_object_get_data.
* mail-account-editor.c (construct): GNOME_DIALOG -> GTK_DIALOG.
* *.[ch]: re-ran fix.sh for e_notice change
* mail-callbacks.c (save_msg_ok): g_object_get_data +
gtk_object_remove_no_notify -> g_object_steal_data.
(find_socket): gtk_container_children ->
gtk_container_get_children
(edit_msg): gnome_*_dialog -> gtk_message_dialog.
(resent_msg): "
(search_msg): "
(confirm_goto_next_folder): gtkmessagedialogised (even if not
used).
(confirm_expunge): gtkmessagedialogised
(filter_edit): "
(do_mail_print): e_notice -> gtk_message_dialog.
(are_you_sure): removed e_gnome_ok_cancel_dialog crap, replaced
with a gtk dialog.
(are_you_sure): gtkmessagedialogised.
(edit_msg_internal): Dont free uids array, are_you_sure() free's
it.
(resend_msg): Same.
(check_send_configuration): Use e_notice for stuff. Sigh, here we
go again ...!
(e_question): A utility function to ask a question, potentially
with 'dont ask again' as well.
(configure_mail): use e_question to save code. Here we go again,
again ...
(ask_confirm_for_unwanted_html_mail): "
(ask_confirm_for_only_bcc): "
(ask_confirm_for_only_bcc): "
(composer_get_message): Use e_notice.
(composer_save_draft_cb): Use e_question
(edit_msg): use e_notice, & change to an ERROR.
(resend_msg): same.
(save_msg_ok): Properly initialise ret to OK, and use e_question,
and use access() to determine existance/write access rather than
stat, display an error if we can't write to a file that exists,
and print the filename in all dialogues.
(confirm_goto_next_folder): Use e_question.
(confirm_expunge): use e_question.
(filter_edit): Use e_notice.
(do_mail_print): use e_notice.
svn path=/trunk/; revision=18974
2002-11-26 Not Zed <NotZed@Ximian.com>
* mail-vfolder.c (vfolder_gui_add_rule): clicked->response signal
for gtk dialogue.
(new_rule_clicked): Dont unref after destroy (duh, idiot again).
(edit_rule_response): Same here.
(mail_vfolder_delete_uri): Connect response signal to
gtk_widget_destroy directrly using g_signal_connect_swapped.
(close_dialogue): Removed, as no longer needed.
svn path=/trunk/; revision=18925
2002-11-19 Not Zed <NotZed@Ximian.com>
* importers/evolution-mbox-importer.c (mail_importer_module_init):
fix warning message, outlook->mbox.
* importers/Makefile.am: fix serverdir to point to
$libdir/bonobo/servers.
* mail-callbacks.c (addrbook_sender): add type to
bonobo_widget_set_property.
* mail-vfolder.c (vfolder_editor_response): dont unref after destroy.
* mail-session.c (pass_response): dont unref aftrer destroy.
* mail-local.c (reconfigure_response): dont unref after destroy.
* mail-display.c (launch_cb): dont unref after destroy.
(launch_cb): "
(drag_data_get_cb): "
(html_button_press_event): add type to bonobo_widget::set_property
* mail-config.c (mail_config_check_service): dont unref after
destroy.
* component-factory.c (send_receive_cb): dont unref after destroy.
(request_quit): "
* mail-signature-editor.c (mail_signature_editor): Use version 3.0
of gtkhtml editor interfaces.
(do_exit): dont unref after destroy.
(format_html_cb): Add type to bonobo_widget::set_property.
svn path=/trunk/; revision=18837
2002-11-13 Not Zed <NotZed@Ximian.com>
* Makefile.am: Commented out stuff that doesn't build yet. Also
fixed idl build rule. importers still not built.
* main.c (main): bonobactivationise. remove push visual/colormap.
(main): no longer activate activation, let bonobo_init do it.
* mail-signature-editor.c (menu_help): Change help api.
* mail-session.c (user_message_destroy_noreply): removed. Not
used?
* mail-local.c (load_metainfo): xml root->children.
* mail-format.c (g_string_append_len): Removed, it exists now.
2002-11-12 Not Zed <NotZed@Ximian.com>
* subscribe-dialog.c: gnome2ised, use gtkdialog.
(subscribe_get_global_extras): use a weak ref rather than destroy signal.
* message-tag-followup.c: gnome2ised.
* message-tag-editor.c: gnome2ised & converted to gtkdialog.
* message-list.c: gnome2ised.
(message_list_finalise): From destroy method. maybe should be
destroy still.
* message-browser.c: port to gnome2
(message_browser_finalise): renamed from destroy method.
* mail-stream-gtkhtml.c: removed redundant
camel_class_get_global_classfuncs() call.
* mail-signature-editor.c: gtkdialogised, & bonobo api changes.
* mail-search-dialogue.c: gtkdialogised.
* mail-folder-cache.c: cleaned up camel ref/hook casts.
* mail-composer-prefs.c (mail_composer_prefs_get_type): convert to
gtype.
* mail-font-prefs.c (mail_font_prefs_destroy): from finalise.
* mail-config.c: s/bonobo_config/e_config_listener/
Added /apps/Evolution prefix to the evolution keys.
Changed to use e_config_listener, etc.
(mail_config_init): remove bonobo_config stuff.
(mail_config_check_service): gtk dialogise.
(check_response): from check_cancelled.
* mail-config-druid.c (mail_config_druid_destroy): renamed from
_finalize, turned into destroy handler.
(construct): set type to toplevel, GTK_WINDOW_DIALOG no longer exists.
* mail-config-factory.c (mail_config_register_factory): bonobo api
changes.
* mail-crypto.c (mail_crypto_get_pgp_cipher_context): cleaned up
unref casts.
* mail-display.c (write_data_to_file): gnome->gtkdialog.
(on_link_clicked): use ascii_str*cmp on url.
(save_part): g_path stuff.
(launch_cb): gtk dialog.
(pixmap_press): de-oafify.
(pixbuf_for_mime_type): gnome-vfs api changes.
(do_attachment_header): Change the pixmap to a gtkimage.
(do_signature): "
(pixbuf_gen_idle): "
(do_attachment_header): ascii_str*cmp
(do_attachment_header): gnome pixmap->gtkimage.
(mail_display_destroy): protect against gtk mentalness.
(html_button_press_event): ascii_str*cmp
(drag_data_get_cb): added comment for translators of filename.
* mail-format.c (component_supports): de-oafise.
(is_anonymous): ascii_strncmp
(attachment_header): remove utf8<>locale stuff, and gnomevfs api
changes.
(format_mime_part): fix g_strdown call.
(write_field_row_begin): kill utf8->gtk stuff.
(write_address): "
(default_header_index): ascii_strcasecmp
(handle_text_plain): "
(handle_text_enriched): "
(handle_multipart_encrypted): remove utf/gtk stuff.
(handle_message_external_body): ascii_str*cmp
* mail-identify.c (mail_identify_mime_part):
(identify_by_magic): gnome vfs api changes.
* mail-importer.c: Converted.
* mail-local.c (load_metainfo): xml childs -> children.
(mls_get_folder): g_strerror.
(mls_delete_folder): g_strerror.
(reconfigure_got_folder): Gnome->GtkDialog
(reconfigure_response): from reconfigure_clicked.
* mail-mt.c (mail_msg_check_error): gnome -> gtk dialog
(error_response): renmae from error_gone. destroy widget on any
response.
* mail-offline-handler.c (impl_finalise): renamed from
impl_destroy since thats what it should be anyway.
* mail-ops.c: removed utf8 widget conversion & camel_object_un/ref
casts.
* mail-preferences.c (mail_preferences_get_type): glib2'ised.
* mail-search.c (mail_search_finalise): renmaed from destroy &
properly chain.
(mail_search_get_type): glib2 & make gtkdialog parent.
(entry_run_search): run search when entry activated. not sure if
gtkdialog has anohter way to do this on an arbitrary widget.
* mail-send-recv.c (dialogue_response): renamed from clicked. Use
gtkdialog.
* mail-session.c (request_password_deleted): removed, redundant.
(pass_response): rename from pass_got, changed for gtkdialog.
(user_message_destroy): Removed, redundant.
(user_message_response): Renamed from user_message_clicked.
2002-11-11 Not Zed <NotZed@Ximian.com>
* mail-stream-gtkhtml.c (mail_stream_gtkhtml_class_init): dont use
get_global_classfuncs, just get the type
* mail-tools.c: converted gnome2 api's.
* mail-vfolder.c (vfolder_editor_response): clicked->response.
(vfolder_editor_destroy): Removed.
(vfolder_edit): gtk dialog api
(edit_rule_response): clicked->response.
(vfolder_edit_rule): gnomedialog->gtkdialog.
(vfolder_gui_add_rule): "
(new_rule_clicked): clicked->response
svn path=/trunk/; revision=18723
2002-08-06 Not Zed <NotZed@Ximian.com>
* mail-ops.c (filter_folder_filter): Unref the driver before
returning to main thread, so any closing operations are handled
async (as in fetch_mail_fetch()), for #28072.
** fixes for #24605.
* mail-vfolder.c (vfolder_gui_add_from_mlist): Removed.
* folder-browser.c (filter_type_uid,vfolder_type_uid): Changed to
accept args directly. Fixed callers.
(filter_mlist_uid,vfolder_mlist_uid): Use filter_type_uid instead
of mlist variant.
(vfolder_type_current): new function to handle setup of vfolders
from the main menu. It now uses the vfolder_type_uid function the
same as the popup.
(vfolder_subject, vfolder_sender, vfolder_recipient,
vfolder_mlist): Changed to use vfolder_type_current.
(filter_type_current): Similar for filters.
(filter_subject, filter_sender, filter_recipient,
filter_mlist): Changed to use filter_type_current.
* mail-autofilter.c (rule_from_message): Handle AUTO_MLIST type.
(rule_from_mlist):
(vfolder_rule_from_mlist):
(filter_rule_from_mlist): Removed.
(filter_gui_add_from_mlist): Removed.
* mail-autofilter.h: Added AUTO_MLIST type.
svn path=/trunk/; revision=17704
2002-07-24 Not Zed <NotZed@Ximian.com>
* component-factory.c (owner_set_cb): Initialise the standard
uri's before doing anything else.
* mail-vfolder.c (uri_is_ignore): Return true if the uri is any
sent, drafts or outbox folder uri.
(mail_vfolder_add_uri): Dont automagically add any
sent/outbox/drafts folder with "local" or "remote" etc rules, only
add sent folders if explictly listed as folder rules. Maintain
the remote/local folders list accordingly.
(vfolder_adduri_do): dont check against sent_folder, drafts_folder
or outbox_folder, this is checked by above code. For #14863.
svn path=/trunk/; revision=17564
2002-07-22 Not Zed <NotZed@Ximian.com>
* mail-vfolder.c (store_folder_renamed): When renaming, use
full_name to set the folder, not name, so the path is preserved.
svn path=/trunk/; revision=17523
2002-07-16 Jeffrey Stedfast <fejj@ximian.com>
* mail-accounts.c (account_able_clicked): Re-enable some #if 0'd code.
* mail-vfolder.c (vfolder_load_storage): Updated to not pass TRUE
for an auto_connect argument since that argument no longer exists.
* mail-account-gui.c (add_new_store): Updated to not pass an
auto_connect argument.
* component-factory.c (add_storage): Don't ever auto-connect here.
(mail_add_storage): No longer takes an auto_connect argument.
(mail_load_storages): Only load the account storages that are
enabled.
svn path=/trunk/; revision=17483
2002-07-15 Not Zed <NotZed@Ximian.com>
* mail-vfolder.c (vfolder_editor_clicked): Set the vfolder_editor
variable to null before we close the dialogue, otherwise the close
destroys it and reverts the file.
svn path=/trunk/; revision=17453
2002-07-10 Not Zed <NotZed@Ximian.com>
** fixes for #10781
* mail-callbacks.c (filter_edit): Add back a cancel button. We
dont need to do anything special to 'undo' here, as the rules are
loaded every time they're used.
* mail-vfolder.c (vfolder_editor_clicked): If ok wans't clicked,
revert the ruleset.
(vfolder_editor_destroy): Fake a button of -1 if we get destroyed
with no click.
(context_rule_removed): Unref the folder after we delete it. If
we're the last ref to the folder, unrefing it means it no longer
exist,s which means no delte processing occurs ...
svn path=/trunk/; revision=17449
2002-07-03 Jeffrey Stedfast <fejj@ximian.com>
* mail-vfolder.c (vfolder_load_storage): Pass TRUE as the
auto_connect argument to mail_load_storage_from_uri().
* mail-account-gui.c (add_new_store): Pass FALSE as the
auto_connect value to mail_load_storage_from_uri().
* mail-format.c (handle_multipart_encrypted): Pass the correct
pointer into camel_multipart_encrypted_decrypt().
* component-factory.c (mail_add_storage): Now takes an
auto-connect argument which it passes along to add_storage().
(mail_load_storage_from_uri): Same.
(add_storage): Only call mail_note_store() if we plan on
auto-connecting.
svn path=/trunk/; revision=17363
2002-03-26 Not Zed <NotZed@Ximian.com>
* mail-callbacks.c (addrbook_sender): Changed to get the address
from the messageinfo of the current selected message rather than
from the current_message.
(requeue_mail_reply): Only re-queue if we got a message, could
potentially cause an infinite loop trying to get a message it
can't.
(reply_to_sender, reply_to_list, reply_to_all): Always pass NULL
as the msg to mail_replay, this forces mail_reply to always load
the message anew. Fixes FIXME's and popup behaviour. Basically
this and stuff below fixes#8542. Its probably not the nicest
way, but it works.
(mark_as_important): Use the flags properly, we can set all flags
to any combination of on or off as we want, so we just need to
call set_flags once, thats why its set flags and not set_option.
(toggle_flags): Fixed the logic here also, so we dont have to call
set_message_flags more than once, and also implement a true toggle
for any number of simultaneous flags (whilst simplifying code).
* mail-vfolder.c (vfolder_gui_add_from_mlist): Removed the 'msg'
parameter, its not used, fixed callers.
* folder-browser.c (on_right_click): Lookup the mlist from
messageinfo, and change the 'no selected' logic slightly, fixes
most of #8542.
(filter_data_free): Free filter data struct.
(vfolder_type_got_message): Actually create vfolder once we have
the message we need to use for it. Code could probably be changed
to use messageinfo instead.
(vfolder_type_uid): Lookup a message based on uid, and use that to
create a vfolder based on type.
(vfolder_subject_uid, vfolder_sender_uid, vfolder_receipient_uid,
vfolder_mlist_uid): Callbacks for the popup menu, used to create
rules based on the uid rather than the message, which it loads as
required.
(filter_type_got_message, filter_*_uid): Similar to vfolder
stuff above.
(filter_menu[]): Changed callbacks to popup specific ones, not
folderbrowser specific ones used by bonobo.
(on_right_click): Initialise callback data for the filter submenu
so it can look up messages for callback implementation.
svn path=/trunk/; revision=16253
2001-12-04 Jeffrey Stedfast <fejj@ximian.com>
* mail-autofilter.c (rule_from_message): Make sure that the
message subject is non-NULL beforetrying to base a vfolder rule
off it. Fixes bug #16284.
2001-12-07 Jeffrey Stedfast <fejj@ximian.com>
* mail-accounts.c (construct): Connect to the dialog's "destroy"
event and close any druids/editors that may be open when that
signal is caught. Fixes bug #16501.
* mail-vfolder.c (vfolder_edit): Set the window title to "Virtual
Folders". Fixes bug #16695.
svn path=/trunk/; revision=14966
2001-10-30 <NotZed@Ximian.com>
* subscribe-dialog.c (fe_cancel_op_foreach): Argh!!! Dont free the
async op data here, the async op is still running and will access
it! Just try to cancel it and mark it as cancelled (id == -1)
(fe_done_subscribing): Only remove outselves from the hash table
if we're not cancelled. The handle should always be set here,
since this code runs in the gui thread.
* message-list.c (on_cursor_activated_idle): If nothing
selected/cursor not activated, then select no message.
* mail-folder-cache.c (update_1folder): Make the trash count
optional on EVOLUTION_COUNT_TRASH, becuase some lusers are just
too stupid to understand what its for.
* component-factory.c (storage_xfer_folder): Return slightly
better error codes for copying folders, since its not implemented
yet.
* mail-vfolder.c, mail-local.c, mail-folder-cache.c,
message-list.c component-factory.c, mail-ops.c,
subscribe-dialog.c, mail-session.c: d() out some debug printfs,
w() out some warnings.
* folder-browser-ui.c (folder_browser_ui_add_message): Fix typo,
Resent->Resend.
svn path=/trunk/; revision=14412
2001-10-29 <NotZed@Ximian.com>
* mail-folder-cache.c (store_folder_renamed): Sort the folder
updates first, since we dont seem to get them in the right order,
or infact in any tree representation whatsoever when using IMAP
...? get_folder_info bugs?
Unrelated note to self, the subscribe dialogue may interfere with
the folder cache.
svn path=/trunk/; revision=14328
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
2001-10-28 <NotZed@Ximian.com>
* folder-browser-ui.c (fbui_sensitize_timeout): Remove uic, kill
dumb warning.
* mail-autofilter.c (mail_filter_rename_uri): Implement function
for filters to keep track of uri's being renamed.
(mail_filter_delete_uri): Similarly for deleting uri's. Note that
these functions are just noops though.
(real_flush_updates): Also rename and delete uri's from filters.
(mls_delete_folder): Unref the store when done.
(mls_rename_folder): Fix implementation, shell already created
destination folder, so we can't just rename :(
(xfer_folder): Manually call rename code, since the shell will do
a remove/add later on, AND there's no way we can determine the new
path from the crock of an api we have to work with.
svn path=/trunk/; revision=14291
2001-10-28 <NotZed@Ximian.com>
* mail-vfolder.c (mail_vfolder_rename_uri): Implemented.
(mail_vfolder_rename_uri): We do want to check renamed uri's from
vstores.
(mail_vfolder_delete_uri): Same.
(store_folder_renamed): Fix the folder hash at the same time.
* mail-folder-cache.c (real_flush_updates): Pass the rename event
to vfolder rename uri.
* mail-local.c (mail_local_folder_reconfigure): Change the store
path to be same as parent + mbox to be full path.
(mls_delete_folder): Change store path to be parent path, and mbox
to be full path.
(mail_local_folder_reconfigure): Fix a leak of tmpname.
* component-factory.c (xfer_folder): Only do a rename if we have
remove set, cleaned up logic a bit.
(idle_quit): Put the components still active check last last of
all.
(storage_create_folder): IF we have a fragment, use that as part
part for parent.
svn path=/trunk/; revision=14276
2001-10-26 <NotZed@Ximian.com>
* mail-local.c (mlf_set_folder): Changed to open the source store
from '/', so we can do renames across directories. Of course,
this doesn't quite work with different filesystems, but we'll
assume this isn't a problem we're going to have.
(mail_local_folder_get_type): Setup parent_class.
(mlf_rename): Implement folder rename call, rename internal data.
Is this a security issue? Well, not really, no more than anything
else.
* mail-folder-cache.c (mail_note_store): Listen to rename event.
(store_folder_renamed): Function to handle it, empty.
(mail_note_store_remove): Unhook from rename event.
(mail_note_folder): Hook onto renamed event.
(unset_folder_info): Unhook from renamed event.
(folder_finalised): Lock around update.
(folder_deleted): Lock around update.
(real_flush_updates): If we have a path to remove remove it.
(rename_folders): Scan folderinfo's, if we can find ones renamed,
rename them, otherwise add them.
* component-factory.c (owner_unset_cb): Use a timeout not an idle handler.
(storage_xfer_folder): Implementation of xfer_folder signal
handler, so we can rename imap/vfolders/etc.
svn path=/trunk/; revision=14205
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
2001-10-19 <NotZed@Ximian.com>
* mail-folder-cache.c (store_finalised): Free folders_uri.
(real_folder_deleted): If folder is deleted, remove it from the
hashtables.
* subscribe-dialog.c (get_short_folderinfo_get): Remove the
register/unregister, they're already done above us.
* mail-vfolder.c
(mail_vfolder_delete_uri): Dont do any work to remove the actual
folder from the vfolder (we'd have to look it up first), let the
vfolder remove it itself. Just update the rules.
svn path=/trunk/; revision=13787
2001-10-18 <NotZed@Ximian.com>
* mail-vfolder.c (vfolder_adduri): Added remove flag - its not
adduri, its removeuri, its less typing than creating a removeuri.
(vfolder_adduri_do): Implement the remove flag.
(mail_vfolder_remove_uri): Changed to mail_vfolder_delte_uri, to
indicate its actually been deleted.
(mail_vfolder_add_uri): Added remove flag.
(rule_changed): When adding existing folders to a new rule, strdup
the list data.
* mail-folder-cache.c (store_finalised): Unhook from all events
when done.
(mail_note_store_remove): Remove a store from being noted.
(free_folder_info): Also if we have a folder, unhook all events.
Also remove the uri from vfolders.
(mail_note_folder): Remove warning about adding folders to stores
that aren't added yet - we might actually be removing the store.
* component-factory.c (mail_remove_storage): Call
mail_note_store_remove when we remove the storage.
svn path=/trunk/; revision=13782
2001-10-15 Jeffrey Stedfast <fejj@ximian.com>
* component-factory.c (owner_unset_cb): Call
mail_vfolder_shutdown.
* mail-vfolder.c (mail_vfolder_shutdown): Unref all of our
VFolders.
* mail-folder-cache.c (real_note_folder): Remember to unref the
folder before returning if we have already noted this folder.
svn path=/trunk/; revision=13682
2001-10-04 <NotZed@Ximian.com>
* mail-callbacks.c (configure_folder): If we're accessing a
vfolder uri, then popup the vfolder editor instead of trying the
mail local one.
* mail-vfolder.c (vfolder_edit_rule): Edit a vfolder by name.
svn path=/trunk/; revision=13419
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-28 <NotZed@Ximian.com>
* mail-local.c (mail_local_store_remove_folder): Emit
folder_deleted event.
(remove_find_path): Fix, compare against path, not full_name.
* mail-tools.c (mail_tool_uri_to_folder): Dont
vfolder_register_source anymore.
* mail-vfolder.c (rule_changed): Changed to access
mail_fodler_cahce to find out if the folder exist yet before
trying to open them, also use the cache as a cache so we dont have
to open the folder if its already been opened.
(vfolder_register_source, register_source): Removed.
(source_finalise): Removed,
(check_source): Removed. All handled through diff mechanism.
(mail_vfolder_add_uri): New function, records uri's of available
folders, and adds them to any active vfolders if required.
(mail_vfolder_remove_uri): New function, removes a uri from
available folders, and checks any rules to see fi they need
updating.
(vfolder_adduri): New async function to add a uri to all vfolders
that need it.
(store_folder_deleted): oops! free user, not rule!!
* mail-folder-cache.c: Add uri->folderinfo hashtable, and the
store from which they come into the store info struct.
Add uri to the folder_info.
(setup_folder): Store the uri in the folderinfo.
(setup_folder): And the uri in the folder_uri hashtable.
(mail_note_store): Store the store in the storeinfo, and setup the
folders_uri hashtable via the store's hash functions.
(setup_folder): Call mail_vfolder_add_uri to note this newly setup
folder uri.
(store_folder_deleted): Proxy call to main thread.
(real_folder_deleted): And tell the vfolder to remove this uri
from its folder list.
(setup_folder): Dont call vfolder_add_uri if noselect is set on
the uri.
2001-09-27 <NotZed@Ximian.com>
* mail-vfolder.c: Removed vfolder_info struct, vfolder_storage.
Neither used anymore.
svn path=/trunk/; revision=13242
2001-09-20 <NotZed@Ximian.com>
* mail-vfolder.c (check_source): Dont let drafts/outbox/sent be
added via a generic 'all local folders' rule.
svn path=/trunk/; revision=13042
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-vfolder.c (vfolder_register_source): Lock around
hashtable/list manipulation. Also dont try scan vfolder_hash if
it hasn't been setup yet.
(source_finalise): Lock around list access.
(rule_changed): Lock around hash access.
(context_rule_added): Lock around hash access.
(context_rule_removed): "
(rule_changed): Lock around list access.
* mail-local.c (storage_listener_startup): Fix for api change.
(local_storage_new_folder_cb): Dont skip over leading / in path.
(local_storage_removed_folder_cb): ditto.
* mail-folder-cache.c (create_folders): No longer pass prefix
between recursive calls - we have the path in the folderinfo.
(setup_folder): No longer take path arg, we get it from
folderinfo.
(mail_note_folder): No longer take path arg, we use
folder->full_name to key the folder table.
(mail_note_store): Consolidate note_store interface, pass storage
or corba_storage to it.
(mail_note_local_store): Removed.
* mail-ops.c
(add_unmatched_info): Scan for unmatched name and re-title.
svn path=/trunk/; revision=13023
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