Commit Graph

95 Commits

Author SHA1 Message Date
f000b8fa4f ** See #61958.
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-07-29 03:00:42 +00:00
1648a21788 Disable debug here too - all this code has been working fine.
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-28 17:04:18 +00:00
ac8e0571f2 set the default selection to inbox.
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-26 04:25:10 +00:00
9d744b2d27 put note_store back in. Quick hack to fix the issue of folders being
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-22 01:36:58 +00:00
bffafba763 ** Another unread count bug, #58814.
2004-05-22  Not Zed  <NotZed@Ximian.com>

        ** Another unread count bug, #58814.

        * mail-vfolder.c (context_rule_added):
        * mail-tools.c (mail_tool_uri_to_folder):
        * mail-component.c (mc_add_local_store_done): don't call mail note
        folder anymore, fix up headers.

        * mail-folder-cache.c (store_folder_opened)
        (mail_note_store_remove, mail_note_store): handle the new
        store:folder_opened signal.  Don't need the mail_note_folder hack
        anymore, mail_tool_uri_to_folder slowly does less.

svn path=/trunk/; revision=26042
2004-05-22 00:45:47 +00:00
31d87dbdfe no new message test if its the drafts folder too.
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 08:46:37 +00:00
463b3e37ec don't emit new mail if its any vfolder, not just vtrash folder. #56350.
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-05-18 07:28:10 +00:00
c2a752460f enabled some unread-count debug spewage
svn path=/trunk/; revision=25439
2004-04-13 16:52:03 +00:00
60f26ddd1a VJUNK_FOLDER's dont exist, they're VTRASH folders now.
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-08 08:00:06 +00:00
9279a2cf22 ref the emfoldertree in our thread message. (em_folder_tree_set_selected):
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-06 08:11:51 +00:00
0c10ef9d8f ** See bug # 56402.
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-05 08:11:46 +00:00
a3eea7e885 Fixes bug #37416
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-04-02 19:10:38 +00:00
88b02e9cf4 pass the raw header in instead of name and value. (efh_format_headers): if
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-11 03:05:43 +00:00
467bbf6fb6 if we have the folder opened already, and its the outbox, then use the
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-03-03 06:39:14 +00:00
a5b3e41ac9 switch the sense of the no select checks. TEST!
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-20 07:30:36 +00:00
327242a925 Updated for em-popup API change (altho currently passes a dummy value).
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-02-18 19:33:41 +00:00
ce042b31b6 ** See bug #53084 and others.
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-27 12:35:26 +00:00
7ab4ccfe76 change this to check the store using the provider url_cmp and just lookup
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
2004-01-16 07:14:15 +00:00
e3262cdc7e Update the unread count in the model if the folder got new mail.
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-12-10 18:36:13 +00:00
fd244132ad New folder-tree widget that replaces the shell's folder-tree widget.
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-11-13 19:02:07 +00:00
d697d3d420 don't call CAMEL_IS_VJUNK_FOLDER, it was added by mistake
2003-11-13  Radek Doulik  <rodo@ximian.com>

	* mail-folder-cache.c (folder_changed): don't call
	CAMEL_IS_VJUNK_FOLDER, it was added by mistake

svn path=/trunk/; revision=23316
2003-11-13 10:25:01 +00:00
8e1251fa17 merged spam filtering branch
svn path=/trunk/; revision=23302
2003-11-12 21:13:05 +00:00
0fb08f3ff8 Merge new-ui-branch to the trunk.
svn path=/trunk/; revision=22964
2003-10-21 18:28:34 +00:00
a2d243e391 ** See bug #32996
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-09-23 01:05:16 +00:00
1fcc2835b5 Removed the new-mail-notification mess.
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-08-19 17:59:34 +00:00
9861660fdf add a CamelOperation for overriding status handler.
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-08-01 19:30:39 +00:00
95d963dec5 ** This and jeffs patch for #43862.
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
2003-06-02 17:50:26 +00:00
f9804e1193 Commented out stuff that doesn't build yet. Also fixed idl build rule.
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-11-12 14:59:35 +00:00
fbe9e89258 Spawn a new thread to ping the server but only if it is connected.
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 20:01:46 +00:00
828a107720 Don't bother overloading the timeout virtual methods since they don't
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-08-21 19:23:44 +00:00
c89f5e6986 camel:
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-08-01 15:52:38 +00:00
86d2d39580 Call camel_session_get_service instead of camel_session_get_store, as
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 19:37:57 +00:00
0c43bcb20b Propagate name changes or removes to the mail config. #15951. Doesn't
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-24 07:21:15 +00:00
71fb81afc7 Removed bogus static pre-declaration.
* mail-folder-cache.c: Removed bogus static pre-declaration.

