2004-07-28 Not Zed <NotZed@Ximian.com>
** See #61958.
* mail-folder-cache.c (real_flush_updates): remove the soreinfo
lookup, it isn't used anywhere anymore.
(mail_note_folder): hook onto the events outside of the lock, and
don't pass the mfi pointer anymore.
(mail_note_store): hook onto the events outside of the lock.
(folder_changed, folder_finalised, folder_renamed): lookup the mfi
if needed, it is no longer passed to the callback.
(unset_folder_info): change unhook calls for new parameters.
svn path=/trunk/; revision=26764
2004-05-28 Jeffrey Stedfast <fejj@novell.com>
* em-folder-tree.c (d): Disable debug here too - all this code has
been working fine.
* em-folder-selector.c (d): Disable debug spew here too (not that
this debug was ever seen since it never hit those conditions).
* mail-folder-cache.c (d): Disable debug here too.
* em-folder-tree-model.c: Disable debug spewage that we don't need
anymore. The amount of debug spewage on the console is getting to
be too much to find anything.
* em-folder-tree.c (emft_expand_node): Use p+1 as the full_name
rather than p. Fixes bug #59187.
svn path=/trunk/; revision=26125
2004-05-26 Not Zed <NotZed@Ximian.com>
* importers/evolution-mbox-importer.c (create_control_fn): set the
default selection to inbox.
* importers/evolution-outlook-importer.c (folder_selected)
(create_control_fn): copied from mbox importer. fixes a crash &
lets you choose the target folder.
2004-05-25 Not Zed <NotZed@Ximian.com>
* mail-component.c (mc_add_local_store_done): removed, now
redundant.
* em-folder-tree.c (em_folder_tree_set_selected): fix for path changes.
* em-folder-tree-model.c (em_folder_tree_model_set_unread_count):
change to use full name rather than path name.
* em-folder-tree-model.h: renamed path_hash to full_hash.
* em-folder-tree-model.c (folder_subscribed): dont use
g_path_get_dirname here, it is os dependent, we want / always.
(full_hash_free): rename from path_hash free.
svn path=/trunk/; revision=26090
2004-05-22 Not Zed <NotZed@Ximian.com>
* mail-tools.c (mail_tool_uri_to_folder): put note_store back in.
Quick hack to fix the issue of folders being opened before we hook
onto folder_created.
* mail-folder-cache.c: remove 'name' from update struct, not used
anymore
svn path=/trunk/; revision=26043
2004-05-18 Not Zed <NotZed@Ximian.com>
* mail-folder-cache.c (folder_changed): no new message test if its
the drafts folder too.
* mail-vfolder.c (vfolder_adduri_desc): use a nicer, account-based
formatter for folder names. Hmm, that was a good waste of time.
For #55412.
svn path=/trunk/; revision=25955
2004-05-18 Not Zed <NotZed@Ximian.com>
* mail-folder-cache.c (folder_changed): don't emit new mail if its
any vfolder, not just vtrash folder. #56350.
* em-folder-view.c (emfv_list_done_message_selected): run
enable_menu's to make sure we're up to date. #58352.
** crappy hacks for #58385.
* em-folder-selection-button.c
(em_folder_selection_button_clicked): leave Ok button for this
selection.
* em-folder-selection.c (em_select_folder): added oklabel here too.
* em-folder-selector.c (em_folder_selector_new)
(em_folder_selector_construct, em_folder_selector_create_new):
Added oklabel- text for ok label.
(em_folder_selector_create_new): Set the ok label to Create.
* em-message-browser.c (emmb_set_message): don't mark message seen
if user has disabled auto-mark seen feature. #58629.
* em-format.c (em_format_part): if we have no content-type header,
then we get no mime-type set, so assume text/plain. #58470.
svn path=/trunk/; revision=25951
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-04-06 Not Zed <NotZed@Ximian.com>
* em-folder-tree.c (emft_tree_row_expanded): ref the emfoldertree
in our thread message.
(em_folder_tree_set_selected): same.
(emft_get_folder_info__free): unref it.
* mail-folder-cache.c (ping_store): use thread_queued_slow not
thread_queued - we dont care when it runs.
* em-folder-view.c (emfv_set_folder_uri): use thread_new for
getting the folder, we do elsewhere, and it aids interactivity.
svn path=/trunk/; revision=25330
2004-04-05 Not Zed <NotZed@Ximian.com>
** See bug # 56402.
* mail-folder-cache.c (update_folders): if we're cancelled, noop.
(mail_note_store_remove): mark the update data cancelled.
* mail-ops.c
(get_folderinfo_got): Removed the meaningless comment here.
svn path=/trunk/; revision=25312
2004-04-02 Jeffrey Stedfast <fejj@ximian.com>
Fixes bug #37416
* mail-folder-cache.c (update_1folder): Same as below. Also add
vJunk fodlers to the list of folders that we display the total
count for (as discussed on the mailing lists).
* em-folder-tree-model.c (em_folder_tree_model_set_folder_info):
Use 'total - deleted' as the count for Outbox rather than just the
total count.
svn path=/trunk/; revision=25305
2004-03-11 Not Zed <NotZed@Ximian.com>
* em-format-html.c (efh_format_header): pass the raw header in
instead of name and value.
(efh_format_headers): if we have specific headers to show, iterate
over all headers and print out all matching ones, so duplicate
headers are properly displayed. Related to #55298.
* em-folder-selector.c (em_folder_selector_construct): dont set
this to be modal. otherwise you can't click on error popups. duh.
2004-03-08 Not Zed <NotZed@Ximian.com>
* em-folder-selection-button.c
(em_folder_selection_button_clicked): don't let the user select
virtual/vtrash folders or non-selectable folders.
* mail-component.c (impl_createControls): disable selection of
non-select rows.
* em-folder-selector.c (em_folder_selector_create_new): exclude
folders with noinferiors set.
* em-folder-tree.c (folder_tree_new): add folder tree arg, hook
onto the selection funciton for the tree selection.
(emft_select_func): selection override function. allow certain
things to be excluded.
(em_folder_tree_set_excluded): api to set what is excluded from
the selectability.
(emft_tree_row_activated): call emft_select_func check to see if
this row is excluded before emitting an activated signal.
* em-folder-tree-model.c (em_folder_tree_model_set_folder_info):
save folder info->flags in the tree store.
* mail-folder-cache.c (create_folders): use tail recursion.
(get_folders): tail recurse.
* (*): Fixed for api changes in camel.
svn path=/trunk/; revision=25020
2004-03-03 Not Zed <NotZed@Ximian.com>
* em-inline-filter.c (emif_scan):
* em-folder-tree-model.c (em_folder_tree_model_set_folder_info):
if we have the folder opened already, and its the outbox, then use
the total count instead of unread count. Bit of hack, but copies
mail-folder-cache stuff.
* mail-component.c (mc_add_store): renamed from
mail_component_add_store, internal call. Added a done callback.
(mc_add_local_store): renamed from mc_add_store, callback for
local store.
(mail_component_add_store): call mc_add_store to do the work.
(mc_add_local_store_done): ugh, the target of all this shit - note
all the default folders now they should be setup.
* mail-folder-cache.c (mail_note_folder): clean up the logic a
bit. was gonna do osmething else but it didn't work.
2004-03-02 Not Zed <NotZed@Ximian.com>
* mail-send-recv.c (mail_send): if we're already sending, up the
again count to tell it we need to re-send again.
(receive_done): if we've been asked to run a send again while we
were already running it, run it again to make sure we didn't miss
any new messages. See bug #46839.
* em-mailer-prefs.c (em_mailer_prefs_construct): update
check_incoming_imap changes for merge conflicts.
(settings_changed): i have no idea what these changes jeff did do,
but check_incoming_imap is no longer needed, so i've deleted most
of it.
2004-02-27 Not Zed <NotZed@Ximian.com>
* em-format.c (emf_multipart_encrypted, emf_multipart_signed): If
validation fails, display as multipart/mixed rather than unkown
attachment type, and make the error a little clearer that its an
error. See #52939.
2004-02-26 Not Zed <NotZed@Ximian.com>
* message-list.c (regen_list_regened): NOOP if the folder has
changed.
* mail-session.c (mail_session_check_junk_notify): remove
check_incoming_imap test.
(mail_session_init): "
* evolution-mail.schemas.in.in: Remove check_incoming_imap option.
* mail-config.glade: Remove check incoming imap checkbox.
* em-mailer-prefs.c (em_mailer_prefs_construct): remove
check_incoming_imap test.
(em_mailer_prefs_apply): "
(settings_changed): "
svn path=/trunk/; revision=24944
2004-02-20 Not Zed <NotZed@Ximian.com>
* mail-folder-cache.c (unset_folder_info, setup_folder)
(rename_folders): switch the sense of the no select checks. TEST!
svn path=/trunk/; revision=24813
2004-02-12 Jeffrey Stedfast <fejj@ximian.com>
* em-folder-tree.c (emft_tree_button_press): Updated for em-popup
API change (altho currently passes a dummy value).
* em-popup.c (em_popup_target_new_folder): Check for vTrash/vJunk
by checking the CAMEL_FOLDER_VIRTUAL info flags bit. (perhaps this
flag should be renamed to SPECIAL? VIRTUAL might not have been a
good name). Also changed to check flags & CAMEL_FOLDER_NOSELECT
rather than checking the uri string for a noselect param.
* mail-folder-cache.c (unset_folder_info): Instead of checking for
";noselect" in the uri, check for a CAMEL_FOLDER_NOSELECT flag on
mfi->flags.
(setup_folder): Copy the fi->flags to mfi->flags here.
(rename_folders): Same.
(setup_folder): Check fi->flags for CAMEL_FOLDER_NOSELECT here
instead.
(rename_folders): Same. Also gets rid of a FIXME.
svn path=/trunk/; revision=24784
2004-01-27 Not Zed <NotZed@Ximian.com>
** See bug #53084 and others.
* em-migrate.c (em_migrate): remove the vfolder_revert hack.
* em-composer-utils.c (ask_confirm_for_only_bcc): removed unused
vars.
* mail-tools.c (mail_tool_get_local_inbox): removed, handled by
mail_component_get_folder now.
* mail-component.c (mail_component_*): Changed the api slightly.
Using NULL as the component argument automatically implies you
want the default component.
(em_uri_from_camel, em_uri_to_camel): moved to em-utils.[ch]. Ok
so it isn't namespaced right ... *shrug*.
(mail_component_get_local_inbox): removed.
(mail_component_get_folder): single entry point for getting
standard folders. This is MT-Safe.
(mail_component_get_folder_uri): single entry point for getting
standard folder uri's. This is MT-Safe.
(add_store): removed, moved to mail_component_add_store.
(mail_component_load_store_by_uri): call mail_component_add_store
directly rather than copying its code.
(default_*_folder*): Removed, use accessor methods instead, fixed
all callers.
(setup_local_store): renamed to mc_setup_local_store, use proper
url encoding too. make run-once and thread-safe.
(MailComponentPrivate): Added a lock.
(mail_control_new): exported properly to kill warnings.
(mail_component_init): dont setup_local_store or add accounts
here.
(impl_createControls): setup local store/accounts here.
(mail_component_peek): dont setup vfolder storage here.
(mc_startup): internal function to startup stuff needed for gui
operation.
(setup_search_context): make run-once.
(mail_component_peek_search_context): call setup_search_context
incase it isn't setup yet.
(impl_upgradeFromVersion): remove the local store setup hack.
svn path=/trunk/; revision=24462
2004-01-16 Not Zed <NotZed@Ximian.com>
* mail-folder-cache.c (storeinfo_find_folder_info): change this to
check the store using the provider url_cmp and just lookup the
folder name directly. folder_compare can't be used for uri's,
this stuff was so broken, my fault :(
** See bug #52467.
* em-folder-tree-model.c (sort_cb): handle null path (root?).
* mail-vfolder.c (mail_vfolder_add_uri): map uri to euri before
processing.
(rule_changed): map uri to camel uri before looking up.
(mail_vfolder_delete_uri): handle as euri internally.
(mail_vfolder_rename_uri): "
* mail-autofilter.c (vfolder_rule_from_message): map camel uri to
euri before setting as vfolder source.
svn path=/trunk/; revision=24266
2003-12-10 Jeffrey Stedfast <fejj@ximian.com>
* mail-folder-cache.c (real_flush_updates): Update the unread
count in the model if the folder got new mail.
* em-folder-selection.c (em_select_folder): Updated.
* em-folder-selection-button.c (em_folder_selection_button_clicked): Updated.
* em-folder-tree-model.c (em_folder_tree_model_set_unread_count):
New function to update the unread count for a folder.
* mail-component.c (mail_component_peek_tree_model): Don't ref the
model. Also renamed s/get/peek/
svn path=/trunk/; revision=23910
2003-11-13 Jeffrey Stedfast <fejj@ximian.com>
* em-folder-tree.[c,h]: New folder-tree widget that replaces the
shell's folder-tree widget.
* em-folder-tree-model.[c,h]: New source files subclassing
GtkTreeStore for handling the mess that is drag&drop.
* em-folder-selection-button.c: Ported to use EMFolderTree.
* em-folder-selection.c: Ported to use EMFolderTree.
* em-folder-selector.c: Ported to use EMFolderTree.
* mail-component.c: Ported to use EMFolderTree.
* mail-offline-handler.c (storage_go_online): Updated to not pass
a storage argument.
* mail-folder-cache.c: Removed storage stuff.
* mail-send-recv.c (receive_update_got_store): Don't do EStorage*
stuff anymore.
svn path=/trunk/; revision=23331
2003-09-22 Not Zed <NotZed@Ximian.com>
** See bug #32996
* mail-folder-cache.c (real_flush_updates): don't just pass TRUE
to the 'can work offline' parameter of new shell folder.
** See bug #39410
* mail-ops.c (prep_offline_do): sync all messages, not just
unread or flagged ones.
svn path=/trunk/; revision=22655
2003-08-18 Jeffrey Stedfast <fejj@ximian.com>
* mail-session.c (main_get_filter_driver): Removed the
new-mail-notification mess.
* mail-folder-cache.c (notify_idle_cb): New idle callback to alert
the user about new mail.
(notify_type_changed): New function to intercept user changes to
his/her notification settings changes.
(real_flush_updates): Initialise new mail notification if not yet
initialised and setup an idle callback if none is already set.
(update_1folder): Now takes an additional argument `new' which
states whether or not the fodler got any new mail so that we may
handle notify the user (if needed).
(folder_changed): Pass in the number of new messages received.
svn path=/trunk/; revision=22290
2003-07-29 Not Zed <NotZed@Ximian.com>
* mail-folder-cache.c (mail_note_store): add a CamelOperation for
overriding status handler.
* mail-send-recv.c (receive_update_got_store): Pass our own cancel
handle to get_folderinfo and mail_note_store.
(mail_send_receive, mail_receive_uri): Same for get_store.
* mail-ops.c (mail_get_store, mail_get_folderinfo): Add a
CamelOperation argument, for overriding the status handler. Fixed
most calles to pass NULL to use the default.
svn path=/trunk/; revision=22056
2003-06-02 Not Zed <NotZed@Ximian.com>
** This and jeffs patch for #43862.
* mail-folder-cache.c (store_online_cb): If the store is still
around, then flow on to a get folderinfo update, otherwise just
clear up.
* mail-ops.c (mail_store_set_offline): return the msgid of this so
it can be cancelled.
2003-05-30 Jeffrey Stedfast <fejj@ximian.com>
* mail-folder-cache.c (mail_note_store): If the session is
'online' and we are noting a CamelDiscoStore, make sure that it is
changed to online status and call mail_get_folderinfo().
svn path=/trunk/; revision=21369
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-21 Jeffrey Stedfast <fejj@ximian.com>
* mail-folder-cache.c (ping_store): Spawn a new thread to ping the
server but only if it is connected.
(ping_cb): This needs to return TRUE so the timeout keeps getting
called.
svn path=/trunk/; revision=17832
2002-08-21 Jeffrey Stedfast <fejj@ximian.com>
* mail-session.c (class_init): Don't bother overloading the
timeout virtual methods since they don't exist anymore.
* mail-folder-cache.c (mail_note_store): Register a ping timeout
callback to ping each store to keep the connections alive.
svn path=/trunk/; revision=17831
2002-07-29 Peter Williams <peterw@ximian.com>
Fix bug #28238
* providers/imap/camel-imap-store.c (imap_forget_folder): New
function, breaking out the code in delete_folder() to handle when
a folder is removed.
(imap_folder_effectively_unsubscribed): New function, breaking out
the code in unsubscribe_folder() to handle when a folder is
unsubscribed.
(imap_check_folder_still_extant): New function, check whether a
folder exists by LIST'ing it.
(imap_store_refresh_folders): Add code here to check if the folder
still exists if we're unable to refresh its info. If so, pretend
that it was unsubscribed (to get the mailer to remove it from
the tree) and delete its cache. If somehow this goofs up, the
worst that can happen is that we must redownload the headers.
(get_folder_status): If we can't get the status, behave as above.
(delete_folder): Call imap_forget_folder() where the bulk of this
code has gone.
(unsubscribe_folder): Call imap_folder_effectively_unsubscribed()
where the bulk of this code has gone.
mail:
2002-07-31 Peter Williams <peterw@ximian.com>
* mail-folder-cache.c: Add another bitfield "unsub"
(real_flush_updates): If unsubscribing, manually remove the folder
from the shell.
(unset_folder_info): Add another parameter which is used to set
the unsub member.
(store_folder_unsubscribed): Pass true for @unsub.
(unset_folder_info_hash): Pass false for @unsub.
* subscribe-dialog.c (fe_done_subscribing): Don't notify the shell
here. The folder cache does it now, and it was broken to make the
CORBA call in another thread anyway.
svn path=/trunk/; revision=17669
2002-07-23 Peter Williams <peterw@ximian.com>
* mail-ops.c (get_store_get): Call camel_session_get_service
instead of camel_session_get_store, as _get_store calls
_get_service_connected which is not what we want to do on startup.
(set_offline_do): Rework the logic here. It was failing when
trying to go online with a disco store that couldn't work offline.
* mail-folder-cache.c (mail_note_store): If we're using an offline
(well, non-online) disco store that cannot work offline, don't get
the folderinfo as that will fail.
svn path=/trunk/; revision=17576
2002-07-24 Not Zed <NotZed@Ximian.com>
* mail-folder-cache.c (real_flush_updates): Propagate name changes
or removes to the mail config. #15951. Doesn't enitrely work for
local folders, because they are never renamed only removed and
added thanks to the shell's api.
* mail-config.c (mail_config_uri_renamed): If a store folder is
renamed, this checks for any config that needs updating, so far
sent and drafts folders.
(mail_config_uri_deleted): Same, for deleted folders.
svn path=/trunk/; revision=17568
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
* gui/component/addressbook-storage.c (load_source_data): Pass
zero as the @sorting_priority to evolution_storage_new_folder().
(addressbook_storage_add_source): Likewise.
* subscribe-dialog.c (recursive_add_folder): Pass zero as
@sorting_priority to evolution_storage_new_folder().
* mail-folder-cache.c (real_flush_updates): Pass zero as
@sorting_priority to evolution_storage_new_folder().
* evolution-test-component.c (setup_custom_storage): Pass
@sorting_priority to evolution_storage_new_folder() so we test it.
Also make /FirstFolder have an "inbox" custom icon.
* e-local-storage.c (new_folder): Pass zero as @sorting_priority
to evolution_storage_new_folder().
* evolution-storage.c (evolution_storage_new_folder): New arg
@sorting_priority; put it in the CORBA folder struct.
* evolution-shell-client.c
(impl_FolderSelectionListener_selected): Copy the sortingPriority
as well.
* e-folder.c (e_folder_to_corba): Set sortingPriority.
* e-corba-storage-registry.c
(impl_StorageRegistry_getFolderByUri): Set sortingPriority in the
new CORBA Folder struct.
* e-corba-storage.c (impl_StorageListener_notifyFolderCreated):
Set the custom_icon if folder->customIconName is not an empty
string. Likewise, set the sorting_priority
* Evolution-common.idl: New member sortingPriority in struct
Folder.
* e-storage-set-view.c (folder_sort_callback): Sort according to
the sorting_priorities.
* e-folder.c: New member sorting_priority in EFolderPrivate.
(init): Init to zero.
(e_folder_set_custom_icon): Emit "changed" if required.
(e_folder_set_sorting_priority): New.
svn path=/trunk/; revision=17404
* gui/component/addressbook-storage.c (load_source_data): Pass
NULL @custom_icon_name to evolution_storage_new_folder().
(addressbook_storage_add_source): Likewise. [Note we could be
passing a nice custom here. ;-)]
* subscribe-dialog.c (recursive_add_folder): Pass NULL for
@custom_icon_name to evolution_storage_new_folder().
* mail-folder-cache.c (real_flush_updates): Pass NULL for
@custom_icon_name to evolution_storage_new_folder().
* evolution-test-component.c (setup_custom_storage): Pass NULL for
@custom_icon_name to evolution_storage_new_folder().
* e-local-storage.c (new_folder): Pass the custom_icon_name here
to evolution_storage_new_folder().
* evolution-shell-client.c
(impl_FolderSelectionListener_selected): Set customIconName here
too.
* e-folder.c (e_folder_to_corba): Set customIconName too.
* e-corba-storage-registry.c
(impl_StorageRegistry_getFolderByUri): Set customIconName. Also,
use e_safe_corba_string() to clean up the code a bit.
* evolution-storage.c (evolution_storage_new_folder): New arg
@custom_icon_name.
* Evolution-common.idl: New member customIconName in struct
Folder.
svn path=/trunk/; revision=17397
2002-07-01 Not Zed <NotZed@Ximian.com>
* mail-folder-cache.c (folder_deleted): Removed. The
folder's deleted event isn't needed since we're listening to the
store's folder_deleted signal. Also, the code was wrong, it
cleared the folder without disconnecting events, etc. See #16486,
and probably others.
(mail_note_folder): Dont hook onto deleted anymore.
(unset_folder_info): Or unhook from it.
svn path=/trunk/; revision=17331
* e-corba-storage.c (impl_StorageListener_notifyFolderCreated):
Set the can_sync_offline property on the EFolder based on the
canSyncOffline value on the CORBA folder.
* evolution-test-component.c (setup_custom_storage): Pass FALSE
for @sync_offline to evolution_storage_new_folder().
* e-local-storage.c (new_folder): Pass FALSE for @sync_offline to
evolution_storage_new_folder().
* evolution-storage.h (evolution_storage_new_folder): New arg
@can_sync_offline.
* subscribe-dialog.c (recursive_add_folder): Pass TRUE for
@sync_offline to evolution_storage_new_folder().
* mail-folder-cache.c (real_flush_updates): Pass TRUE for
@sync_offline to evolution_storage_new_folder().
* gui/component/addressbook-storage.c (load_source_data): Pass
FALSE for @sync_offline to evolution_storage_new_folder().
(addressbook_storage_add_source): Pass FALSE for @sync_offline to
evolution_storage_new_folder().
svn path=/trunk/; revision=16947
* component-factory.c (folder_types): Remove "mailstorage", since
it's not needed any more.
(storage_activate): Gone, although some of it is moved to
storage_connect.
(create_view): Remove mailstorage code.
(add_storage): Connect to the storage's open_folder signal.
Instead of creating a "mailstorage" folder, call
evolution_storage_has_subfolders to let the shell know we haven't
finished filling it in yet.
(storage_connect): Handler for the storage's asyncOpenFolder
signal. Call mail_note_store() to try to connect.
(storage_connected): Callback for above. If the connection attempt
failed, call evolution_storage_has_subfolders again to make the
shell re-close the storage.
* mail-folder-cache.c (update_folders): Remove a piece of
mailstorage legacy code from here.
svn path=/trunk/; revision=16170
2002-02-26 Not Zed <NotZed@Ximian.com>
* mail-display.c (on_url_requested): If a related part is
requested, remove it from the related undisplayed list.
* mail-format.c (handle_multipart_related): Check if related parts
are displayed, if not, remove them. For #2741.
svn path=/trunk/; revision=15837
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 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
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