aboutsummaryrefslogtreecommitdiffstats
path: root/mail/mail-vfolder.h
Commit message (Collapse)AuthorAgeFilesLines
* EMFolderTree: Store an EMailBackend instead of an EMailSession.Matthew Barnes2011-06-301-1/+1
| | | | | | | | All this so EMFolderTree can submit EActivity instances for async ops. You can obtain an EMailSession from an EMailBackend, but not vice versa. Creates lots of pretty ripples in the mail code, but ultimately reduces complexity. So it's a code cleanup of sorts.
* Get vfolder_edit_rule() working again.Matthew Barnes2011-06-301-1/+1
| | | | | | It was handling folder URIs the old way. Also, use gtk_dialog_run() to simplify the logic.
* Build vfolder rules with CamelFolders instead of folder URIs.Matthew Barnes2011-06-301-3/+3
|
* Bug #633982 - Crash when trying to Create a search folder from a searchMilan Crha2011-06-301-1/+2
|
* Send errors to an EAlertSink instead of the task bar.Matthew Barnes2010-10-191-2/+4
| | | | | | This marks the end of unintrusive error dialogs, which were too unintrusive. We now show errors directly in the main window using the EAlert / EAlertSink framework.
* Give MailSession a permanent home.Matthew Barnes2010-10-131-14/+19
| | | | | | | | | | | Global variables in shared libraries are a bad idea. EMailBackend now owns the MailSession instance, which is actually now EMailSession. Move the blocking utility functions in mail-tools.c to e-mail-session.c and add asynchronous variants. Same approach as Camel. Replace EMailReader.get_shell_backend() with EMailReader.get_backend(), which returns an EMailBackend. Easier access to the EMailSession.
* Coding style cleanups.Matthew Barnes2010-09-131-3/+3
|
* Only #include Camel's top-level header.Matthew Barnes2010-04-031-2/+1
|
* Remove mail-config, vfolder, and filter deps from mail-folder-cacheJonathon Jongsma2009-12-161-9/+0
| | | | | | | | | | | | | | | | | | Instead of pushing the updates to the right places, the folder cache simply emits the appropriate signals and other objects are responsible for listening and handling them appropriately. This allows us to cut down the dependencies of MailFolderCache significantly, which is a huge step towards allowing us to split it off for the backend. Another nice thing about this is that it allows us to trim a lot of 'public' api from the filter, vfolder, and config classes that were only used by the cache. Now that stuff can all be internal since they're pulling changes rather than having the changes pushed. The last remaining problematic dependency in MailFolderCache is EmFolderTreeModel. That is next on the chopping block. https://bugzilla.gnome.org/show_bug.cgi?id=604627
* Add documentation to clarify mail-folder-cache functionalityJonathon Jongsma2009-12-161-2/+2
| | | | | | | | | Added a bunch of gtk-doc documentation as well as a variety of small comments in the code. Also added documentation and renamed a couple of mail_vfolder_* functions that are only used by mail-folder-cache to make things a lot more understandable. https://bugzilla.gnome.org/show_bug.cgi?id=604627
* Cleanup and rename filter classes.Matthew Barnes2009-10-271-4/+4
|
* Stop abusing forward declarations.Matthew Barnes2009-06-191-15/+14
|
* Prefer GLib basic types over C types.Matthew Barnes2009-05-271-7/+7
|
* Merge branch 'master' into kill-bonoboMatthew Barnes2009-05-271-1/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: a11y/widgets/ea-combo-button.c a11y/widgets/ea-combo-button.h addressbook/gui/component/addressbook-component.c addressbook/gui/component/addressbook-component.h addressbook/gui/component/addressbook-view.c addressbook/gui/component/addressbook-view.h addressbook/gui/component/component-factory.c addressbook/gui/widgets/e-addressbook-view.c addressbook/gui/widgets/eab-contact-display.c addressbook/gui/widgets/eab-gui-util.h addressbook/gui/widgets/eab-menu.c addressbook/gui/widgets/eab-menu.h addressbook/gui/widgets/eab-popup-control.c addressbook/gui/widgets/eab-popup-control.h addressbook/gui/widgets/eab-popup.c addressbook/gui/widgets/eab-popup.h calendar/gui/cal-search-bar.c calendar/gui/calendar-commands.c calendar/gui/calendar-component.c calendar/gui/comp-editor-factory.c calendar/gui/comp-editor-factory.h calendar/gui/control-factory.c calendar/gui/dialogs/comp-editor.c calendar/gui/e-cal-component-memo-preview.c calendar/gui/e-cal-component-memo-preview.h calendar/gui/e-calendar-table.c calendar/gui/e-memo-table.c calendar/gui/e-memos.c calendar/gui/e-tasks.c calendar/gui/gnome-cal.c calendar/gui/gnome-cal.h calendar/gui/itip-bonobo-control.c calendar/gui/itip-bonobo-control.h calendar/gui/main.c calendar/gui/memos-component.c calendar/gui/memos-control.c calendar/gui/memos-control.h calendar/gui/migration.c calendar/gui/migration.h calendar/gui/tasks-component.c calendar/gui/tasks-control.c calendar/importers/main.c composer/Makefile.am composer/e-composer-header-table.c composer/e-composer-header.c composer/e-composer-header.h composer/e-composer-name-header.c composer/e-composer-private.c composer/e-composer-text-header.c composer/e-msg-composer.c composer/e-msg-composer.h e-util/e-corba-utils.h e-util/e-logger.c e-util/e-logger.h e-util/e-util-labels.c e-util/e-util-labels.h em-format/em-format.c mail/Makefile.am mail/e-mail-shell-migrate.c mail/em-account-editor.c mail/em-account-editor.h mail/em-composer-prefs.c mail/em-composer-utils.c mail/em-composer-utils.h mail/em-folder-browser.c mail/em-folder-tree-model.c mail/em-folder-tree.c mail/em-folder-tree.h mail/em-folder-utils.c mail/em-folder-utils.h mail/em-folder-view.c mail/em-format-html-display.c mail/em-format-html.c mail/em-mailer-prefs.c mail/em-mailer-prefs.h mail/em-message-browser.c mail/em-message-browser.h mail/em-network-prefs.h mail/em-popup.c mail/em-utils.c mail/importers/Makefile.am mail/mail-component-factory.c mail/mail-component.c mail/mail-config-factory.c mail/mail-config-factory.h mail/mail-config.c mail/mail-dialogs.glade mail/mail-types.h plugins/calendar-weather/calendar-weather.c plugins/mail-account-disable/mail-account-disable.c plugins/select-one-source/select-one-source.c po/POTFILES.in shell/e-component-registry.c shell/e-component-registry.h shell/e-component-view.c shell/e-component-view.h shell/e-corba-config-page.c shell/e-corba-config-page.h shell/e-shell-constants.h shell/e-shell-settings-dialog.c shell/e-shell-settings-dialog.h shell/e-shell-window-commands.c shell/e-shell-window.c shell/e-shell.h shell/e-sidebar.c shell/e-sidebar.h shell/e-user-creatable-items-handler.c shell/e-user-creatable-items-handler.h shell/es-menu.c shell/es-menu.h shell/evolution-component.h shell/evolution-config-control.c shell/evolution-config-control.h shell/evolution-listener.c shell/evolution-listener.h shell/evolution-shell-component-utils.c shell/evolution-shell-component-utils.h shell/importer/evolution-importer-client.c shell/importer/evolution-importer-client.h shell/importer/evolution-importer-listener.c shell/importer/evolution-importer-listener.h shell/importer/evolution-importer.c shell/importer/evolution-importer.h shell/importer/evolution-intelligent-importer.c shell/importer/evolution-intelligent-importer.h shell/importer/intelligent.c shell/main.c shell/test/evolution-test-component.c shell/test/evolution-test-component.h widgets/menus/gal-view-instance.c widgets/menus/gal-view-menus.c widgets/menus/gal-view-menus.h widgets/misc/Makefile.am widgets/misc/e-activity-handler.c widgets/misc/e-activity-handler.h widgets/misc/e-charset-picker.c widgets/misc/e-combo-button.c widgets/misc/e-combo-button.h widgets/misc/e-config-page.h widgets/misc/e-dropdown-button.c widgets/misc/e-dropdown-button.h widgets/misc/e-filter-bar.c widgets/misc/e-info-label.c widgets/misc/e-info-label.h widgets/misc/e-multi-config-dialog.c widgets/misc/e-multi-config-dialog.h widgets/misc/e-search-bar.c widgets/misc/e-search-bar.h widgets/misc/e-task-bar.c widgets/misc/e-task-bar.h widgets/misc/e-task-widget.c widgets/misc/e-task-widget.h widgets/misc/test-dropdown-button.c widgets/misc/test-error.c widgets/misc/test-info-label.c widgets/table/e-table-example-1.c
| * Remove trailing whitespace, again.Matthew Barnes2009-05-271-1/+1
| |
| * Change License from GPL to LGPL. 2nd batch.Sankarasivasubramanian Pasupathilingam2008-09-031-0/+20
| | | | | | | | | | | | More changes to come. svn path=/trunk/; revision=36247
* | Implement yet more mail actions.Matthew Barnes2008-12-191-1/+3
| | | | | | | | svn path=/branches/kill-bonobo/; revision=36918
* | Merge revisions 36016:36303 from trunk.Matthew Barnes2008-09-111-0/+20
|/ | | | svn path=/branches/kill-bonobo/; revision=36307
* ** Part of bug #511488Milan Crha2008-01-241-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | 2008-01-24 Milan Crha <mcrha@redhat.com> ** Part of bug #511488 * mail/mail-vfolder.h: * mail/mail-vfolder.c: (vfolder_loaded): Function dropped. * mail/mail-vfolder.c: (vfolder_load_storage): Allow to call this function more than once, but do load the storage only once. * mail/em-folder-utils.c: (emfu_popup_new_folder_response): * mail/mail-vfolder.c: (vfolder_edit), (vfolder_gui_add_rule), (vfolder_gui_add_from_message), (vfolder_gui_add_from_address): * mail/em-folder-browser.c: (emfb_search_menu_activated): * mail/em-folder-view.c: (emp_uri_popup_vfolder_sender), (emp_uri_popup_vfolder_recipient), (vfolder_type_current): Ensure vfolder is running. * plugins/groupwise-features/share-folder-common.c: (users_dialog_response): The logic to check if vfolder is running has been changed, so reflect it here too. svn path=/trunk/; revision=34878
* ** Fix for bug #300336Milan Crha2008-01-071-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2008-01-07 Milan Crha <mcrha@redhat.com> ** Fix for bug #300336 * plugins/groupwise-features/share-folder-common.c: (users_dialog_response): Ensure vfolder is running. * mail/mail-vfolder.h: (vfolder_loaded): * mail/mail-vfolder.c: (vfolder_loaded): New helper function. * mail/em-folder-utils.c: (emfu_popup_new_folder_response): * mail/mail-vfolder.c: (vfolder_gui_add_rule), (vfolder_gui_add_from_message), (vfolder_gui_add_from_address): * mail/em-folder-browser.c: (emfb_search_menu_activated): * mail/em-folder-view.c: (emp_uri_popup_vfolder_sender), (emp_uri_popup_vfolder_recipient), (vfolder_type_current): Ensure vfolder is running. * mail/mail-component.c: (mc_startup): Do not start vfolder when disabled by option '/apps/evolution/mail/display/enable_vfolders'. * mail/evolution-mail.schemas.in: Added schema for new option. * mail/mail-config.glade: * mail/em-mailer-prefs.h: * mail/em-mailer-prefs.c: Added checkbox for "Enable Search Folders" option. Note: if your schema failed to install, then the search folders will be hidden. Enable by hand then. svn path=/trunk/; revision=34775
* Add missing headers. Add function prototypes.Fixes #347689.Yuri Pankov2006-07-221-0/+3
| | | | | | | | | 2006-07-22 Yuri Pankov <yuri.pankov@gmail.com> * em-format-html-display.c: Add missing headers. * mail-vfolder.h: Add function prototypes.Fixes #347689. svn path=/trunk/; revision=32381
* forward-reference structuresNot Zed2005-05-161-14/+14
| | | | | | | | | | | | | | 2005-05-16 Not Zed <NotZed@Ximian.com> * mail-vfolder.h: * mail-autofilter.h: forward-reference structures * *.h: Make installed headers includable from mail/ * Makefile.am (mailinclude_HEADERS): install various mail headers as first cut at public plugin api. svn path=/trunk/; revision=29371
* New method to copy the selected text in the mail display, to the clipboardRodney Dawes2005-02-191-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2005-02-18 Rodney Dawes <dobey@novell.com> * mail/em-folder-view.c (emfv_popup_copy_text): New method to copy the selected text in the mail display, to the clipboard (emfv_popup_items): Restructure this list for the new context menus layout that we are moving to, to improve the UI (emfv_popup): Add a third argument for whether we are on the mail display or not, so that we can pop up the correct portion of the menus Pass the on_display argument on to create the popup target Only generate the label items if we are on the list and not the display (emp_uri_popup_vfolder_{sender,recipient}): New methods to create vfolders to and from mailto: addresses from the context menu (emfv_enable_menus): Create the target here for clicking on the list (em_folder_view_get_popup_target): Add a third argument so that we can tell whether we are on the display or not Set the appropriate flags on the target for whether we are on the message display,, and whether or not there is selected text in it (emfv_list_right_click): We aren't rigt-clicking on the display here (emfv_popup_menu): We aren't right-clicking on the mail display here (emfv_uri_popups): Add the submenu for creating a vfolder from mailto: (emfv_format_popup_event): We are right-clickingo nt he display here * mail/em-folder-view.h: Add the new flags we need for the mail context menus popup target here (em_folderiew_get_popup_target): Add the on_display argument * mail/em-popup.c (emp_standard_uri_popups): Fix the label and mnemonic for the Send New Message popup item for mailto: addresses * mail/mail-autofilter.c (rule_from_address): (em_vfolder_rule_from_address): New methods to create a vfolder based on a CamelInternetAddress object that we get from the mailer * mail/mail-vfolder.[ch] (vfolder_gui_add_from_address): New method to create a vfolder rule based on the mailto: addresses Fixes #23822 svn path=/trunk/; revision=28814
* ** See #59885.Not Zed2004-06-171-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2004-06-17 Not Zed <NotZed@Ximian.com> ** See #59885. ** Moved all of the mail specific filtering stuff from filter/* to here. Renamed appropriately into em* space, etc. * em-filter-folder-element.c (emff_copy_value): implement for folders. * em-vfolder-rule.c (get_widget): read the vfolder glade from mail-config.glade. * mail-config.glade: moved the vfolder source selector here. * em-search-context.c: new mail search specific rule context. * mail-component.c (setup_search_context): use the new em_search_context. * vfolder-rule.c (validate): change error to mail context. * filter-folder.c (validate): change error to mail context. * Makefile.am (em-filter-i18n.h): added rule for i18n of mail filter type stuff. (libevolution_mail_la_SOURCES): added in the filter and vfolder rule stuff specific to mail. ** See #59885. * em-format-html-quote.[ch]: remove and remove from build, not used. * Makefile.am (libevolution_mail_la_LIBADD): add libeabutil and evolutionsmime. * mail-component-factory.c (factory): there is no mail_config anymore. svn path=/trunk/; revision=26380
* Make displayed_uid public.Not Zed2004-01-201-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | 2004-01-20 Not Zed <NotZed@Ximian.com> * em-folder-view.c (EMFolderView): Make displayed_uid public. * em-folder-browser.c (em_folder_browser_show_preview): use em_folder_view_set_message rather than message_list_select_uid. When clearing, clear view->displayed_uid too. 2004-01-20 Not Zed <NotZed@Ximian.com> ** See bug #52965. * mail-component.c (mail_component_init): removed an epfixme, it already is an object. (impl_upgradeFromVersion): call mail_note_store after running the upgrade for local folders. * em-migrate.c (em_migrate): revert the vfolders.xml after we've imported them. * mail-vfolder.c (vfolder_revert): new api to re-load the vfolders file. svn path=/trunk/; revision=24322
* Do not depend on e-folder-list.Ettore Perazzoli2003-12-031-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * gui/component/addressbook-config.c: Do not depend on e-folder-list. * gui/component/select-names/e-select-names.c: Remove dependency on evolution-folder-selector-button. (e_addressbook_create_folder_selector): Just return a FIXME label for now. (folder_selected): #if 0 out. (e_select_names_init): Do not connect. * gui/component/select-names/e-select-names-manager.c (e_select_names_manager_activate_dialog): Don't get a shell_client arg anymore. (load_completion_books): Stub out. * gui/component/select-names/e-select-names.c (e_select_names_new): Don't get an EvolutionShellClient anymore. Don't create the folder selector button for now. * gui/component/select-names/e-select-names.h: Remove dependency on evolution-shell-client. * gui/component/select-names/e-select-names-bonobo.c: Remove dependency on evolution-shell-client. (impl_SelectNames_activate_dialog): Stub out. * gui/widgets/eab-gui-util.c: Remove dependency on evolution-shell-client. (eab_transfer_contacts): Stub out. * importers/icalendar-importer.c: Do not #include shell stuff. * gui/main.c: Do not #include <evolution-shell-client.h>. * gui/e-itip-control.c: Do not #include <e-folder-selector-button.h> nor <evolution-shell-client.h>. (start_default_server): Return FALSE. (default_server_started_cb): Do not connect the "selected" signal on the button since it's now NULL. (button_selected_cb): #if 0 out. * gui/e-cal-list-view.h: Do not #include "evolution-activity-client.h". * gui/tasks-component.c (impl_createControls): Give an empty label for the status bar. * gui/e-day-view.h: Remove all deps on evolution-activity-client. * e-msg-composer-hdrs.c: Do not #include <evolution-folder-selector-button.h>. (e_msg_composer_hdrs_set_post_to): #if 0 out for now. (e_msg_composer_hdrs_get_post_to): Likewise. * mail-vfolder.c: Do not #include "evolution-shell-component.h". * Makefile.am (libevolution_mail_la_SOURCES): Don't compile mail-importer.[ch] for now. * mail-component-factory.c: Do not #include <evolution-shell-client.h>. * mail-config.c: Likewise. * mail-vfolder.h: Do not #include <evolution-storage.h> or <evolution-shell-component.h>. * mail.h: Do not #include <evolution-storage.h>. * mail-ops.h: Do not #include <evolution-storage.h>. (mail_scan_subfolders): Remove prototype. (mail_update_subfolders): Likewise. svn path=/trunk/; revision=23595
* Merge new-ui-branch to the trunk.Ettore Perazzoli2003-10-221-1/+1
| | | | svn path=/trunk/; revision=22964
* Unref the driver before returning to main thread, so any closingNot Zed2002-08-061-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2002-08-06 Not Zed <NotZed@Ximian.com> * mail-ops.c (filter_folder_filter): Unref the driver before returning to main thread, so any closing operations are handled async (as in fetch_mail_fetch()), for #28072. ** fixes for #24605. * mail-vfolder.c (vfolder_gui_add_from_mlist): Removed. * folder-browser.c (filter_type_uid,vfolder_type_uid): Changed to accept args directly. Fixed callers. (filter_mlist_uid,vfolder_mlist_uid): Use filter_type_uid instead of mlist variant. (vfolder_type_current): new function to handle setup of vfolders from the main menu. It now uses the vfolder_type_uid function the same as the popup. (vfolder_subject, vfolder_sender, vfolder_recipient, vfolder_mlist): Changed to use vfolder_type_current. (filter_type_current): Similar for filters. (filter_subject, filter_sender, filter_recipient, filter_mlist): Changed to use filter_type_current. * mail-autofilter.c (rule_from_message): Handle AUTO_MLIST type. (rule_from_mlist): (vfolder_rule_from_mlist): (filter_rule_from_mlist): Removed. (filter_gui_add_from_mlist): Removed. * mail-autofilter.h: Added AUTO_MLIST type. svn path=/trunk/; revision=17704
* Changed to get the address from the messageinfo of the current selectedNot Zed2002-03-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2002-03-26 Not Zed <NotZed@Ximian.com> * mail-callbacks.c (addrbook_sender): Changed to get the address from the messageinfo of the current selected message rather than from the current_message. (requeue_mail_reply): Only re-queue if we got a message, could potentially cause an infinite loop trying to get a message it can't. (reply_to_sender, reply_to_list, reply_to_all): Always pass NULL as the msg to mail_replay, this forces mail_reply to always load the message anew. Fixes FIXME's and popup behaviour. Basically this and stuff below fixes #8542. Its probably not the nicest way, but it works. (mark_as_important): Use the flags properly, we can set all flags to any combination of on or off as we want, so we just need to call set_flags once, thats why its set flags and not set_option. (toggle_flags): Fixed the logic here also, so we dont have to call set_message_flags more than once, and also implement a true toggle for any number of simultaneous flags (whilst simplifying code). * mail-vfolder.c (vfolder_gui_add_from_mlist): Removed the 'msg' parameter, its not used, fixed callers. * folder-browser.c (on_right_click): Lookup the mlist from messageinfo, and change the 'no selected' logic slightly, fixes most of #8542. (filter_data_free): Free filter data struct. (vfolder_type_got_message): Actually create vfolder once we have the message we need to use for it. Code could probably be changed to use messageinfo instead. (vfolder_type_uid): Lookup a message based on uid, and use that to create a vfolder based on type. (vfolder_subject_uid, vfolder_sender_uid, vfolder_receipient_uid, vfolder_mlist_uid): Callbacks for the popup menu, used to create rules based on the uid rather than the message, which it loads as required. (filter_type_got_message, filter_*_uid): Similar to vfolder stuff above. (filter_menu[]): Changed callbacks to popup specific ones, not folderbrowser specific ones used by bonobo. (on_right_click): Initialise callback data for the filter submenu so it can look up messages for callback implementation. svn path=/trunk/; revision=16253
* Implemented. (mail_vfolder_rename_uri): We do want to check renamed uri's82001-10-281-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Added remove flag - its not adduri, its removeuri, its less typing than82001-10-191-6/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | 2001-10-18 <NotZed@Ximian.com> * mail-vfolder.c (vfolder_adduri): Added remove flag - its not adduri, its removeuri, its less typing than creating a removeuri. (vfolder_adduri_do): Implement the remove flag. (mail_vfolder_remove_uri): Changed to mail_vfolder_delte_uri, to indicate its actually been deleted. (mail_vfolder_add_uri): Added remove flag. (rule_changed): When adding existing folders to a new rule, strdup the list data. * mail-folder-cache.c (store_finalised): Unhook from all events when done. (mail_note_store_remove): Remove a store from being noted. (free_folder_info): Also if we have a folder, unhook all events. Also remove the uri from vfolders. (mail_note_folder): Remove warning about adding folders to stores that aren't added yet - we might actually be removing the store. * component-factory.c (mail_remove_storage): Call mail_note_store_remove when we remove the storage. svn path=/trunk/; revision=13782
* Call mail_vfolder_shutdown.Jeffrey Stedfast2001-10-161-0/+2
| | | | | | | | | | | | | | | 2001-10-15 Jeffrey Stedfast <fejj@ximian.com> * component-factory.c (owner_unset_cb): Call mail_vfolder_shutdown. * mail-vfolder.c (mail_vfolder_shutdown): Unref all of our VFolders. * mail-folder-cache.c (real_note_folder): Remember to unref the folder before returning if we have already noted this folder. svn path=/trunk/; revision=13682
* If we're accessing a vfolder uri, then popup the vfolder editor instead of42001-10-051-0/+1
| | | | | | | | | | | | 2001-10-04 <NotZed@Ximian.com> * mail-callbacks.c (configure_folder): If we're accessing a vfolder uri, then popup the vfolder editor instead of trying the mail local one. * mail-vfolder.c (vfolder_edit_rule): Edit a vfolder by name. svn path=/trunk/; revision=13419
* Emit folder_deleted event. (remove_find_path): Fix, compare against path,82001-09-291-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-09-28 <NotZed@Ximian.com> * mail-local.c (mail_local_store_remove_folder): Emit folder_deleted event. (remove_find_path): Fix, compare against path, not full_name. * mail-tools.c (mail_tool_uri_to_folder): Dont vfolder_register_source anymore. * mail-vfolder.c (rule_changed): Changed to access mail_fodler_cahce to find out if the folder exist yet before trying to open them, also use the cache as a cache so we dont have to open the folder if its already been opened. (vfolder_register_source, register_source): Removed. (source_finalise): Removed, (check_source): Removed. All handled through diff mechanism. (mail_vfolder_add_uri): New function, records uri's of available folders, and adds them to any active vfolders if required. (mail_vfolder_remove_uri): New function, removes a uri from available folders, and checks any rules to see fi they need updating. (vfolder_adduri): New async function to add a uri to all vfolders that need it. (store_folder_deleted): oops! free user, not rule!! * mail-folder-cache.c: Add uri->folderinfo hashtable, and the store from which they come into the store info struct. Add uri to the folder_info. (setup_folder): Store the uri in the folderinfo. (setup_folder): And the uri in the folder_uri hashtable. (mail_note_store): Store the store in the storeinfo, and setup the folders_uri hashtable via the store's hash functions. (setup_folder): Call mail_vfolder_add_uri to note this newly setup folder uri. (store_folder_deleted): Proxy call to main thread. (real_folder_deleted): And tell the vfolder to remove this uri from its folder list. (setup_folder): Dont call vfolder_add_uri if noselect is set on the uri. 2001-09-27 <NotZed@Ximian.com> * mail-vfolder.c: Removed vfolder_info struct, vfolder_storage. Neither used anymore. svn path=/trunk/; revision=13242
* Major rewrite of most of the guts, handle changes based on signals and52001-09-151-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-09-15 <NotZed@Ximian.com> * mail-vfolder.c: Major rewrite of most of the guts, handle changes based on signals and events, etc. Use the main storage handling code that imap uses, etc. * mail-tools.c (mail_tool_uri_to_folder): Dont special case vfolder: anymore. * component-factory.c (owner_set_cb): use vfolder_load_storage(), new function to setup vfolder storage, after interaction has been enabled only. This might need some tweaking ... (storage_remove_folder): Removed all the folder lookup stuff. Just delete the folder based on the path passed in. There should be no reason this wouldn't work, right? 2001-09-14 <NotZed@Ximian.com> * mail-ops.c (get_folderinfo_get): Only add vtrash folder info, if store supports vtrash. * component-factory.c (mail_load_storage_by_uri): Let 'vfolder' stores show up too. 2001-09-13 <NotZed@Ximian.com> * mail-vfolder.c (vfolder_uri_to_folder): Open a vfolder then set its expression, since name?query open method is removed. svn path=/trunk/; revision=12856
* Connect to the folder_remove signal on the storage. (vfolder_remove): NewJeffrey Stedfast2001-08-031-9/+11
| | | | | | | | | | 2001-08-02 Jeffrey Stedfast <fejj@ximian.com> * mail-vfolder.c (vfolder_create_storage): Connect to the folder_remove signal on the storage. (vfolder_remove): New function to remove a vfolder. svn path=/trunk/; revision=11591
* Cleaned up #includes. Remove unneccesary includes of <gnome.h>,Kjartan Maraas2001-03-301-2/+0
| | | | | | | | | | | 2001-03-29 Kjartan Maraas <kmaraas@gnome.org> * *.*: Cleaned up #includes. Remove unneccesary includes of <gnome.h>, <gtk/gtk.h>, <bonobo.h> and replaced with more fine grained headers where needed. Also marked a bunch of strings for translations and added some missing prototypes. svn path=/trunk/; revision=9025
* Remove very old camel lock stuff.Not Zed2001-03-031-0/+3
| | | | | | | | | | | | | | | | | | | | | 2001-03-03 Not Zed <NotZed@Ximian.com> * mail-tools.c: Remove very old camel lock stuff. * mail-local.c (register_folder_registered): Add the local folder as a potential vfolder source. * folder-browser.c (got_folder): When we have a new folder, register it as a potential vfolder source. * mail-vfolder.c: Added the source rule to the vfolder_info. (vfolder_refresh): Store the rule in the vfolder info, etc. (vfolder_register_source): Function to register a newly opened folder with us. (vfolder_uri_to_folder): Save the folder in the vfolder_info too. (source_finalise): Handle clenaup when the folder dies. svn path=/trunk/; revision=8534
* Fixes for changes to search bar. (search_save): Removed. (search_full):Not Zed2001-03-011-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-03-01 Not Zed <NotZed@Ximian.com> * folder-browser.c (folder_browser_search_menu_activated): Fixes for changes to search bar. (search_save): Removed. (search_full): Removed. (search_full_clicked): Removed. (folder_browser_search_option_items[]): Removed. (folder_browser_search_query_changed): Changed for search bar changes. (folder_browser_clear_search): Removed. * mail-vfolder.c (vfolder_clone_rule): New function to clone a filter/search rule into a matching vfolder rule. * mail-send-recv.c (mail_receive_uri): Setup a timeout for status updates. (build_dialogue): Setup timeout id for status updates. (operation_status_timeout): New function to set the status via a timeout. (receive_done): Remove the timeout handler if we need to. (operation_status): (receive_status): Just update the info, and let the timeout handler update the gui. (do_free_status): (do_show_status): Removed gui thread status message processing. 2001-02-28 Not Zed <NotZed@Ximian.com> * folder-browser.c (folder_browser_config_search): New function to configure the FilterRule for the search mechanism. 2001-02-27 Not Zed <NotZed@Ximian.com> * folder-browser.c (folder_browser_gui_init): Setup the search bar as a filterbar. (got_folder): Set the whole search bar sensitive or not based on the search capability of the folder. * folder-browser.h: Changed to use efilterbar instead of esearchbar. svn path=/trunk/; revision=8438
* vfolder/filter on mailing list. Doesn't acutally work right yet.Michael Zucci2001-02-231-0/+1
| | | | | | | | | | | | | | | | | | | | * mail-vfolder.c (vfolder_gui_add_from_mlist): Rule to add mlist vfolder. * mail-autofilter.c (filter_gui_add_for_mailing_list): Removed. (rule_from_mlist): Build a generic match rule from an mlist. (vfolder_rule_from_mlist): Setup the vfolder rule for an mlist. (filter_rule_from_mlist): Setup a filter rule fro an mlist. (filter_gui_add_from_mlist): GUI thingy to do the work. * folder-browser.c (on_right_click): Added vfolder on mailing list to filter menu. (on_right_click): Use header_raw_check_mailign_list instead of mlist magic to get the mailing list name. (filter_mlist): Changed to use new add_from_mlist() call. (vfolder_mlist): New function for vfolder from mlist. svn path=/trunk/; revision=8358
* New handy dandy function to ref and return the vfolder storage (willJeffrey Stedfast2001-02-201-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-02-19 Jeffrey Stedfast <fejj@ximian.com> * mail-vfolder.c (mail_vfolder_get_vfolder_storage): New handy dandy function to ref and return the vfolder storage (will probably be disavowed once I figure out how to get the vTrash folder to show up in the EvolutionLocalStorage). * main.c (main): Call vtrash_cleanup(). * mail-vtrash.c: New file. (vtrash_uri_to_folder): vtrash: URI handler (vtrash_create): Replacement async vtrash function for the old one in mail-ops.c (vtrash_cleanup): Cleanup code - unrefs the cached vtrash folders and free's the hashtable. * Makefile.am: Added mail-vtrash.[c,h]. * mail-tools.c (mail_tool_uri_to_folder): If we have a vtrash: URI, call the vtrash URI handler function rather than continuing on. Yes, I know this is a hack and it needs to be fixed. * mail-ops.c (mail_do_setup_trash): Removed. (mail_trash_get): Removed. * component-factory.c (owner_set_cb): Create the vTrash folder for the LocalStore here. * mail-local.c (get_folder_info): Implement. svn path=/trunk/; revision=8288
* Merge with camel-async.Peter Williams2000-08-111-1/+1
| | | | svn path=/trunk/; revision=4687
* Helper function to add with confirm.Not Zed2000-08-091-0/+2
| | | | | | | | | | 2000-08-09 Not Zed <NotZed@HelixCode.com> * mail-autofilter.c (filter_gui_add_from_message): Helper function to add with confirm. * message-list.c (on_right_click): Added menu to install vfolders/filters from message. svn path=/trunk/; revision=4646
* Configurable vfolder sources, and a button to save a searchNot Zed2000-07-311-0/+22
as a new vfolder. 2000-07-31 Not Zed <NotZed@HelixCode.com> * mail-vfolder.h: Header for vfolder functions. * folder-browser.c (mail_uri_to_folder): Use new scheme to open vfolders. (search_save): New button/function to save a search as a vfolder. * mail-vfolder.c (vfolder_edit): Made asynchronous. (vfolder_uri_to_folder): New function for loading vfolders and setting up their source folders. (vfolder_refresh): Change shell vfolder uri's to indirect references rather than the real vfolder uri. (vfolder_gui_add_rule): Add a rule with user confirmation. (vfolder_create_part): Get a new part by name, for creating rules in code. * message-thread.c (thread_messages): Check for uid lookup failure, which indicates an error in the folder or calling code. svn path=/trunk/; revision=4422