* e-searching-tokenizer.c (e_searching_tokenizer_end): Removed
unused variables.

* mail-callbacks.c: #include <gtkhtml.h>.

* folder-info.h (evolution_folder_info_get_type): Add prototype.

svn path=/trunk/; revision=17508
2002-07-18 18:13:34 +00:00
393fa3c3e8 ** fixes for #10781
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-15 02:06:46 +00:00
090af2cb0e Pass zero as the @sorting_priority to evolution_storage_new_folder().
* 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
2002-07-10 15:26:31 +00:00
6d2b6fa6d2 Pass NULL @custom_icon_name to evolution_storage_new_folder().
* 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-09 20:27:17 +00:00
613c4f1ce3 Removed. The folder's deleted event isn't needed since we're listening to
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
2002-07-01 04:56:35 +00:00
13c9d214fa Set the can_sync_offline property on the EFolder based on the
* 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
2002-05-20 19:06:03 +00:00
7df203024e Remove "mailstorage", since it's not needed any more. (storage_activate):
* 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-03-14 22:23:06 +00:00
4db8df6b4d Pull up assertion change from evolution-1-0-branch to allow external
* mail-folder-cache.c (mail_note_store): Pull up assertion change
	from evolution-1-0-branch to allow external storages.

svn path=/trunk/; revision=15928
2002-03-05 21:17:46 +00:00
b0a253e060 If a related part is requested, remove it from the related undisplayed
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
2002-02-26 00:26:55 +00:00
d6d55273d4 Require gal 0.15.99.8
2001-10-29  Joe Shaw  <joe@ximian.com>

	* configure.in: Require gal 0.15.99.8

	* addressbook/backend/ebook/e-card-simple.c,
	addressbook/gui/component/addressbook-storage.c,
	addressbook/gui/widgets/e-addressbook-view.c,
	calendar/gui/e-calendar-table.c,
	calendar/gui/e-itip-control.c,
	calendar/gui/e-meeting-model.c,
	calendar/gui/itip-utils.c,
	calendar/gui/print.c,
	calendar/gui/alarm-notify/alarm-notify-dialog.c,
	filter/rule-editor.c,
	mail/mail-config.c,
	mail/mail-folder-cache.c,
	mail/mail-format.c,
	mail/mail-local.c,
	mail/mail-ops.c,
	mail/mail-vfolder.c,
	shell/e-local-storage.c,
	shell/e-summary-storage.c: Change includes of
	e-util/e-unicode-i18n.h to gal/util/e-unicode-i18n.h

svn path=/trunk/; revision=14427
2001-10-30 05:02:49 +00:00
0
093a00cf2b Argh!!! Dont free the async op data here, the async op is still running
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-30 03:28:40 +00:00
60dcd52057 Fixed a warning by #if 0ing out this function.
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 22:41:35 +00:00
9
93127a6daf Sort the folder updates first, since we dont seem to get them in the right
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 08:28:53 +00:00
9
fedf164cb9 Copy the folder's full_name before trying to use it to rename.
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-29 05:06:28 +00:00
8
4229e6849d Remove uic, kill dumb warning.
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 10:53:02 +00:00
8
4689dccf16 Implemented. (mail_vfolder_rename_uri): We do want to check renamed uri's
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-28 05:11:53 +00:00
6
8f8b24c737 Changed to open the source store from '/', so we can do renames across
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-27 06:02:04 +00:00