aboutsummaryrefslogtreecommitdiffstats
path: root/mail/mail-mt.c
Commit message (Collapse)AuthorAgeFilesLines
* Get the mail folder tree compiling, though I'm not yet sure why it's notMatthew Barnes2008-10-171-35/+40
| | | | | | showing anything. Probably something stupid. Also enabled the composer. svn path=/branches/kill-bonobo/; revision=36623
* Merge revisions 36016:36533 from trunk.Matthew Barnes2008-10-021-8/+7
| | | | svn path=/branches/kill-bonobo/; revision=36534
* Merge revisions 35951:35992 from trunk.Matthew Barnes2008-08-151-6/+1
| | | | svn path=/branches/kill-bonobo/; revision=35994
* Convert the the warning to a message.Srinivasa Ragavan2008-05-231-1/+1
| | | | | | | | | 2008-05-23 Srinivasa Ragavan <sragavan@novell.com> * mail-mt.c: (mail_msg_check_error): Convert the the warning to a message. svn path=/trunk/; revision=35531
* ** Most of the errors are now non-intrusiveSrinivasa Ragavan2008-01-101-2/+1
| | | | | | | | | | | | | | | | | | | | | | | 2008-01-10 Srinivasa Ragavan <sragavan@novell.com> ** Most of the errors are now non-intrusive * em-folder-utils.c: (emfu_copy_folder_selected), (emfu_delete_response), (em_folder_utils_delete_folder): * em-folder-view.c: (emfv_delete_msg_response): * em-utils.c: (em_utils_edit_filters), (em_utils_save_part_to_file), (em_utils_temp_save_part), (error_response), (em_utils_show_error_silent), (em_utils_show_info_silent): * em-utils.h: * mail-autofilter.c: (mail_filter_delete_uri): * mail-component.c: (mail_component_show_logger): * mail-mt.c: (mail_msg_free): * mail-session.c: (do_user_message): * mail-vfolder.c: (mail_vfolder_delete_uri), (vfolder_edit_rule): svn path=/trunk/; revision=34787
* ** Fixes bug #362638Matthew Barnes2007-12-211-362/+332
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2007-12-20 Matthew Barnes <mbarnes@redhat.com> ** Fixes bug #362638 * calendar/gui/alarm-notify/alarm-notify.c: * calendar/gui/alarm-notify/alarm-notify.h: * calendar/gui/alarm-notify/alarm-queue.c: Rewrite message passing to use GThreadPool instead of EThread. * mail/mail-mt.h: Overhaul the message passing API: - Define a MailMsg type as the base message struct. - Define types for the various callback functions. - Add a priority value to each message (not yet used). - Add a reference count to each message. - Define a MailMsgInfo type for the virtual function table. - Record the size of message sub-types in MailMsgInfo. - New/changed functions: mail_msg_new() - Easier to use. mail_msg_ref() - Increase reference count. mail_msg_unref() - Decrease reference count. mail_msg_main_loop_push() } mail_msg_unordered_push() } Submit MailMsgs to various mail_msg_fast_ordered_push() } message-processing threads. mail_msg_slow_ordered_push() } * mail/mail-mt.c (mail_msg_new): Use GSlice for memory allocation. * mail/mail-mt.c (mail_msg_ref), (mail_msg_unref): New functions increment/decrement a MailMsg's reference count. * mail/mail-mt.c (mail_cancel_hood_add), (mail_cancel_hook_remove): Convert the 'cancel_hook_list' from an EDList to a GHookList and modify the API accordingly. * mail/mail-mt.c: Use GThreadPools instead of EThreads. Use GAsyncQueues instead of EMsgPorts. * mail/em-composer-utils.c: * mail/em-folder-browser.c: * mail/em-folder-properties.c: * mail/em-folder-tree.c: * mail/em-folder-utils.c: * mail/em-folder-view.c: * mail/em-format-html-print.c: * mail/em-format-html.c: * mail/em-subscribe-editor.c: * mail/em-sync-stream.c: * mail/importers/elm-importer.c: * mail/importers/mail-importer.c: * mail/importers/pine-importer.c: * mail/mail-component.c: * mail/mail-folder-cache.c: * mail/mail-mt.c: * mail/mail-ops.c: * mail/mail-ops.h: * mail/mail-send-recv.c: * mail/mail-session.c: * mail/mail-vfolder.c: * mail/message-list.c: * plugins/folder-unsubscribe/folder-unsubscribe.c: * plugins/groupwise-features/share-folder-common.c: * plugins/exchange-operations/exchange-folder.c: * plugins/mark-all-read/mark-all-read.c: * plugins/mailing-list-actions/mailing-list-actions.c: * plugins/itip-formatter/itip-formatter.c: * plugins/save-attachments/save-attachments.c: Use the new MailMsg API for messages. svn path=/trunk/; revision=34730
* Fix another compiler warning.Matthew Barnes2007-12-191-7/+1
| | | | | | | | | 2007-12-18 Matthew Barnes <mbarnes@redhat.com> * mail/mail-mt.c (do_op_status): Fix another compiler warning. svn path=/trunk/; revision=34728
* Fix some compiler warnings.Srinivasa Ragavan2007-12-171-2/+2
| | | | | | | | 2007-12-17 Srinivasa Ragavan <sragavan@novell.com> * mail-mt.c: (mail_msg_free), (mail_msg_check_error): Fix some compiler warnings. svn path=/trunk/; revision=34716
* ** Non-intrusive errror reporting and basic logging support.Srinivasa Ragavan2007-12-171-7/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2007-12-17 Srinivasa Ragavan <sragavan@novell.com> ** Non-intrusive errror reporting and basic logging support. * em-folder-browser.c: (emfb_help_debug): Invoke the debug menu. * evolution-mail.schemas.in: Schema for error timeout and level. * mail-component.c: (mail_component_init), (render_pixbuf), (render_level), (render_date), (append_logs), (spin_value_changed), (mail_component_show_logger): Handle the lifecycle of the logger. * mail-component.h: Api to show the logger. * mail-config.c: (gconf_error_time_changed), (gconf_error_level_changed), (mail_config_init), (mail_config_get_error_timeout), (mail_config_get_error_level): Load and get the error time and level. * mail-config.h: * mail-mt.c: (mail_msg_set_cancelable), (mail_msg_new), (end_event_callback), (mail_msg_free), (mail_msg_check_error), (operation_cancel), (do_op_status): Revamp the error handling. * mail-mt.h: * mail-ops.c: (send_queue_send), (mail_send_queue): Handle the send/receive case of error reporting separately. * mail-send-recv.c: (free_send_info), (mail_send): 2007-12-17 Srinivasa Ragavan <sragavan@novell.com> ** Revamped Activity handler and task bar/widget for non-intrusive error reporting * e-activity-handler.c: (activity_info_new), (activity_info_free), (task_widget_new_from_activity_info), (setup_task_bar), (e_activity_handler_init), (e_activity_handler_set_error_flush_time), (e_activity_handler_set_logger), (cancel_wrapper), (e_activity_handler_cancelable_operation_started), (e_activity_handler_operation_started), (handle_error), (error_cleanup), (e_activity_handler_make_error), (e_activity_handler_operation_set_error), (e_activity_handler_operation_progressing), (e_activity_handler_operation_finished): * e-activity-handler.h: * e-task-bar.c: (e_task_bar_prepend_task), (e_task_bar_remove_task_from_id), (e_task_bar_remove_task), (e_task_bar_get_task_widget_from_id): * e-task-bar.h: * e-task-widget.c: (e_task_widget_init), (button_press_event_cb), (prepare_popup), (e_task_widget_construct), (e_task_widget_new_with_cancel), (e_task_widget_new), (e_task_widget_update_image): * e-task-widget.h: 2007-12-17 Srinivasa Ragavan <sragavan@novell.com> * Makefile.am: Add e-logger.[ch] to compilation * e-error.c: (e_error_newv): Add primary/secondary text to the error dialog to the gobject as data. * e-logger.[ch]: A new logger provision Evolution. 2007-12-17 Srinivasa Ragavan <sragavan@novell.com> * evolution-mail-global.xml: Add Debug Log menu item for mailer. * evolution.xml: Add place holder for Debug menu item. svn path=/trunk/; revision=34712
* ** Remove trailing whitespace from source code.Matthew Barnes2007-11-151-26/+26
| | | | | | | | | 2007-11-14 Matthew Barnes <mbarnes@redhat.com> ** Remove trailing whitespace from source code. svn path=/trunk/; revision=34537
* Warning fixes: - NULL vs. 0 vs FALSE - ANSIfication of functionKjartan Maraas2007-10-291-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2007-10-26 Kjartan Maraas <kmaraas@gnome.org> * e-searching-tokenizer.c: (build_trie), (searcher_new), (output_token), (output_match), (merge_subpending), (searcher_next_token): * em-account-editor.c: (em_account_editor_new), (emae_load_text), (emae_check_license), (emae_auto_detect), (smime_sign_key_select), (smime_encrypt_key_select), (emae_service_url_path_changed), (emae_ssl_changed), (emae_service_provider_changed), (emae_refresh_providers), (emae_refresh_authtype), (emae_setup_service), (emae_identity_page): * em-composer-utils.c: (em_utils_send_receipt), (generate_account_hash), (em_utils_camel_address_to_destination), (reply_get_composer): * em-config.c: (em_config_new): * em-event.c: (em_event_peek): * em-filter-rule.c: (get_widget): * em-folder-browser.c: (generate_viewoption_menu), (em_folder_browser_show_preview), (get_view_query), (vfolder_setup_do), (emfb_search_search_activated), (emfb_list_key_press), (emfb_list_built): * em-folder-view.c: (em_folder_view_new), (emfv_setup_view_instance), (emfv_popup_forward), (emp_uri_popup_vfolder_sender), (emp_uri_popup_vfolder_recipient), (emfv_enable_menus): * em-format-hook.c: * em-format-html-display.c: (efhd_attachment_optional): * em-format-html.c: (em_format_html_new), (em_format_html_add_pobject), (em_format_html_find_pobject), (em_format_html_find_pobject_func), (efh_text_enriched), (efh_multipart_related), (efh_format_address), (efh_format_header): * em-icon-stream.h: * em-inline-filter.c: (emif_add_part), (emif_scan): * em-junk-hook.c: (emjh_construct_group): * em-mailer-prefs.c: (junk_plugin_setup): * em-menu.c: (em_menu_new), (em_menu_target_new_select): * em-message-browser.c: (em_message_browser_new): * em-popup.c: (em_popup_new), (em_popup_target_new_select): * em-sync-stream.c: * em-utils.c: (em_utils_save_part_to_file), (tag_editor_response), (em_utils_read_messages_from_stream), (em_utils_get_proxy_uri), (em_utils_in_addressbook): * em-vfolder-rule.c: (validate): * importers/elm-importer.c: * importers/mail-importer.c: (import_mbox_import), (import_folders_rec): * importers/pine-importer.c: * mail-component.c: (setline_done): * mail-folder-cache.c: (flush_updates): * mail-mt.c: (mail_msg_new), (checkmem), (mail_msg_check_error), (mail_msg_cancel), (mail_msg_wait), (mail_msg_init), (do_op_status): * mail-send-recv.c: (receive_status), (receive_done), (refresh_folders_get): * mail-vfolder.c: (mail_vfolder_get_sources_local), (mail_vfolder_get_sources_remote), (context_rule_added), (store_folder_renamed): * message-list.c: (e_mail_address_new), (e_mail_address_compare), (get_normalised_string), (ml_search_forward), (ml_search_backward), (ml_search_path), (message_list_select_uid), (thread_select_foreach), (message_list_copy), (ml_duplicate_value), (ml_free_value), (ml_initialize_value), (ml_value_is_empty), (ml_value_to_string), (subtree_latest), (sanitize_recipients), (ml_tree_value_at), (ml_tree_sort_value_at), (message_list_init_images), (filter_date), (build_tree), (build_flat_diff), (regen_list_regen): Warning fixes: - NULL vs. 0 vs FALSE - ANSIfication of function declarations - Remove unused bits - use unsigned ints for 1-bit bitfields - invalid pointer type - mark a global var static - mixing code and declarations svn path=/trunk/; revision=34449
* ** Fix for bug #271734Milan Crha2007-10-231-2/+11
| | | | | | | | | | | | | 2007-10-23 Milan Crha <mcrha@redhat.com> ** Fix for bug #271734 * mail-mt.c: (do_op_status): Show description of operation, if available, instead of empty string and end activity properly, if operation ended before/during activity start. svn path=/trunk/; revision=34411
* ** Fixes bug #477045Matthew Barnes2007-09-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2007-09-27 Matthew Barnes <mbarnes@redhat.com> ** Fixes bug #477045 * addressbook/gui/component/addressbook-component.c: * addressbook/gui/component/addressbook-view.c: * addressbook/gui/contact-editor/e-contact-editor-address.c: * addressbook/gui/contact-editor/e-contact-editor-fullname.c: * addressbook/gui/contact-editor/e-contact-editor-im.c: * addressbook/gui/widgets/e-addressbook-view.c: * addressbook/gui/widgets/eab-contact-display.c: * calendar/gui/calendar-commands.c: * calendar/gui/calendar-component.c: * calendar/gui/dialogs/cal-attachment-select-file.c: * calendar/gui/dialogs/comp-editor.c: * calendar/gui/dialogs/event-editor.c: * calendar/gui/dialogs/task-editor.c: * calendar/gui/e-cal-popup.c: * calendar/gui/e-calendar-table.c: * calendar/gui/e-calendar-view.c: * calendar/gui/e-day-view.c: * calendar/gui/e-memo-table.c: * calendar/gui/e-week-view.c: * calendar/gui/memos-component.c: * calendar/gui/memos-control.c: * calendar/gui/tasks-component.c: * calendar/gui/tasks-control.c: * composer/e-msg-composer-select-file.c: * composer/e-msg-composer.c: * mail/em-folder-tree.c: * mail/em-folder-view.c: * mail/em-popup.c: * mail/mail-component.c: * mail/mail-mt.c: * mail/mail-send-recv.c: * mail/message-list.c: * plugins/exchange-folder-permission.c: * plugins/exchange-folder.c: * plugins/groupwise-features/share-folder-common.c: * shell/e-shell-window-commands.c: * ui/evolution-addressbook.xml: * ui/evolution-calendar.xml: * ui/evolution-composer-entries.xml: * ui/evolution-editor.xml: * ui/evolution-event-editor.xml: * ui/evolution-mail-list.xml: * ui/evolution-mail-message.xml: * ui/evolution-memos.xml: * ui/evolution-message-composer.xml: * ui/evolution-subscribe.xml: * ui/evolution-task-editor.xml: * ui/evolution-tasks.xml: * ui/evolution.xml: Use standard icon names where applicable. svn path=/trunk/; revision=34322
* Update FSF address in header comments (#469886). Patch from TobiasMatthew Barnes2007-09-021-2/+2
| | | | | | | | | | 2007-09-02 Matthew Barnes <mbarnes@redhat.com> * Update FSF address in header comments (#469886). Patch from Tobias Mueller. svn path=/trunk/; revision=34151
* ** Move away from g_assert to g_return* calls Srinivasa Ragavan2007-08-311-1/+1
| | | | svn path=/trunk/; revision=34143
* ** Fixes bug #419524Matthew Barnes2007-03-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | 2007-03-20 Matthew Barnes <mbarnes@redhat.com> ** Fixes bug #419524 * Include <glib/gi18n.h> instead of <libgnome/gnome-i18n.h>. * e-util/e-xml-utils.c (e_xml_get_child_by_name_by_lang_list): * mail/em-migrate.c (emm_setup_initial): * shell/e-component-registry.c (query_components): * shell/e-shell-settings-dialog.c (load_pages): * shell/e-shell-window-commands.c (command_quick_reference): * tools/killev.c (main): Use g_get_language_names() instead of gnome_i18n_get_language_list(). * e-util/e-util.c: Remove e_gettext(). * e-util/Makefile.am: Remove e-i18n.h. svn path=/trunk/; revision=33319
* List the function mail_win32_get_mail_thread_queued() instead of theTor Lillqvist2006-10-161-0/+12
| | | | | | | | | | | | | | | | | | 2006-10-16 Tor Lillqvist <tml@novell.com> * win32/libevolution-mail.def: List the function mail_win32_get_mail_thread_queued() instead of the variable mail_thread_queued. (#348212) * mail-mt.h: On Win32 we don't want to use the mail_thread_queued variable outside the libevolution-mail DLL, but instead access its value through a getter function. * mail-mt.c: Make mail_thread_queued static on Win32. (mail_win32_get_mail_thread_queued): New function that returns the value of mail_thread_queued. svn path=/trunk/; revision=32898
* Fix the cryptic hexa-status-bar-message. The problem still lies somewhere.Sankar P2006-04-211-2/+2
| | | | | | | | | | | 2006-04-21 Sankar P <psankar@novell.com> * mail-mt.c: (do_op_status): Fix the cryptic hexa-status-bar-message. The problem still lies somewhere. But dont show something weird to the user. svn path=/trunk/; revision=31849
* need to show the stauts messageParthasarathi Susarla2006-02-151-2/+2
| | | | | | | | | 2006-02-15 Parthasarathi Susarla <sparthasarathi@novell.com> * mail-mt.c: (do_op_status): need to show the stauts message svn path=/trunk/; revision=31530
* uncommenting a string. Fixes bug 271734.Andre Klapper2006-02-131-1/+2
| | | | | | | 2006-02-13 Andre Klapper <a9016009@gmx.de> * mail-mt.c: uncommenting a string. Fixes bug 271734. svn path=/trunk/; revision=31505
* s/int/guint/g for 1-bit bitfield. Remove cruft use guint for 1-bitKjartan Maraas2006-02-081-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2006-01-09 Kjartan Maraas <kmaraas@gnome.org> * em-account-editor.h: s/int/guint/g for 1-bit bitfield. * em-composer-utils.c: (em_utils_redirect_message): Remove cruft * em-folder-tree.c: (emft_drop_target): use guint for 1-bit bitfield and rename a variable with a name clash. * em-folder-utils.c: (em_folder_utils_rename_folder): Rename var to avoid name clashes. * em-folder-view.c: guint for 1-bit bitfields. * em-folder-view.h: Same as above. * em-format-html-print.h: Again. * em-format-html.c: (efh_text_html), (efh_multipart_related): Add comments * em-format.c: (emf_multipart_alternative): Add comment about using var that is passed in rather than a local variable. * em-inline-filter.c: (emif_scan): Remove unused var. Mark code static. * em-mailer-prefs.h: guint for 1-bit bitfields. * em-migrate.c: (em_migrate_folder): mark a struct static. remove unused var * em-subscribe-editor.c: guint for 1-bit bitfield * em-utils.c: remove unused function * em-vfolder-rule.c: mark array static * importers/mail-importer.c: (decode_status): Remove unused code. Use guint for 1-bit bitfield. * mail-autofilter.c: (rule_from_message): rename a variable * mail-component.c: guint for 1-bit bitfield * mail-folder-cache.c: (update_1folder): remove unused code * mail-mt.c: mark some structs static * message-list.c: (message_list_select_uid), (ml_value_to_string), (ml_tree_value_at), (find_next_undeleted), (build_tree), (build_flat): Remove unused code and fix some format specifiers. svn path=/trunk/; revision=31448
* Use e_util_mkdir_hier() instead of e_mkdir_hier().Simon Zheng2006-01-101-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2006-01-10 Simon Zheng <simon.zheng@sun.com> * em-composer-utils.c: * em-folder-tree-model.c: (em_folder_tree_model_save_state): * em-format-html.c: * em-migrate.c: (cp_r), (em_migrate_folder), (em_migrate_pop_uid_caches_1_4), (em_migrate_folder_expand_state_1_4), (em_migrate_folder_view_settings_1_4), (em_migrate_imap_cmeta_1_4), (em_migrate_1_4), (emm_setup_initial), (em_migrate): * em-popup.c: * em-utils.c: (em_utils_save_part_to_file): * mail-component.c: (mail_component_init): * mail-config.c: * mail-folder-cache.c: * mail-mt.c: * mail-ops.c: * mail-tools.c: (mail_tool_get_local_movemail_path): Use e_util_mkdir_hier() instead of e_mkdir_hier(). Use e_util_strstrcase() instead of e_strstrcasea(). use e_strftime() in evolution-data-server/ libedataserver/e-data-server-util.c instead of the copy in evolution/e-util/e-util.c. use e_filename_make_safe() in evolution-data-server/ libedataserver/e-data-server-util.c instead of the copy in evolution/e-util/e-util.c. use e_utf8_strftime() in evolution-data-server/ libedataserver/e-data-server-util.c instead of the copy in evolution/e-util/e-util.c. svn path=/trunk/; revision=31118
* Add copyright blurb. Include just <gtk/gtk.h> and not a handful ofTor Lillqvist2005-12-181-27/+47
| | | | | | | | | | | | | | | | | | 2005-12-13 Tor Lillqvist <tml@novell.com> * mail-mt.c: Add copyright blurb. Include just <gtk/gtk.h> and not a handful of individual gtk headers. Harmonize #include order and syntax. Use pthread_equal() to compare pthread_t values. Use separate flag field to indicate whether a pthread_t field is valid or not. Use e_util_pthread_id() in debugging output. (em_channel_setup): Call g_io_channel_win32_new_socket() on Win32 instead of g_io_channel_unix_new(). This avoids the occasional "giowin32.c:1661: 12 is both a file descriptor and a socket, file descriptor interpretation assumed." style warnings, which indicate a real problem in this case. svn path=/trunk/; revision=30835
* fixed a typo: s/occured/occurred/gJens Seidel2005-08-221-1/+1
| | | | svn path=/trunk/; revision=30180
* Added widgets in INCLUDES.Kaushal Kumar2005-06-231-1/+1
| | | | | | | | | | | | 2005-06-23 Kaushal Kumar <kakumar@novell.com> * e-util/Makefile.am, widgets/e-timezone-dialog/Makefile.am, addressbook/gui/search/Makefile.am, plugins/groupwise-features/Makefile.am: Added widgets in INCLUDES. Updated the include paths to use misc instead of widgets/misc. svn path=/trunk/; revision=29574
* Retired GAL from Head. The relevant files have moved inside evolution.Kaushal Kumar2005-06-171-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2005-06-17 Kaushal Kumar <kakumar@novell.com> * Retired GAL from Head. The relevant files have moved inside evolution. Thanks to JP Rosevear for performing the cvs surgery. The files have been moved in the following order. evolution/e-util <- gal/gal/util evolution/a11y <- gal/gal/a11y evolution/a11y/e-table <- gal/gal/a11y/e-table evolution/a11y/e-text <- gal/gal/a11y/e-text evolution/widgets/table <- gal/gal/e-table evolution/widgets/text <- gal/gal/e-text evolution/widgets/misc <- gal/gal/widgets evolution/widgets/misc/pixmaps <- gal/gal/widgets/pixmaps evolution/widgets/menus <- gal/gal/menus Following is the summary of changes done to fix the build:- - New files added to cvs repository, - a11y/e-table/Makefile.am - a11y/e-text/Makefile.am - widgets/table/Makefile.am - widgets/text/Makefile.am - widgets/misc/pixmaps/Makefile.am - iconv-detect.h - iconv-detect.c - Updated configure.in. - Updated all the relevant Makefile.am files. - Updated the include paths to replace all gal references. - Updated the marshal list to suit gal files requirements. svn path=/trunk/; revision=29522
* move e-error into e-util/Not Zed2005-05-161-1/+1
| | | | | | | | 2005-05-16 Not Zed <NotZed@Ximian.com> * move e-error into e-util/ svn path=/trunk/; revision=29366
* Added a description function for copying folders (so we don't get aJeffrey Stedfast2005-01-211-2/+1
| | | | | | | | | | | | | 2005-01-20 Jeffrey Stedfast <fejj@novell.com> * em-folder-tree.c (emft_copy_folders__desc): Added a description function for copying folders (so we don't get a "Working 0x..." status message). * mail-mt.c (do_op_status): Always g_free(what) since we always strdup it. svn path=/trunk/; revision=28467
* Moved various things from e-util to libedataserver.Not Zed2004-12-031-1/+1
| | | | | | | | | | | | | | | | | | | | | 2004-11-15 Not Zed <NotZed@Ximian.com> * *.c: Moved various things from e-util to libedataserver. * GNOME_Evolution_Mail.server.in.in: remove the startup wizard stuff. * mail-config-druid.[ch]: * mail-account-editor.[ch]: * mail-account-gui.[ch]: removed & deleted. * mail-session.c (mail_session_init): and here too. * em-migrate.c (em_migrate_1_4): init camel-provider library too. (e_path_to_physical): copy from e-util/e-path.c. * Makefile.am (libevolution_mail_la_LIBADD): link to new libcamel provider too. svn path=/trunk/; revision=28047
* ** See #56479.Not Zed2004-06-161-0/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | 2004-06-16 Not Zed <NotZed@Ximian.com> ** See #56479. * em-utils.c (em_utils_in_addressbook): use the main thread to setup the addressbook list. (em_utils_in_addressbook): only check against the "completion" sources, not all of them. 2004-06-15 Not Zed <NotZed@Ximian.com> * em-folder-browser.c (emfb_mail_stop): call mail_cancel_all to implement the stop button. * em-utils.c (emu_addr_sources_refresh): don't unref the group list, otherwise the sources become broken now (?). (em_utils_in_addressbook): add some locking. add cancellation. this is almost certainly going to cause issues. * mail-mt.c (mail_cancel_hook_add, mail_cancel_hook_remove) (mail_cancel_all): new functions to implement a global mailer stop button. svn path=/trunk/; revision=26363
* add marshaller for p_ppppp call.Not Zed2004-05-211-2/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2004-05-21 Not Zed <NotZed@Ximian.com> * mail-mt.c (do_call): add marshaller for p_ppppp call. * mail-session.c (get_password): fix for camel api changes. (forget_password): same. ** See #58376. * message-list.c (mail_regen_list): do some timeout foo so we don't keep doing list regnerations if we're getting called too often. God knows what this will break. (message_list_set_selected): removede bug printf. (regen_list_free): move the message-list poking stuff into regen_list_regened. (message_list_set_folder): call mail_regen_cancel to cancel any regen stuff. (mail_regen_cancel): cancel/clear outstanding regenerations. (message_list_destroy): do it here too. (message_list_select_uid): also set the pending select uid if we have a timeout pending. * mail-component.c (impl_createControls): set the defualt parent to the main folderview as soon as its created. * em-folder-tree.c (emft_popup_copy_folder_selected): use get_toplevel rather than get_ancestor. seems the more reliable one. also we're always parented so we shoudl always find a toplevel window. (em_folder_tree_create_folder): same. (emft_popup_delete_response): set error parent. (emft_popup_delete_folder, emft_popup_rename_folder) (emft_popup_rename_folder, emft_popup_rename_folder): svn path=/trunk/; revision=26030
* ** See #58388.Not Zed2004-05-201-1/+2
| | | | | | | | | | | | 2004-05-20 Not Zed <NotZed@Ximian.com> ** See #58388. * mail-mt.c (mail_msg_check_error): surpress any errors about messages not found because of invalid uid's. They're really just internal errors. svn path=/trunk/; revision=26007
* ** Changed error messages to use EError.Not Zed2004-04-281-17/+13
| | | | | | | | 2004-04-28 Not Zed <NotZed@Ximian.com> ** Changed error messages to use EError. svn path=/trunk/; revision=25653
* Same.Jeffrey Stedfast2004-04-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | 2004-04-19 Jeffrey Stedfast <fejj@ximian.com> * message-tag-followup.c (construct): Same. * message-list.c (message_list_init_images): Same. * mail-send-recv.c (build_dialog): Same. * mail-mt.c (do_op_status): Same. * mail-config-druid.c (evolution_mail_config_wizard_new): Same. * em-popup.c (em_popup_create_menu): Same. * em-format-html-display.c (efhd_format_prefix): Same. * em-format-html.c (efh_format_secure): Same as below. * em-folder-tree.c (render_pixbuf): Don't use absolute icon sizes, use the e-icon-factory enums. svn path=/trunk/; revision=25527
* mail-component.cMichael Terry2004-04-191-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | 2004-04-19 Michael Terry <mike@mterry.name> * GNOME_Evolution_Mail.server.in.in: * em-account-prefs.[ch]: * em-composer-prefs.[ch]: * em-folder-browser.c: * em-folder-tree.c: * em-folder-view.c: * em-format-html-display.c: * em-format-html.[ch]: * em-popup.c: * mail-component.c * mail-config-druid.c: * mail-config.glade: * mail-mt.c: * mail-send-recv.c: * message-list.c: * message-tag-followup.c: * message-tags.glade: Update the mailer to use icon themes through the EIconFactory object in e-util svn path=/trunk/; revision=25517
* Cleaned up header inclusions and added plenty of forward declarations.Not Zed2004-03-311-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2004-03-31 Not Zed <NotZed@Ximian.com> * *.[ch]: Cleaned up header inclusions and added plenty of forward declarations. Sped up complete re-compilation by upto 20%. ** See bug #55950. * em-utils.c (em_utils_in_addressbook): utility for checking if an email address is in the addressbook. I can't tell if it works 'cause it crashes eds. * em-format-html.c (emfh_gethttp): handle addressbook checking. 2004-03-30 Not Zed <NotZed@Ximian.com> * mail-config.h: clean up the headers and use some forward decl's instead. * em-format-html.c (em_format_html_set_load_http): change state to an int 'style' instead. * em-folder-view.c (emfv_setting_notify): set the format load http option to the config value directly. ** See bug #56147. * message-list.c (clear_info): set the node data to NULL when we unref its data. (ml_get_save_id): use a different test for the root node, and return NULL if we don't have any data on the node (because we're cleaing it). ** See bug #54962. * em-folder-tree.c (emft_popup_new_folder_response): put back the old hack to open the vfolder editor if you try to create a folder under vfolders. ** See bug #55940. * mail-autofilter.c (mail_filter_rename_uri): map the uri to an email uri before passing to filter code. (mail_filter_delete_uri): same here. svn path=/trunk/; revision=25261
* fix camel provider api changes.Not Zed2004-02-191-1/+0
| | | | | | | | | | | | | | | | | 2004-02-19 Not Zed <NotZed@Ximian.com> * mail-send-recv.c (get_receive_type): * mail-config.c (mail_config_get_account_by_source_url) (mail_config_get_account_by_transport_url): * mail-component.c (mail_component_load_store_by_uri): * mail-account-gui.c (mail_account_gui_setup) (mail_account_gui_save): * em-utils.c (em_utils_empty_trash, em_uri_from_camel): * em-folder-tree-model.c (account_changed): * em-folder-selector.c (em_folder_selector_get_selected_uri): fix camel provider api changes. svn path=/trunk/; revision=24795
* (do_op_status): Use data->activity_id, not localEttore Perazzoli2003-12-021-4/+2
| | | | | | activity_id. svn path=/trunk/; revision=23558
* Commit changes missing from previous commit.Ettore Perazzoli2003-12-021-52/+27
| | | | svn path=/trunk/; revision=23557
* Remove all the syncFolder stuff since it's not in the Component interfaceEttore Perazzoli2003-12-011-5/+7
| | | | | | | | | | | | | | | * mail-offline-handler.c: Remove all the syncFolder stuff since it's not in the Component interface anymore. * mail-mt.c: Remove declaration for global_shell_client. #if 0 all the code that uses that. * mail-component-factory.c: Remove declaration for global_shell_client. * mail-vfolder.c: Remove declaration for global_shell_client. svn path=/trunk/; revision=23506
* Removed most of the code. This is basically now a nop. Need to somehow getJeffrey Stedfast2003-11-151-19/+4
| | | | | | | | | 2003-11-14 Jeffrey Stedfast <fejj@ximian.com> * mail-mt.c (set_stop): Removed most of the code. This is basically now a nop. Need to somehow get the uic and fix this. svn path=/trunk/; revision=23361
* Merge new-ui-branch to the trunk.Ettore Perazzoli2003-10-221-4/+3
| | | | svn path=/trunk/; revision=22964
* implement, we hook into the mail progress reporting stuff by overridingNot Zed2003-09-231-1/+3
| | | | | | | | | | | | | | 2003-09-21 Not Zed <NotZed@Ximian.com> * mail-session.c (ms_thread_msg_new): implement, we hook into the mail progress reporting stuff by overriding the CamelOperation member with one from a dummy mail_msg. (ms_thread_msg_free): handle freeing. * mail-mt.c (mail_msg_free): mute the camel-operaiton when we free it so we no longer get updates. svn path=/trunk/; revision=22649
* cvs removed.Not Zed2003-09-181-11/+18
| | | | | | | | | | | | | | | | | | | | | | | | | 2003-09-17 Not Zed <NotZed@Ximian.com> * folder-browser.c, folder-browser.h, folder-browser-ui.c folder-browser-ui.h, mail-callbacks.c, mail-callbacks.h mail-display.c, mail-display.h, mail-display-stream.c mail-display-stream.h, mail-format.c, mail-format.h mail-identify.c, mail-search.c, mail-search.h message-browser.c, message-browser.h, subscribe-dialog.c subscribe-dialog.h, mail-font-prefs.c, mail-font-prefs.h: cvs removed. * Makefile.am: Removed mail-font-prefs.[ch], hasn't been built for ages. * em-*.c: killed a bunch of printfs. * em-format-html-display.c (efhd_html_button_press_event): update for html object api chagnes. ** Merge in mail-refactor-2 branch. svn path=/trunk/; revision=22602
* Add #include to fix warning.Jeremy Katz2003-05-171-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | 2003-05-17 Jeremy Katz <katzj@redhat.com> * mail-offline-handler.c: Add #include to fix warning. * mail-mt.c (mail_msg_new): Use glib macros for pointer/int conversions. (mail_msg_free): Likewise. (mail_msg_cancel): Likewise. (mail_msg_wait): Likewise. (mail_msg_active): Likewise. * mail-session.c (main_register_timeout): Likewise. (register_timeout): Likewise. (main_remove_timeout): Likewise. (remove_timeout): Likewise. * message-list.c (ml_value_to_string): Likewise. * mail-identify.c: Add #include to fix warning. * mail-config.c (config_write_fonts): Don't pass extra arguments to g_warning. * mail-callbacks.c: Add #include to fix warning. svn path=/trunk/; revision=21222
* Free the temporary error text.Hans Petter Jansson2003-04-161-0/+1
| | | | | | | | 2003-04-15 Hans Petter Jansson <hpj@ximian.com> * mail-mt.c (mail_msg_check_error): Free the temporary error text. svn path=/trunk/; revision=20850
* Use g_signal_emit() rather than gtk_signal_emit(). (build_flat): SameJeffrey Stedfast2003-02-111-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2003-02-10 Jeffrey Stedfast <fejj@ximian.com> * message-list.c (build_tree): Use g_signal_emit() rather than gtk_signal_emit(). (build_flat): Same here. * mail-signature-editor.c: #include <string.h> * mail-vfolder.c: #include <string.h> * mail-session.c: #include <string.h> * mail-search.c: #include <string.h> * mail-mt.c: #include <string.h> * mail-ops.c (save_part_save): Use strcasecmp() instead of g_strcasecmp(). * mail-local.c: #include <string.h> (reconfigure_folder_reconfigured): Use a GtkDialog instead of gnome_error_dialog(). * mail-format.c (find_preferred_alternative): Use g_ascii_strdown since g_strdown is deprecated. (fake_mime_part_from_data): Removed, no longer used it seems. (destroy_part): Also removed. * mail-display.c (make_popup_window): Replace call to gtk_window_set_polociy() with gtk_window_set_resizable() instead. (popup_size_allocate_cb): Use gtk_window_set_position() with GTK_WIN_POS_MOUSE instead of calculating the position to put it in. svn path=/trunk/; revision=19878
* hook onto destroy to remove dialogue from active table. (error_response):Not Zed2003-01-131-2/+5
| | | | | | | | | | 2003-01-13 Not Zed <NotZed@Ximian.com> * mail-mt.c (mail_msg_check_error): hook onto destroy to remove dialogue from active table. (error_response): Just destroy on any response, dont unref either. svn path=/trunk/; revision=19423
* ...And a whole bunch more build fixes.Jeffrey Stedfast2002-12-181-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2002-12-17 Jeffrey Stedfast <fejj@ximian.com> ...And a whole bunch more build fixes. * mail-vfolder.c (mail_vfolder_delete_uri): Don't use g_string_sprintfa() anymore since it is apparently deprecated. * mail-session.c (main_get_filter_driver): Don't use g_string_sprintfa() anymore since it is apparently deprecated. * mail-ops.c (build_from): Don't use g_string_sprintfa() anymore since it is apparently deprecated. * mail-callbacks.c (ask_confirm_for_unwanted_html_mail): Don't use g_string_sprintfa() anymore since it is apparently deprecated. * mail-autofilter.c: Don't use g_string_sprintfa() anymore since it is apparently deprecated. * folder-browser.c: Don't use g_string_sprintfa() anymore since it is apparently deprecated. * mail-search.c (mail_search_set_subject): Remove the unnecessary g_strdup()'age as well as fix a possible buffer overrun. * mail-local.c (mail_local_folder_construct): Use g_path_get_basename(). * mail-config-druid.c (make_account): Don't use e_utf8_* functions. svn path=/trunk/; revision=19152
* Do not #include <libgnome/gnome-defs.h>. Likewise. Likewise. Likewise.Ettore Perazzoli2002-11-141-1/+0
| | | | | | | | | | | | | | | | | * mail-format.c: Do not #include <libgnome/gnome-defs.h>. * mail-importer.c: Likewise. * mail-mt.c: Likewise. * mail-ops.c: Likewise. * mail-search-dialogue.c: Likewise. * mail-session.c: Likewise. * mail-vfolder.c: Likewise. * message-tag-followup.c: Likewise. * main.c: Likewise, and <libgnomeui/gnome-init.h>. * mail-callbacks.c: Do not #include <libgnome/gnome-paper.h>. (do_mail_print): Remove the GnomePaper local variable. svn path=/trunk/; revision=18739
* Commented out stuff that doesn't build yet. Also fixed idl build rule.Not Zed2002-11-121-17/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2002-11-13 Not Zed <NotZed@Ximian.com> * Makefile.am: Commented out stuff that doesn't build yet. Also fixed idl build rule. importers still not built. * main.c (main): bonobactivationise. remove push visual/colormap. (main): no longer activate activation, let bonobo_init do it. * mail-signature-editor.c (menu_help): Change help api. * mail-session.c (user_message_destroy_noreply): removed. Not used? * mail-local.c (load_metainfo): xml root->children. * mail-format.c (g_string_append_len): Removed, it exists now. 2002-11-12 Not Zed <NotZed@Ximian.com> * subscribe-dialog.c: gnome2ised, use gtkdialog. (subscribe_get_global_extras): use a weak ref rather than destroy signal. * message-tag-followup.c: gnome2ised. * message-tag-editor.c: gnome2ised & converted to gtkdialog. * message-list.c: gnome2ised. (message_list_finalise): From destroy method. maybe should be destroy still. * message-browser.c: port to gnome2 (message_browser_finalise): renamed from destroy method. * mail-stream-gtkhtml.c: removed redundant camel_class_get_global_classfuncs() call. * mail-signature-editor.c: gtkdialogised, & bonobo api changes. * mail-search-dialogue.c: gtkdialogised. * mail-folder-cache.c: cleaned up camel ref/hook casts. * mail-composer-prefs.c (mail_composer_prefs_get_type): convert to gtype. * mail-font-prefs.c (mail_font_prefs_destroy): from finalise. * mail-config.c: s/bonobo_config/e_config_listener/ Added /apps/Evolution prefix to the evolution keys. Changed to use e_config_listener, etc. (mail_config_init): remove bonobo_config stuff. (mail_config_check_service): gtk dialogise. (check_response): from check_cancelled. * mail-config-druid.c (mail_config_druid_destroy): renamed from _finalize, turned into destroy handler. (construct): set type to toplevel, GTK_WINDOW_DIALOG no longer exists. * mail-config-factory.c (mail_config_register_factory): bonobo api changes. * mail-crypto.c (mail_crypto_get_pgp_cipher_context): cleaned up unref casts. * mail-display.c (write_data_to_file): gnome->gtkdialog. (on_link_clicked): use ascii_str*cmp on url. (save_part): g_path stuff. (launch_cb): gtk dialog. (pixmap_press): de-oafify. (pixbuf_for_mime_type): gnome-vfs api changes. (do_attachment_header): Change the pixmap to a gtkimage. (do_signature): " (pixbuf_gen_idle): " (do_attachment_header): ascii_str*cmp (do_attachment_header): gnome pixmap->gtkimage. (mail_display_destroy): protect against gtk mentalness. (html_button_press_event): ascii_str*cmp (drag_data_get_cb): added comment for translators of filename. * mail-format.c (component_supports): de-oafise. (is_anonymous): ascii_strncmp (attachment_header): remove utf8<>locale stuff, and gnomevfs api changes. (format_mime_part): fix g_strdown call. (write_field_row_begin): kill utf8->gtk stuff. (write_address): " (default_header_index): ascii_strcasecmp (handle_text_plain): " (handle_text_enriched): " (handle_multipart_encrypted): remove utf/gtk stuff. (handle_message_external_body): ascii_str*cmp * mail-identify.c (mail_identify_mime_part): (identify_by_magic): gnome vfs api changes. * mail-importer.c: Converted. * mail-local.c (load_metainfo): xml childs -> children. (mls_get_folder): g_strerror. (mls_delete_folder): g_strerror. (reconfigure_got_folder): Gnome->GtkDialog (reconfigure_response): from reconfigure_clicked. * mail-mt.c (mail_msg_check_error): gnome -> gtk dialog (error_response): renmae from error_gone. destroy widget on any response. * mail-offline-handler.c (impl_finalise): renamed from impl_destroy since thats what it should be anyway. * mail-ops.c: removed utf8 widget conversion & camel_object_un/ref casts. * mail-preferences.c (mail_preferences_get_type): glib2'ised. * mail-search.c (mail_search_finalise): renmaed from destroy & properly chain. (mail_search_get_type): glib2 & make gtkdialog parent. (entry_run_search): run search when entry activated. not sure if gtkdialog has anohter way to do this on an arbitrary widget. * mail-send-recv.c (dialogue_response): renamed from clicked. Use gtkdialog. * mail-session.c (request_password_deleted): removed, redundant. (pass_response): rename from pass_got, changed for gtkdialog. (user_message_destroy): Removed, redundant. (user_message_response): Renamed from user_message_clicked. 2002-11-11 Not Zed <NotZed@Ximian.com> * mail-stream-gtkhtml.c (mail_stream_gtkhtml_class_init): dont use get_global_classfuncs, just get the type * mail-tools.c: converted gnome2 api's. * mail-vfolder.c (vfolder_editor_response): clicked->response. (vfolder_editor_destroy): Removed. (vfolder_edit): gtk dialog api (edit_rule_response): clicked->response. (vfolder_edit_rule): gnomedialog->gtkdialog. (vfolder_gui_add_rule): " (new_rule_clicked): clicked->response svn path=/trunk/; revision=18723
* If we are not in interactive mode, don't display error dialogs.Jeffrey Stedfast2002-08-061-2/+7
| | | | | | | | | | | | | | | | | | 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
* setup private data. (mail_display_destroy): cancel any outstandingNot Zed2002-07-301-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | 2002-07-29 Not Zed <NotZed@Ximian.com> * mail-display.c (mail_display_init): setup private data. (mail_display_destroy): cancel any outstanding fetches, and free private data. (mail_display_set_message): Cancel any outstanding fetches. (fetch_cancelled): (fetch_next): (fetch_remote): (fetch_data): (fetch_free): (fetch_cancel): (fetch_done): Implement, used to use soup to download remote images. (load_http): Removed. (on_url_requested): When requesting a http* url, use the fetch_remote call above. * mail-display.h (struct _MailDisplay): Added priv(ate) member. svn path=/trunk/; revision=17640
* Added exception strings to some of the op logging.02001-10-311-2/+4
| | | | | | | | | | | | | | 2001-10-30 <NotZed@Ximian.com> * mail-mt.c: Added exception strings to some of the op logging. * mail-format.c (elide_quotes): Remove, uh, what was this for, its not used anywhere? Also loops the instant it had a ", good one trow! :) (write_address): Remove name_arg/email_arg, these aren't used anywhere. svn path=/trunk/; revision=14482
* If we have a cancellation setup, destroy it immediately, to save fd's.02001-10-311-3/+10
| | | | | | | | | | | 2001-10-30 <NotZed@Ximian.com> * mail-mt.c (mail_msg_received): If we have a cancellation setup, destroy it immediately, to save fd's. (mail_msg_cancel): Check cancel != NULL. (mail_msg_free): Same. svn path=/trunk/; revision=14470
* So apparently the uicomp can just 'vanish' while we're using it. Joy. Take52001-10-261-26/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Removed, all functionality moved to mail-session.32001-10-241-312/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-10-23 <NotZed@Ximian.com> * mail-mt.c (mail_user_message): (mail_get_password): Removed, all functionality moved to mail-session. * mail-config.c (mail_config_write_on_exit): Check threaded/preview hash is null before using it, its setup on demand so itmight nto be initialised here. * mail-session.c (request_password): Remove password_current stuff. (alert_user): Redont, similar to get_pass. Do things as async as possible, and dont even wait for a response if we're not asking for the cancel button (this may or may not be right behaviour - need to check). mail_user_message() code replaced from the stuff in mail-mt.c (MailSession): Added a lock field. (init): Setup lock. (finalise): fRee lock. (register_timeout): Redone. We now allocate our own 'timeoutid's, and <> to the real things asynchronously. Use async_event's so we can make sure we have no outstanding ones after shutdown. (mail_session_enable_interaction): If interaction has been disabled, and we have either a message-box open, or a password request open and/or any pending message boxes/passwords, blow 'em away. (main_register_timeout): If we have pending remove of this same timeout, dont do anything. (timeout_timeout): Properly honour the result, remove the timout if it returns false. svn path=/trunk/; revision=13952
* Added missing errno.h (mail_msg_new): Fix the logic a bit, dont try to32001-10-241-18/+19
| | | | | | | | | | 2001-10-23 <NotZed@Ximian.com> * mail-mt.c: Added missing errno.h (mail_msg_new): Fix the logic a bit, dont try to open the log file unless logging is actually requested. svn path=/trunk/; revision=13944
* If the fopen() fails (eg, because evolution-mail was started by oafd withDan Winship2001-10-241-3/+8
| | | | | | | | * mail-mt.c (mail_msg_new): If the fopen() fails (eg, because evolution-mail was started by oafd with PWD=/), don't try to use the NULL file handle. svn path=/trunk/; revision=13943
* Completely re-done. We now hae a completely async dialogue when requested32001-10-231-47/+145
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Don't free `clientid' as it's uninitialized.Ettore Perazzoli2001-10-231-2/+1
| | | | | | | * mail-mt.c (do_op_status): Don't free `clientid' as it's uninitialized. svn path=/trunk/; revision=13899
* #include "component-factory.h". (do_op_status): Pass the component IDEttore Perazzoli2001-10-231-2/+4
| | | | | | | | | | | * 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
* change va_copy to G_VA_COPYDan Winship2001-10-191-2/+4
| | | | svn path=/trunk/; revision=13753
* Use va_copy to make this compile on ppc again.Dan Winship2001-10-191-1/+1
| | | | | | | * mail-mt.c (mail_call_main): Use va_copy to make this compile on ppc again. svn path=/trunk/; revision=13749
* Added an async_event handler to store_info. (mail_note_store): Setup asyncMichael Zucci2001-10-171-18/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * mail-folder-cache.c: Added an async_event handler to store_info. (mail_note_store): Setup async event handler here. (store_finalised): Flush out async events here. (folder_changed): Use async event handler to emit event. (mail_note_folder): Chagned, do most of the work in the calling context, only do the corba stuff in main. (store_folder_subscribed): Use async event, and do more work locally. (store_folder_unsubscribed): Same. (store_folder_deleted): Call store_folder_unsubscribed if we have to do any work. (store_folder_created): Call store_folder_subscribed if we have to do any work. (store_folder_unsubscribed): Ref store while busy. (real_folder_deleted): And unref here. (store_folder_subscribed): Reg store while busy. (real_folder_created): Unref here. (mail_note_folder): Ref folder while busy. (real_note_folder): And unref here. (mail_note_folder): Hook onto folder_deleted event. (folder_deleted): Just mark this folder as no longer available. * mail-session.c (register_timeout): Use mail_call_main instead of proxy_event. (remove_timeout): Same here. * folder-browser.c (folder_changed): use the new mail_async_event stuff. (folder_changed_main): Remove old async event handling stuff. (FOLDER_BROWSER_LOCK/UNLOCK): Removed. (FolderBrowserPrivate): Removed too, sigh. * mail-mt.c (mail_async_event_new, mail_async_event_emit, mail_async_event_destroy): New functions to handle async events. (mail_proxy_event, mail_proxy_event_id): Removed old functions for async events. (do_call): Add suport for MAIL_CALL_p_pp. (mail_msg_free): Use mail_async_event instead of proxy_event. * message-list.c (message_changed): Promote the message_changed to a folder_changed and use main_folder_changed to process it. (main_message_changed): Remove.d (message_list_init): Setup async event handler. (message_list_destroy): Remove async handler. (folder_changed): Use async hanler to emit event in main loop. (message_changed): Same. svn path=/trunk/; revision=13698
* New function to return the id of the currently executing proxied event.62001-10-171-0/+14
| | | | | | | | | | | | | | | | | | | | | 2001-10-16 <NotZed@Ximian.com> * mail-mt.c (mail_proxy_event_id): New function to return the id of the currently executing proxied event. * folder-browser.h: Added private field. * folder-browser.c (folder_changed): Keep track of tasks outstanding in the tasks list, locked access. (FOLDER_BROWSER_LOCK, UNLOCK): Macros to lock the folder browser for poking about in diff threads. (folder_browser_finalise): Wait for any outstanding takss to finish before cleaning ourself up. (folder_browser_destroy): Move the seen_id handling to finalise, also add a loading_id handling code. (main_folder_changed): Remove our running task when done. svn path=/trunk/; revision=13695
* Proxy get-password call to main thread. (forget_password): same for52001-10-161-0/+133
| | | | | | | | | | | | | | | 2001-10-15 <NotZed@Ximian.com> * mail-session.c (get_password): Proxy get-password call to main thread. (forget_password): same for forget_password. (get_filter_driver): and same for get_filter_driver, since it uses gtk objects. * mail-mt.c (mail_call_main): new generic interface for calling stuff/proxying in the gui thread. svn path=/trunk/; revision=13679
* Fix a merge-conflict leftover.Jeffrey Stedfast2001-10-061-4/+1
| | | | | | | | 2001-10-05 Jeffrey Stedfast <fejj@ximian.com> * mail-mt.c (pass_got): Fix a merge-conflict leftover. svn path=/trunk/; revision=13474
* Don't call mail_config_service_set_save_passwd if we didn't find aDan Winship2001-09-291-1/+2
| | | | | | | * mail-mt.c (pass_got): Don't call mail_config_service_set_save_passwd if we didn't find a service. svn path=/trunk/; revision=13231
* Added mail_msg_cleanup() prototype.Jeffrey Stedfast2001-09-291-1/+0
| | | | | | | | 2001-09-28 Jeffrey Stedfast <fejj@ximian.com> * mail-mt.h: Added mail_msg_cleanup() prototype. svn path=/trunk/; revision=13219
* Always make the Cancel button the last one.Ettore Perazzoli2001-09-281-3/+9
| | | | | | | * mail-mt.c (do_user_message): Always make the Cancel button the last one. svn path=/trunk/; revision=13207
* Change the wording of the password dialog if we are getting a pgpJeffrey Stedfast2001-09-271-1/+2
| | | | | | | | | | 2001-09-26 Jeffrey Stedfast <fejj@ximian.com> * mail-mt.c (do_get_pass): Change the wording of the password dialog if we are getting a pgp passphrase so that users don't misinterpret it to mean saving the passphrase forever. svn path=/trunk/; revision=13176
* Deal with destroy vs finalise semantics. Only destroy widgets here.52001-09-261-5/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Only cache the password for the service if it has an entry in the accountJeffrey Stedfast2001-09-261-6/+8
| | | | | | | | | 2001-09-25 Jeffrey Stedfast <fejj@ximian.com> * mail-mt.c (pass_got): Only cache the password for the service if it has an entry in the account database. Fixes bug #10875. svn path=/trunk/; revision=13111
* Always cache POP and IMAP passwords, even if the user didn't tell us to.Jeffrey Stedfast2001-09-241-0/+5
| | | | | | | | | 2001-09-23 Jeffrey Stedfast <fejj@ximian.com> * mail-mt.c (pass_got): Always cache POP and IMAP passwords, even if the user didn't tell us to. Fixes bug #10569. svn path=/trunk/; revision=13089
* If we have an operation that failed before, dont show the dialogue for the12001-09-221-1/+24
| | | | | | | | | | | | 2001-09-21 <NotZed@Ximian.com> * mail-mt.c (mail_msg_check_error): If we have an operation that failed before, dont show the dialogue for the the new error. Also use gtk_widget_show rather than invoking another main loop. Fix for lazy people who like to leave their mailers running and go home. svn path=/trunk/; revision=13075
* Register vfolder sources here.02001-09-211-0/+8
| | | | | | | | | | | | | | | | | | | | | 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
* Make the title translatable, and also use the account name when possible.Jeffrey Stedfast2001-09-191-2/+15
| | | | | | | | | 2001-09-18 Jeffrey Stedfast <fejj@ximian.com> * mail-mt.c (do_get_pass): Make the title translatable, and also use the account name when possible. Sorta fixes bug #6277. svn path=/trunk/; revision=12964
* Pass a 'cache-me' argument to mail_get_password.Jeffrey Stedfast2001-09-191-23/+30
| | | | | | | | | | | | | | | 2001-09-18 Jeffrey Stedfast <fejj@ximian.com> * mail-session.c (get_password): Pass a 'cache-me' argument to mail_get_password. * mail-mt.c (pass_got): Make less confusing... (mail_get_password): Now takes an argument 'cache' that allows our caller to determine if the user wanted to cache his/her password or not. (pass_got): Set the cache option. svn path=/trunk/; revision=12950
* Allow the activity to be NULL if there isn't a global_shell_client so thatJeffrey Stedfast2001-08-201-44/+57
| | | | | | | | | | | | | | | | | | 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
* Changed the title of this dialog to "Enter Password".Anna Marie Dirks2001-08-011-0/+2
| | | | | | | | 2001-07-31 Anna Marie Dirks <anna@ximian.com> * mail-mt.c (do_get_pass): Changed the title of this dialog to "Enter Password". svn path=/trunk/; revision=11534
* We are not guarenteed to have a non-NULL service (ie. PGP) thus check forJeffrey Stedfast2001-07-311-19/+28
| | | | | | | | | | | 2001-07-30 Jeffrey Stedfast <fejj@ximian.com> * mail-mt.c (do_get_pass): We are not guarenteed to have a non-NULL service (ie. PGP) thus check for it. (pass_got): And again here. (mail_get_password): And of course here too. svn path=/trunk/; revision=11493
* Don't need this anymore. (do_get_pass): Since we already have the entryJeffrey Stedfast2001-07-281-48/+39
| | | | | | | | | | 2001-07-27 Jeffrey Stedfast <fejj@ximian.com> * mail-mt.c (focus_on_entry): Don't need this anymore. (do_get_pass): Since we already have the entry widget, no need to do the nasty focus_on_entry hack. svn path=/trunk/; revision=11453
* Figure out whether we're getting the password for the source or thePeter Williams2001-07-271-5/+25
| | | | | | | | | | | | | | | 2001-07-26 Peter Williams <peterw@ximian.com> * mail-mt.c (do_get_pass): Figure out whether we're getting the password for the source or the transport, and get the toggle button accordingly. (pass_got): Same. * mail-config.c (mail_config_get_account_by_transport_url): New function. Cut + paste + search + replace of _by_source_url. * mail-config.h: Prototype here. svn path=/trunk/; revision=11446
* Use magic to make the password remembering checkbutton come after thePeter Williams2001-07-271-2/+28
| | | | | | | | | 2001-07-26 Peter Williams <peterw@ximian.com> * mail-mt.c (do_get_pass): Use magic to make the password remembering checkbutton come after the entry, visually. svn path=/trunk/; revision=11432
* Don't make the key url:item if we have the url, just make it url. ThisJeffrey Stedfast2001-07-261-11/+13
| | | | | | | | | | 2001-07-25 Jeffrey Stedfast <fejj@ximian.com> * mail-session.c (make_key): Don't make the key url:item if we have the url, just make it url. This fixes bug #5339. (mail_session_set_password): Removed. svn path=/trunk/; revision=11411
* Now take a CamelService parameter (as passed by Camel). Allows us to havePeter Williams2001-07-261-3/+30
| | | | | | | | | | | | | | | | | | | | | | | | 2001-07-25 Peter Williams <peterw@ximian.com> * mail-mt.c (mail_get_password): Now take a CamelService parameter (as passed by Camel). Allows us to have a "remember password" checkbox that is set correctly and whose settings can be propagated back to the proper MailConfigService. (do_get_pass): Add a checkbutton allowing the user to change whether the password is remembered or not. (pass_got): Apply the setting of the "remember password" checkbutton (if not cancelled.) * mail-mt.h: Update the prototype here. * mail-config.c (mail_config_service_set_save_passwd): New function, pretty bland. * mail-config.h: Prototype our bland new function. (Get it? It's a pun!) * mail-session.c (get_password): Pass the service as well. svn path=/trunk/; revision=11408
* Go back to calling mail_msg_free here. (mail_msg_destroy): Remove theNot Zed2001-07-241-6/+6
| | | | | | | | | | | | | | | | | | 2001-07-23 Not Zed <NotZed@Ximian.com> * mail-mt.c (mail_msgport_replied): Go back to calling mail_msg_free here. (mail_msg_destroy): Remove the operation unregistration stuff. (mail_msg_received): And put it here, so we unregister as soon as the async part of the operation is complete. I thought about this and we should be doing this anyway so we register/unregister always in the same thread, although the camel_operation api doesn't enforce it, this *is* what it expects. * message-list.c (regen_list_regen): re-add reporting to rebuilding the message list. Basically fixes #4931 svn path=/trunk/; revision=11332
* 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
* Use mail_msg_destroy rather than mail_msg_free, so the cancellationDan Winship2001-07-211-1/+1
| | | | | | | | * mail-mt.c (mail_msgport_replied): Use mail_msg_destroy rather than mail_msg_free, so the cancellation operation gets unregistered and doesn't leak two file descriptors. svn path=/trunk/; revision=11263
* remvoed register/start/end etc code.Not Zed2001-07-191-289/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | 2001-07-19 Not Zed <NotZed@Ximian.com> * mail-local.c (reconfigure_folder_reconfigure): remvoed register/start/end etc code. * mail-ops.c (get_messages_desc): Add the count here. (get_messages_get): Remove the register/start code, its handled above us. (save_messages_desc): Added count. (save_messages_save): Removed register/start/end code. * mail-mt.c (mail_msg_received, mail_msg_destroy): Changed to use camel_operation rather than mail_status. (mail_msgport_received, mail_msgport_replied): Turn of the mail_status stuff, we dont need to report on stuff running in the gui thread right? (retrieve_shell_view_interface_from_control, set_view_data, mail_statusf, mail_status, mail_status_end, mail_status_start, status_timeout, do_del_status, set_status_op): removed now redundant stuff. (mail_msg_free): Removed reference to timeout_id. svn path=/trunk/; revision=11225
* partial checkin before completing the changesNot Zed2001-07-191-92/+89
| | | | | | | | | | | | | | | | | | | | 2001-07-18 Not Zed <NotZed@Ximian.com> * mail-local.c (reconfigure_folder_reconfigure): Changed to use camel_operation rathre than mail_status. (reconfigure_folder_describe): re-enabled this function. * mail-ops.c (get_messages_get): Changed to use camel-progress for status reporting. (save_messages_save): Likewise. 2001-07-17 Not Zed <NotZed@Ximian.com> * mail-mt.c (struct _mail_msg_priv, destroy_objects, mail_msg_new, mail_msg_free, do_op_status): Changed to use an EvolutionActivityClient for progress. svn path=/trunk/; revision=11223
* Don't pop up a progress dialog to say "I already finished this a whileDan Winship2001-06-271-0/+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
* Renamed from session.c and made to be a subclass of CamelSession.Dan Winship2001-04-281-36/+24
| | | | | | | | | | | * mail-session.c: Renamed from session.c and made to be a subclass of CamelSession. * mail-mt.c (mail_user_message): Renamed from mail_get_accept and made more general-purpose, to implement the new camel_session_alert_user. svn path=/trunk/; revision=9618
* more memory leaksDan Winship2001-04-181-2/+3
| | | | svn path=/trunk/; revision=9431
* Cleaned up #includes. Remove unneccesary includes of <gnome.h>,Kjartan Maraas2001-03-301-9/+18
| | | | | | | | | | | 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
* Move the proxy event outside the lock (otherwise we always deadlock).Not Zed2001-03-171-3/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-03-17 Not Zed <NotZed@Ximian.com> * mail-mt.c (mail_msg_free): Move the proxy event outside the lock (otherwise we always deadlock). * mail-local.c (reconfigure_clicked): Clear the message list during update inside the folder thingy. This is a hell mess, need to move the gui stuff to mail-callbacks and make this reconfigure thing a more generic func. * message-list.c (ml_value_to_string): Cleanup the logic to use lookup tables. (sort_uid_to_rows): Removed due to rewrite below. (build_flat_diff): Changes for node/summary/etc changes. Also do changed nodes too. (clear_tree): Free the info reference for nodes in our hashtable. (build_subtree): Ref the info reference in our hash/tree node. (on_click): Dont free message info, since we just got our ref to it. (remove_node_diff): Free messageinfo off node. (build_flat): Ref messageinfo. (message_list_set_folder): Allow a NULL folder to be set - i.e. clear the view. (message_list_set_folder): Emit a no message sleeted signal. (build_tree): Change cursor keeping stuff to work with new info. Turned off BROKEN_ETREE - well maybe it'll work. Check for duplicate messages displayed, etc. 2001-03-16 Not Zed <NotZed@Ximian.com> * message-list.h: Added uid_nodemap; mapping of uid's to e-tree nodes. * message-list.c (build_flat): Changed to take a summary argument, and to store node in node map, etc, and store info's in e-tree. (build_subtree): Changed to store node in node map, and to store info's in tree directly. (ml_tree_value_at): Changed to get info directly from tree node, removed allocated return value logic. (ml_tree_value_at): Removed all "fake node" handling, no fake nodes should ever exist. (id_is_uid, id_is_subject, id_uid, id_subject): Removed macro's no longer used. (new_id_from_uid, new_id_from_subject): Removed no longer used. (get_message_uid): (get_message_info): Treat tree node data as messageinfo. (message_list_select): Dont free the messageinfo, as its part of our data, not retrieved from folder. (message_list_drag_data_get): ditto. (subtree_unread): Treat tree node data as messageinfo. (subtree_size): ditto. (subtree_earliest): ditto. (clear_tree): Reset uid_nodemap on clear. (save_node_state): tree nodes == messageinfo's. (add_node_diff): ditto. (remove_node_diff): ditto. (main_folder_changed): use uid_nodemap to lookup changed nodes. (main_message_changed): ditto. svn path=/trunk/; revision=8775
* Tell camel to init NSS. (mail_session_accept_dialog): Doh! NULL terminateJeffrey Stedfast2001-03-151-0/+2
| | | | | | | | | | | | 2001-03-14 Jeffrey Stedfast <fejj@ximian.com> * session.c (mail_session_init): Tell camel to init NSS. (mail_session_accept_dialog): Doh! NULL terminate the list of buttons and show the label. * mail-mt.c (do_get_accept): Same. svn path=/trunk/; revision=8721
* Tell camel to init NSS. (mail_session_accept_dialog): Doh! NULL terminateJeffrey Stedfast2001-03-151-1/+2
| | | | | | | | | | | | 2001-03-14 Jeffrey Stedfast <fejj@ximian.com> * session.c (mail_session_init): Tell camel to init NSS. (mail_session_accept_dialog): Doh! NULL terminate the list of buttons. * mail-mt.c (do_get_accept): Same. svn path=/trunk/; revision=8719
* New async function that will be used for SSL certs later.Jeffrey Stedfast2001-03-101-2/+88
| | | | | | | | | | | | | 2001-03-09 Jeffrey Stedfast <fejj@ximian.com> * mail-mt.c (mail_get_accept): New async function that will be used for SSL certs later. * session.c (auth_callback): Changed to return a gpointer value. (mail_session_accept_dialog): New function to handle the new _ACCEPT authenticator mode. svn path=/trunk/; revision=8622
* Check the container is not NIL before trying to set thje prop.Not Zed2001-03-021-0/+2
| | | | | | | | | 2001-03-02 Not Zed <NotZed@Ximian.com> * mail-mt.c (set_stop): Check the container is not NIL before trying to set thje prop. svn path=/trunk/; revision=8449
* Fixes for changes to search bar. (search_save): Removed. (search_full):Not Zed2001-03-011-3/+67
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-03-01 Not Zed <NotZed@Ximian.com> * folder-browser.c (folder_browser_search_menu_activated): Fixes for changes to search bar. (search_save): Removed. (search_full): Removed. (search_full_clicked): Removed. (folder_browser_search_option_items[]): Removed. (folder_browser_search_query_changed): Changed for search bar changes. (folder_browser_clear_search): Removed. * mail-vfolder.c (vfolder_clone_rule): New function to clone a filter/search rule into a matching vfolder rule. * mail-send-recv.c (mail_receive_uri): Setup a timeout for status updates. (build_dialogue): Setup timeout id for status updates. (operation_status_timeout): New function to set the status via a timeout. (receive_done): Remove the timeout handler if we need to. (operation_status): (receive_status): Just update the info, and let the timeout handler update the gui. (do_free_status): (do_show_status): Removed gui thread status message processing. 2001-02-28 Not Zed <NotZed@Ximian.com> * folder-browser.c (folder_browser_config_search): New function to configure the FilterRule for the search mechanism. 2001-02-27 Not Zed <NotZed@Ximian.com> * folder-browser.c (folder_browser_gui_init): Setup the search bar as a filterbar. (got_folder): Set the whole search bar sensitive or not based on the search capability of the folder. * folder-browser.h: Changed to use efilterbar instead of esearchbar. svn path=/trunk/; revision=8438
* Make op cancellable/report internals. (get_folder_get):Not Zed2001-02-231-2/+201
| | | | | | | | | | | | | | | | | | | | | | | | | 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
* started hack for progress reporting, which is currently to the console.Not Zed2001-02-221-1/+74
| | | | | | | | | | | | | | | | 2001-02-22 Not Zed <NotZed@Ximian.com> * mail-local.c (local_storage_new_folder_cb): started hack for progress reporting, which is currently to the console. * mail-mt.c (set_stop): Set the stop button sensitivity. (mail_msg_received): enable/disable stop button while we're processing stuff in another thread. * message-list.c (ml_tree_value_at): If our uid entry vanishes before w'ere ready, then make a fake. svn path=/trunk/; revision=8338
* Handle internal camel status return. (receive_done): Remove activeNot Zed2001-02-081-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | 2001-02-07 Not Zed <NotZed@Ximian.com> * mail-send-recv.c (operation_status): Handle internal camel status return. (receive_done): Remove active download when done. (mail_receive_uri): Initiate download of a single source, with no gui. (build_dialogue): Mark any new items as real active downloads. (do_show_status): Make the progress bar optional. 2001-02-06 Not Zed <NotZed@Ximian.com> * mail-send-recv.c: camel_cancel->camel_operation. * mail-ops.old.c: camel_cancel->camel_operation. * mail-ops.c: camel_cancel->camel_operation. * mail-mt.c: camel_cancel->camel_operation. * mail-callbacks.c (stop_threads): camel_cancel->camel_operation. * mail-mt.h: CamelCancel->CamelOperation. svn path=/trunk/; revision=8096
* Check current_message for NULL - this fixes a bug running under SunOS (notJeffrey Stedfast2001-02-081-1/+1
| | | | | | | | | | 2001-02-07 Jeffrey Stedfast <fejj@ximian.com> * mail-mt.c (set_view_data): Check current_message for NULL - this fixes a bug running under SunOS (not a major deal tho as it's in a debug printf). svn path=/trunk/; revision=8093
* Moved bonobo includes from the .c to the .h. IncludeChristopher James Lahey2001-02-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-02-05 Christopher James Lahey <clahey@ximian.com> * evolution-mbox-importer.c, evolution-mbox-importer.h: Moved bonobo includes from the .c to the .h. Include evolution-mbox-importer.h in evolution-mbox-importer.c. * evolution-outlook-importer.c, evolution-outlook-importer.h: Moved bonobo includes from the .c to the .h. Include evolution-outlook-importer.h in evolution-outlook-importer.c. * mail-callbacks.c: Include mail-send-recv.h. * mail-local.c (mail_local_lookup_folder): Cast local_store to CAMEL_STORE. * mail-mt.c (mail_msg_cleanup): Make this function static. * mail-send-recv.c, mail-send-recv.h: Created mail_send_recv.h. Included it in mail-send-recv.c. Added a #include <libgnomeui/gnome-window-icon.h>. (mail_send_receive): Added a cast. * mail-summary.c (new_folder_cb, removed_folder_cb, create_summary_view): Cast the source func in calling g_idle_add. svn path=/trunk/; revision=8002
* Debug function to compare the tree we think we have, after an incrementalNot Zed2001-01-291-3/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-01-29 Not Zed <NotZed@Ximian.com> * message-list.c (tree_equal): Debug function to compare the tree we think we have, after an incremental update. (build_tree): Check the tree after we've built it. * mail-mt.c (mail_get_password): If we are being called from the main gui thread, then just call the dialogue directly. Ideally we dont want this anyway but lets handle the case nicely. (mail_get_password): Try locking around the password request, to single-queue any password requests. (mail_msg_init): Push an exit handler to clean it up on completion. * mail-send-recv.c (receive_update_got_store): New function called when the store has been retrieved asynchronously. (mail_send_receive): Get the store asynchronously. This was causing problems where the password dialogue would try and be called from the main thread via a message. * mail-ops.c (mail_get_store): New function to get a store (a)synchronously. More or less taken from subscribe-dialog, which i will remove later. (mail_scan_subfolders): Try running the scan subfolder thing asynchronously, to help startup time. Not sure if this will work, but presumably the shell can handle the folders appearing later ok. svn path=/trunk/; revision=7886
* make mail_gui_thread non-static.Dan Winship2001-01-231-1/+1
| | | | | | | | | | | * mail-mt.[ch]: make mail_gui_thread non-static. * main.c (main): Set up signal handler for SEGV, BUS, FPE (segv_redirect): if a gnome-segv'ing signal is received in a thread other than mail_gui_thread, re-deliver it to that thread to work around a problem with the gnome segv handler. svn path=/trunk/; revision=7728
* Init a cancel field in the message. (mail_msg_free): Free it.Not Zed2001-01-211-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-01-21 Not Zed <NotZed@Ximian.com> * mail-mt.c (mail_msg_new): Init a cancel field in the message. (mail_msg_free): Free it. (mail_msg_cancel): New function to attempt to cancel an operation by id. Impelementation functions can still be uncancellable by not registering for cancellation, etc, or do it themselves as well. * mail-send-recv.c (fetch_mail_filter_folder): set folder_uid's properly, so we can save it later. (filter_folder_filter): Renamed from fetch_mail_filter_folder, since its going to be used for all filtering. (mail_fetch_mail): Changed from mail_filter_mail. (mail_filter_folder): New function, replaces mail_do_filter_ondemand functionality. (mail_filter_on_demand): New function, actually replaces mail_do_filter_ondemand. (receive_get_folder): Added an exception arg. (mail_send_message): New function to just send a message. (send_mail_send): Use mail_send_message. (send_queue_send): New send qeue code, use mail_send_message, and clean up some stuff. (mail_send_receive): Changed from mail_receive. (build_dialogue): Setup the sending data, as well. (mail_update_subfolders): New function to update folder info. (send_mail_send): hook into cancellation if we want. svn path=/trunk/; revision=7672
* Setup a cancellation handle. (do_fetch_mail): REgister for cancellationNot Zed2001-01-161-1/+1
| | | | | | | | | | | | | | | | | | | | 2001-01-16 Not Zed <NotZed@Ximian.com> * mail-ops.c (mail_do_fetch_mail): Setup a cancellation handle. (do_fetch_mail): REgister for cancellation here. (cleanup_fetch_mail): And unregister for cancellation here. (mail_get_message): Add a cancel handle. (get_message_get): Register/deregister for cancel. (get_message_free): & clean up. * mail-mt.c (mail_msg_received): Removed debuggng. * mail-callbacks.c (stop_threads): Callback for stopping. * folder-browser-factory.c: Add a stop button verb thingy. (control_activate): Disable the stop button by default. svn path=/trunk/; revision=7527
* Removed old implementation.Not Zed2001-01-041-7/+105
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-0/+517
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