Commit Graph

109 Commits

Author SHA1 Message Date
c12711e656 Improvements to the new mail hook.
svn path=/trunk/; revision=33470
2007-05-03 07:45:12 +00:00
cba3097cad ** Fixes bug #419524
2007-03-20  Matthew Barnes  <mbarnes@redhat.com>

	** Fixes bug #419524

	* Include <glib/gi18n.h> instead of <libgnome/gnome-i18n.h>.

	* e-util/e-xml-utils.c (e_xml_get_child_by_name_by_lang_list):
	* mail/em-migrate.c (emm_setup_initial):
	* shell/e-component-registry.c (query_components):
	* shell/e-shell-settings-dialog.c (load_pages):
	* shell/e-shell-window-commands.c (command_quick_reference):
	* tools/killev.c (main):
	Use g_get_language_names() instead of gnome_i18n_get_language_list().

	* e-util/e-util.c: Remove e_gettext().

	* e-util/Makefile.am: Remove e-i18n.h.


svn path=/trunk/; revision=33319
2007-03-20 17:23:58 +00:00
2777802f60 ** Fixes bgo bug #333821 and bnc bug 181851
* mail-folder-cache.c: (ping_store_ping): Ping store only iff
        store is online and connected.

svn path=/trunk/; revision=32419
2006-07-26 13:19:18 +00:00
f6e0e26a6f s/int/guint/g for 1-bit bitfield. Remove cruft use guint for 1-bit
2006-01-09  Kjartan Maraas  <kmaraas@gnome.org>

	* em-account-editor.h: s/int/guint/g for 1-bit bitfield.
	* em-composer-utils.c: (em_utils_redirect_message): Remove cruft
	* em-folder-tree.c: (emft_drop_target): use guint for 1-bit bitfield
	and rename a variable with a name clash.
	* em-folder-utils.c: (em_folder_utils_rename_folder): Rename var to
	avoid name clashes.
	* em-folder-view.c: guint for 1-bit bitfields.
	* em-folder-view.h: Same as above.
	* em-format-html-print.h: Again.
	* em-format-html.c: (efh_text_html), (efh_multipart_related): Add comments
	* em-format.c: (emf_multipart_alternative): Add comment about using var that
	is passed in rather than a local variable.
	* em-inline-filter.c: (emif_scan): Remove unused var. Mark code static.
	* em-mailer-prefs.h: guint for 1-bit bitfields.
	* em-migrate.c: (em_migrate_folder): mark a struct static. remove unused var
	* em-subscribe-editor.c: guint for 1-bit bitfield
	* em-utils.c: remove unused function
	* em-vfolder-rule.c: mark array static
	* importers/mail-importer.c: (decode_status): Remove unused code. Use guint
	for 1-bit bitfield.
	* mail-autofilter.c: (rule_from_message): rename a variable
	* mail-component.c: guint for 1-bit bitfield
	* mail-folder-cache.c: (update_1folder): remove unused code
	* mail-mt.c: mark some structs static
	* message-list.c: (message_list_select_uid), (ml_value_to_string),
	(ml_tree_value_at), (find_next_undeleted), (build_tree),
	(build_flat): Remove unused code and fix some format specifiers.

svn path=/trunk/; revision=31448
2006-02-08 11:51:32 +00:00
3e82887a54 Use e_util_mkdir_hier() instead of e_mkdir_hier().
2006-01-10  Simon Zheng  <simon.zheng@sun.com>

        * em-composer-utils.c:
        * em-folder-tree-model.c: (em_folder_tree_model_save_state):
        * em-format-html.c:
        * em-migrate.c: (cp_r), (em_migrate_folder),
        (em_migrate_pop_uid_caches_1_4),
        (em_migrate_folder_expand_state_1_4),
        (em_migrate_folder_view_settings_1_4),
        (em_migrate_imap_cmeta_1_4),
        (em_migrate_1_4), (emm_setup_initial),
        (em_migrate):
        * em-popup.c:
        * em-utils.c: (em_utils_save_part_to_file):
        * mail-component.c: (mail_component_init):
        * mail-config.c:
        * mail-folder-cache.c:
        * mail-mt.c:
        * mail-ops.c:
        * mail-tools.c: (mail_tool_get_local_movemail_path):
        Use e_util_mkdir_hier() instead of e_mkdir_hier().

        Use e_util_strstrcase() instead of e_strstrcasea().

        use e_strftime() in evolution-data-server/
        libedataserver/e-data-server-util.c instead of the copy in
        evolution/e-util/e-util.c.

        use e_filename_make_safe() in evolution-data-server/
        libedataserver/e-data-server-util.c instead of the copy in
        evolution/e-util/e-util.c.

        use e_utf8_strftime() in evolution-data-server/
        libedataserver/e-data-server-util.c instead of the copy in
        evolution/e-util/e-util.c.

