aboutsummaryrefslogtreecommitdiffstats
path: root/mail/em-folder-tree.c
Commit message (Collapse)AuthorAgeFilesLines
* 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