aboutsummaryrefslogtreecommitdiffstats
path: root/mail/em-folder-tree-model.c
Commit message (Collapse)AuthorAgeFilesLines
* ** See bug #65329.Not Zed2004-09-241-2/+17
| | | | | | | | | | | | | | | 2004-09-20 Not Zed <NotZed@Ximian.com> ** See bug #65329. * em-folder-tree-model.c (emft_is_special_local_folder): added helper for finding local folders for translation. (em_folder_tree_model_set_folder_info): translate the special local folder names. * mail-component.c: mark standard folder names for translation. svn path=/trunk/; revision=27359
* Fix a typo setting the root node.David Malcolm2004-09-211-1/+1
| | | | | | | | | 2004-09-21 David Malcolm <dmalcolm@redhat.com> * em-folder-tree-model.c (em_folder_tree_model_set_selected): Fix a typo setting the root node. svn path=/trunk/; revision=27311
* Merged notzed-eplugin-2-branch to head.Michael Zucci2004-09-201-2/+2
| | | | svn path=/trunk/; revision=27300
* store the select-uri on the view not in the thread message.Not Zed2004-08-241-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2004-08-23 Not Zed <NotZed@Ximian.com> * em-folder-tree.c (em_folder_tree_set_selected): store the select-uri on the view not in the thread message. (emft_get_folder_info__free): (emft_get_folder_info__got): select_uri removed. (em_folder_tree_set_selected_list): don't set each selected separately, do it as a list. (emft_maybe_expand_row): if this is a selected row, select it too. (emft_get_folder_info__got): do no pending set selection stuff here. (em_folder_tree_set_selected): just call set_selected_list with one item. (emft_expand_node): if this is a selected row, select it too. (emft_get_folder_info__got): no longer need to track lost folders. (emft_tree_row_activated): clear the pending select list. (emft_tree_selection_changed): and here too. (em_folder_tree_get_selected_uris): get the lost folders from the un-applied selected ones now. also fixes a list appending error. (emft_tree_user_event): find out when the user hits a key or mouse button to override any pending single-user select and don't override the cursor setting either. (emft_tree_row_expanded): set the 'load subdirs' false before we load it, so we don't try to load it again if its still being loaded. (emft_get_folder_info__got): don't check the loaded flag here, it should be set by the callee, also check the exception return. svn path=/trunk/; revision=27002
* Return NULL not FALSE on error.Jeffrey Stedfast2004-08-111-1/+1
| | | | | | | | | 2004-08-06 Jeffrey Stedfast <fejj@novell.com> * em-folder-tree-model.c (em_folder_tree_model_get_selected): Return NULL not FALSE on error. svn path=/trunk/; revision=26864
* call folder_subscribed directly from the async function notNot Zed2004-06-291-2/+2
| | | | | | | | | | | 2004-06-29 Not Zed <NotZed@Ximian.com> * em-folder-tree-model.c (folder_created_cb): call folder_subscribed directly from the async function not foldre_subscribed_cb, otherwise we run out of order. Part of #60775. svn path=/trunk/; revision=26547
* Same as below. (em_folder_tree_model_remove_folders): Same.Jeffrey Stedfast2004-06-231-20/+30
| | | | | | | | | 2004-06-22 Jeffrey Stedfast <fejj@novell.com> * em-folder-tree-model.c (sort_cb): Same as below. (em_folder_tree_model_remove_folders): Same. svn path=/trunk/; revision=26458
* 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
* handle a null path or fragment.Not Zed2004-06-111-1/+1
| | | | | | | | | | | | 2004-06-11 Not Zed <NotZed@Ximian.com> * em-utils.c (em_uri_from_camel): handle a null path or fragment. * em-folder-tree-model.c (em_folder_tree_model_add_store): set the full name of the store to "". Fixes #59925 and probably other issues. Related to the removal of folderinfo->path. svn path=/trunk/; revision=26305
* Fixes bug #58825. Ugh. Really Gross Hack (tm).Jeffrey Stedfast2004-06-111-21/+78
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Set the store's FULL_NAME to NULL here. Fixes the crash in bug #59713.Jeffrey Stedfast2004-06-081-1/+1
| | | | | | | | | 2004-06-07 Jeffrey Stedfast <fejj@novell.com> * em-folder-tree-model.c (em_folder_tree_model_add_store): Set the store's FULL_NAME to NULL here. Fixes the crash in bug #59713. svn path=/trunk/; revision=26238
* 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
* set the default selection to inbox.Not Zed2004-05-261-41/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Fix for bug #57152.Jeffrey Stedfast2004-05-081-6/+7
| | | | | | | | | | | | | | | | | | | | 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
* removed.Not Zed2004-05-031-0/+3
| | | | | | | | | | | | | | 2004-05-03 Not Zed <NotZed@Ximian.com> * mail-send-recv.c (receive_update_done): removed. * em-mailer-prefs.h: * message-tag-followup.h: * mail-config-druid.h: * mail-tools.h: clean up & use forward decls. Fix users with busted includes. svn path=/trunk/; revision=25745
* Sort the VFolders. Fixes bug #56636.Jeffrey Stedfast2004-04-291-29/+1
| | | | | | | | | 2004-04-28 Jeffrey Stedfast <fejj@ximian.com> * em-folder-tree-model.c (sort_cb): Sort the VFolders. Fixes bug #56636. svn path=/trunk/; revision=25672
* Duh. If the lookup of si fails, don't use si->display_name in the warningJeffrey Stedfast2004-04-291-4/+1
| | | | | | | | | | | | | | | | | 2004-04-28 Jeffrey Stedfast <fejj@ximian.com> * em-folder-tree-model.c (em_folder_tree_model_remove_store): Duh. If the lookup of si fails, don't use si->display_name in the warning message. Actually, don't bother with a warning message at all, this is a perfectly valid situation. Fixes bug #57746. * mail-ops.c (mail_send_message): Don't set the Date header here anymore. It has either already been set (when written to the Outbox) or will automagially be set to the current time if a Date hasn't already been set when the transport sends it. Fixes bug #57599. svn path=/trunk/; revision=25670
* enabled some unread-count debug spewageJeffrey Stedfast2004-04-141-1/+1
| | | | svn path=/trunk/; revision=25439
* Fixes bug #37416Jeffrey Stedfast2004-04-031-2/+12
| | | | | | | | | | | | | | | | 2004-04-02 Jeffrey Stedfast <fejj@ximian.com> Fixes bug #37416 * mail-folder-cache.c (update_1folder): Same as below. Also add vJunk fodlers to the list of folders that we display the total count for (as discussed on the mailing lists). * em-folder-tree-model.c (em_folder_tree_model_set_folder_info): Use 'total - deleted' as the count for Outbox rather than just the total count. svn path=/trunk/; revision=25305
* Fixed some logic bugs.Jeffrey Stedfast2004-03-241-10/+7
| | | | | | | | | 2004-03-23 Jeffrey Stedfast <fejj@ximian.com> * em-folder-tree-model.c (em_folder_tree_model_set_expanded): Fixed some logic bugs. svn path=/trunk/; revision=25164
* Fix for bug #55358.Jeffrey Stedfast2004-03-171-88/+211
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* when we sort, handle not having the node in the tree. otherwise we alwaysNot Zed2004-03-111-3/+5
| | | | | | | | | | | 2004-03-11 Not Zed <NotZed@Ximian.com> * em-folder-tree-model.c (sort_cb): when we sort, handle not having the node in the tree. otherwise we always compare against "" which puts it at the head of the branch, rather than the tail. See #55428. svn path=/trunk/; revision=25024
* pass the raw header in instead of name and value. (efh_format_headers): ifNot Zed2004-03-111-6/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Partial fix for bug #53862Jeffrey Stedfast2004-03-111-0/+14
| | | | | | | | | | | | | | | | | 2004-03-10 Jeffrey Stedfast <fejj@ximian.com> Partial fix for bug #53862 * em-folder-selector.c (emfs_response): Connect to the newly added "folder-added" signal and save a created_uri string so that we can be sure to only listen for the creation of the folder the user created in *our* create-folder dilog (and not from some other place). * em-folder-tree-model.c (folder_subscribed): Emit a new "folder-added" signal. svn path=/trunk/; revision=25013
* if we have the folder opened already, and its the outbox, then use theNot Zed2004-03-031-6/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2004-03-03 Not Zed <NotZed@Ximian.com> * em-inline-filter.c (emif_scan): * em-folder-tree-model.c (em_folder_tree_model_set_folder_info): if we have the folder opened already, and its the outbox, then use the total count instead of unread count. Bit of hack, but copies mail-folder-cache stuff. * mail-component.c (mc_add_store): renamed from mail_component_add_store, internal call. Added a done callback. (mc_add_local_store): renamed from mc_add_store, callback for local store. (mail_component_add_store): call mc_add_store to do the work. (mc_add_local_store_done): ugh, the target of all this shit - note all the default folders now they should be setup. * mail-folder-cache.c (mail_note_folder): clean up the logic a bit. was gonna do osmething else but it didn't work. 2004-03-02 Not Zed <NotZed@Ximian.com> * mail-send-recv.c (mail_send): if we're already sending, up the again count to tell it we need to re-send again. (receive_done): if we've been asked to run a send again while we were already running it, run it again to make sure we didn't miss any new messages. See bug #46839. * em-mailer-prefs.c (em_mailer_prefs_construct): update check_incoming_imap changes for merge conflicts. (settings_changed): i have no idea what these changes jeff did do, but check_incoming_imap is no longer needed, so i've deleted most of it. 2004-02-27 Not Zed <NotZed@Ximian.com> * em-format.c (emf_multipart_encrypted, emf_multipart_signed): If validation fails, display as multipart/mixed rather than unkown attachment type, and make the error a little clearer that its an error. See #52939. 2004-02-26 Not Zed <NotZed@Ximian.com> * message-list.c (regen_list_regened): NOOP if the folder has changed. * mail-session.c (mail_session_check_junk_notify): remove check_incoming_imap test. (mail_session_init): " * evolution-mail.schemas.in.in: Remove check_incoming_imap option. * mail-config.glade: Remove check incoming imap checkbox. * em-mailer-prefs.c (em_mailer_prefs_construct): remove check_incoming_imap test. (em_mailer_prefs_apply): " (settings_changed): " svn path=/trunk/; revision=24944
* fix camel provider api changes.Not Zed2004-02-191-2/+1
| | | | | | | | | | | | | | | | | 2004-02-19 Not Zed <NotZed@Ximian.com> * mail-send-recv.c (get_receive_type): * mail-config.c (mail_config_get_account_by_source_url) (mail_config_get_account_by_transport_url): * mail-component.c (mail_component_load_store_by_uri): * mail-account-gui.c (mail_account_gui_setup) (mail_account_gui_save): * em-utils.c (em_utils_empty_trash, em_uri_from_camel): * em-folder-tree-model.c (account_changed): * em-folder-selector.c (em_folder_selector_get_selected_uri): fix camel provider api changes. svn path=/trunk/; revision=24795
* fix for the weird-arsed e-contact list api. and fix a small memleak.Not Zed2004-02-171-2/+2
| | | | | | | | | 2004-02-17 Not Zed <NotZed@Ximian.com> * importers/pine-importer.c (import_contact): fix for the weird-arsed e-contact list api. and fix a small memleak. svn path=/trunk/; revision=24753
* "On this computer" -> "On This Computer".Christian Neumair2004-02-121-2/+2
| | | | svn path=/trunk/; revision=24713
* merged in code from em_folder_tree_model_drag_data_delete.Not Zed2004-02-091-596/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | 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-8/+11
| | | | | | | | | | 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
* hmm, another well tested bit of code ... if you launch another thread youNot Zed2004-02-051-109/+124
| | | | | | | | | | | | | | | | | | | | | | | | 2004-02-05 Not Zed <NotZed@Ximian.com> * em-folder-tree-model.c (em_folder_tree_model_drag_data_received): hmm, another well tested bit of code ... if you launch another thread you gotta copy the selection since it wont hang around until we're done with it. So copy/parse the selection data into appropriate structures. (drop_folder): just take the async message as an argument, rather than copying half of it to the stack. (drop_text_uri_list, drop_uid_list): replace most args with the thread message. (drop_message_rfc822): removed, now trivial. (emftm_drag_data_received_async__drop): change for changed args, and fix a memleak. (emftm_drag_data_received_async__free): fixed for changed structure. * em-folder-tree.c (em_folder_tree_create_folder): call abort before we unref, aid debugging if we hit it. svn path=/trunk/; revision=24629
* Don't allow dropping into a vfolder (store). Fixes bug #53757.Jeffrey Stedfast2004-02-051-11/+15
| | | | | | | | | 2004-02-04 Jeffrey Stedfast <fejj@ximian.com> * em-folder-tree-model.c (em_folder_tree_model_row_drop_target): Don't allow dropping into a vfolder (store). Fixes bug #53757. svn path=/trunk/; revision=24623
* oops, don't ref/unref the gtk_selection_dataJeffrey Stedfast2004-02-041-2/+0
| | | | svn path=/trunk/; revision=24596
* Modified slightly. The model now calls gtk_drag_finish() for us when it isJeffrey Stedfast2004-02-041-70/+121
| | | | | | | | | | | | | | | | 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
* Fixes for bug #53348Jeffrey Stedfast2004-01-311-1/+67
| | | | | | | | | | | | | | | | | | | | | | 2004-01-30 Jeffrey Stedfast <fejj@ximian.com> Fixes for bug #53348 * mail-account-gui.c (mail_account_gui_save): Only add the new store to the mail-component if the mail-component doesn't already know about it (ie. only if we are adding a new account). * em-folder-tree-model.c (em_folder_tree_model_add_store): Hash our store-info based on account here. (em_folder_tree_model_init): Listen for account_changed/account_removed signals. (em_folder_tree_model_finalize): Disconnect above handlers. (account_changed): Tear down the account store node and replace it with the new store (assuming it belongs in the tree after the changes). (account_removed): Remove the account store from the tree. svn path=/trunk/; revision=24551
* ** See bug #53123.Not Zed2004-01-301-35/+33
| | | | | | | | | | | | | | 2004-01-30 Not Zed <NotZed@Ximian.com> ** See bug #53123. * em-folder-tree-model.c (drop_folder): changed to take store and dest folder as arg, to handle the case of the parent folder being "" properly. (em_folder_tree_model_drag_data_received): special case dropping a folder, and don't allow dropping to "" for any other types. svn path=/trunk/; revision=24533
* If the store is already in the model, remove it and then re-add it. FixesJeffrey Stedfast2004-01-291-14/+2
| | | | | | | | | | 2004-01-28 Jeffrey Stedfast <fejj@ximian.com> * em-folder-tree-model.c (em_folder_tree_model_add_store): If the store is already in the model, remove it and then re-add it. Fixes bug #53422. svn path=/trunk/; revision=24498
* And thus completes the fixes for bug #52766.Jeffrey Stedfast2004-01-291-7/+13
| | | | | | | | | | | | | | | | | | | 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
* fix the parent-finding logic.Not Zed2004-01-271-4/+4
| | | | | | | | | | | | | | | | | | | 2004-01-27 Not Zed <NotZed@Ximian.com> * em-folder-tree-model.c (folder_renamed): fix the parent-finding logic. 2004-01-23 Not Zed <NotZed@Ximian.com> * mail-component.c (mail_component_init): add the offline handler interface to the component. (store_go_online, go_online): removed, handled by the offline handler. * mail-offline-handler.c (store_go_online): add the store to the tree model when we go online. svn path=/trunk/; revision=24459
* Set priv->drag_row.Jeffrey Stedfast2004-01-271-5/+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
* removed some debugging printfsJeffrey Stedfast2004-01-271-4/+1
| | | | svn path=/trunk/; revision=24441
* Removed the drag & drop interfaces, apparently these aren't good enoughJeffrey Stedfast2004-01-241-494/+513
| | | | | | | | | | | | | | | | | | | | | | | | 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
* change this to check the store using the provider url_cmp and just lookupNot Zed2004-01-161-4/+12
| | | | | | | | | | | | | | | | | | | | | | | | 2004-01-16 Not Zed <NotZed@Ximian.com> * mail-folder-cache.c (storeinfo_find_folder_info): change this to check the store using the provider url_cmp and just lookup the folder name directly. folder_compare can't be used for uri's, this stuff was so broken, my fault :( ** See bug #52467. * em-folder-tree-model.c (sort_cb): handle null path (root?). * mail-vfolder.c (mail_vfolder_add_uri): map uri to euri before processing. (rule_changed): map uri to camel uri before looking up. (mail_vfolder_delete_uri): handle as euri internally. (mail_vfolder_rename_uri): " * mail-autofilter.c (vfolder_rule_from_message): map camel uri to euri before setting as vfolder source. svn path=/trunk/; revision=24266
* Make vfolder_store 'global'.Jeffrey Stedfast2004-01-161-4/+32
| | | | | | | | | | | | 2004-01-15 Jeffrey Stedfast <fejj@ximian.com> * mail-vfolder.c: Make vfolder_store 'global'. * em-folder-tree-model.c (sort_cb): Fix bug #12600 by not sorting VFolders (ie. show them in the same order they appear in the editor). svn path=/trunk/; revision=24257
* Fixes bug #52888Jeffrey Stedfast2004-01-161-0/+46
| | | | | | | | | | | | | 2004-01-15 Jeffrey Stedfast <fejj@ximian.com> Fixes bug #52888 * em-folder-tree-model.c (sort_cb): New sort function for the folder-tree. (em_folder_tree_model_init): Set the default sort func. (em_folder_tree_model_new): Set the default sort column. svn path=/trunk/; revision=24255
* Make the model sorted. Fixes bug #52888.Jeffrey Stedfast2004-01-161-9/+36
| | | | | | | | | 2004-01-15 Jeffrey Stedfast <fejj@ximian.com> * em-folder-tree-model.c (em_folder_tree_model_new): Make the model sorted. Fixes bug #52888. svn path=/trunk/; revision=24254
* Clone the CamelRenameInfo and ref the store before emitting the asyncJeffrey Stedfast2004-01-061-47/+82
| | | | | | | | | | | | | | | | | 2004-01-05 Jeffrey Stedfast <fejj@ximian.com> * em-folder-tree-model.c (folder_renamed_cb): Clone the CamelRenameInfo and ref the store before emitting the async event. (folder_deleted_cb): Same idea but for CamelFolderInfo's. (folder_created_cb): Here too. (folder_subscribed_cb): Same. (folder_unsubscribed_cb): And here. (folder_renamed): Split out from folder_rename_cb(), free the CamelRenameInfo and unref the store when done. (folder_unsubscribed): Same idea. (folder_subscribed): Same. svn path=/trunk/; revision=24062
* If we aren't in the main thread, proxy it over to the main thread.Jeffrey Stedfast2004-01-061-0/+26
| | | | | | | | | | | | | | | | | 2004-01-05 Jeffrey Stedfast <fejj@ximian.com> * em-folder-tree-model.c (folder_subscribed_cb): If we aren't in the main thread, proxy it over to the main thread. (folder_unsubscribed_cb): Same. (folder_created_cb): Here too. (folder_deleted_cb): And here. (folder_renamed_cb): Again here. * em-folder-view.c (emfv_set_folder_uri): Pass mail_thread_queued to mail_get_folder() instead of mail_thread_new so that we eliminate a race when switching folders in the UI. svn path=/trunk/; revision=24050
* Add INFO_FAST here as we don't need it to get unread counts.Jeffrey Stedfast2003-12-111-2/+1
| | | | | | | | | | | | | 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
* Update the unread count in the model if the folder got new mail.Jeffrey Stedfast2003-12-111-0/+33
| | | | | | | | | | | | | | | | | | | 2003-12-10 Jeffrey Stedfast <fejj@ximian.com> * mail-folder-cache.c (real_flush_updates): Update the unread count in the model if the folder got new mail. * em-folder-selection.c (em_select_folder): Updated. * em-folder-selection-button.c (em_folder_selection_button_clicked): Updated. * em-folder-tree-model.c (em_folder_tree_model_set_unread_count): New function to update the unread count for a folder. * mail-component.c (mail_component_peek_tree_model): Don't ref the model. Also renamed s/get/peek/ svn path=/trunk/; revision=23910
* ** See bug #51899.Not Zed2003-12-091-1/+2
| | | | | | | | | | | | 2003-12-09 Not Zed <NotZed@Ximian.com> ** See bug #51899. * em-folder-tree-model.c (em_folder_tree_model_set_folder_info): CAMEL_FOLDER_CHILDREN is only advisory, some servers don't give it to you. svn path=/trunk/; revision=23890
* Make sure folder_path is non-NULL ("Loading..." nodes will have a NULLJeffrey Stedfast2003-12-051-1/+1
| | | | | | | | | | 2003-12-04 Jeffrey Stedfast <fejj@ximian.com> * em-folder-tree-model.c (em_folder_tree_model_remove_folders): Make sure folder_path is non-NULL ("Loading..." nodes will have a NULL path). Fixes bug #51731. svn path=/trunk/; revision=23638
* Fixes bug #51605.Jeffrey Stedfast2003-12-051-1/+1
| | | | | | | | | | | | | | | 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
* Fixed a FIXME by using the CamelProvider url flags to determine if the urlJeffrey Stedfast2003-12-041-3/+2
| | | | | | | | | | 2003-12-03 Jeffrey Stedfast <fejj@ximian.com> * em-folder-selector.c (em_folder_selector_get_selected_uri): Fixed a FIXME by using the CamelProvider url flags to determine if the url used url->fragment or url->path as the folder path. svn path=/trunk/; revision=23604
* Moved here. (drop_folder): Moved here. (import_message_rfc822): MovedJeffrey Stedfast2003-12-031-74/+397
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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/+16
| | | | | | | | | | | | | | | 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-4/+4
| | | | svn path=/trunk/; revision=23587
* fixed some mem leaks in my codeJeffrey Stedfast2003-12-031-44/+7
| | | | svn path=/trunk/; revision=23586
* Fixed to pass the evolution dir into em_folder_tree_model_new().Jeffrey Stedfast2003-12-031-1/+129
| | | | | | | | | | | | | | | | | | | | | | | | 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-3/+409
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Swap the retval varargs value to the last argument instead of the first.Jeffrey Stedfast2003-11-241-5/+5
| | | | | | | | | | | 2003-11-22 Jeffrey Stedfast <fejj@ximian.com> * em-folder-tree-model.c (model_drag_data_received) (model_row_drop_possible, model_row_draggable) (model_drag_data_get, model_drag_data_delete): Swap the retval varargs value to the last argument instead of the first. svn path=/trunk/; revision=23469
* Only set OK to sensitive if the selected node is not a store node.Jeffrey Stedfast2003-11-151-1/+80
| | | | | | | | | | | | | | 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
* New folder-tree widget that replaces the shell's folder-tree widget.Jeffrey Stedfast2003-11-141-0/+284
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