svn path=/trunk/; revision=31118
2006-01-10 08:10:30 +00:00
319c71b6cf ** See bug 234008
2005-12-20  Parthasarathi Susarla <sparthasarathi@novell.com>

	** See bug 234008

	* em-folder-tree-model.c:
	* mail-folder-cache.c:
	Make sure that the Draft folder highlights the number of messages in
	it

svn path=/trunk/; revision=30891
2005-12-20 06:34:12 +00:00
448d624c00 em-folder-browser.c em-folder-view.c em-format-html.c
2005-12-18  Tor Lillqvist  <tml@novell.com>

	* em-folder-browser.c
	* em-folder-view.c
	* em-format-html.c
	* em-format-html-display.c
	* em-mailer-prefs.c
	* em-message-browser.c
	* em-migrate.c
	* em-subscribe-editor.c
	* em-sync-stream.c
	* em-utils.c
	* em-vfolder-editor.c
	* em-vfolder-rule.c
	* mail-autofilter.c
	* mail-component.c
	* mail-config.c
	* mail-folder-cache.c: Use gstdio wrappers. Construct pathnames of
	glade, xml, etspec and png files at run-time. Use
	g_filename_{to,from}_uri().

	* em-folder-browser.c (emfb_init)
	* em-folder-view.c (emfv_finalise)
	* em-message-browser.c (emmb_init): As EMFolderView::ui_files now
	always is a list of filenames constructed with g_build_filename(),
	use g_free() on each list entry before calling g_slist_free() on
	the list.

	* em-folder-tree-model.c (em_folder_tree_model_load_state): Use
	e_xml_parse_file().

	* em-migrate.c: Bypass all the code for upgrading from 1.x on Win32.
	(emm_setup_initial): Use GDir instead of dirent.

	* em-sync-stream.c
	* mail-folder-cache.c: Use pthread_equal() to compare pthread_t
	values.

	* em-vfs-stream.c: No EINPROGRESS or ELOOP on Win32.

svn path=/trunk/; revision=30854
2005-12-18 08:24:26 +00:00
8c8922a308 cast warning away.
2005-08-23  Not Zed  <NotZed@Ximian.com>

        * mail-tools.c (mail_tool_uri_to_folder): cast warning away.

        * mail-folder-cache.c: include missing header for
        e_filename_make_safe.

        * em-junk-hook.h: Fix some header includes, fix the include guard
        to use the right name.
        (EMJunk): Ugh, this is an object, properly derive from it!  How
        did this work?

        * em-junk-hook.c (em_junk_check_junk): fix bool conversion.

        * em-format-html-display.c (efhd_bar_popup_position): another
        wraning, why this crap isn't in the attachment bar like i said it
        should be, i'll never know.
        (efhd_xpkcs7mime_viewcert_foad): only define if used.

        * em-account-editor.c (emae_defaults_page): attempt to fix parentheses
        (emae_security_page): fix conditional compilation warnings.

svn path=/trunk/; revision=30214
2005-08-24 03:05:26 +00:00
e86d709799 ** See #232499.
2005-08-11  Not Zed  <NotZed@Ximian.com>

        ** See #232499.

        * mail-folder-cache.c (rename_folders): rename view meta-data
        along with the folder.

svn path=/trunk/; revision=30093
2005-08-12 08:31:19 +00:00
1b8003c176 if we get a null default, then set "" on the entry. (emae_option_entry):
2005-07-21  Not Zed  <NotZed@Ximian.com>

        * em-account-editor.c (emae_option_entry): if we get a null
        default, then set "" on the entry.
        (emae_option_entry): set the default value on the url if it
        doesn't exist already.

