aboutsummaryrefslogtreecommitdiffstats
path: root/mail/folder-browser.c
Commit message (Collapse)AuthorAgeFilesLines
* To be consistant with the message-list envelope toggle, undelete theJeffrey Stedfast2003-05-031-1/+1
| | | | | | | | | | | | | | | | | | | | | 2003-04-30 Jeffrey Stedfast <fejj@ximian.com> * mail-callbacks.c (mark_as_unseen): To be consistant with the message-list envelope toggle, undelete the message when we unmark the Seen flag here as well. Fixes bug #42118. 2003-04-30 Jeffrey Stedfast <fejj@ximian.com> * message-list.c (ml_tree_value_at): Fixed to return the correct values (swapped) in order to fix bug #42120. 2003-04-30 Jeffrey Stedfast <fejj@ximian.com> * message-list.c (regen_list_regened): Save the tree state before we tear down the tree and then load it back again. yay. Fixes bug #42170 and #40074. svn path=/trunk/; revision=21047
* ** See bug #41972Not Zed2003-04-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | 2003-04-29 Not Zed <NotZed@Ximian.com> ** See bug #41972 * message-list.c (ml_tree_value_at): fix (void *) casts on trinary ops. * folder-browser.c (on_right_click): Store the label tag in the label callback data, not the translated name. * mail-config.c (label_defaults[]): Initialise with the tag values. (config_clear_labels): free tag field. (config_cache_labels): setup the tag field based on the position of the label name. (mail_config_get_label_color_by_name): Lookup colour by the untranslated TAG, not the translated/customisable tag. * mail-config.h (MailConfigLabel): Add a tag field, we were using the translated name as the label(!). svn path=/trunk/; revision=21008
* as below (update_active): as belowRadek Doulik2003-04-251-2/+1
| | | | | | | | | | | | 2003-04-24 Radek Doulik <rodo@ximian.com> * mail-display.c (html_button_press_event): as below (update_active): as below * folder-browser.c (html_button_press_event): update for changed coordinates in gtk-2 svn path=/trunk/; revision=20959
* need to check for config_service != NULL, not service != NULL beforeNot Zed2003-03-311-1/+1
| | | | | | | | | | | | | | | | 2003-03-31 Not Zed <NotZed@Ximian.com> * mail-session.c (pass_response): need to check for config_service != NULL, not service != NULL before calling set_save_password. Fix for #40472. 2003-03-28 Not Zed <NotZed@Ximian.com> * folder-browser-ui.c: include e-meta.h * folder-browser.c (on_right_click): remove unused var. svn path=/trunk/; revision=20586
* dont set the paned initial size here, but hook onto the realize signal.Not Zed2003-03-271-6/+12
| | | | | | | | | | | 2003-03-27 Not Zed <NotZed@Ximian.com> * folder-browser.c (folder_browser_gui_init): dont set the paned initial size here, but hook onto the realize signal. (paned_realised): set the paned size once we're realised. Fixes #37084, its a bit of a hack, but it seems to work. svn path=/trunk/; revision=20536
* Load per-folder setting of show_preview from meta data.Not Zed2003-03-241-19/+36
| | | | | | | | | | | | | | | | | | | | | | | | | 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
* removed a dead header fileJeffrey Stedfast2003-03-201-1/+0
| | | | svn path=/trunk/; revision=20374
* (on_right_click): UseEttore Perazzoli2003-02-071-1/+1
| | | | | | | e_auto_kill_popup_menu_on_selection_done() instead of e_auto_kill_popup_menu_on_hide(). svn path=/trunk/; revision=19837
* updated for e scroll frame --> gtk scrolled windowRadek Doulik2003-02-051-2/+2
| | | | svn path=/trunk/; revision=19736
* New function to return a cached list of labels.Jeffrey Stedfast2003-02-011-67/+23
| | | | | | | | | | | | | | | | | | | | | | | | | 2003-01-31 Jeffrey Stedfast <fejj@ximian.com> * mail-config.c (mail_config_get_labels): New function to return a cached list of labels. (mail_config_get_label_color_by_name): New convenience function to search the cached labels. (mail_config_get_label_color_by_index): Same. (mail_config_init): Cache the labels and also listen for changes to them in the gconf db. (config_cache_labels): Internal function to cache the labels. * folder-browser.c (on_right_click): Fixed the label colours in the menu by using the cached linked list of labels. * mail-preferences.c (colorpicker_set_color): Now takes a string argument allowing us to get rid of converting a string into an rgb guint32 all over the place when trying to set defaults, since we now store colors in gconf as strings. (mail_preferences_construct): Use the cached labels (they are already parsed for us). svn path=/trunk/; revision=19694
* Set the paned_size here.Jeffrey Stedfast2003-01-251-105/+0
| | | | | | | | | | | | | | | | | 2003-01-24 Jeffrey Stedfast <fejj@ximian.com> * folder-browser-ui.c (folder_browser_ui_add_global): Set the paned_size here. * folder-browser.c (folder_browser_gui_init): Don't bother connecting to the hide-deleted, message-display-style, paned-size, nor show-preview gconf notifications anymore, since we can just set them when the view becomes active again in folder-browser-ui.c. Cuts down on extra overhead. (folder_browser_destroy): No need to disconnect from those notifications anymore either. svn path=/trunk/; revision=19626
* Use button_release instead of size_allocate, and get the position from theRodney Dawes2003-01-241-10/+11
| | | | | | | | | | 2003-01-23 Rodney Dawes <dobey@ximian.com> * folder-browser.c (fb_resize_cb): Use button_release instead of size_allocate, and get the position from the Paned widget to prevent calling CORBA all the time for GConf stuff svn path=/trunk/; revision=19607
* Removed. (mail_config_set_thread_list): Removed.Jeffrey Stedfast2003-01-231-5/+8
| | | | | | | | | | | | | | | | | | 2003-01-22 Jeffrey Stedfast <fejj@ximian.com> * mail-config.c (mail_config_get_thread_list): Removed. (mail_config_set_thread_list): Removed. (mail_config_uri_renamed): No longer needs to change threaded state for each url either. (mail_config_write_on_exit): Updated. * folder-browser-ui.c (folder_browser_ui_add_list): Get the threaded state via gconf. * folder-browser.c (folder_browser_toggle_threads): Save the threaded state. svn path=/trunk/; revision=19580
* Don't !atoi (state) for the message_list_set_hidedeleted() call.Jeffrey Stedfast2003-01-211-1/+1
| | | | | | | | | 2003-01-20 Jeffrey Stedfast <fejj@ximian.com> * folder-browser.c (folder_browser_toggle_hide_deleted): Don't !atoi (state) for the message_list_set_hidedeleted() call. svn path=/trunk/; revision=19531
* Updated. (request_password): Same.Jeffrey Stedfast2003-01-181-16/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Same as below.Jeffrey Stedfast2003-01-171-1/+1
| | | | | | | | | | | | | | | | | | | | | 2003-01-16 Jeffrey Stedfast <fejj@ximian.com> * mail-composer-prefs.c (sig_fill_clist): Same as below. * mail-account-gui.c (sig_fill_options): mail_config_get_signature_list() now returns a GSList instead of a GList. * mail-config.c (signature_new_from_xml): New function to parse a signature xml blob into a MailConfigSignature structure. (config_read_signatures): Rewritten to use above function. (signature_to_xml): New function to write a signature to xml. (config_write_signatures_num): Removed. (config_write_signature): Removed. (config_write_signatures): Rewritten to use signature_to_xml and gconf. svn path=/trunk/; revision=19497
* reverted fe casts and added ChageLog entriesRadek Doulik2003-01-151-2/+2
| | | | | | | | | | | | | | 2003-01-14 Radek Doulik <rodo@ximian.com> * folder-browser.c (etree_key): use gtk_scrolled_window_* functions for mail_display->scroll * mail-display.c (mail_display_new): use gtk_scrolled_window_* functions * mail-display.h: use GtkScrolledWindow instead of EScrollFrame svn path=/trunk/; revision=19463
* Switch to using GtkPaned instead of EPaned for GTK2Rodney Dawes2003-01-151-8/+7
| | | | svn path=/trunk/; revision=19444
* EScrollFrame --> GtkScrolledWindowRadek Doulik2003-01-151-3/+3
| | | | svn path=/trunk/; revision=19440
* Correctly create the clipboard buffer by using a nul to delimit the uriJeffrey Stedfast2003-01-141-2/+2
| | | | | | | | | | 2003-01-13 Jeffrey Stedfast <fejj@ximian.com> * folder-browser.c (folder_browser_copy): Correctly create the clipboard buffer by using a nul to delimit the uri and the list of uids. svn path=/trunk/; revision=19433
* Check the state of message_style in gconf and set the menus accordingly.Jeffrey Stedfast2003-01-141-2/+30
| | | | | | | | | | | | | | 2003-01-13 Jeffrey Stedfast <fejj@ximian.com> * folder-browser-ui.c (folder_browser_ui_add_message): Check the state of message_style in gconf and set the menus accordingly. * folder-browser.c (folder_browser_destroy): Remove listener for message_style change notification. (folder_browser_gui_init): Connect a listener for changes to message_style. svn path=/trunk/; revision=19432
* We also need to call message_list_set_hidedeleted() here so that anyJeffrey Stedfast2003-01-111-24/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | 2003-01-10 Jeffrey Stedfast <fejj@ximian.com> * folder-browser-ui.c (folder_browser_ui_add_list): We also need to call message_list_set_hidedeleted() here so that any deactivated folder controls will change to the currently set state when re-activated. (folder_browser_ui_add_global): Same for show_preview. * folder-browser.c (hide_deleted_changed): Don't call message_list_set_hidedeleted() here. (folder_browser_toggle_hide_deleted): Instead, call it here. This way we get a faster "response time". Also, this will make it so that not all folder controls will regen their message-list at the same time. (folder_browser_toggle_preview): Same idea as the hide-deleted changes. (show_preview_changed): See above. * mail-config-druid.c (make_account): Default the new account to enabled. (wizard_finish_cb): Don't set enabled here. svn path=/trunk/; revision=19417
* Updated for function rename.Jeffrey Stedfast2003-01-111-9/+36
| | | | | | | | | | | | | | | | | | | | | 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
* Save the paned_size notify handle. (folder_browser_destroy): Remove gconfNot Zed2003-01-101-2/+7
| | | | | | | | | | 2003-01-10 Not Zed <NotZed@Ximian.com> * folder-browser.c (folder_browser_gui_init): Save the paned_size notify handle. (folder_browser_destroy): Remove gconf notify handler. svn path=/trunk/; revision=19395
* Removed. (mail_config_set_show_preview): Removed.Jeffrey Stedfast2003-01-091-8/+8
| | | | | | | | | | | | | | | | 2003-01-08 Jeffrey Stedfast <fejj@ximian.com> * mail-config.c (mail_config_get_show_preview): Removed. (mail_config_set_show_preview): Removed. * folder-browser.c (folder_browser_toggle_preview): Simply set the gconf show_preview setting and let the code in folder-browser-ui.c detect it and update the UI. * folder-browser-ui.c (folder_browser_ui_add_global): Listen for changed events on the show_preview setting. svn path=/trunk/; revision=19288
* oops, forgot to init the gconf-clientJeffrey Stedfast2003-01-081-1/+2
| | | | svn path=/trunk/; revision=19273
* Use gconf to get the paned size. (folder_browser_set_message_preview):Jeffrey Stedfast2003-01-081-15/+74
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* ...And a whole bunch more build fixes.Jeffrey Stedfast2002-12-181-62/+62
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* cast a-warning a-way.Not Zed2002-12-121-1/+1
| | | | | | | | | | | | | | | | | | | | | 2002-12-12 Not Zed <NotZed@Ximian.com> * folder-browser.c (my_folder_browser_init): cast a-warning a-way. * mail-composer-prefs.c (spell_setup): Terminate list_store_set with -1. * mail-accounts.c (mail_accounts_etable_new): clist -> gtktreeview stuff. Yes, this is not an etable. (mail_accounts_tab_construct): Same. (mail_accounts_load): Same. (account_cursor_change): Same. (account_able_clicked): And this. (account_default_clicked): Same. (account_delete_clicked): Guess? (account_edit_clicked): And here too. svn path=/trunk/; revision=19099
* frobbed around with these till it exits without crashing.Not Zed2002-12-031-41/+51
| | | | | | | | | | | | | | | | 2002-12-03 Not Zed <NotZed@Ximian.com> * folder-browser.c (folder_browser_finalise/destroy): frobbed around with these till it exits without crashing. * message-list.c (message_list_destroy): made a destroy handler again (was dispose). Frobbed around with this and finalise till it can destroy without crashing. * message-browser.c (message_browser_new): ref/sink the folderbrowser. svn path=/trunk/; revision=18991
* gnome_pixmap -> gtkimage. (construct): gtk_clist -> gtk_tree_view, setupNot Zed2002-12-021-59/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Want a (GWeakNotify) cast here, not (GWeakNotify *).Ettore Perazzoli2002-11-151-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* Use g_object_new() instead of gtk_type_new(). Likewise. Likewise.Ettore Perazzoli2002-11-141-1/+1
| | | | | | | | | | | * folder-info.c (evolution_folder_info_factory_fn): Use g_object_new() instead of gtk_type_new(). * folder-browser.c (folder_browser_new): Likewise. * mail-account-gui.c (mail_account_gui_folder_selector_button_new): Likewise. * mail-font-prefs.c (mail_font_prefs_new): Likewise. svn path=/trunk/; revision=18742
* Added to cvs. Currently contains no configurable stuff, but maybe it willNot Zed2002-11-131-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-6/+7
| | | | | | | | | | | | 2002-11-11 Jeffrey Stedfast <fejj@ximian.com> * folder-browser-ui.c: Ported. * folder-browser-factory.c: Ported. * folder-browser.c: Ported. svn path=/trunk/; revision=18699
* Ported.Jeffrey Stedfast2002-11-121-219/+210
| | | | | | | | | | 2002-11-11 Jeffrey Stedfast <fejj@ximian.com> * folder-browser.c: Ported. * e-searching-tokenizer.c: Roughly ported. svn path=/trunk/; revision=18697
* No longer need to check for a CLEAR_ID.Jeffrey Stedfast2002-10-291-1/+1
| | | | | | | | | 2002-10-28 Jeffrey Stedfast <fejj@ximian.com> * folder-browser.c (folder_browser_query_changed): No longer need to check for a CLEAR_ID. svn path=/trunk/; revision=18463
* Use the mode 0666 when creating a new file and let the user's umask handleJeffrey Stedfast2002-10-251-1/+1
| | | | | | | | | | | | | 2002-10-24 Jeffrey Stedfast <fejj@ximian.com> * mail-display.c (write_data_to_file): Use the mode 0666 when creating a new file and let the user's umask handle permissions. * folder-browser.c (message_list_drag_data_get): When using open() with the O_CREAT flag, we need to pass a mode argument. Also use O_EXCL. svn path=/trunk/; revision=18430
* Only perform the search if it is either a clear or advanced search.Jeffrey Stedfast2002-10-241-1/+5
| | | | | | | | | 2002-10-23 Jeffrey Stedfast <fejj@ximian.com> * folder-browser.c (folder_browser_query_changed): Only perform the search if it is either a clear or advanced search. svn path=/trunk/; revision=18422
* Don't do anything if the message_list is NULL (this means theJeffrey Stedfast2002-10-111-1/+6
| | | | | | | | | | 2002-10-09 Jeffrey Stedfast <fejj@ximian.com> * folder-browser.c (main_folder_changed): Don't do anything if the message_list is NULL (this means the FolderBrowser has been destroyed). Fixes bug #32002. svn path=/trunk/; revision=18363
* cursor activated on etable is required to know when the selection changesNot Zed2002-10-011-0/+8
| | | | | | | | | | | | 2002-10-01 Not Zed <NotZed@Ximian.com> * folder-browser.c (on_cursor_activated): cursor activated on etable is required to know when the selection changes on a single row, update selection changed info with this signal too. Sounds like an etable bug to me, but this fixes #29808. (folder_browser_gui_init): Hook onto above signal. svn path=/trunk/; revision=18275
* Always do a search if the query changed. For #31060 & #29625.Not Zed2002-09-241-3/+0
| | | | | | | | | 2002-09-24 Not Zed <NotZed@Ximian.com> * folder-browser.c (folder_browser_query_changed): Always do a search if the query changed. For #31060 & #29625. svn path=/trunk/; revision=18190
* If the vpaned isn't realized, don't call mail_config_set_paned_size. FixesDan Winship2002-09-141-1/+1
| | | | | | | | * folder-browser.c (fb_resize_cb): If the vpaned isn't realized, don't call mail_config_set_paned_size. Fixes a problem with the saved pane size being repeatedly lost (#29933) svn path=/trunk/; revision=18064
* Only abort if the user selected ADVANCED_SEARCH, not the other way around.Jeffrey Stedfast2002-09-121-2/+2
| | | | | | | | | | | 2002-09-11 Jeffrey Stedfast <fejj@ximian.com> * folder-browser.c (folder_browser_query_changed): Only abort if the user selected ADVANCED_SEARCH, not the other way around. Any other menu item and we are supposed to perform an actual search. Fixes bug #30183. svn path=/trunk/; revision=18048
* If we already have a folder, make sure we unref/unhook from it. Fixes aNot Zed2002-09-101-0/+6
| | | | | | | | | | | | | 2002-09-10 Not Zed <NotZed@Ximian.com> * folder-browser.c (got_folder): If we already have a folder, make sure we unref/unhook from it. Fixes a crash on exit. * message-list.c (message_list_hide_clear): clear thread tree cache if set. (message_list_set_search): Same. For bug #28834. svn path=/trunk/; revision=18029
* New callback functions that wrap the mail-callbacks versions ofJeffrey Stedfast2002-09-041-4/+27
| | | | | | | | | | | | | 2002-09-03 Jeffrey Stedfast <fejj@ximian.com> * folder-browser.c (mark_as_seen_cb): (mark_as_unseen_cb): (mark_as_important_cb): (mark_as_unimportant_cb): New callback functions that wrap the mail-callbacks versions of mark_as_<whatever>. Thanks to Owen Taylor for this fix. svn path=/trunk/; revision=17950
* Add some new flags for sensitizing nodes based on the flags of thePeter Williams2002-08-291-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2002-08-28 Peter Williams <peterw@ximian.com> * folder-browser-ui.c (default_ui_nodes): Add some new flags for sensitizing nodes based on the flags of the currently selected messages. (folder_browser_ui_add_message): Reset the sensitivity cache when we re-add UI items. (folder_browser_ui_add_list): Same. (folder_browser_ui_add_global): Same. (fbui_sensitise_item): Only cache the sensitivity in the hash table if we actually change it. (folder_browser_ui_scan_selection): New function, getting the bulk of the contents of folder_browser_ui_set_selection_state. Now with code to iterate over the currently selected messages and check their flags so we can sensitize based on them. (folder_browser_ui_set_selection_state): Now just set the selection state if necessary and pass off to _scan_selection. Don't skip of we're trying to go from SELSTATE_SINGLE to SELSTATE_SINGLE, eg, as the flags of the selected messages may have changed. * folder-browser-ui.h: Prototype folder_browser_ui_scan_selection. * folder-browser.c (main_folder_changed): Call folder_browser_ui_scan_selection as the flags on a selected message may have just changed. svn path=/trunk/; revision=17893
* Fixes for bug #4480Jeffrey Stedfast2002-08-281-16/+31
| | | | | | | | | | | | | | | | | | 2002-08-27 Jeffrey Stedfast <fejj@ximian.com> Fixes for bug #4480 * folder-browser-factory.c (control_activate): Call folder_browser_reload() instead of refreshing the folder ourselves. * folder-browser.c (folder_browser_reload): New convenience function. If the folder-browser's folder is already loaded, refresh the contents, otherwise if the folder has not been loaded - try loading the folder again (it may have failed to open last time for some reason?). svn path=/trunk/; revision=17876
* Force a refresh of the menu sensitivity when the thread state changes.Not Zed2002-08-081-1/+6
| | | | | | | | | | | | | | | | | 2002-08-08 Not Zed <NotZed@Ximian.com> * folder-browser.c (folder_browser_toggle_threads): Force a refresh of the menu sensitivity when the thread state changes. 2002-08-07 Not Zed <NotZed@Ximian.com> * folder-browser-ui.c: Added EditSelectThread to only enable threaded mode if threaded is on. For #19941. Added some macro's to simplify the table. (folder_browser_ui_set_selection_state): Implement IS_THREADED mask. svn path=/trunk/; revision=17738
* Set the rule name to include the search string, for #10979.Not Zed2002-08-061-1/+8
| | | | | | | | | 2002-08-06 Not Zed <NotZed@Ximian.com> * folder-browser.c (folder_browser_search_menu_activated): Set the rule name to include the search string, for #10979. svn path=/trunk/; revision=17712
* Unref the driver before returning to main thread, so any closingNot Zed2002-08-061-87/+56
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2002-08-06 Not Zed <NotZed@Ximian.com> * mail-ops.c (filter_folder_filter): Unref the driver before returning to main thread, so any closing operations are handled async (as in fetch_mail_fetch()), for #28072. ** fixes for #24605. * mail-vfolder.c (vfolder_gui_add_from_mlist): Removed. * folder-browser.c (filter_type_uid,vfolder_type_uid): Changed to accept args directly. Fixed callers. (filter_mlist_uid,vfolder_mlist_uid): Use filter_type_uid instead of mlist variant. (vfolder_type_current): new function to handle setup of vfolders from the main menu. It now uses the vfolder_type_uid function the same as the popup. (vfolder_subject, vfolder_sender, vfolder_recipient, vfolder_mlist): Changed to use vfolder_type_current. (filter_type_current): Similar for filters. (filter_subject, filter_sender, filter_recipient, filter_mlist): Changed to use filter_type_current. * mail-autofilter.c (rule_from_message): Handle AUTO_MLIST type. (rule_from_mlist): (vfolder_rule_from_mlist): (filter_rule_from_mlist): Removed. (filter_gui_add_from_mlist): Removed. * mail-autofilter.h: Added AUTO_MLIST type. svn path=/trunk/; revision=17704
* Updated to use the new Follow-Up tags. Instead of storing a stringJeffrey Stedfast2002-08-031-22/+11
| | | | | | | | | | | | | | | | | | | | | | | | 2002-08-02 Jeffrey Stedfast <fejj@ximian.com> * mail-display.c (mail_display_render): Updated to use the new Follow-Up tags. Instead of storing a string containing the follow-up tag value, we now have to store the CamelMessageInfo. (mail_display_destroy): Unref the folder and the message-info. * folder-browser.c (followup_tag_complete): No longer needed. (on_right_clicked): Use the individual follow-up tags to decide whether or not to enable something. * message-list.c (ml_tree_value_at): Update to use the new Follow-Up tags. * mail-callbacks.c (flag_for_followup): Update to use the new MessageTagEditor API. (tag_editor_ok): Update this too. (flag_followup_completed): Updated this too. (flag_followup_clear): Set all the follow-up tag values to "". svn path=/trunk/; revision=17691
* Check for whether current_message is NULL as well as preview_shown (if wePeter Williams2002-07-251-1/+10
| | | | | | | | | | | | | | | 2002-07-24 Peter Williams <peterw@ximian.com> * mail-callbacks.c (do_mail_fetch_and_print): Check for whether current_message is NULL as well as preview_shown (if we tried to load the message and failed, as may happen in offline mode.) (done_message_selected): Only print if we actually got the message. * folder-browser.c (folder_browser_query_changed): New function, use this on the query_changed signal. Don't run the search if they only changed the dropdown. svn path=/trunk/; revision=17580
* Also perform a search on the query_changed signal, which is what getsPeter Williams2002-07-241-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2002-07-22 Peter Williams <peterw@ximian.com> * folder-browser.c (folder_browser_gui_init): Also perform a search on the query_changed signal, which is what gets emitted when the Search menu is used. 2002-07-22 Peter Williams <peterw@ximian.com> * e-filter-bar.c (do_advanced): Break out the code for creating the advanced rule editor into a separate function, so that... (menubar_activated): ... can also create an Advanced dialog; needed when the Search menu's advanced button is used. (option_changed): Change this to call the function instead of having all the code to itself. * e-search-bar.h: Add id's for the FIND_NOW and CLEAR actions so that other code (eg, EFilterBar) doesn't get confused by an old id being used when the search-activated signal gets emitted. * e-search-bar.c (clear_search): Set the item_id to CLEAR before emitting the signal. (search_now_verb_cb): Just make this emit query_changed, as the button in the toolbar does. svn path=/trunk/; revision=17550
* Lookup the label colour based on the label token, not an integer.Not Zed2002-07-161-16/+8
| | | | | | | | | | | | | | 2002-07-15 Not Zed <NotZed@Ximian.com> * message-list.c (ml_tree_value_at): Lookup the label colour based on the label token, not an integer. * folder-browser.c (on_right_click): Lookup the label name from the filter type. Sigh, a bunch of other code should do similar but i'm going to leave it as integers. (set_msg_label): Set the label directly. svn path=/trunk/; revision=17473
* Don't ever use the mail-display's current_message, this can causeJeffrey Stedfast2002-07-091-6/+6
| | | | | | | | | | | | | | | | | 2002-07-08 Jeffrey Stedfast <fejj@ximian.com> * mail-callbacks.c (redirect): Don't ever use the mail-display's current_message, this can cause problems. * mail-ops.c (get_message_free): Unref the gotten message. All of the callers seemed to think that they didn't have to unref the message. * mail-display.c (mail_display_set_message): Now refs the message. (mail_display_destroy): Unref the current_message if we still have ownership of it. svn path=/trunk/; revision=17387
* Increase the size of the escapped mlist buffer, we can't assume that thereJeffrey Stedfast2002-07-031-0/+1
| | | | | | | | | | | 2002-07-02 Jeffrey Stedfast <fejj@ximian.com> * folder-browser.c (on_right_click): Increase the size of the escapped mlist buffer, we can't assume that there can only ever be a single '_' in the mlist name afaik. (filter_type_uid): Ugh, we need to copy the fdata->source here. svn path=/trunk/; revision=17354
* Increase the size of the escapped mlist buffer, we can't assume that thereJeffrey Stedfast2002-07-031-1/+1
| | | | | | | | | | 2002-07-02 Jeffrey Stedfast <fejj@ximian.com> * folder-browser.c (on_right_click): Increase the size of the escapped mlist buffer, we can't assume that there can only ever be a single '_' in the mlist name afaik. svn path=/trunk/; revision=17353
* Fixes bug #27263.Jeffrey Stedfast2002-07-031-8/+32
| | | | | | | | | | | | | | | | | | | | | | | 2002-07-02 Jeffrey Stedfast <fejj@ximian.com> Fixes bug #27263. * folder-browser.c (filter_subject): Decide the filter source type based on the folder we are in (Sent/Outbox folders use FILTER_SOURCE_OUTGOING). (filter_sender): Same. (filter_recipient): Here too. (filter_mlist): And here. (on_right_click): Set the fdata->source. (filter_type_got_message): Pass fdata->source into filter_gui_add_from_message(). (filter_mlist_uid): Same. * mail-autofilter.c (filter_gui_add_from_message): Now takes a source argument so that we don't always add incoming rules. (filter_gui_add_from_mlist): Same. svn path=/trunk/; revision=17352
* (folder_browser_gui_init): Don't connectEttore Perazzoli2002-07-021-3/+1
| | | | | | | | folder_browser_search_do_search to "query_changed" since we don't want the search to happen unless the user clicks "Find Now", for consistency. svn path=/trunk/; revision=17347
* New functions to add additional search strings one at a time. Maybe itNot Zed2002-05-211-1/+11
| | | | | | | | | | | | | | | | 2002-05-18 Not Zed <NotZed@Ximian.com> * e-searching-tokenizer.c (e_searching_tokenizer_add_primary_search_string): (e_searching_tokenizer_add_secondary_search_string): New functions to add additional search strings one at a time. Maybe it should just split the word itself? (all): Basically, entirely rewritten. Now implements the Aho-Corasick multiple pattern search algorithm and handles multiple search strings and only ever has to decode any utf8 character once, etc etc. svn path=/trunk/; revision=16961
* Check for a label tag when doing a lookup on the COLOR column.Jeffrey Stedfast2002-05-171-28/+72
| | | | | | | | | | | | | | | | | | 2002-05-16 Jeffrey Stedfast <fejj@ximian.com> * message-list.c (ml_tree_value_at): Check for a label tag when doing a lookup on the COLOR column. * mail-config.c (mail_config_get_label_color_string): Return the colour in string format. * folder-browser.c (set_msg_label): Replaces colourise_msg and sets the "label" tag rather than the "colour" tag. * mail-preferences.c (mail_preferences_apply): Call mail_config_write() so that the settings get synced to disk. svn path=/trunk/; revision=16938
* 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
* If we are in a Sent/Drafts/Outbox folder, don't show the "Add Sender toJeffrey Stedfast2002-05-071-4/+17
| | | | | | | | | | 2002-05-06 Jeffrey Stedfast <fejj@ximian.com> * folder-browser.c (on_right_click): If we are in a Sent/Drafts/Outbox folder, don't show the "Add Sender to Addressbook" menu item. svn path=/trunk/; revision=16692
* Fix the filter_menu static array to use the E_POPUP_MENU_CC macros sinceJeffrey Stedfast2002-05-021-1/+1
| | | | | | | | | | | | 2002-05-01 Jeffrey Stedfast <fejj@ximian.com> * folder-browser.c (on_right_click): Fix the filter_menu static array to use the E_POPUP_MENU_CC macros since we plan on using custom closures for this. (on_right_click): Fixed so that you can "Edit as New" for any Sent folder and not just the local Sent folder. svn path=/trunk/; revision=16657
* Fix the filter_menu static array to use the E_POPUP_MENU_CC macros sinceJeffrey Stedfast2002-05-021-9/+10
| | | | | | | | | | 2002-05-01 Jeffrey Stedfast <fejj@ximian.com> * folder-browser.c (on_right_click): Fix the filter_menu static array to use the E_POPUP_MENU_CC macros since we plan on using custom closures for this. svn path=/trunk/; revision=16656
* Update to use E_POPUP_MENU_PIXMAP_WIDGET_ITEM_CC so that our callback getsJeffrey Stedfast2002-04-251-6/+6
| | | | | | | | | | | 2002-04-24 Jeffrey Stedfast <fejj@ximian.com> * folder-browser.c (label_menu): Update to use E_POPUP_MENU_PIXMAP_WIDGET_ITEM_CC so that our callback gets called without per-item closure rather than being called with NULL and causing a segfault. svn path=/trunk/; revision=16578
* Free the loading/pending/new/loaded_uid string buffers.Jeffrey Stedfast2002-04-201-2/+7
| | | | | | | | | 2002-04-19 Jeffrey Stedfast <fejj@ximian.com> * folder-browser.c (folder_browser_finalise): Free the loading/pending/new/loaded_uid string buffers. svn path=/trunk/; revision=16546
* Bumped required gal version number to 0.19.99.11.Christopher James Lahey2002-04-181-39/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2002-04-17 Christopher James Lahey <clahey@ximian.com> * configure.in: Bumped required gal version number to 0.19.99.11. From addressbook/ChangeLog: 2002-04-17 Christopher James Lahey <clahey@ximian.com> * gui/component/select-names/e-select-names.c (e_select_names_create_categories): Changed this to use ECategoriesMasterListOptionMenu. * gui/component/select-names/e-select-names.c (section_right_click_cb), gui/widgets/e-addressbook-reflow-adapter.c, gui/widgets/e-addressbook-view.c: Updated these to match the new EPopupMenu. From calendar/ChangeLog: 2002-04-17 Christopher James Lahey <clahey@ximian.com> * gui/e-calendar-table.c, gui/e-day-view.c, gui/e-week-view.c, gui/dialogs/meeting-page.c: Updated these to match the new EPopupMenu. From mail/ChangeLog: 2002-04-17 Christopher James Lahey <clahey@ximian.com> * folder-browser.c, mail-display.c: Updated these to match the new EPopupMenu. From shell/ChangeLog: 2002-04-17 Christopher James Lahey <clahey@ximian.com> * e-activity-handler.c: Updated this to match the new EPopupMenu. svn path=/trunk/; revision=16498
* Handle broken multipart/signed parts such as where the signature part isJeffrey Stedfast2002-04-181-5/+0
| | | | | | | | | | | | | 2002-04-17 Jeffrey Stedfast <fejj@ximian.com> * mail-format.c (handle_multipart_signed): Handle broken multipart/signed parts such as where the signature part is not the last part (as it should be). Fixes bug #23583. * folder-browser.c (message_list_drag_data_get): Free the temp GByteArrays. svn path=/trunk/; revision=16495
* Handle broken multipart/signed parts such as where the signature part isJeffrey Stedfast2002-04-181-10/+15
| | | | | | | | | | | | | | | | | 2002-04-17 Jeffrey Stedfast <fejj@ximian.com> * mail-format.c (handle_multipart_signed): Handle broken multipart/signed parts such as where the signature part is not the last part (as it should be). Fixes bug #23583. * folder-browser.c (message_list_drag_data_get): Free the temp GByteArrays. (setup_popup_icons): Connect to the destroy signal on the pixmap objects using gtk_object_unref as the callback - this way when the popup menu gets destroyed, the pixmaps clean themselves up. (on_right_click): Same idea for the label_menu. svn path=/trunk/; revision=16494
* Just use g_basename. (mlf_finalize): Free the real_path.Jeffrey Stedfast2002-04-181-0/+1
| | | | | | | | | | | | 2002-04-17 Jeffrey Stedfast <fejj@ximian.com> * mail-local.c (mail_local_folder_construct): Just use g_basename. (mlf_finalize): Free the real_path. * folder-browser.c (on_right_click): Unref the GdkGC so we don't leak it. svn path=/trunk/; revision=16493
* Set the window title/icon here instead.Jeffrey Stedfast2002-04-041-4/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-3/+5
| | | | | | | | | | | | | | | | | | 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
* Changed to get the address from the messageinfo of the current selectedNot Zed2002-03-261-34/+128
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2002-03-26 Not Zed <NotZed@Ximian.com> * mail-callbacks.c (addrbook_sender): Changed to get the address from the messageinfo of the current selected message rather than from the current_message. (requeue_mail_reply): Only re-queue if we got a message, could potentially cause an infinite loop trying to get a message it can't. (reply_to_sender, reply_to_list, reply_to_all): Always pass NULL as the msg to mail_replay, this forces mail_reply to always load the message anew. Fixes FIXME's and popup behaviour. Basically this and stuff below fixes #8542. Its probably not the nicest way, but it works. (mark_as_important): Use the flags properly, we can set all flags to any combination of on or off as we want, so we just need to call set_flags once, thats why its set flags and not set_option. (toggle_flags): Fixed the logic here also, so we dont have to call set_message_flags more than once, and also implement a true toggle for any number of simultaneous flags (whilst simplifying code). * mail-vfolder.c (vfolder_gui_add_from_mlist): Removed the 'msg' parameter, its not used, fixed callers. * folder-browser.c (on_right_click): Lookup the mlist from messageinfo, and change the 'no selected' logic slightly, fixes most of #8542. (filter_data_free): Free filter data struct. (vfolder_type_got_message): Actually create vfolder once we have the message we need to use for it. Code could probably be changed to use messageinfo instead. (vfolder_type_uid): Lookup a message based on uid, and use that to create a vfolder based on type. (vfolder_subject_uid, vfolder_sender_uid, vfolder_receipient_uid, vfolder_mlist_uid): Callbacks for the popup menu, used to create rules based on the uid rather than the message, which it loads as required. (filter_type_got_message, filter_*_uid): Similar to vfolder stuff above. (filter_menu[]): Changed callbacks to popup specific ones, not folderbrowser specific ones used by bonobo. (on_right_click): Initialise callback data for the filter submenu so it can look up messages for callback implementation. svn path=/trunk/; revision=16253
* Add accelerators for "Find Now" and "Clear".Ettore Perazzoli2002-03-211-2/+5
| | | | | | | | | | | | | * e-search-bar.c (update_bonobo_menus): Add accelerators for "Find Now" and "Clear". * e-filter-bar.h: Change search labels as suggested in Anna's redesign [#16246]. * folder-browser.c: Reorder folder_browser_search_menu_items according to #16246. svn path=/trunk/; revision=16219
* [Search bar re-design implementation, Take 2.]Ettore Perazzoli2002-03-191-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * e-search-bar.c (clear_verb_cb): New. (setup_standard_verbs): New. (e_search_bar_set_ui_component): Call it if a new BonoboUIComponent is set. (append_xml_menu_item): New helper function. (update_bonobo_menus): Use it. Also add a "Clear" menu item. (e_search_bar_construct): @menu_items can be NULL now. (e_search_bar_new): Same here. (set_menu): Work with NULL items. * e-filter-bar.c (menubar_activated): Don't handle E_FILTERBAR_RESET_ID anymore. * e-filter-bar.h: Remove `E_FILTERBAR_RESET_ID' and `E_FILTERBAR_RESET'. * folder-browser.c: Remove E_FILTERBAR_RESET menu entry. * gui/cal-search-bar.c: Removed `search_menu_items'. (cal_search_bar_menu_activated): Removed. (cal_search_bar_class_init): Don't install. (cal_search_bar_construct): No menu items here. * gui/component/addressbook.c (addressbook_menu_activated): Removed. (addressbook_factory_new_control): Don't connect anymore, as this signal has been removed from the ESearchBar. (addressbook_factory_new_control): No more custom menu items here. svn path=/trunk/; revision=16194
* Draw colour rectangles for each of the colour items and set a closure onJeffrey Stedfast2002-03-161-9/+95
| | | | | | | | | | 2002-03-15 Jeffrey Stedfast <fejj@ximian.com> * folder-browser.c (on_right_click): Draw colour rectangles for each of the colour items and set a closure on each. (colourise_msg): colourise the message, yo. svn path=/trunk/; revision=16187
* New callback to set a colour on a message.Jeffrey Stedfast2002-03-161-33/+114
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2002-03-15 Jeffrey Stedfast <fejj@ximian.com> * mail-callbacks.c (colour_msg): New callback to set a colour on a message. * folder-browser.c (on_right_click): Setup our popup icons and stuff. Also add a submenu for Labels. * mail-display.c (pixmap_press): Sync up with the new EPopupMenu API. Note: This code can probably now be fixed to use per-item closures - yay! * mail-accounts.c (construct): Connect to the label GtkEntry's and GnomeColorPickers and also to the Restore Defaults button. * mail-config.c (mail_config_get_label_name): New function to get a label's name. (mail_config_set_label_name): New function to set the label name. (mail_config_get_label_color): New function to get the label color. (mail_config_set_label_color): New function to set the label color. (config_read): Read in the config options for the labels and their colors. (mail_config_write_on_exit): Save the label options. svn path=/trunk/; revision=16186
* expand the relative urls of the object at the point so that relativeLarry Ewing2002-03-161-1/+1
| | | | | | | | | | | 2002-03-15 Larry Ewing <lewing@ximian.com> * mail-display.c: expand the relative urls of the object at the point so that relative images can be saved correctly. * folder-browser.c: add a closing quote in a comment. svn path=/trunk/; revision=16181
* Set the folder on a folder-browser object.Jeffrey Stedfast2002-03-131-4/+24
| | | | | | | | | | | | | | | 2002-03-12 Jeffrey Stedfast <fejj@ximian.com> * folder-browser.c (folder_browser_set_folder): Set the folder on a folder-browser object. * folder-browser-window.c (folder_browser_window_new): Simple window to display a folder-browser. * mail-callbacks.c (view_digest): New callback to open a folder-browser-window with a digest folder. svn path=/trunk/; revision=16127
* Made all the acclerators in the context menu on a message work. (There areAnna Marie Dirks2002-03-081-14/+14
| | | | | | | | 2002-03-07 Anna Marie Dirks <anna@ximian.com> * folder-browser.c: Made all the acclerators in the context menu on a message work. (There are 22 different menu items here, so picking a unique accelerator for each label was tricky, and some of the choices I made are different from the ones I would have made if there weren't so many stinking menu items.) svn path=/trunk/; revision=15978
* Added more debugging code to help figure out why a certain image isn'tJeffrey Stedfast2002-03-051-2/+2
| | | | | | | | | | 2002-03-04 Jeffrey Stedfast <fejj@ximian.com> * mail-display.c (load_http): Added more debugging code to help figure out why a certain image isn't loading - looks like gnome-vfs is getting a premature EOF? svn path=/trunk/; revision=15910
* Connect to the focus-in/out events on the message-list so that we canJeffrey Stedfast2002-03-051-0/+28
| | | | | | | | | | | | | | | | | | | | | | | 2002-03-04 Jeffrey Stedfast <fejj@ximian.com> * folder-browser.c (my_folder_browser_init): Connect to the focus-in/out events on the message-list so that we can disable the EditInvertSelection and EditSelectThread menu items when the message-list is not in focus. * folder-browser-ui.c (folder_browser_ui_message_list_unfocus): New function to de-sensitize some items if the message-list is not in focus. (folder_browser_ui_message_list_focus): New function to sensitize some items if the message-list is not in focus. * mail-callbacks.c (invert_selection): Only invert the selection of the message-list if it is the widget in focus. * message-list.c (message_list_select): Do not explicitly grab the focus here. svn path=/trunk/; revision=15909
* rename folder_browser_search_query_changed to this.Chris Toshok2002-02-251-2/+4
| | | | | | | | | | | | 2002-02-24 Chris Toshok <toshok@ximian.com> * folder-browser.c (folder_browser_search_do_search): rename folder_browser_search_query_changed to this. (folder_browser_gui_init): hook both query_changed and search_activated up to folder_browser_search_do_search, preserving current behavior. svn path=/trunk/; revision=15829
* oops, Ximian is spelled Ximian, not Ximain. :-)Jeffrey Stedfast2002-02-151-1/+1
| | | | svn path=/trunk/; revision=15725
* Implement. (drag_data_delete_cb): Implement. (do_attachment_header): SetupJeffrey Stedfast2002-02-141-1/+2
| | | | | | | | | | | 2002-02-13 Jeffrey Stedfast <fejj@ximian.com> * mail-display.c (drag_data_get_cb): Implement. (drag_data_delete_cb): Implement. (do_attachment_header): Setup Drag & Drop. This implements bugzilla bug #1066. svn path=/trunk/; revision=15721
* Fixed a bug.Jeffrey Stedfast2002-02-131-3/+3
| | | | | | | | | | | | | | | | | | | | | 2002-02-12 Jeffrey Stedfast <fejj@ximian.com> * message-tag-followup.c (set_widget_values): Fixed a bug. * mail-callbacks.c (flag_for_followup): If only 1 message is selected and it happens to already be marked for follow-up, set the value of the flag on the editor so the settings are restored. * folder-browser-ui.c: Set the pixmaps on MarkAsRead, MarkAsUnread and MarkAsImportant bonobo verbs. Also connect to flag-for-followup verb. (folder_browser_ui_set_selection_state): Added MessageFollowUpFlag verb to the array of verb strings. * folder-browser.c: Set key accelerators on the follow-up right-click menu items to match Outlook. svn path=/trunk/; revision=15702
* Implemented. (on_right_click): Do better enabling/hiding of unwantedJeffrey Stedfast2002-02-121-11/+27
| | | | | | | | | | 2002-02-11 Jeffrey Stedfast <fejj@ximian.com> * folder-browser.c (followup_tag_complete): Implemented. (on_right_click): Do better enabling/hiding of unwanted flag-for-followup options. svn path=/trunk/; revision=15675
* New flag-for-followup tag editor dialog.Jeffrey Stedfast2002-02-091-3/+3
| | | | | | | | | | | | | | | | | | 2002-02-08 Jeffrey Stedfast <fejj@ximian.com> * message-tag-followup.[c,h]: New flag-for-followup tag editor dialog. * mail-callbacks.c (flag_for_followup): New callback that pops up a flag-for-followup editor dialog. (flag_followup_completed): Marks all flag-for-followup'd messages as 'complete'. (flag_followup_clear): Clears all flag-for-followup tags from the selected messages. * message-tags.glade: glade file for tag editors. svn path=/trunk/; revision=15632
* Base class for a message tag editor.Jeffrey Stedfast2002-02-091-2/+39
| | | | | | | | | | | | | | | | | 2002-02-08 Jeffrey Stedfast <fejj@ximian.com> * message-tag-editor.[c,h]: Base class for a message tag editor. * folder-browser.c (on_right_click): Setup the hide/enable masks for "Flag for Follow-up" * mail-callbacks.c (confirm_expunge): Instead of hiding deleted messages and then expunging, disable the use of the message-list completely during the expunge operation. (expunged_folder): Re-enable the use of the message-list widget here. svn path=/trunk/; revision=15626
* Bumped the required version of gal.Christopher James Lahey2002-02-071-4/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2002-02-07 Christopher James Lahey <clahey@ximian.com> * configure.in: Bumped the required version of gal. From addressbook/ChangeLog: 2002-02-07 Christopher James Lahey <clahey@ximian.com> * gui/widgets/e-addressbook-view.c (e_addressbook_view_setup_menus): Changed this function to use the new GalViewMenus which takes a GalViewInstance, instead of a GalViewCollection. From calendar/ChangeLog: 2002-02-07 Christopher James Lahey <clahey@ximian.com> * gui/e-tasks.c (e_tasks_setup_view_menus), gui/gnome-cal.c (gnome_calendar_setup_view_menus): Made these use the new GalViewMenus stuff. From mail/ChangeLog: 2002-02-07 Christopher James Lahey <clahey@ximian.com> * folder-browser.c, folder-browser.h, folder-browser-ui.c, folder-browser-ui.h (folder_browser_ui_setup_view_menus, folder_browser_ui_discard_view_menus): Changed this to use the new GalViewMenus stuff. Made these exported functions. * mail-callbacks.c, message-browser.c: Changed these to not pass the now removed row parameter to message_list_select. * mail-config.c, mail-config.h (mail_config_folder_to_safe_url): Refactored this out of mail_config_folder_to_cachename. * message-list.c, message-list.h (message_list_select): Removed the row argument. Changed this to use the new function in ETree for finding the next cursor row that matches a test. (message_list_construct): Handle a failed construction of the ETree here. (message_list_setup_etree, save_tree_state): Don't load or save the header state. folder-browser-ui.c deals with this now. From views/ChangeLog: 2002-02-07 Christopher James Lahey <clahey@ximian.com> * addressbook/galview.xml, calendar/galview.xml, mail/galview.xml, tasks/galview.xml: Added default-view parameters. * mail/As_Sent_Folder.galview: New galview. * mail/Makefile.am, mail/galview.xml: Added As_Sent_Folder galview. From widgets/ChangeLog: 2002-02-07 Christopher James Lahey <clahey@ximian.com> * menus/gal-view-menus.c, menus/gal-view-menus.h (gal_view_menus_new): Made this take a GalViewInstance instead of a GalViewCollection. Reworked most of this to utilize the interfaces provided by GalViewInstance. svn path=/trunk/; revision=15592
* Removed references to NEEDS_REPLY.Jeffrey Stedfast2002-02-071-24/+1
| | | | | | | | | | | | | | | | 2002-02-06 Jeffrey Stedfast <fejj@ximian.com> * message-list.c: Removed references to NEEDS_REPLY. * mail-callbacks.c (mark_as_needing_reply): Removed. (mark_as_not_needing_reply): Removed. (toggle_need_reply): Removed. * folder-browser.c (on_right_click): Remove CAN_MARK_NEEDS_REPLY stuff, this is going to be implemented in an entirely different way. svn path=/trunk/; revision=15585
* Implements bug #15692Jeffrey Stedfast2002-01-241-11/+57
| | | | | | | | | | | | | | 2002-01-23 Jeffrey Stedfast <fejj@ximian.com> Implements bug #15692 * folder-browser.c (html_button_press_event): New callback that checks to make sure that the mouse isn't over a link or image in the html view and then calls the on_right_click handler after getting the appropriate args. (my_folder_browser_init): Connect to the button_press_event here. svn path=/trunk/; revision=15437
* Avoid embedding <object> tags when we are printing.Jon Trowbridge2001-12-181-1/+1
| | | | | | | | | | | | | | | | 2001-12-17 Jon Trowbridge <trow@ximian.com> * mail-format.c (attachment_header): Avoid embedding <object> tags when we are printing. (handle_multipart_signed): Don't do the click-for-info signature stuff when we are printing. (handle_via_bonobo): Don't embed an <object> tag if we are printing. * folder-browser.c: Changed context_menu[] array so that we can print when the preview pane is closed. svn path=/trunk/; revision=15139
* Fixed for mail_content_loaded's new signature.Jon Trowbridge2001-12-121-20/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-12-11 Jon Trowbridge <trow@ximian.com> * mail-identify.c (mail_identify_mime_part): Fixed for mail_content_loaded's new signature. * mail-format.c (attachment_header): Don't convert URLs, etc. if we are printing. (write_address): Don't convert addresses to mailto: links if we are printing. (write_one_text_plain_chunk): Add a printing flag, that we pass along to mail_text_write. (handle_text_plain): Pass our printing flag to write_one_text_plain_chunk. (mail_get_message_rfc822): Don't unneccesarily convert URLs. (mail_content_loaded): Add a GtkHTML parameter. * mail-display.c (mail_display_initialize_gtkhtml): Added. Breaks all of the signal hookups out of mail_display_new. (mail_display_new): Call mail_display_initialize_gtkhtml. (mail_text_write): Don't convert URLs, etc., if we are printing. Lots of other changes to pass around GtkHTML/GtkHTMLStream objects. * mail-callbacks.c (do_mail_print): Call mail_display_initialize_gtkhtml on our GtkHTML object. * folder-browser.c (update_status_bar): Make the status bar more useful when you have a large number of hidden messages. svn path=/trunk/; revision=14997
* Implements marking messages as "Need Reply".Jon Trowbridge2001-12-101-9/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Implements marking messages as "Need Reply". 2001-12-09 Jon Trowbridge <trow@ximian.com> * mail-need-reply.xpm: Added a really, really ugly and awful icon to symbolize "message needs a reply". * Makefile.am (EXTRA_DIST): Added mail-need-reply.xpm. 2001-12-09 Jon Trowbridge <trow@ximian.com> * camel-folder-summary.c: Add "NeedsReply" to the flag_names array for CAMEL_MESSAGE_NEEDS_REPLY. * camel-folder-summary.h: Added CAMEL_MESSAGE_NEEDS_REPLY flag. 2001-12-09 Jon Trowbridge <trow@ximian.com> * vfoldertypes.xml: Add "Needs Reply" option to different status types. * filtertypes.xml: Add "Needs Reply" option to different status types. 2001-12-09 Jon Trowbridge <trow@ximian.com> * message-list.c: #include "art/mail-need-reply.xpm". (ml_tree_value_at): Adjust magic numbers, show "Need Reply" icon if the message needs reply. (message_list_create_extras): Adjust magic numbers to add new icon. (on_click): Changed to toggle between unread, read, and need reply when the status icon is clicked. * mail-callbacks.c (mark_as_needing_reply): Added. (mark_as_not_needing_reply): Added. Add "set" value to struct post_send_data. (composer_sent_cb): Use both "flags" and "set" elements of post_send_data when setting message flags. (mail_reply): Clear "Needs Reply" flag when we actually reply to a message. * folder-browser.c: Changed flag values to be given by bit-shifting (1<<5) vs. base-ten (32). Added CAN_MARK_DOESNT_NEED_REPLY flag. Added "Mark as Needing Reply" and "Mark as Not Needing Reply" elements to context menu. (on_right_click): Hide "Mark as (Not) Needing Reply" context menu elements as appropriate. svn path=/trunk/; revision=14946
* merged from evoution-1-0-branchNot Zed2001-11-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-11-25 Not Zed <NotZed@Ximian.com> * mail-config.c (config_read): Enable news accounts that exist always, since no gui for it. 2001-11-20 Jeffrey Stedfast <fejj@ximian.com> * message-list.c (message_list_select): 'n' shouldn't wrap if 'p' doesn't. * mail-format.c (format_mime_part): Make sure the mime-type is non-NULL before passing it off to mail_lookup_handler(). 2001-11-20 Not Zed <NotZed@Ximian.com> * folder-browser-ui.c: Disable search if no message loaded/viewed. Also for #14348. * folder-browser.c: Disable "Add sender to addressbook" if we dont have a message loaded (it wont work). For #14348. 2001-11-20 Jeffrey Stedfast <fejj@ximian.com> * mail-display.c (load_content_loaded): Make sure the mail-display object is still "alive" before accessing any of it's data. svn path=/trunk/; revision=14796
* Was x_evolution_message_parse from folder-browser.c. A space char is noJeffrey Stedfast2001-11-101-42/+5
| | | | | | | | | | | | | | | | | | | | 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
* Disconnect from the message_list_built function so we dont do it every22001-11-031-3/+13
| | | | | | | | | | | | | | | | | | | | | | | 2001-11-02 <NotZed@Ximian.com> * message-browser.c (message_browser_message_list_built): Disconnect from the message_list_built function so we dont do it every time the list is rebuilt. * mail-callbacks.c (composer_send_cb): Disable autosave when we're sending mail. (composer_sent_cb): Re-enable autosave. * folder-browser-ui.c (fbui_sensitize_timeout): Make sure we reset any data we're using on the folderbrowser before doing anything 'cause things could vanish while we're doing it, and also ref/unref the folderbrowser so it doesn't vanish while w'ere working. * folder-browser.c (folder_browser_set_ui_component): If we are changing the ui comp, remove any pending timeouts. For #13719. svn path=/trunk/; revision=14575
* fix cut & paste from the message body.Larry Ewing2001-11-021-2/+1
| | | | | | | | | 2001-11-01 Larry Ewing <lewing@ximian.com> * folder-browser.c (folder_browser_copy): fix cut & paste from the message body. svn path=/trunk/; revision=14568
* Don't warn the user if the source and destination folders are the same.Jeffrey Stedfast2001-10-301-1/+1
| | | | | | | | | 2001-10-29 Jeffrey Stedfast <fejj@ximian.com> * mail-ops.c (transfer_messages_transfer): Don't warn the user if the source and destination folders are the same. svn path=/trunk/; revision=14410
* Fixed a warning by #if 0ing out this function.Christopher James Lahey2001-10-301-1/+26
| | | | | | | | | | | | | | | 2001-10-29 Christopher James Lahey <clahey@ximian.com> * e-searching-tokenizer.c (search_info_set_match_size_increase): Fixed a warning by #if 0ing out this function. * folder-browser.c, folder-browser.h (on_selection_changed): Update status bar in an idle call. Fixes Ximian bug #13929. * mail-folder-cache.c (folder_renamed, store_folder_renamed): Fixed some warnings here. svn path=/trunk/; revision=14372
* Fix the focus check. It's not fb->message_list that has focus, it's one ofDan Winship2001-10-301-1/+1
| | | | | | | | * folder-browser.c (folder_browser_copy): Fix the focus check. It's not fb->message_list that has focus, it's one of its children. #13616. svn path=/trunk/; revision=14370
* Copy the folder's full_name before trying to use it to rename.92001-10-291-6/+13
| | | | | | | | | | | | | | | | | | | | | 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
* Deactivate the Print right-click menu option if the message isn't loaded.Jeffrey Stedfast2001-10-281-8/+8
| | | | | | | | | 2001-10-28 Jeffrey Stedfast <fejj@ximian.com> * folder-browser.c: Deactivate the Print right-click menu option if the message isn't loaded. Fixes bug #10346. svn path=/trunk/; revision=14287
* More fixing of the license texts.Ettore Perazzoli2001-10-281-11/+11
| | | | svn path=/trunk/; revision=14217
* Work around something that we think is a GtkHTML bug, where sometimes theDan Winship2001-10-271-0/+3
| | | | | | | | | | | | | | | | | | | * folder-browser.c (etree_key): Work around something that we think is a GtkHTML bug, where sometimes the adjustments have slightly bogus values and scrolling ends up working backwards. (Ximian 4939) * mail-display.c (do_signature, do_attachment_header): Set the icon to be 24x24 here so that (assuming it's not a thumbnail), no resizes will have to be queued later. (There's still a bug with the text to the left of the button being drawn twice for some reason though.) * mail-callbacks.c (delete_msg): Fix a bug here that makes deleting multiple messages cause a gratuitous message body fetch. (Ximian 12355) svn path=/trunk/; revision=14172
* So apparently the uicomp can just 'vanish' while we're using it. Joy. Take52001-10-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-15/+6
| | | | | | | | | | | | | 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
* all this crap just to make the print icon desensitive at the right time.42001-10-241-5/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | fix for #10346 2001-10-24 <NotZed@Ximian.com> * message-browser.c (message_browser_message_loaded): Call ui_message_loaded when we are. * folder-browser-factory.c (control_activate): Freeze/thaw around all updates. (control_deactivate): Freeze/thaw around all updates. * folder-browser.c (folder_browser_init): Setup a hashtable to keep track of *our* sensitise state, so we can optimise pushes to bonobo. (folder_browser_finalise): Free hash here. (folder_browser_set_message_preview): Call a ui_message_loaded, even though it isn't, so it updates sensitivities right. (done_message_selected): Call ui_message_loaded when it really is, rather than the very fucked up idea of reversing the loaded_uid check. * folder-browser-ui.c (folder_browser_ui_set_selection_state): Dont enable the message-enabled options if the message display is hidden, e.g. print, view headers, etc. (folder_browser_ui_rm_all): Forget sensitise state. (fbui_sensitise_item): Sensitise items via a current-state table, so we dont have to do bonobo calls every time. (folder_browser_setup_property_menu): Call sensitise_item. (folder_browser_ui_add_message): (folder_browser_ui_add_global): Leave current set_prop "sensitive" for the stop button, so it doesn't get lost by the stuff in mail-mt.c (fbui_real_sensitize_items): Removed. (fbui_sensitize_timeout): Cleaned up, use sensitise_item to do work. (folder_browser_ui_message_loaded): Setup sensitive based on preview_shown too. (folder_browser_ui_set_selection_state): And here too. svn path=/trunk/; revision=13972
* Move the folder sync code along with a few other things fromJeffrey Stedfast2001-10-231-39/+51
| | | | | | | | | | | | 2001-10-22 Jeffrey Stedfast <fejj@ximian.com> * folder-browser.c (folder_browser_destroy): Move the folder sync code along with a few other things from folder_browser_finalise() into here instead. (folder_browser_finalise): Moved some cleanup functions into destroy. svn path=/trunk/; revision=13892
* fixed bug #13151Jeffrey Stedfast2001-10-221-2/+2
| | | | svn path=/trunk/; revision=13858
* Clear variables once done, for debugging. (mail_vfolder_add_uri,12001-10-221-28/+25
| | | | | | | | | | | | | | | | | | | | | | | | | 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
* folder-browser.c: (folder_browser_set_message_preview): Return do nothingMichael Zucci2001-10-171-6/+16
| | | | | | | | | | | | | | folder-browser.c: (folder_browser_set_message_preview): Return do nothing if we're destroyed (message_list == NULL). (folder_browser_search_query_changed): " (folder_browser_toggle_preview): " (folder_browser_toggle_threads): " (folder_browser_toggle_hide_deleted): " (folder_browser_set_message_display_style): " (folder_browser_charset_changed): " All for #12613. svn path=/trunk/; revision=13703
* Added an async_event handler to store_info. (mail_note_store): Setup asyncMichael Zucci2001-10-171-75/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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-7/+80
| | | | | | | | | | | | | | | | | | | | | 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
* Remove the mark_seen timeout.Jeffrey Stedfast2001-10-161-3/+8
| | | | | | | | | 2001-10-15 Jeffrey Stedfast <fejj@ximian.com> * folder-browser.c (folder_browser_destroy): Remove the mark_seen timeout. svn path=/trunk/; revision=13689
* Make sure the mail-display is non-NULL.Jeffrey Stedfast2001-10-101-1/+1
| | | | | | | | | 2001-10-09 Jeffrey Stedfast <fejj@ximian.com> * folder-browser.c (done_message_selected): Make sure the mail-display is non-NULL. svn path=/trunk/; revision=13535
* Create a chaqrset picker submenu in the View menu.Jeffrey Stedfast2001-10-101-1/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-10-09 Jeffrey Stedfast <fejj@ximian.com> * folder-browser-ui.c (folder_browser_ui_add_message): Create a chaqrset picker submenu in the View menu. * mail-format.c (mail_format_raw_message): Pass the mail-display to get_data_wrapper_text. (get_data_wrapper_text): Use the user's override charset if one is provided, otherwise user the user's default charset. (handle_text_plain): Pass along the mail-display to get_data_wrapper_text. (handle_application_pgp): Same. (handle_text_enriched): Here too. (mail_get_message_body): Pass NULL as the mail-display to get_data_wrapper_text since we don't have access to a mail-display. * mail-display.c (mail_display_set_charset): New function to set a charset on the maildisplay. Once set, the message is redisplayed using the new charset. (mail_display_destroy): Free the charset. * folder-browser.c (folder_browser_charset_changed): New callback for when a user overrides the message charset. svn path=/trunk/; revision=13530
* Update for folder_flags.Dan Winship2001-10-091-2/+1
| | | | | | | | | | | | | | | | * mail-local.c (mlf_set_folder, mlf_unset_folder): Update for folder_flags. * folder-browser-ui.c (folder_browser_ui_add_list): Check CAMEL_FOLDER_IS_TRASH flag rather than checking CAMEL_IS_VTRASH_FOLDER. * folder-browser.c (folder_browser_toggle_hide_deleted): Likewise * message-list.c (message_list_set_folder): Likewise. (message_list_set_hidedeleted): Remove redundant trash check. svn path=/trunk/; revision=13510
* reformatted the menu tables so they're a bit more bloody readable.52001-10-061-67/+30
| | | | | | | | | | | | | | 2001-10-05 <NotZed@Ximian.com> * folder-browser.c: reformatted the menu tables so they're a bit more bloody readable. * mail-folder-cache.c (mail_note_store): Hook into subscribed/unsubscribed events. Only 'add/remove' folders from the add/removed events if we aren't subscribed, otherwise use the subscribed events. Rest of fix for #11831 svn path=/trunk/; revision=13472
* Show "nn sent" as total in sent folder, rather than just 'total'.42001-10-051-1/+3
| | | | | | | | | | | | 2001-10-04 <NotZed@Ximian.com> * folder-browser.c (update_status_bar): Show "nn sent" as total in sent folder, rather than just 'total'. * mail-folder-cache.c (update_1folder): Also show total message count for sent_folder. svn path=/trunk/; revision=13429
* Set 'to' -> 'recipient' data for search object. #6199.32001-10-041-0/+4
| | | | | | | | | 2001-10-03 <NotZed@Ximian.com> * folder-browser.c (folder_browser_config_search): Set 'to' -> 'recipient' data for search object. #6199. svn path=/trunk/; revision=13399
* If we have hide deleted set, then dont count deleted messages in the32001-10-041-1/+19
| | | | | | | | | | 2001-10-03 <NotZed@Ximian.com> * folder-browser.c (update_status_bar): If we have hide deleted set, then dont count deleted messages in the 'total' messages count. Fixes #6591. svn path=/trunk/; revision=13381
* 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-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* removed mail-vtrash.cJeffrey Stedfast2001-09-291-1/+1
| | | | svn path=/trunk/; revision=13221
* Deal with destroy vs finalise semantics. Only destroy widgets here.52001-09-261-16/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Update the status bar here, assuming we've just been activated.02001-09-211-0/+4
| | | | | | | | | | | | | | | | | | | | | 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
* Register vfolder sources here.02001-09-211-2/+1
| | | | | | | | | | | | | | | | | | | | | 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
* General cleanup of mail debug printfs.92001-09-191-2/+82
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Merged into folder_browser_new: nothing ever changes the URI of anDan Winship2001-09-191-24/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | * folder-browser.c (folder_browser_set_uri): Merged into folder_browser_new: nothing ever changes the URI of an existing folder browser any more. (folder_browser_new): Make this take a uri argument and do the work folder_browser_set_uri used to do, except that we set fb->uri right away, so that if the folder browser's control is activated before got_folder() gets called, then folder_browser_ui_add_list() will have access to the correct uri for purposes of setting ViewThreaded, etc. Fixes #4913. (got_folder): Don't set fb->uri here since it will already have been set. Don't call message_list_set_threaded, since it should be a noop now (and if it's not, it would make the message list not match the menu item). * folder-browser-ui.c (folder_browser_ui_add_list): Remove some code that was failing to work around the problems above. * message-browser.c (message_browser_new): Pass uri to folder_browser_new, remove call to set_uri. * folder-browser-factory.c (folder_browser_factory_new_control): Likewise. Also fix a s/destroy/unref/ in an error cleanup. svn path=/trunk/; revision=12954
* Dynamically create the folder type list from camel. (reconfigure_clicked):02001-09-111-24/+2
| | | | | | | | | | | | | | 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
* Use the new e_mkdtemp function.Jeffrey Stedfast2001-08-251-14/+6
| | | | | | | | | | | 2001-08-24 Jeffrey Stedfast <fejj@ximian.com> * mail-display.c (launch_cb): Use the new e_mkdtemp function. * folder-browser.c (message_list_drag_data_get): Use the new e_mkdtemp function. svn path=/trunk/; revision=12462
* Check to make sure we actually have drag data.Jeffrey Stedfast2001-08-241-1/+5
| | | | | | | | | | | | 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
* Rename to fbui_real_sensitize_items. Now we queue a change and set up aPeter Williams2001-08-221-0/+3
| | | | | | | | | | | | | | | | | | | | | | 2001-08-21 Peter Williams <peterw@ximian.com> * folder-browser-ui.c (fbui_sensitize_items): Rename to fbui_real_sensitize_items. Now we queue a change and set up a timeout, making sure weed out redundant changes, fixing flicker. (fbui_sensitize_timeout): New function. The timeout. (fbui_real_sensitize_items): Semi-new function. Rename of old fbui_sensitize_items. (folder_browser_ui_set_selection_state): Pass the FB instead of only the UIC to sensitize_items. (folder_browser_ui_message_loaded): Same. * folder-browser.c (folder_browser_destroy): Kill the new timeout if it is registered. * folder-browser.h: Add some members to FolderBrowser for keeping track of the queue of changes. svn path=/trunk/; revision=12343
* Fix bug #215... desensitize menu items based on the number of selectedPeter Williams2001-08-141-1/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-08-09 Peter Williams <peterw@ximian.com> Fix bug #215... desensitize menu items based on the number of selected messages (and whether there's a message in the pane) * folder-browser-ui.c (folder_browser_ui_add_message): Sensitize the menu items appropriately based on the old state. (fbui_sensitize_items): New function. Set the sensitivity of a list of commands. (folder_browser_ui_set_selection_state): New function. Move the FB to a new state of selected-ness, and sensitize menu items appropriately. (folder_browser_ui_message_loaded): New function. When notified that a message has been loaded, sensitize some menu items. * folder-browser-ui.h: Prototype new functions. * folder-browser.h: New enumeration, FolderBrowserSelectionState, that records the previous state of the selection (_NONE, _SINGLE, _MULTIPLE). * folder-browser.c (got_folder): If the component is set, set our selection state to _NONE, because that's the default state of the ETree. (on_selection_changed): When the number of selected messages is updated, notify the FBUI code of our new state. (folder_browser_gui_init): Hook up to the selection_changed signal and default to the _NONE selection state. (done_message_selected): Notify when a message is loaded. 2001-08-08 Peter Williams <peterw@ximian.com> * mail-folder-cache.c: Display how many messages are selected, too. (make_folder_status): If multiple messages are selected, add that to the string (the 0 and 1 cases are boring) (selection_changed): New function, update the selected count. (mail_folder_cache_note_fb): Connect to the selection_changed signal. svn path=/trunk/; revision=12012
* Fix the fix for #6722.Dan Winship2001-08-141-1/+1
| | | | | | | | | | | | * folder-browser.c (message_list_drag_data_get): Fix the fix for #6722. * mail-ops.c (save_messages_save): Likewise. (save_part_save): Deal with the possibility that camel_mime_filter_charset_new_convert will return NULL (bad charset name). Fixes #6611. svn path=/trunk/; revision=12008
* Make the right click "Resend..." into "Edit as New Message...", bug #6838.Jason Leach2001-08-121-1/+1
| | | | | | | | | 2001-08-11 Jason Leach <jleach@ximian.com> * folder-browser.c: Make the right click "Resend..." into "Edit as New Message...", bug #6838. svn path=/trunk/; revision=11927
* Removed comment about the need to resolve nicknames properly, because weJon Trowbridge2001-08-111-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-08-10 Jon Trowbridge <trow@ximian.com> * e-msg-composer-hdrs.c (set_recipients): Removed comment about the need to resolve nicknames properly, because we now do that. 2001-08-10 Jon Trowbridge <trow@ximian.com> * e-filter-bar.h: Set the subitems to NULL in the pre-defined ESearchBarItems. * e-filter-bar.c (rule_editor_clicked): Set the ESearchBarItem's subitems to NULL. (build_items): Set the ESearchBarItem's subitems to NULL. (e_filter_bar_new): Set the ESearchBarItem's subitems to NULL. * e-search-bar.c: Added support for subitems, so that a search option can key off of another option menu rather than just an entry. 2001-08-10 Jon Trowbridge <trow@ximian.com> * gui/component/addressbook.c: Set the ESearchBarItem subitems explicitly to NULL. 2001-08-10 Jon Trowbridge <trow@ximian.com> * gui/cal-search-bar.c: Where we have ESearchBarItems, set their subitems to NULL. 2001-08-10 Jon Trowbridge <trow@ximian.com> * folder-browser.c: Set our ESearchBarItems subitems to NULL. svn path=/trunk/; revision=11904
* Make the context menu for the Sent folder have "Resend..." instead ofJason Leach2001-08-111-1/+1
| | | | | | | | | | | 2001-08-10 Jason Leach <jleach@ximian.com> * folder-browser.c: Make the context menu for the Sent folder have "Resend..." instead of "Resend", to clarify that it will bring up a dialog needing your input rather than just blindly sending the message again. Also give it the 'e' accelerator. Bug #6838. svn path=/trunk/; revision=11901
* Added a comment about leaking memory here, but we seem to not even use theJeffrey Stedfast2001-08-101-28/+29
| | | | | | | | | | | | | | | | 2001-08-10 Jeffrey Stedfast <fejj@ximian.com> * folder-browser.c (on_right_click): Added a comment about leaking memory here, but we seem to not even use the 2 strings we strdup...is this code still under construction? * mail-ops.c (mail_send_message): Free the sent_folder_uri at the bottom of the function (ironically enough we were freeing it if we encountered an error but never free'd it on success :-) (get_folderinfo_got): Fixed a memory leak...this one would have gone away once we got rid of the debug g_warning though. svn path=/trunk/; revision=11868
* in mail:Peter Williams2001-08-101-7/+0
| | | | | | | | | | | | | | | | | | 2001-08-09 Peter Williams <peterw@ximian.com> [ * folder-browser.c (on_key_press): The bonobo menu items now handle 'n' and 'p'. ] (on_key_press): 'q' as well. in ui: 2001-08-09 Peter Williams <peterw@ximian.com> * evolution-mail-global.xml: Give the (pre)view pane toggle an accelerator of 'q', like we were implementing the hard manual way before. svn path=/trunk/; revision=11858
* The bonobo menu items now handle 'n' and 'p'.Peter Williams2001-08-101-14/+0
| | | | | | | | | 2001-08-09 Peter Williams <peterw@ximian.com> * folder-browser.c (on_key_press): The bonobo menu items now handle 'n' and 'p'. svn path=/trunk/; revision=11853
* Fixes bug #6918Anna Marie Dirks2001-08-101-1/+1
| | | | | | | | | | | 2001-08-09 Anna Marie Dirks <anna@ximian.com> Fixes bug #6918 * folder-browser.c: Changed the "Store search as vFolder" menu item to "Create vFolder from Search". svn path=/trunk/; revision=11848
* Fixes bug #6722Jeffrey Stedfast2001-08-101-1/+1
| | | | | | | | | | | | | | 2001-08-09 Jeffrey Stedfast <fejj@ximian.com> Fixes bug #6722 * mail-ops.c (save_messages_save): Don't set the default perms here, let the user's umask deal with permissions. * folder-browser.c (message_list_drag_data_get): Don't set any default perms. svn path=/trunk/; revision=11842
* Set the message-display message to NULL if we can't get an info too.Jeffrey Stedfast2001-08-071-30/+29
| | | | | | | | | 2001-08-06 Jeffrey Stedfast <fejj@ximian.com> * mail-callbacks.c (expunge_folder): Set the message-display message to NULL if we can't get an info too. svn path=/trunk/; revision=11711
* Add a @wraparound argument, so the 'n' and 'p' keypresses (or anythingJason Leach2001-08-051-2/+2
| | | | | | | | | | | | | | | 2001-08-04 Jason Leach <jleach@ximian.com> * message-list.c (message_list_select): Add a @wraparound argument, so the 'n' and 'p' keypresses (or anything else that wants to) can wrap around to find the next unread. * folder-browser.c (on_key_press): Tell it to wrap around here. * mail-callbacks.c (delete_msg): Don't wrap around here (or the other callbacks in this file). svn path=/trunk/; revision=11651
* I obviously can't spell recieved, er, received...uh, yea.Jeffrey Stedfast2001-08-031-2/+2
| | | | | | | | | 2001-08-02 Jeffrey Stedfast <fejj@ximian.com> * folder-browser.c (message_list_drag_data_received): I obviously can't spell recieved, er, received...uh, yea. svn path=/trunk/; revision=11595
* Do the Right Thing (tm) if the message list is not the widget in focusJeffrey Stedfast2001-08-021-0/+7
| | | | | | | | | | 2001-08-01 Jeffrey Stedfast <fejj@ximian.com> * folder-browser.c (folder_browser_copy): Do the Right Thing (tm) if the message list is not the widget in focus (which is to copy the text selected in the html viewer instead). Fixes bug #5868. svn path=/trunk/; revision=11558
* If we don't have any messages selected, break out. This fixes bug #5612.Jeffrey Stedfast2001-07-271-0/+4
| | | | | | | | | | | | | | | | | | | | 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
* Make 'q' a toggle, not one-way.Peter Williams2001-07-261-2/+2
| | | | | | | | | 2001-07-26 Peter Williams <peterw@ximian.com> * folder-browser.c (on_key_press): Make 'q' a toggle, not one-way. svn path=/trunk/; revision=11425
* Make it so Enter always opens the message in another window.Peter Williams2001-07-261-6/+1
| | | | | | | | | 2001-07-25 Peter Williams <peterw@ximian.com> * folder-browser.c (etree_key): Make it so Enter always opens the message in another window. svn path=/trunk/; revision=11409
* [Bug #5225: No UI way to mark as unimportant]Jason Leach2001-07-241-1/+23
| | | | | | | | | | | | | | | | | 2001-07-23 Jason Leach <jleach@ximian.com> [Bug #5225: No UI way to mark as unimportant] * folder-browser.c (on_right_click): Do the necessary stuff to show or hide the correct "Mark Important" or "Mark as Unimportant" menu items depending on the status of messages that are selected. * folder-browser-ui.c: Add the MarkAsUnimportant verb here. * mail-callbacks.c (mark_as_unimportant): Simple function that's the callback for these new menu items. svn path=/trunk/; revision=11316
* Set the vertical scrolling policy for the mail display to AUTOMATIC, onlyJason Leach2001-07-201-4/+0
| | | | | | | | | | | | | | | | | | 2001-07-19 Jason Leach <jleach@ximian.com> * mail-display.c (mail_display_new): Set the vertical scrolling policy for the mail display to AUTOMATIC, only get a scrollbar if the e-mail is longer than one frame. * folder-browser.c (my_folder_browser_init): We were setting the policy twice (and to two different things). Removed this one. * message-list.c (message_list_init): Set the policy for the message list scroll frame to be horizontal=NEVER, vertical=AUTOMATIC (scrollbar only if you have >1 page of messages). svn path=/trunk/; revision=11239
* Do what was suggested in #4596.Jeffrey Stedfast2001-07-191-12/+12
| | | | | | | | | 2001-07-18 Jeffrey Stedfast <fejj@ximian.com> * mail-tools.c (mail_tool_generate_forward_subject): Do what was suggested in #4596. svn path=/trunk/; revision=11210
* Fix to correctly handle text/uri-lists that contain more than a singleJeffrey Stedfast2001-07-181-25/+30
| | | | | | | | | | | | | | 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-1/+1
| | | | | | | | | | | | | | | | 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 our own display_style member instead of the global setting.Peter Williams2001-07-171-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-07-16 Peter Williams <peterw@ximian.com> * mail-display.c (mail_display_redisplay): Use our own display_style member instead of the global setting. (mail_display_init): Initialize display_style. * mail-display.h: Include "mail-config.h" and add a display_style member. * mail-format.c (write_headers): Look at the MailDisplay's display_style instead of using the full_headers data. * folder-browser.c (folder_browser_set_message_display_style): Set the MailDisplay's display style as well as the global display style. (my_folder_browser_init): Don't save preference changes by default. (This is only observered wrt. the message display style but should apply to other items.) * folder-browser-factory.c (folder_browser_factory_new_control): Set this FB to save the preferences set in it. * folder-browser-ui.c (folder_browser_ui_add_message): Read our display's state instead of the global setting. svn path=/trunk/; revision=11131
* [Bug #4305: Make the automatic mark-as-read timer optional]Jason Leach2001-07-111-1/+1
| | | | | | | | | | | | | | | | | | | | 2001-07-10 Jason Leach <jleach@ximian.com> [Bug #4305: Make the automatic mark-as-read timer optional] * mail-config.glade: Necessary changes to make the Mark as "Read" label a toggle button instead. * mail-accounts.c (construct): Connect to the "toggled" on our new toggle. (timeout_toggled): New callback, called from above. * mail-config.c (mail_config_get_do_seen_timeout): New. (mail_config_set_do_seen_timeout): New. (mail_config_write_on_exit): Save the preference here. (config_read): Load it here. svn path=/trunk/; revision=10973
* TypoJP Rosevear2001-07-111-9/+6
| | | | | | | | 2001-07-10 JP Rosevear <jpr@ximian.com> * Makefile.am: Typo svn path=/trunk/; revision=10966
* Freeze and Thaw the folder.Jeffrey Stedfast2001-07-071-2/+4
| | | | | | | | | 2001-07-06 Jeffrey Stedfast <fejj@ximian.com> * folder-browser.c (folder_browser_copy): Freeze and Thaw the folder. svn path=/trunk/; revision=10855
* Mark the messages as Seen also. (folder_browser_class_init): Create anJeffrey Stedfast2001-07-071-54/+108
| | | | | | | | | | | | | | | | | | | | | | | | 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
* Select the very next message after deleting, not the next undeleted (itJason Leach2001-07-071-0/+2
| | | | | | | | | | | | | | | | | 2001-07-06 Jason Leach <jleach@ximian.com> * mail-callbacks.c (delete_msg): Select the very next message after deleting, not the next undeleted (it can make things jump around in annoying ways if you are deleting many messages), bug #4032. * folder-browser.c: Forgot to commit the "Mark as Important" right click menu item. * message-list.c (message_list_set_folder): Setup the strikeout column here (after we've gotten the folder) so we can disable strikeouts for vtrash folders, part of bug #2224. svn path=/trunk/; revision=10849
* Compile fixes. #include errno.h and gnome-dialog-utils.h.Peter Williams2001-07-041-4/+5
| | | | | | | | | 2001-07-03 Peter Williams <peterw@ximian.com> * folder-browser.c (message_list_drag_data_get): Compile fixes. #include errno.h and gnome-dialog-utils.h. s/dirname/tmpdir/ svn path=/trunk/; revision=10757
* Prevent folders from appearing to have -1 new messages. Prevent nonactivePeter Williams2001-07-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-07-03 Peter Williams <peterw@ximian.com> Prevent folders from appearing to have -1 new messages. Prevent nonactive folders from updating the title bar. Make the title bar update when switching to an already-opened folder. * mail-folder-cache.c (update_message_counts): Ignore the value for 'unread' if it is -1. (get_mail_info_receive): Same (mail_folder_cache_note_folderinfo): Same. (get_folder_info): Initialize 'fb' to NULL. (mail_folder_info): Add 'fb' member. (mail_folder_cache_note_fb): Change note_message_list to this. (update_idle): Only update the ShellView if the active folder browser is the same as the one that the MFI references. (mail_folder_cache_set_folder_browser): New function. Use it to set the active folder browser. NULL is okay. (check_for_fb_match): Called from the above. If the MFI has the new folder browser as its view, queue an update. * mail-folder-cache.h: Fix prototypes. * mail-callbacks.c (create_folders): Check if fi->url is nonnull. * folder-browser.c (got_folder): Change to use note_fb instead of note_messge_list. * folder-browser-factory.c (control_activate): Set the folder browser (control_deactivate): Clear it here. (fb_get_svi): Kill some inappropriately cut-n-pasted code. svn path=/trunk/; revision=10755
* Use mkdtemp if we have it, else use mktemp but make the code safer than itJeffrey Stedfast2001-07-041-6/+19
| | | | | | | | | | | | | 2001-07-03 Jeffrey Stedfast <fejj@ximian.com> * folder-browser.c (message_list_drag_data_get): Use mkdtemp if we have it, else use mktemp but make the code safer than it was previously. * mail-display.c (launch_cb): Free the template string if the tempdir failed to be created. svn path=/trunk/; revision=10753
* Hide the URL passwd, auth, and params. (folder_browser_copy): Same.Jeffrey Stedfast2001-07-031-2/+4
| | | | | | | | | | 2001-07-03 Jeffrey Stedfast <fejj@ximian.com> * folder-browser.c (message_list_drag_data_get): Hide the URL passwd, auth, and params. (folder_browser_copy): Same. svn path=/trunk/; revision=10749
* Updated for the mail_transfer_messages API.Jeffrey Stedfast2001-07-031-2/+3
| | | | | | | | | | | | | | | | | | | | | | 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
* New file. Protoypes for the Mail Folder Cache, which provides a place forPeter Williams2001-07-031-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-07-02 Peter Williams <peterw@ximian.com> * mail-folder-cache.h: New file. Protoypes for the Mail Folder Cache, which provides a place for all the disparate pieces of the mailer to save bits of information about a folder. Centralizes the information display code. * mail-folder-cache.c: New file. Implements the Mail Folder Cache. * Makefile.am (evolution_mail_SOURCES): Add the mail-folder-cache.{c,h} * folder-browser-factory.c (fb_get_svi): Copy of that absurdly long-named function in mail-display.c that gets the GNOME_Evolution_ShellView. (control_activate): Set the ShellView for the folder cache. * folder-browser.c (got_folder): Tell the folder browser about this folder. * mail-callbacks.c (create_folders): Tell the folder cache about the new folders. * mail-local.c (reconfigure_folder_reconfigure): Don't unhook our events as we no longer hook them up. (register_folder_registered): Tell the folder cache about this folder's place in the local storage. (register_folder_register): No longer hook events; the Folder Cache will do this. (local_folder_changed, local_folder_changed_proxy): Move to mail-folder-cache.c (free_local_folder): No longer unhook events. * mail-ops.c (do_update_subfolders_rec): Instead of setting the folder status ourselves, inform the Folder Cache about the changes. * mail-tools.c (mail_tool_uri_to_folder): Replace danw's cache with the new Mail Folder Cache. (cache_folder, etc): removed. svn path=/trunk/; revision=10694
* Changed to return the created window. (find_socket): Added. Copied fromJon Trowbridge2001-07-011-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | 2001-06-30 Jon Trowbridge <trow@ximian.com> * mail-display.c (make_popup_window): Changed to return the created window. (find_socket): Added. Copied from e-shell-view.c. The fact that I'm copying this bit of code all over isn't cool. (html_button_press_event): Properly destroy the popup window when the widget inside the control is destroyed. * mail-callbacks.c (addrbook_sender): Added. Implements the "Add sender to addressbook" right-click. (Bug #3645) (find_socket): Added. Copied from e-shell-view.c. * folder-browser.c: Added "Add sender to addressbook" to context_menu[]. * mail-display.c: (handle_embedded_address_object): Removed. (on_object_requested): Removed handling for embedded address objects. (Which was obsolete crap.) svn path=/trunk/; revision=10643
* Don't bother trying to save the passwd if the url is NULL.Jeffrey Stedfast2001-06-291-0/+1
| | | | | | | | | | | | 2001-06-28 Jeffrey Stedfast <fejj@ximian.com> * mail-config.c (mail_config_write_on_exit): Don't bother trying to save the passwd if the url is NULL. * folder-browser.c (vfolder_mlist): Strip the mlist name to fix bug #3732. svn path=/trunk/; revision=10571
* Since we have an exception variable, we might as well use it when gettingJeffrey Stedfast2001-06-291-3/+10
| | | | | | | | | | | | | 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
* After finding a folder, attach to its "folder_changed" andDan Winship2001-06-291-61/+1
| | | | | | | | | | | | | | | * mail-tools.c (mail_tool_uri_to_folder): After finding a folder, attach to its "folder_changed" and "message_changed" signals. (update_unread_count, update_unread_count_main): Moved here from folder-browser but basically unchanged. Doing this here lets us get folder tree updates for folders that have had messages moved/copied/filtered into them, but which don't yet have a view associated with them. * folder-browser.c (update_unread_count, update_unread_count_main, etc): Moved to mail-tools.c svn path=/trunk/; revision=10567
* work around an e-tree bugjacob berkman2001-06-281-0/+3
| | | | | | | | 2001-06-27 jacob berkman <jacob@ximian.com> * folder-browser.c (save_cursor_pos): work around an e-tree bug svn path=/trunk/; revision=10541
* Fixed Cut/Copy/Paste to work - it turns out I couldn't share a singleJeffrey Stedfast2001-06-281-41/+25
| | | | | | | | | | 2001-06-27 Jeffrey Stedfast <fejj@ximian.com> * folder-browser.c: Fixed Cut/Copy/Paste to work - it turns out I couldn't share a single GtkInvisible between all the FolderBrowser's after all. svn path=/trunk/; revision=10536
* Helps if I spell "received" correctly.Jeffrey Stedfast2001-06-271-1/+1
| | | | | | | | | | | | | | 2001-06-26 Jeffrey Stedfast <fejj@ximian.com> * folder-browser.c (my_folder_browser_init): Helps if I spell "received" correctly. * mail-config.c (mail_config_set_thread_list): If the value is already in the hash table, first remove it before setting the new value so we don't leak. (mail_config_set_show_preview): Same. svn path=/trunk/; revision=10510
* No longer returns a gboolean and also takes a CamelException.Jeffrey Stedfast2001-06-271-35/+165
| | | | | | | | | | | | | | | | | | | 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
* Check to make sure that clipboard_selection is non-NULL before weJoe Shaw2001-06-261-2/+4
| | | | | | | | | 2001-06-25 Joe Shaw <joe@ximian.com> * folder-browser.c (invisible_destroyed): Check to make sure that clipboard_selection is non-NULL before we g_byte_array_free() it. svn path=/trunk/; revision=10495
* tyopJacob Berkman2001-06-261-1/+1
| | | | svn path=/trunk/; revision=10492
* sync folders after we've gotten mailjacob berkman2001-06-261-20/+132
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-06-25 jacob berkman <jacob@ximian.com> * mail-send-recv.c (free_send_data): sync folders after we've gotten mail * folder-browser-factory.c (control_activate): set the ui component on the folder browser (control_activate): update the view preview item (control_deactivate): don't sync the folder here (control_deactivate): unset the ui component of the folder browser * mail-callbacks.c (toggle_flags): stuff from jleach to add an importance keybinding (mark_as_important): ditto (toggle_as_important): again * mail-config.c (mail_config_get_show_preview): (mail_config_set_show_preview): basically a copy of get_thread_list() but for the preview pane * folder-browser.c (folder_browser_destroy): unref the our ui component (folder_browser_set_ui_component): new function for setting the ui component (save_cursor_pos): (set_cursor_pos): try to show the selected row when the preview pane is shown (folder_browser_set_message_preview): implement (folder_browser_toggle_preview): toggle the preview (duh) (on_key_press): add keybindings for marking as important (!), and hiding the preview pane (q) (etree_key): clean up a little bit, and make enter either show the preview pane or open the message (fb_resize_cb): only save the paned size if the preview is alread shown (folder_browser_gui_init): pass ourselves to fb_resize_cb (on_message_selected): only add the timeout if the preview is shown svn path=/trunk/; revision=10491
* Unref the invisible window that we use for slections.Jeffrey Stedfast2001-06-261-16/+198
| | | | | | | | | | | | | | | | | | | | | | | 2001-06-25 Jeffrey Stedfast <fejj@ximian.com> * folder-browser.c (folder_browser_destroy): Unref the invisible window that we use for slections. (folder_browser_class_init): Init the clipboard_atam type. (selection_get): New (selection_clear_event): New (selection_received): New (folder_browser_copy): New function to copy the message-list selection. (folder_browser_cut): New function to cut the message-list selection. (folder_browser_paste): New function to paste the message-list selection. (my_folder_browser_init): Initialize `invisible` if it's NULL else ref it - also set some signals on it. * folder-browser-factory.c: Added verbs for cut/copy/paste. svn path=/trunk/; revision=10489
* More than on accel key is a tad confusing.Kjartan Maraas2001-06-201-1/+1
| | | | | | | | | 2001-06-20 Kjartan Maraas <kmaraas@gnome.org> * folder-browser.c: More than on accel key is a tad confusing. svn path=/trunk/; revision=10328
* Accept text/uri-list mime types - this allows us to drag messages fromJeffrey Stedfast2001-06-201-9/+69
| | | | | | | | | | | | | 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
* Change the drop-type "x-evolution-dnd" to "x-evolution-message" since weJeffrey Stedfast2001-06-191-48/+43
| | | | | | | | | | | | | | | | | 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
* Allow user's to "copy" drag & drop rather than just "move".Jeffrey Stedfast2001-06-171-1/+1
| | | | | | | | | 2001-06-16 Jeffrey Stedfast <fejj@ximian.com> * folder-browser.c (my_folder_browser_init): Allow user's to "copy" drag & drop rather than just "move". svn path=/trunk/; revision=10258
* Implemented.Jeffrey Stedfast2001-06-161-51/+186
| | | | | | | | | | | | | | | | 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
* Updated to reflect changes to mail_config_[g,s]et_thread_list().Jeffrey Stedfast2001-06-151-2/+2
| | | | | | | | | | | | | | | | | | | | | | | 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
* Add Reply-to-List bonobo verbs.Jeffrey Stedfast2001-06-151-0/+2
| | | | | | | | | | | | | | | | | 2001-06-14 Jeffrey Stedfast <fejj@ximian.com> * folder-browser-factory.c: Add Reply-to-List bonobo verbs. * folder-browser.c: Add Reply-to-List menu items. * mail-callbacks.c (mail_reply): Use an enum for specifying the reply mode, becaus enow we can reply-to-list. (reply_to_list): Implement. (reply_to_sender): Use REPLY_SENDER. (reply_to_all): Use REPLY_ALL. (mail_generate_reply): Handle the different modes. svn path=/trunk/; revision=10232
* Added fields for the GalViewMenus and GalViewCollection, since we need toFederico Mena Quintero2001-06-021-0/+13
| | | | | | | | | | | | | | | | | | | 2001-06-01 Federico Mena Quintero <federico@ximian.com> * folder-browser.h (FolderBrowser): Added fields for the GalViewMenus and GalViewCollection, since we need to keep them around while the component is active. * folder-browser-factory.c (folder_browser_setup_view_menus): Plug leaks; unref the spec and factory. Set the view collection and the view menus on the FolderBrowser object. (folder_browser_discard_view_menus): New function. (control_deactivate): Discard the menus. * folder-browser.c (folder_browser_destroy): Destroy the view collection and the view menus. svn path=/trunk/; revision=10086
* Functions to determine if a folderbrowser is one of the drafts, sent, orDan Winship2001-05-171-20/+79
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * folder-browser.c (folder_browser_is_drafts, folder_browser_is_sent, folder_browser_is_outbox): Functions to determine if a folderbrowser is one of the drafts, sent, or outbox folders. (got_folder): Pass TRUE for the "outgoing" flag to message_list_set_folder if this is a Sent, Drafts, or Outbox folder. * message-list.c (message_list_set_folder): Take a flag saying whether or not the folder is an "outgoing" folder. (message_list_setup_etree): Ditto. Use that rather than a hardcoded list of foldernames for deciding whether to swap From and To in the default layout. * mail-config.c (mail_config_folder_to_cachename): Make IMAP folders have unique cachenames rather than only one per store, so that IMAP Sent and Drafts folders don't get forced into having the same layout as the INBOX. * mail-callbacks.c: (is_sent_folder, is_drafts_folder): Gone. Replaced with simpler folder_browser_is_* routines. (edit_msg, resend_msg, open_msg): Use folder_browser_is_* routines. * mail-local.c (reconfigure_clicked): Update call to message_list_set_folder. svn path=/trunk/; revision=9857
* Load http images if the user has force-loaded images too.Dan Winship2001-05-161-10/+17
| | | | | | | | | | | | | | | | | | | | | | | * mail-display.c (on_url_requested): Load http images if the user has force-loaded images too. (mail_display_redisplay): Update for normal/headers/source changes. (mail_display_load_images): New. Force HTTP image loading for the current message. * mail-config.c (mail_config_get_message_display_style, mail_config_set_message_display_style): Updated and renamed from mail_config_{get,set}_view_source * mail-callbacks.c (load_images): New. * folder-browser.c (folder_browser_set_message_display_style): Renamed and updated from folder_browser_toggle_view_source. * folder-browser-factory.c (verbs): Add ViewLoadImages. (control_activate): Update for normal/headers/source change to radio group. svn path=/trunk/; revision=9820
* Remove this... it's not used any more.Dan Winship2001-05-151-1/+0
| | | | | | | | | * mail-mlist-magic.c: Remove this... it's not used any more. * folder-browser.c: * message-browser.c: Remove references to mail-mlist-magic.h svn path=/trunk/; revision=9800
* Split "Other" page into three pages, Display, Composer, and PGP. Add HTMLDan Winship2001-05-151-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * mail-config.glade: Split "Other" page into three pages, Display, Composer, and PGP. Add HTML image stuff on the Display page and default forward style on the Composer page. * mail-config.c (mail_config_get_default_forward_style, mail_config_set_default_forward_style): User-specified default style for forwarding messages. (config_read, mail_config_write_on_exit): Deal with forward style. * mail-accounts.c: Handle HTML image display options and default forward style. * mail-callbacks.c (forward): New. Forward in the user-selected default style. (forward_inline, forward_quoted): Simplify these some. Remove the fallback to forward attached when forwarding multiple messages: it should just forward the multiple messages inline or quoted in those cases. (Which it doesn't yet, but that's a bug.) * folder-browser.c (context_menu): Remove "Forward inline" and make "Forward" call forward() rather than forward_attached(). * folder-browser-factory.c: Update command/menu/toolbar/pixmap gunk for the "MessageForwardAttached" vs "MessageForward" split. * mail-session.c (mail_session_get_type): * mail-format.c (format_mime_part): * mail-account-gui.c (setup_service): Fix warnings. svn path=/trunk/; revision=9792
* Use secondary searches here, so that we control the interference betweenJon Trowbridge2001-05-141-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-05-14 Jon Trowbridge <trow@ximian.com> * folder-browser.c (folder_browser_config_search): Use secondary searches here, so that we control the interference between the two bits of searching UI. 2001-05-13 Jon Trowbridge <trow@ximian.com> * mail-search.c (mail_search_construct): Destroy the MailSearch dialog if the underlying MailDisplay is destroyed. I don't like the way that label in the dialog with the message subject in it looks, so I've #ifdef-ed it out for now. Center the Matches label --- it makes the dialog look more balanced, I think. (dialog_clicked_cb): Changed to reflect adjusted ESearchingTokenizer API, using primary searches. (toggled_case_cb): Use the primary search API. * e-searching-tokenizer.c: Make searching routines utf8-friendly. Rationalize how the match begin/end markup is handled; allow for begin/end markup that varies by search. Add concept of primary and secondary matching, to disentangle possible interactions between search-bar searches and search-dialog searches. svn path=/trunk/; revision=9789
* Use the ESearchingTokenizer to highlight search matches for folder-levelJon Trowbridge2001-05-111-0/+12
| | | | | | | | | | | | | | | | | | | | | 2001-05-10 Jon Trowbridge <trow@ximian.com> * folder-browser.c (folder_browser_config_search): Use the ESearchingTokenizer to highlight search matches for folder-level searches. Still mildly broken, but it works for the simple cases. * mail-display.c (mail_display_new): Use our ESearchingTokenizer for the mail display GtkHTML widget. * mail-search.c (dialog_clicked_cb): Use the ESearchingTokenizer to highlight search matches. (mail_search_construct): Add a match count to the search dialog. * e-searching-tokenizer.c (e_searching_tokenizer_set_search_string): Added. A custom HTML tokenizer that does highlighting of search strings. svn path=/trunk/; revision=9754
* Don't advance to the next undeleted message after "Delete"...Dan Winship2001-05-111-3/+0
| | | | | | | | | | | | | | | | | | | * folder-browser.c (on_key_press): Don't advance to the next undeleted message after "Delete"... * mail-callbacks.c (delete_msg): ...instead, do it here, whether the user used Delete, Alt+D, or the toolbar. (But only if they only deleted a single message.) * message-list.c (message_list_select): Don't clear the display on failure. (build_tree): Clear the display when the currently-selected message stops existing and we don't have an obvious message to select instead of it. (Eg, when deleting the last message with "hide deleted messages" set, or expunging while a deleted message is selected.) svn path=/trunk/; revision=9744
* Connect to key_press_event on the GtkHTML widget. (etree_key): Only handleDan Winship2001-05-081-34/+48
| | | | | | | | | | | | | | * folder-browser.c (my_folder_browser_init): Connect to key_press_event on the GtkHTML widget. (etree_key): Only handle space/backspace here, pass the rest off to on_key_press. (on_key_press): Handle Delete/N/P/Menu in either MessageList or MailDisplay. * message-list.c (message_list_select): Grab focus if we don't have it. svn path=/trunk/; revision=9694
* only remove event handlers if we set them up originally, to avoidDan Winship2001-04-301-4/+11
| | | | | | warnings from camel svn path=/trunk/; revision=9631
* Unhook event handlers before syncing the folder, since the folder browserDan Winship2001-04-301-1/+8
| | | | | | | | | * folder-browser.c (folder_browser_destroy): Unhook event handlers before syncing the folder, since the folder browser will have been destroyed by the time the sync thread completes and calls the signal handlers. svn path=/trunk/; revision=9630
* Added a new signal, "message_loaded" that gets emitted when the messageJeffrey Stedfast2001-04-251-3/+14
| | | | | | | | | | | | | | | | | | | | | | | | 2001-04-24 Jeffrey Stedfast <fejj@ximian.com> * folder-browser.c: Added a new signal, "message_loaded" that gets emitted when the message has been loaded and set on the mail_display. (folder_browser_class_init): Define the "message_loaded" signal stuff. (done_message_selected): Emit the "message_loaded" signal here. * message-browser.c (message_browser_next_msg): Do our own message-list manipulation. We want the next message, not the next unread message. (message_browser_prev_msg): Same here but for previous. (message_browser_new): Connect to the folder browser's "message_loaded" signal. (message_browser_folder_loaded): Don't connect to the message-list's "message_selected" signal. (message_browser_message_loaded): Nw callback which replaces the old message_browser_message_selected callback's functionality. svn path=/trunk/; revision=9551
* Add accelerators to the context menu. (on_right_click): UseDan Winship2001-04-251-28/+62
| | | | | | | | | | | * folder-browser.c: Add accelerators to the context menu. (on_right_click): Use e_tree_get_cell_geometry and a GtkMenuPositionFunc when responding to a Menu-key press so we can line the menu up with the selected row rather than the cursor. * message-browser.c: include <gal/util/e-util.h> for E_MAKE_TYPE. svn path=/trunk/; revision=9547
* Use the message-browser widget rather than the mail-view window.Jeffrey Stedfast2001-04-241-0/+19
| | | | | | | | | | | | | | | | | | | 2001-04-23 Jeffrey Stedfast <fejj@ximian.com> * mail-callbacks.c (do_view_message): Use the message-browser widget rather than the mail-view window. * mail-view.c: Removed. * folder-browser.c: Added a folder_loaded signal. * message-browser.[c,h]: New window to solve all our message browsing needs. This replaces mail-view.c. * message-list.c (message_list_select_uid): New function needed by the new message-browser window. svn path=/trunk/; revision=9525
* use system = EVOLUTION_DATADIR "/file" instead of g_strdup_printf. RenameGediminas Paulauskas2001-04-221-5/+4
| | | | | | | | | | | | | | | | | 2001-04-22 Gediminas Paulauskas <menesis@delfi.lt> * folder-browser.c, mail-autofilter.c, mail-callbacks.c, mail-ops.c, mail-summary.c, mail-vfolder.c: use system = EVOLUTION_DATADIR "/file" instead of g_strdup_printf. Rename userrules to user (and system) to be consistent. * mail-send-recv.c: set window icon to send-receive.xpm 2001-04-21 Gediminas Paulauskas <menesis@delfi.lt> * mail-summary.c: translate "Mail summary". svn path=/trunk/; revision=9490
* Don't printf NULLDan Winship2001-04-131-2/+2
| | | | | | | * folder-browser.c (do_message_selected, on_message_selected): Don't printf NULL svn path=/trunk/; revision=9278
* Merge from evolution-0-10 to evolution-0-10-merge-0 into head.Not Zed2001-04-051-0/+20
| | | | | | | | 2001-04-05 Not Zed <NotZed@Ximian.com> * Merge from evolution-0-10 to evolution-0-10-merge-0 into head. svn path=/trunk/; revision=9193
* Cleaned up #includes. Remove unneccesary includes of <gnome.h>,Kjartan Maraas2001-03-301-14/+17
| | | | | | | | | | | 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
* Made this check if the control mask is set.Christopher James Lahey2001-03-201-1/+1
| | | | | | | | | 2001-03-20 Christopher James Lahey <clahey@ximian.com> * folder-browser.c (etree_key): Made this check if the control mask is set. svn path=/trunk/; revision=8844
* Bumped gal requirement to 0.5.99.8.Christopher James Lahey2001-03-201-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-03-19 Christopher James Lahey <clahey@ximian.com> * configure.in: Bumped gal requirement to 0.5.99.8. From addressbook/ChangeLog: 2001-03-19 Christopher James Lahey <clahey@ximian.com> * Merged branch: 2001-03-14 Christopher James Lahey <clahey@ximian.com> * gui/widgets/e-minicard-view.c: Call e_selection_model_simple_insert_rows and e_selection_model_simple_delete_rows instead of e_selection_model_simple_insert_row and e_selection_model_simple_delete_row. End of branch From mail/ChangeLog: 2001-03-19 Christopher James Lahey <clahey@ximian.com> * Merged e-tree-rework-branch: 2001-03-18 Christopher James Lahey <clahey@ximian.com> * message-list.c: Added has_save_id and get_save_id methods. * subscribe-dialog.c: Added arguments for e_tree_memory_callbacks_new of get_save_id and has_save_id to NULL. 2001-03-16 Christopher James Lahey <clahey@ximian.com> * message-list.c: Added a call to e_tree_memory_set_expanded_default to TRUE. Removed all calls to set_expanded on nodes while the tree is frozen since this fails miserably now. 2001-03-13 Christopher James Lahey <clahey@ximian.com> * message-list.c (message_list_get_layout): Turned off draw-grid. 2001-03-09 Christopher James Lahey <clahey@ximian.com> * folder-browser-factory.c, folder-browser.c, message-list.c, message-list.h, subscribe-dialog.c, subscribe-dialog.h, mail-callbacks.c: Converted these all to use ETree instead of ETable. End of branch From shell/ChangeLog: 2001-03-19 Christopher James Lahey <clahey@ximian.com> * Merged e-tree-rework-branch: 2001-03-19 Christopher James Lahey <clahey@ximian.com> * e-storage-set-view.c (etree_get_save_id): Made "root" detection deal properly with removed nodes. 2001-03-18 Christopher James Lahey <clahey@ximian.com> * e-shell-view.c (e_shell_view_save_settings): Added some unused code to implement saving of the expanded state. * e-storage-set-view.c: Added has_save_id and get_save_id methods. 2001-03-13 Christopher James Lahey <clahey@ximian.com> * e-storage-set-view.c (ETREE_SPEC): Set draw-grid here to false. 2001-03-09 Christopher James Lahey <clahey@ximian.com> * e-storage-set-view.c, e-storage-set-view.h: Chaned this to use ETree instead of ETable. End of branch svn path=/trunk/; revision=8839
* Add Resend Message menu item.Jeffrey Stedfast2001-03-191-1/+9
| | | | | | | | | | | | | | | | 2001-03-19 Jeffrey Stedfast <fejj@ximian.com> * folder-browser-factory.c: Add Resend Message menu item. * folder-browser.c (on_right_click): Add resend to the right-click menu. * mail-callbacks.c (composer_sent_cb): Unref the message. (composer_postpone_cb): Unref the message here too. (resend_msg): New callback to allow resending of messages in the Sent folder. svn path=/trunk/; revision=8816
* Move the proxy event outside the lock (otherwise we always deadlock).Not Zed2001-03-171-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Added edit item to search-bar menu.Not Zed2001-03-151-0/+1
| | | | | | | | | | | | | 2001-03-15 Not Zed <NotZed@Ximian.com> * folder-browser.c: Added edit item to search-bar menu. * mail-callbacks.c (filter_edit): Changed for filter_editor_new() api addition/change. * mail-vfolder.c (vfolder_edit): Use vfolder_editor_new intead. svn path=/trunk/; revision=8731
* Call open_msg here so that it does the Right Thing (tm).Jeffrey Stedfast2001-03-091-2/+2
| | | | | | | | | 2001-03-08 Jeffrey Stedfast <fejj@ximian.com> * folder-browser.c (on_double_click): Call open_msg here so that it does the Right Thing (tm). svn path=/trunk/; revision=8600
* Reorganize the menus to have entries always in a consistent fashion, asMiguel de Icaza2001-03-071-55/+129
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-02-27 Miguel de Icaza <miguel@ximian.com> * gui/e-day-view.c (e_day_view_on_event_right_click): Reorganize the menus to have entries always in a consistent fashion, as reported to the genepool mailing list. (e_day_view_on_event_right_click): Added a FIXME comment to the FIXME comment without a FIXME. Now we use e_popup_menu. This allows us to hide/show items on demand, and to sensitize/de-sensitize items depending on their state. This will also let us add icon support (when we get nice icons for this) * gui/e-week-view.c (e_week_view_show_popup_menu): Ditto. The files popup-menu.c and popup-menu.h can now be removed. 2001-03-01 Miguel de Icaza <miguel@ximian.com> * folder-browser.c (on_right_click): Move the context menus to the toplevel code; Use enumerations for the various bitfield constants. Add support for hiding items that are not required (read/unread and delete/undelete). This requires my previous patch, as it assumes "Open" does the right thing instead of having two operations: Open and Edit. 2001-02-28 Miguel de Icaza <miguel@ximian.com> * folder-browser.c (on_right_click): Removed draft folders op here, since open_msg now does the right thing (edit or view). * folder-browser-factory.c (update_pixmaps): Removed MessageEdit from here. * mail-callbacks.c (open_msg): New function, does the "right thing" to a message (either, edit or open). * folder-browser-factory.c: Register new command here. (update_pixmaps): Rename keys that have been shuffled around. (update_pixmaps): Rename to match new updates on xml file. Rename MessageOpenNewWindow to MessageOpen. Change action from "view_message" to "open_message". * mail-callbacks.c (mark_all_as_seen): New command. Marks all messages as seen. 2001-03-06 Miguel de Icaza <miguel@ximian.com> * evolution-tasks.xml: Added "File/New/Task" as well. * evolution-mail.xml: Added "File/New/Mail Message" at the top with binding C-n. * evolution-calendar.xml: Set the binding for New Appointment to C-n * evolution-contact-editor.xml: Set the toolbar to hlook=text vlook=icon; Set all icons priority-text to 1. * evolution-addressbook.xml: Added "Contact" to the New menu. * evolution.xml: Provide an entry point to put "New" items on the first level. We are going to need some Bonobo support to "hide" objects when other objects appear (like, having Mail Message bound to C-S-X in the global space, and when we switch to Mail, we only show the entry that has C-n as the binding). 2001-02-28 Miguel de Icaza <miguel@ximian.com> * evolution.xml: Moved Importer after the Folder operations per Dan's proposal. * evolution-addressbook.xml: Renamed Settings/AddressBook Configuration to Tools/Settings. Make all the items have "Print" items that use the same icon instead of a collection of icons. * evolution-calendar.xml: Moved "Calendar Preferences" from "Settings" to "Tools/Settings". * evolution-mail.xml: Settings menu is fully gone. All things that run a dialog now end up in "Tools" while actions end up in "Actions". Hence I am right. Renamed "Mail Configuration..." to "Identieies and Servers" Move MessageMarkAsRead, MessageMarkAsUnRead to Edit menu. Add MessageMarkAllAsRead. Remove "Print Message" from Message menu. Remove "Print Preview Message" from Message menu. Leave them on the "File" menu. Renamed "Reply to Sender" to "Reply" (awaiting Ettore's permission). Renamed "Messages" to "Actions". Open Message renamed to "Open Selected Items" (as this is what it actually does). Moved "Save Message As" to "File" menu. Added "Properties" to the File/Folder submenu. Edit menu now looks like this: Message Move, Message Copy, Select All, Invert Selection, Delete, Undelete, Mark as Read, Mark as Unread. Some of them were moved from the "Messages" menu. "Forward message" shortcut changed to C-f Tools menu created. Create Rule From message moved to "Tools". * evolution.xml: Added Tools menu. Moved Edit/Customize to Tools/Customize Toolbar. Added File/Folder submenu. Duplicate "New Folder" in here. 2001-02-28 Miguel de Icaza <miguel@ximian.com> * menus/gal-view-menus.c (build_menus): Add translation string here. svn path=/trunk/; revision=8572
* Remove very old camel lock stuff.Not Zed2001-03-031-0/+1
| | | | | | | | | | | | | | | | | | | | | 2001-03-03 Not Zed <NotZed@Ximian.com> * mail-tools.c: Remove very old camel lock stuff. * mail-local.c (register_folder_registered): Add the local folder as a potential vfolder source. * folder-browser.c (got_folder): When we have a new folder, register it as a potential vfolder source. * mail-vfolder.c: Added the source rule to the vfolder_info. (vfolder_refresh): Store the rule in the vfolder info, etc. (vfolder_register_source): Function to register a newly opened folder with us. (vfolder_uri_to_folder): Save the folder in the vfolder_info too. (source_finalise): Handle clenaup when the folder dies. svn path=/trunk/; revision=8534
* Fixes for changes to search bar. (search_save): Removed. (search_full):Not Zed2001-03-011-210/+69
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Toss the mail_tool_camel_lock* stuff. Same. Here too.Jeffrey Stedfast2001-02-251-2/+0
| | | | | | | | | | | | | | | | 2001-02-24 Jeffrey Stedfast <fejj@ximian.com> * folder-browser.c: Toss the mail_tool_camel_lock* stuff. * mail-ops.c: Same. * mail-summary.c: Here too. * mail-tools.c (mail_tool_uri_to_folder_noex): Blown away! (mail_tool_filter_get_folder_func): *kapoosh* (mail_tool_camel_lock_up): Same. (mail_tool_camel_lock_down): Same. (mail_tool_set_uid_flags): Don't need this rubbish anymore either. svn path=/trunk/; revision=8384
* vfolder/filter on mailing list. Doesn't acutally work right yet.Michael Zucci2001-02-231-19/+31
| | | | | | | | | | | | | | | | | | | | * mail-vfolder.c (vfolder_gui_add_from_mlist): Rule to add mlist vfolder. * mail-autofilter.c (filter_gui_add_for_mailing_list): Removed. (rule_from_mlist): Build a generic match rule from an mlist. (vfolder_rule_from_mlist): Setup the vfolder rule for an mlist. (filter_rule_from_mlist): Setup a filter rule fro an mlist. (filter_gui_add_from_mlist): GUI thingy to do the work. * folder-browser.c (on_right_click): Added vfolder on mailing list to filter menu. (on_right_click): Use header_raw_check_mailign_list instead of mlist magic to get the mailing list name. (filter_mlist): Changed to use new add_from_mlist() call. (vfolder_mlist): New function for vfolder from mlist. svn path=/trunk/; revision=8358
* Fix typo.Kjartan Maraas2001-01-301-1/+1
| | | | | | | | 2001-01-30 Kjartan Maraas <kmaraas@gnome.org> * folder-browser.c: Fix typo. svn path=/trunk/; revision=7913
* Don't handle home and end keys since %ETable deals with them now.Christopher James Lahey2001-01-281-10/+0
| | | | | | | | | 2001-01-27 Christopher James Lahey <clahey@helixcode.com> * folder-browser.c (etable_key): Don't handle home and end keys since %ETable deals with them now. svn path=/trunk/; revision=7865
* Define BROKEN_ETREE again, till we get this stuff fixed better.Not Zed2001-01-261-8/+8
| | | | | | | | | | | | | | | | | | | 2001-01-26 Not Zed <NotZed@Ximian.com> * message-list.c (build_tree): Define BROKEN_ETREE again, till we get this stuff fixed better. 2001-01-25 Not Zed <NotZed@Ximian.com> * folder-browser.c: Moved teh "sender contains" item to the end of the list, so the gui doesn't suddenly change on everyone. Fixed the sender-contains search string to be a valid s-exp (ha, didn't test it even once eh ettore?!) (search_save): Dont have the sender contains as the default case (which well, never gets called anyway), oops i guess i should've reviewed the patch a little more. svn path=/trunk/; revision=7835
* Fix the "sender contain" quicksearch rule by adding a missingEttore Perazzoli2001-01-261-3/+3
| | | | | | | parenthesis; also make it the last item on the OptionMenu instead of the first one. svn path=/trunk/; revision=7834
* Fix the subject match expression, which was missing a closing ).Not Zed2001-01-251-1/+1
| | | | | | | | | | | | 2001-01-24 Not Zed <NotZed@Ximian.com> * folder-browser.c (search_string[]): Fix the subject match expression, which was missing a closing ). * mail-send-recv.c (do_show_status): Escape any % signs in the string before setting the format string. svn path=/trunk/; revision=7797
* Patch from Tuomas to have a "Sender contains" rule in the quicksearchEttore Perazzoli2001-01-241-0/+11
| | | | | | bar. svn path=/trunk/; revision=7764
* remove a warning with conditional news compilation.Not Zed2001-01-221-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Update for e_popup_menu_run change.Dan Winship2001-01-201-1/+5
| | | | | | | | | | | * mail-display.c (pixmap_press): Update for e_popup_menu_run change. * folder-browser.c (etable_key): On GDK_Menu (the menu key on 105-key keyboards), pop up the right-click menu. (on_right_click): update for e_popup_menu_run change. svn path=/trunk/; revision=7662
* Add an ::asyncCopyFolder method to the ShellComponent interface. MoveEttore Perazzoli2001-01-131-33/+0
| | | | | | all the message hiding options to the View menu. svn path=/trunk/; revision=7456
* Rename "Save" to "Store search as vFolder".Miguel de Icaza2001-01-121-7/+7
| | | | | | | | 2001-01-12 Miguel de Icaza <miguel@ximian.com> * folder-browser.c: Rename "Save" to "Store search as vFolder". svn path=/trunk/; revision=7439
* Connect to folder_changed as well as message_changed for updating unreadDan Winship2001-01-121-0/+2
| | | | | | | * folder-browser.c (got_folder): Connect to folder_changed as well as message_changed for updating unread count svn path=/trunk/; revision=7420
* Brand spankin' new config druid, editor, and manager.Jeffrey Stedfast2001-01-091-3/+3
| | | | | | | | | | | | | | | | | | | | | 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-3/+3
| | | | | | | | | | | | | | | | | 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-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Fix leaks, set unread count on folder creation as well as on changesDan Winship2001-01-051-2/+6
| | | | svn path=/trunk/; revision=7250
* Connect to "message_changed" on the folder if it's on a remote storage.Dan Winship2001-01-051-1/+38
| | | | | | | | | * folder-browser.c (got_folder): Connect to "message_changed" on the folder if it's on a remote storage. (update_unread_count): Update the folder unread count / highlight in the shell when the unread message count changes svn path=/trunk/; revision=7249
* Removed old implementation.Not Zed2001-01-041-4/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-28/+140
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Merge from camel-mt-branch.Not Zed2000-12-241-7/+5
| | | | | | | | 2000-12-24 Not Zed <NotZed@HelixCode.com> * Merge from camel-mt-branch. svn path=/trunk/; revision=7153
* Always use the slow (full-update) version of the tree update code, to getNot Zed2000-12-161-14/+179
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-12-16 Not Zed <NotZed@HelixCode.com> * message-list.c (build_tree): Always use the slow (full-update) version of the tree update code, to get around a bug(?) in etree. (build_flat): Likewise. 2000-12-15 Not Zed <NotZed@HelixCode.com> * mail-display.c (write_data_to_file): Dont blindly convert all parts to utf8, e.g. image/jpg. We only convert text/* parts, and only then if required. 2000-12-14 Not Zed <NotZed@HelixCode.com> * component-factory.c (create_view): cast over a warning. * folder-browser-factory.c: Add verbs for hide functions. * message-list.c (message_list_hide_clear): (message_list_hide_uids): (message_list_hide_add): Some api renaming. (message_list_hide_add): Allow ML_HIDE_SAME to be passed to mean not to change the upper/lower range at all. (hide_save_state): Save the state of the hide list to stable storage. (hide_load_state): Load the state of hte hide list. (message_list_set_folder): Load/save the state of the folder if it is changed/set. (message_list_destroy): Save the state of the folder hide list when done. (save_tree_state): If we wrote out an empty state file, simply remove it instead. * folder-browser.c (on_right_click): Add some hide menus. (hide_read): Hide read messages. (hide_deleted): Hide deleted messages. (hide_selected): Hide selected/current message. (hide_none): Show all hidden messages. (on_right_click): Lock around accesses to the message (inside mlist_detect_magic). (on_right_click): Free the mailing list name. 2000-12-13 Not Zed <NotZed@HelixCode.com> * folder-browser.c (on_right_click): Add camel locking since we call it directly. Whoever heard of a lock you 'down' to unlock? * message-list.c (mail_do_regenerate_messagelist): Added hide expression, messages to hide. Fixed all callers. (do_regenerate_messagelist): IF we have a hide expression, search and remove those from the uid list. If we have a hide range, apply that afterwards. (cleanup_regenerate_messagelist): Handle freeing the hide uid temporary data, if required. (message_list_destroy): Free hide data, also lock around all camel object stuff. (message_list_length): New function to get the number of messages avaialble to be hidden by range. (message_list_set_hide): Set the hide expression and range. Issue: Should hiding be remembered? (message_list_unhide_all): Turn off all hiding. (message_list_hide_uids): Hide a list of uid's. svn path=/trunk/; revision=7061
* Made the vertical scrollbar always be there.Christopher James Lahey2000-12-141-0/+4
| | | | | | | | | | | | 2000-12-13 Christopher James Lahey <clahey@helixcode.com> * folder-browser.c (my_folder_browser_init): Made the vertical scrollbar always be there. * message-list.c (message_list_get_layout): Changed the minimum width of some of the pixmap column headers. svn path=/trunk/; revision=6983
* Ignore double-clicks on "active" columns (the ones where clicking doesDan Winship2000-12-121-0/+6
| | | | | | | | * folder-browser.c (on_double_click): Ignore double-clicks on "active" columns (the ones where clicking does something beyond "select"), fixing bug #811 svn path=/trunk/; revision=6910
* Remove the never-once-used BonoboObject stuff and make MessageList be aDan Winship2000-12-121-11/+10
| | | | | | | | | | | | | | | | | | | | | | | | | * message-list.c: Remove the never-once-used BonoboObject stuff and make MessageList be a GtkWidget instead. Also, keep track of the ETable directly rather than repeatedly calling e_table_scrolled_get_table. * folder-browser.c (folder_browser_destroy): Use gtk methods rather than bonobo methods to destroy the message list. (on_right_click, on_double_click): These are being attached to the ETable directly now, so fix the first argument (which isn't being used anyway, but...) (folder_browser_gui_init): simplify now that MessageList itself is a widget. Also use message_list->table rather than e_table_scrolled_get_table. * mail-local.c (mail_local_reconfigure_folder): Add "mail_" to the beginning of this function name to match its prototype and the other vague namespace conventions in the mailer. * mail-callbacks.c (select_all, invert_selection): Use ml->table. (configure_folder): s/local_reconfigure_folder/mail_&/ svn path=/trunk/; revision=6908
* the e-table double-click signal now has extra paramsJP Rosevear2000-12-091-1/+1
| | | | | | | | | 2000-12-08 JP Rosevear <jpr@helixcode.com> * folder-browser.c (on_double_click): the e-table double-click signal now has extra params svn path=/trunk/; revision=6880
* Connect to signals on the ETable instead of the ETableScrolled.Christopher James Lahey2000-12-091-5/+5
| | | | | | | | | | | | 2000-12-08 Christopher James Lahey <clahey@helixcode.com> * folder-browser.c: Connect to signals on the ETable instead of the ETableScrolled. * subscribe-dialog.c: Used the e_table_scrolled_get_table function instead of accessing the variable directly. svn path=/trunk/; revision=6873
* Add some g_return_if_fail()s to protect from crashes until the code toDan Winship2000-12-081-0/+2
| | | | | | | | | | | | * mail-callbacks.c: (various) * folder-browser.c (filter_mlist): * mail-autofilter.c (filter_gui_add_from_message): * mail-vfolder.c (vfolder_gui_add_from_message): Add some g_return_if_fail()s to protect from crashes until the code to enable/disable commands based on how many messages are selected is done. svn path=/trunk/; revision=6840
* Remove bits of filter-on-demand and toolbar bug workaround cruft thatDan Winship2000-12-071-21/+0
| | | | | | | | | | * folder-browser.c: Remove bits of filter-on-demand and toolbar bug workaround cruft that don't do anything useful any more. * mail-ops.c (cleanup_load_folder): unref the ref we added in setup_load_folder. svn path=/trunk/; revision=6812
* Make inline forwarding not be the default anymore.Ettore Perazzoli2000-12-041-2/+2
| | | | svn path=/trunk/; revision=6771
* Added the SaveAs bonobo menu verb thingy.Jeffrey Stedfast2000-11-291-0/+1
| | | | | | | | | | | | | | | | | 2000-11-28 Jeffrey Stedfast <fejj@helixcode.com> * folder-browser-factory.c: Added the SaveAs bonobo menu verb thingy. * mail-callbacks.c (save_msg): New callback for saving messages. (save_msg_ok): * folder-browser.c (on_right_click): Add a Save Ass menu item. * mail-ops.c (cleanup_save_messages): Save all emails to the path given. svn path=/trunk/; revision=6699
* New function to return if user wants to view message source.Jeffrey Stedfast2000-11-221-3/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-11-21 Jeffrey Stedfast <fejj@helixcode.com> * mail-config.c (mail_config_view_source): New function to return if user wants to view message source. (mail_config_set_view_source): New function to set whether the view wants to view source. * mail-ops.c (mail_do_view_message_sources): Removed. We're not gonna view-source this way anymore. * folder-browser-factory.c: Removed the ViewSource bonobo verb from the Message menu. (control_activate): Added ViewSource. * folder-browser.c (on_right_click): Removed Message menu item to view message source. (folder_browser_toggle_view_source): New callback to set whether or not the MailDisplay shows the raw message or the pretty-ified message. * mail-callbacks.c: Removed view_source. * mail-display.c (redisplay): If toggle_raw is set then display the raw message else display the pretty formatted message. (mail_display_redisplay): New function to force the redisplay of a message. * mail-format.c (mail_format_raw_message): New function to write the raw message data. svn path=/trunk/; revision=6639
* Added a new Forward as Attachment bonobo menu item verb.Jeffrey Stedfast2000-11-161-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-11-15 Jeffrey Stedfast <fejj@helixcode.com> * folder-browser-factory.c: Added a new Forward as Attachment bonobo menu item verb. * mail-view.c (view_forward_msg): Updated to reflect changes to mail_do_forward_message(). It now forwards the message without attaching it - is this what we want? * mail-ops.c (mail_do_view_message_sources): New async function to display message source dialog windows. (setup_forward_messages): If we were asked not to forward the message(s) as attachment(s) and the user chose more than a single message, then default to making each message an attachment. (cleanup_forward_messages): If we aren't forwarding the message as an attachment, then quote the text and set the composer's body with it. * mail-callbacks.c (view_source): New callback to view the message source of all messages that are currently selected. (forward_attach): New callback to forward a message as an attachment (forward_msg is now for forwarding a message without it being an attachment). (forward_message): Convenience function for forwarding messages. svn path=/trunk/; revision=6585