aboutsummaryrefslogtreecommitdiffstats
path: root/mail/component-factory.c
Commit message (Collapse)AuthorAgeFilesLines
* ** Bug 40536Not Zed2003-04-071-10/+10
| | | | | | | | | | | | | | | 2003-04-03 Not Zed <NotZed@Ximian.com> ** Bug 40536 * component-factory.c (send_receive_cb): run the warning dialogue asynchronously. Also, set the mail send/receive dialogue to transient for parent. * mail-send-recv.c (mail_send_receive): return the dialogue for send/receive. svn path=/trunk/; revision=20691
* Call composer_check_autosave if we're going interactive, to check forNot Zed2003-04-021-0/+4
| | | | | | | | | | 2003-04-02 Not Zed <NotZed@Ximian.com> * component-factory.c (interactive_cb): Call composer_check_autosave if we're going interactive, to check for unsaved files. Fixes #40300. svn path=/trunk/; revision=20617
* Update prototypeDan Winship2003-03-251-1/+2
| | | | | | * component-factory.c (interactive_cb): Update prototype svn path=/trunk/; revision=20494
* remove a debug printf that made it in a commit.Not Zed2003-03-241-1/+0
| | | | | | | | | 2003-03-25 Not Zed <NotZed@Ximian.com> * component-factory.c (got_folder): remove a debug printf that made it in a commit. svn path=/trunk/; revision=20480
* Load per-folder setting of show_preview from meta data.Not Zed2003-03-241-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | 2003-03-25 Not Zed <NotZed@Ximian.com> * folder-browser-ui.c (folder_browser_ui_add_global): Load per-folder setting of show_preview from meta data. (folder_browser_ui_add_list): Same, for thread_list. * mail-tools.c (mail_tool_get_meta_data) (mail_tool_delete_meta_data): helpers to lookup/delete meta data. * mail-config.c (mail_config_uri_deleted): delete the meta-data for the folder. * folder-browser.c (folder_browser_reload): dont reload the uri if we're in the process of loading it still. (folder_browser_new): load the folder meta data before loading the folder. (folder_browser_toggle_preview): (folder_browser_toggle_threads): save change to meta-data. (got_folder): Load the metadata if we have a folder to set, and the meta-data has changed from initislisation. svn path=/trunk/; revision=20478
* Change the message_destroy callback to just gtk_widget_destroy. No need toJeffrey Stedfast2003-03-211-7/+1
| | | | | | | | | | | 2003-03-20 Jeffrey Stedfast <fejj@ximian.com> * component-factory.c (owner_set_cb): Change the message_destroy callback to just gtk_widget_destroy. No need to have a callback simply to call this function. (warning_response): Removed (see above). svn path=/trunk/; revision=20447
* Update for EvolutionStorage changeDan Winship2003-03-151-9/+5
| | | | | | | * component-factory.c (storage_connect, storage_connected): Update for EvolutionStorage change svn path=/trunk/; revision=20299
* Removed the debug printf. Added a case for the composer. Part of fixingNot Zed2003-03-101-1/+4
| | | | | | | | | | 2003-03-10 Not Zed <NotZed@Ximian.com> * component-factory.c (factory): Removed the debug printf. Added a case for the composer. Part of fixing #39256. svn path=/trunk/; revision=20228
* removed main.c from the build.Not Zed2003-03-101-32/+0
| | | | | | | | | | | | | 2003-03-10 Not Zed <NotZed@Ximian.com> * Makefile.am (libevolution_mail_la_SOURCES): removed main.c from the build. * component-factory.c (component_factory_init): Remove, not used anymore, causes linking problems some places. (factory): Removed the debug printf. svn path=/trunk/; revision=20226
* remove debug printf.Not Zed2003-03-051-2/+0
| | | | | | | | 2003-03-06 Not Zed <NotZed@Ximian.com> * component-factory.c (owner_unset_cb): remove debug printf. svn path=/trunk/; revision=20168
* Removed old quit code. (owner_unset_cb): Make this call synchronous. WontNot Zed2003-03-051-37/+47
| | | | | | | | | | 2003-03-05 Not Zed <NotZed@Ximian.com> * component-factory.c (idle_quit): Removed old quit code. (owner_unset_cb): Make this call synchronous. Wont cover all cases but should be ok most of the time. svn path=/trunk/; revision=20167
* Don't try to get a FontPrefs control.Hans Petter Jansson2003-02-221-1/+1
| | | | | | | | | | | | | | 2003-02-21 Hans Petter Jansson <hpj@ximian.com> * component-factory.c (factory): Don't try to get a FontPrefs control. * mail-config-factory.c (mail_config_control_factory_cb): Just return NULL if a FontPrefs control was requested. * mail-config.c (mail_config_get_default_account): If no accounts are defined, don't try to set the default account. svn path=/trunk/; revision=19996
* add EVOLUTION_PRIVDATADIRDan Winship2003-02-071-1/+1
| | | | | | | | | | | | | | | | | * Makefile.am (INCLUDES): add EVOLUTION_PRIVDATADIR * component-factory.c (owner_set_cb): Use EVOLUTION_PRIVDATADIR * mail-autofilter.c (filter_gui_add_from_message): Likewise (mail_filter_rename_uri): Likewise (mail_filter_delete_uri): Likewise * mail-callbacks.c (filter_edit): Likewise. * mail-search-dialogue.c (mail_search_dialogue_construct): Likewise * mail-session.c (main_get_filter_driver): Likewise * mail-summary.c (generate_folder_summaries): Likewise * mail-vfolder.c (vfolder_load_storage): Likewise svn path=/trunk/; revision=19824
* Change strcmp(fi->path, path) to strcmp(fi->name, name) and now theJeffrey Stedfast2003-01-281-2/+5
| | | | | | | | | | | 2003-01-27 Jeffrey Stedfast <fejj@ximian.com> * component-factory.c (storage_remove_folder): Change strcmp(fi->path, path) to strcmp(fi->name, name) and now the execution takes the right path. My patch base on Callie's patch for bug #33525. svn path=/trunk/; revision=19661
* transfer the current acount info, which will be regarded as the sender ofleon.zhang2003-01-241-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 2002-12-07 leon.zhang <leon.zhang@sun.com> * component-factory.c (user_create_new_item_cb): transfer the current acount info, which will be regarded as the sender of new composer, to send_to_url(). * mail-callbacks.h (send_to_url): Add a new parameter for parent folder uri. * mail-callbacks.c (send_to_url): Create composer base on source account info from parent folder physical uri. (post_to_url): create composer based on current account from parent folder physical uri. * mail-display.c (on_link_clicked): Apply new format of function: send_to_url. Fixes bug #35123 #35289 2003-01-24 Not Zed <NotZed@Ximian.com> * mail-local.c (non_equal): We do actually need to check they are file url's, otherwise, all url's match. svn path=/trunk/; revision=19611
* Use EVOLUTION_GALVIEWSDIR.Ettore Perazzoli2003-01-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * folder-browser-ui.c (folder_browser_ui_setup_view_menus): Use EVOLUTION_GALVIEWSDIR. * message-browser.c (set_bonobo_ui): Get evolution-mail-messagedisplay.xml from EVOLUTION_UIDIR. * mail-signature-editor.c (mail_signature_editor): Get evolution-signature-editor.xml from EVOLUTION_UIDIR. * folder-browser-ui.c (ui_add): Get the evoluiton-mail* XML files from EVOLUTION_UIDIR. * Makefile.am (INCLUDES): Define EVOLUTION_GALVIEWSDIR; update EVOLUTION_IMAGESDIR to include the $(BASE_VERSION). (gladedir): Version using $(BASE_VERSION). (etspecdir): Likewise. (iconsdir): Likewise. (buttonsdir): Likewise. (etspecdir): Likewise. * component-factory.c (owner_set_cb): Look for vfoldertypes.xml in the new version-aware location. * mail-summary.c (generate_folder_summaries): Likewise. * mail-search-dialogue.c (mail_search_dialogue_construct): Likewise. * mail-vfolder.c (vfolder_load_storage): Likewise. * mail-autofilter.c (filter_gui_add_from_message): Look for filtertypes.xml in the new version-aware location. (mail_filter_rename_uri): Likewise. (mail_filter_delete_uri): Likewise. * mail-session.c (main_get_filter_driver): Likewise. * mail-callbacks.c (filter_edit): Likewise. svn path=/trunk/; revision=19562
* Updated. (request_password): Same.Jeffrey Stedfast2003-01-181-16/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2003-01-17 Jeffrey Stedfast <fejj@ximian.com> * mail-session.c (do_get_pass): Updated. (request_password): Same. * mail-send-recv.c (mail_send): Fixed to use EAccountService. * mail-config-druid.c (make_account): Updated to use EAccount and friends. * mail-account-gui.c (service_check_supported): Updated to use EAccountService. (mail_account_gui_new): Ref the account passed in and also update to use EAccount objects. (save_service): Updated to use an EAccountService. (add_new_store): Updated to use an EAccount. (mail_account_gui_save): Updated to use EAccounts. (setup_signatures): Updated because the new account->id->def_sig is now an int and not a structure pointer. * mail-account-editor.c (construct): Updated. (mail_account_editor_new): Now takes an EAccount object as an argument instead of a MailConfigAccount. * mail-crypto.c (mail_crypto_get_pgp_cipher_context): Updated to use EAccounts. * subscribe-dialog.c (populate_store_foreach): Removed. (populate_store_list): Can't use populate_store_foreach here because of the change to EAccountList so do it manually. * mail-vfolder.c (uri_is_ignore): Rewrote to use EAccountList and EIterator and all that fun. * mail-send-recv.c (build_dialogue): Updated to use EAccountList and EAccount object stuff. *ugh* (mail_send_receive): Here too. (mail_autoreceive_setup): Same. * mail-callbacks.c (check_send_configuration): Updated. (composer_get_message): Updated. (compose_msg): " (list_add_addresses): " (guess_me): " (guess_me_from_accounts): Same. (forward_get_composer): Here too. (mail_generate_reply): Same. (redirect_get_composer): " (empty_trash): And finally here. * mail-accounts.c (account_edit_clicked): Updated. (account_delete_clicked): Same. (account_default_clicked): Here too. (account_able_clicked): " (account_cursor_change): " (mail_accounts_load): Again here. * folder-browser.c (folder_browser_is_drafts): Updated to use EAccountList and EAccount stuff. (folder_browser_is_sent): Same. * component-factory.c (mail_load_storages): Updated to use EAccount and EAccountList stuff. (owner_set_cb): Same. (send_receive_cb): Here too. * mail-config.c: Rewritten to use EAccount and EAccountList objects. svn path=/trunk/; revision=19509
* Updated for function rename.Jeffrey Stedfast2003-01-111-11/+9
| | | | | | | | | | | | | | | | | | | | | 2003-01-10 Jeffrey Stedfast <fejj@ximian.com> * component-factory.c (factory): Updated for function rename. * mail-config-factory.c (mail_config_control_factory_cb): Namespaced the function name. * folder-browser-ui.c (folder_browser_ui_add_global): Don't add the listener for show_preview here, it was moved into folder-browser.c so we could detach the listener when the folder-browser is destroyed. Also prevents a listener being added multiple times (which was possible? before). * folder-browser.c (folder_browser_destroy): Remove the gconf notify handler for show_preview. (show_preview_changed): Moved here from folder-browser-ui.c svn path=/trunk/; revision=19408
* Fixed a situation in which we could notify the shell listener twice.Jeffrey Stedfast2003-01-111-15/+15
| | | | | | | | | 2003-01-10 Jeffrey Stedfast <fejj@ximian.com> * component-factory.c (storage_remove_folder): Fixed a situation in which we could notify the shell listener twice. svn path=/trunk/; revision=19401
* (owner_set_cb): Don't callEttore Perazzoli2003-01-101-4/+0
| | | | | | | mail_config_register_factory() or evolution_mail_config_wizard_init(). svn path=/trunk/; revision=19370
* Added druidpagestart1 to the pages list. (construct): Change the limits onNot Zed2003-01-091-2/+110
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2003-01-09 Not Zed <NotZed@Ximian.com> * mail-config-druid.c: Added druidpagestart1 to the pages list. (construct): Change the limits on the page initialisation, and widget_show_all on the page rather than the content. * GNOME_Evolution_Mail.server.in.in: Make Mail a shlib component. * folder-info.c (evolution_folder_info_factory_init): Removed. (evolution_folder_info_factory_fn): renamed to evolution_folder_info_new(). * mail-config-druid.c (evolution_mail_config_wizard_factory_fn): Renamed to evolution_mail_config_wizard_new(). (evolution_mail_config_wizard_init): Removed. * mail-config-factory.c (mail_config_register_factory): Remove. (config_control_factory_cb): make this public. * Makefile.am: setup evolution-mail as a shared library. * component-factory.c (make_factory): implement the bonobo-plugin factory for shlib operation. Also, preliminary work to setup mailer-specific (factory): Implement the factory which starts various components. * mail-config.c (xml_get_prop): g_free->xmlFree (account_to_xml): copy xml memory to glib memory when adding the 0 on the end of the string. (accounts_save): Use slightly different logic with appending to the tail of the list, we can't use the &node trick with gslists. (accounts_changed): Same here. svn path=/trunk/; revision=19362
* Use gconf to get the paned size. (folder_browser_set_message_preview):Jeffrey Stedfast2003-01-081-5/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2003-01-07 Jeffrey Stedfast <fejj@ximian.com> * folder-browser.c (save_cursor_pos): Use gconf to get the paned size. (folder_browser_set_message_preview): Same. (folder_browser_toggle_hide_deleted): Use gconf to set the hide-deleted state. (folder_browser_set_message_display_style): Same but for the message_display_style. (fb_resize_cb): Save the paned_size via gconf. (paned_size_changed): Callback for when the paned_size gets changed. Change the folder-browser's paned size to the new setting. (folder_browser_gui_init): Listen to changes to the paned_size and also get the initial size from gconf. * message-list.c (message_list_set_folder): Use gconf. (regen_list_regen): Use gconf. * message-browser.c (transfer_msg_done): Use gconf to get the hide_deleted setting. * mail-account-gui.c (sig_add_new_signature): Use gconf. * folder-browser-ui.c (folder_browser_ui_add_list): Use gconf. * folder-browser.c (save_cursor_pos): Use gconf. (folder_browser_set_message_preview): Same. (folder_browser_toggle_hide_deleted): Here too. (folder_browser_set_message_display_style): And here. (folder_browser_gui_init): Here too. (done_message_selected): And here. * mail-config.c (mail_config_get_thread_subject): Removed. (mail_config_set_thread_subject): Removed. (mail_config_get_empty_trash_on_exit): Removed. (mail_config_set_empty_trash_on_exit): Removed. (mail_config_get_last_filesel_dir): Removed. (mail_config_set_last_filesel_dir): Removed. (mail_config_get_hide_deleted): Removed. (mail_config_set_hide_deleted): Removed. (mail_config_get_paned_size): Removed. (mail_config_set_paned_size): Removed. (mail_config_get_send_html): Removed. (mail_config_set_send_html): Removed. (mail_config_get_confirm_unwanted_html): Removed. (mail_config_set_confirm_unwanted_html): Removed. (mail_config_get_citation_highlight): Removed. (mail_config_set_citation_highlight): Removed. (mail_config_get_citation_color): Removed. (mail_config_set_citation_color): Removed. (mail_config_get_do_seen_timeout): Removed. (mail_config_set_do_seen_timeout): Removed. (mail_config_get_mark_as_seen_timeout): Removed. (mail_config_set_mark_as_seen_timeout): Removed. (mail_config_get_prompt_empty_subject): Removed. (mail_config_set_prompt_empty_subject): Removed. (mail_config_get_prompt_only_bcc): Removed. (mail_config_set_prompt_only_bcc): Removed. (mail_config_get_confirm_expunge): Removed. (mail_config_set_confirm_expunge): Removed. (mail_config_get_confirm_goto_next_folder): Removed. (mail_config_set_confirm_goto_next_folder): Removed. (mail_config_get_goto_next_folder): Removed. (mail_config_set_goto_next_folder): Removed. (mail_config_get_http_mode): Removed. (mail_config_set_http_mode): Removed. (mail_config_get_default_forward_style): Removed. (mail_config_set_default_forward_style): Removed. (mail_config_get_default_reply_style): Removed. (mail_config_set_default_reply_style): Removed. (mail_config_get_message_display_style): Removed. (mail_config_set_message_display_style): Removed. (mail_config_get_default_charset): Removed. (mail_config_set_default_charset): Removed. (mail_config_get_x_mailer_display_style): Removed. (mail_config_set_x_mailer_display_style): Removed. * subscribe-dialog.c (populate_store_list): Use the list of accounts. We can't get the list of sources anymore. (populate_store_foreach): Updated. * mail-callbacks.c (guess_me_from_accounts): Use account->enabled. (mail_generate_reply): Same. (empty_trash): Here too. * mail-accounts.c (account_delete_clicked): Use account->enabled rather than source->enabled. (account_able_clicked): Same. (account_cursor_change): Here too. (mail_accounts_load): And here. * component-factory.c (owner_unset_cb): Use gconf empty-on-exit settings. (mail_load_storages): Use account->enabled rather than account->source->enabled. The struct changed. * mail-composer-prefs.c (sig_add): Get the send_html pref from gconf. * message-tag-followup.c (target_date_new): Use gconf. * mail-config.c (mail_config_get_week_start_day): Removed. * mail-tools.c (mail_tool_quote_message): Use gconf here too, but we don't need to parse the colour - just use it as a raw string. (mail_tool_forward_message): Use gconf. * mail-format.c (mail_format_data_wrapper_write_to_stream): Use gconf. (write_headers): Use gconf. (handle_text_plain): Same. * mail-display.c (mail_text_write): Updated to use gconf and parse GdkColour strings. (on_url_requested): Updated to use gconf. * mail-callbacks.c (ask_confirm_for_unwanted_html_mail): Use gconf rather than the old mail-config APIs which will be removed. (ask_confirm_for_empty_subject): Same. (ask_confirm_for_only_bcc): Here too. (composer_get_message): And here. (create_msg_composer): Same. (transfer_msg_done): Again here. (delete_msg): Here too. (confirm_expunge): And finally here. * mail-config.c (mail_config_write): Use gconf. (mail_config_get_sources): Removed. * mail-account-gui.c (mail_account_gui_save): No need to save enabled-state anymore for a source. * mail-config-druid.c (wizard_finish_cb): Instead of setting account->source->enabled to TRUE, just set account->enabled to TRUE. The structures changed a bit. * mail-send-recv.c (mail_send_receive): Get the list of accounts instead of sources, and pass them along to build_dialogue. I'm trying to get rid of the mail_config_get_sources() api. (mail_autoreceive_setup): Here too. * mail-config.c (mail_config_get_filter_log): Removed. (mail_config_set_filter_log): Removed. (mail_config_get_filter_log_path): Removed. (mail_config_set_filter_log_path): Removed. (mail_config_get_new_mail_notify): Removed. (mail_config_set_new_mail_notify): Removed. (mail_config_get_new_mail_notify_sound_file): Removed. (mail_config_set_new_mail_notify_sound_file): Removed. * mail-session.c (main_get_filter_driver): Updated to use the gconf settings. svn path=/trunk/; revision=19271
* Get rid of unneeded CamelObject casts. (user_message_response): Don'tJeffrey Stedfast2002-12-141-17/+17
| | | | | | | | | | | | | | | | | | | 2002-12-13 Jeffrey Stedfast <fejj@ximian.com> * mail-session.c: Get rid of unneeded CamelObject casts. (user_message_response): Don't unref the dialog object after we've destroyed it. * mail-display.c (write_data_to_file): Don't unref the dialog object after we've destroyed it. * mail-callbacks.c: Same here. * component-factory.c: Here too. * message-tag-editor.c: Added MESSAGE_TAG_EDITOR_GET_CLASS macros. svn path=/trunk/; revision=19112
* Use the same logic as mail_generate_reply(). Fixes bug #34882Jeffrey Stedfast2002-12-041-14/+20
| | | | | | | | | | | | | | | | | | | 2002-12-03 Jeffrey Stedfast <fejj@ximian.com> * mail-callbacks.c (guess_me_from_accounts): Use the same logic as mail_generate_reply(). Fixes bug #34882 Fixes bug #34315 * component-factory.c (message_rfc822_dnd): Return TRUE if we successfully handled all messages in the mbox stream, or FALSE otherwise. (destination_folder_handle_drop): For TEXT_URI_LIST, use the retval from message_rfc822_dnd() rather than relying on an exception, because one will not always necessarily be set. For MESSAGE_RFC822, also use the retval from message_rfc822_dnd(). svn path=/trunk/; revision=18995
* gnome_pixmap -> gtkimage. (construct): gtk_clist -> gtk_tree_view, setupNot Zed2002-12-021-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2002-11-27 Not Zed <NotZed@Ximian.com> * message-tag-followup.c (construct): gnome_pixmap -> gtkimage. (construct): gtk_clist -> gtk_tree_view, setup columns. They dont size well :-/ (message_tag_followup_append_message): Append using model, remove clist stuff. (construct): Show date edit (glade bugs?) * folder-browser.c (folder_browser_class_init): gtk_marshal -> g_cclosure_marshal (setup_popup_icons): gnome_pixmap -> gtk_image. (on_right_click): gtk_pixmap -> gtk_image. * mail-accounts.c (account_delete_clicked): removed #if 0'd out code. * mail-send-recv.c (receive_done): remove FIXME and extra unref. * mail-session.c (request_password): Removed #if 0'd out stuff. * mail-vfolder.c (new_rule_clicked): proper cast for g_object_get_data. * mail-local.c (reconfigure_response): cast for g_object_get_data. * mail-account-editor.c (construct): GNOME_DIALOG -> GTK_DIALOG. * *.[ch]: re-ran fix.sh for e_notice change * mail-callbacks.c (save_msg_ok): g_object_get_data + gtk_object_remove_no_notify -> g_object_steal_data. (find_socket): gtk_container_children -> gtk_container_get_children (edit_msg): gnome_*_dialog -> gtk_message_dialog. (resent_msg): " (search_msg): " (confirm_goto_next_folder): gtkmessagedialogised (even if not used). (confirm_expunge): gtkmessagedialogised (filter_edit): " (do_mail_print): e_notice -> gtk_message_dialog. (are_you_sure): removed e_gnome_ok_cancel_dialog crap, replaced with a gtk dialog. (are_you_sure): gtkmessagedialogised. (edit_msg_internal): Dont free uids array, are_you_sure() free's it. (resend_msg): Same. (check_send_configuration): Use e_notice for stuff. Sigh, here we go again ...! (e_question): A utility function to ask a question, potentially with 'dont ask again' as well. (configure_mail): use e_question to save code. Here we go again, again ... (ask_confirm_for_unwanted_html_mail): " (ask_confirm_for_only_bcc): " (ask_confirm_for_only_bcc): " (composer_get_message): Use e_notice. (composer_save_draft_cb): Use e_question (edit_msg): use e_notice, & change to an ERROR. (resend_msg): same. (save_msg_ok): Properly initialise ret to OK, and use e_question, and use access() to determine existance/write access rather than stat, display an error if we can't write to a file that exists, and print the filename in all dialogues. (confirm_goto_next_folder): Use e_question. (confirm_expunge): use e_question. (filter_edit): Use e_notice. (do_mail_print): use e_notice. svn path=/trunk/; revision=18974
* fix warning message, outlook->mbox.Not Zed2002-11-191-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2002-11-19 Not Zed <NotZed@Ximian.com> * importers/evolution-mbox-importer.c (mail_importer_module_init): fix warning message, outlook->mbox. * importers/Makefile.am: fix serverdir to point to $libdir/bonobo/servers. * mail-callbacks.c (addrbook_sender): add type to bonobo_widget_set_property. * mail-vfolder.c (vfolder_editor_response): dont unref after destroy. * mail-session.c (pass_response): dont unref aftrer destroy. * mail-local.c (reconfigure_response): dont unref after destroy. * mail-display.c (launch_cb): dont unref after destroy. (launch_cb): " (drag_data_get_cb): " (html_button_press_event): add type to bonobo_widget::set_property * mail-config.c (mail_config_check_service): dont unref after destroy. * component-factory.c (send_receive_cb): dont unref after destroy. (request_quit): " * mail-signature-editor.c (mail_signature_editor): Use version 3.0 of gtkhtml editor interfaces. (do_exit): dont unref after destroy. (format_html_cb): Add type to bonobo_widget::set_property. svn path=/trunk/; revision=18837
* Use bonobo_main_quit instead of gtkRodney Dawes2002-11-161-1/+1
| | | | | | * component-factory.c: Use bonobo_main_quit instead of gtk svn path=/trunk/; revision=18786
* Want a (GWeakNotify) cast here, not (GWeakNotify *).Ettore Perazzoli2002-11-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * component-factory.c (owner_set_cb): Want a (GWeakNotify) cast here, not (GWeakNotify *). * subscribe-dialog.c (fete_init): g_object_set() instead of gtk_object_set(). (populate_store_list): Likewise. (menu_item_selected): g_object_get_data() instead of gtk_object_get_data(). * message-list.c (message_list_create_extras): g_object_set() instead of gtk_object_set(). * message-browser.c (message_browser_message_list_built): g_object_get_data() instead of gtk_object_get_data(). * mail-vfolder.c (edit_rule_response): g_object_get_data() instead of gtk_object_get_data(). * mail-summary.c (generate_folder_summaries): g_object_unref() the context instead of gtk_object_destroy(). * mail-local.c (reconfigure_response): g_object_get_data() instead of gtk_object_get_data(). * mail-display.c (pixbuf_gen_idle): g_object_unref() the GdkPixbuf loader instead of gtk_object_destroy(). (pixbuf_gen_idle): Likewise. (embeddable_destroy_cb): Likewise. * mail-config-druid.c (mail_config_druid_destroy): No need to gtk_object_destroy() the GladeXML object. (construct): g_object_set() instead of gtk_object_set(). * folder-browser.c (folder_browser_gui_init): g_object_get_data() instead of gtk_object_get_data(). svn path=/trunk/; revision=18752
* shell client objref. (mail_add_storage): " (mail_remove_storage): "Not Zed2002-11-141-3/+3
| | | | | | | | | | 2002-11-14 Not Zed <NotZed@Ximian.com> * component-factory.c (create_view): shell client objref. (mail_add_storage): " (mail_remove_storage): " svn path=/trunk/; revision=18751
* destroy->weak ref. (owner_set_cb): shell client changes.Not Zed2002-11-131-2/+2
| | | | | | | | | | | | | | | 2002-11-13 Not Zed <NotZed@Ximian.com> * component-factory.c (owner_set_cb): destroy->weak ref. (owner_set_cb): shell client changes. * mail-signature-editor.c (mail_signature_editor): bonobo api changes. * mail-local.c (save_metainfo): go back to using xmlSaveFile. * Makefile.am: Removed libevolution-importer from mail. svn path=/trunk/; revision=18736
* Added to cvs. Currently contains no configurable stuff, but maybe it willNot Zed2002-11-131-51/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2002-11-13 Not Zed <NotZed@Ximian.com> * GNOME_Evolution_Mail.server.in.in: Added to cvs. Currently contains no configurable stuff, but maybe it will one day. * Makefile.am (server_DATA): change oaf stuff to server stuff for bonobo activation. * mail-preferences.c (mail_preferences_apply): handle const entry text. * mail-composer-prefs.c (url_requested): Fixed typo. (mail_composer_prefs_construct): gnomepixmap->gtkimage. * mail-callbacks.c (configure_mail): destroy dialogue before dealing with response. (mail_generate_reply): Fix a typo. (popup_listener_cb): fix prototype. (tag_editor_response): Handle gtk dialog response. (flag_for_followup): Change gnome dialog to gtk dialog stuff. (tag_editor_destroy_cb): (tag_editor_cancel): (tag_editor_ok): Removed, handled in _response(). (filter_editor_response): renamed from _clicked, handle gtk dialogue signal. (filter_editor_destroy): Removed. (footer_info_new): gnome font api changes. (do_mail_print): port to gnome print 2. * mail-autofilter.c (mail_filter_delete_uri): message_dialog uses a specific button enum, not the stock ones. * mail-accounts.c (mail_accounts_tab_get_type): gobjectify. (account_delete_clicked): gdkdialogise. * mail-account-gui.c (mail_account_gui_setup): Hack around font metric determination code. * mail-account-editor.c (mail_account_editor_get_type): gobjectise. (mail_account_editor_new): "" * folder-info.c (evolution_folder_info_notify_ready): use pbclient interface. * folder-browser-factory.c (control_destroy_cb): fix a typo. (folder_browser_factory_new_control): More typos. * folder-browser.c (on_right_click): cast around const warning. (context_menu_position_func): fix for api change. * e-searching-tokenizer.c (e_searching_tokenizer_finalise): Changed from destroy since it only frees memory. (e_searching_tokenizer_get_type): glibify. * component-factory.c (request_quit): gtkdialogise. (send_receive_cb): " (create_component): gdk_pixbuf api. (component_factory_init): bonobo activation stuff. (warning_response): renamed from warning_clicked. (owner_set_cb): gtkdialogise. svn path=/trunk/; revision=18731
* Ported.Jeffrey Stedfast2002-11-121-19/+18
| | | | | | | | | | 2002-11-11 Jeffrey Stedfast <fejj@ximian.com> * folder-browser.c: Ported. * e-searching-tokenizer.c: Roughly ported. svn path=/trunk/; revision=18697
* The CamelFolderInfo that we get back has nodes for all parent folders, soJeffrey Stedfast2002-10-101-2/+11
| | | | | | | | | | | | 2002-10-08 Jeffrey Stedfast <fejj@ximian.com> * component-factory.c (storage_remove_folder): The CamelFolderInfo that we get back has nodes for all parent folders, so do not delete all folders that have nodes in the returned tree. Instead, descend into the tree until we find the folder we want to delete and start deleting from there. svn path=/trunk/; revision=18357
* It's a grand old string-review! Nitpicky and minor changes; details in the ↵Aaron Weber2002-10-011-1/+1
| | | | | | appropriate ChangeLog files. svn path=/trunk/; revision=18268
* add "mail/public". Leave "vtrash" as it is rather than renaming it toDan Winship2002-09-261-10/+23
| | | | | | | | | | | | | | | | | | | | | | | * component-factory.c (folder_types): add "mail/public". Leave "vtrash" as it is rather than renaming it to "mail/vtrash", because we want it to behave differently from normal mail folders more often than we want it to behave the same. (type_is_mail, type_is_vtrash): utility funcs (create_view, create_folder, remove_folder, xfer_folder, populate_folder_context_menu, unpopulate_folder_context_menu, destination_folder_handle_drop, storage_create_folder): Use type_is_mail/type_is_vtrash. (create_component): Register "New Post" with "mail/public" instead of "mail" so it becomes the default New icon for it. (29024) * mail-callbacks.c (transfer_msg): Use "mail/*" for allowed type. * message-browser.c (transfer_msg): Likewise. * mail-account-gui.c (mail_account_gui_new): Use "mail/*" instead of "mail" here for sent/drafts allowed type. (?) svn path=/trunk/; revision=18223
* helper to map a camel excpeiton to a listener result.Not Zed2002-09-181-9/+28
| | | | | | | | | | | | 2002-09-18 Not Zed <NotZed@Ximian.com> * component-factory.c (notify_listener_exception): helper to map a camel excpeiton to a listener result. (storage_create_folder): Use above to return more meaningful error. (storage_remove_folder): " (storage_xfer_folder): ". For #28209. svn path=/trunk/; revision=18101
* Use e_strftime_fix_am_pm here which fixes locale issues as well as workingJeffrey Stedfast2002-09-181-1/+1
| | | | | | | | | | | | 2002-09-17 Jeffrey Stedfast <fejj@ximian.com> * mail-display.c (mail_display_render): Use e_strftime_fix_am_pm here which fixes locale issues as well as working around systems that don't support %P (afaik). * mail-ops.c (prep_offline_do): Cache important messages too. svn path=/trunk/; revision=18095
* Handle file uri's too.Not Zed2002-09-111-15/+22
| | | | | | | | | | | | | | | | | | | 2002-09-11 Not Zed <NotZed@Ximian.com> * component-factory.c (configure_folder_popup): Handle file uri's too. * mail-callbacks.c (configure_folder): clear message list before calling configure folder. (local_configure_done): completion callback to reset message list when done. * mail-local.c (mail_local_reconfigure_folder): changed args to accept uri, and done callback. (reconfigure_got_folder): moved code to callback which presents the configure uri once we have the folder. svn path=/trunk/; revision=18039
* Return FALSE here. (get_base_url): Add a cast.Ettore Perazzoli2002-09-051-1/+1
| | | | | | | | | | | | * upgrade-mailer.c (upgrade): Return FALSE here. (get_base_url): Add a cast. * component-factory.c (storage_xfer_folder): Removed unused variables. * Makefile.am: Rename upgrade-mailer to evolution-mail-upgrade. svn path=/trunk/; revision=17981
* Pass NULL as @unpopulate_folder_context_menu_fn toEttore Perazzoli2002-09-051-0/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * gui/component/addressbook-component.c (create_component): Pass NULL as @unpopulate_folder_context_menu_fn to evolution_shell_component_new(). * gui/component-factory.c (create_object): Pass NULL as @unpopulate_folder_context_menu_fn to evolution_shell_component_new(). * mail-account-gui.c (mail_account_gui_save): Remove unused variable. * component-factory.c (unpopulate_folder_context_menu): New. (create_component): Pass it to evolution_shell_component_new(). * component-factory.c (create_component): Pass NULL as @unpopulate_folder_context_menu_fn to evolution_shell_component_new(). * e-storage-set-view.c (popup_folder_menu): Remove the context menu items using evolution_shell_component_client_unpopulate_folder_context_menu() instead of doing it ourself, since BonoboUI sucks. * evolution-shell-component-client.c (evolution_shell_component_client_unpopulate_folder_context_menu): New. * evolution-test-component.c (register_component): Pass NULL as @unpopulate_folder_context_menu_fn to evolution_shell_component_new(). * evolution-shell-component.c: New member unpopulate_folder_context_menu_fn in EvolutionShellComponentPrivate. New member uic in EvolutionShellComponentPrivate. (init): Init new members to NULL. (destroy): bonobo_object_unref() priv->uic if not NULL. (evolution_shell_component_new): New arg @unpopulate_folder_context_menu_fn. (evolution_shell_component_construct): Likewise. (impl_populateFolderContextMenu): Set priv->uic to the newly created UIComponent. (impl_unpopulateFolderContextMenu): New, implementation for the ::unpopulateFolderContextMenu CORBA method. (class_init): Install. * Evolution-ShellComponent.idl (unpopulateFolderContextMenu): New method. (AlreadyPopulated): New exception. (populateFolderContextMenu): Can raise it. (NotPopulated): New exception. svn path=/trunk/; revision=17963
* Dont translate / to dir_sep anymore, we always use /.Not Zed2002-09-031-12/+0
| | | | | | | | | 2002-09-04 Not Zed <NotZed@Ximian.com> * component-factory.c (storage_xfer_folder): Dont translate / to dir_sep anymore, we always use /. svn path=/trunk/; revision=17944
* If outbox_folder is NULL, don't try and get its message count (this shouldPeter Williams2002-08-081-1/+1
| | | | | | | | | 2002-08-07 Peter Williams <peterw@ximian.com> * component-factory.c (request_quit): If outbox_folder is NULL, don't try and get its message count (this should never happen, but has.) svn path=/trunk/; revision=17731
* If we are not in interactive mode, don't display error dialogs.Jeffrey Stedfast2002-08-061-2/+2
| | | | | | | | | | | | | | | | | | 2002-08-05 Jeffrey Stedfast <fejj@ximian.com> * mail-mt.c (mail_msg_check_error): If we are not in interactive mode, don't display error dialogs. * component-factory.c (interactive_cb): Updated to use the new function mail_session_set_interactive(). (owner_unset_cb): Same here. * mail-session.c (mail_session_set_interactive): Renamed from mail_session_enable_interaction(). (mail_session_get_interactive): New function to get the interactive state. svn path=/trunk/; revision=17702
* Updated to call post_to_url if the id is "post".Jeffrey Stedfast2002-08-061-2/+5
| | | | | | | | | | | | | 2002-08-05 Jeffrey Stedfast <fejj@ximian.com> * component-factory.c (user_create_new_item_cb): Updated to call post_to_url if the id is "post". * mail-callbacks.c (post_to_url): New function so that we don't need a FolderBrowser to post a new message. (post_message): Call post_to_url since they shared so much code. svn path=/trunk/; revision=17698
* (create_component): UseEttore Perazzoli2002-08-021-9/+10
| | | | | | "post-message-16.png" as the icon for the "New Message Post" item. svn path=/trunk/; revision=17677
* Change the order so that "New Contact" is first and "New Contact List" isEttore Perazzoli2002-08-011-6/+6
| | | | | | | | | | | | | | | | | | * gui/component/addressbook-component.c (create_component): Change the order so that "New Contact" is first and "New Contact List" is next. * gui/component-factory.c (create_object): Change the order of the user creatable items a bit so that "New Appointment" and "New Meeting" are at the top when in a calendar folder. * component-factory.c (create_component): Put "New Mail Message" before "New Message Post" instead of vice versa. * evolution-mail-global.xml: Remove "New Mail Message" and "Post Message" items. svn path=/trunk/; revision=17661
* Pass "contacts" as the @folder_type toEttore Perazzoli2002-08-011-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * gui/component/addressbook-component.c (add_creatable_item): Pass "contacts" as the @folder_type to evolution_shell_component_add_user_creatable_item(). * gui/component-factory.c (add_creatable_item): New arg @folder_type, pass it to evolution_shell_component_add_user_creatable_item(). (create_object): Set the right folder types for the various user-creatable items. * component-factory.c (create_component): Pass "mail" as @folder_type to evolution_shell_component_add_user_creatable_item(). * evolution-test-component.c (register_component): Pass NULL for @folder_type to evolution_shell_component_add_user_creatable_item(). * e-shell-user-creatable-items-handler.c: New member folder_type in struct MenuItem. (ensure_menu_items): Initialize ->folder_type. (item_is_default): New helper function. (create_menu_xml): New arg @folder_type. Put the items on the top using item_is_default(). (shell_view_view_changed_callback): Pass the folder type to create_menu_xml(). * evolution-shell-component.c: New member folder_type in UserCreatableItemType. (user_creatable_item_type_new): New arg @folder_type. (user_creatable_item_type_free): Free ->folder_type. (evolution_shell_component_add_user_creatable_item): New arg @folder_type. (impl__get_userCreatableItemTypes): Set ->folderType in the returned CORBA structs. * Evolution-ShellComponent.idl: New member folderType in struct UserCreatableItemType. * e-shell-user-creatable-items-handler.c: New member component_id in struct MenuItem. Removed member menu_xml from EShellUserCreatableItemsHandlerPrivate. (init): No need to initialize menu_xml here anymore. (impl_destroy): ...And no need to free here, either. (setup_menu_xml): New, derived from ensure_menu_xml(). This orders the menu so that the items for the current component go at the top. (create_menu_xml): Removed. (e_shell_user_creatable_items_handler_attach_menus): Set up properly for the current component ID, using setup_menu_xml(). svn path=/trunk/; revision=17658
* Add a new menu item for posting to the New toolbar button thing.Jeffrey Stedfast2002-07-271-4/+6
| | | | | | | | | | | | | | | 2002-07-26 Jeffrey Stedfast <fejj@ximian.com> * component-factory.c (create_component): Add a new menu item for posting to the New toolbar button thing. (destination_folder_handle_drop): Don't use a NULL exception when we already have one to use anyway. (got_folder): Move the *fp = folder; to before the check to make sure folder != NULL, this makes it so that if getting a folder fails at least have have a known value to look out for (NULL) rather than some random garbage. svn path=/trunk/; revision=17617
* Add a new menu item for posting to the New toolbar button thing.Jeffrey Stedfast2002-07-271-0/+7
| | | | | | | | | 2002-07-26 Jeffrey Stedfast <fejj@ximian.com> * component-factory.c (create_component): Add a new menu item for posting to the New toolbar button thing. svn path=/trunk/; revision=17612
* Initialise the standard uri's before doing anything else.Not Zed2002-07-241-1/+3
| | | | | | | | | | | | | | | | | | 2002-07-24 Not Zed <NotZed@Ximian.com> * component-factory.c (owner_set_cb): Initialise the standard uri's before doing anything else. * mail-vfolder.c (uri_is_ignore): Return true if the uri is any sent, drafts or outbox folder uri. (mail_vfolder_add_uri): Dont automagically add any sent/outbox/drafts folder with "local" or "remote" etc rules, only add sent folders if explictly listed as folder rules. Maintain the remote/local folders list accordingly. (vfolder_adduri_do): dont check against sent_folder, drafts_folder or outbox_folder, this is checked by above code. For #14863. svn path=/trunk/; revision=17564
* Oops, Don't comment out the mail_note_store call.Jeffrey Stedfast2002-07-181-2/+2
| | | | | | | | | 2002-07-17 Jeffrey Stedfast <fejj@ximian.com> * component-factory.c (add_storage): Oops, Don't comment out the mail_note_store call. svn path=/trunk/; revision=17492
* Re-enable some #if 0'd code.Jeffrey Stedfast2002-07-171-10/+11
| | | | | | | | | | | | | | | | | | | 2002-07-16 Jeffrey Stedfast <fejj@ximian.com> * mail-accounts.c (account_able_clicked): Re-enable some #if 0'd code. * mail-vfolder.c (vfolder_load_storage): Updated to not pass TRUE for an auto_connect argument since that argument no longer exists. * mail-account-gui.c (add_new_store): Updated to not pass an auto_connect argument. * component-factory.c (add_storage): Don't ever auto-connect here. (mail_add_storage): No longer takes an auto_connect argument. (mail_load_storages): Only load the account storages that are enabled. svn path=/trunk/; revision=17483
* Account for the case that when a disco store is "online" but actuallyPeter Williams2002-07-151-1/+2
| | | | | | | | | | | | | | | | 2002-07-15 Peter Williams <peterw@ximian.com> * mail-offline-handler.c (service_is_relevant): Account for the case that when a disco store is "online" but actually offline and we're going online, we should actually connect it. * component-factory.c (mail_load_storages): Always set auto_connect to FALSE, same reason as below. * mail-session.c (mail_session_init): Initialize our session to not be online, since the shell will tell us to go online if we need to. svn path=/trunk/; revision=17459
* Oops, accidentally checked in some unfinished, unworking code. Reverted.Not Zed2002-07-151-46/+6
| | | | | | | | | | 2002-07-15 Not Zed <NotZed@Ximian.com> * component-factory.c (populate_folder_context_menu): Oops, accidentally checked in some unfinished, unworking code. Reverted. svn path=/trunk/; revision=17452
* ** fixes for #10781Not Zed2002-07-151-6/+46
| | | | | | | | | | | | | | | | | | | | 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
* Removed special-case code for NNTP support.Jeffrey Stedfast2002-07-051-20/+5
| | | | | | | | | | | | | | | | | | | | | | 2002-07-04 Jeffrey Stedfast <fejj@ximian.com> * mail-accounts.c: Removed special-case code for NNTP support. * mail-account-gui.c (mail_account_gui_setup): Allow configuration of both mail and news accounts. * component-factory.c (mail_load_storages): No longer need the is-account argument. * subscribe-dialog.c (populate_store_list): Don't special-case news accounts anymore. * mail-config.c (mail_config_get_default_news): Removed. (mail_config_get_news): Removed. (mail_config_add_news): Removed. (mail_config_remove_news): Removed. svn path=/trunk/; revision=17368
* Pass TRUE as the auto_connect argument to mail_load_storage_from_uri().Jeffrey Stedfast2002-07-041-9/+10
| | | | | | | | | | | | | | | | | | | | | 2002-07-03 Jeffrey Stedfast <fejj@ximian.com> * mail-vfolder.c (vfolder_load_storage): Pass TRUE as the auto_connect argument to mail_load_storage_from_uri(). * mail-account-gui.c (add_new_store): Pass FALSE as the auto_connect value to mail_load_storage_from_uri(). * mail-format.c (handle_multipart_encrypted): Pass the correct pointer into camel_multipart_encrypted_decrypt(). * component-factory.c (mail_add_storage): Now takes an auto-connect argument which it passes along to add_storage(). (mail_load_storage_from_uri): Same. (add_storage): Only call mail_note_store() if we plan on auto-connecting. svn path=/trunk/; revision=17363
* New arg @tooltip; pass it toEttore Perazzoli2002-07-021-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * gui/component/addressbook-component.c (add_creatable_item): New arg @tooltip; pass it to evolution_shell_component_add_user_creatable_item() [which now has a @tooltip arg]. * gui/component-factory.c (add_creatable_item): New arg @tooltip. Pass it to evolution_shell_component_add_user_creatable_item(), which now has a @tooltip arg. (create_object): Added tooltips. * component-factory.c (create_component): Pass a tooltip to evolution_shell_component_add_user_creatable_item. * e-shell-user-creatable-items-handler.c: New member tooltip in struct MenuItem. (ensure_menu_items): Initialize the tooltip member. (shell_view_view_changed_callback): Set the tooltip for the "New" button. (ensure_menu_xml): Set up the tooltip here as well. * evolution-shell-component.c: Add tooltip member to struct UserCreatableItemType. (user_creatable_item_type_new): New arg @tooltip. (evolution_shell_component_add_user_creatable_item): New arg @tooltip. (impl__get_userCreatableItemTypes): Put the tooltip in the struct as well. * e-shell-user-creatable-items-handler.c (setup_toolbar_button): Create a GtkTooltips object and attach it to the combo_button using gtk_object_set_data(). (shell_view_view_changed_callback): Set up a tooltip for the button, according to the default. * Evolution-ShellComponent.idl: Add a tooltip member to struct UserCreatableItemType. svn path=/trunk/; revision=17343
* Don't skip over disabled accounts - put them in the folder tree too.Jeffrey Stedfast2002-06-291-4/+3
| | | | | | | | | 2002-06-28 Jeffrey Stedfast <fejj@ximian.com> * component-factory.c (mail_load_storages): Don't skip over disabled accounts - put them in the folder tree too. svn path=/trunk/; revision=17329
* Recursively delete any subfolders.Jeffrey Stedfast2002-06-281-12/+41
| | | | | | | | | 2002-06-27 Jeffrey Stedfast <fejj@ximian.com> * component-factory.c (storage_remove_folder): Recursively delete any subfolders. svn path=/trunk/; revision=17318
* Some compiler warning fixes.Jeffrey Stedfast2002-06-261-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | 2002-06-25 Jeffrey Stedfast <fejj@ximian.com> * component-factory.c (mail_add_storage): Some compiler warning fixes. * mail-crypto.c (mail_crypto_pgp_mime_part_sign): Removed. (mail_crypto_get_pgp_cipher_context): New convenience function to construct a pgp cipher context. (mail_crypto_pgp_mime_part_verify): Use the new get_pgp_cipher_context function. (mail_crypto_pgp_mime_part_encrypt): Same. (mail_crypto_pgp_mime_part_decrypt): Here too. * mail-account-gui.c (mail_account_gui_new): Initialise the pgp_always_trust checkbox. (mail_account_gui_save): Get whether or not to always_trust the user's pgp keys. * mail-config.c (account_copy): Copy over the pgp_always_trust option. (config_read): Read in the always_trust option. (mail_config_write): Save the always_trust option. svn path=/trunk/; revision=17277
* New convenience function to find the first parent node that is visible andJeffrey Stedfast2002-06-191-9/+5
| | | | | | | | | | | | | | | | | 2002-06-18 Jeffrey Stedfast <fejj@ximian.com> * message-list.c (message_list_change_first_visible_parent): New convenience function to find the first parent node that is visible and emit a changed signal on it. (main_folder_changed): If a message changed, call change_first_visible_parent() in case we are in a collapsed thread so that our first visible parent gets updated as well. Fixes bug #26263. * component-factory.c (storage_remove_folder): Simplify the error checking. svn path=/trunk/; revision=17228
* Comment out the code to add/remove the store to the folder-tree when itJeffrey Stedfast2002-06-111-4/+4
| | | | | | | | | | 2002-06-10 Jeffrey Stedfast <fejj@ximian.com> * mail-accounts.c (account_able_clicked): Comment out the code to add/remove the store to the folder-tree when it gets enabled/disabled. svn path=/trunk/; revision=17162
* If this account is not a completely new account (ie, it is an editedJeffrey Stedfast2002-06-071-4/+33
| | | | | | | | | | | | | | 2002-06-06 Jeffrey Stedfast <fejj@ximian.com> * mail-account-gui.c (mail_account_gui_save): If this account is not a completely new account (ie, it is an edited account), then remove any trace of it from the shell storages. If the new account belongs in the folder-tree, add it to the list of storages. * component-factory.c (mail_add_storage): New function to add a single storage. svn path=/trunk/; revision=17138
* Prompt the user to see if he really wants to quit when there are queuedJeffrey Stedfast2002-06-041-1/+20
| | | | | | | | | 2002-06-03 Jeffrey Stedfast <fejj@ximian.com> * component-factory.c (request_quit): Prompt the user to see if he really wants to quit when there are queued messages in the Outbox. svn path=/trunk/; revision=17089
* Noop if we are in offline mode.Jeffrey Stedfast2002-05-311-4/+5
| | | | | | | | | | | | | 2002-05-30 Jeffrey Stedfast <fejj@ximian.com> * mail-send-recv.c (mail_send_receive): Noop if we are in offline mode. * component-factory.c (mail_remove_storage): If the store is not in the storage hash, then it must not have ever been added. Fixes bug #25456. svn path=/trunk/; revision=17052
* Protect against NULL stores. Fixes bug #25456.Jeffrey Stedfast2002-05-311-2/+4
| | | | | | | | | 2002-05-30 Jeffrey Stedfast <fejj@ximian.com> * component-factory.c (store_disconnect): Protect against NULL stores. Fixes bug #25456. svn path=/trunk/; revision=17048
* New. (create_component): Pass it as the @request_quit_fn toEttore Perazzoli2002-05-161-1/+9
| | | | | | | | | | | | | | | | | | | | | * component-factory.c (request_quit): New. (create_component): Pass it as the @request_quit_fn to evolution_shell_component_new(). * e-msg-composer.c: New local `all_composers'; keeps a list of all the composer windows created. Changed type of `parent_class' to BonoboWindowClass *. (do_exit): Cleaned up a bit. Raise the composer window before showing the message box dialog. (exit_dialog_cb): Removed. (e_msg_composer_request_close_all): New. (create_composer): Add the composer to the all_composers list and weakref it. (msg_composer_destroy_notify): GtkDestroyNotify function for the composer's weakref; remove the composer from the all_composers list. svn path=/trunk/; revision=16930
* Check with e_shell_prepare_for_quit() before quitting.Ettore Perazzoli2002-05-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * e-shell-view-menu.c (command_quit): Check with e_shell_prepare_for_quit() before quitting. * e-shell.c (e_shell_prepare_for_quit): New. * evolution-test-component.c (request_quit_fn): New function asking for confirmation to quit. * evolution-shell-component.c (evolution_shell_component_new): New arg @request_quit_fn. (impl_requestQuit): New, implementation for EvolutionShellComponent::requestQuit. (evolution_shell_component_result_to_string): Handle EVOLUTION_SHELL_COMPONENT_CANCEL. (evolution_shell_component_client_request_quit): New. * Evolution-ShellComponent.idl (requestQuit): New. * component-factory.c (create_component): Pass NULL as @request_quit_fn. * component-factory.c (create_component): Pass NULL as @request_quit_fn. * gui/component-factory.c (create_object): Pass NULL as @request_quit_fn. * gui/component/addressbook-component.c (create_component): Pass NULL as @request_quit_fn. svn path=/trunk/; revision=16925
* Added #include "folder-info.h".Christopher James Lahey2002-05-151-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | 2002-05-14 Christopher James Lahey <clahey@ximian.com> * component-factory.c: Added #include "folder-info.h". * folder-browser-window.c (folder_browser_window_new), mail-account-editor.c (apply_changes), mail-account-gui.c (mail_account_gui_save), message-tag-editor.c: Removed some unused variables. * folder-info.c: Added #include "folder-info.h". Removed static declaration of evolution_folder_info_get_type. * folder-info.c (destroy), mail-callbacks.c (confirm_goto_next_folder, find_current_folder, find_next_folder_r, find_next_folder, do_evil_kludgy_goto_next_folder_hack), mail-composer-prefs.c (sig_name_changed): Commented out these unused functions. * mail-config.c (add_new_storage): Removed this unused function. * mail-local.c (mlf_init): Fix the declaration of this function to match the required signature. svn path=/trunk/; revision=16788
* Update for camel_folder_append_message / camel_folder_transfer_messages_toDan Winship2002-05-141-1/+1
| | | | | | | | | | | | | | | | * (various places): Update for camel_folder_append_message / camel_folder_transfer_messages_to API change. * mail-ops.c (mail_append_mail): Pass the appended_uid to the callback. * mail-callbacks.c (composer_save_draft_cb, save_draft_done, do_edit_messages): Take advantage of the append_message change to keep track of the UID of the saved draft so that we can delete the old copy of the draft each time we save a new one. Remove the FIXME suggesting we should do that, since we're doing it now. :) svn path=/trunk/; revision=16766
* Pass %FALSE as @has_shared_folders to evolution_storage_new().Ettore Perazzoli2002-05-101-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * e-local-storage.c (construct): Pass %FALSE as @has_shared_folders to evolution_storage_new(). * evolution-storage.c: New member has_shared_folders in EvolutionStoragePrivate. (init): Initialize to FALSE. (evolution_storage_new): New arg @has_shared_folders. (evolution_storage_construct): Likewise. (impl_Storage__get_folderList): Renamed from impl_Storage__get_folder_list. (impl_Storage__get_hasSharedFolders): New, implementation for ::hasSharedFolders. (evolution_storage_get_epv): Install the CORBA method implementation. * Evolution-Storage.idl: Make Storage::name a readonly attribute. New attribute Storage:: * component-factory.c (add_storage): Pass %FALSE as @has_shared_folders to evolution_storage_new(). * gui/component/addressbook-storage.c (addressbook_get_other_contact_storage): Pass %FALSE as @has_shared_folders to evolution_storage_new(). svn path=/trunk/; revision=16733
* Change so there's no race conditions between the folder info and the session ↵Iain Holmes2002-05-081-0/+3
| | | | | | stuff svn path=/trunk/; revision=16723
* Check all threads are idle as well, using new e_thread_busy call. ShouldNot Zed2002-05-061-2/+2
| | | | | | | | | | 2002-05-06 Not Zed <NotZed@Ximian.com> * component-factory.c (idle_quit): Check all threads are idle as well, using new e_thread_busy call. Should fix #22553? Also sleep a little bit, to let the other threads run. svn path=/trunk/; revision=16684
* Add view_info arg, but don't do anything with it.Dan Winship2002-04-091-0/+1
| | | | | | | * component-factory.c (create_view): Add view_info arg, but don't do anything with it. svn path=/trunk/; revision=16398
* Set the window title/icon here instead.Jeffrey Stedfast2002-04-041-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2002-04-03 Jeffrey Stedfast <fejj@ximian.com> * message-tag-followup.c (construct): Set the window title/icon here instead. * message-tag-editor.c (message_tag_editor_init): Don't set the title or window icon here, this is a generic class. * mail-format.c (handle_multipart_signed): Replace get_url_for_icon with the new mail_display_get_url_for_icon function. (handle_multipart_digest): Here too. (get_cid): Use mail_display_add_url instead. (get_location): Same. (handle_text_enriched): Here too. (handle_multipart_signed): And here. * message-tag-followup.c (message_tag_followup_i18n_name): Use the U_() macro, not the _() macro as it is what we really want. * mail-ops.c (mail_send_message): Don't cast the message into a CamelMedium before sending anymore. * mail-callbacks.c (expunge_folder): Set the followup argument to NULL here. (done_message_selected): Get the followup value here and pass it to the mail-display here. (do_mail_fetch_and_print): Again with the NULL followup here. * folder-browser.c (folder_browser_set_message_preview): Update to pass in NULL as the followup since we are setting the message to NULL here. (done_message_selected): Get and set the appropriate followup value here. (do_message_selected): Update to pass in NULL as the followup since we are setting the message to NULL here. * mail-display.c (mail_display_set_message): Now takes a followup tag value. (mail_display_init): Set md->followup to NULL. (mail_display_destroy): Free md->followup. (mail_display_add_url): New: replaces the static add_url function originally in mail-format.c (mail_display_get_url_for_icon): New: replaces get_url_for_icon which was originally in mail-format.c svn path=/trunk/; revision=16334
* Sync with yet-another-mail-config branch.Jeffrey Stedfast2002-03-271-0/+2
| | | | | | | | | | | | | | | | | | 2002-03-26 Jeffrey Stedfast <fejj@ximian.com> Sync with yet-another-mail-config branch. * mail-composer-prefs.c: Updated to get the right widgets and whatnot. Also updated to tell the evolution-config-control that stuff has changed. * mail-preferences.c: Updated to get the right widgets and whatnot. Also updated to tell the evolution-config-control that stuff has changed. * mail-accounts.etspec: New file needed by mail-accounts.c svn path=/trunk/; revision=16257
* Move the ComponentActionsPlaceholder into the Actions menu, instead of theEttore Perazzoli2002-03-211-0/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * evolution.xml: Move the ComponentActionsPlaceholder into the Actions menu, instead of the Actions menu being in the ComponentActionsPlaceholder. * evolution-addressbook.xml: Updated accordingly. * evolution-calendar.xml: Updated accordingly. * evolution-mail-global.xml: Updated accordingly. * evolution-mail-list.xml: Updated accordingly. * evolution-mail-message.xml: Updated accordingly. * evolution-mail-messagedisplay.xml: Updated accordingly. * evolution-tasks.xml: Updated accordingly. * evolution.xml: Add "SendReceive" verb, menu item and toolbar button. * evolution-mail-global.xml: Remove "MailGetSend" verb and menu item. * e-shell-view-menu.c (command_send_receive): New, implementation for the "SendReceive" verb. * e-shell.c (e_shell_send_receive): New. * evolution-shell-component.c (impl_sendReceive): Implementation of ShellComponent::sendReceive. (class_init): Add the "send_receive" signal. * evolution-shell-component.h: Added `send_receive' signal. * Evolution-ShellComponent.idl: Added ShellComponent::sendReceive. * component-factory.c (send_receive_cb): New, callback for the "send_receive" signal on the EvolutionShellComponent. (create_component): Connect. * folder-browser-ui.c: Remove verb "MailGetSend". * mail-callbacks.c (send_receive_mail): Removed. * mail-send-recv.c: Remove member current_folder from struct _send_data. (free_send_data): No need to unref here. (build_dialogue): Removed arg @current_folder. (mail_send_receive): Likewise. svn path=/trunk/; revision=16220
* Remove "mailstorage", since it's not needed any more. (storage_activate):Dan Winship2002-03-151-40/+26
| | | | | | | | | | | | | | | | | | | | | | * 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
* Update for storage changes: explicitly create a root folder.Dan Winship2002-03-081-1/+2
| | | | | | | | | | | | | | | | | * component-factory.c (add_storage): Update for storage changes: explicitly create a root folder. * mail-display.c (mail_display_render): Fix the "don't scroll back to the top of the HTML widget when opening an attachment" hack again by moving it here from mail_display_redisplay(). (It has to happen after the gtk_html_begin.) (mail_display_redisplay): Pass reset_scroll arg to mail_display_render. * mail-callbacks.c (do_mail_print): Pass reset_scroll (TRUE) to mail_display_render. svn path=/trunk/; revision=15967
* Add an icon for the "New message" user creatable item.Ettore Perazzoli2002-02-221-2/+6
| | | | | | | * component-factory.c (create_component): Add an icon for the "New message" user creatable item. svn path=/trunk/; revision=15791
* remove "New" from user creatable menu itemJP Rosevear2002-02-081-1/+1
| | | | | | | | | 2002-02-07 JP Rosevear <jpr@ximian.com> * component-factory.c (create_component): remove "New" from user creatable menu item svn path=/trunk/; revision=15597
* re-enable popup menu. (populate_folder_context_menu): If we're on aNot Zed2002-01-301-8/+22
| | | | | | | | | | | | | 2002-01-30 Not Zed <NotZed@Ximian.com> * component-factory.c (create_component): re-enable popup menu. (populate_folder_context_menu): If we're on a vfolder, and its not UNMATCHED, create a change properties item, and set it up approriately. (change_prop_popup): Callback to edit the vfolder rule. For #3358. svn path=/trunk/; revision=15523
* Do some NULL checking on the url before using it.Jeffrey Stedfast2002-01-261-3/+6
| | | | | | | | | | | 2002-01-25 Jeffrey Stedfast <fejj@ximian.com> * component-factory.c (destination_folder_handle_motion): Do some NULL checking on the url before using it. (destination_folder_handle_drop): Make sure the uri is non-NULL before freeing. svn path=/trunk/; revision=15473
* Pass a NULL icon to `evolution_shell_component_add_user_creatable_item()'.Ettore Perazzoli2002-01-241-1/+3
| | | | | | | * component-factory.c (create_component): Pass a NULL icon to `evolution_shell_component_add_user_creatable_item()'. svn path=/trunk/; revision=15441
* If the first "token" in the body is "<html>", then treat this as aJeffrey Stedfast2002-01-221-1/+1
| | | | | | | | | | | | | 2002-01-21 Jeffrey Stedfast <fejj@ximian.com> * mail-format.c (handle_text_plain): If the first "token" in the body is "<html>", then treat this as a text/html part rather than a text/plain part. Fixes bug #16817. * component-factory.c (destination_folder_handle_drop): Removed some unused variables. svn path=/trunk/; revision=15420
* Renamed. (mail_config_get_new_mail_notify_sound_file): Renamed.Jeffrey Stedfast2002-01-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | 2002-01-07 Jeffrey Stedfast <fejj@ximian.com> * mail-config.c (mail_config_set_new_mail_notify_sound_file): Renamed. (mail_config_get_new_mail_notify_sound_file): Renamed. * mail-accounts.c (notify_radio_toggled): Replace EXEC with PLAY_SOUND. (construct): renamed the exec_command stuff to play_sound. * main.c (main): Init and shutdown gnome_sound. * mail-ops.c (fetch_mail_fetch): Don't do any new-mail notification here. (filter_folder_filter): call camel_filter_driver_flush. * mail-session.c (main_get_filter_driver): Set the filter-driver exec_func here instead. * mail-ops.c (mail_fetch_mail): Don't set the filter-driver exec_func here. svn path=/trunk/; revision=15263
* Was x_evolution_message_parse from folder-browser.c. A space char is noJeffrey Stedfast2001-11-101-26/+4
| | | | | | | | | | | | | | | | | | | | 2001-11-08 Jeffrey Stedfast <fejj@ximian.com> * mail-tools.c (mail_tools_x_evolution_message_parse): Was x_evolution_message_parse from folder-browser.c. A space char is no longer used to separate the folder URI and the first uid, instead this is now done with a nul-char so update to parse the newer/better format. * component-factory.c (destination_folder_handle_drop): Update to parse the new/better format. * folder-browser.c (x_evolution_message_parse): Moved to mail-tools.c (message_list_drag_data_get): Instead of placing a space char after the folder URI, instead use a nul-char. svn path=/trunk/; revision=14645
* Argh!!! Dont free the async op data here, the async op is still running02001-10-301-15/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Copy the folder's full_name before trying to use it to rename.92001-10-291-1/+3
| | | | | | | | | | | | | | | | | | | | | 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
* Remove uic, kill dumb warning.82001-10-281-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | 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
* Implemented. (mail_vfolder_rename_uri): We do want to check renamed uri's82001-10-281-45/+105
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Changed to open the source store from '/', so we can do renames across62001-10-271-6/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Update the licensing information to require version 2 of the GPLEttore Perazzoli2001-10-271-3/+2
| | | | | | (instead of version 2 or any later version). svn path=/trunk/; revision=14191
* Use a timeout not an idle handler.62001-10-261-1/+1
| | | | | | | | | | | | 2001-10-26 <NotZed@Ximian.com> * component-factory.c (owner_unset_cb): Use a timeout not an idle handler. * mail-callbacks.c (providers_config): Only set the parent window. * mail-accounts.c (mail_edit): Set the parent on the account editor. svn path=/trunk/; revision=14121
* So apparently the uicomp can just 'vanish' while we're using it. Joy. Take52001-10-261-5/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-10-25 <NotZed@Ximian.com> * folder-browser-ui.c (fbui_sensitize_timeout): So apparently the uicomp can just 'vanish' while we're using it. Joy. Take care of that case here, fixes #13482. (fbui_sensitise_item): Check here too just for kicks. * mail-folder-cache.c (store_finalised): If we can't destroy our async event, then queue another one to do it. (store_finalised_finish): And handle it here, until we can, then free it. (mail_note_store): Queue an async event to get folderinfo, dont use mail_get_folderinfo. (update_folders_get): thread-async event to retrieve the folderinfo, and build it, then queues gui-async event to update the gui. (add_unmatched_info): Taken from mail-ops, adds unmatched if required. (add_vtrash_info): From mail-ops, add trash if required. (update_folders): Thread async event to update gui. (mail_note_store): Ref the store and storage when created. (update_1folder): Changed to assume we have info_lock, and store updates in an updates list. (setup_folder): Same. (folder_changed): Changed to call update_1folder directly. (real_folder_changed): Removed. (mail_note_folder): Changed to call update_1folder directly. (real_note_folder): Removed. (store_folder_subscribed): Call setup_folder directly. (real_folder_created): Removed. (real_flush_update): Function that actually does the updates in the gui thread. (mail_note_store): Go back to using mail_get_folderinfo. (update_folders): Fixed upf ro changed api's. (unset_folder_info): Changed to queue pending updates. (real_folder_deleted): Removed. (store_folder_unsubscribed): Do the removal work directly. (mail_note_store): Dont link to finalised event of store - we now ref it. (mail_note_store_remove): If we have any pending updates, clear them out. Also cancel any pending folderinfo retrieve operations. (update_folders): Remove our update from the storeinfo list, if it still exists. (update_1folder): Make 'sent folder shows all counts' optional via an environmental variable EVOLUTION_COUNT_SENT for all those bloody whinging lusers out there. (mail_note_store_remove): Unref the storage when done. * mail-mt.c (mail_async_event_emit): If we're in main and have a gui task, set it to run via an idle function. (idle_async_event): Wrapper for calling do_async_event from idle function, and freeing the message when done. (idle_async_event): Call mail_msg_free not free on the finished message. * component-factory.c (mail_remove_storage): Destroy the storage async. (store_disconnect): This does the work. (free_storage): Un-note the store when we remove it, so the store noting code can unref things properly. (idle_quit): Return false when done, dont loop. 2001-10-24 <NotZed@Ximian.com> * component-factory.c (owner_set_cb): Setup an async_event handler. (idle_quit): Try to destroy the async_event, or keep dropping out if it can't (deadlock). * mail-mt.c (do_async_event): Set the threadid of the thread we're running in so we know its running/which thread its in. (mail_async_event_emit): Added new argument 'type' which is the type of thread to execute against, gui or another one. Fixed all callers. (mail_async_event_destroy): Return -1 if this operation will fail (deadlock possibility). If we're in the thread of the task we're going to wait for, then return a failure (since we will deadlock). (mail_async_event_emit): Chagned to use MailAsyncFunc type as the function type, which just takes 3 void args, change args to suit. * mail-folder-cache.c (mail_note_store): Record the pending update events in a pending list. We should really be able to use an async event for this, but that doesn't return to the gui loop when done :-/ (update_folders): Remove from pending update when done. svn path=/trunk/; revision=14101
* Unref the global search_context. (owner_set_cb): create the globalJeffrey Stedfast2001-10-241-4/+27
| | | | | | | | | | | | | 2001-10-23 Jeffrey Stedfast <fejj@ximian.com> * component-factory.c (owner_unset_cb): Unref the global search_context. (owner_set_cb): create the global search_context. * folder-browser.c (folder_browser_gui_init): Pass along the global search_context to the e_filter_bar_new call. svn path=/trunk/; revision=13976
* Completely re-done. We now hae a completely async dialogue when requested32001-10-231-15/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-10-23 <NotZed@Ximian.com> * mail-session.c (get_password): Completely re-done. We now hae a completely async dialogue when requested from antoehr thread, and dont use gtk_main() if we can avoid it (which is normally the case). This stuff is only partially finished, and will mena the removal of the same from mail-mt.c, and the mail_user_message() code will be moved here and changed to work in a similar way. * mail-callbacks.c (empty_trash): Dont try and connect to remote stores just to get the trash. Also, always run empty trash async, and make sure we unref the trash. (empty_trash): Hmm, dont unref the trash, causes a problem on exit, i suspect something else is doing funky unrefs on it. * mail-tools.c (mail_tool_get_trash): Pass a 'connect' arg, tell it whether it should tryand connect or not to the parent service, if it isn't already connected. * component-factory.c (owner_unset_cb): Dont try wait_all here, could potentially deadlock. (idle_quit): Keep returning TRUE if we have outstanding processing. Note that this may busy-wait during exit processign with busy tasks :( (idle_quit): Keep calling ourselves till we no longer get called (i.e. gtk_main really quits). * mail-mt.c (mail_msg_active): New function, returns TRUE if events are still active/outstanding. (do_op_status): @$@$#@@!#@!! didn't unlock the mail_msg_lock if data->activity was NULL and we had no global_shell_client anymore! Also shortcut processing if this is going to be the case. (mail_msg_init): Setup a temporary other gui_port for redoing with new semantics password, user message and progress reporting. (mail_get_password): #ifdef'd out all this code temporarily, till it gets fully moved to mail-session.c 2001-10-22 <NotZed@Ximian.com> * component-factory.c (owner_set_cb): Dont call enable_interaction here. (interactive_cb): But here instead, let the shell tell us when its ok to go interactive. svn path=/trunk/; revision=13933
* #include "component-factory.h". (do_op_status): Pass the component IDEttore Perazzoli2001-10-231-3/+0
| | | | | | | | | | | * mail-mt.c: #include "component-factory.h". (do_op_status): Pass the component ID instead of the msg ID. * component-factory.h (COMPONENT_ID): #define here instead of `component-factory.c'. (SUMMARY_FACTORY_ID): Likewise. svn path=/trunk/; revision=13895
* Clear variables once done, for debugging. (mail_vfolder_add_uri,12001-10-221-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | 2001-10-21 <NotZed@Ximian.com> * mail-vfolder.c (mail_vfolder_shutdown): Clear variables once done, for debugging. (mail_vfolder_add_uri, mail_vfolder_delete_uri): Dont do anything if we're shutdown (context == NULL). * component-factory.c (idle_quit): Move mail_vfolder_shutdown here, it should be one of the last things shutdown. * mail-format.c (handle_text_plain): Dont use (if (!p++), and then check p!= later, since its now 1, oops. Fixes #13106, thought it was a start of uuencoded stuff! * folder-browser.c (on_right_click): Escape _'s before adding them to menu from mailing list name, also remove some dead code that someone forgot to remove when refactoring. #11307. (folder_browser_is_drafts): Use the store's uri_cmp function to compare to the drafts uri's. (folder_browser_is_sent): Same. Slight cleanup for #11351. svn path=/trunk/; revision=13856
* Properly handle local vTrash folders.Jeffrey Stedfast2001-10-201-13/+18
| | | | | | | | | 2001-10-19 Jeffrey Stedfast <fejj@ximian.com> * component-factory.c (destination_folder_handle_drop): Properly handle local vTrash folders. svn path=/trunk/; revision=13813
* Pass the @folder_type to ::handleDrop.Ettore Perazzoli2001-10-201-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * e-storage-set-view.c (tree_drag_data_received): Pass the @folder_type to ::handleDrop. * evolution-shell-component-dnd.c (impl_GNOME_Evolution_ShellComponentDnd_DestinationFolder_handleMotion): New arg @folder_type. (impl_GNOME_Evolution_ShellComponentDnd_DestinationFolder_handleDrop): Likewise. * evolution-shell-component-dnd.h: Add @folder_type to `DndDestinationFolderHandleDropFn' and `DndDestinationFolderHandleMotionFn'. * e-storage-set-view.c (tree_drag_motion): Pass the folder type to `::handleMotion'. * Evolution-ShellComponentDnd.idl: Pass @folder_type in ::handleDrop and ::handleMotion. * component-factory.c (destination_folder_handle_motion): Get @folder_type here too [to match the changes in the EvolutionShellComponentDnd interface]. Also, remove a debugging message. (destination_folder_handle_drop): Likewise. * gui/component/addressbook-component.c (destination_folder_handle_motion): Get @folder_type here too [to match the changes in the EvolutionShellComponentDnd interface]. Also, remove a debugging message. (destination_folder_handle_drop): Likewise. svn path=/trunk/; revision=13807
* Added remove flag - its not adduri, its removeuri, its less typing than82001-10-191-5/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | 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-6/+16
| | | | | | | | | | | | | | | 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
* Make sure the service/storage are non-NULL.Jeffrey Stedfast2001-10-121-3/+7
| | | | | | | | | | | | | | | | | | | | | | | 2001-10-11 Jeffrey Stedfast <fejj@ximian.com> * component-factory.c (free_storage): Make sure the service/storage are non-NULL. * mail-callbacks.c (e_gnome_dialog_parent_destroyed): Call gtk_main_quit. (send_receive_mail): Don't use e_gnome stuff since this doesn't need to be run using gnome_dialog_run_and_close(). (composer_send_cb): Same. (edit_msg): Here too. (resend_msg): And here. (search_msg): Same. (filter_edit): Here too. (filter_edit): Don't use e_gnome_dialog_set_parent() because we don't do gnome_dialog_run_and_close on this dialog. (e_gnome_error_dialog_parented): Removed. (e_gnome_ok_dialog_parented): Removed. svn path=/trunk/; revision=13583
* IF the source and destination folders are the same, do nothing. Oh, and02001-10-101-47/+62
| | | | | | | | | | | | | | | | | | | | 2001-10-10 <NotZed@Ximian.com> * mail-ops.c (transfer_messages_transfer): IF the source and destination folders are the same, do nothing. Oh, and return an error, otherwise the shell goes and removes it anyway. Fixes a rather serious bug with dnd of folders onto their current location. 2001-10-09 <NotZed@Ximian.com> * component-factory.c (owner_unset_cb): Disconnect from all the signals we were listening to, so we dont try and do shit twice on exit (one on unset_cb, one on destroy). (create_component): Setup the signal handlers using a table, so they're easier to disconnect on finish. svn path=/trunk/; revision=13545
* For mailstorage folders, connect to the control's "activate" signal, andDan Winship2001-10-091-17/+38
| | | | | | | | | | | * component-factory.c (create_view): For mailstorage folders, connect to the control's "activate" signal, and don't try to connect to the store. (storage_activate): Instead, do it here, so if the connection fails, or the user cancels, or whatever else, he can try again later. svn path=/trunk/; revision=13503
* Only create the folder when the shell has created it.Iain Holmes2001-10-051-1/+1
| | | | svn path=/trunk/; revision=13420
* Do the url fragment/path -> folder name hack. Removing vfolders from shell42001-10-051-27/+11
| | | | | | | | | | 2001-10-04 <NotZed@Ximian.com> * component-factory.c (storage_remove_folder): Do the url fragment/path -> folder name hack. Removing vfolders from shell works now? svn path=/trunk/; revision=13416
* Pass an empty flags argument to mail_transfer_messages - destinationJeffrey Stedfast2001-10-031-2/+2
| | | | | | | | | | | | | | | | | | | | | | 2001-10-02 Jeffrey Stedfast <fejj@ximian.com> * mail-callbacks.c (transfer_msg): Pass an empty flags argument to mail_transfer_messages - destination folder should already be created by this point. * folder-browser.c (message_list_drag_data_received): Pass an empty flags argument to mail_transfer_messages. (selection_received): Same. * component-factory.c (xfer_folder): Pass the CREATE flag to mail_transfer_messages() so that the dest folder gets created. (destination_folder_handle_drop): Update for mail-ops API change. * mail-ops.c (mail_transfer_messages): Now takes a dest_flags argument that it passes along to mail_tool_uri_to_folder when opening the destination folder. svn path=/trunk/; revision=13357
* Pass an empty flags argument to mail_tool_uri_to_folder.Jeffrey Stedfast2001-10-031-6/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-10-02 Jeffrey Stedfast <fejj@ximian.com> * mail-vfolder.c (vfolder_setup_do): Pass an empty flags argument to mail_tool_uri_to_folder. (vfolder_adduri_do): Same. * mail-session.c (get_folder): Pass an empty flags argument to mail_tool_uri_to_folder. * mail-send-recv.c (receive_get_folder): Pass an empty flags argument to mail_tool_uri_to_folder. * mail-ops.c (get_folder_get): Pass the flags to mail_tool_uri_to_folder. (mail_get_folder): Now takes a flags argument. (remove_folder_get): Pass an empty flags argument to mail_tool_uri_to_folder. (mail_send_message): Pass an empty argument flag to mail_tool_uri_to_folder. (transfer_messages_transfer): Same. Destination folder should already be created by this time. * folder-info.c (do_get_info): Pass an empty flags argument to mail_tool_uri_to_folder. * importers/evolution-mbox-importer.c (folder_created_cb): Pass the CREATE flag here too. (load_file_fn): And here. (load_file_fn): And here too. * importers/evolution-outlook-importer.c (load_file_fn): Pass the CREATE flag to mail_tool_uri_to_folder. * folder-browser.c (folder_browser_new): Pass an empty flags argument. (x_evolution_message_parse): Pass an empty flags argument to mail_tool_uri_to_folder. * component-factory.c (create_folder): Pass a CREATE flag to mail_get_folder here too. (owner_set_cb): And here. (xfer_folder): Shouldn't need the CREATE flag here, so not passing any flags. (destination_folder_handle_drop): Same. * mail-local.c (mail_local_store_add_folder): Pass a CREATE flag to mail_get_folder. (reconfigure_folder_reconfigure): Pass an empty flags argument to mail_tool_uri_to_folder. * mail-tools.c (mail_tool_uri_to_folder): Take a flags argument. (mail_tool_get_local_inbox): Pass an empty flags argument to mail_tool_uri_to_folder. svn path=/trunk/; revision=13353
* Check for errorsIain Holmes2001-10-021-3/+10
| | | | svn path=/trunk/; revision=13292
* create storages for providers that are STORAGE and aren't EXTERNAL, ratherDan Winship2001-10-021-34/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * component-factory.c (mail_load_storage_by_uri): create storages for providers that are STORAGE and aren't EXTERNAL, rather than "(STORAGE and REMOTE) or spool, maildir, or vfolder". (mail_remove_storage_by_uri): Use the same rule here (which makes it possible now to remove maildir and spool stores now, which weren't properly special-cased before). Remove some CamelException misuse. * mail-config.c (new_source_created): Fix up the broken INBOX- shortcut-generating assumption a little by only assuming that if you call camel_store_get_inbox(), that its full_name is the same as its path. (This happens to always be true for inboxes now, and will be always true by definition at some point in the future.) Now maildir stores get working Inbox shortcuts. * mail-send-recv.c (get_receive_type): If PROVIDER_IS_STORAGE then use SEND_UPDATE, if not, use SEND_RECEIVE. * mail-local.c (local_provider): The local provider is EXTERNAL. (The shell creates it.) (mail_local_reconfigure_folder): Allow reconfiguring between IS_LOCAL providers. * mail-accounts.c (news_delete): Don't need to check the provider flags here... we know nntp is a STORAGE. svn path=/trunk/; revision=13277
* Setup vfolder storage before all others.82001-09-291-2/+0
| | | | | | | | | 2001-09-28 <NotZed@Ximian.com> * component-factory.c (owner_set_cb): Setup vfolder storage before all others. svn path=/trunk/; revision=13243
* Emit folder_deleted event. (remove_find_path): Fix, compare against path,82001-09-291-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Add a big comment explaining unread message counts so no one can mess themDan Winship2001-09-271-0/+3
| | | | | | | | | | | | * mail-folder-cache.c: Add a big comment explaining unread message counts so no one can mess them up again in the future. :-) (update_1folder): If info->unread_message_count is -1, don't do anything. * component-factory.c (component_factory_init): warn and exit if oaf_active_server_register returns OAF_REG_ALREADY_ACTIVE. svn path=/trunk/; revision=13155
* Deal with destroy vs finalise semantics. Only destroy widgets here.52001-09-261-2/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-09-25 <NotZed@Ximian.com> * folder-browser.c (folder_browser_destroy): Deal with destroy vs finalise semantics. Only destroy widgets here. (folder_browser_finalise): object finalise function, actually unref/free all other objects here. (folder_browser_class_init): Init the finalise hook. (got_folder): Check if message_list == NULL -> we've been destroyed before the thread got a chance to finish loading the folder. (folder_browser_is_drafts): Dont use a g_return_if_fail to return in what could be a valid state of the object. (folder_browser_is_sent): Likewise. (folder_browser_copy): Do nothing if message_list == NULL. * main.c (main): call mail_msg_cleanup() before leaving threads. * component-factory.c (owner_unset_cb): Wait for all outstanding operations to finish before setting up to quit. (idle_quit): Wait for all outstanding ops to finish before cleanup. (unref_standard_folders): NULL out the standard folder before unreffing it. * mail-mt.c (mail_msg_wait_all): New function to wait for all outstanding thread operations. (mail_msg_cleanup): Destroy the io channels before we're finished. Also wait for all outstanding threads first. Made public. (mail_msg_init): Dont call mail_msg_cleanup atexit automatically. svn path=/trunk/; revision=13129
* Throw up a warning dialog if we suspect the config database is corrupt.Jeffrey Stedfast2001-09-261-1/+17
| | | | | | | | | | | | | | | 2001-09-25 Jeffrey Stedfast <fejj@ximian.com> * component-factory.c (owner_set_cb): Throw up a warning dialog if we suspect the config database is corrupt. * mail-config.c (config_read): If the account name is NULL, then we have a corrupt config database most likely - so generate a fake account name and set the corrupt but to TRUE. (mail_config_is_corrupt): New function to find out if the config is suspected of being corrupted. svn path=/trunk/; revision=13116
* Removed unused variables.42001-09-251-1/+1
| | | | | | | | | | | | | | | | | | | | | 2001-09-24 <NotZed@Ximian.com> * mail-local.c (mls_get_folder): Removed unused variables. * component-factory.c (storage_create_folder): Remove unused variable. * mail-format.c (write_default_header): Used to write a header that we know about/normally print. Use a static header table to index these. (write_header): removed. (default_header_index): Return the index of the default header. (write_headers): Changed the way it writes headers a bit. Use write_default_header or write_text_header directly. Also try and use the header charset as a fallback if the header can't be decoded using the locale charset. svn path=/trunk/; revision=13097
* All made redundant by new mail-folder-cache code. (delete_folders,Michael Zucci2001-09-221-5/+1
| | | | | | | | | | | | | | | * mail-callbacks.c (mail_storage_create_folder, folder_created, create_folders): All made redundant by new mail-folder-cache code. (delete_folders, folder_deleted): Uh, code that isn't used anywhere. Removed. * component-factory.c (storage_create_folder): Dont call folder_created, let the folder_created event handle the update. * mail-ops.c (mail_scan_subfolders): Remove, no longer used. svn path=/trunk/; revision=13059
* Take a new argument 'done' that can callback when complete. Fixed callers12001-09-211-2/+2
| | | | | | | | | | | | | | | | 2001-09-21 <NotZed@Ximian.com> * mail-folder-cache.c (mail_note_store): Take a new argument 'done' that can callback when complete. Fixed callers appropriately. * mail-ops.c (mail_update_subfolders): Removed. Isn't used anymore. * mail-send-recv.c (receive_update_got_store): Remove call to mail_update_subfolders. svn path=/trunk/; revision=13044
* trigger a folder changed event, so the folderinfocache stuff has a chance02001-09-211-1/+11
| | | | | | | | | | | | | | 2001-09-20 <NotZed@Ximian.com> * component-factory.c (got_folder): trigger a folder changed event, so the folderinfocache stuff has a chance to see if this is the outbox_folder or not. * mail-folder-cache.c (update_1folder): If we have -1 unread count, pass that as 0 to the shell so it doesn't go bolding. (setup_folder): Same. svn path=/trunk/; revision=13041
* Update the status bar here, assuming we've just been activated.02001-09-211-2/+2
| | | | | | | | | | | | | | | | | | | | | 2001-09-20 <NotZed@Ximian.com> * folder-browser.c (folder_browser_set_shell_view): Update the status bar here, assuming we've just been activated. * mail-ops.c (add_vtrash_info): Scan whole list, rather than missing the last one. Also dont assume its always the last, otherwise we could lose following folders. * mail-vfolder.c (all): d(x) out debug printfs * mail-folder-cache.c (update_1folder): If its a vtrash folder, or the outbox_folder, and we have a folder, then make the 'count' the total message count, not unread messages count. svn path=/trunk/; revision=13036
* Lock around hashtable/list manipulation. Also dont try scan vfolder_hash02001-09-211-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-09-20 <NotZed@Ximian.com> * mail-vfolder.c (vfolder_register_source): Lock around hashtable/list manipulation. Also dont try scan vfolder_hash if it hasn't been setup yet. (source_finalise): Lock around list access. (rule_changed): Lock around hash access. (context_rule_added): Lock around hash access. (context_rule_removed): " (rule_changed): Lock around list access. * mail-local.c (storage_listener_startup): Fix for api change. (local_storage_new_folder_cb): Dont skip over leading / in path. (local_storage_removed_folder_cb): ditto. * mail-folder-cache.c (create_folders): No longer pass prefix between recursive calls - we have the path in the folderinfo. (setup_folder): No longer take path arg, we get it from folderinfo. (mail_note_folder): No longer take path arg, we use folder->full_name to key the folder table. (mail_note_store): Consolidate note_store interface, pass storage or corba_storage to it. (mail_note_local_store): Removed. * mail-ops.c (add_unmatched_info): Scan for unmatched name and re-title. svn path=/trunk/; revision=13023
* Register vfolder sources here.02001-09-211-2/+2
| | | | | | | | | | | | | | | | | | | | | 2001-09-20 <NotZed@Ximian.com> * mail-tools.c(mail_tool_uri_to_folder): Register vfolder sources here. * folder-browser.c (got_folder): Dont register vfolder sources here. * mail-ops.c (mail_get_folder): Add thread parameter. Fix callers. * mail-vfolder.c (vfolder_setup): Use the 'slow' queue for setting up vfolders. * mail-mt.c (mail_msg_init): Limit the maximum number of threads on the 'new' thread to 10. (mail_msg_init): Create a new queue 'slow' for doing slow operations. svn path=/trunk/; revision=13017
* Here too.Jeffrey Stedfast2001-09-201-1/+1
| | | | | | | | | | | | 2001-09-19 Jeffrey Stedfast <fejj@ximian.com> * mail-send-recv.c (receive_update_got_store): Here too. * component-factory.c (create_view): Call mail_note_store() instead of mail_scan_subfolders() here so that these folders get hooked up with the unread count code. svn path=/trunk/; revision=12999
* Added missing header.92001-09-191-3/+1
| | | | | | | | | | | | | | | 2001-09-19 <NotZed@Ximian.com> * component-factory.c: Added missing header. * mail-local.c (mail_local_store_add_folder): Async load the folder we just added, so it can update the folder counts in the display. We just discard the folder afterwards? * mail-ops.c (mail_get_folder): Use the queued thread to get folders. svn path=/trunk/; revision=12976
* General cleanup of mail debug printfs.92001-09-191-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-09-19 <NotZed@Ximian.com> * General cleanup of mail debug printfs. * mail-folder-cache.[ch]: Completely rewritten. Removed all calls to the old code everywhere they were used. Nuff said. * folder-browser.h: Add shell_view to folder_browser & api to set it. * folder-browser-factory.c (control_activate): Set the shell-view on the folder_browser. (control_deactivate): And clear it here. * folder-browser.c (folder_browser_destroy): Unhook from changed events on the folder before giving it away. (got_folder): Hook onto the folder-changed events. (folder_changed): Event hook proxy for folder_changed events (main_folder_changed): And the main code version. (update_status_bar): And the one that actually does the work. (on_selection_changed): Also call update_status_bar() to update the selection count. (folder_browser_set_shell_view): Implement function to set the shell_view on the folder_browser. (folder_browser_destroy): Release the shell_view here too. * mail-tools.c (mail_tool_uri_to_folder): Dont 'note' the new folder if its from a file: url, this is handled by hte local store (yeeruughck). * mail-local.c (mls_init): (free_info): (mls_finalise): Setup init/finalise funcs for the folderinfo hash. (local_storage_removed_folder_cb): re-enable. 2001-09-18 <NotZed@Ximian.com> * mail-local.c (MailLocalStore): Add a hash table to store uri<>folderinfo data. (mail_local_store_add_folder): Add a new folderinfo to our hash. (mail_local_store_remove_folder): Remove a folder by uri. (storage_listener_startup): Add this store to those monitored by the folder tree. svn path=/trunk/; revision=12974
* Unsubscribe from the folder before deleting it. Also, use the url's pathJeffrey Stedfast2001-09-181-31/+32
| | | | | | | | | | | | | | | 2001-09-17 Jeffrey Stedfast <fejj@ximian.com> * component-factory.c (storage_remove_folder): Unsubscribe from the folder before deleting it. Also, use the url's path instead of the shell's path since IMAP doesn't necessarily have to use "/" as the dir sep. * mail-ops.c (remove_folder_get): If the store supports subscriptions, make sure to unsubscribe from the folder before deleting it. svn path=/trunk/; revision=12931
* Unsubscribe from the folder before deleting it.Jeffrey Stedfast2001-09-181-5/+6
| | | | | | | | | | | | | 2001-09-17 Jeffrey Stedfast <fejj@ximian.com> * component-factory.c (storage_remove_folder): Unsubscribe from the folder before deleting it. * mail-ops.c (remove_folder_get): If the store supports subscriptions, make sure to unsubscribe from the folder before deleting it. svn path=/trunk/; revision=12921
* Major rewrite of most of the guts, handle changes based on signals and52001-09-151-7/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Dynamically create the folder type list from camel. (reconfigure_clicked):02001-09-111-28/+39
| | | | | | | | | | | | | | 2001-09-10 <NotZed@Ximian.com> * mail-local.c (mail_local_reconfigure_folder): Dynamically create the folder type list from camel. (reconfigure_clicked): And change code to handle changes. 2001-09-10 <NotZed@Ximian.com> * merged mail_local patch from peterw. Many changes. svn path=/trunk/; revision=12759
* new function, to notify the bonobo listener inChris Toshok2001-09-071-18/+51
| | | | | | | | | | | | | 2001-09-06 Chris Toshok <toshok@ximian.com> * component-factory.c (notify_listener): new function, to notify the bonobo listener in remove_folder/create_folder. (storage_create_folder): match EvolutionStorage create_folder signal's signature. (storage_remove_folder): match EvolutionStorage remove_folder signal's signature. svn path=/trunk/; revision=12671
* Adjust the default_account index correctly.Jeffrey Stedfast2001-09-061-3/+2
| | | | | | | | | | | | | | | | | | 2001-09-05 Jeffrey Stedfast <fejj@ximian.com> * mail-config.c (mail_config_remove_account): Adjust the default_account index correctly. 2001-09-05 Jeffrey Stedfast <fejj@ximian.com> * mail-config.c (mail_config_get_accounts): Added a g_assert to make sure that config wasn't NULL. This is meant to help debug bug #4911 and friends. * component-factory.c (owner_set_cb): Do not mail_config_init() here as we've already called this in main() in main.c. svn path=/trunk/; revision=12640
* [Fix #958, ShellComponents should not be created by factories, forEttore Perazzoli2001-09-061-11/+13
| | | | | | | | | | | | | | | | | the mailer case.] * GNOME_Evolution_Mail.oaf.in: Remove the GNOME_Evolution_Mail_ShellComponentFactory. * component-factory.c: Changed to not use a factory. (COMPONENT_FACTORY_ID): Removed. (COMPONENT_ID): New. (idle_quit): Don't unref the component_factory. (create_component): Renamed from `component_fn'. Take no args. (component_factory_init): Create the component with `create_component' and register it on OAF. svn path=/trunk/; revision=12637
* [Fix #7542, "Crash Afer Closing".]Ettore Perazzoli2001-09-051-0/+2
| | | | | | | | | | * component-factory.c (owner_unset_cb): NULL the global_shell_client as the first thing here. Otherwise we might get into a slight race that causes the shell to crash. [Still, of course the shell shouldn't crash, but I haven't been able to track that down yet.] svn path=/trunk/; revision=12605
* Fix the Pine and Netscape importers. Give them a nice progress reporting GUI.Iain Holmes2001-08-311-3/+4
| | | | | | Revert Jason's changes so that creating a folder works again. svn path=/trunk/; revision=12536
* Toss in a call to mail_config_init () cause it might contribute to solvingPeter Williams2001-08-301-1/+2
| | | | | | | | | | 2001-08-29 Peter Williams <peterw@ximian.com> * component-factory.c (owner_set_cb): Toss in a call to mail_config_init () cause it might contribute to solving bug 4911, and it won't hurt. svn path=/trunk/; revision=12514
* Instead of folder_browser_factory_new_control ("", corba_shell) whenPeter Williams2001-08-291-1/+1
| | | | | | | | | | | 2001-08-28 Peter Williams <peterw@ximian.com> * component-factory.c (create_view): Instead of folder_browser_factory_new_control ("", corba_shell) when looking at a mailstorage folder, use create_noselect_control(). svn path=/trunk/; revision=12504
* Disable interaction once the shell has quit.Peter Williams2001-08-291-0/+1
| | | | | | | | | 2001-08-28 Peter Williams <peterw@ximian.com> * component-factory.c (owner_unset_cb): Disable interaction once the shell has quit. svn path=/trunk/; revision=12500
* If the store is not connected, scan it's subfolders first.Jeffrey Stedfast2001-08-271-9/+8
| | | | | | | | | | | | 2001-08-26 Jeffrey Stedfast <fejj@ximian.com> * mail-send-recv.c (receive_update_got_store): If the store is not connected, scan it's subfolders first. * mail-ops.c (report_status): Call va_end() so LinuxPPC doesn't have a caniption. svn path=/trunk/; revision=12479
* Don't mark empty strings for translation. Rather, give descriptions andEttore Perazzoli2001-08-251-2/+2
| | | | | | | | * component-factory.c: Don't mark empty strings for translation. Rather, give descriptions and display names to types "mailstorage" and "vtrash". svn path=/trunk/; revision=12453
* Instead of using the length of the shortcuts list as the index for thePeter Williams2001-08-251-2/+5
| | | | | | | | | | | | | | | | | | | | | | 2001-08-24 Peter Williams <peterw@ximian.com> * mail-config.c (add_shortcut_entry): Instead of using the length of the shortcuts list as the index for the shortcut, use -1, which means "last". * mail-config-druid.c (druid_finish): Remove the account adding stuff since that happens in wizard_finish now. * mail-config.c (add_new_storage): New function. Add a MailConfigAccount to the shell as a storage. (maybe_add_shortcut): Renamed to new_source_created. (new_source_created): Call add_new_storage here. * component-factory.c (mail_remove_storage_by_uri): Don't warn if the storage isn't remote... no point in making the caller do extra work. svn path=/trunk/; revision=12445
* Check to make sure we actually have drag data.Jeffrey Stedfast2001-08-241-0/+4
| | | | | | | | | | | | 2001-08-23 Jeffrey Stedfast <fejj@ximian.com> * component-factory.c (destination_folder_handle_drop): Check to make sure we actually have drag data. * folder-browser.c (message_list_drag_data_received): Check to make sure we have valid data. svn path=/trunk/; revision=12424
* Don't blindly make all vtrash folder types have a uri of vtrash:file:/,Jeffrey Stedfast2001-08-231-5/+8
| | | | | | | | | | 2001-08-22 Jeffrey Stedfast <fejj@ximian.com> * component-factory.c (create_view): Don't blindly make all vtrash folder types have a uri of vtrash:file:/, instead only make it use vtrash:file:/ if it's a file: uri, else use physical_uri. svn path=/trunk/; revision=12411
* Modify the url and set the protocol to mbox rather than hacking it andJeffrey Stedfast2001-08-211-14/+21
| | | | | | | | | | | | | | 2001-08-20 Jeffrey Stedfast <fejj@ximian.com> * component-factory.c (create_folder): Modify the url and set the protocol to mbox rather than hacking it and prepending mbox: to the uri. * mail-local.c (get_folder): Don't prepend the folder_name with the store's path because the hash key is folder_name, not /folder_name. svn path=/trunk/; revision=12325
* camel_folder_create_folder can now return a heirachial tree so subscribeJeffrey Stedfast2001-08-201-10/+12
| | | | | | | | | | 2001-08-20 Jeffrey Stedfast <fejj@ximian.com> * component-factory.c (storage_create_folder): camel_folder_create_folder can now return a heirachial tree so subscribe to down the tree. svn path=/trunk/; revision=12257
* Added display_name and description to the type.Ettore Perazzoli2001-08-201-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * evolution-test-component.c: Added display_name and description to the type. * evolution-shell-component.c (impl__get_supported_types): Pass `display_name' and `description' here. (evolution_shell_component_construct): Likewise. * evolution-shell-component.h: New members `display_name', `description' in `EvolutionShellComponentFolderType'. * e-component-registry.c (register_type): New args @description and @display_name. Pass to `e_folder_type_registry_register_type()'. (register_component): Pass the values returned in the sequence from __get_supported_types. * e-folder-type-registry.c: New members `display_name' and `description' in `struct _FolderType'. (folder_type_new): New args @description and @display_name. Initialize the respective fields in the `FolderType' accordingly. (folder_type_free): Free `display_name' and `description'. (register_folder_type): New args @display_name, @description. (e_folder_type_registry_register_type): New args @display_name, @description. (e_folder_type_registry_get_description_for_type): New. (e_folder_type_registry_get_display_name_for_type): New. * Evolution-ShellComponent.idl: Added `display_name' and `description' fields to the `FolderType' struct. svn path=/trunk/; revision=12245
* Allow the activity to be NULL if there isn't a global_shell_client so thatJeffrey Stedfast2001-08-201-6/+17
| | | | | | | | | | | | | | | | | | 2001-08-19 Jeffrey Stedfast <fejj@ximian.com> * mail-mt.c (do_op_status): Allow the activity to be NULL if there isn't a global_shell_client so that we don't try and report status updates when the shell is destroyed. * mail-config.c (add_shortcut_entry): Return if there isn't a global_shell_client. * component-factory.c (owner_set_cb): set the global_shell_client here and connect to the destroy signal. * mail-vfolder.c (vfolder_create_storage): Use an extern global_shell_client. svn path=/trunk/; revision=12242
* don't init the config hereJP Rosevear2001-08-181-2/+0
| | | | | | | | | | 2001-08-17 JP Rosevear <jpr@ximian.com> * component-factory.c (owner_set_cb): don't init the config here * main.c (main): init the config here svn path=/trunk/; revision=12166
* Startup assistant stuffIain Holmes2001-08-171-1/+4
| | | | svn path=/trunk/; revision=12145
* New function, handle "user creatable items". (component_fn): Tell thePeter Williams2001-08-141-0/+19
| | | | | | | | | | | 2001-08-13 Peter Williams <peterw@ximian.com> * component-factory.c (user_create_new_item_cb): New function, handle "user creatable items". (component_fn): Tell the shell that we're capable of creating mail messages. svn path=/trunk/; revision=11965
* Fix this so it can actually get folders from the hash of folders on theJason Leach2001-08-141-12/+6
| | | | | | | | | | | | | | | | | | | | | | | 2001-08-13 Jason Leach <jleach@ximian.com> * mail-local.c (get_folder): Fix this so it can actually get folders from the hash of folders on the local store (it was looking up plain @folder_name, which is typically "mbox", instead of the full URI, /home/jleach/evolution/local/Foo/mbox). * component-factory.c (do_remove_folder): Rename to remove_folder_done, more fitting for it's purpose. (do_xfer_folder): Similar name change. (do_create_folder): Similar name change. (remove_folder): Don't notifyResult for the component here, we will notify with our result in remove_folder_done. (xfer_folder): Ditto. * mail-vfolder.c (vfolder_refresh): Create new folders with unread counts of "0" instead of #FALSE (which just happens to be #defined as zero). svn path=/trunk/; revision=11964
* Don't load the storage if it isn't enabled. (mail_remove_storage_by_uri):Peter Williams2001-08-111-51/+92
| | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-08-08 Peter Williams <peterw@ximian.com> * component-factory.c (mail_load_storages): Don't load the storage if it isn't enabled. (mail_remove_storage_by_uri): New function. Goes through the gymnastics of getting a CamelStore from the URI and calling mail_remove_storage. Copied from mail_delete(). (mail_load_storage_by_uri): Break out the storage-loading part of mail_load_storages into a single function. (mail_load_storages): Just call mail_load_storage_by_uri several times. * mail.h: Prototype our new _by_uri functions. * mail-accounts.c (news_add_destroyed): Instead of hacking around mail_load_storages, call mail_load_storage_by_uri. (mail_delete): Move this chunk of code into mail_remove_storage_by_uri. (mail_able): Add or remove the storage as necessary, with our new _by_uri functions. * mail-config-druid.c (druid_finish): See news_add_destroyed above. svn path=/trunk/; revision=11881
* [ Change this gtk_object_ref on the storage to a bonobo_object_ref ]Peter Williams2001-08-091-1/+1
| | | | | | | | | | | | 2001-08-08 Peter Williams <peterw@ximian.com> [ Change this gtk_object_ref on the storage to a bonobo_object_ref ] * component-factory.c (mail_lookup_storage): And here. * mail-vfolder.c (mail_vfolder_get_vfolder_storage): And here. svn path=/trunk/; revision=11791
* Added key accelerators to a bunch of the config options and moved the BccJeffrey Stedfast2001-08-071-2/+2
| | | | | | | | | | | | | | | | | | | | | 2001-08-06 Jeffrey Stedfast <fejj@ximian.com> * mail-config.glade: Added key accelerators to a bunch of the config options and moved the Bcc and empty-subject checkboxes to the composer tab where they belong. * mail-callbacks.c (providers_config): Raise the dialog if it exists already. (manage_subscriptions): Raise the dialog if it already exists. (main_select_first_unread): Removed (we haven't needed this code in ages). (select_first_unread): Same. (save_msg_ok): If the path is empty, just return. * mail-local.c (mail_local_reconfigure_folder): Raise the dialog if it already exists. svn path=/trunk/; revision=11719
* Yuck. Special case whether or not we want to expunge all the trash foldersJeffrey Stedfast2001-08-071-1/+1
| | | | | | | | | | | 2001-08-06 Jeffrey Stedfast <fejj@ximian.com> * mail-callbacks.c (empty_trash): Yuck. Special case whether or not we want to expunge all the trash folders syncronously or asyncronously based on whether or not we are doing Empty-On-Exit or emptying trash by user request respectively. svn path=/trunk/; revision=11701
* Back to using `bonobo_generic_factory_new()'. (component_fn): UpdatedEttore Perazzoli2001-08-061-8/+5
| | | | | | | | * component-factory.c (component_factory_init): Back to using `bonobo_generic_factory_new()'. (component_fn): Updated accordingly. svn path=/trunk/; revision=11694
* Use `e_bonobo_generic_factory_multi_display_new()' instead of justEttore Perazzoli2001-08-051-5/+8
| | | | | | | | | * component-factory.c (component_factory_init): Use `e_bonobo_generic_factory_multi_display_new()' instead of just `bonobo_generic_factory_new()'. (component_fn): Added @component_id arg. svn path=/trunk/; revision=11687
* Connect to the folder_remove signal on the storage. (vfolder_remove): NewJeffrey Stedfast2001-08-031-8/+8
| | | | | | | | | | 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
* Added (unused) table with strings intended to be translated (i18n toolsChyla Zbigniew2001-07-281-0/+3
| | | | | | | | * component-factory.c (populate_folder_context_menu): Added (unused) table with strings intended to be translated (i18n tools can't extract strings from XML data inside .c file). svn path=/trunk/; revision=11458
* If we don't have any messages selected, break out. This fixes bug #5612.Jeffrey Stedfast2001-07-271-8/+31
| | | | | | | | | | | | | | | | | | | | 2001-07-26 Jeffrey Stedfast <fejj@ximian.com> * folder-browser.c (message_list_drag_data_get): If we don't have any messages selected, break out. This fixes bug #5612. * component-factory.c (xfer_folder): Fixed a strstr (url, "noselect=yes") brokenness. (destination_folder_handle_motion): Same. (destination_folder_handle_drop): And again here. * mail-format.c (handle_application_pgp): Implemented. (setup_mime_tables): Setup the application/pgp handler to use handle_application_pgp instead of handle_text_plain. (handle_text_plain): Remove special-case hacks for application/pgp types. svn path=/trunk/; revision=11438
* oops, we had a possible NULL value passed to a strcmpJeffrey Stedfast2001-07-251-1/+3
| | | | svn path=/trunk/; revision=11372
* fixed a typoJeffrey Stedfast2001-07-251-1/+1
| | | | svn path=/trunk/; revision=11370
* Fix for bug #5174.Jeffrey Stedfast2001-07-251-2/+4
| | | | | | | | 2001-07-24 Jeffrey Stedfast <fejj@ximian.com> * component-factory.c (create_view): Fix for bug #5174. svn path=/trunk/; revision=11368
* Do a case-insensitive comparison. (mail_generate_reply): Only resort toJeffrey Stedfast2001-07-251-5/+5
| | | | | | | | | | | | | | | | | | | | 2001-07-24 Jeffrey Stedfast <fejj@ximian.com> * mail-callbacks.c (guess_me): Do a case-insensitive comparison. (mail_generate_reply): Only resort to the source account's identity if we can't find out which identity to use based on the recipients of the message first. * mail-config.c (mail_config_get_default_account): Make sure to return the 0th account if we don't have a default. We don't want to return NULL. * mail-callbacks.c (empty_trash): Use mail_tool_get_trash for the remote store trash folders. * mail-tools.c (mail_tool_get_trash): New convenience function. svn path=/trunk/; revision=11353
* Dont call notifyResult here if we've just launched a thread to do theNot Zed2001-07-241-13/+10
| | | | | | | | | | | 2001-07-24 Not Zed <NotZed@Ximian.com> * component-factory.c (create_folder): Dont call notifyResult here if we've just launched a thread to do the work, it calls it itself. This apparently breaks the importers, but thats a different issue. svn path=/trunk/; revision=11335
* Add an extra @type arg to the xferFolder and removeFolder methods inEttore Perazzoli2001-07-231-1/+16
| | | | | | | | the ShellComponent interface. Updated the EvolutionShellComponent GTK+ wrapper and all the component accordingly. Get the calendar to use this so it can delete both tasks and calendar folders. svn path=/trunk/; revision=11300
* Add a `user_creatable' property to folder types and make componentsEttore Perazzoli2001-07-221-3/+3
| | | | | | | use it, so that e.g. you cannot create a folder of type "mailstorage" or "vtrash". svn path=/trunk/; revision=11298
* Don't let the user remove vtrash folders.Peter Williams2001-07-211-0/+3
| | | | | | | | | 2001-07-20 Peter Williams <peterw@ximian.com> * component-factory.c (storage_remove_folder): Don't let the user remove vtrash folders. svn path=/trunk/; revision=11267
* Fix DanW's fix. Pass the right arguments to mail_msg_destroy.Peter Williams2001-07-211-1/+3
| | | | | | | | | | | | | | | | | | | 2001-07-20 Peter Williams <peterw@ximian.com> * mail-mt.c (mail_msgport_replied): Fix DanW's fix. Pass the right arguments to mail_msg_destroy. * component-factory.c (component_fn): Don't populate the context menu; our only action didn't even work. (populate_folder_context_menu): Removed. ChangeFolderProperties needs a FolderBrowser which we don't have. It didn't even work before. * mail-local.c (mail_local_reconfigure_folder): Bring the creation of the hash table to the beginning to prevent warnings. Complain if the mailbox is non-local. svn path=/trunk/; revision=11266
* In camel:Peter Williams2001-07-201-7/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-07-19 Peter Williams <peterw@ximian.com> Policy change: NULL url's are no longer allowed in CamelFolderInfos. They used to signify that the folder was, in IMAP jargon, NoSelect; now the same effect is achieved by adding a "noselect=yes" parameter to the end of the URL. As far as I know, IMAP is the only affected provider. * providers/imap/camel-imap-store.c (delete_folder): New function. Implement folder deletion. (camel_imap_store_class_init): Set the delete_folder class function here. (get_folder_status): New function. Utility wrapper around the STATUS command. (create_folder): If the parent folder is NoSelect but is empty, delete it and recreate it as a a subfolder-containing folder. If it is NoSelect but contains messages, set an exception. (parse_list_response_as_folder_info): Always set the FolderInfo's URL, but add a NoSelect parameter if it isn't selectable. (get_folder_info_online): Change logic of removing the namespace to reflect URL change. Same for logic of checking unread counts. (get_folder_info_online): Use get_folder_status to simplify this. * camel-store.c (camel_folder_info_build): When creating dummy parents, copy the child's URL and set the NoSelect parameter. In mail: 2001-07-19 Peter Williams <peterw@ximian.com> Track the NoSelect changes in Camel. * mail-callbacks.c (create_folders): We don't need to check if the URL is NULL or not anymore. * component-factory.c (create_noselect_control): New function. Create a dummy control for folders that can't contain messages (ie \NoSelect) (create_view): If the URI says the folder is noselect, make a dummy control. FIXME: still should merge in the global UI elements. (xfer_folder): Don't allow the operation if the destination is NoSelect. (destination_folder_handle_motion): Ditto. (destination_folder_handle_drop): Ditto. svn path=/trunk/; revision=11237
* Fix to correctly handle text/uri-lists that contain more than a singleJeffrey Stedfast2001-07-181-28/+34
| | | | | | | | | | | | | | 2001-07-17 Jeffrey Stedfast <fejj@ximian.com> * folder-browser.c (message_list_drag_data_recieved): Fix to correctly handle text/uri-lists that contain more than a single url. * component-factory.c (destination_folder_handle_drop): Fix to correctly handle text/uri-lists that contain more than a single url. svn path=/trunk/; revision=11174
* Use CAMEL_VTRASH_NAME.Jeffrey Stedfast2001-07-181-2/+0
| | | | | | | | | | | | | | | | 2001-07-17 Jeffrey Stedfast <fejj@ximian.com> * mail-local.c (init_trash): Use CAMEL_VTRASH_NAME. * mail-ops.c (add_vtrash_info): Use CAMEL_VTRASH_NAME. * folder-browser.c: turned off some debugging 2001-07-16 Jeffrey Stedfast <fejj@ximian.com> * mail-callbacks.c (transfer_msg): Disallow vtrash for now... svn path=/trunk/; revision=11159
* Use g_strcasecmp() when looking for a Trash folder - it may be lowercaseJeffrey Stedfast2001-07-171-15/+18
| | | | | | | | | | | | | | | | 2001-07-16 Jeffrey Stedfast <fejj@ximian.com> * mail-ops.c (add_vtrash_info): Use g_strcasecmp() when looking for a Trash folder - it may be lowercase or something funky. * mail-local.c (init_trash): No need to specify the vfolder expression here. This code was moved into camel-vtrash-folder.c ages ago. * component-factory.c: Let VTrash folders accept/export the same dnd types as normal folders. svn path=/trunk/; revision=11140
* Let VTrash folders accept/export the same dnd types as normal folders.Jeffrey Stedfast2001-07-171-1/+1
| | | | | | | | | 2001-07-16 Jeffrey Stedfast <fejj@ximian.com> * component-factory.c: Let VTrash folders accept/export the same dnd types as normal folders. svn path=/trunk/; revision=11134
* Mark the messages as Seen also. (folder_browser_class_init): Create anJeffrey Stedfast2001-07-071-8/+3
| | | | | | | | | | | | | | | | | | | | | | | | 2001-07-06 Jeffrey Stedfast <fejj@ximian.com> * folder-browser.c (folder_browser_copy): Mark the messages as Seen also. (folder_browser_class_init): Create an atom type for X-Evolution-Message selection type. (my_folder_browser_init): Add our multiple selection types, one of which is the default string type. * component-factory.c (destination_folder_handle_drop): Update to use the new X-Evolution-Message type format. * folder-browser.c (selection_get): Convert the X-Evolution-Message clipboard type to whatever format the target wants. (message_list_drag_data_get): Update because the X-Evolution-Message type changed. (folder_browser_copy): Same. (x_evolution_message_parse): And here too. svn path=/trunk/; revision=10853
* Change the folder right-click "Properties..." menu item handling soEttore Perazzoli2001-07-061-1/+19
| | | | | | | | | | that it only happens in the mailer (which is the only component actually using this). For some reason it still doesn't work properly (i.e. the menu item currently does nothing), but I haven't quite figured out why yet. svn path=/trunk/; revision=10840
* Setup the Empty Trash On Exit widgets.Jeffrey Stedfast2001-07-031-0/+3
| | | | | | | | | | | | | | | | | 2001-07-02 Jeffrey Stedfast <fejj@ximian.com> * mail-accounts.c (construct): Setup the Empty Trash On Exit widgets. * mail-config.c (config_read): Option to emtpy trash on exit. (mail_config_write_on_exit): Same. (mail_config_set_empty_trash_on_exit): Set the option. (mail_config_get_empty_trash_on_exit): Get the option. * component-factory.c (owner_unset_cb): Empty the trash folders if the user set the "empty trash on exit" option. svn path=/trunk/; revision=10711
* Updated for the mail_transfer_messages API.Jeffrey Stedfast2001-07-031-9/+21
| | | | | | | | | | | | | | | | | | | | | | 2001-07-02 Jeffrey Stedfast <fejj@ximian.com> * mail-callbacks.c (transfer_msg): Updated for the mail_transfer_messages API. * folder-browser.c (message_list_drag_data_recieved): Update for the mail_transfer_messages API. (selection_received): Same. * mail-ops.c (mail_transfer_messages): Renamed from mail_do_transfer_messages and also added a callback/data arguments since we need it component_factory::xfer_folder. * component-factory.c (xfer_folder): Use mail_transfer_messages instead. (destination_folder_handle_drop): Update to pass in a NULL callback arg and a NULL data argument to mail_transfer_messages. svn path=/trunk/; revision=10710
* Since we have an exception variable, we might as well use it when gettingJeffrey Stedfast2001-06-291-4/+8
| | | | | | | | | | | | | 2001-06-28 Jeffrey Stedfast <fejj@ximian.com> * component-factory.c (destination_folder_handle_drop): Since we have an exception variable, we might as well use it when getting folders too. * folder-browser.c (message_list_drag_data_recieved): Call gtk_drag_finish. svn path=/trunk/; revision=10568
* Get the Mail Component to understand `mailto:'.Ettore Perazzoli2001-06-281-1/+25
| | | | svn path=/trunk/; revision=10555
* Add method `ShellComponent::handleExternalURI' and anEttore Perazzoli2001-06-281-0/+1
| | | | | | | | | `external_uri_schemas' attribute. Update the EvolutionShellComponent GTK+ wrapper accordingly. Update all the components to pass a NULL `external_uri_schemas' list when initializing themselves as EvolutionShellComponents. svn path=/trunk/; revision=10548
* Don't pop up a progress dialog to say "I already finished this a whileDan Winship2001-06-271-4/+5
| | | | | | | | | | | | | * mail-mt.c (op_status_timeout): Don't pop up a progress dialog to say "I already finished this a while ago". * component-factory.c (storage_create_folder): Pass the path prefix to folder_created so it can add it to the folder tree in the right place. * mail-callbacks.c (folder_created): Take a path prefix. svn path=/trunk/; revision=10508
* No longer returns a gboolean and also takes a CamelException.Jeffrey Stedfast2001-06-271-16/+15
| | | | | | | | | | | | | | | | | | | 2001-06-26 Jeffrey Stedfast <fejj@ximian.com> * component-factory.c (message_rfc822_dnd): No longer returns a gboolean and also takes a CamelException. (destination_folder_handle_drop): Do better error checking. * folder-browser.c (my_folder_browser_init): Connect to the tree-drag-data-recieved signal. (message_list_drag_data_recieved): New function that handles the recieving end of the DnD event. (x_evolution_message_parse): New convenience function to parse the x-evolution-message type so that the cut/paste and DnD code can share it. (selection_received): Use x_evolution_message_parse(). svn path=/trunk/; revision=10502
* Update the copyrights, replacing Helix Code with Ximian andEttore Perazzoli2001-06-231-2/+2
| | | | | | helixcode.com with ximian.com all over the place. svn path=/trunk/; revision=10440
* Fix bug #3409: Removing an EvolutionStorage from the shell's folderJacob Leach2001-06-221-16/+28
| | | | | | tree. svn path=/trunk/; revision=10362
* #include "folder-browser-factory.h"Jeffrey Stedfast2001-06-201-15/+34
| | | | | | | | | | | | | | | 2001-06-19 Jeffrey Stedfast <fejj@ximian.com> * mail-display.c: #include "folder-browser-factory.h" * component-factory.c (mail_remove_storage): New function to remove an EvolutionStorage. * mail-accounts.c (mail_delete): Remove the storage from the folder-tree. (news_delete): Same. svn path=/trunk/; revision=10304
* Accept text/uri-list mime types - this allows us to drag messages fromJeffrey Stedfast2001-06-201-6/+52
| | | | | | | | | | | | | 2001-06-19 Jeffrey Stedfast <fejj@ximian.com> * component-factory.c (destination_folder_handle_drop): Accept text/uri-list mime types - this allows us to drag messages from Nautilus into an Evolution folder. * folder-browser.c (message_list_drag_data_get): Do cleanup and better error handling. svn path=/trunk/; revision=10296
* Use a nice switch statement and use the new enum values.Jeffrey Stedfast2001-06-191-17/+33
| | | | | | | | | | | | | | 2001-06-18 Jeffrey Stedfast <fejj@ximian.com> * component-factory.c (destination_folder_handle_drop): Use a nice switch statement and use the new enum values. * mail-callbacks.c (list_add_addresses): Now takes a hash table of already-used-recipients so that we don't get duplicates. (mail_generate_reply): Pass in a rcpt_hash argument to list_add_addresses(). These changes fix bug #1639. svn path=/trunk/; revision=10282
* Change the drop-type "x-evolution-dnd" to "x-evolution-message" since weJeffrey Stedfast2001-06-191-2/+2
| | | | | | | | | | | | | | | | | 2001-06-18 Jeffrey Stedfast <fejj@ximian.com> * component-factory.c: Change the drop-type "x-evolution-dnd" to "x-evolution-message" since we want to be able to DnD more than one data type ;-) * folder-browser.c: Change supported DnD drop types to disclude URI_LIST as that seems to crash Nautilus and seems overly complicated. Since I am going to be supporting message/rfc822, hopefully Nautilus can handle that or else maybe something like text/plain. (message_list_drag_data_get): Remove the code for URI_LIST. svn path=/trunk/; revision=10264
* If we have a fragment in the url, use that as the folder name, and not theNot Zed2001-06-181-2/+5
| | | | | | | | | | | | | | 2001-06-14 Not Zed <NotZed@Ximian.com> * mail-tools.c (mail_tool_uri_to_folder): If we have a fragment in the url, use that as the folder name, and not the path component. 2001-06-13 Not Zed <NotZed@Ximian.com> * component-factory.c (mail_load_storages): Added temp hack to let spool providers show up in the list. svn path=/trunk/; revision=10263
* Implemented.Jeffrey Stedfast2001-06-161-6/+15
| | | | | | | | | | | | | | | | 2001-06-15 Jeffrey Stedfast <fejj@ximian.com> * component-factory.c (destination_folder_handle_drop): Implemented. * message-list.c (message_list_construct): Don't connect to the DnD signals here. (message_list_drag_data_get): Removed. (add_uid): Removed. * folder-browser.c (my_folder_browser_init): Connect to DnD signals. (message_list_drag_data_get): Implemented. svn path=/trunk/; revision=10257
* Fixed misuse of an uninitialized variable.Jeffrey Stedfast2001-06-161-3/+94
| | | | | | | | | | | | | | | | | 2001-06-15 Jeffrey Stedfast <fejj@ximian.com> * mail-ops.c (mail_send_message): Fixed misuse of an uninitialized variable. * component-factory.c (destination_folder_handle_drop): Implemented. * mail.h: Added prototype for evolution_folder_info_factory_init. * mail-ops.c (mail_do_transfer_messages): Now takes a const char* as the dest_uri. This works better all around since we strdup'd the string anyway. svn path=/trunk/; revision=10255
* Updated to reflect changes to mail_config_[g,s]et_thread_list().Jeffrey Stedfast2001-06-151-9/+70
| | | | | | | | | | | | | | | | | | | | | | | 2001-06-14 Jeffrey Stedfast <fejj@ximian.com> * folder-browser.c (got_folder): Updated to reflect changes to mail_config_[g,s]et_thread_list(). (folder_browser_toggle_threads): Same. * folder-browser-factory.c (control_activate): Updated to reflect changes to mail_config_[g,s]et_thread_list(). * mail-config.c (mail_config_write_on_exit): Do cleanup when we're done. (mail_config_set_thread_list): Send in a URI so we can save the state on a per-folder basis. (mail_config_get_thread_list): Send in a URI so we can retrieve the state on a per-folder basis. * component-factory.c: Setup the accepted_dnd_types. Also added skeleton code for DnD. svn path=/trunk/; revision=10240
* Committing the new My Evolution.Iain Holmes2001-06-091-13/+2
| | | | svn path=/trunk/; revision=10163
* This code should be correct now. Still waiting on the shell to do it's jobJeffrey Stedfast2001-05-261-13/+9
| | | | | | | | | | 2001-05-25 Jeffrey Stedfast <fejj@ximian.com> * component-factory.c (xfer_folder): This code should be correct now. Still waiting on the shell to do it's job of creating the metadata xml file in the destination folder though. svn path=/trunk/; revision=9981
* New function that the shell component calls to copy/move a folder.Jeffrey Stedfast2001-05-241-4/+44
| | | | | | | | | | | | | | | | | | | | | | 2001-05-23 Jeffrey Stedfast <fejj@ximian.com> * component-factory.c (xfer_folder): New function that the shell component calls to copy/move a folder. (component_fn): Set the xfer_folder_fn argument. * mail-ops.c (mail_remove_folder): New async function to remove a folder. God knows if it does what the ShellComponent needs or not yet. (mail_xfer_folder): Yet another yummy async function to move or copy a folder to a new location. * component-factory.c (storage_remove_folder): New function for removing folders. (remove_folder): New function that the shell component calls to delete a folder. (component_fn): Set the remove_folder_fn argument. svn path=/trunk/; revision=9954
* New async function to remove a folder. God knows if it does what theJeffrey Stedfast2001-05-241-11/+103
| | | | | | | | | | | | | | | | 2001-05-23 Jeffrey Stedfast <fejj@ximian.com> * mail-ops.c (mail_remove_folder): New async function to remove a folder. God knows if it does what the ShellComponent needs or not yet. * component-factory.c (storage_remove_folder): New function for removing folders. (remove_folder): New function that the shell component calls to delete a folder. (component_fn): Set the remove_folder_fn argument. svn path=/trunk/; revision=9952
* Get rid of this - we don't need it.Jeffrey Stedfast2001-05-141-1/+0
| | | | | | | | | | | | 2001-05-13 Jeffrey Stedfast <fejj@ximian.com> * mail-local.c (mail_local_storage_shutdown): Get rid of this - we don't need it. * component-factory.c (owner_unset_cb): Don't unref the LocalStore - we don't own a ref on it!! svn path=/trunk/; revision=9787
* add protoJP Rosevear2001-05-121-0/+2
| | | | | | | | | | | | | | | | | | | | | | | 2001-05-11 JP Rosevear <jpr@ximian.com> * mail-importer.h: add proto * mail-importer.c (mail_importer_uninit): release and unref the local storage * mail-local.c (mail_local_store_finalize): use bonobo_object_release_unref rather than doing Bonobo_Unknow_unref and a corba release (register_folder_registered): "sink" the local_store ref to prevent circular ref (mail_local_storage_shutdown): unref the local store * mail-local.h: new proto * component-factory.c (owner_unset_cb): uninit the importer and shutdown the local storage svn path=/trunk/; revision=9768
* New file, started by Ettore, finished by me, to implement theDan Winship2001-05-101-1/+18
| | | | | | | | | | | | | | | | | | * mail-offline-handler.c: New file, started by Ettore, finished by me, to implement the GNOME_Evolution_Offline interface. * Makefile.am (evolution_mail_SOURCES): Add mail-offline-handler.[ch] * mail-ops.c (mail_store_set_offline): Set a store online or offline. * mail-send-recv.c (auto_timeout): Don't run auto-check-for-mail while the session is offline. * component-factory.c (component_fn): Set up offline handler. svn path=/trunk/; revision=9739
* Importer changesIain Holmes2001-05-091-0/+2
| | | | svn path=/trunk/; revision=9722
* Updated for changes to PGP code.Jeffrey Stedfast2001-04-131-3/+0
| | | | | | | | | | | | | | | | | | | | | | | 2001-04-12 Jeffrey Stedfast <fejj@ximian.com> * mail-accounts.c (pgp_path_changed): Updated for changes to PGP code. * component-factory.c (owner_set_cb): Don't init openpgp anymore because we don't need it. * mail-crypto.c: Simply wrap the camel-pgp-mime functions (also renamed the functions to be prefixed with mail_crypto). * mail-format.c (handle_multipart_signed): Update to use camel_pgp_mime_is_rfc2015_signed() and other camel-pgp-mime functions. (handle_multipart_encrypted): Same but for rfc2015_encrypted. (decode_pgp): Updated to use camel-pgp-context (try_inline_pgp): Updated to use camel-pgp-context's. (try_inline_pgp_sig): Same. svn path=/trunk/; revision=9269
* Executive summary and Trash now have nice icons both in tree/folder title andGediminas Paulauskas2001-04-041-1/+1
| | | | | | | | | | | | shortcut bar. Converted and replaced icons for trash and summary: exec-16-summary.xpm => evolution-today-mini.png delete_mesage.xpm => evolution-trash-mini.png, Copied evolution-trash.png icons from mc (needs tweaking to match other evolution icons though) svn path=/trunk/; revision=9154
* Blessed by Ettore.Gediminas Paulauskas2001-04-021-1/+1
| | | | | | | | | | | | | | Guided by Jacub Stener's mail, where he explaned which icons were renamed or added, I added a bunch of new icons to menus, fixed renamed ones. Changed Trash and Executive summary folder type icons. Fixed art/Makefile.am for these changes. Also, pulled icon cache from mailer and moved it to e-util/e-gui-utils.h, made all components and dialogs use cache and not load pixmaps every time. Accidentally got a couple of includes fix in, but they won't break anything. svn path=/trunk/; revision=9092
* If the EvolutionShellComponent emits a "debug" signal, turn onDan Winship2001-03-311-0/+10
| | | | | | | * component-factory.c (debug_cb): If the EvolutionShellComponent emits a "debug" signal, turn on camel_verbose_debug. svn path=/trunk/; revision=9047
* Cleaned up #includes. Remove unneccesary includes of <gnome.h>,Kjartan Maraas2001-03-301-2/+3
| | | | | | | | | | | 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
* Set up the sent/drafts folder buttons. (folder_picker_clicked): Pop up theDan Winship2001-03-291-8/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * mail-account-gui.c (mail_account_gui_new): Set up the sent/drafts folder buttons. (folder_picker_clicked): Pop up the folder selector when sent or drafts is clicked. (mail_account_gui_save): Save the sent/drafts folders. * mail-config.c (account_copy): copy sent/drafts info (config_read): read sent/drafts info (mail_config_write): write sent/drafts info * mail-callbacks.c (composer_send_cb, composer_postpone_cb): split out some common code here (and fix inconsistencies). Always set headers on the message giving the account name, transport, and sent folder to use. * mail-ops.c (mail_send_message): If the message has an X-Evolution-Account header, use the transport/sent folder info for that account (assuming it still exists). Otherwise, if it has X-Evolution-Transport and/or X-Evolution-Fcc, use those. If not, use the default transport and sent folder. FIXME: Falls back silently to the default sent folder if it can't open the account-specific one... (send_queue_send): remove the X-Evolution-Transport, etc processing here, as it gets done by mail_send_message now. FIXME: We only sync the default sent folder. * component-factory.c (owner_set_cb): While setting up the standard folders, also record their URIs. svn path=/trunk/; revision=8991
* undo a boolean boobooDan Winship2001-03-271-1/+2
| | | | svn path=/trunk/; revision=8946
* Simplify a bit using camel_session_get_provider.Dan Winship2001-03-261-23/+30
| | | | | | | | | | * component-factory.c (mail_load_storages): Simplify a bit using camel_session_get_provider. * mail-callbacks.c (empty_trash): Ditto, and fix up use of CamelException. svn path=/trunk/; revision=8942
* Fix a bug in this that probably would have been noticed sooner if ETreeDan Winship2001-03-261-1/+1
| | | | | | | | * component-factory.c (unref_standard_folders): Fix a bug in this that probably would have been noticed sooner if ETree hadn't always made the mailer crash before you got here. :-) svn path=/trunk/; revision=8930
* Call unref_standard_folders() here instead.Jeffrey Stedfast2001-03-201-2/+2
| | | | | | | | | 2001-03-19 Jeffrey Stedfast <fejj@ximian.com> * component-factory.c (owner_unset_cb): Call unref_standard_folders() here instead. svn path=/trunk/; revision=8827
* unref the standard folders. (owner_set_cb): Use g_atexit() to callJeffrey Stedfast2001-03-191-0/+13
| | | | | | | | | | | | | 2001-03-18 Jeffrey Stedfast <fejj@ximian.com> * component-factory.c (unref_standard_folders): unref the standard folders. (owner_set_cb): Use g_atexit() to call unref_standard_folders() when evolution-mail exits. This should solve the problem where these folders are not synced when evolution-mail closes (because they still had refs on them on close). svn path=/trunk/; revision=8814
* All my changes to get the folder creation working, and the magic NetscapeIain Holmes2001-03-131-0/+3
| | | | | | importer. svn path=/trunk/; revision=8661
* Add "vtrash" as a folder type we support. (create_view): Kludgy-kludgeJeffrey Stedfast2001-03-091-3/+3
| | | | | | | | | | 2001-03-08 Jeffrey Stedfast <fejj@ximian.com> * component-factory.c: Add "vtrash" as a folder type we support. (create_view): Kludgy-kludge around the vtrash type. (owner_set_cb): Don't create the vTrash folder here anymore... svn path=/trunk/; revision=8603
* Added a ShellComponent method to retrieve the selection for drag andEttore Perazzoli2001-03-081-1/+2
| | | | | | drop and support for it in the shell. Untested. svn path=/trunk/; revision=8594
* Re-add the mail_vtrash_create() hack back in for LocalStores since there'sJeffrey Stedfast2001-02-271-0/+3
| | | | | | | | | | | | | | 2001-02-25 Jeffrey Stedfast <fejj@ximian.com> * component-factory.c (owner_set_cb): Re-add the mail_vtrash_create() hack back in for LocalStores since there's no better way to register a vTrash folder on the Local Storage yet. * mail-local.c (register_folder_registered): Add folders to the vTrash folder here since the LocalStore does not let the parent CamelStore class keep it's own hash of the folders. svn path=/trunk/; revision=8391
* No longer need to construct the vTrash here. (owner_set_cb): Don't makeJeffrey Stedfast2001-02-251-6/+0
| | | | | | | | | | | | | | 2001-02-24 Jeffrey Stedfast <fejj@ximian.com> * component-factory.c (mail_load_storages): No longer need to construct the vTrash here. (owner_set_cb): Don't make the vTrash for the local store here. * mail-ops.c (add_vtrash_info): New function to add a vTrash folder info to a pre-constructed CamelFolderInfo for use in the get_folder_info async function. svn path=/trunk/; revision=8381
* No longer need to do a vtrash_cleanup() (it also doesn't exist anymore).Jeffrey Stedfast2001-02-241-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | 2001-02-23 Jeffrey Stedfast <fejj@ximian.com> * main.c (main): No longer need to do a vtrash_cleanup() (it also doesn't exist anymore). * component-factory.c (mail_load_storages): Updated to use the new vtrash code. (owner_set_cb): Same. * mail-tools.c (mail_tool_uri_to_folder): Update to handle the "vtrash:" url prefix so that we can extract the REAL uri and know to get the trash folder. * mail-vtrash.c (mail_vtrash_add): Add the vTrash folder to the EvolutionStorage. (mail_vtrash_create): Get the store based on the uri (async) and then call mail_trash_add. (vtrash_cleanup): Removed. (vtrash_uri_to_folder): Removed. (vtrash_create): Replaced by mail_vtrash_create() svn path=/trunk/; revision=8367
* New stuff for the importer to create a new folderIain Holmes2001-02-231-2/+2
| | | | svn path=/trunk/; revision=8365
* Make op cancellable/report internals. (get_folder_get):Not Zed2001-02-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | 2001-02-23 Not Zed <NotZed@Ximian.com> * mail-ops.c (create_folder_get): Make op cancellable/report internals. (get_folder_get): (sync_folder_sync): (get_folderinfo_get): Make op cancellable/report internals. * mail-vtrash.c (get_trash_get): Setup the operation registration, and create a pseudo "start/stop" operation. * component-factory.c (owner_set_cb): Make trash creation async. * mail-local.c (register_folder_desc): A description of what we're doing. * mail-mt.c (mail_msg_new): Set status callback to operation_new. (mail_operation_status): Operation status function, proxy messages to main thread, and attempt to present a meaningful ui experience for operations. svn path=/trunk/; revision=8351
* Fix for api changes to append_mail.Not Zed2001-02-211-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-02-21 Not Zed <NotZed@Ximian.com> * mail-callbacks.c (composer_postpone_cb): Fix for api changes to append_mail. * Makefile.am (evolution_mail_SOURCES): Removed mail-threads.[ch]. * mail-threads.[ch]: Removed. * subscribe-dialog.c (subscribe_do_get_store): Chagned to use new thread stuff. This is really getting boring. (subscribe_do_subscribe_folder): Changed to use new thread stuff. Last one at last, phew. * session.c (register_callback): Changed to use new thread stuff. YUCK. I dropped some functionality, now the timeout callback return is ignored, so basically it keeps running till finished. * mail-ops.c (mail_operation_run): Removed, no longer used/needed. (mail_do_append_mail): Changed to use new thread stuff. (mail_do_transfer_messages): ditto. * mail-local.c (local_storage_new_folder_cb): Use new thread stuff, also only run synchronous for this operation. (mail_local_reconfigure_folder): (reconfigure_clicked): Changed to use new mail thread stuff. * mail-config.c (mail_config_check_service): Changed to use new thread stuff. svn path=/trunk/; revision=8314
* Create vTrash folders for all remote stores as well.Jeffrey Stedfast2001-02-201-0/+3
| | | | | | | | | 2001-02-19 Jeffrey Stedfast <fejj@ximian.com> * component-factory.c (mail_load_storages): Create vTrash folders for all remote stores as well. svn path=/trunk/; revision=8300
* New handy dandy function to ref and return the vfolder storage (willJeffrey Stedfast2001-02-201-4/+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
* Reverse the changes I made yesterday.Jeffrey Stedfast2001-02-171-1/+5
| | | | | | | | | 2001-02-16 Jeffrey Stedfast <fejj@ximian.com> * main.c: * component-factory.c: Reverse the changes I made yesterday. svn path=/trunk/; revision=8256
* Have the mail-config and openpgp initialize here instead.Jeffrey Stedfast2001-02-161-3/+0
| | | | | | | | | | | | 2001-02-15 Jeffrey Stedfast <fejj@ximian.com> * main.c (main): Have the mail-config and openpgp initialize here instead. * component-factory.c (owner_set_cb): No need to have mail-config and openpgp init here. svn path=/trunk/; revision=8250
* Use mail_storage_create_folderJeffrey Stedfast2001-02-161-11/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | 2001-02-15 Jeffrey Stedfast <fejj@ximian.com> * mail-ops.c (do_scan_subfolders): Use mail_storage_create_folder * mail-callbacks.c (mail_storage_create_folder): Convenience function so we can keep all the evolution_storage_add_new_folder() code in one place as much as possible. * subscribe-dialog.c (recursive_add_folder): Use 'name' rather than the no-description bs since that's what all the other places do. * mail-callbacks.c (folder_created): New callback to handle the "folder_created" signal - handles CamelFolderInfo's recursively. (folder_deleted): Same but for "folder_deleted". * component-factory.c (storage_create_folder): Instead of doing the evolution_storage_new_folder() stuff by hand, pass it off to the new callback: folder_created(). At some point this will be unecessary as we'll attach this callback to the "folder_created" signal. svn path=/trunk/; revision=8247
* Connect to the "create_folder" signal on the storage.Dan Winship2001-02-151-0/+54
| | | | | | | | * component-factory.c (add_storage): Connect to the "create_folder" signal on the storage. (storage_create_folder): Do folder creation. svn path=/trunk/; revision=8232
* Setup the Trash folder.Jeffrey Stedfast2001-02-151-10/+17
| | | | | | | | | | | | | | | | | | | 2001-02-14 Jeffrey Stedfast <fejj@ximian.com> * component-factory.c (owner_set_cb): Setup the Trash folder. * mail-ops.c (create_trash_vfolder): Do better error handling. (populate_folder_urls): Oops, helps to strdup the url into the array if we plan on freeing the data. (mail_get_trash): New async function that may eventually replace mail_do_setup_trash(). (do_setup_trash): Do better error handling. * mail-local.c (mail_local_store_class_init): Override get_folder_info. (get_folder_info): Implement. svn path=/trunk/; revision=8228
* only free driver, if set. (fetch_mail_fetched): Unref the driver here, soNot Zed2001-02-091-0/+3
| | | | | | | | | | | | | | | | | | | | 2001-02-09 Not Zed <NotZed@Ximian.com> * mail-ops.c (filter_folder_free): only free driver, if set. (fetch_mail_fetched): Unref the driver here, so it can cleanup before we call the 'done' callback. * component-factory.c (owner_set_cb): Add setup for mail autoreceive stuff. * mail-send-recv.c (free_info_data): Free the send info's from teh active hash, not the running list. (receive_done): As we finish downloads, remove them and clean them up, and also close the window. (mail_autoreceive_setup): New function to setup & maintain automatic download stuff. svn path=/trunk/; revision=8134
* (Fixing an old FIXME)Jason Leach2001-01-261-12/+2
| | | | | | | | | | | | 2001-01-26 Jason Leach <jasonleach@usa.net> (Fixing an old FIXME) * component-factory.c (create_vfolder_storage): removing create_vfolder_storage, replacing call to it with vfolder_create_storage. svn path=/trunk/; revision=7837
* Neater importer stuff.Iain Holmes2001-01-261-0/+4
| | | | svn path=/trunk/; revision=7828
* Function to add a store/storage mapping. (add_storage): Use it.Dan Winship2001-01-231-2/+8
| | | | | | | | | | | | | | | | | | | * component-factory.c (mail_hash_storage): Function to add a store/storage mapping. (add_storage): Use it. * mail-vfolder.c (vfolder_uri_to_folder): Use the vfolder name rather than the string "mbox" (which wasn't ever used for anything) in the vfolder URL. (Combined with the CamelVeeFolder change, this makes camel_folder_get_name() return a pretty name for vfolders now.) Call mail_hash_storage() to record the CamelVeeStore/vfolder_storage mapping. (Ideally, there'd only be a single CamelVeeStore... this is just a quick hack.) vfolders now display their unread count once you've looked at them once. svn path=/trunk/; revision=7712
* remove a warning with conditional news compilation.Not Zed2001-01-221-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-01-22 Not Zed <NotZed@Ximian.com> * component-factory.c (owner_set_cb): remove a warning with conditional news compilation. * mail-ops.h: Cleaned up the header list. * folder-browser-factory.c: Replace the old get_send mail with the new one (button). * mail-ops.c (set_x_mailer): (mail_load_evolution_rule_context): (mail_do_fetch_mail): (mail_do_filter_ondemand): (mail_send_mail_old): (mail_do_send_queue): All removed, (for) now lives in mail-send-recv.c. (load_context): (setup_filter_driver): (filter_get_folder): (mail_filter_folder): (mail_fetch_mail): (mail_update_subfolders): (mail_send_mail): (mail_send_queue): New equivalents of all these fundtions, moved from mail-send-recv.c ... (mail_filter_on_demand): Moved here too. (mail_load_filter_context): Export this. * mail-callbacks.c (apply_filters): Use the new mail_filter_on_demand() call. (send_receieve_mail): Use mail_send_receive to do the work. Add a little error handling here that used to be elsewhere. (send_queued_mail): Removed. (fetch_mail): Removed. (select_first_unread): #ifdef'd this out. Not sure if this still makes sense, but it doesn't get run right now anyway. (composer_postpone_cb): Fix the setting of message flags. You dont need to get them first, ever. * mail-send-recv.c (mail_send_message): Dont use mail_tool_send_via_transport anymore (it does nothing useful). * mail-tools.c (mail_tool_camel_lock_up): Turned into a noop. (mail_tool_camel_lock_down): And here too. (mail_tool_move_folder_contents): Removed from the code (hasn't bene used for ages). (mail_tool_send_via_transport): Removed, it doesn't save anything. svn path=/trunk/; revision=7702
* Initialize OpenPGP.Jeffrey Stedfast2001-01-221-1/+4
| | | | | | | | | | | | 2001-01-21 Jeffrey Stedfast <fejj@ximian.com> * component-factory.c (owner_set_cb): Initialize OpenPGP. * openpgp-utils.c (openpgp_init): No longer takes a passphrase callback, we'll just use the mail-session one. Makes life simpler. (pgp_get_passphrase): Use mail_session_request_dialog(). svn path=/trunk/; revision=7694
* only load the news storage if ENABLE_NNTP.Chris Toshok2001-01-171-0/+2
| | | | | | | | | | | | 2001-01-16 Chris Toshok <toshok@helixcode.com> * component-factory.c (owner_set_cb): only load the news storage if ENABLE_NNTP. * mail-accounts.c (construct): if !ENABLE_NNTP, remove the news page from the dialog. svn path=/trunk/; revision=7550
* Now takes a 'is_account_data' variable to specify whether the sources is aJeffrey Stedfast2001-01-131-29/+41
| | | | | | | | | | | | | | | 2001-01-12 Jeffrey Stedfast <fejj@ximian.com> * component-factory.c (mail_load_storages): Now takes a 'is_account_data' variable to specify whether the sources is a list of accounts of a list of services. Basically, the only time you should pass in FALSE is when you are setting up NNTP storages. (add_storage): Now takes a 'name' argument that specifies the name to use in the storage. (owner_set_cb): Updated to pass TRUE for accounts and FALSE for news servers into mail_load_storages. svn path=/trunk/; revision=7469
* Add an ::asyncCopyFolder method to the ShellComponent interface. MoveEttore Perazzoli2001-01-131-3/+7
| | | | | | all the message hiding options to the View menu. svn path=/trunk/; revision=7456
* Brand spankin' new config druid, editor, and manager.Jeffrey Stedfast2001-01-091-6/+9
| | | | | | | | | | | | | | | | | | | | | 2001-01-08 Jeffrey Stedfast <fejj@helixcode.com> * Makefile.am: * component-factory.c: * folder-browser-factory.c: * folder-browser.c: * mail-accounts.[c,h]: * mail-account-editor.[c,h]: * mail-callbacks.c: * mail-config.[c,h]: * mail-config-druid.[c,h]: * mail-config-druid.glade: * mail-display.c: * mail-format.c: * mail-tools.c: Brand spankin' new config druid, editor, and manager. svn path=/trunk/; revision=7313
* Reverted mail-config changes temporarily until I get it working correctly.Jeffrey Stedfast2001-01-091-9/+6
| | | | | | | | | | | | | | | | | 2001-01-08 Jeffrey Stedfast <fejj@helixcode.com> * Makefile.am: * component-factory.c: * folder-browser-factory.c: * folder-browser.c: * mail-callbacks.c: * mail-config.[c,h]: * mail-display.c: * mail-format.c: * mail-tools.c: Reverted mail-config changes temporarily until I get it working correctly. svn path=/trunk/; revision=7305
* Updated to reflect changes to the mail-config API. (create_msg_composer):Jeffrey Stedfast2001-01-081-6/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-01-07 Jeffrey Stedfast <fejj@helixcode.com> * mail-callbacks.c (check_send_configuration): Updated to reflect changes to the mail-config API. (create_msg_composer): Same. (forward_get_composer): Same. (send_queued_mail): Same. (composer_send_cb): Same. * mail-account-editor.c: Updated to build cleanly. * mail-config-druid.c: Same. * mail-accounts.c: Same. * folder-browser-factory.c (control_activate): Updated for API changes in mail-config. * folder-browser.c (done_message_selected): Updated for API changed in mail-config. (folder_browser_gui_init): Same. (got_folder): Same. * component-factory.c (owner_set_cb): After using the sources list, free it as it is no longer a const GSList as with the older mail-config code. * mail-config.c: Totally rewritten. svn path=/trunk/; revision=7294
* Removed old implementation.Not Zed2001-01-041-4/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-01-04 Not Zed <NotZed@HelixCode.com> * mail-ops.c (mail_do_send_mail): Removed old implementation. * folder-browser.c (do_message_selected): If we haven't got a real uid, then clear the display instead. * message-list.c (message_list_drag_data_get): Use new save message function, and also wait for it to finish before continuing. (folder_changed): (message_changed): Use mail_proxy_event instead of mail_do_forward. (mail_regen_list): New iplementation to replace the old. : remove <gnome.h> from headers. Dont define timeit by default. (main_folder_changed): (message_list_set_folder): (message_list_set_threaded): (message_list_set_search): (message_list_hide_add): (message_list_hide_uids): (message_list_hide_clear): Use mail_regen_list instead of mail_do_regenerate_messagelist. (mail_do_regenerate_messagelist): Removed the old stuff. No functionality changed yet, just using different thread stuff. * mail-callbacks.c (save_msg_ok): Use new save message function. * component-factory.c (create_view): (add_storage): Use mail_scan_subfolders to build the folder info. (create_folder): Use new implementation with our own callback. (owner_set_cb): Changed b ack to use mail_get_folder, but now wait for it to finish. This will let any gui still run, but also gives us the required synchronous operation. (got_folder): Callback for when the folder has been opened. * mail-ops.c (mail_get_folderinfo): New function to just get the folder info in another thread. (mail_scan_subfolders): New scan subfolder implementation that uses mail_get_folderinfo. (mail_do_scan_subfolders): Removed old implementation. (mail_create_folder): Nerw implementation to create a folder, only. (mail_do_create_folder): Removed old implementation. (mail_save_messages): New implementation, fixes a couple of minor problems, and now provides a return so it can be waited on. Also check that the writes worked, etc. (mail_do_save_messages): Remove previous implementation. (mail_do_flag_messages): Removed, nothing uses it. (mail_do_flag_messages): Removed, nothing uses it anymore. (mail_get_folder): REturn the operation id, so callers can wait for it. (sync_folder_desc): (expunge_folder_desc): Add describe functions so we know what its doing. (mail_send_mail): More generic implementation of sending mail. * mail-mt.c (mail_msg_new): Lock around seq increment. And insert each new message into a hash table of active messages. (mail_msg_init): Init the active message table. (mail_msg_free): Remove the message from the active message table. (mail_msg_wait): New function, waits for a message to be processed, by id. (mail_msg_check_error): Dont display the error if it is a user-cancelled operation. (mail_proxy_event): new implementation of mail_op_forward_event. Only real difference is it uses the new thread stuff, and you can wait for it to finish if you want. (mail_proxy_event): If we're already in the main thread, just call the function. svn path=/trunk/; revision=7246
* Fix for mail_get_message change, use queue thread.Not Zed2001-01-031-5/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-01-02 Not Zed <NotZed@HelixCode.com> * mail-callbacks.c (view_msg): Fix for mail_get_message change, use queue thread. * folder-browser.c (done_message_selected): Fix mail_Get_message calls, use new thread. (do_message_selected): " * mail-ops.c (mail_get_message): Add a thread argument so callers can specify which queue it executes on. * mail-mt.c (mail_msg_free): Fix a free order problem. (mail_msg_destroy): Call mail_msg_free to do the work. (mail_msgport_replied): " (mail_msgport_replied): Check/display errors if we get them. (mail_msgport_received): If we have a describe function, say what we're doing, also set busy/unbusy. (mail_msgport_replied): Clear busy when we get a reply. (mail_get_password): Unset busy. (mail_msg_received): Set busy as we go. (mail_msg_destroy): Unset busy when done. (mail_status): Blah blah, new status interface, the other wans't workable with the way the shell api works. 2000-12-29 Not Zed <NotZed@HelixCode.com> * folder-browser.c (do_message_selected): If we are reconfiguring, just keep polling till we are done (yeah kinda shitty, but easy). (folder_browser_set_uri): Clear reconfigure flag here. ick. (got_folder): And here too. (on_right_click): Remove locking. (hide_sender): and here too. (hide_subject): And here. (on_right_click): If we are in reconfigure, then the whole menu is disabled. * mail-mt.c (status_busy_timeout): Clear the status_busy_timeout_id. * mail-local.c (local_storage_new_folder_cb): Made getting folders completely synchronous. The shell expects it, and it was only synchronous before by a sideeffect. (do_reconfigure_folder): Remove locking stuff. (do_reconfigure_folder): Use our own much simpler copying routine than that stupid move_folder_contents thing. (update_progress): Use mail_status_message() instead. (do_reconfigure_folder): Set the reconfigure flag during reconfigure & set busy flag. (cleanup_reconfigure_folder): clear busy flag. * mail-tools.c (mail_tool_uri_to_folder): Remove the tool_lock stuff. (mail_tool_uri_to_folder_noex): Clear exception on exit. (mail_tool_move_folder_contents): Get rid of this really stupid function that is only used in one place. * component-factory.c (owner_set_cb): Use direct calls to get the folders, as this code must run synchronous. Remove the event wait stuff. * mail-callbacks.c (edit_msg): Call mail_get_messages, and create the composers ourself. (do_edit_messages): get_messages callback, create the composers and connect to signals we need. (view_msg): Dont call do_view_messages, just call mail_get_messge for each to get them in parallel. (do_view_message): view a single message. * mail-ops.c (mail_edit_messages): Just use mail_get_messages for this operation. Removed the other async operation stuff. Changed my mind, just removed entirely. (mail_do_view_messages): Removed. (mail_do_setup_folder): Removed. (mail_do_scan_subfolders): Make this run synchronously, as every caller expects it to (even if they didn't realise). 2000-12-28 Not Zed <NotZed@HelixCode.com> * mail-callbacks.c (send_queued_mail): Dont expunge the folder here, but in send_queue, otherwise it might execute out of order. (expunge_folder): Remove the talbe prechange stuff, and infact references to the message_list folder, as we have our own folder. Also, dont allow expunge if we're already expunging. (expunged_folder): Clkear the expunging flag if we're finished. * folder-browser-factory.c (control_deactivate): Likewise here. Hrm, i thought this function required a callback, silly me. * mail-tools.c (mail_tool_make_message_attachment): Remov e locking. * folder-browser.c (on_message_selected): Use a timeout handler so we dont select immediately. (folder_browser_set_uri): Changed to use mail_get_folder. (got_folder): New callback called when get_folder is finished. (folder_browser_destroy): Use new sync interface. * mail-ops.c (mail_get_message): New function to asynchrounously get a message. : #define out mail_tool_camel_lock stuff entirely. (mail_get_folder): New function to asynchrounously get a folder. (mail_do_load_folder): Removed, replaced by more generic function above. (mail_do_display_message): Removed, replaced by the more generic funciton get_message. (mail_get_messages): New function to get a list of messages asynchronously. (mail_sync_folder): New interface to sync a folder async. (mail_expunge_folder): New interface for expunging folder, with callback. (do_send_queue): Remove lock stuff, and expunge if (and only if) successful, also sync the sent folder while we're at it. * session.c (mail_session_request_dialog): Changed to use new mail_get_password call. * mail-mt.[ch]: New threading/interthread messaging framework. * main.c (main): Init the message/thread system. svn path=/trunk/; revision=7223
* Detect created and deleted vfolders.Iain Holmes2000-12-221-0/+2
| | | | svn path=/trunk/; revision=7126
* Added a cast.Christopher James Lahey2000-12-131-1/+1
| | | | | | | | | | | | | | | | | 2000-12-12 Christopher James Lahey <clahey@helixcode.com> * component-factory.c (create_view): Added a cast. * mail-summary.c: Added #include "mail-summary.h". Commented out folder_free, summary_free, and view_destroy_cb since they're not used. (do_changed): Added a cast. (create_summary_view): Changed some types so that casting would be easier. * session.c (mail_session_remember_password): Added a cast. svn path=/trunk/; revision=6956
* New function to tell the code that it's ok (or not) to interact with theDan Winship2000-12-121-0/+2
| | | | | | | | | | | | | | | * session.c (mail_session_enable_interaction): New function to tell the code that it's ok (or not) to interact with the user when trying to authenticate to a service. Starts out turned off. (mail_session_request_dialog): If interaction is disabled, fail if the password isn't in the cache. * component-factory.c (owner_set_cb): Call mail_session_enable_interaction() after everything else. (This means that the IMAP password dialog will no longer pop up [under the splash screen] at startup.) svn path=/trunk/; revision=6924
* Deal with "mailstorage" type views (top-level mail storages) by trying toDan Winship2000-12-121-6/+28
| | | | | | | | | | | | | * component-factory.c (create_view): Deal with "mailstorage" type views (top-level mail storages) by trying to fill the storage's folder tree again if we failed before. (add_storage): Create new storages with a URI and type "mailstorage". * mail-ops.c (cleanup_scan_subfolders): On success, mark the storage as having been loaded, so create_view won't try again. svn path=/trunk/; revision=6923
* Complete the code to associate a URI and a folder type to the toplevelEttore Perazzoli2000-12-091-1/+1
| | | | | | | node in a storage. It sucks a bit and needs a little more refactoring. svn path=/trunk/; revision=6878
* Fix up shutdown so that things that should be destroyed getDan Winship2000-12-071-76/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | destroyed. Among other things, this fixes the bug where IMAP stores weren't disconnected at shutdown. * mail-threads.c (update_active_views): Update for folder_browser_factory_get_control_list change to EList. * folder-browser-factory.c: Turn control_list into an EList so that we can safely remove items from it while it's being iterated (which will happen as FolderBrowsers are destroyed at shutdown while the thread code is trying to update the status bars). (control_destroy_cb): Just destroy the folder_browser. (browser_destroy_cb): New callback for FolderBrowser destroy. Remove the control from control_list here instead of control_destroy_cb, because the controls don't seem to get destroyed reliably... * component-factory.c: Clean up stuff. (factory_destroy): Get rid of this. (owner_unset_cb): Schedule an idle handler to quit. (idle_quit): Wait for all of the FolderBrowsers to be destroyed and then destroy the storages and quit. svn path=/trunk/; revision=6830