2005-07-20  Not Zed  <NotZed@Ximian.com>

        * mail-send-recv.c (refresh_folders_desc, refresh_folders_get)
        (refresh_folders_got, refresh_folders_free, get_folders)
        (receive_update_got_folderinfo, receive_update_got_store): refresh
        all the folders manually and directly.

        * mail-folder-cache.c (setup_folder): propagate even -1 unread
        counts, they get ignored later.

        * em-composer-utils.c (emu_handle_receipt_message)
        (em_utils_handle_receipt): use getmessagex too, so we can always
        clear any error.

        * em-folder-view.c (emfv_message_selected_timeout)
        (emfv_list_done_message_selected): use getmessagex and do
        something meaninful with the error.

        * mail-ops.c (mail_get_messagex): added new get message which
        returns an exception.

2005-07-19  Not Zed  <NotZed@Ximian.com>

        * mail-tools.c (mail_tool_uri_to_folder): dont get the service
        connected, it will connect if it needs to.

        * mail-ops.c (get_folderinfo_get): * em-folder-utils.c
        (emft_copy_folders__copy)
        (emfu_delete_folders): * em-folder-tree.c
        (emft_get_folder_info__get): Always request subscribed folders, if
        the backend doesn't implement it it will ignore it.

2005-07-13  Not Zed  <NotZed@Ximian.com>

        * mail-send-recv.c (mail_autoreceive_init, auto_online): listen to
        session online events, and if we are online, trigger an
        auto-receive of all auto-check accounts.

2005-07-11  Not Zed  <NotZed@Ximian.com>

        * mail-send-recv.c (auto_account_commit): force an update
        immediately if we're setting up the timeout to start with.

        * em-folder-tree-model.c (em_folder_tree_model_set_unread_count):
        noop if the unread count < 0.
        (em_folder_tree_model_set_folder_info): only set the unread count
        if we actually have one.

        * em-folder-tree.c (emft_tree_row_expanded): get the folder list
        'fast'.

        * mail-ops.c (get_folderinfo_get): get the folder list 'fast'.

svn path=/trunk/; revision=29822
2005-07-21 04:15:21 +00:00
5effb957e9 Handle the CamelOfflineStore case just like the CamelDiscoStore case.
2005-01-06  Jeffrey Stedfast  <fejj@novell.com>

	* mail-folder-cache.c (mail_note_store): Handle the
	CamelOfflineStore case just like the CamelDiscoStore case.

	* mail-ops.c (prep_offline_do): Since we can't kill off
	CamelDisco* (groupwise is using it), we have to handle both
	CamelOfflineFolder and CamelDiscoFolder for now.
	(set_offline_do): Same.

svn path=/trunk/; revision=28256
2005-01-06 22:12:57 +00:00
358fb894df added hook docs, and cleaned up some of the hook point names.
2004-10-28  Not Zed  <NotZed@Ximian.com>

        * mail-folder-cache.c (real_flush_updates):
        * em-message-browser.c (em_message_browser_new):
        * em-mailer-prefs.c (em_mailer_prefs_construct):
        * em-format-html-display.c (efhd_attachment_popup):
        * em-folder-view.c (emfv_popup, emfv_list_done_message_selected)
        (emfv_format_popup_event):
        * em-folder-tree.c (emft_popup):
        * em-folder-properties.c (emfp_dialog_got_folder):
        * em-folder-browser.c (em_folder_browser_new):
        * em-composer-utils.c (em_utils_reply_to_message):
        * em-composer-prefs.c (em_composer_prefs_construct):
        * em-account-editor.c (em_account_editor_construct): added hook
        docs, and cleaned up some of the hook point names.

svn path=/trunk/; revision=27749
2004-10-28 09:25:27 +00:00
a4bb7987d2 duh, they're camel not gobjects.
2004-10-22  Not Zed  <NotZed@Ximian.com>

        * em-event.c (eme_target_free): duh, they're camel not gobjects.

        * em-folder-view.c (emfv_list_done_message_selected): added a
        message.reading event.

svn path=/trunk/; revision=27694
2004-10-22 09:16:11 +00:00
ef6a3af717 Merged notzed-eplugin-2-branch to head.
svn path=/trunk/; revision=27300
2004-09-20 05:59:55 +00:00
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