aboutsummaryrefslogtreecommitdiffstats
path: root/mail/em-folder-tree.c
Commit message (Collapse)AuthorAgeFilesLines
* setup exclusion for vfolder sources, noselect folders. Bug #60794.Not Zed2004-06-291-1/+0
| | | | | | | | | 2004-06-29 Not Zed <NotZed@Ximian.com> * em-vfolder-rule.c (source_add): setup exclusion for vfolder sources, noselect folders. Bug #60794. svn path=/trunk/; revision=26544
* Don't prepend the path string with a '/'.Jeffrey Stedfast2004-06-251-8/+7
| | | | | | | | | | | | | 2004-06-23 Jeffrey Stedfast <fejj@novell.com> * em-folder-selector.c (em_folder_selector_get_selected_path): Don't prepend the path string with a '/'. * em-folder-tree.c (em_folder_tree_create_folder): This takes a full_name so update the argument to make that clear. (emft_create_folder): Same and also don't strip a leading '/' svn path=/trunk/; revision=26513
* set search column. #60152.Not Zed2004-06-251-0/+2
| | | | | | | | 2004-06-25 Not Zed <NotZed@Ximian.com> * em-folder-tree.c (folder_tree_new): set search column. #60152. svn path=/trunk/; revision=26507
* As toshok discovered, gtk_tree_model_get() strdup's string arguments,Jeffrey Stedfast2004-06-231-90/+124
| | | | | | | | | | | | | | | | | | | | | | | | | 2004-06-22 Jeffrey Stedfast <fejj@novell.com> * em-folder-tree.c (emft_maybe_expand_row): As toshok discovered, gtk_tree_model_get() strdup's string arguments, *sigh*, so we need to free them. (tree_drag_data_delete): Same. (tree_drag_data_get): Same. (tree_drag_data_received): Same. (emft_drop_target): Same (em_folder_tree_get_selected_uris): Same. (get_selected_uris_path_iterate): Same. (emft_update_model_expanded_state): Same. (emft_tree_row_expanded): Same. (emft_tree_row_activated): Same. (emft_popup_delete_response): Same. (emft_popup_delete_folder): Same. (emft_popup_rename_folder): Same. (emft_popup_properties): Same. (emft_tree_button_press): Same. (emft_tree_selection_changed): Same. svn path=/trunk/; revision=26457
* gtk_tree_model_get on a string field allocates the return value. freeChris Toshok2004-06-231-0/+1
| | | | | | | | | 2004-06-22 Chris Toshok <toshok@ximian.com> * em-folder-tree.c (render_pixbuf): gtk_tree_model_get on a string field allocates the return value. free path. svn path=/trunk/; revision=26456
* gtk_tree_model_get on a string field allocates the return value. freeChris Toshok2004-06-221-0/+1
| | | | | | | | | 2004-06-21 Chris Toshok <toshok@ximian.com> * em-folder-tree.c (render_display_name): gtk_tree_model_get on a string field allocates the return value. free name. svn path=/trunk/; revision=26448
* ** See #59885.Not Zed2004-06-171-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2004-06-17 Not Zed <NotZed@Ximian.com> ** See #59885. ** Moved all of the mail specific filtering stuff from filter/* to here. Renamed appropriately into em* space, etc. * em-filter-folder-element.c (emff_copy_value): implement for folders. * em-vfolder-rule.c (get_widget): read the vfolder glade from mail-config.glade. * mail-config.glade: moved the vfolder source selector here. * em-search-context.c: new mail search specific rule context. * mail-component.c (setup_search_context): use the new em_search_context. * vfolder-rule.c (validate): change error to mail context. * filter-folder.c (validate): change error to mail context. * Makefile.am (em-filter-i18n.h): added rule for i18n of mail filter type stuff. (libevolution_mail_la_SOURCES): added in the filter and vfolder rule stuff specific to mail. ** See #59885. * em-format-html-quote.[ch]: remove and remove from build, not used. * Makefile.am (libevolution_mail_la_LIBADD): add libeabutil and evolutionsmime. * mail-component-factory.c (factory): there is no mail_config anymore. svn path=/trunk/; revision=26380
* frombase is simply the select_path, since selected_path is now just theJeffrey Stedfast2004-06-161-4/+4
| | | | | | | | | | 2004-06-15 Jeffrey Stedfast <fejj@novell.com> * em-folder-tree.c (emft_popup_copy_folder_selected): frombase is simply the select_path, since selected_path is now just the full_name rather than the path. Fixes bug #60075. svn path=/trunk/; revision=26357
* don't check rule->source, its irrelevent to vfolder sources, and clean upNot Zed2004-06-141-0/+1
| | | | | | | | | | | | | 2004-06-14 Not Zed <NotZed@Ximian.com> * mail-vfolder.c (rule_changed): don't check rule->source, its irrelevent to vfolder sources, and clean up the logic a bit. #59158. * em-folder-tree.c (emft_popup_new_folder_response): destroy the create dialogue if we're firing up the vfolder creation window. svn path=/trunk/; revision=26332
* Free any old select_uri string we may have. (emft_tree_row_expanded):Jeffrey Stedfast2004-06-121-17/+19
| | | | | | | | | | | | | | | | 2004-06-11 Jeffrey Stedfast <fejj@ximian.com> * em-folder-tree.c (em_folder_tree_set_selected): Free any old select_uri string we may have. (emft_tree_row_expanded): Remove the gross hack that was here. (emft_get_folder_info__got): Check for priv->select_uri and try selecting it (if we can't select it yet, it'll just be re-queued for later). (emft_tree_row_activated): Clear the select_uri if set, the user's selection overrules any auto-selection. (emft_tree_selection_changed): Same. svn path=/trunk/; revision=26318
* rearrange the setting up of the target flags, stores can have a null path.Not Zed2004-06-111-13/+18
| | | | | | | | | | | | | | | | 2004-06-11 Not Zed <NotZed@Ximian.com> * em-folder-tree.c (emft_tree_button_press): rearrange the setting up of the target flags, stores can have a null path. * em-folder-selector.c (emfs_create_name_changed): use get_selected_uri rather than path. a valid uri may have a null path now. (emfs_create_name_activate): and here too. (em_folder_selector_get_selected_path): check the uri is null for a selected path, and then handle a null path. svn path=/trunk/; revision=26307
* revert previous change. Stupid emftm.Not Zed2004-06-111-1/+1
| | | | | | | | | 2004-06-11 Not Zed <NotZed@Ximian.com> * em-folder-tree-model.c (em_folder_tree_model_add_store): revert previous change. Stupid emftm. svn path=/trunk/; revision=26306
* Fixes bug #58825. Ugh. Really Gross Hack (tm).Jeffrey Stedfast2004-06-111-3/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2004-06-10 Jeffrey Stedfast <fejj@novell.com> Fixes bug #58825. Ugh. Really Gross Hack (tm). * em-folder-tree.c (emft_tree_row_expanded): If the store that we are expanding matches the uri that we've been requested to select (e.g. from before the store was added to the tree), then give the uri to the get_folder_info_op. (em_folder_tree_set_selected): If the store for the uri isn't in the tree yet, save the uri for later. * mail-component.c (folder_selected_cb): Set the selected state of the folder-tree and save it. (impl_createControls): Restore the selected state on the folder-tree. * em-folder-tree-model.c (em_folder_tree_model_set_selected): New function to set the selected-uri saved state. (em_folder_tree_model_get_selected): New function to get the selected uri saved state. (em_folder_tree_model_save_state): Renamed. * em-folder-tree.c (emft_update_model_expanded_state): Don't let path be NULL if the node is a store node (path == NULL for any other case is a bug). (emft_maybe_expand_row): Same. svn path=/trunk/; revision=26294
* Scroll to the selected folder if needed. Fixes bug #59609.Jeffrey Stedfast2004-06-091-1/+2
| | | | | | | | | 2004-06-08 Jeffrey Stedfast <fejj@novell.com> * em-folder-tree.c (em_folder_tree_set_selected): Scroll to the selected folder if needed. Fixes bug #59609. svn path=/trunk/; revision=26262
* Only change the cursor if the currently selected folder is a subfolder ofJeffrey Stedfast2004-06-091-5/+16
| | | | | | | | | | | | | 2004-06-08 Jeffrey Stedfast <fejj@novell.com> * em-folder-tree.c (emft_tree_row_collapsed): Only change the cursor if the currently selected folder is a subfolder of the folder collapsed. Fixes bug #59801 without breaking bug #57665. (emft_tree_test_collapse_row): Renamed from emft_tree_collapse_row() to match the new signal we are connected to. svn path=/trunk/; revision=26258
* Shuffle usage of trailing "..." in menus.Christian Neumair2004-06-051-4/+4
| | | | svn path=/trunk/; revision=26227
* Disable debug here too - all this code has been working fine.Jeffrey Stedfast2004-05-291-2/+2
| | | | | | | | | | | | | | | | | | | | | 2004-05-28 Jeffrey Stedfast <fejj@novell.com> * em-folder-tree.c (d): Disable debug here too - all this code has been working fine. * em-folder-selector.c (d): Disable debug spew here too (not that this debug was ever seen since it never hit those conditions). * mail-folder-cache.c (d): Disable debug here too. * em-folder-tree-model.c: Disable debug spewage that we don't need anymore. The amount of debug spewage on the console is getting to be too much to find anything. * em-folder-tree.c (emft_expand_node): Use p+1 as the full_name rather than p. Fixes bug #59187. svn path=/trunk/; revision=26125
* Instead of removing the "Loading..." row for toplevel folder nodes onJeffrey Stedfast2004-05-281-1/+12
| | | | | | | | | | | | 2004-05-27 Jeffrey Stedfast <fejj@novell.com> * em-folder-tree.c (emft_get_folder_info__got): Instead of removing the "Loading..." row for toplevel folder nodes on failure (which indicates a failure conenct to the server, most likely), collapse the store node so that if the user expands the store node, it will automagically try connecting again. Fixes bug #57493. svn path=/trunk/; revision=26115
* set the default selection to inbox.Not Zed2004-05-261-87/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2004-05-26 Not Zed <NotZed@Ximian.com> * importers/evolution-mbox-importer.c (create_control_fn): set the default selection to inbox. * importers/evolution-outlook-importer.c (folder_selected) (create_control_fn): copied from mbox importer. fixes a crash & lets you choose the target folder. 2004-05-25 Not Zed <NotZed@Ximian.com> * mail-component.c (mc_add_local_store_done): removed, now redundant. * em-folder-tree.c (em_folder_tree_set_selected): fix for path changes. * em-folder-tree-model.c (em_folder_tree_model_set_unread_count): change to use full name rather than path name. * em-folder-tree-model.h: renamed path_hash to full_hash. * em-folder-tree-model.c (folder_subscribed): dont use g_path_get_dirname here, it is os dependent, we want / always. (full_hash_free): rename from path_hash free. svn path=/trunk/; revision=26090
* use set_cursor instead of scroll_to_row. See #58383.Not Zed2004-05-241-21/+21
| | | | | | | | | | | | | | | 2004-05-24 Not Zed <NotZed@Ximian.com> * em-folder-tree.c (em_folder_tree_set_selected): use set_cursor instead of scroll_to_row. See #58383. (get_selected_uris_iterate): removed. (em_folder_tree_get_selected_uris): use an interative call based on gtk_tree_selection_get_selected_rows rather than selected_foreach, as the gtk+ docs suggest. was trying to fix a bug but it seems gtktreeselection bug (shift-select rows using keyboard only) svn path=/trunk/; revision=26058
* add marshaller for p_ppppp call.Not Zed2004-05-211-9/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2004-05-21 Not Zed <NotZed@Ximian.com> * mail-mt.c (do_call): add marshaller for p_ppppp call. * mail-session.c (get_password): fix for camel api changes. (forget_password): same. ** See #58376. * message-list.c (mail_regen_list): do some timeout foo so we don't keep doing list regnerations if we're getting called too often. God knows what this will break. (message_list_set_selected): removede bug printf. (regen_list_free): move the message-list poking stuff into regen_list_regened. (message_list_set_folder): call mail_regen_cancel to cancel any regen stuff. (mail_regen_cancel): cancel/clear outstanding regenerations. (message_list_destroy): do it here too. (message_list_select_uid): also set the pending select uid if we have a timeout pending. * mail-component.c (impl_createControls): set the defualt parent to the main folderview as soon as its created. * em-folder-tree.c (emft_popup_copy_folder_selected): use get_toplevel rather than get_ancestor. seems the more reliable one. also we're always parented so we shoudl always find a toplevel window. (em_folder_tree_create_folder): same. (emft_popup_delete_response): set error parent. (emft_popup_delete_folder, emft_popup_rename_folder) (emft_popup_rename_folder, emft_popup_rename_folder): svn path=/trunk/; revision=26030
* don't emit new mail if its any vfolder, not just vtrash folder. #56350.Not Zed2004-05-181-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2004-05-18 Not Zed <NotZed@Ximian.com> * mail-folder-cache.c (folder_changed): don't emit new mail if its any vfolder, not just vtrash folder. #56350. * em-folder-view.c (emfv_list_done_message_selected): run enable_menu's to make sure we're up to date. #58352. ** crappy hacks for #58385. * em-folder-selection-button.c (em_folder_selection_button_clicked): leave Ok button for this selection. * em-folder-selection.c (em_select_folder): added oklabel here too. * em-folder-selector.c (em_folder_selector_new) (em_folder_selector_construct, em_folder_selector_create_new): Added oklabel- text for ok label. (em_folder_selector_create_new): Set the ok label to Create. * em-message-browser.c (emmb_set_message): don't mark message seen if user has disabled auto-mark seen feature. #58629. * em-format.c (em_format_part): if we have no content-type header, then we get no mime-type set, so assume text/plain. #58470. svn path=/trunk/; revision=25951
* ** Bug #6556.Not Zed2004-05-171-164/+102
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2004-05-17 Not Zed <NotZed@Ximian.com> ** Bug #6556. * message-list.c (ml_drop_async_desc, ml_drop_async_drop) (ml_drop_async_done, ml_drop_async_free, ml_drag_data_action) (ml_drop_popup_copy, ml_drop_popup_move, ml_drop_popup_cancel) (ml_tree_drag_data_received): implement async drop operations and the ask drop option menu. 2004-05-14 Not Zed <NotZed@Ximian.com> ** Bug #6556. * message-list.c (ml_selection_received_uidlist): removed, not needed anymore. (ml_selection_received): call get_uidlist to paste the selection. (ml_tree_drag_data_received): same here. * em-folder-tree.c (emft_drop_uid_list): removed, not needed because of below change. * em-utils.c (em_utils_selection_get_uidlist): actually do the copy now, don't just decode the data. * em-folder-tree.c (tree_drag_data_received): just copy the selection data data itself, dont decode yet. (emft_import_message_rfc822): removed, not needed, use em utils stuff instead. (emft_drop_message_rfc822): same. (emft_drop_text_uri_list): same. (emft_drop_async_free): simply free stuff. (emft_drop_async_drop): call em_utils stuff where they exist to do the drop. * message-list.c (ml_tree_drag_data_get): send x-mailbox instead of message/rfc822 for the mailbox. (ml_tree_drag_data_received): handle drop of x-mailbox differently to message/rfc822. (ml_tree_drag_motion): implement so proper options are setup whilst dragging. (message_list_construct): seutp the drag src/dest types for changes typs and with ASK action. * em-utils.c (em_utils_read_messages_from_stream): dont unref the stream when we get it. (em_utils_selection_get_mailbox): add an argument to scan from or not, for message/rfc822 vs x-mailbox drops. (em_utils_read_messages_from_stream): Same. * em-folder-tree.c (tree_drag_motion): default to move properly. * message-list.c (ml_selection_received_uidlist): take a move flag. (ml_tree_drag_data_received): handle move action. * em-folder-tree.c (em_folder_tree_new_with_model): got sick of this bloody warning. * em-format.c (default_headers[]): just remove x-mailer from the header list, if it isn't on by default. This is the default list. (em_format_default_headers): loop through everything. svn path=/trunk/; revision=25915
* Fix for bug #57152.Jeffrey Stedfast2004-05-081-1/+6
| | | | | | | | | | | | | | | | | | | | 2004-05-07 Jeffrey Stedfast <fejj@ximian.com> Fix for bug #57152. * em-folder-tree.c (emft_get_folder_info__got): If we queried for a recursive folder-info listing, then pass fully_loaded as TRUE to set_folder_info(). (emft_get_folder_info__got): If we find that a folder doesn't have children, set the expanded state to FALSE. * em-folder-tree-model.c (em_folder_tree_model_set_folder_info): Now takes a "fully_loaded" argument to hint to set_folder_info whether or not folder-info's without child nodes can possibly have children (eg. if fully_loaded is set and fi->child is NULL, then 'load' will be FALSE no matter what fi->flags contains). svn path=/trunk/; revision=25826
* Check that the folder is selectable using the new flags argument.Jeffrey Stedfast2004-05-071-11/+14
| | | | | | | | | | | | | | | | 2004-05-06 Jeffrey Stedfast <fejj@ximian.com> * mail-component.c (folder_selected_cb): Check that the folder is selectable using the new flags argument. * em-folder-selector.c (folder_selected_cb): Updated for below changes. * em-folder-tree.c (emft_tree_selection_changed): Updated to pass a flags argument to the folder_selected signal. (emft_tree_row_activated): Same. svn path=/trunk/; revision=25816
* Select the row that was just collapsed. Fixes bug #57665.Jeffrey Stedfast2004-05-061-0/+2
| | | | | | | | | 2004-05-05 Jeffrey Stedfast <fejj@ximian.com> * em-folder-tree.c (emft_tree_row_collapsed): Select the row that was just collapsed. Fixes bug #57665. svn path=/trunk/; revision=25811
* ** See bug #57720.Not Zed2004-05-051-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2004-05-05 Not Zed <NotZed@Ximian.com> ** See bug #57720. * em-folder-browser.c (emfb_create_view_menus): removed some stuff done in create_view_instance in the superclass. * em-folder-view.c (emfv_create_view_instance): moved here from em-folder-browser, setup the view instance for the folder. (emfv_set_folder): if the folder is set, create the view instance. * em-folder-browser.c: moved the galview instance and menu pointers to EMFolderView, since they're basically meta-data on the messagelist @ to fix issues. * em-folder-view.c (em_folder_view_open_selected): copy over the threaded list value when the message browser is brought up. ** some clean up * evolution-mail.schemas.in.in: removed xmailer_mask stuff. * em-migrate.c (mail_display_map[]): Removed xmailer_mask stuff. * em-folder-view.c (emfv_setting_notify): removed xmailer_mask stuff. * em-format-html.c (em_format_html_set_xmailer_mask): removed. This isn't used anymore. ** Fixes the double-draw on separate mail view. * message-list.c (on_cursor_activated_cmd): noop if the cursor and uid match for all cases (clearing uid). (on_selection_changed_cmd): noop if the cursor and new selection hasn't changed & fix a memleak. svn path=/trunk/; revision=25806
* Fix for bug #55303, but ideally there would be a nicer way of doing this -Jeffrey Stedfast2004-05-051-4/+6
| | | | | | | | | | | | | | | | | | | | | 2004-05-04 Jeffrey Stedfast <fejj@ximian.com> Fix for bug #55303, but ideally there would be a nicer way of doing this - likely with some added ETree API but that's not likely to happen anytime soon. * em-folder-browser.c (scroll_idle_cb): Recall the saved scrollbar position state and set it, then reconnect to the message_list_scrolled signal. (emfb_list_built): Calculate a default scrollbar position for scroll_idle_cb to use if there's no saved state. (emfb_set_folder): Disconnect from the message_list_scrolled signal and the idle_scroll_id. (emfb_list_scrolled): Save the scrollbar position state. (emfb_destroy): Disconnect from list_scrolled_id and idle_scroll_id. svn path=/trunk/; revision=25794
* If the row the cursor is hovering over has children and is not expandedJeffrey Stedfast2004-05-011-0/+68
| | | | | | | | | | | | | | 2004-04-30 Jeffrey Stedfast <fejj@ximian.com> * em-folder-tree.c (tree_drag_motion): If the row the cursor is hovering over has children and is not expanded already, setup a timer to auto-expand it if the user hovers there long enough. (tree_autoexpand): Callback to expand the row. (tree_drag_leave): Disconnect the timer. (tree_drag_drop): Same. (em_folder_tree_destroy): Same. svn path=/trunk/; revision=25718
* ** Changed error messages to use EError.Not Zed2004-04-281-69/+39
| | | | | | | | 2004-04-28 Not Zed <NotZed@Ximian.com> ** Changed error messages to use EError. svn path=/trunk/; revision=25653
* ** See bug #57659.Not Zed2004-04-271-1/+1
| | | | | | | | | | 2004-04-27 Not Zed <NotZed@Ximian.com> ** See bug #57659. * mail-ops.c (fix_unmatched_info): removed, done in camel now. svn path=/trunk/; revision=25625
* Same.Jeffrey Stedfast2004-04-201-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | 2004-04-19 Jeffrey Stedfast <fejj@ximian.com> * message-tag-followup.c (construct): Same. * message-list.c (message_list_init_images): Same. * mail-send-recv.c (build_dialog): Same. * mail-mt.c (do_op_status): Same. * mail-config-druid.c (evolution_mail_config_wizard_new): Same. * em-popup.c (em_popup_create_menu): Same. * em-format-html-display.c (efhd_format_prefix): Same. * em-format-html.c (efh_format_secure): Same as below. * em-folder-tree.c (render_pixbuf): Don't use absolute icon sizes, use the e-icon-factory enums. svn path=/trunk/; revision=25527
* mail-component.cMichael Terry2004-04-191-10/+11
| | | | | | | | | | | | | | | | | | | | | | | | | 2004-04-19 Michael Terry <mike@mterry.name> * GNOME_Evolution_Mail.server.in.in: * em-account-prefs.[ch]: * em-composer-prefs.[ch]: * em-folder-browser.c: * em-folder-tree.c: * em-folder-view.c: * em-format-html-display.c: * em-format-html.[ch]: * em-popup.c: * mail-component.c * mail-config-druid.c: * mail-config.glade: * mail-mt.c: * mail-send-recv.c: * message-list.c: * message-tag-followup.c: * message-tags.glade: Update the mailer to use icon themes through the EIconFactory object in e-util svn path=/trunk/; revision=25517
* Scroll to the auto-selected folder. Fixes bug #56707.Jeffrey Stedfast2004-04-131-0/+1
| | | | | | | | | 2004-04-12 Jeffrey Stedfast <fejj@ximian.com> * em-folder-tree.c (em_folder_tree_set_selected): Scroll to the auto-selected folder. Fixes bug #56707. svn path=/trunk/; revision=25418
* We need to recursively copy the dragged folder tree over to the dropJeffrey Stedfast2004-04-091-9/+54
| | | | | | | | | | | 2004-04-08 Jeffrey Stedfast <fejj@ximian.com> * em-folder-tree.c (emft_drop_folder): We need to recursively copy the dragged folder tree over to the drop location, not just the parent folder. We also need to subscribe to the newly created folder in some cases. svn path=/trunk/; revision=25375
* Check that emft_selection_get_selected() returns TRUE before we try to useJeffrey Stedfast2004-04-081-5/+15
| | | | | | | | | | | | | | 2004-04-07 Jeffrey Stedfast <fejj@ximian.com> * em-folder-tree.c (emft_tree_button_press): Check that emft_selection_get_selected() returns TRUE before we try to use the iter. Fixes bug #56652. (emft_popup_delete_response): Same idea here. (emft_popup_delete_folder): Same. (emft_popup_rename_folder): Same. (emft_popup_properties): Same. svn path=/trunk/; revision=25366
* moved a comment to a more appropriate locationJeffrey Stedfast2004-04-081-1/+1
| | | | svn path=/trunk/; revision=25365
* ref the emfoldertree in our thread message. (em_folder_tree_set_selected):Not Zed2004-04-061-0/+3
| | | | | | | | | | | | | | | | | 2004-04-06 Not Zed <NotZed@Ximian.com> * em-folder-tree.c (emft_tree_row_expanded): ref the emfoldertree in our thread message. (em_folder_tree_set_selected): same. (emft_get_folder_info__free): unref it. * mail-folder-cache.c (ping_store): use thread_queued_slow not thread_queued - we dont care when it runs. * em-folder-view.c (emfv_set_folder_uri): use thread_new for getting the folder, we do elsewhere, and it aids interactivity. svn path=/trunk/; revision=25330
* Cleaned up header inclusions and added plenty of forward declarations.Not Zed2004-03-311-4/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2004-03-31 Not Zed <NotZed@Ximian.com> * *.[ch]: Cleaned up header inclusions and added plenty of forward declarations. Sped up complete re-compilation by upto 20%. ** See bug #55950. * em-utils.c (em_utils_in_addressbook): utility for checking if an email address is in the addressbook. I can't tell if it works 'cause it crashes eds. * em-format-html.c (emfh_gethttp): handle addressbook checking. 2004-03-30 Not Zed <NotZed@Ximian.com> * mail-config.h: clean up the headers and use some forward decl's instead. * em-format-html.c (em_format_html_set_load_http): change state to an int 'style' instead. * em-folder-view.c (emfv_setting_notify): set the format load http option to the config value directly. ** See bug #56147. * message-list.c (clear_info): set the node data to NULL when we unref its data. (ml_get_save_id): use a different test for the root node, and return NULL if we don't have any data on the node (because we're cleaing it). ** See bug #54962. * em-folder-tree.c (emft_popup_new_folder_response): put back the old hack to open the vfolder editor if you try to create a folder under vfolders. ** See bug #55940. * mail-autofilter.c (mail_filter_rename_uri): map the uri to an email uri before passing to filter code. (mail_filter_delete_uri): same here. svn path=/trunk/; revision=25261
* Free the folder-info.Jeffrey Stedfast2004-03-301-2/+1
| | | | | | | | | 2004-03-29 Jeffrey Stedfast <fejj@ximian.com> * em-folder-tree.c (emft_create_folder__free): Free the folder-info. svn path=/trunk/; revision=25233
* Fixes bug #54800.Jeffrey Stedfast2004-03-201-2/+62
| | | | | | | | | | | | | | | 2004-03-19 Jeffrey Stedfast <fejj@ximian.com> Fixes bug #54800. * em-folder-tree.c (tree_drag_drop): Remove the autoscroll timeout. (tree_drag_leave): Remove the autoscroll timeout. (tree_autoscroll): New autoscroll timeout callback - automagically scrolls the treeview if appropriate. (tree_drag_motion): Setup the autoscroll timeout. svn path=/trunk/; revision=25134
* Fix for bug #55358.Jeffrey Stedfast2004-03-171-48/+64
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2004-03-16 Jeffrey Stedfast <fejj@ximian.com> Fix for bug #55358. * em-folder-tree.c (emft_expand_node): Changed to be the callback function for em_folder_tree_model_expand_foreach(). (emft_maybe_expand_row): Renamed from emft_loading_row_cb(). We now handle both "loading-row" an "loaded-row" signals. Also updated for slight change in key generation. (em_folder_tree_new_with_model): Connect to the "loaded-row" signal. (emft_update_model_expanded_state): Updated for slight change in key generation. * em-folder-tree-model.c (em_folder_tree_model_add_store): Emit the "loaded-row" signal for the newly added store. (em_folder_tree_model_set_folder_info): Emit "loaded-row" for the row we've just set the info on (but only after we've added a child node if there is one, so the signal handler can expand the newly added row if appropriate). (em_folder_tree_model_class_init): Setup the "loaded-row" signal. (em_folder_tree_model_finalize): The tree-state is now an xml file and not a binary file, so change the expanded free func. (em_folder_tree_model_load_state): Load the expand-state xml file. If one doesn't exist, setup some defaults. (em_folder_tree_model_get_expanded): Scan the XML tree for the node. (em_folder_tree_model_set_expanded): Same. (em_folder_tree_model_save_expanded): Save the expand-state xml tree to disk. (em_folder_tree_model_expand_foreach): New function to iterate over all xml nodes and call the callback if the expand state is "true". svn path=/trunk/; revision=25094
* New function to return a description of the async drop operation. FixesJeffrey Stedfast2004-03-171-1/+27
| | | | | | | | | 2004-03-16 Jeffrey Stedfast <fejj@ximian.com> * em-folder-tree.c (emft_drop_async_desc): New function to return a description of the async drop operation. Fixes bug #54808. svn path=/trunk/; revision=25090
* Use camel_store_rename_folder() when appropriate (m->tostore ==Jeffrey Stedfast2004-03-161-21/+35
| | | | | | | | | | 2004-03-15 Jeffrey Stedfast <fejj@ximian.com> * em-folder-tree.c (emft_copy_folders__copy): Use camel_store_rename_folder() when appropriate (m->tostore == m->fromstore && m->delete) svn path=/trunk/; revision=25080
* make dnd look funny for joe. #55246.Not Zed2004-03-111-1/+1
| | | | | | | | | 2004-03-11 Not Zed <NotZed@Ximian.com> * em-folder-tree.c (tree_drag_motion): make dnd look funny for joe. #55246. svn path=/trunk/; revision=25023
* pass the raw header in instead of name and value. (efh_format_headers): ifNot Zed2004-03-111-10/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2004-03-11 Not Zed <NotZed@Ximian.com> * em-format-html.c (efh_format_header): pass the raw header in instead of name and value. (efh_format_headers): if we have specific headers to show, iterate over all headers and print out all matching ones, so duplicate headers are properly displayed. Related to #55298. * em-folder-selector.c (em_folder_selector_construct): dont set this to be modal. otherwise you can't click on error popups. duh. 2004-03-08 Not Zed <NotZed@Ximian.com> * em-folder-selection-button.c (em_folder_selection_button_clicked): don't let the user select virtual/vtrash folders or non-selectable folders. * mail-component.c (impl_createControls): disable selection of non-select rows. * em-folder-selector.c (em_folder_selector_create_new): exclude folders with noinferiors set. * em-folder-tree.c (folder_tree_new): add folder tree arg, hook onto the selection funciton for the tree selection. (emft_select_func): selection override function. allow certain things to be excluded. (em_folder_tree_set_excluded): api to set what is excluded from the selectability. (emft_tree_row_activated): call emft_select_func check to see if this row is excluded before emitting an activated signal. * em-folder-tree-model.c (em_folder_tree_model_set_folder_info): save folder info->flags in the tree store. * mail-folder-cache.c (create_folders): use tail recursion. (get_folders): tail recurse. * (*): Fixed for api changes in camel. svn path=/trunk/; revision=25020
* New async function to create a folder. (em_folder_tree_create_folder):Jeffrey Stedfast2004-03-091-28/+146
| | | | | | | | | | | | | | 2004-03-08 Jeffrey Stedfast <fejj@ximian.com> * em-folder-tree.c (emft_create_folder): New async function to create a folder. (em_folder_tree_create_folder): Partly moved into emft_create_folder. Might be able to remove this code, but lewing might be using it in Connector or something? Need to ask him... (emft_popup_new_folder_response): Use emft_create_folder() instead. svn path=/trunk/; revision=24993
* ** See bug #54121.Not Zed2004-03-031-1/+0
| | | | | | | | | | | | | | 2004-03-03 Not Zed <NotZed@Ximian.com> ** See bug #54121. * mail-component.c (impl_requestCreateItem) (emc_new_folder_response): Hack in a nastish implementation of create folder for the new menu. (impl__get_userCreatableItems): add 'new mail folder' to new button. svn path=/trunk/; revision=24945
* s/||/&&/. Fixes a dumb bug I introduced yesterday.Jeffrey Stedfast2004-03-031-1/+1
| | | | | | | | | 2004-03-02 Jeffrey Stedfast <fejj@ximian.com> * em-folder-tree.c (emft_tree_button_press): s/||/&&/. Fixes a dumb bug I introduced yesterday. svn path=/trunk/; revision=24938
* Connect to the folder-activated signal. (folder_activated_cb): CallJeffrey Stedfast2004-03-021-6/+58
| | | | | | | | | | | | | | | | | | 2004-03-01 Jeffrey Stedfast <fejj@ximian.com> * em-folder-selector.c (em_folder_selector_construct): Connect to the folder-activated signal. (folder_activated_cb): Call gtk_dialog_response() with GTK_RESPONSE_OK. Fixes bug #54793. * em-folder-tree.c (emft_tree_row_activated): New callback to emit the "folder-activated" signal which is needed to fix bug #54793. (emft_tree_button_press): Handle button1 double-clicks too (also for bug #54793). (emft_tree_button_press): On right-click, we also want to select the folder the user right-clicked on. Fixes bug #54772. svn path=/trunk/; revision=24928
* We want UID_LISTs to drop with the MOVE action by default. Fixes a commonJeffrey Stedfast2004-02-241-1/+7
| | | | | | | | | | 2004-02-23 Jeffrey Stedfast <fejj@ximian.com> * em-folder-tree.c (tree_drag_motion): We want UID_LISTs to drop with the MOVE action by default. Fixes a common complaint from IRC. svn path=/trunk/; revision=24832
* Revert previous change, dohRodney Dawes2004-02-201-0/+1
| | | | | | | | 2004-02-19 Rodney Dawes <dobey@ximian.com> * em-folder-tree.c (emft_save_state): Revert previous change, doh svn path=/trunk/; revision=24800
* Don't set the timeout id to 0 and then immediately return FALSE, whichRodney Dawes2004-02-201-1/+0
| | | | | | | | | 2004-02-19 Rodney Dawes <dobey@ximian.com> * em-folder-tree.c (emft_save_state): Don't set the timeout id to 0 and then immediately return FALSE, which tries to remove the timeout svn path=/trunk/; revision=24798
* Pass flags to em_popup_target_new_folder() instead of just an isstore arg.Jeffrey Stedfast2004-02-191-1/+6
| | | | | | | | | | | 2004-02-18 Jeffrey Stedfast <fejj@ximian.com> * em-folder-tree.c (emft_tree_button_press): Pass flags to em_popup_target_new_folder() instead of just an isstore arg. (emft_tree_button_press): Fake the fi flags for vTrash/vJunk so that em-popup.c can disable the delete flag for these. svn path=/trunk/; revision=24787
* removed a FIXME comment that my last commit fixedJeffrey Stedfast2004-02-191-1/+0
| | | | svn path=/trunk/; revision=24786
* Pass flags to em_popup_target_new_folder() instead of just an isstore arg.Jeffrey Stedfast2004-02-191-8/+29
| | | | | | | | | | | | | | 2004-02-18 Jeffrey Stedfast <fejj@ximian.com> * em-folder-tree.c (emft_tree_button_press): Pass flags to em_popup_target_new_folder() instead of just an isstore arg. * em-popup.c (em_popup_target_new_folder): Instead of taking an isstore argument, take a flags argument so that our caller can give us hints about the selected folder/store. Also fixed a logic bug from my previous commit. svn path=/trunk/; revision=24785
* Updated for em-popup API change (altho currently passes a dummy value).Jeffrey Stedfast2004-02-191-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | 2004-02-12 Jeffrey Stedfast <fejj@ximian.com> * em-folder-tree.c (emft_tree_button_press): Updated for em-popup API change (altho currently passes a dummy value). * em-popup.c (em_popup_target_new_folder): Check for vTrash/vJunk by checking the CAMEL_FOLDER_VIRTUAL info flags bit. (perhaps this flag should be renamed to SPECIAL? VIRTUAL might not have been a good name). Also changed to check flags & CAMEL_FOLDER_NOSELECT rather than checking the uri string for a noselect param. * mail-folder-cache.c (unset_folder_info): Instead of checking for ";noselect" in the uri, check for a CAMEL_FOLDER_NOSELECT flag on mfi->flags. (setup_folder): Copy the fi->flags to mfi->flags here. (rename_folders): Same. (setup_folder): Check fi->flags for CAMEL_FOLDER_NOSELECT here instead. (rename_folders): Same. Also gets rid of a FIXME. svn path=/trunk/; revision=24784
* ** See bug #54492.Not Zed2004-02-181-7/+6
| | | | | | | | | | | | 2004-02-18 Not Zed <NotZed@Ximian.com> ** See bug #54492. * em-folder-tree.c (emft_popup_copy_folder_selected): check the store flags, not the fragment presence to find out if we use the fragment as the path. svn path=/trunk/; revision=24767
* Fix for bug #54060 (except for the "don't let users copy/move messages toJeffrey Stedfast2004-02-181-42/+129
| | | | | | | | | | | | | | | | | | | | | | | 2004-02-17 Jeffrey Stedfast <fejj@ximian.com> Fix for bug #54060 (except for the "don't let users copy/move messages to Outbox" bit). * em-folder-tree.c (emft_drop_target): Rearranged a little. We can check for special dest folders right away. Also added a check for the default local folders (Drafts/Inbox/Outbox/Sent) since we don't want to be able to move them anywhere else (copying is ok). (emft_popup_copy_folder_selected): Don't allow moving any of the default local folders to be consistant with drag&drop changes. (emft_popup_rename_folder): Don't allow the user to rename a default local folder. (emft_popup_delete_folder): Don't allow deletion of special local folders. * mail-component.c (mail_component_peek_local_store): New function to peek the local store. svn path=/trunk/; revision=24765
* Make sure the drop-target folder doesn't already contain a folder namedJeffrey Stedfast2004-02-141-5/+3
| | | | | | | | | | | 2004-02-13 Jeffrey Stedfast <fejj@ximian.com> * em-folder-tree.c (emft_drop_folder): Make sure the drop-target folder doesn't already contain a folder named identical to the one we are dropping by using the new CAMEL_STORE_FOLDER_EXCL flag. Fixes bug #53810. svn path=/trunk/; revision=24739
* oops, remove some debugMichael Zucci2004-02-091-3/+0
| | | | svn path=/trunk/; revision=24680
* merged in code from em_folder_tree_model_drag_data_delete.Not Zed2004-02-091-39/+587
| | | | | | | | | | | | | | | | | | | | | | | | | | 2004-02-09 Not Zed <NotZed@Ximian.com> * em-folder-tree.c (tree_drag_data_delete): merged in code from em_folder_tree_model_drag_data_delete. (tree_drag_data_get): similar. (tree_drag_data_received): similar. (drag_text_uri_list): removed, use em_utils_selection_set_urilist in tree_drag_data_get instead. (em_folder_tree_enable_drag_and_drop): merged in em_folder_tree_model_set_drag_drop_types. (tree_drag_motion): merge in drop_possible, handle qualifiers, and return the right type. (em_folder_tree_model_row_drop_target): rename to emft_drop_target, and make private. Beefed up substantially, handles illogical drops, dropping on to special folders and properly handling vfolder uri's (at least within the same tree instance). * em-folder-tree-model.c: Moved all of the DND stuff to em-folder-tree, where it belongs, made it all static. Should allow for some sharing of code too. svn path=/trunk/; revision=24679
* Now takes a GdkContext arg... will need this later when we want toJeffrey Stedfast2004-02-061-2/+2
| | | | | | | | | | 2004-02-05 Jeffrey Stedfast <fejj@ximian.com> * em-folder-tree-model.c (em_folder_tree_model_row_drop_target): Now takes a GdkContext arg... will need this later when we want to re-enable dnd of vfolders. svn path=/trunk/; revision=24637
* sync the from folder if we're going to delete it, otherwise we can'tNot Zed2004-02-051-0/+6
| | | | | | | | | | 2004-02-05 Not Zed <NotZed@Ximian.com> * em-folder-tree.c (emft_copy_folders__copy): sync the from folder if we're going to delete it, otherwise we can't because its not empty. See #53815. svn path=/trunk/; revision=24631
* call abort before we unref, aid debugging if we hit it.Not Zed2004-02-051-1/+1
| | | | | | | | | | | | 2004-02-05 Not Zed <NotZed@Ximian.com> * em-folder-tree.c (em_folder_tree_create_folder): call abort before we unref, aid debugging if we hit it. * mail-vfolder.c (uri_is_spethal): check for vfolder/vtrash folders. Based on name check and store options. svn path=/trunk/; revision=24626
* Modified slightly. The model now calls gtk_drag_finish() for us when it isJeffrey Stedfast2004-02-041-8/+2
| | | | | | | | | | | | | | | | 2004-02-03 Jeffrey Stedfast <fejj@ximian.com> * em-folder-tree.c (tree_drag_data_received): Modified slightly. The model now calls gtk_drag_finish() for us when it is done. * em-folder-tree-model.c (em_folder_tree_model_drag_data_received): Make this perform camel operations in another thread so we don't block. (em_folder_tree_model_drag_data_get): Updated args to be consistant with drag_data_received. svn path=/trunk/; revision=24595
* ** See bug #52994.Not Zed2004-02-021-205/+3
| | | | | | | | | | | | | | | | | | | | | 2004-02-02 Not Zed <NotZed@Ximian.com> ** See bug #52994. * em-folder-properties.c (em_folder_properties_show): redirect vFolder uri's to the vFolder editor. ** See bug #53502. * em-folder-browser.c (emfb_folder_properties): implement. * em-folder-tree.c (emft_popup_properties): fixed for change below. * em-folder-properties.[ch]: Moved the folder properties window from em-folder-tree.c to its own file. svn path=/trunk/; revision=24564
* god knows what else this'll break.Not Zed2004-02-021-0/+1
| | | | | | | | | | | | | | | | 2004-02-02 Not Zed <NotZed@Ximian.com> ** See bug #53559. * em-folder-tree.c (folder_tree_new): set CAN_FOCUS flag on the folder tree content widget. * em-folder-selector.c (em_folder_selector_construct): Don't wrap the folder tree in a scrolled window. Its already in one ????. (em_folder_selector_construct): dont set can_focus on the folder tree. svn path=/trunk/; revision=24563
* Get recursive folder listing (needed or folders that haveJeffrey Stedfast2004-01-311-1/+1
| | | | | | | | | | 2004-01-30 Jeffrey Stedfast <fejj@ximian.com> * em-folder-tree.c (emft_tree_row_expanded): Get recursive folder listing (needed or folders that have as-of-yet-unloaded-subfolders that contain unread mail will not be bolded). Fixes bug #51045. svn path=/trunk/; revision=24544
* ** See bug #53549, partial fix.Not Zed2004-01-301-0/+1
| | | | | | | | | | | | | | | | | | 2004-01-30 Not Zed <NotZed@Ximian.com> ** See bug #53549, partial fix. * em-folder-selector.c (emfs_create_name_activate): only emit the ok response if the ok button would be active (i.e. entered a valid path). ** See bug #52992. * message-list.c (message_list_hide_clear): save the hide state after its been cleared, so any popup windows inherit it. (message_list_hide_uids): same. svn path=/trunk/; revision=24534
* And thus completes the fixes for bug #52766.Jeffrey Stedfast2004-01-291-21/+2
| | | | | | | | | | | | | | | | | | | 2004-01-28 Jeffrey Stedfast <fejj@ximian.com> And thus completes the fixes for bug #52766. * em-folder-tree.c (tree_drag_drop): Don't call gtk_drag_get_data() manually here or we end up getting 2 drag-data-received callbacks which is Not Good (tm). * em-folder-tree-model.c (drop_folder): Now takes a moved argument to specify whether or not the contents were moved (the move argument is just a hint). (drop_uid_list): Same. (em_folder_tree_model_drag_data_received): Updated for the above api changes. svn path=/trunk/; revision=24497
* Removed unneeded debug printfs.Jeffrey Stedfast2004-01-281-3/+2
| | | | | | | | | | | | | | | 2004-01-27 Jeffrey Stedfast <fejj@ximian.com> * em-migrate.c (cp): Removed unneeded debug printfs. * em-folder-tree.c (tree_drag_data_received): Use gtk_tree_view_get_dest_row_at_pos() instead of gtk_tree_view_get_path_at_pos() since this is what Nautilus uses. Unfortunately, it still gives us back the wrong GtkTreePath so it looks to me like Gtk+ is borked. Apparently you need the latest and greatest gtk+-2.3.x cvs snapshot for this to work. svn path=/trunk/; revision=24482
* Use gtk_tree_view_get_dest_row_at_pos() instead ofJeffrey Stedfast2004-01-281-3/+2
| | | | | | | | | | | | | | | 2004-01-27 Jeffrey Stedfast <fejj@ximian.com> * em-folder-tree.c (tree_drag_data_received): Use gtk_tree_view_get_dest_row_at_pos() instead of gtk_tree_view_get_path_at_pos() since this is what Nautilus uses. Unfortunately, it still gives us back the wrong GtkTreePath so it looks to me like Gtk+ is borked. * em-migrate.c (em_migrate_imap_caches_1_4): Copy the imap cache into the right place. Duh. svn path=/trunk/; revision=24477
* Set priv->drag_row.Jeffrey Stedfast2004-01-271-2/+16
| | | | | | | | 2004-01-26 Jeffrey Stedfast <fejj@ximian.com> * em-folder-tree.c (tree_drag_begin): Set priv->drag_row. svn path=/trunk/; revision=24447
* Use FOLDER_INFO_FAST bitflag here, since we don't care about unread countsJeffrey Stedfast2004-01-271-3/+3
| | | | | | | | | | | | 2004-01-26 Jeffrey Stedfast <fejj@ximian.com> * em-folder-tree.c (emft_copy_folders__copy): Use FOLDER_INFO_FAST bitflag here, since we don't care about unread counts when copying folders around. (emft_popup_delete_folders): Same. (emft_tree_row_expanded): Don't use FOLDER_INFO_FAST here. svn path=/trunk/; revision=24440
* Cast the name entry to a GtkWidget to avoid a compiler warning Grab focusRodney Dawes2004-01-251-0/+1
| | | | | | | | | | | | | 2004-01-25 Rodney Dawes <dobey@ximian.com> * em-folder-selector.c (em_folder_selector_create_new): Cast the name entry to a GtkWidget to avoid a compiler warning * em-folder-tree.c (emft_popup_new_folder): Grab focus on the name entry when we show the dialog (#53089) Fixes #53089 svn path=/trunk/; revision=24423
* Removed the drag & drop interfaces, apparently these aren't good enoughJeffrey Stedfast2004-01-241-34/+150
| | | | | | | | | | | | | | | | | | | | | | | | 2004-01-23 Jeffrey Stedfast <fejj@ximian.com> * em-folder-tree-model.c (em_folder_tree_model_get_type): Removed the drag & drop interfaces, apparently these aren't good enough for what we need. Gotta implement this all the Hard Way (tm). (em_folder_tree_model_drag_data_received): Helper function called by the drag_data_received signal callback in em-folder-tree.c (em_folder_tree_model_row_drop_possible): Same idea. (em_folder_tree_model_row_drop_target): Again. (em_folder_tree_model_row_draggable): You get the idea... (em_folder_tree_model_drag_data_get): And again. (em_folder_tree_model_drag_data_delete): Same. (em_folder_tree_model_set_drag_drop_types): Setup the drag & drop types on the widget (since the target drag & drop types are now internal to the model code rathr than the tree code). * em-folder-tree.c (em_folder_tree_enable_drag_and_drop): Rewritten. Connect to all the drag & drop signals and implemnent them. svn path=/trunk/; revision=24393
* removed this like i asked radek to ages ago, just call the parentNot Zed2004-01-191-10/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 2004-01-19 Not Zed <NotZed@Ximian.com> * mail-ops.c (add_vjunk_info, add_vtrash_info): removed this like i asked radek to ages ago, just call the parent directly. (add_vtrash_or_vjunk_info): renamed to something saner. add_special_info. (add_special_info): removed the 'unread count' parameter & return the added info. ** See bug #52854. * em-folder-tree.c (emft_tree_button_press): setup a FOLDER target for the popup menu. * em-popup.c (em_popup_target_free): implement free for TARGET_FOLDER, changed the target options somewhat. (em_popup_target_new_folder): implement folder selection target. Total Hack(tm) alert. (emp_standard_menu_factory): removed the stupid g_assert_if_not_reached() call. * message-list.c (message_list_destroy): NULL out the uid_nodemap when we destroy it. svn path=/trunk/; revision=24302
* support for posting both to mail and to (multiple) foldersMeilof Veeningen2004-01-131-8/+132
| | | | | | | | | | | | | | | | | | | | | | | | | 2004-01-12 Meilof Veeningen <meilof@wanadoo.nl> * em-composer-utils.c: support for posting both to mail and to (multiple) folders * em-folder-browser.c: use em_utils_post_to_folder (works with NNTP) * em-folder-selection-button.[ch]: added multiple selection mode * em-folder-selector.[ch]: idem * em-folder-tree.[ch]: added multiple selection mode, no longer show disabled accounts * em-utils.c: various changes to allow posting to (multiple) folders * em-subscribe-editor.c: double-clicking a node in the editor updates it directly * mail-ops.c: for appending messages, set the "X-Mailer" header svn path=/trunk/; revision=24182
* add total + unread counts to properties page.Not Zed2004-01-121-6/+34
| | | | | | | | | 2004-01-09 Not Zed <NotZed@Ximian.com> * em-folder-tree.c (emft_popup_properties_got_folder): add total + unread counts to properties page. svn path=/trunk/; revision=24158
* Fix erroneous function callJP Rosevear2003-12-151-1/+1
| | | | | | | | | | | 2003-12-14 JP Rosevear <jpr@ximian.com> * em-folder-tree.c (emft_tree_row_collapsed): Fix erroneous function call Fixes #52120 svn path=/trunk/; revision=23939
* Shorten the namespace of some internal functions to just emft.Jeffrey Stedfast2003-12-121-4/+5
| | | | | | | | | | | 2003-12-11 Jeffrey Stedfast <fejj@ximian.com> * em-folder-tree.c: Shorten the namespace of some internal functions to just emft. (emft_popup_delete_rec): Don't delete the contents of a folder if it is a vFolder. Fixes bug #52029. svn path=/trunk/; revision=23927
* Shorten the namespace of some internal functions to just emft.Jeffrey Stedfast2003-12-121-41/+43
| | | | | | | | | | | | | | 2003-12-11 Jeffrey Stedfast <fejj@ximian.com> * em-folder-tree.c: Shorten the namespace of some internal functions to just emft. * em-mailer-prefs.c (em_mailer_prefs_construct): Use newv() here and pass an array of GTypes - makes it simpler to change the order of columns later and/or add new columns if we need to. Also makes the line shorter :-) svn path=/trunk/; revision=23926
* check m->fi != NULL before dereferencing it.Not Zed2003-12-111-1/+1
| | | | | | | | | 2003-12-10 Not Zed <NotZed@Ximian.com> * em-folder-tree.c (em_folder_tree_get_folder_info__got): check m->fi != NULL before dereferencing it. svn path=/trunk/; revision=23916
* Add INFO_FAST here as we don't need it to get unread counts.Jeffrey Stedfast2003-12-111-2/+2
| | | | | | | | | | | | | 2003-12-10 Jeffrey Stedfast <fejj@ximian.com> * em-folder-tree.c (em_folder_tree_set_selected): Add INFO_FAST here as we don't need it to get unread counts. (tree_row_expanded): Here too. * em-folder-tree-model.c (em_folder_tree_model_set_folder_info): Check CAMEL_FOLDER_NOCHILDREN. svn path=/trunk/; revision=23912
* use a POSITIVE value for the response value, gtk uses -ative ones. BugNot Zed2003-12-101-2/+0
| | | | | | | | | | | | | | | | | | | | | 2003-12-10 Not Zed <NotZed@Ximian.com> * em-folder-selector.h: use a POSITIVE value for the response value, gtk uses -ative ones. Bug #51752. * Makefile.am (INCLUDES): added smime/lib and smime/gui to includes. * em-folder-tree.c (emft_popup_rename_folder): removed unused 'why', why not? * em-format-html-display.c (efhd_xpkcs7mime_validity_clicked): setup a table of buttons to view any certs we have. * em-folder-browser.c (emfb_activate): separeate view_menu unreffing from view_instance. fixes a runtime warning. svn path=/trunk/; revision=23905
* Remove the extra || unread check in the conditional in the g_object_set ()Rodney Dawes2003-12-061-1/+1
| | | | | | | | | 2003-12-05 Rodney Dawes <dobey@ximian.com> * em-folder-tree.c (render_display_name): Remove the extra || unread check in the conditional in the g_object_set () call svn path=/trunk/; revision=23657
* Fixes bug #51482Rodney Dawes2003-12-061-3/+2
| | | | | | | | | | | 2003-12-05 Rodney Dawes <dobey@ximian.com> Fixes bug #51482 * em-folder-tree.c (render_display_name): Don't hardcode colors for the folder tree, instead use bold for unread, as in 1.4 svn path=/trunk/; revision=23656
* Fixes bug #51605.Jeffrey Stedfast2003-12-051-16/+26
| | | | | | | | | | | | | | | 2003-12-04 Jeffrey Stedfast <fejj@ximian.com> Fixes bug #51605. * em-folder-selector.c (emfs_response): Handle creating a new folder (pop up a create-folder-selector dialog). * em-folder-tree.c (emft_popup_new_folder_response): Moved all the logic into em_folder_tree_create_folder(). (em_folder_tree_create_folder): New function to create a folder. svn path=/trunk/; revision=23635
* (emft_popup_rename_folder): Set oldpath and newpath to the properJeffrey Stedfast2003-12-041-2/+2
| | | | | | values. Fixes bug #51656. svn path=/trunk/; revision=23616
* Need to prepend a "/" to path if the path is the url fragment. Also fixedJeffrey Stedfast2003-12-041-14/+22
| | | | | | | | | | 2003-12-03 Jeffrey Stedfast <fejj@ximian.com> * em-folder-tree.c (em_folder_tree_set_selected): Need to prepend a "/" to path if the path is the url fragment. Also fixed to select the store node if path == "/". svn path=/trunk/; revision=23611
* remove the source before savingJP Rosevear2003-12-041-2/+1
| | | | | | | | | 2003-12-03 JP Rosevear <jpr@ximian.com> * em-folder-tree.c (em_folder_tree_destroy): remove the source before saving svn path=/trunk/; revision=23603
* Set the save_state_id to 0 or we will never get a chance to run again.Jeffrey Stedfast2003-12-041-2/+3
| | | | | | | | | 2003-12-03 Jeffrey Stedfast <fejj@ximian.com> * em-folder-tree.c (em_folder_tree_save_state): Set the save_state_id to 0 or we will never get a chance to run again. svn path=/trunk/; revision=23602
* save the state immediately if there is a timeout setJP Rosevear2003-12-031-3/+4
| | | | | | | | | | | 2003-12-03 JP Rosevear <jpr@ximian.com> * em-folder-tree.c (em_folder_tree_destroy): save the state immediately if there is a timeout set (em_folder_tree_save_state): be true GSourceFunc and just return FALSE to remove the source svn path=/trunk/; revision=23594
* save the state immediately if there is a timeout setJP Rosevear2003-12-031-7/+10
| | | | | | | | | | | 2003-12-03 JP Rosevear <jpr@ximian.com> * em-folder-tree.c (em_folder_tree_destroy): save the state immediately if there is a timeout set (em_folder_tree_save_state): be true GSourceFunc and just return FALSE to remove the source svn path=/trunk/; revision=23593
* Moved here. (drop_folder): Moved here. (import_message_rfc822): MovedJeffrey Stedfast2003-12-031-447/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2003-12-02 Jeffrey Stedfast <fejj@ximian.com> * em-folder-tree-model.c (drop_uid_list): Moved here. (drop_folder): Moved here. (import_message_rfc822): Moved here. (drop_message_rfc822): Moved here. (drop_text_uri_list): Moved here. (model_drag_data_received): Moved the logic from em-folder-tree.c into here. (model_row_drop_possible): Same. (model_row_draggable): Same. (drag_text_uri_list): Moved here. (model_drag_data_get): Moved logic here. (model_drag_data_delete): Moved logic here. * em-folder-tree.c (drag_data_get_cb): Pass the full_name to camel_store_get_folder() rather than the path. (drag_data_received_cb): Same. (drop_uid_list): Removed. (drop_folder): Removed. (import_message_rfc822): Removed. (drop_message_rfc822): Removed. (drop_text_uri_list): Removed. (drag_data_received_cb): Removed. (row_drop_possible_cb): Removed. (row_draggable_cb): Removed. (drag_text_uri_list): Removed. (drag_data_get_cb): Removed. (drag_data_delete_cb): Removed. (em_folder_tree_enable_drag_and_drop): Don't connect to any of the drag & drop signals, they don't exist anymore. * mail-component.c (impl_createControls): Enable drag-and-drop. * em-folder-tree.c (em_folder_tree_new_with_model): Connect to the loading row signal. (loading_row_cb): Expand the path if needed. (em_folder_tree_destroy): Disconnect from the loading-row signal. (em_folder_tree_enable_drag_and_drop): New function to enable drag-and-drop. (em_folder_tree_new): Remove drag-and-drop setup code. * em-folder-tree-model.c (em_folder_tree_model_class_init): Define the loading-row signal. (em_folder_tree_model_set_folder_info): emit the loading-row signal. svn path=/trunk/; revision=23590
* Connect to the loading row signal. (loading_row_cb): Expand the path ifJeffrey Stedfast2003-12-031-0/+36
| | | | | | | | | | | | | | | 2003-12-02 Jeffrey Stedfast <fejj@ximian.com> * em-folder-tree.c (em_folder_tree_new_with_model): Connect to the loading row signal. (loading_row_cb): Expand the path if needed. (em_folder_tree_destroy): Disconnect from the loading-row signal. * em-folder-tree-model.c (em_folder_tree_model_class_init): Define the loading-row signal. (em_folder_tree_model_set_folder_info): emit the loading-row signal. svn path=/trunk/; revision=23589
* more fixesJeffrey Stedfast2003-12-031-1/+0
| | | | svn path=/trunk/; revision=23587
* fixed some mem leaks in my codeJeffrey Stedfast2003-12-031-8/+10
| | | | svn path=/trunk/; revision=23586
* Fixed to pass the evolution dir into em_folder_tree_model_new().Jeffrey Stedfast2003-12-031-131/+33
| | | | | | | | | | | | | | | | | | | | | | | | 2003-12-02 Jeffrey Stedfast <fejj@ximian.com> * em-folder-tree.c (em_folder_tree_new): Fixed to pass the evolution dir into em_folder_tree_model_new(). (model_save_state): Removed. (em_folder_tree_save_state): Moved all the saving logic into em_folder_tree_model_save_expanded(). * em-folder-tree-model.c (em_folder_tree_model_new): Load the expanded state off disk. (em_folder_tree_model_save_expanded): New function to save expanded state. (em_folder_tree_model_get_expanded): new function to get if a node should be expanded. (em_folder_tree_model_set_expanded): new function to set the expanded state of a node. * mail-component.c (mail_component_init): Pass the evo dir to em_folder_tree_model_new() which now requires it. svn path=/trunk/; revision=23585
* Updated to call em_folder_tree_model_set_folder_info().Jeffrey Stedfast2003-12-021-446/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2003-12-01 Jeffrey Stedfast <fejj@ximian.com> * em-folder-tree.c (em_folder_tree_get_folder_info__got): Updated to call em_folder_tree_model_set_folder_info(). (folder_subscribed_cb): Removed. (folder_unsubscribed_cb): Removed. (folder_created_cb): Removed. (folder_deleted_cb): Removed. (folder_renamed_cb): Removed. * em-folder-tree-model.c (em_folder_tree_store_set_folder_info): New function to replace tree_store_set_folder_info() which had been in em-folder-tree.c (em_folder_tree_model_remove_uri): Made private. (em_folder_tree_model_remove_store_info): Made private. (em_folder_tree_model_remove_folders): New function to replace remove_folders() from em-folder-tree.c (em_folder_tree_model_new): No longer takes any args. * em-folder-tree.c (em_folder_tree_new): Updated. * mail-component.c (add_store): Add the store to the model rather than the treeview. (impl_createControls): create a new treeview based on the already-instantiated model. (mail_component_init): Create a new tree model. (mail_component_remove_store): Remove the store from the model directly. (mail_component_get_tree_model): Updated. * em-folder-tree.c (folder_unsubscribed_cb): Call em_folder_tree_model_remove_folders() rather than the deprecated internal remove_folders() function. (folder_renamed_cb): Same. (em_folder_tree_remove_store): Removed. (em_folder_tree_add_store): Removed. (remove_folders): Removed. svn path=/trunk/; revision=23545
* Make sure our parent folder hasn't been unsubscribed or else we get aJeffrey Stedfast2003-12-021-4/+163
| | | | | | | | | | | | | | | | | | | | | | | | | | | 2003-12-01 Jeffrey Stedfast <fejj@ximian.com> * em-folder-tree.c (em_folder_tree_get_folder_info__got): Make sure our parent folder hasn't been unsubscribed or else we get a segfault here if it has. 03-11-28 Dave Camp <dave@ximian.com> * em-folder-tree.c (render_pixbuf): Set the pixbuf renderer invisible for stores. 2003-11-25 Jeffrey Stedfast <fejj@ximian.com> * mail-config.c (mail_config_get_account_by_uid): New function. * em-folder-tree.c (tree_store_set_folder_info): Expand the tree node if the saved state tells us it was expanded the previous session. (em_folder_tree_load_state): Load the saved state. (em_folder_tree_add_store): Conditionally expand the store node. (em_folder_tree_new_with_model): Expand all the nodes that should be expanded. svn path=/trunk/; revision=23530
* ops, now it's the right versionRadek Doulik2003-12-011-1/+2
| | | | svn path=/trunk/; revision=23519
* use CAMEL_VTRASH_NAME, CAMEL_VJUNK_NAMERadek Doulik2003-12-011-7/+12
| | | | | | | | | | | | | | 2003-12-01 Radek Doulik <rodo@ximian.com> * em-folder-tree.c (render_pixbuf): use CAMEL_VTRASH_NAME, CAMEL_VJUNK_NAME 2003-11-28 Radek Doulik <rodo@ximian.com> * em-folder-tree.c (render_pixbuf): added junk icon to folder icons svn path=/trunk/; revision=23516
* New function to save tree expanded state.Jeffrey Stedfast2003-11-251-1/+139
| | | | | | | | | | | | | | | 2003-11-24 Jeffrey Stedfast <fejj@ximian.com> * em-folder-tree.c (em_folder_tree_save_state): New function to save tree expanded state. (em_folder_tree_queue_save_state): New function to queue saving of the expanded state. (em_folder_tree_construct): Connect to the row-collapsed signal. (tree_row_collapsed): Queue a save-state. (tree_row_expanded): Queue a save state. (em_folder_tree_get_folder_info__got): Queue a save-state. svn path=/trunk/; revision=23485
* Fixes bug #51012.Jeffrey Stedfast2003-11-211-11/+57
| | | | | | | | | | | | | | | | 2003-11-20 Jeffrey Stedfast <fejj@ximian.com> Fixes bug #51012. * em-folder-tree.c (emft_popup_rename_folder): Fixed a FIXME to not use the OS-specific g_path_*() stuff. (em_folder_tree_set_selected): For the case where the tree has already loaded enough subfodlers to include the path we need to select, exopand the nodes to that path as well. For the case that the tree hasn't loaded enough of the folder nodes, load them and then have the node selected/expanded to. svn path=/trunk/; revision=23462
* Fixed a FIXME to not use the OS-specific g_path_*() stuff.Jeffrey Stedfast2003-11-211-22/+28
| | | | | | | | | 2003-11-20 Jeffrey Stedfast <fejj@ximian.com> * em-folder-tree.c (emft_popup_rename_folder): Fixed a FIXME to not use the OS-specific g_path_*() stuff. svn path=/trunk/; revision=23458
* Same.Jeffrey Stedfast2003-11-201-8/+11
| | | | | | | | | | | | | 2003-11-19 Jeffrey Stedfast <fejj@ximian.com> * em-utils.c (em_utils_selection_set_urilist): Same. * em-format-html-display.c (efhd_drag_data_get): Same as below. * em-folder-tree.c (drag_text_uri_list): Terminate each url of a text/uri-list with a \r\n. svn path=/trunk/; revision=23451
* Execute asynchronously by queueing the copy in another thread.Jeffrey Stedfast2003-11-191-34/+74
| | | | | | | | | | 2003-11-18 Jeffrey Stedfast <fejj@ximian.com> * em-folder-tree.c (em_copy_folders): Execute asynchronously by queueing the copy in another thread. (em_copy_folders__copy): Moved the original logic here. svn path=/trunk/; revision=23427
* Queue the camel_store_get_folder_info() call in another thread.Jeffrey Stedfast2003-11-191-49/+115
| | | | | | | | | | | 2003-11-18 Jeffrey Stedfast <fejj@ximian.com> * em-folder-tree.c (tree_row_expanded): Queue the camel_store_get_folder_info() call in another thread. (em_folder_tree_get_folder_info__got): Moved all the logic of tree_row_expanded here. svn path=/trunk/; revision=23426
* Fixed to check fi->child as well (since mbox does it right).Jeffrey Stedfast2003-11-181-12/+15
| | | | | | | | | | | | | 2003-11-17 Jeffrey Stedfast <fejj@ximian.com> * em-folder-tree.c (tree_row_expanded): Fixed to check fi->child as well (since mbox does it right). (emft_popup_new_folder_response): Fixed to subscribe to the correct folder. (emft_popup_delete_folders): Fixed to use the full_name rather than the path. svn path=/trunk/; revision=23407
* more fixesJeffrey Stedfast2003-11-181-4/+25
| | | | svn path=/trunk/; revision=23405
* Fixed to not include leading '/' in the folder name in the label.Jeffrey Stedfast2003-11-181-24/+77
| | | | | | | | | | | | | 2003-11-17 Jeffrey Stedfast <fejj@ximian.com> * em-folder-selection-button.c (set_contents): Fixed to not include leading '/' in the folder name in the label. * em-folder-tree.c (emft_popup_new_folder_response): Implemented error reporting via gtk dialogs. (emft_popup_copy_folder_selected): Same. svn path=/trunk/; revision=23401
* Use a folder_name rather than a path as the name argument toJeffrey Stedfast2003-11-181-1/+1
| | | | | | | | | | 2003-11-17 Jeffrey Stedfast <fejj@ximian.com> * em-folder-tree.c (emft_popup_new_folder_response): Use a folder_name rather than a path as the name argument to camel_store_create_folder(), fixes creation of IMAP folders. svn path=/trunk/; revision=23395
* We can't use a uri to do a lookup of a store-info on the store_hash, weJeffrey Stedfast2003-11-151-2/+68
| | | | | | | | | | | | | | | | | | 2003-11-14 Jeffrey Stedfast <fejj@ximian.com> * em-folder-tree.c (emft_popup_new_folder_response): We can't use a uri to do a lookup of a store-info on the store_hash, we have to get a CamelStore first. (row_draggable_cb): validate the iter before using it. (row_drop_possible_cb): Same. (drag_data_received_cb): Here too. (drag_data_get_cb): Same. (drag_data_delete_cb): Again here. (tree_store_set_folder_info): Recursively add nodes if fi->child is non-NULL rather than adding a dummy node. (folder_renamed_cb): Implemented. svn path=/trunk/; revision=23367
* We can't use a uri to do a lookup of a store-info on the store_hash, weJeffrey Stedfast2003-11-151-12/+34
| | | | | | | | | | | | | | | 2003-11-14 Jeffrey Stedfast <fejj@ximian.com> * em-folder-tree.c (emft_popup_new_folder_response): We can't use a uri to do a lookup of a store-info on the store_hash, we have to get a CamelStore first. (row_draggable_cb): validate the iter before using it. (row_drop_possible_cb): Same. (drag_data_received_cb): Here too. (drag_data_get_cb): Same. (drag_data_delete_cb): Again here. svn path=/trunk/; revision=23363
* Only set OK to sensitive if the selected node is not a store node.Jeffrey Stedfast2003-11-151-102/+30
| | | | | | | | | | | | | | 2003-11-14 Jeffrey Stedfast <fejj@ximian.com> * em-folder-selection.c (folder_selected_cb): Only set OK to sensitive if the selected node is not a store node. * em-folder-tree-model.c: Moved the store_hash and uri_hash from EMFolderTreePrivate into here instead. * em-folder-tree.c: Updated for above changes. svn path=/trunk/; revision=23355
* Updated. (emfv_popup_copy): Updated.Jeffrey Stedfast2003-11-151-2/+0
| | | | | | | | | | | | | | | | | | 2003-11-14 Jeffrey Stedfast <fejj@ximian.com> * em-folder-view.c (emfv_popup_move): Updated. (emfv_popup_copy): Updated. * em-folder-tree.c (emft_popup_copy): Updated. (emft_popup_move): Updated. * em-folder-selection.c (create_dialog): New convenience function to construct the dialog contents for all three public functions. (em_folder_selection_run_dialog): Now longer takes a caption arg. (em_folder_selection_run_dialog_uri): Same. (em_select_folder): Here too. svn path=/trunk/; revision=23353
* Use em_folder_tree_get_model() since an emft is not a GtkTreeView.Jeffrey Stedfast2003-11-141-0/+9
| | | | | | | | | | | | 2003-11-13 Jeffrey Stedfast <fejj@ximian.com> * mail-component.c (mail_component_get_tree_model): Use em_folder_tree_get_model() since an emft is not a GtkTreeView. * em-folder-tree.c (em_folder_tree_get_model): New function to get the tree model. svn path=/trunk/; revision=23346
* fixed a build issueJeffrey Stedfast2003-11-141-2/+2
| | | | svn path=/trunk/; revision=23332
* New folder-tree widget that replaces the shell's folder-tree widget.Jeffrey Stedfast2003-11-141-304/+1212
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 2003-11-13 Jeffrey Stedfast <fejj@ximian.com> * em-folder-tree.[c,h]: New folder-tree widget that replaces the shell's folder-tree widget. * em-folder-tree-model.[c,h]: New source files subclassing GtkTreeStore for handling the mess that is drag&drop. * em-folder-selection-button.c: Ported to use EMFolderTree. * em-folder-selection.c: Ported to use EMFolderTree. * em-folder-selector.c: Ported to use EMFolderTree. * mail-component.c: Ported to use EMFolderTree. * mail-offline-handler.c (storage_go_online): Updated to not pass a storage argument. * mail-folder-cache.c: Removed storage stuff. * mail-send-recv.c (receive_update_got_store): Don't do EStorage* stuff anymore. svn path=/trunk/; revision=23331
* merged spam filtering branchRadek Doulik2003-11-131-1/+5
| | | | svn path=/trunk/; revision=23302
* new sources files - work in progress to try and replace the e-storage-set* codeJeffrey Stedfast2003-11-081-0/+1149
svn path=/trunk/; revision=23223