aboutsummaryrefslogtreecommitdiffstats
path: root/mail/message-list.c
Commit message (Collapse)AuthorAgeFilesLines
* Implemented.Jeffrey Stedfast2002-03-151-1/+35
| | | | | | | | | | | 2002-03-14 Jeffrey Stedfast <fejj@ximian.com> * mail-callbacks.c (next_thread): Implemented. * message-list.c (message_list_select_next_thread): New function to select the next thread. svn path=/trunk/; revision=16165
* Connect to the focus-in/out events on the message-list so that we canJeffrey Stedfast2002-03-051-3/+0
| | | | | | | | | | | | | | | | | | | | | | | 2002-03-04 Jeffrey Stedfast <fejj@ximian.com> * folder-browser.c (my_folder_browser_init): Connect to the focus-in/out events on the message-list so that we can disable the EditInvertSelection and EditSelectThread menu items when the message-list is not in focus. * folder-browser-ui.c (folder_browser_ui_message_list_unfocus): New function to de-sensitize some items if the message-list is not in focus. (folder_browser_ui_message_list_focus): New function to sensitize some items if the message-list is not in focus. * mail-callbacks.c (invert_selection): Only invert the selection of the message-list if it is the widget in focus. * message-list.c (message_list_select): Do not explicitly grab the focus here. svn path=/trunk/; revision=15909
* Removed, this wasn't working as intended and seemed to break otherJeffrey Stedfast2002-02-231-29/+0
| | | | | | | | | 2002-02-22 Jeffrey Stedfast <fejj@ximian.com> * message-list.c (on_message_list_built): Removed, this wasn't working as intended and seemed to break other features. svn path=/trunk/; revision=15801
* Connect to our own message_list_built signal. Focus the list and selectJeffrey Stedfast2002-02-221-1/+29
| | | | | | | | | | 2002-02-21 Jeffrey Stedfast <fejj@ximian.com> * message-list.c (on_message_list_built): Connect to our own message_list_built signal. Focus the list and select the first unread message (or frst message depending). Fixes bug #3900. svn path=/trunk/; revision=15784
* Prompt the user to find out if he/she wants to go to the next folder withJeffrey Stedfast2002-02-201-7/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2002-02-19 Jeffrey Stedfast <fejj@ximian.com> * mail-callbacks.c (confirm_goto_next_folder): Prompt the user to find out if he/she wants to go to the next folder with unread mail in it. (find_current_folder): Find a given CamelFolderInfo node based on a given uri. (find_next_folder_r): Recursively look for a CamelFOlderInfo node which has unread messages. (find_next_folder): Given a currently selected CamelFolderInfo node, look for the next node containing unread messages. (do_evil_kludgy_goto_next_folder_hack): Find the currently selected folder and then find the very next folder after it that contains unread messages and then select it via a CORBA call to the shell. (next_unread_msg): If we fail to find an unread message in the message-list, prompt the user to find out if we should jump to the next fodler containing unread messages. If so, call do_evil_kludgy_goto_next_folder_hack(). * message-list.c (message_list_select): Return a boolean value based on whether the call was successfull or not. * mail-config.c (mail_config_get_confirm_goto_next_folder): (mail_config_set_confirm_goto_next_folder): (mail_config_get_goto_next_folder): (mail_config_set_goto_next_folder): All new functions, yay. (config_read): Read in the confirm_goto_next_folder and goto_next_folder config options. (mail_config_write_on_exit): Same the options here. svn path=/trunk/; revision=15770
* Set the followup icon to use the new flag icon rather than the exclamationJeffrey Stedfast2002-02-141-1/+2
| | | | | | | | | | | | | | | | | | | 2002-02-13 Jeffrey Stedfast <fejj@ximian.com> * folder-browser-ui.c: Set the followup icon to use the new flag icon rather than the exclamation mark icon. * mail-callbacks.c (flag_for_followup): Append the selected messages to the clist in the followp editor. * message-list.c: Include the new flag-for-followup icon. * message-tag-followup.c (message_tag_followup_append_message): New method to add a message to the message-list. (construct): Get the message_list widget and load the flag icon pixmap. svn path=/trunk/; revision=15720
* Get followup-up message-list values. Also highlight the message in red ifJeffrey Stedfast2002-02-121-74/+145
| | | | | | | | | | | | | | | | | | 2002-02-11 Jeffrey Stedfast <fejj@ximian.com> * message-list.c (ml_tree_value_at): Get followup-up message-list values. Also highlight the message in red if the due-by date is past due (this is what Outlook does). (ml_duplicate_value): Handle follow-up columns. (ml_free_value): Same. (ml_initialize_value): Here too. (ml_value_is_empty): And here. (ml_value_to_string): And finally here. * message-tag-followup.c (message_tag_followup_i18n_name): New convenience function. svn path=/trunk/; revision=15680
* removed more needs-reply cruftJeffrey Stedfast2002-02-081-6/+0
| | | | svn path=/trunk/; revision=15604
* Bumped the required version of gal.Christopher James Lahey2002-02-071-120/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2002-02-07 Christopher James Lahey <clahey@ximian.com> * configure.in: Bumped the required version of gal. From addressbook/ChangeLog: 2002-02-07 Christopher James Lahey <clahey@ximian.com> * gui/widgets/e-addressbook-view.c (e_addressbook_view_setup_menus): Changed this function to use the new GalViewMenus which takes a GalViewInstance, instead of a GalViewCollection. From calendar/ChangeLog: 2002-02-07 Christopher James Lahey <clahey@ximian.com> * gui/e-tasks.c (e_tasks_setup_view_menus), gui/gnome-cal.c (gnome_calendar_setup_view_menus): Made these use the new GalViewMenus stuff. From mail/ChangeLog: 2002-02-07 Christopher James Lahey <clahey@ximian.com> * folder-browser.c, folder-browser.h, folder-browser-ui.c, folder-browser-ui.h (folder_browser_ui_setup_view_menus, folder_browser_ui_discard_view_menus): Changed this to use the new GalViewMenus stuff. Made these exported functions. * mail-callbacks.c, message-browser.c: Changed these to not pass the now removed row parameter to message_list_select. * mail-config.c, mail-config.h (mail_config_folder_to_safe_url): Refactored this out of mail_config_folder_to_cachename. * message-list.c, message-list.h (message_list_select): Removed the row argument. Changed this to use the new function in ETree for finding the next cursor row that matches a test. (message_list_construct): Handle a failed construction of the ETree here. (message_list_setup_etree, save_tree_state): Don't load or save the header state. folder-browser-ui.c deals with this now. From views/ChangeLog: 2002-02-07 Christopher James Lahey <clahey@ximian.com> * addressbook/galview.xml, calendar/galview.xml, mail/galview.xml, tasks/galview.xml: Added default-view parameters. * mail/As_Sent_Folder.galview: New galview. * mail/Makefile.am, mail/galview.xml: Added As_Sent_Folder galview. From widgets/ChangeLog: 2002-02-07 Christopher James Lahey <clahey@ximian.com> * menus/gal-view-menus.c, menus/gal-view-menus.h (gal_view_menus_new): Made this take a GalViewInstance instead of a GalViewCollection. Reworked most of this to utilize the interfaces provided by GalViewInstance. svn path=/trunk/; revision=15592
* Removed references to NEEDS_REPLY.Jeffrey Stedfast2002-02-071-20/+0
| | | | | | | | | | | | | | | | 2002-02-06 Jeffrey Stedfast <fejj@ximian.com> * message-list.c: Removed references to NEEDS_REPLY. * mail-callbacks.c (mark_as_needing_reply): Removed. (mark_as_not_needing_reply): Removed. (toggle_need_reply): Removed. * folder-browser.c (on_right_click): Remove CAN_MARK_NEEDS_REPLY stuff, this is going to be implemented in an entirely different way. svn path=/trunk/; revision=15585
* When performing a wraparound, check to see if the first (or last dependingJeffrey Stedfast2002-01-091-4/+21
| | | | | | | | | | | | | | | 2002-01-08 Jeffrey Stedfast <fejj@ximian.com> * message-list.c (message_list_select): When performing a wraparound, check to see if the first (or last depending on direction) message fits the selection criteria before telling etable to find the next/previous matching node. * mail-account-gui.c (mail_account_gui_new): When connecting to the transport username changed event, pass the gui->transport not the gui->source. svn path=/trunk/; revision=15267
* Makes the auto-undelete behavior when changing message flags a bit moreJon Trowbridge2001-12-211-3/+15
| | | | | | | | | 2001-12-20 Jon Trowbridge <trow@ximian.com> * message-list.c (on_click): Makes the auto-undelete behavior when changing message flags a bit more sane. (Fixes #17634) svn path=/trunk/; revision=15200
* Add ETable magic for our new "Needs Reply" column. (The next few entriesJon Trowbridge2001-12-121-49/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-12-11 Jon Trowbridge <trow@ximian.com> * message-list.etspec: Add ETable magic for our new "Needs Reply" column. (The next few entries are for bug #90) * message-list.h: Add COL_NEED_REPLY. * message-list.c: Move mail_need_reply_xpm to the end of states_pixmaps. (ml_duplicate_value): Handle COL_NEED_REPLY. (ml_free_value): Handle COL_NEED_REPLY. (ml_initialize_value): Handle COL_NEED_REPLY. (ml_value_is_empty): Handle COL_NEED_REPLY. Added needs_reply_map[] array. (ml_value_to_string): Handle COL_NEED_REPLY. (ml_tree_value_at): Fix magic numbers, undoing my changes from the otehr day. Add handler for COL_NEED_REPLY. (message_list_create_extras): Attach icons for COL_NEED_REPLY. (on_click): Undo my previous changes to display need-reply status in COL_MESSAGE_STATUS. Add handing for COL_NEED_REPLY. * mail.h: Change mail_format_mime_message, mail_format_raw_message and the MailMimeHandlerFn typedef to take GtkHTML and GtkHTMLStream args, as per our changes in mail-format.c. * mail-format.c: Giant refactoring. Remove the assumption throughout that we will always want to render into the GtkHTML object contained in the MailDisplay. Instead, always pass in the GtkHTML and GtkHTMLStream that we want to write to. Also, ignore theme work-arounds if the printing flag is set. (This and what follows fixes bug #82) * mail-display.h: Remove GtkHTMLStream *stream from MailDisplay. We don't need it anymore. * mail-display.c (mail_display_render): Added. Breaks the code that renders the message into the GtkHTML object out of mail_display_redisplay. (mail_display_redisplay): Call mail_display_render. (mail_display_init): Remove reference to ->stream. (mail_display_new): Remove reference to ->stream. * mail-callbacks.c (do_mail_print): Create a new GtkHTML to render our printed version into (via the new function mail_display_render. Set the MailDisplay's printing flag to TRUE before we render, and set it back to FALSE afterwards. (do_mail_fetch_and_print): If the preview pane isn't open when we try to print, fetch the message before printing. (print_msg): Call do_mail_fetch_and_print. (print_preview_msg): Call do_mail_fetch_and_print. * folder-browser-ui.c: Remove "PrintMessage" and "PrintPreviewMessage" from message_pane_enables... these now work when the preview pane is closed. Disable printing if multiple messages are selected. svn path=/trunk/; revision=14981
* Implements marking messages as "Need Reply".Jon Trowbridge2001-12-101-22/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Implements marking messages as "Need Reply". 2001-12-09 Jon Trowbridge <trow@ximian.com> * mail-need-reply.xpm: Added a really, really ugly and awful icon to symbolize "message needs a reply". * Makefile.am (EXTRA_DIST): Added mail-need-reply.xpm. 2001-12-09 Jon Trowbridge <trow@ximian.com> * camel-folder-summary.c: Add "NeedsReply" to the flag_names array for CAMEL_MESSAGE_NEEDS_REPLY. * camel-folder-summary.h: Added CAMEL_MESSAGE_NEEDS_REPLY flag. 2001-12-09 Jon Trowbridge <trow@ximian.com> * vfoldertypes.xml: Add "Needs Reply" option to different status types. * filtertypes.xml: Add "Needs Reply" option to different status types. 2001-12-09 Jon Trowbridge <trow@ximian.com> * message-list.c: #include "art/mail-need-reply.xpm". (ml_tree_value_at): Adjust magic numbers, show "Need Reply" icon if the message needs reply. (message_list_create_extras): Adjust magic numbers to add new icon. (on_click): Changed to toggle between unread, read, and need reply when the status icon is clicked. * mail-callbacks.c (mark_as_needing_reply): Added. (mark_as_not_needing_reply): Added. Add "set" value to struct post_send_data. (composer_sent_cb): Use both "flags" and "set" elements of post_send_data when setting message flags. (mail_reply): Clear "Needs Reply" flag when we actually reply to a message. * folder-browser.c: Changed flag values to be given by bit-shifting (1<<5) vs. base-ten (32). Added CAN_MARK_DOESNT_NEED_REPLY flag. Added "Mark as Needing Reply" and "Mark as Not Needing Reply" elements to context menu. (on_right_click): Hide "Mark as (Not) Needing Reply" context menu elements as appropriate. svn path=/trunk/; revision=14946
* If the path exists, make sure it's a regular file (or we can't possiblyJeffrey Stedfast2001-12-041-13/+22
| | | | | | | | | | | | | | | | 2001-11-28 Jeffrey Stedfast <fejj@ximian.com> * mail-callbacks.c (save_msg_ok): If the path exists, make sure it's a regular file (or we can't possibly save to it). Fix for #14127. 2001-11-28 Jeffrey Stedfast <fejj@ximian.com> * message-list.c (message_list_select): Cleaned up the code. * mail-callbacks.c (previous_unread_msg): Pass wraparound as TRUE. svn path=/trunk/; revision=14850
* Reverted my hide_save_state patch.Jeffrey Stedfast2001-11-221-6/+0
| | | | | | | | 2001-11-21 Jeffrey Stedfast <fejj@ximian.com> * message-list.c: Reverted my hide_save_state patch. svn path=/trunk/; revision=14775
* 'n' shouldn't wrap if 'p' doesn't.Jeffrey Stedfast2001-11-211-9/+0
| | | | | | | | | 2001-11-20 Jeffrey Stedfast <fejj@ximian.com> * message-list.c (message_list_select): 'n' shouldn't wrap if 'p' doesn't. svn path=/trunk/; revision=14766
* Save hide state. (message_list_hide_uids): Save hide state.Jeffrey Stedfast2001-11-171-1/+7
| | | | | | | | | | | | | 2001-11-16 Jeffrey Stedfast <fejj@ximian.com> * message-list.c (message_list_hide_clear): Save hide state. (message_list_hide_uids): Save hide state. (message_list_hide_add): Save hide state. * mail-format.c (format_mime_part): Make sure the mime-type is non-NULL before passing it off to mail_lookup_handler(). svn path=/trunk/; revision=14734
* Use GINT_TO_POINTER here for platforms where simply casting an int to voidChristopher James Lahey2001-11-031-3/+7
| | | | | | | | | | | 2001-11-02 Christopher James Lahey <clahey@ximian.com> * message-list.c (ml_tree_value_at): Use GINT_TO_POINTER here for platforms where simply casting an int to void * won't work. (build_flat_diff, main_folder_changed): Call e_tree_model_pre_change here. svn path=/trunk/; revision=14581
* Argh!!! Dont free the async op data here, the async op is still running02001-10-301-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-10-30 <NotZed@Ximian.com> * subscribe-dialog.c (fe_cancel_op_foreach): Argh!!! Dont free the async op data here, the async op is still running and will access it! Just try to cancel it and mark it as cancelled (id == -1) (fe_done_subscribing): Only remove outselves from the hash table if we're not cancelled. The handle should always be set here, since this code runs in the gui thread. * message-list.c (on_cursor_activated_idle): If nothing selected/cursor not activated, then select no message. * mail-folder-cache.c (update_1folder): Make the trash count optional on EVOLUTION_COUNT_TRASH, becuase some lusers are just too stupid to understand what its for. * component-factory.c (storage_xfer_folder): Return slightly better error codes for copying folders, since its not implemented yet. * mail-vfolder.c, mail-local.c, mail-folder-cache.c, message-list.c component-factory.c, mail-ops.c, subscribe-dialog.c, mail-session.c: d() out some debug printfs, w() out some warnings. * folder-browser-ui.c (folder_browser_ui_add_message): Fix typo, Resent->Resend. svn path=/trunk/; revision=14412
* So apparently the uicomp can just 'vanish' while we're using it. Joy. Take52001-10-261-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-10-25 <NotZed@Ximian.com> * folder-browser-ui.c (fbui_sensitize_timeout): So apparently the uicomp can just 'vanish' while we're using it. Joy. Take care of that case here, fixes #13482. (fbui_sensitise_item): Check here too just for kicks. * mail-folder-cache.c (store_finalised): If we can't destroy our async event, then queue another one to do it. (store_finalised_finish): And handle it here, until we can, then free it. (mail_note_store): Queue an async event to get folderinfo, dont use mail_get_folderinfo. (update_folders_get): thread-async event to retrieve the folderinfo, and build it, then queues gui-async event to update the gui. (add_unmatched_info): Taken from mail-ops, adds unmatched if required. (add_vtrash_info): From mail-ops, add trash if required. (update_folders): Thread async event to update gui. (mail_note_store): Ref the store and storage when created. (update_1folder): Changed to assume we have info_lock, and store updates in an updates list. (setup_folder): Same. (folder_changed): Changed to call update_1folder directly. (real_folder_changed): Removed. (mail_note_folder): Changed to call update_1folder directly. (real_note_folder): Removed. (store_folder_subscribed): Call setup_folder directly. (real_folder_created): Removed. (real_flush_update): Function that actually does the updates in the gui thread. (mail_note_store): Go back to using mail_get_folderinfo. (update_folders): Fixed upf ro changed api's. (unset_folder_info): Changed to queue pending updates. (real_folder_deleted): Removed. (store_folder_unsubscribed): Do the removal work directly. (mail_note_store): Dont link to finalised event of store - we now ref it. (mail_note_store_remove): If we have any pending updates, clear them out. Also cancel any pending folderinfo retrieve operations. (update_folders): Remove our update from the storeinfo list, if it still exists. (update_1folder): Make 'sent folder shows all counts' optional via an environmental variable EVOLUTION_COUNT_SENT for all those bloody whinging lusers out there. (mail_note_store_remove): Unref the storage when done. * mail-mt.c (mail_async_event_emit): If we're in main and have a gui task, set it to run via an idle function. (idle_async_event): Wrapper for calling do_async_event from idle function, and freeing the message when done. (idle_async_event): Call mail_msg_free not free on the finished message. * component-factory.c (mail_remove_storage): Destroy the storage async. (store_disconnect): This does the work. (free_storage): Un-note the store when we remove it, so the store noting code can unref things properly. (idle_quit): Return false when done, dont loop. 2001-10-24 <NotZed@Ximian.com> * component-factory.c (owner_set_cb): Setup an async_event handler. (idle_quit): Try to destroy the async_event, or keep dropping out if it can't (deadlock). * mail-mt.c (do_async_event): Set the threadid of the thread we're running in so we know its running/which thread its in. (mail_async_event_emit): Added new argument 'type' which is the type of thread to execute against, gui or another one. Fixed all callers. (mail_async_event_destroy): Return -1 if this operation will fail (deadlock possibility). If we're in the thread of the task we're going to wait for, then return a failure (since we will deadlock). (mail_async_event_emit): Chagned to use MailAsyncFunc type as the function type, which just takes 3 void args, change args to suit. * mail-folder-cache.c (mail_note_store): Record the pending update events in a pending list. We should really be able to use an async event for this, but that doesn't return to the gui loop when done :-/ (update_folders): Remove from pending update when done. svn path=/trunk/; revision=14101
* Dont do anything if we're destroyed #13021.32001-10-241-0/+3
| | | | | | | | | 2001-10-23 <NotZed@Ximian.com> * message-list.c (regen_list_regened): Dont do anything if we're destroyed #13021. svn path=/trunk/; revision=13963
* Check that the cursor_uid is non-NULL before emitting a "message_selected"Jeffrey Stedfast2001-10-171-1/+1
| | | | | | | | | | 2001-10-16 Jeffrey Stedfast <fejj@ximian.com> * message-list.c (on_cursor_activated_idle): Check that the cursor_uid is non-NULL before emitting a "message_selected" signal. Fixes bug #6015. svn path=/trunk/; revision=13706
* Added an async_event handler to store_info. (mail_note_store): Setup asyncMichael Zucci2001-10-171-17/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * mail-folder-cache.c: Added an async_event handler to store_info. (mail_note_store): Setup async event handler here. (store_finalised): Flush out async events here. (folder_changed): Use async event handler to emit event. (mail_note_folder): Chagned, do most of the work in the calling context, only do the corba stuff in main. (store_folder_subscribed): Use async event, and do more work locally. (store_folder_unsubscribed): Same. (store_folder_deleted): Call store_folder_unsubscribed if we have to do any work. (store_folder_created): Call store_folder_subscribed if we have to do any work. (store_folder_unsubscribed): Ref store while busy. (real_folder_deleted): And unref here. (store_folder_subscribed): Reg store while busy. (real_folder_created): Unref here. (mail_note_folder): Ref folder while busy. (real_note_folder): And unref here. (mail_note_folder): Hook onto folder_deleted event. (folder_deleted): Just mark this folder as no longer available. * mail-session.c (register_timeout): Use mail_call_main instead of proxy_event. (remove_timeout): Same here. * folder-browser.c (folder_changed): use the new mail_async_event stuff. (folder_changed_main): Remove old async event handling stuff. (FOLDER_BROWSER_LOCK/UNLOCK): Removed. (FolderBrowserPrivate): Removed too, sigh. * mail-mt.c (mail_async_event_new, mail_async_event_emit, mail_async_event_destroy): New functions to handle async events. (mail_proxy_event, mail_proxy_event_id): Removed old functions for async events. (do_call): Add suport for MAIL_CALL_p_pp. (mail_msg_free): Use mail_async_event instead of proxy_event. * message-list.c (message_changed): Promote the message_changed to a folder_changed and use main_folder_changed to process it. (main_message_changed): Remove.d (message_list_init): Setup async event handler. (message_list_destroy): Remove async handler. (folder_changed): Use async hanler to emit event in main loop. (message_changed): Same. svn path=/trunk/; revision=13698
* Revert the change to remove the Score column until Chris can fix ETable soDan Winship2001-10-131-2/+52
| | | | | | | | | * message-list.c, message-list.h, message-list.etspec: Revert the change to remove the Score column until Chris can fix ETable so it's possible to remove a column without breaking everyone's exisiting settings. svn path=/trunk/; revision=13646
* removed Score stuff from the message-listJeffrey Stedfast2001-10-131-52/+2
| | | | svn path=/trunk/; revision=13626
* Update for folder_flags.Dan Winship2001-10-091-7/+3
| | | | | | | | | | | | | | | | * mail-local.c (mlf_set_folder, mlf_unset_folder): Update for folder_flags. * folder-browser-ui.c (folder_browser_ui_add_list): Check CAMEL_FOLDER_IS_TRASH flag rather than checking CAMEL_IS_VTRASH_FOLDER. * folder-browser.c (folder_browser_toggle_hide_deleted): Likewise * message-list.c (message_list_set_folder): Likewise. (message_list_set_hidedeleted): Remove redundant trash check. svn path=/trunk/; revision=13510
* Turn on "uniform_row_height" argument.Christopher James Lahey2001-10-051-0/+4
| | | | | | | | | 2001-10-05 Christopher James Lahey <clahey@ximian.com> * message-list.c (message_list_setup_etree): Turn on "uniform_row_height" argument. svn path=/trunk/; revision=13442
* Check for the root node here.Christopher James Lahey2001-09-271-0/+3
| | | | | | | | 2001-09-26 Christopher James Lahey <clahey@ximian.com> * message-list.c (mlfe_callback): Check for the root node here. svn path=/trunk/; revision=13177
* Use e_tree_selected_path_foreach instead of e_tree_selected_row_foreachChristopher James Lahey2001-09-261-4/+4
| | | | | | | | | | 2001-09-26 Christopher James Lahey <clahey@ximian.com> * message-list.c (message_list_foreach): Use e_tree_selected_path_foreach instead of e_tree_selected_row_foreach here. svn path=/trunk/; revision=13145
* Use e_strftime_fix_am_pm instead of strftime.Christopher James Lahey2001-09-251-5/+5
| | | | | | | | | 2001-09-24 Christopher James Lahey <clahey@ximian.com> * message-list.c (filter_date): Use e_strftime_fix_am_pm instead of strftime. svn path=/trunk/; revision=13104
* General cleanup of mail debug printfs.92001-09-191-3/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-09-19 <NotZed@Ximian.com> * General cleanup of mail debug printfs. * mail-folder-cache.[ch]: Completely rewritten. Removed all calls to the old code everywhere they were used. Nuff said. * folder-browser.h: Add shell_view to folder_browser & api to set it. * folder-browser-factory.c (control_activate): Set the shell-view on the folder_browser. (control_deactivate): And clear it here. * folder-browser.c (folder_browser_destroy): Unhook from changed events on the folder before giving it away. (got_folder): Hook onto the folder-changed events. (folder_changed): Event hook proxy for folder_changed events (main_folder_changed): And the main code version. (update_status_bar): And the one that actually does the work. (on_selection_changed): Also call update_status_bar() to update the selection count. (folder_browser_set_shell_view): Implement function to set the shell_view on the folder_browser. (folder_browser_destroy): Release the shell_view here too. * mail-tools.c (mail_tool_uri_to_folder): Dont 'note' the new folder if its from a file: url, this is handled by hte local store (yeeruughck). * mail-local.c (mls_init): (free_info): (mls_finalise): Setup init/finalise funcs for the folderinfo hash. (local_storage_removed_folder_cb): re-enable. 2001-09-18 <NotZed@Ximian.com> * mail-local.c (MailLocalStore): Add a hash table to store uri<>folderinfo data. (mail_local_store_add_folder): Add a new folderinfo to our hash. (mail_local_store_remove_folder): Remove a folder by uri. (storage_listener_startup): Add this store to those monitored by the folder tree. svn path=/trunk/; revision=12974
* Updated required version of gal to 0.11.99.4.Christopher James Lahey2001-09-171-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-09-16 Christopher James Lahey <clahey@ximian.com> * configure.in: Updated required version of gal to 0.11.99.4. From calendar/ChangeLog: 2001-09-16 Christopher James Lahey <clahey@ximian.com> * gui/dialogs/meeting-page.c (build_etable): Updated this to match the new ETableSimple interface. From mail/ChangeLog: 2001-09-16 Christopher James Lahey <clahey@ximian.com> * message-list.c (ml_get_node_by_id): Made save_id const here. From shell/ChangeLog: 2001-09-16 Christopher James Lahey <clahey@ximian.com> * e-storage-set-view.c (etree_get_node_by_id): Made save_id const here. svn path=/trunk/; revision=12870
* Use g_utf8_collate instead of g_strcasecmp for comparing names.Chyla Zbigniew2001-09-011-9/+13
| | | | | | | | | | * message-list.c (e_mail_address_compare): Use g_utf8_collate instead of g_strcasecmp for comparing names. (subject_compare): Replaced g_strcasecmp, isspace, var++ with UTF-8 counterparts. svn path=/trunk/; revision=12541
* Use the new e_mkdtemp function.Jeffrey Stedfast2001-08-251-37/+37
| | | | | | | | | | | 2001-08-24 Jeffrey Stedfast <fejj@ximian.com> * mail-display.c (launch_cb): Use the new e_mkdtemp function. * folder-browser.c (message_list_drag_data_get): Use the new e_mkdtemp function. svn path=/trunk/; revision=12462
* Check to make sure we actually have drag data.Jeffrey Stedfast2001-08-241-5/+5
| | | | | | | | | | | | 2001-08-23 Jeffrey Stedfast <fejj@ximian.com> * component-factory.c (destination_folder_handle_drop): Check to make sure we actually have drag data. * folder-browser.c (message_list_drag_data_received): Check to make sure we have valid data. svn path=/trunk/; revision=12424
* Don't sink the extras since _set_folder can get called more than once (onPeter Williams2001-08-221-3/+1
| | | | | | | | | | 2001-08-21 Peter Williams <peterw@ximian.com> * message-list.c (message_list_set_folder): Don't sink the extras since _set_folder can get called more than once (on reconfigure.) (message_list_destroy): So just unref the extras here. svn path=/trunk/; revision=12345
* Always remove the idle and return FALSE, instead of returning TRUE if morePeter Williams2001-08-161-6/+4
| | | | | | | | | | 2001-08-15 Peter Williams <peterw@ximian.com> * message-list.c (on_cursor_activated_idle): Always remove the idle and return FALSE, instead of returning TRUE if more than one message is selected. svn path=/trunk/; revision=12075
* Use ALWAYS for scroll frame policy because ETable acts lame withJason Leach2001-08-161-12/+10
| | | | | | | | | 2001-08-15 Jason Leach <jleach@ximian.com> * message-list.c (message_list_init): Use ALWAYS for scroll frame policy because ETable acts lame with AUTOMATIC. Bug #6925. svn path=/trunk/; revision=12061
* gets rid of those annoying operation-re-registered messages at last.Not Zed2001-08-151-10/+1
| | | | | | | | | | | | 2001-08-15 Not Zed <NotZed@Ximian.com> * mail-local.c (register_folder_register): Remove operation registration/etc. Handled by mail-mt.c * message-list.c (regen_list_regen): Remove camel operation registration/etc. svn path=/trunk/; revision=12041
* Do some g_assert() action. Make sure that the node passed in is non-NULLJeffrey Stedfast2001-08-141-51/+57
| | | | | | | | | | | | 2001-08-13 Jeffrey Stedfast <fejj@ximian.com> * message-list.c (get_message_uid): Do some g_assert() action. Make sure that the node passed in is non-NULL and also make sure that the CamelMessageInfo gotten from the ETree is non-NULL. (get_message_info): Same here. svn path=/trunk/; revision=11959
* Since 'N' keypresses go through here now, use wrap-around selecting.Jason Leach2001-08-111-5/+12
| | | | | | | | | | | | | | | 2001-08-10 Jason Leach <jleach@ximian.com> * mail-callbacks.c (next_unread_msg): Since 'N' keypresses go through here now, use wrap-around selecting. (previous_unread_msg): Same for 'P' here. * message-list.c (on_cursor_activated_idle): Stop this idle timer when we have multiple items selected, this keeps it from loading and then marking the last item in your selection list as read. Bug #4693. svn path=/trunk/; revision=11895
* Free dbkey if we don't use it.Jeffrey Stedfast2001-08-101-16/+16
| | | | | | | | | | | | | | | | | | | 2001-08-10 Jeffrey Stedfast <fejj@ximian.com> * mail-config.c (mail_config_get_show_preview): Free dbkey if we don't use it. * folder-browser.c (on_right_click): Added a comment about leaking memory here, but we seem to not even use the 2 strings we strdup...is this code still under construction? * mail-ops.c (mail_send_message): Free the sent_folder_uri at the bottom of the function (ironically enough we were freeing it if we encountered an error but never free'd it on success :-) (get_folderinfo_got): Fixed a memory leak...this one would have gone away once we got rid of the debug g_warning though. svn path=/trunk/; revision=11874
* Added a g_assert_not_reached() - I'm hoping this will help us track downJeffrey Stedfast2001-08-101-12/+16
| | | | | | | | | | | | 2001-08-09 Jeffrey Stedfast <fejj@ximian.com> * message-list.c (mlfe_callback): Added a g_assert_not_reached() - I'm hoping this will help us track down the "can't delete message sometimes" (ie bug #6637 and friends) bugs that users have been reporting. If herein lies the problem, then we can expect some crashes and some good backtraces, hopefully. svn path=/trunk/; revision=11854
* Fix inline documentation.Peter Williams2001-08-101-1/+3
| | | | | | | | 2001-08-09 Peter Williams <peterw@ximian.com> * message-list.c (message_list_select): Fix inline documentation. svn path=/trunk/; revision=11852
* Dont double-register this operation, mail-mt will do it for us.Not Zed2001-08-091-1/+1
| | | | | | | | | | | | | | | | | | | 2001-08-08 Not Zed <NotZed@Ximian.com> * mail-ops.c (send_mail_send): Dont double-register this operation, mail-mt will do it for us. (get_folderinfo_get): " (get_folder_get): " (get_store_get): " (create_folder_get): " (remove_folder_get): " (sync_folder_sync): " (get_message_get): " * message-list.c (message_list_setup_etree): Free the etstate object after we're done using it. svn path=/trunk/; revision=11813
* Fix a minor glitch with how it started a backwards wraparound at the 2ndJason Leach2001-08-071-1/+1
| | | | | | | | | | 2001-08-06 Jason Leach <jleach@ximian.com> * message-list.c (message_list_select): Fix a minor glitch with how it started a backwards wraparound at the 2nd to last message, skipping the very last message. svn path=/trunk/; revision=11698
* Add a @wraparound argument, so the 'n' and 'p' keypresses (or anythingJason Leach2001-08-051-3/+17
| | | | | | | | | | | | | | | 2001-08-04 Jason Leach <jleach@ximian.com> * message-list.c (message_list_select): Add a @wraparound argument, so the 'n' and 'p' keypresses (or anything else that wants to) can wrap around to find the next unread. * folder-browser.c (on_key_press): Tell it to wrap around here. * mail-callbacks.c (delete_msg): Don't wrap around here (or the other callbacks in this file). svn path=/trunk/; revision=11651
* Added. Provide description for filter_folder_op. (fetch_mail_describe):Jon Trowbridge2001-08-031-1/+8
| | | | | | | | | | | | | | | | | | | | 2001-08-02 Jon Trowbridge <trow@ximian.com> * mail-ops.c (filter_folder_describe): Added. Provide description for filter_folder_op. (fetch_mail_describe): Added. Provide description for fetch_mail_op. * message-list.c (regen_list_describe): Added. Provide description for regen_list_op. * mail-config.c (check_service_describe): Added. Provide description for check_service_op. * folder-info.c (do_describe_info): Added. Provide description for get_info_op. svn path=/trunk/; revision=11604
* Go back to calling mail_msg_free here. (mail_msg_destroy): Remove theNot Zed2001-07-241-2/+11
| | | | | | | | | | | | | | | | | | 2001-07-23 Not Zed <NotZed@Ximian.com> * mail-mt.c (mail_msgport_replied): Go back to calling mail_msg_free here. (mail_msg_destroy): Remove the operation unregistration stuff. (mail_msg_received): And put it here, so we unregister as soon as the async part of the operation is complete. I thought about this and we should be doing this anyway so we register/unregister always in the same thread, although the camel_operation api doesn't enforce it, this *is* what it expects. * message-list.c (regen_list_regen): re-add reporting to rebuilding the message list. Basically fixes #4931 svn path=/trunk/; revision=11332
* Set the vertical scrolling policy for the mail display to AUTOMATIC, onlyJason Leach2001-07-201-1/+2
| | | | | | | | | | | | | | | | | | 2001-07-19 Jason Leach <jleach@ximian.com> * mail-display.c (mail_display_new): Set the vertical scrolling policy for the mail display to AUTOMATIC, only get a scrollbar if the e-mail is longer than one frame. * folder-browser.c (my_folder_browser_init): We were setting the policy twice (and to two different things). Removed this one. * message-list.c (message_list_init): Set the policy for the message list scroll frame to be horizontal=NEVER, vertical=AUTOMATIC (scrollbar only if you have >1 page of messages). svn path=/trunk/; revision=11239
* Some NULL protection for our strings: pgp_key, html_signature, smime_key.Peter Williams2001-07-101-0/+2
| | | | | | | | | | | | | 2001-07-09 Peter Williams <peterw@ximian.com> * mail-config.c (mail_config_write): Some NULL protection for our strings: pgp_key, html_signature, smime_key. Probably we should do this for all strings. Either that or change Bonobo Config. * message-list.c (message_list_init): Explicitly initialize search to NULL. Bug 3951 might to be due to a problem wrt this, and it can't hurt. svn path=/trunk/; revision=10919
* Check for new_uid != NULL here before strcmping.Christopher James Lahey2001-07-081-1/+1
| | | | | | | | | 2001-07-07 Christopher James Lahey <clahey@ximian.com> * message-list.c (on_cursor_activated_cmd): Check for new_uid != NULL here before strcmping. svn path=/trunk/; revision=10889
* Made this handle being given a row that's outside the range better.Christopher James Lahey2001-07-071-4/+9
| | | | | | | | | 2001-07-07 Christopher James Lahey <clahey@ximian.com> * message-list.c (message_list_select): Made this handle being given a row that's outside the range better. svn path=/trunk/; revision=10881
* Mark the messages as Seen also. (folder_browser_class_init): Create anJeffrey Stedfast2001-07-071-87/+89
| | | | | | | | | | | | | | | | | | | | | | | | 2001-07-06 Jeffrey Stedfast <fejj@ximian.com> * folder-browser.c (folder_browser_copy): Mark the messages as Seen also. (folder_browser_class_init): Create an atom type for X-Evolution-Message selection type. (my_folder_browser_init): Add our multiple selection types, one of which is the default string type. * component-factory.c (destination_folder_handle_drop): Update to use the new X-Evolution-Message type format. * folder-browser.c (selection_get): Convert the X-Evolution-Message clipboard type to whatever format the target wants. (message_list_drag_data_get): Update because the X-Evolution-Message type changed. (folder_browser_copy): Same. (x_evolution_message_parse): And here too. svn path=/trunk/; revision=10853
* Select the very next message after deleting, not the next undeleted (itJason Leach2001-07-071-10/+26
| | | | | | | | | | | | | | | | | 2001-07-06 Jason Leach <jleach@ximian.com> * mail-callbacks.c (delete_msg): Select the very next message after deleting, not the next undeleted (it can make things jump around in annoying ways if you are deleting many messages), bug #4032. * folder-browser.c: Forgot to commit the "Mark as Important" right click menu item. * message-list.c (message_list_set_folder): Setup the strikeout column here (after we've gotten the folder) so we can disable strikeouts for vtrash folders, part of bug #2224. svn path=/trunk/; revision=10849
* Added an MailAccountEditorNews, for NNTP configuratuion. Based onSam Creasey2001-07-031-0/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-07-02 Sam Creasey <sammy@oh.verio.com> * mail-account-editor-news.c: Added an MailAccountEditorNews, for NNTP configuratuion. Based on MailAccountEditor, but stripped. * Makefile.am: added mail-account-editor-news.c and mail-account-editor-news.h to SOURCES if ENABLE_NNTP is defined. * mail-accounts.c (load_news): Moved this function, and fixed some slight brokenness. (news_edit): Added functional code using MailAccountEditorNews (news_add): Added functional code using news_edit after allocation. * mail-config.glade: news_editor_window widget added. Used by MailAccountEditorNews. * mail-display.c (save_data_cb): Store the pathname used when saving messages so that the next save box will default to the previous path. * message-browser.c (message_browser_new): add signal handler for size_allocate on the message browser. Thus new windows are size as they were last allocated. (message_browser_size_allocate_cb): handler to store allocations. * message-list.c (message_list_setup_etree): connect to the info_changed signals for the state of the message_list->tree. Save the folder state to disk, so that when additional message_lists are created, they are consistant. e.g. the next buttons do the same thing in the browser, and in the message viewer after changing sorting options. * subscribe-dialog.c (build_tree): freeze sc->folder model while building the tree. Not doing so takes a very long time over 40000 newsgroups. svn path=/trunk/; revision=10719
* Update the copyrights, replacing Helix Code with Ximian andEttore Perazzoli2001-06-231-2/+2
| | | | | | helixcode.com with ximian.com all over the place. svn path=/trunk/; revision=10440
* Implemented.Jeffrey Stedfast2001-06-161-106/+22
| | | | | | | | | | | | | | | | 2001-06-15 Jeffrey Stedfast <fejj@ximian.com> * component-factory.c (destination_folder_handle_drop): Implemented. * message-list.c (message_list_construct): Don't connect to the DnD signals here. (message_list_drag_data_get): Removed. (add_uid): Removed. * folder-browser.c (my_folder_browser_init): Connect to DnD signals. (message_list_drag_data_get): Implemented. svn path=/trunk/; revision=10257
* (Fix bug #3211: Should undelete when flagging a delete message asJason Leach2001-06-061-1/+5
| | | | | | | | | | | | | 2001-06-05 Jason Leach <jleach@ximian.com> (Fix bug #3211: Should undelete when flagging a delete message as important) * message-list.c (on_click): When flagging a message as important, check to see if it's flagged as deleted, if so, undelete it. svn path=/trunk/; revision=10122
* Removed the etable spec string. (message_list_construct): Load the etableJeffrey Stedfast2001-05-281-35/+5
| | | | | | | | | | | | | | | | | | | 2001-05-27 Jeffrey Stedfast <fejj@ximian.com> * message-list.c: Removed the etable spec string. (message_list_construct): Load the etable spec from a file. * folder-browser-factory.c: Load the etable spec from the file, not a string. * Makefile.am: Add message-list.etspec to be installed. * message-list.etspec: New file containing the ETable file specification. * mail-config.h: Prototype evolution_mail_config_get_type. svn path=/trunk/; revision=10025
* g_strdup the uid into the ml->cursor_uid.Jeffrey Stedfast2001-05-251-1/+7
| | | | | | | | | | | | 2001-05-24 Jeffrey Stedfast <fejj@ximian.com> * message-list.c (message_list_select_uid): g_strdup the uid into the ml->cursor_uid. * message-browser.c (message_browser_forward_msg): Use the default forward style. svn path=/trunk/; revision=9969
* Make the message-list respect the "hide deleted messages" setting. FixesJeffrey Stedfast2001-05-241-10/+11
| | | | | | | | | 2001-05-23 Jeffrey Stedfast <fejj@ximian.com> * message-list.c (message_list_set_folder): Make the message-list respect the "hide deleted messages" setting. Fixes bug #2248. svn path=/trunk/; revision=9956
* Instead of calling message_list_select_uid() here, instead connect to theJeffrey Stedfast2001-05-231-6/+18
| | | | | | | | | | | | | | | | | | | | 2001-05-22 Jeffrey Stedfast <fejj@ximian.com> * message-browser.c (message_browser_folder_loaded): Instead of calling message_list_select_uid() here, instead connect to the "message_list_loaded" signal since the message-list is not built yet at this point. (message_browser_message_list_built): Call message_list_select_uid() here instead. * message-list.c: Lets have a new signal, MESSAGE_LIST_BUILT, that gets emitted when the message-list has finished being built by one of the built_*() functions. (message_list_class_init): Setup the signal stuff. (regen_list_regened): Emit the signal here (should this perhaps be moved into each of the build_*() functions instead?). svn path=/trunk/; revision=9925
* Functions to determine if a folderbrowser is one of the drafts, sent, orDan Winship2001-05-171-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * folder-browser.c (folder_browser_is_drafts, folder_browser_is_sent, folder_browser_is_outbox): Functions to determine if a folderbrowser is one of the drafts, sent, or outbox folders. (got_folder): Pass TRUE for the "outgoing" flag to message_list_set_folder if this is a Sent, Drafts, or Outbox folder. * message-list.c (message_list_set_folder): Take a flag saying whether or not the folder is an "outgoing" folder. (message_list_setup_etree): Ditto. Use that rather than a hardcoded list of foldernames for deciding whether to swap From and To in the default layout. * mail-config.c (mail_config_folder_to_cachename): Make IMAP folders have unique cachenames rather than only one per store, so that IMAP Sent and Drafts folders don't get forced into having the same layout as the INBOX. * mail-callbacks.c: (is_sent_folder, is_drafts_folder): Gone. Replaced with simpler folder_browser_is_* routines. (edit_msg, resend_msg, open_msg): Use folder_browser_is_* routines. * mail-local.c (reconfigure_clicked): Update call to message_list_set_folder. svn path=/trunk/; revision=9857
* Don't advance to the next undeleted message after "Delete"...Dan Winship2001-05-111-7/+6
| | | | | | | | | | | | | | | | | | | * folder-browser.c (on_key_press): Don't advance to the next undeleted message after "Delete"... * mail-callbacks.c (delete_msg): ...instead, do it here, whether the user used Delete, Alt+D, or the toolbar. (But only if they only deleted a single message.) * message-list.c (message_list_select): Don't clear the display on failure. (build_tree): Clear the display when the currently-selected message stops existing and we don't have an obvious message to select instead of it. (Eg, when deleting the last message with "hide deleted messages" set, or expunging while a deleted message is selected.) svn path=/trunk/; revision=9744
* Connect to key_press_event on the GtkHTML widget. (etree_key): Only handleDan Winship2001-05-081-0/+3
| | | | | | | | | | | | | | * folder-browser.c (my_folder_browser_init): Connect to key_press_event on the GtkHTML widget. (etree_key): Only handle space/backspace here, pass the rest off to on_key_press. (on_key_press): Handle Delete/N/P/Menu in either MessageList or MailDisplay. * message-list.c (message_list_select): Grab focus if we don't have it. svn path=/trunk/; revision=9694
* #include <camel/camel-file-utils.h>Dan Winship2001-05-041-1/+2
| | | | | | | | | | | | | | * message-list.c: #include <camel/camel-file-utils.h> * mail-ops.c (get_folderinfo_get): * subscribe-dialog.c (build_tree): Update for camel_store_get_folder_info prototype change. * mail-format.c (handle_text_plain_flowed): Improve more on the fix from the other day: the first level of indentation adds blank lines, but further levels don't... svn path=/trunk/; revision=9660
* Updated to use camel-file-util routines. (hide_save_1): Same.Jeffrey Stedfast2001-04-271-17/+24
| | | | | | | | | | | 2001-04-26 Jeffrey Stedfast <fejj@ximian.com> * message-list.c (hide_load_state): Updated to use camel-file-util routines. (hide_save_1): Same. (hide_save_state): And here too. svn path=/trunk/; revision=9601
* Use the message-browser widget rather than the mail-view window.Jeffrey Stedfast2001-04-241-0/+28
| | | | | | | | | | | | | | | | | | | 2001-04-23 Jeffrey Stedfast <fejj@ximian.com> * mail-callbacks.c (do_view_message): Use the message-browser widget rather than the mail-view window. * mail-view.c: Removed. * folder-browser.c: Added a folder_loaded signal. * message-browser.[c,h]: New window to solve all our message browsing needs. This replaces mail-view.c. * message-list.c (message_list_select_uid): New function needed by the new message-browser window. svn path=/trunk/; revision=9525
* Don't need to dup the string: the relevant gnome-dialog routine alreadyDan Winship2001-04-191-0/+8
| | | | | | | | | | * session.c (request_callback): Don't need to dup the string: the relevant gnome-dialog routine already does. * message-list.c (message_list_destroy): Free the uid_nodemap. (hide_save_state): Free the filename when we're done. svn path=/trunk/; revision=9452
* Only activate the message if the cursor has moved.Christopher James Lahey2001-04-131-4/+13
| | | | | | | | | 2001-04-13 Christopher James Lahey <clahey@ximian.com> * message-list.c (on_cursor_activated_cmd): Only activate the message if the cursor has moved. svn path=/trunk/; revision=9298
* Updated this function to be a correct full ordering.Christopher James Lahey2001-04-131-72/+112
| | | | | | | | | | | | | | | | | | | 2001-04-12 Christopher James Lahey <clahey@ximian.com> * message-list.c (e_mail_address_new): Updated this function to be a correct full ordering. (ml_has_get_node_by_id, ml_get_node_by_id): Implemented these functions. (find_next_undeleted): Changed this to find next sorted undeleted message. Also, changed it so that if the current message is not deleted, it returns NULL. (build_tree, build_flat): Changed these to only set the cursor if the cursor is changed. * subscribe-dialog.c: Changed this to pass NULL, NULL for has_get_node_by_id and get_node_by_id. svn path=/trunk/; revision=9290
* Save the expanded state using the ETree built in expanded state code.Christopher James Lahey2001-04-111-109/+27
| | | | | | | | | 2001-04-11 Christopher James Lahey <clahey@ximian.com> * message-list.c (save_tree_state, message_list_setup_etree): Save the expanded state using the ETree built in expanded state code. svn path=/trunk/; revision=9229
* Merge from evolution-0-10 to evolution-0-10-merge-0 into head.Not Zed2001-04-051-7/+57
| | | | | | | | 2001-04-05 Not Zed <NotZed@Ximian.com> * Merge from evolution-0-10 to evolution-0-10-merge-0 into head. svn path=/trunk/; revision=9193
* #include <camel/camel-vtrash-folder.h>Dan Winship2001-03-301-0/+1
| | | | | | | | | * message-list.c: #include <camel/camel-vtrash-folder.h> * mail-callbacks.c: #include <libgnome/gnome-paper.h> for the gnome-print stuff. svn path=/trunk/; revision=9030
* Cleaned up #includes. Remove unneccesary includes of <gnome.h>,Kjartan Maraas2001-03-301-15/+16
| | | | | | | | | | | 2001-03-29 Kjartan Maraas <kmaraas@gnome.org> * *.*: Cleaned up #includes. Remove unneccesary includes of <gnome.h>, <gtk/gtk.h>, <bonobo.h> and replaced with more fine grained headers where needed. Also marked a bunch of strings for translations and added some missing prototypes. svn path=/trunk/; revision=9025
* Create a vtrash folder, not a vee folder.Not Zed2001-03-291-13/+60
| | | | | | | | | | | | | | | | | | | | | | | | | 2001-03-29 Not Zed <NotZed@Ximian.com> * mail-local.c (init_trash): Create a vtrash folder, not a vee folder. * folder-browser-factory.c (control_activate): Hook in the hide deleted thingy. Removed MessageHideDeleted menu stuff. * message-list.c (message_list_set_hidedeleted): New function, to set if we should hide deleted messages automatically/always. (regen_list_regen): If we have hide deleted messages turned on, then hide them. (main_message_changed): Promote to a folder_changed event with a change list, folder_changed has the optimisations to handle this appropriately. (main_folder_changed): IF we get changes events for deleted/undeleted stuff, change to added/removed events, rebuild if necessary. (message_list_set_folder): Setup the default hidedeleted state to be to hide everything unless it is in a vtrash folder. svn path=/trunk/; revision=9009
* Turned on BROKEN_ETREE.Christopher James Lahey2001-03-231-1/+1
| | | | | | | | 2001-03-23 Christopher James Lahey <clahey@ximian.com> * message-list.c: Turned on BROKEN_ETREE. svn path=/trunk/; revision=8914
* Remove the node before freeing the data it points to.Christopher James Lahey2001-03-201-5/+5
| | | | | | | | | 2001-03-20 Christopher James Lahey <clahey@ximian.com> * message-list.c (remove_node_diff, build_flat_diff): Remove the node before freeing the data it points to. svn path=/trunk/; revision=8841
* Bumped gal requirement to 0.5.99.8.Christopher James Lahey2001-03-201-173/+186
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-03-19 Christopher James Lahey <clahey@ximian.com> * configure.in: Bumped gal requirement to 0.5.99.8. From addressbook/ChangeLog: 2001-03-19 Christopher James Lahey <clahey@ximian.com> * Merged branch: 2001-03-14 Christopher James Lahey <clahey@ximian.com> * gui/widgets/e-minicard-view.c: Call e_selection_model_simple_insert_rows and e_selection_model_simple_delete_rows instead of e_selection_model_simple_insert_row and e_selection_model_simple_delete_row. End of branch From mail/ChangeLog: 2001-03-19 Christopher James Lahey <clahey@ximian.com> * Merged e-tree-rework-branch: 2001-03-18 Christopher James Lahey <clahey@ximian.com> * message-list.c: Added has_save_id and get_save_id methods. * subscribe-dialog.c: Added arguments for e_tree_memory_callbacks_new of get_save_id and has_save_id to NULL. 2001-03-16 Christopher James Lahey <clahey@ximian.com> * message-list.c: Added a call to e_tree_memory_set_expanded_default to TRUE. Removed all calls to set_expanded on nodes while the tree is frozen since this fails miserably now. 2001-03-13 Christopher James Lahey <clahey@ximian.com> * message-list.c (message_list_get_layout): Turned off draw-grid. 2001-03-09 Christopher James Lahey <clahey@ximian.com> * folder-browser-factory.c, folder-browser.c, message-list.c, message-list.h, subscribe-dialog.c, subscribe-dialog.h, mail-callbacks.c: Converted these all to use ETree instead of ETable. End of branch From shell/ChangeLog: 2001-03-19 Christopher James Lahey <clahey@ximian.com> * Merged e-tree-rework-branch: 2001-03-19 Christopher James Lahey <clahey@ximian.com> * e-storage-set-view.c (etree_get_save_id): Made "root" detection deal properly with removed nodes. 2001-03-18 Christopher James Lahey <clahey@ximian.com> * e-shell-view.c (e_shell_view_save_settings): Added some unused code to implement saving of the expanded state. * e-storage-set-view.c: Added has_save_id and get_save_id methods. 2001-03-13 Christopher James Lahey <clahey@ximian.com> * e-storage-set-view.c (ETREE_SPEC): Set draw-grid here to false. 2001-03-09 Christopher James Lahey <clahey@ximian.com> * e-storage-set-view.c, e-storage-set-view.h: Chaned this to use ETree instead of ETable. End of branch svn path=/trunk/; revision=8839
* Move the proxy event outside the lock (otherwise we always deadlock).Not Zed2001-03-171-602/+301
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-03-17 Not Zed <NotZed@Ximian.com> * mail-mt.c (mail_msg_free): Move the proxy event outside the lock (otherwise we always deadlock). * mail-local.c (reconfigure_clicked): Clear the message list during update inside the folder thingy. This is a hell mess, need to move the gui stuff to mail-callbacks and make this reconfigure thing a more generic func. * message-list.c (ml_value_to_string): Cleanup the logic to use lookup tables. (sort_uid_to_rows): Removed due to rewrite below. (build_flat_diff): Changes for node/summary/etc changes. Also do changed nodes too. (clear_tree): Free the info reference for nodes in our hashtable. (build_subtree): Ref the info reference in our hash/tree node. (on_click): Dont free message info, since we just got our ref to it. (remove_node_diff): Free messageinfo off node. (build_flat): Ref messageinfo. (message_list_set_folder): Allow a NULL folder to be set - i.e. clear the view. (message_list_set_folder): Emit a no message sleeted signal. (build_tree): Change cursor keeping stuff to work with new info. Turned off BROKEN_ETREE - well maybe it'll work. Check for duplicate messages displayed, etc. 2001-03-16 Not Zed <NotZed@Ximian.com> * message-list.h: Added uid_nodemap; mapping of uid's to e-tree nodes. * message-list.c (build_flat): Changed to take a summary argument, and to store node in node map, etc, and store info's in e-tree. (build_subtree): Changed to store node in node map, and to store info's in tree directly. (ml_tree_value_at): Changed to get info directly from tree node, removed allocated return value logic. (ml_tree_value_at): Removed all "fake node" handling, no fake nodes should ever exist. (id_is_uid, id_is_subject, id_uid, id_subject): Removed macro's no longer used. (new_id_from_uid, new_id_from_subject): Removed no longer used. (get_message_uid): (get_message_info): Treat tree node data as messageinfo. (message_list_select): Dont free the messageinfo, as its part of our data, not retrieved from folder. (message_list_drag_data_get): ditto. (subtree_unread): Treat tree node data as messageinfo. (subtree_size): ditto. (subtree_earliest): ditto. (clear_tree): Reset uid_nodemap on clear. (save_node_state): tree nodes == messageinfo's. (add_node_diff): ditto. (remove_node_diff): ditto. (main_folder_changed): use uid_nodemap to lookup changed nodes. (main_message_changed): ditto. svn path=/trunk/; revision=8775
* started hack for progress reporting, which is currently to the console.Not Zed2001-02-221-0/+4
| | | | | | | | | | | | | | | | 2001-02-22 Not Zed <NotZed@Ximian.com> * mail-local.c (local_storage_new_folder_cb): started hack for progress reporting, which is currently to the console. * mail-mt.c (set_stop): Set the stop button sensitivity. (mail_msg_received): enable/disable stop button while we're processing stuff in another thread. * message-list.c (ml_tree_value_at): If our uid entry vanishes before w'ere ready, then make a fake. svn path=/trunk/; revision=8338
* Wrapped the address compare functions in a #ifdef (address_compare):Jeffrey Stedfast2001-02-161-0/+10
| | | | | | | | | | | 2001-02-15 Jeffrey Stedfast <fejj@ximian.com> * message-list.c: Wrapped the address compare functions in a #ifdef (address_compare): #ifdef the use of the smart address sorting code and provide a #else for using g_strcasecmp(). svn path=/trunk/; revision=8242
* if doing a full update, save the cursor pos and restore it afterwards.Not Zed2001-02-131-4/+52
| | | | | | | | | | | | | | | 2001-02-12 Not Zed <NotZed@Ximian.com> * message-list.c (build_tree): if doing a full update, save the cursor pos and restore it afterwards. (on_cursor_activated_cmd): Copy the current_uid to a new string. I dont know why this is required, but it is. (message_list_destroy): Free the cursor_uid as we're done with it. (build_flat): IF the current uid disappeared from the list, then unset the message. (build_tree): Likewise. svn path=/trunk/; revision=8199
* Updates for CamelStore changes, small memory leak fixes. (lookup_folder):Dan Winship2001-02-101-44/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * mail-local.c: Updates for CamelStore changes, small memory leak fixes. (lookup_folder): Removed (and moved into the reconfigure code) since this method no longer exists in CamelStore. (do_reconfigure_folder, etc): Update the info in the MailLocalStore after reconfiguring. (mail_local_lookup_folder): Removed * local-config.glade: fix padding of the label_format * message-list.c (ml_tree_value_at): Don't keep message infos reffed across calls, since this can cause badness after a reconfigure. Instead, just strdup the needed values and free those on the next call. * mail-tools.c (mail_tool_get_root_of_store): Unused, remove. (mail_tool_get_inbox): use camel_store_get_inbox. * evolution-outlook-importer.c (load_file_fn): * evolution-mbox-importer.c (load_file_fn): Use mail_tool_get_local_inbox() instead of mail_importer_get_folder() * mail-importer.c (mail_importer_get_folder): Removed svn path=/trunk/; revision=8147
* Added libmenus.la.Christopher James Lahey2001-02-071-1/+1
| | | | | | | | | | | | | | 2001-02-06 Christopher James Lahey <clahey@ximian.com> * Makefile.am (evolution_mail_LDADD): Added libmenus.la. * folder-browser-factory.c (control_activate): Added GalView menus here. * message-list.c, message-list.h (message_list_get_layout): Made message_list_get_layout export. svn path=/trunk/; revision=8041
* Change how the attachments are displayed.Iain Holmes2001-02-071-0/+1
| | | | | | Fix a minor memory leak in message-list.c svn path=/trunk/; revision=8039
* Cleaned up so we dont add an unecessary level of indenting.Not Zed2001-02-021-14/+51
| | | | | | | | | | | | | | | | | | 2001-02-02 Not Zed <NotZed@Ximian.com> * mail-send-recv.c (mail_send_receive): Cleaned up so we dont add an unecessary level of indenting. * message-list.c (ml_tree_value_at): For collapsed tree nodes, scan the collapses nodes for the unread and status information. Since we dont really have fake nodes anymore. 2001-01-30 Ian Campbell <ijc25@cam.ac.uk> * message-list.c: Add support for new icons for being read/unread for fake root messages on threads. svn path=/trunk/; revision=7942
* (build_tree): Oops, turn on BROKEN_ETREE again.Michael Zucci2001-01-291-3/+5
| | | | svn path=/trunk/; revision=7888
* Debug function to compare the tree we think we have, after an incrementalNot Zed2001-01-291-1/+56
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-01-29 Not Zed <NotZed@Ximian.com> * message-list.c (tree_equal): Debug function to compare the tree we think we have, after an incremental update. (build_tree): Check the tree after we've built it. * mail-mt.c (mail_get_password): If we are being called from the main gui thread, then just call the dialogue directly. Ideally we dont want this anyway but lets handle the case nicely. (mail_get_password): Try locking around the password request, to single-queue any password requests. (mail_msg_init): Push an exit handler to clean it up on completion. * mail-send-recv.c (receive_update_got_store): New function called when the store has been retrieved asynchronously. (mail_send_receive): Get the store asynchronously. This was causing problems where the password dialogue would try and be called from the main thread via a message. * mail-ops.c (mail_get_store): New function to get a store (a)synchronously. More or less taken from subscribe-dialog, which i will remove later. (mail_scan_subfolders): Try running the scan subfolder thing asynchronously, to help startup time. Not sure if this will work, but presumably the shell can handle the folders appearing later ok. svn path=/trunk/; revision=7886
* Protect against NULL address pointers. (subject_compare): Same but forJeffrey Stedfast2001-01-281-0/+6
| | | | | | | | | | 2001-01-27 Jeffrey Stedfast <fejj@ximian.com> * message-list.c (address_compare): Protect against NULL address pointers. (subject_compare): Same but for subject pointers. svn path=/trunk/; revision=7863
* Define BROKEN_ETREE again, till we get this stuff fixed better.Not Zed2001-01-261-1/+1
| | | | | | | | | | | | | | | | | | | 2001-01-26 Not Zed <NotZed@Ximian.com> * message-list.c (build_tree): Define BROKEN_ETREE again, till we get this stuff fixed better. 2001-01-25 Not Zed <NotZed@Ximian.com> * folder-browser.c: Moved teh "sender contains" item to the end of the list, so the gui doesn't suddenly change on everyone. Fixed the sender-contains search string to be a valid s-exp (ha, didn't test it even once eh ettore?!) (search_save): Dont have the sender contains as the default case (which well, never gets called anyway), oops i guess i should've reviewed the patch a little more. svn path=/trunk/; revision=7835
* Yes, some more screw ups...Iain Holmes2001-01-261-12/+5
| | | | | | This cvs thing, I don't get it, I wrap my hand in plastic to try to look through it. svn path=/trunk/; revision=7833
* GNOME_Evolution_Mail.oafinfoIain Holmes2001-01-261-5/+12
| | | | svn path=/trunk/; revision=7831
* Made the message list pay attention to the "cursor_activated" signalChristopher James Lahey2001-01-261-6/+6
| | | | | | | | | 2001-01-25 Christopher James Lahey <clahey@helixcode.com> * message-list.c: Made the message list pay attention to the "cursor_activated" signal instead of the "cursor_change" signal. svn path=/trunk/; revision=7812
* Try turning off the BROKEN_ETREE thing. It seems to work ok (better?) now,Not Zed2001-01-231-3/+3
| | | | | | | | | | 2001-01-23 Not Zed <NotZed@Ximian.com> * message-list.c (build_tree): Try turning off the BROKEN_ETREE thing. It seems to work ok (better?) now, but if its still broken i'll remove it again for the next release. svn path=/trunk/; revision=7740
* remove a warning with conditional news compilation.Not Zed2001-01-221-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-01-22 Not Zed <NotZed@Ximian.com> * component-factory.c (owner_set_cb): remove a warning with conditional news compilation. * mail-ops.h: Cleaned up the header list. * folder-browser-factory.c: Replace the old get_send mail with the new one (button). * mail-ops.c (set_x_mailer): (mail_load_evolution_rule_context): (mail_do_fetch_mail): (mail_do_filter_ondemand): (mail_send_mail_old): (mail_do_send_queue): All removed, (for) now lives in mail-send-recv.c. (load_context): (setup_filter_driver): (filter_get_folder): (mail_filter_folder): (mail_fetch_mail): (mail_update_subfolders): (mail_send_mail): (mail_send_queue): New equivalents of all these fundtions, moved from mail-send-recv.c ... (mail_filter_on_demand): Moved here too. (mail_load_filter_context): Export this. * mail-callbacks.c (apply_filters): Use the new mail_filter_on_demand() call. (send_receieve_mail): Use mail_send_receive to do the work. Add a little error handling here that used to be elsewhere. (send_queued_mail): Removed. (fetch_mail): Removed. (select_first_unread): #ifdef'd this out. Not sure if this still makes sense, but it doesn't get run right now anyway. (composer_postpone_cb): Fix the setting of message flags. You dont need to get them first, ever. * mail-send-recv.c (mail_send_message): Dont use mail_tool_send_via_transport anymore (it does nothing useful). * mail-tools.c (mail_tool_camel_lock_up): Turned into a noop. (mail_tool_camel_lock_down): And here too. (mail_tool_move_folder_contents): Removed from the code (hasn't bene used for ages). (mail_tool_send_via_transport): Removed, it doesn't save anything. svn path=/trunk/; revision=7702
* Added draw-focus="true" and selection-mode="browse" attributes to theChristopher James Lahey2001-01-211-4/+1
| | | | | | | | | | | | 2001-01-21 Christopher James Lahey <clahey@helixcode.com> * message-list.c (message_list_get_layout): Added draw-focus="true" and selection-mode="browse" attributes to the ETableSpecification. (message_list_construct): Removed setting the "draw_focus" argument since it doesn't exist any more. svn path=/trunk/; revision=7674
* Change from using filters for date and size to using e_cell_date andChristopher James Lahey2001-01-161-12/+14
| | | | | | | | | | 2001-01-15 Christopher James Lahey <clahey@ximian.com> * message-list.c, message-list.h: Change from using filters for date and size to using e_cell_date and e_cell_size. Moved a bunch of includes from the message-list.h to the message-list.c. svn path=/trunk/; revision=7524
* Set the default button to `Yes' here.Miguel de Icaza2001-01-151-1/+1
| | | | | | | | | 2001-01-15 Miguel de Icaza <miguel@ximian.com> * mail-callbacks.c (configure_mail): Set the default button to `Yes' here. svn path=/trunk/; revision=7498
* Changed filter_date and filter_size to match the changes in gal.Christopher James Lahey2001-01-131-8/+9
| | | | | | | | | 2001-01-12 Christopher James Lahey <clahey@helixcode.com> * message-list.c: Changed filter_date and filter_size to match the changes in gal. svn path=/trunk/; revision=7466
* Add strings for localizationMiguel de Icaza2001-01-121-0/+8
| | | | | | | | 2001-01-12 Miguel de Icaza <miguel@ximian.com> * message-list.c: Add strings for localization svn path=/trunk/; revision=7447
* Made it so that going to the next or previous message in the list will atChristopher James Lahey2001-01-071-0/+3
| | | | | | | | | | | | 2001-01-06 Christopher James Lahey <clahey@helixcode.com> * message-list.c (message_list_select): Made it so that going to the next or previous message in the list will at least move one message, even if the current message matches the query. This makes 'n' go to the next unread message, even if the current message is unread. svn path=/trunk/; revision=7288
* Removed old implementation.Not Zed2001-01-041-136/+113
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-01-04 Not Zed <NotZed@HelixCode.com> * mail-ops.c (mail_do_send_mail): Removed old implementation. * folder-browser.c (do_message_selected): If we haven't got a real uid, then clear the display instead. * message-list.c (message_list_drag_data_get): Use new save message function, and also wait for it to finish before continuing. (folder_changed): (message_changed): Use mail_proxy_event instead of mail_do_forward. (mail_regen_list): New iplementation to replace the old. : remove <gnome.h> from headers. Dont define timeit by default. (main_folder_changed): (message_list_set_folder): (message_list_set_threaded): (message_list_set_search): (message_list_hide_add): (message_list_hide_uids): (message_list_hide_clear): Use mail_regen_list instead of mail_do_regenerate_messagelist. (mail_do_regenerate_messagelist): Removed the old stuff. No functionality changed yet, just using different thread stuff. * mail-callbacks.c (save_msg_ok): Use new save message function. * component-factory.c (create_view): (add_storage): Use mail_scan_subfolders to build the folder info. (create_folder): Use new implementation with our own callback. (owner_set_cb): Changed b ack to use mail_get_folder, but now wait for it to finish. This will let any gui still run, but also gives us the required synchronous operation. (got_folder): Callback for when the folder has been opened. * mail-ops.c (mail_get_folderinfo): New function to just get the folder info in another thread. (mail_scan_subfolders): New scan subfolder implementation that uses mail_get_folderinfo. (mail_do_scan_subfolders): Removed old implementation. (mail_create_folder): Nerw implementation to create a folder, only. (mail_do_create_folder): Removed old implementation. (mail_save_messages): New implementation, fixes a couple of minor problems, and now provides a return so it can be waited on. Also check that the writes worked, etc. (mail_do_save_messages): Remove previous implementation. (mail_do_flag_messages): Removed, nothing uses it. (mail_do_flag_messages): Removed, nothing uses it anymore. (mail_get_folder): REturn the operation id, so callers can wait for it. (sync_folder_desc): (expunge_folder_desc): Add describe functions so we know what its doing. (mail_send_mail): More generic implementation of sending mail. * mail-mt.c (mail_msg_new): Lock around seq increment. And insert each new message into a hash table of active messages. (mail_msg_init): Init the active message table. (mail_msg_free): Remove the message from the active message table. (mail_msg_wait): New function, waits for a message to be processed, by id. (mail_msg_check_error): Dont display the error if it is a user-cancelled operation. (mail_proxy_event): new implementation of mail_op_forward_event. Only real difference is it uses the new thread stuff, and you can wait for it to finish if you want. (mail_proxy_event): If we're already in the main thread, just call the function. svn path=/trunk/; revision=7246
* Changed this to format times in 12 hour time instead of 24 hour time.Christopher James Lahey2000-12-251-4/+4
| | | | | | | | | 2000-12-24 Christopher James Lahey <clahey@helixcode.com> * message-list.c (filter_date): Changed this to format times in 12 hour time instead of 24 hour time. svn path=/trunk/; revision=7160
* Changed this to do different formatting of dates within the last week.Christopher James Lahey2000-12-251-9/+28
| | | | | | | | | 2000-12-24 Christopher James Lahey <clahey@helixcode.com> * message-list.c (filter_date): Changed this to do different formatting of dates within the last week. svn path=/trunk/; revision=7157
* Merge from camel-mt-branch.Not Zed2000-12-241-47/+103
| | | | | | | | 2000-12-24 Not Zed <NotZed@HelixCode.com> * Merge from camel-mt-branch. svn path=/trunk/; revision=7153
* Changed this to do different formatting of dates based on the currentChristopher James Lahey2000-12-231-5/+27
| | | | | | | | | 2000-12-23 Christopher James Lahey <clahey@helixcode.com> * message-list.c (filter_date): Changed this to do different formatting of dates based on the current time. svn path=/trunk/; revision=7140
* Added titles to the pixbuf columns.Christopher James Lahey2000-12-231-4/+4
| | | | | | | | | 2000-12-23 Christopher James Lahey <clahey@helixcode.com> * message-list.c (message_list_get_layout): Added titles to the pixbuf columns. svn path=/trunk/; revision=7139
* Unlock camel when done to prevent a hang later.Dan Winship2000-12-191-0/+1
| | | | | | | * message-list.c (hide_save_state): Unlock camel when done to prevent a hang later. svn path=/trunk/; revision=7072
* Always use the slow (full-update) version of the tree update code, to getNot Zed2000-12-161-13/+278
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-12-16 Not Zed <NotZed@HelixCode.com> * message-list.c (build_tree): Always use the slow (full-update) version of the tree update code, to get around a bug(?) in etree. (build_flat): Likewise. 2000-12-15 Not Zed <NotZed@HelixCode.com> * mail-display.c (write_data_to_file): Dont blindly convert all parts to utf8, e.g. image/jpg. We only convert text/* parts, and only then if required. 2000-12-14 Not Zed <NotZed@HelixCode.com> * component-factory.c (create_view): cast over a warning. * folder-browser-factory.c: Add verbs for hide functions. * message-list.c (message_list_hide_clear): (message_list_hide_uids): (message_list_hide_add): Some api renaming. (message_list_hide_add): Allow ML_HIDE_SAME to be passed to mean not to change the upper/lower range at all. (hide_save_state): Save the state of the hide list to stable storage. (hide_load_state): Load the state of hte hide list. (message_list_set_folder): Load/save the state of the folder if it is changed/set. (message_list_destroy): Save the state of the folder hide list when done. (save_tree_state): If we wrote out an empty state file, simply remove it instead. * folder-browser.c (on_right_click): Add some hide menus. (hide_read): Hide read messages. (hide_deleted): Hide deleted messages. (hide_selected): Hide selected/current message. (hide_none): Show all hidden messages. (on_right_click): Lock around accesses to the message (inside mlist_detect_magic). (on_right_click): Free the mailing list name. 2000-12-13 Not Zed <NotZed@HelixCode.com> * folder-browser.c (on_right_click): Add camel locking since we call it directly. Whoever heard of a lock you 'down' to unlock? * message-list.c (mail_do_regenerate_messagelist): Added hide expression, messages to hide. Fixed all callers. (do_regenerate_messagelist): IF we have a hide expression, search and remove those from the uid list. If we have a hide range, apply that afterwards. (cleanup_regenerate_messagelist): Handle freeing the hide uid temporary data, if required. (message_list_destroy): Free hide data, also lock around all camel object stuff. (message_list_length): New function to get the number of messages avaialble to be hidden by range. (message_list_set_hide): Set the hide expression and range. Issue: Should hiding be remembered? (message_list_unhide_all): Turn off all hiding. (message_list_hide_uids): Hide a list of uid's. svn path=/trunk/; revision=7061
* Made the vertical scrollbar always be there.Christopher James Lahey2000-12-141-2/+2
| | | | | | | | | | | | 2000-12-13 Christopher James Lahey <clahey@helixcode.com> * folder-browser.c (my_folder_browser_init): Made the vertical scrollbar always be there. * message-list.c (message_list_get_layout): Changed the minimum width of some of the pixmap column headers. svn path=/trunk/; revision=6983
* Remove the never-once-used BonoboObject stuff and make MessageList be aDan Winship2000-12-121-154/+63
| | | | | | | | | | | | | | | | | | | | | | | | | * message-list.c: Remove the never-once-used BonoboObject stuff and make MessageList be a GtkWidget instead. Also, keep track of the ETable directly rather than repeatedly calling e_table_scrolled_get_table. * folder-browser.c (folder_browser_destroy): Use gtk methods rather than bonobo methods to destroy the message list. (on_right_click, on_double_click): These are being attached to the ETable directly now, so fix the first argument (which isn't being used anyway, but...) (folder_browser_gui_init): simplify now that MessageList itself is a widget. Also use message_list->table rather than e_table_scrolled_get_table. * mail-local.c (mail_local_reconfigure_folder): Add "mail_" to the beginning of this function name to match its prototype and the other vague namespace conventions in the mailer. * mail-callbacks.c (select_all, invert_selection): Use ml->table. (configure_folder): s/local_reconfigure_folder/mail_&/ svn path=/trunk/; revision=6908
* Change the "drawfocus" argument on e_table_scrolled_get_table(etable)Christopher James Lahey2000-12-101-1/+1
| | | | | | | | | | 2000-12-09 Christopher James Lahey <clahey@helixcode.com> * message-list.c (message_list_init): Change the "drawfocus" argument on e_table_scrolled_get_table(etable) instead of on etable (etable is an ETableScrolled.) svn path=/trunk/; revision=6893
* a slight mixup in order causes "1.33 M" to be displayed as the subject...uh ↵Jeffrey Stedfast2000-12-091-4/+4
| | | | | | huh, yea... svn path=/trunk/; revision=6877
* Set the "Size" field to sort using integer comparison instead of string.Jeffrey Stedfast2000-12-091-21/+40
| | | | | | | | | | | | | | | | | | 2000-12-08 Jeffrey Stedfast <fejj@helixcode.com> * message-list.c (message_list_get_layout): Set the "Size" field to sort using integer comparison instead of string. (filter_size): New function to transform a integer size into a more readable form. (ml_value_to_string): Use filter_size. (ml_value_is_empty): COL_SIZE is no longer a string, so handle this as an integer. (ml_initialize_value): Here too. (ml_free_value): And here. (ml_duplicate_value): And here too. (message_list_create_extras): Setup the size etable cell. svn path=/trunk/; revision=6876
* Connect to signals on the ETable instead of the ETableScrolled.Christopher James Lahey2000-12-091-4/+4
| | | | | | | | | 2000-12-08 Christopher James Lahey <clahey@helixcode.com> * message-list.c: Connect to signals on the ETable instead of the ETableScrolled. svn path=/trunk/; revision=6871
* Got rid of code referencing the ETableScrolled proxy functions. ChangedChristopher James Lahey2000-12-081-9/+9
| | | | | | | | | | 2000-12-07 Christopher James Lahey <clahey@helixcode.com> * message-list.c: Got rid of code referencing the ETableScrolled proxy functions. Changed the call to e_table_set_cursor_row to send a model row instead of a view row. svn path=/trunk/; revision=6852
* Use e_filename_make_safe (which used to be e_str_make_safe).Jeffrey Stedfast2000-12-071-1/+1
| | | | | | | | | | | | | 2000-12-06 Jeffrey Stedfast <fejj@helixcode.com> * mail-config.c (mail_config_folder_to_cachename): Use e_filename_make_safe (which used to be e_str_make_safe). * mail-display.c (make_safe_filename): And here. * message-list.c (message_list_drag_data_get): Here too. svn path=/trunk/; revision=6827
* Perform better error-handling.Jeffrey Stedfast2000-12-021-2/+5
| | | | | | | | | 2000-12-01 Jeffrey Stedfast <fejj@helixcode.com> * message-list.c (e_mail_address_new): Perform better error-handling. svn path=/trunk/; revision=6758
* Don't display a dialog, instead inform the user that there was no new mailJeffrey Stedfast2000-12-011-4/+21
| | | | | | | | | | | | | | | | | 2000-11-30 Jeffrey Stedfast <fejj@helixcode.com> * mail-ops.c (cleanup_fetch_mail): Don't display a dialog, instead inform the user that there was no new mail by setting a status message. * message-list.c (message_list_drag_data_get): Use the new e_str_make_safe function. * mail-display.c (make_safe_filename): And here. * mail-config.c (mail_config_folder_to_cachename): Here too. svn path=/trunk/; revision=6745
* Set threaded view before setting the folder (cleanup some flash onsNot Zed2000-11-301-99/+130
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-11-30 Not Zed <NotZed@HelixCode.com> * mail-ops.c (cleanup_load_folder): Set threaded view before setting the folder (cleanup some flash ons tartup). * message-list.c (message_list_init): Initialise a mempool for uid string storage. (new_id_from_uid): Added messagelist arg, allocate strings from uid_pool. (new_id_from_subject): Same. Fixed all callers. (remove_node_diff): Dont free uid here. (build_flat_diff): Nor here. (clear_tree): Flush the mempool, rather than freeing the id's directly. (free_tree_ids): Removed, no longer required. (free_tree_ids): Likewise. (message_list_init): Dont connect to the table destroy signal anymore to free the uid table. (message_list_destroy): Free the uid pool here. (*): Use accessors for messageid stuff. (content_is_attachment): Removed, no longer required. (ml_tree_value_at): Get the attachment flag directly from the summary. (ml_tree_value_at): For 'fake' nodes, try and do something better than "?" for from, to, and size. (subtree_size): New function, add up the total size of a subtree. (subtree_earliest): Get the earliest date from a subtree. (ml_tree_value_at): Return earliest date sent/received for fake nodes. (ml_tree_value_at): Return something to mark a fake subject line as a fake subject, although i dont know, i guess this buggers up sorting ... (subtree_size): Check the info node is still there. (subtree_earliest): Same here. (subtree_unread): And here. The info node might vanish if the folder has changed/is changing and we try and redraw stuff while its doing it. (message_list_drag_data_get): Use accessors. svn path=/trunk/; revision=6732
* Implement. (message_list_init): Connect the d&d signal.Jeffrey Stedfast2000-11-301-22/+11
| | | | | | | | | | | | | 2000-11-29 Jeffrey Stedfast <fejj@helixcode.com> * message-list.c (message_list_drag_data_get): Implement. (message_list_init): Connect the d&d signal. * mail-ops.c (do_save_messages): Use camel a bit more to help us out. Don't create the file ourselves, treat it as a CamelFolder so we don't have to worry about formatting. svn path=/trunk/; revision=6728
* IF we dont find a source, clear the exception and ignore it silently. forNot Zed2000-11-211-14/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-11-21 Not Zed <NotZed@HelixCode.com> * mail-vfolder.c (vfolder_uri_to_folder): IF we dont find a source, clear the exception and ignore it silently. for e.g. if the user reconfigured their mailboxes and one of them no longer exists. * message-list.c: (message_list_set_folder): If we get set a new folder, unhook any events before unrefing the folder too (the folder is never reset currently, but this would cause problems). (subtree_unread): Check for uid null, wont crash, but its a bug. (ml_tree_value_at): If the uid is null, then fake an obviously bad line. (build_subtree): Yeah well, we can't like freeze/thaw here, because this is called recursive, and freeze/thaw isn't recursive, like pre model and post model change was. (build_tree): Maybe we can try it here, although i dont think it'll help much. (build_flat): And this is also a tree. yes a tree. (build_tree): Added changes arg. If set, then try the 'diff' approach, unless the tree is already empty. (message_list_set_threaded): Dont clear the tree here. (message_list_set_search): Or here. svn path=/trunk/; revision=6629
* Removed. No longer serves a purpose.Not Zed2000-11-211-12/+12
| | | | | | | | | | | | | | | | | 2000-11-21 Not Zed <NotZed@HelixCode.com> * message-thread.[ch]: Removed. No longer serves a purpose. * Makefile.am (evolution_mail_SOURCES): Removed message-thread.[ch]. * message-list.c (build_subtree): (node_equal): (add_node_diff): (build_subtree_diff): (do_regenerate_messagelist): (cleanup_regenerate_messagelist): Changed to use camel-folder-thread. svn path=/trunk/; revision=6625
* Save out the md5 hash of the messageid as hex, since thats all we have forNot Zed2000-11-211-7/+11
| | | | | | | | | | | | | | | | | 2000-11-20 Not Zed <NotZed@HelixCode.com> * message-list.c (save_node_state): Save out the md5 hash of the messageid as hex, since thats all we have for those nodes. (build_subtree): Expand the messageid to a hex string first, then check it. (add_node_diff): And the same here. * message-thread.c (thread_messages): Changed for changes to messageid/references items. (id_hash, id_equal): New functions to hash on the binary message id hash. (thread_messages): removed some more no longer used dead code. svn path=/trunk/; revision=6617
* New comparison function that will replace address_compare if/when we everJeffrey Stedfast2000-11-211-69/+101
| | | | | | | | | | | | | 2000-11-20 Jeffrey Stedfast <fejj@helixcode.com> * message-list.c (e_mail_address_compare): New comparison function that will replace address_compare if/when we ever go to save the preparsed addresses in the ETable rather than parsing them each time. Also fixed it so that we should get better sorting when addresses don't contain name parts (I was checking for NULL but not '\0'). svn path=/trunk/; revision=6615
* Before we destroy ourselves, unhook ourselves from the folder updateNot Zed2000-11-171-1/+9
| | | | | | | | | | 2000-11-17 Not Zed <NotZed@HelixCode.com> * message-list.c (message_list_destroy): Before we destroy ourselves, unhook ourselves from the folder update events. Should fix a common crash on exit case. svn path=/trunk/; revision=6598
* Added the MessageViewSource bonobo menu verb.Jeffrey Stedfast2000-11-171-0/+1
| | | | | | | | | | | | 2000-11-16 Jeffrey Stedfast <fejj@helixcode.com> * folder-browser-factory.c: Added the MessageViewSource bonobo menu verb. * mail-ops.c (mail_do_save_messages): New async function to save messages as individual files in a given path. svn path=/trunk/; revision=6596
* Update the gal reqiurement version.Christopher James Lahey2000-11-141-3/+5
| | | | | | | | | | | | | | | 2000-11-13 Christopher James Lahey <clahey@helixcode.com> * configure.in: Update the gal reqiurement version. From mail/ChangeLog: 2000-11-13 Christopher James Lahey <clahey@helixcode.com> * message-list.c: Removed some e_table_model calls and replaced them with e_tree_model calls. svn path=/trunk/; revision=6564
* A very, long, very tedious IDL API rename and re-scoping;Michael Meeks2000-11-111-14/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | this script + some grunt approximates the work: s/Evolution_MessageList/GNOME_Evolution_MessageList/g; s/GNOME_Evolution_MessageList_select_message/GNOME_Evolution_MessageList_selectMessage/g; s/GNOME_Evolution_MessageList_open_message/GNOME_Evolution_MessageList_openMessage/g; s/Evolution_Folder([ \t])/GNOME_Evolution_Folder$1/g; s/Evolution_FolderTypeList/GNOME_Evolution_FolderTypeList/g; s/Evolution_FolderBrowser/GNOME_Evolution_FolderBrowser/g; s/GNOME_Evolution_FolderBrowser_get_message_list/GNOME_Evolution_FolderBrowser_getMessageList/g; s/Evolution_LocalStorage/GNOME_Evolution_LocalStorage/g; s/GNOME_Evolution_LocalStorage_update_folder/GNOME_Evolution_LocalStorage_updateFolder/g; s/Evolution_ShellView/GNOME_Evolution_ShellView/g; s/GNOME_Evolution_ShellView_set_message/GNOME_Evolution_ShellView_setMessage/g; s/GNOME_Evolution_ShellView_unset_message/GNOME_Evolution_ShellView_unsetMessage/g; s/GNOME_Evolution_ShellView_change_current_view/GNOME_Evolution_ShellView_changeCurrentView/g; s/Evolution_StorageSetViewListener/GNOME_Evolution_StorageSetViewListener/g; s/GNOME_Evolution_StorageSetViewListener_folder_selected/GNOME_Evolution_StorageSetViewListener_notifyFolderSelected/g; s/GNOME_Evolution_StorageSetViewListener_storage_selected/GNOME_Evolution_StorageSetViewListener_notifyStorageSelected/g; s/Evolution_StorageSetView/GNOME_Evolution_StorageSetView/g; s/GNOME_Evolution_StorageSetView_add_listener/GNOME_Evolution_StorageSetView_addListener/g; s/GNOME_Evolution_StorageSetView_remove_listener/GNOME_Evolution_StorageSetView_removeListener/g; s/Evolution_Shell/GNOME_Evolution_Shell/g; s/GNOME_Evolution_Shell_get_component_for_type/GNOME_Evolution_Shell_getComponentByType/g; s/GNOME_Evolution_Shell_user_select_folder/GNOME_Evolution_Shell_selectUserFolder/g; s/GNOME_Evolution_Shell_get_local_storage/GNOME_Evolution_Shell_getLocalStorage/g; s/GNOME_Evolution_Shell_create_storage_set_view/GNOME_Evolution_Shell_createStorageSetView/g; s/Evolution_FolderSelectionListener/GNOME_Evolution_FolderSelectionListener/g; s/GNOME_Evolution_FolderSelectionListener_selected/GNOME_Evolution_FolderSelectionListener_notifySelected/g; s/GNOME_Evolution_FolderSelectionListener_cancel/GNOME_Evolution_FolderSelectionListener_notifyCanceled/g; s/Evolution_Storage/GNOME_Evolution_Storage/g; s/GNOME_Evolution_Storage_add_listener/GNOME_Evolution_Storage_addListener/g; s/GNOME_Evolution_Storage_remove_listener/GNOME_Evolution_Storage_removeListener/g; s/GNOME_Evolution_StorageListener_destroyed/GNOME_Evolution_StorageListener_notifyDestroyed/g; s/GNOME_Evolution_StorageListener_new_folder/GNOME_Evolution_StorageListener_notifyFolderCreated/g; s/GNOME_Evolution_StorageListener_update_folder/GNOME_Evolution_StorageListener_notifyFolderUpdated/g; s/GNOME_Evolution_StorageListener_removed_folder/GNOME_Evolution_StorageListener_notifyFolderRemoved/g; s/GNOME_Evolution_StorageRegistry_register_storage/GNOME_Evolution_StorageRegistry_addStorage/g; s/GNOME_Evolution_StorageRegistry_unregister_storage/GNOME_Evolution_StorageRegistry_removeStorageByName/g; s/Evolution_ShellComponent/GNOME_Evolution_ShellComponent/g; s/GNOME_Evolution_ShellComponent_set_owner/GNOME_Evolution_ShellComponent_setOwner/g; s/GNOME_Evolution_ShellComponent_unset_owner/GNOME_Evolution_ShellComponent_unsetOwner/g; s/GNOME_Evolution_ShellComponent_create_view/GNOME_Evolution_ShellComponent_createView/g; s/GNOME_Evolution_ShellComponent_async_create_folder/GNOME_Evolution_ShellComponent_addFolderAsync/g; s/GNOME_Evolution_ShellComponent_async_remove_folder/GNOME_Evolution_ShellComponent_removeFolderAsync/g; s/GNOME_Evolution_ShellComponent_populate_folder_context_menu/GNOME_Evolution_ShellComponent_populateFolderContextMenu/g; s/GNOME_Evolution_ShellComponentListener_report_result/GNOME_Evolution_ShellComponentListener_notifyResult/g; s/Evolution_Session/GNOME_Evolution_Session/g; s/GNOME_Evolution_Session_save_configuration/GNOME_Evolution_Session_saveConfiguration/g; s/GNOME_Evolution_Session_load_configuration/GNOME_Evolution_Session_loadConfiguration/g; s/Evolution_Calendar_Cal/GNOME_Evolution_Calendar_Cal/g; s/GNOME_Evolution_Calendar_Cal_get_n_objects/GNOME_Evolution_Calendar_Cal_countObjects/g; s/GNOME_Evolution_Calendar_Cal_get_object/GNOME_Evolution_Calendar_Cal_getObject/g; s/GNOME_Evolution_Calendar_Cal_get_uids/GNOME_Evolution_Calendar_Cal_getUIds/g; s/GNOME_Evolution_Calendar_Cal_get_changed_uids/GNOME_Evolution_Calendar_Cal_getChangedUIds/g; s/GNOME_Evolution_Calendar_Cal_get_objects_in_range/GNOME_Evolution_Calendar_Cal_getObjectsInRange/g; s/GNOME_Evolution_Calendar_Cal_get_alarms_in_range/GNOME_Evolution_Calendar_Cal_getAlarmsInRange/g; s/GNOME_Evolution_Calendar_Cal_get_alarms_for_object/GNOME_Evolution_Calendar_Cal_getAlarmsForObject/g; s/GNOME_Evolution_Calendar_Cal_update_object/GNOME_Evolution_Calendar_Cal_updateObject/g; s/GNOME_Evolution_Calendar_Cal_remove_object/GNOME_Evolution_Calendar_Cal_removeObject/g; s/Evolution_Calendar_Listener/GNOME_Evolution_Calendar_Listener/g; s/GNOME_Evolution_Calendar_Listener_cal_loaded/GNOME_Evolution_Calendar_Listener_notifyCalLoaded/g; s/GNOME_Evolution_Calendar_Listener_obj_updated/GNOME_Evolution_Calendar_Listener_notifyObjUpdated/g; s/GNOME_Evolution_Calendar_Listener_obj_removed/GNOME_Evolution_Calendar_Listener_notifyObjRemoved/g; s/Evolution_Calendar_CalFactory/GNOME_Evolution_Calendar_CalFactory/g; s/GNOME_Evolution_Calendar_CalFactory_load/GNOME_Evolution_Calendar_CalFactory_load/g; s/GNOME_Evolution_Calendar_CalFactory_create/GNOME_Evolution_Calendar_CalFactory_create/g; s/Evolution_Composer/GNOME_Evolution_Composer/g; s/GNOME_Evolution_Composer_set_headers/GNOME_Evolution_Composer_setHeaders/g; s/GNOME_Evolution_Composer_set_body_text/GNOME_Evolution_Composer_setBodyText/g; s/GNOME_Evolution_Composer_attach_MIME/GNOME_Evolution_Composer_attachMIME/g; s/GNOME_Evolution_Composer_attach_data/GNOME_Evolution_Composer_attachData/g; s/GNOME_Evolution_Composer_show/GNOME_Evolution_Composer_show/g; s/Evolution_Addressbook_SelectNames/GNOME_Evolution_Addressbook_SelectNames/g; s/GNOME_Evolution_Addressbook_SelectNames_add_section/GNOME_Evolution_Addressbook_SelectNames_addSection/g; s/GNOME_Evolution_Addressbook_SelectNames_get_entry_for_section/GNOME_Evolution_Addressbook_SelectNames_getEntryBySection/g; s/GNOME_Evolution_Addressbook_SelectNames_activate_dialog/GNOME_Evolution_Addressbook_SelectNames_activateDialog/g; s/Evolution_CardCursor/GNOME_Evolution_Addressbook_CardCursor/g; s/GNOME_Evolution_Addressbook_CardCursor_get_length/GNOME_Evolution_Addressbook_CardCursor_getLength/g; s/GNOME_Evolution_Addressbook_CardCursor_get_nth/GNOME_Evolution_Addressbook_CardCursor_getNth/g; s/Evolution_BookViewListener/GNOME_Evolution_Addressbook_BookViewListener/g; s/GNOME_Evolution_Addressbook_BookViewListener_signal_card_added/GNOME_Evolution_Addressbook_BookViewListener_notifyCardAdded/g; s/GNOME_Evolution_Addressbook_BookViewListener_signal_card_removed/GNOME_Evolution_Addressbook_BookViewListener_notifyCardRemoved/g; s/GNOME_Evolution_Addressbook_BookViewListener_signal_card_changed/GNOME_Evolution_Addressbook_BookViewListener_notifyCardChanged/g; s/GNOME_Evolution_Addressbook_BookViewListener_signal_sequence_complete/GNOME_Evolution_Addressbook_BookViewListener_notifySequenceComplete/g; s/GNOME_Evolution_Addressbook_BookViewListener_signal_status_message/GNOME_Evolution_Addressbook_BookViewListener_notifyStatusMessage/g; s/Evolution_BookView/GNOME_Evolution_Addressbook_BookView/g; s/Evolution_Book/GNOME_Evolution_Addressbook_Book/g; s/GNOME_Evolution_Addressbook_Book_get_vcard/GNOME_Evolution_Addressbook_Book_getVCard/g; s/GNOME_Evolution_Addressbook_Book_can_write/GNOME_Evolution_Addressbook_Book_isWriteable/g; s/GNOME_Evolution_Addressbook_Book_can_write_card/GNOME_Evolution_Addressbook_Book_isCardWriteable/g; s/GNOME_Evolution_Addressbook_Book_create_card/GNOME_Evolution_Addressbook_Book_addCard/g; s/GNOME_Evolution_Addressbook_Book_remove_card/GNOME_Evolution_Addressbook_Book_removeCard/g; s/GNOME_Evolution_Addressbook_Book_modify_card/GNOME_Evolution_Addressbook_Book_modifyCard/g; s/GNOME_Evolution_Addressbook_Book_get_cursor/GNOME_Evolution_Addressbook_Book_getCursor/g; s/GNOME_Evolution_Addressbook_Book_get_book_view/GNOME_Evolution_Addressbook_Book_getBookView/g; s/GNOME_Evolution_Addressbook_Book_get_changes/GNOME_Evolution_Addressbook_Book_getChanges/g; s/GNOME_Evolution_Addressbook_Book_check_connection/GNOME_Evolution_Addressbook_Book_checkConnection/g; s/GNOME_Evolution_Addressbook_Book_get_static_capabilities/GNOME_Evolution_Addressbook_Book_getStaticCapabilities/g; s/GNOME_Evolution_Addressbook_Book_get_name/GNOME_Evolution_Addressbook_Book_getName/g; s/Evolution_BookListener/GNOME_Evolution_Addressbook_BookListener/g; s/GNOME_Evolution_Addressbook_BookListener_respond_create_card/GNOME_Evolution_Addressbook_BookListener_notifyCardCreated/g; s/GNOME_Evolution_Addressbook_BookListener_respond_remove_card/GNOME_Evolution_Addressbook_BookListener_notifyCardRemoved/g; s/GNOME_Evolution_Addressbook_BookListener_respond_modify_card/GNOME_Evolution_Addressbook_BookListener_notifyCardModified/g; s/GNOME_Evolution_Addressbook_BookListener_report_open_book_progress/GNOME_Evolution_Addressbook_BookListener_notifyOpenBookProgress/g; s/GNOME_Evolution_Addressbook_BookListener_respond_open_book/GNOME_Evolution_Addressbook_BookListener_notifyBookOpened/g; s/GNOME_Evolution_Addressbook_BookListener_respond_get_cursor/GNOME_Evolution_Addressbook_BookListener_notifyCursorRequested/g; s/GNOME_Evolution_Addressbook_BookListener_respond_get_view/GNOME_Evolution_Addressbook_BookListener_notifyViewRequested/g; s/GNOME_Evolution_Addressbook_BookListener_respond_get_changes/GNOME_Evolution_Addressbook_BookListener_notifyChangesRequested/g; s/GNOME_Evolution_Addressbook_BookListener_report_connection_status/GNOME_Evolution_Addressbook_BookListener_notifyConnectionStatus/g; s/Evolution_BookFactory/GNOME_Evolution_Addressbook_BookFactory/g; s/GNOME_Evolution_Addressbook_BookFactory_open_book/GNOME_Evolution_Addressbook_BookFactory_openBook/g; s/Evolution_SummaryComponent/GNOME_Evolution_Summary_Component/g; s/GNOME_Evolution_Summary_SummaryComponent_set_owner/GNOME_Evolution_Summary_Component_setOwner/g; s/GNOME_Evolution_Summary_SummaryComponent_unset_owner/GNOME_Evolution_Summary_Component_unsetOwner/g; s/GNOME_Evolution_Summary_SummaryComponent_create_view/GNOME_Evolution_Summary_Component_createView/g; s/GNOME_Evolution_Summary_SummaryComponent_destroy_view/GNOME_Evolution_Summary_Component_destroyView/g; s/Evolution_Summary([ \t])/GNOME_Evolution_Summary_ViewFrame$1/g; s/Evolution_Summary_set_title/GNOME_Evolution_Summary_ViewFrame_setTitle/g; s/Evolution_Summary_set_icon/GNOME_Evolution_Summary_ViewFrame_setIcon/g; s/Evolution_Summary_update_component/GNOME_Evolution_Summary_ViewFrame_updateComponent/g; s/GNOME_GNOME/GNOME/g; s/GNOME_GNOME/GNOME/g; s/GNOME_GNOME/GNOME/g; svn path=/trunk/; revision=6535
* don't free the MessageList search when it's being reusedDan Winship2000-11-041-1/+1
| | | | | | | * message-list.c (cleanup_regenerate_messagelist): don't free the MessageList search when it's being reused svn path=/trunk/; revision=6382
* Added new header files.Jeffrey Stedfast2000-11-041-24/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-11-03 Jeffrey Stedfast <fejj@helixcode.com> * Makefile.am: Added new header files. * component-factory.c (owner_set_cb): s/session_init/mail_session_init * session.c: Renamed public functions to mail_session_*. FIXME: Rename session.c to mail-session.c * folder-browser-factory.c: #include "mail-callbacks.h", #include "mail-session.h" and replace forget_passwords with mail_session_forget_passwords * mail.h: Move session prototypes to mail-session.h, Move mail-crypto prototypes to mail-crypto.h, Move mail-callback prototypes to mail-callbacks.h * mail-session.h: New header file containing public prototypes for session.c * mail-format.c: #include "mail-crypto.h" * mail-view.c: * folder-browser.c: #include "mail-callbacks.h" * mail-crypto.h: New header file containing public prototypes for mail-crypto.c * mail-callbacks.h: New header file containing public prototypes for mail-callbacks.c * message-list.c (message_list_get_layout): Set useful defaults. (message_list_setup_etable): Don't set the Outbox defaults on a folder just because it doesn't have a corresponding saved file. svn path=/trunk/; revision=6372
* Added mail-display.h.Not Zed2000-11-031-257/+73
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-11-03 Not Zed <NotZed@HelixCode.com> * mail-view.c: Added mail-display.h. * mail-autofilter.c: Removed unecessary headers. Who ran indent over this code? Sigh. * mail-ops.c (display_message_input_s): Added messagedisplay. (mail_do_display_message): Added messagedisplay arg. (mail_do_display_message): Dont bother doing another thread when we know we dont have a uid. (): Added folder-browser.h to headers. Sigh. * folder-browser-factory.c (control_activate): Setup the viewthreaded callback to the folder_browser function. * folder-browser.c (my_folder_browser_init): Connect to right_click of etable of the messagelist here. (on_right_click): Changed for argument changes. (folder_browser_toggle_threads): Changed to take a fb, and to set threaded mode on the messagelist. (my_folder_browser_init): Connect also to the double_click signal. (my_folder_browser_init): Connect to the message_selected signal of the message_list. (on_message_selected): Signal handler for message selected. (my_folder_browser_init): Fix for change to message_list_new(). * message-list.h: Dont include folder-browser.h. (message_list_toggle_threads): Moved into folder-browser.h. (struct _MessageList): Removed folderbrowser. * mail.h: Dont include folder-browser.h here either, but mail-types.h instead. Moved prototypes moved into folder-browser.c into folder-browser.h. (vfolder_*, filter_*). * mail-display.h: Dont include folder-browser.h here, but mail-types.h and specific camel headers. * message-thread.c (sort_node): Invert the sort order logic so the list is sorted in mailbox order, not reverse mailbox order. * message-list.c (free_tree_ids): Fix a merge foo. (remove_node_diff): Removed unused row argument. Fixed callers/prototype. (clear_tree): pre_change on the removal of the root node. (build_flat): Only perform pre_change if we are rebuilding the whole lot. For incremental change let etable do its thing. (build_tree): Likewise for building the tree view. If making incremental updates, do them as we build it. (vfolder_subject): (vfolder_sender): (vfolder_recipient): (filter_subject): (filter_sender): (filter_recipient): (filter_mlist): (on_right_click): Moved to folder-browser.c, where they belong. (message_list_init): Dont connect to right_click anymore. (message_list_toggle_threads): Moved to folder-browser.c, renamed. (on_double_click): Moved to folder-browser.c (on_click): Set the flags directly, rather than in anothre thread, which is just not necessary. (message_list_class_init): Added a new signal 'message_selected', to indicate when a message was selected. (on_cursor_change_idle): Emit a signal, rather than directly triggering the display update. (select_row): Removed, no longer used. (idle_select_row): And this too. (select_msg): Removed as well. (message_list_select): Emit a signal, rather thandisplaying/clearing the mail-display directly. (mark_msg_seen): Moved to folder-browser.c (message_list_new): Removed folderbrowser argument. svn path=/trunk/; revision=6365
* Sync with message menu. Addresses bugzilla bug #778.Jeffrey Stedfast2000-11-031-0/+3
| | | | | | | | | 2000-11-02 Jeffrey Stedfast <fejj@helixcode.com> * message-list.c (on_right_click): Sync with message menu. Addresses bugzilla bug #778. svn path=/trunk/; revision=6360
* Turn on draw grid for the main ETable (this may not be working in ETableChristopher James Lahey2000-11-031-1/+1
| | | | | | | | | 2000-11-02 Christopher James Lahey <clahey@helixcode.com> * message-list.c: Turn on draw grid for the main ETable (this may not be working in ETable itself.) svn path=/trunk/; revision=6358
* ** Merged in camel-incremental-branch.Not Zed2000-11-021-176/+632
| | | | | | | | | | | | | 2000-11-02 Not Zed <NotZed@HelixCode.com> ** Merged in camel-incremental-branch. * mail-format.c (mail_get_message_body): Jeff! Sigh. We should definetly not be strduping the content, it has already been copied and duplicated. Look at get_data_wrapper_text. svn path=/trunk/; revision=6337
* Don't try to regenerate the message list if there is no folder. (TheDan Winship2000-10-301-0/+6
| | | | | | | | | * message-list.c (mail_do_regenerate_messagelist): Don't try to regenerate the message list if there is no folder. (The Bonobo UI code will call this as the callback for the "Threaded View" command.) svn path=/trunk/; revision=6255
* Add a "flagged" column, based on the Camel "flagged" flag, for assigningDan Winship2000-10-261-43/+83
| | | | | | | | | | | | | * message-list.c: Add a "flagged" column, based on the Camel "flagged" flag, for assigning an arbitrary "hey, I care about this" flag to a message. (ml_tree_set_value_at): Remove (ml_tree_is_cell_editable): No, it's not. (on_click): Handle the read/unread and flagged fields via the click handler. Among other things, this makes it not select a message when you change its read status. svn path=/trunk/; revision=6173
* lots of i18n fixesDan Winship2000-10-241-11/+5
| | | | svn path=/trunk/; revision=6143
* Fixed a possible error in row numberings. This needs to be changed quite aChristopher James Lahey2000-10-241-1/+2
| | | | | | | | | | 2000-10-23 Christopher James Lahey <clahey@helixcode.com> * message-list.c: Fixed a possible error in row numberings. This needs to be changed quite a bit anyway, but this should make things slightly nicer in some cases. svn path=/trunk/; revision=6128
* Make the vertical toolbar always visible in the message list and theEttore Perazzoli2000-10-231-2/+3
| | | | | | message view (patch pulled up from the evolution-0-6-branch). svn path=/trunk/; revision=6112
* e-tree-model is now opaque. use the accessor to get the root node.Chris Toshok2000-10-201-2/+4
| | | | | | | | | 2000-10-19 Chris Toshok <toshok@helixcode.com> * message-list.c (nuke_uids): e-tree-model is now opaque. use the accessor to get the root node. svn path=/trunk/; revision=6073
* For an imap store, just refresh the INBOX.Dan Winship2000-10-201-1/+2
| | | | | | | | | | | * mail-ops.c: (do_fetch_mail): For an imap store, just refresh the INBOX. * folder-browser-factory.c (control_deactivate): Don't sync non-existent folders. * message-list.c (nuke_uids): Don't traverse non-existent trees. svn path=/trunk/; revision=6047
* Fixed some column widths.Christopher James Lahey2000-10-191-3/+3
| | | | | | | | 2000-10-18 Christopher James Lahey <clahey@helixcode.com> * message-list.c: Fixed some column widths. svn path=/trunk/; revision=6013
* No, we REALLY dont want to perform an immediate search as the keys areNot Zed2000-10-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-10-18 Not Zed <NotZed@HelixCode.com> * folder-browser.c (folder_browser_gui_init): No, we REALLY dont want to perform an immediate search as the keys are pressed. * mail-display.c (on_object_requested): Kill a minor warning with a cast. * mail-config.c: Include mising ctype.h to kill a warning. * message-thread.c (main): Fixed the test case for api changes. * message-list.c (message_list_drag_data_get): Set some flags to get_folder(). I dont even think this will work because mail_tool_get_folder doesn't handle file url's. * mail-vfolder.c (vfolder_uri_to_folder): Pass appropriate flags. * mail-ops.c (do_setup_folder): Pass appropriate flags. Hmm, whats the difference between setup and create. *shrug* (do_create_folder): Pass appropriate flags to get_folder. Needs a way to specify the index flag. * mail-tools.c (mail_tool_get_folder_from_urlname): Changed create to flags argument. (mail_tool_get_local_inbox_url): Add an index argument. (mail_tool_get_local_inbox): honour index flag. (mail_tool_get_inbox): Changed for api change. (mail_tool_uri_to_folder): Fixed calls to store_get_folder(); * mail-local.c (load_metainfo): Added an indexed field to the metainfo. (save_metainfo): And save it too. (do_reconfigure_folder): Honour index flag when creating the new folder. Do not open the old folder with an index at all. (mail_local_map_uri): Add an index argument - tells if the mbox is indexed. (mail_tool_local_uri_to_folder): Create & pass flags properly. (#include gnome.h): Dont include all of gnome, just what we use, and explicity include xml-memory, so we get xmlFree(). svn path=/trunk/; revision=5979
* Uh, fixed jeff's wrong fix for setting the speficiation (the functionNot Zed2000-10-161-16/+5
| | | | | | | | | | | 2000-10-16 Not Zed <NotZed@HelixCode.com> * message-list.c (message_list_setup_etable): Uh, fixed jeff's wrong fix for setting the speficiation (the function changed to set_state(), as can be seen in the e_table-scrolled_load_state() call only 2 lines above). svn path=/trunk/; revision=5938
* ETreePath != GNode now, use accessors. (ml_tree_value_at): same.Chris Toshok2000-10-161-15/+18
| | | | | | | | | | | | | | | 2000-10-15 Chris Toshok <toshok@helixcode.com> * message-list.c (subtree_unread): ETreePath != GNode now, use accessors. (ml_tree_value_at): same. (save_node_state): same. (save_tree_state): same. (nuke_uids_cb): convert to e_tree_model_node_traverse required type. (nuke_uids): g_node_traverse -> e_tree_model_node_traverse. svn path=/trunk/; revision=5936
* Don't free the service name.Jeffrey Stedfast2000-10-141-11/+10
| | | | | | | | | 2000-10-13 Jeffrey Stedfast <fejj@helixcode.com> * message-list.c (message_list_setup_etable): Don't free the service name. svn path=/trunk/; revision=5902
* Create the 'spec' and 'extras' arguments and call e_table_scrolled_new()Jeffrey Stedfast2000-10-131-5/+80
| | | | | | | | | | | | | | 2000-10-12 Jeffrey Stedfast <fejj@helixcode.com> * message-list.c (message_list_setup_etable): Create the 'spec' and 'extras' arguments and call e_table_scrolled_new() rather than set_specification as that function no longer (?) exists. Also started to add drag & drop functionality to something like Nautilus (but #if 0'd it out until I had time to finish it and till after 0.6). svn path=/trunk/; revision=5890
* Duh, fix the test for the folder name, strstr != strcmp is it.Not Zed2000-10-121-26/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-10-12 Not Zed <NotZed@HelixCode.com> * message-list.c (message_list_setup_etable): Duh, fix the test for the folder name, strstr != strcmp is it. 2000-10-10 Not Zed <NotZed@HelixCode.com> * message-list.c (folder_to_cachename): Removed, changed callers to use mail_config_folder_to_cachename instead. * mail-config.c (mail_config_folder_to_cachename): New utility function to get a cache name for a folder. * mail-tools.c (mail_tool_do_movemail): Changed to return the path to the mbox, rather than opening a folder of it. * mail-ops.c (mail_incorporate_messages): Dont bother making the pseudo messageinfo, filder_driver_filter_message will do it for us. (report_status): Callback to report status of filtering operation. (do_fetch_mail): Changed significantly - for the api changes to the filtering system. Also now incorporates a mailbox file directly, without having to import it into a camel folder first. (mail_incorporate_messages): Removed entirely, no longer needed. * mail-vfolder.c (vfolder_refresh): Fix for context api changes. (vfolder_uri_to_folder): Likewise. * folder-browser-factory.c (create_ondemand_hooks): Changed for api changes. Also only adds demand filters to the menu (fixed a small logic bug). svn path=/trunk/; revision=5883
* Replace To with From except in Drafts, Outbox, or Sent boxes. Make SubjectChristopher James Lahey2000-10-121-4/+4
| | | | | | | | | | 2000-10-12 Christopher James Lahey <clahey@helixcode.com> * message-list.c: Replace To with From except in Drafts, Outbox, or Sent boxes. Make Subject column pay attention to text attributes like bold and strikethrough. svn path=/trunk/; revision=5877
* Changed these to use the proper form for the column element.Christopher James Lahey2000-10-111-4/+4
| | | | | | | | | 2000-10-11 Christopher James Lahey <clahey@helixcode.com> * message-list.c, message-list.h, subscribe-dialog.c: Changed these to use the proper form for the column element. svn path=/trunk/; revision=5849
* Updated these to the new ETable style of specifications.Christopher James Lahey2000-10-111-173/+69
| | | | | | | | | 2000-10-11 Christopher James Lahey <clahey@helixcode.com> * message-list.c, message-list.h, subscribe-dialog.c: Updated these to the new ETable style of specifications. svn path=/trunk/; revision=5845
* New widget, full search dialogue for mail.Not Zed2000-10-091-2/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-10-06 Not Zed <NotZed@HelixCode.com> * mail-search-dialogue.c: New widget, full search dialogue for mail. * folder-browser.c (search_set): If we click on custom search, run the full search dialogue. (folder_browser_gui_init): Add a button to perform a full search. (search_full): Bring up the mail search dialogue asynchronously. (search_full_clicked): Handle search options. (folder_browser_destroy): Free the saved rule if there is one there. (search_options[]): Added a custom option option - brings up the full search dialogue. (search_set): Disable the search entry if we are doing a full search. * mail-vfolder.c (vfolder_create_storage): Yay, finally depeterised this stuff. (vfolder_uri_to_folder): Removed an irrelevant comment. * mail-callbacks.c (filter_edit): And here. * mail-ops.c (do_fetch_mail): And here too. * mail-autofilter.c (filter_gui_add_from_message): Fixed call to context_load. (filter_gui_add_for_mailing_list): And here too. * folder-browser-factory.c (create_ondemand_hooks): Remove that ondemand callback snot. 2000-10-05 Not Zed <NotZed@HelixCode.com> * message-list.c (message_list_init_etable): Build the etable once we know what folder we are going to use. (save_header_state): Save the header spec to a cache file. (message_list_destroy): Save the header spec. (message_list_setup_etable): Setup the etable spec for this folder, from a saved version if one exists, or to suit the folder type (sent/received). (message_list_set_folder): Setup the etable here once we have a folder. svn path=/trunk/; revision=5798
* re-write.Michael Meeks2000-10-091-3/+9
| | | | | | | | | | | 2000-10-09 Michael Meeks <michael@helixcode.com> * message-list.c (message_list_toggle_threads): re-write. * folder-browser-factory.c (control_activate): update paths, need CVS HEAD bonobo, use a listener not a verb. svn path=/trunk/; revision=5792
* Use CamelInternetAddress instead of my quick hack (aka InternetAddress).Jeffrey Stedfast2000-10-051-153/+38
| | | | | | | | | 2000-10-04 Jeffrey Stedfast <fejj@helixcode.com> * message-list.c (address_compare): Use CamelInternetAddress instead of my quick hack (aka InternetAddress). svn path=/trunk/; revision=5741
* Fix the attachment icon width. (content_is_attachment): Perform someNot Zed2000-10-041-4/+41
| | | | | | | | | | | 2000-10-04 Not Zed <NotZed@HelixCode.com> * message-list.c (message_list_init_header): Fix the attachment icon width. (content_is_attachment): Perform some simple tests to see if the message contains an attachment. (build_subtree): Kill a pointless warning. svn path=/trunk/; revision=5707
* remove the 2 tree pixbufs, so adjust the offsets to the score pixbufs.Chris Toshok2000-10-031-7/+2
| | | | | | | | | | 2000-10-02 Chris Toshok <toshok@helixcode.com> * message-list.c (message_list_init_renderers): remove the 2 tree pixbufs, so adjust the offsets to the score pixbufs. also, pass NULL for the open/closed pixbufs to the tree cell renderer. svn path=/trunk/; revision=5667
* Update for CamelFolderInfo changes.Dan Winship2000-10-031-1/+2
| | | | | | | | | | | | | * mail-ops.c (mail_do_scan_subfolders, etc): Update for CamelFolderInfo changes. * message-list.c (message_list_destroy): Don't save_tree_state if there's no folder associated with the MessageList. * folder-browser.c (folder_browser_set_uri): Only call mail_do_load_folder if the URI is not "". svn path=/trunk/; revision=5664
* Function to convert a folder name/path to a filename for per-folder data.Not Zed2000-09-261-15/+158
| | | | | | | | | | | | | | | | | | | 2000-09-25 Not Zed <NotZed@HelixCode.com> * message-list.c (folder_to_cachename): Function to convert a folder name/path to a filename for per-folder data. (save_tree_state): (load_tree_state): (free_tree_state): For loading/saving the state of the expansion of nodes in the tree. (message_list_destroy): Save the tree state when done. (save_node_state): Changed logic, we save when the node should be closed on startup. i.e. any new nodes with children automatically default to being open. (subtree_unread): Check for unread messages in a subtree. So false messages (for tree roots) are properly displayed. svn path=/trunk/; revision=5584
* Updated to use Nat's ENameWestern parser.Jeffrey Stedfast2000-09-261-6/+46
| | | | | | | | | | | 2000-09-25 Jeffrey Stedfast <fejj@helixcode.com> * message-list.c (address_compare): Updated to use Nat's ENameWestern parser. * Makefile.am: link against e-util/ename/libename.la svn path=/trunk/; revision=5583
* Fix a crash that happened on my system when sorting by the "From"Ettore Perazzoli2000-09-231-2/+9
| | | | | | | field. (The address parsing code failed miserably if the first character was a space.) svn path=/trunk/; revision=5559
* New comparison function for email addresses. (subject_compare): NewJeffrey Stedfast2000-09-231-6/+23
| | | | | | | | | | | 2000-09-22 Jeffrey Stedfast <fejj@helixcode.com> * message-list.c (address_compare): New comparison function for email addresses. (subject_compare): New comparison function for message subjects. (message_list_init_header): Updated to use the new compare funcs. svn path=/trunk/; revision=5554
* New comparison function for email addresses. (subject_compare): NewJeffrey Stedfast2000-09-221-3/+162
| | | | | | | | | | | 2000-09-22 Jeffrey Stedfast <fejj@helixcode.com> * message-list.c (address_compare): New comparison function for email addresses. (subject_compare): New comparison function for message subjects. (message_list_init_header): Updated to use the new compare funcs. svn path=/trunk/; revision=5546
* Removed COL_ONLINE_STATUS because we don't want that. Renamed COL_PRIORITYJeffrey Stedfast2000-09-191-108/+149
| | | | | | | | | | 2000-09-18 Jeffrey Stedfast <fejj@helixcode.com> * message-list.c: Removed COL_ONLINE_STATUS because we don't want that. Renamed COL_PRIORITY to COL_SCORE and set it up to sort-of work, I'm not really sure which renderer I should use. svn path=/trunk/; revision=5493
* Added check for gnome-app-lib. Removed directories that have been moved toChristopher James Lahey2000-09-181-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-09-18 Christopher James Lahey <clahey@helixcode.com> * configure.in: Added check for gnome-app-lib. Removed directories that have been moved to gal. From addressbook/ChangeLog: 2000-09-18 Christopher James Lahey <clahey@helixcode.com> * backend/ebook/Makefile.am, contact-editor/Makefile.am, ename/Makefile.am, gui/component/Makefile.am, gui/widgets/Makefile.am: Added $(EXTRA_GNOME_CFLAGS) and $(EXTRA_GNOME_LIBS). Removed unneeded libraries. * backend/ebook/e-card.c, backend/pas/pas-backend-file.c, contact-editor/e-contact-editor-address.c, contact-editor/e-contact-editor-categories.c, contact-editor/e-contact-editor-categories.h, contact-editor/e-contact-editor-fullname.c, contact-editor/e-contact-editor.c, contact-editor/e-contact-save-as.c, ename/e-address-western.c, ename/test-ename-western-gtk.c, gui/component/addressbook-factory.c, gui/component/addressbook.c, gui/component/e-cardlist-model.h, gui/component/e-ldap-storage.c, gui/component/select-names/e-select-names-bonobo.c, gui/component/select-names/e-select-names-manager.c, gui/component/select-names/e-select-names-model.c, gui/component/select-names/e-select-names-table-model.c, gui/component/select-names/e-select-names-table-model.h, gui/component/select-names/e-select-names-text-model.h, gui/component/select-names/e-select-names.c, gui/component/select-names/e-select-names.h, gui/search/e-addressbook-search-dialog.c, gui/widgets/e-addressbook-model.h, gui/widgets/e-addressbook-view.c, gui/widgets/e-minicard-label.c, gui/widgets/e-minicard-view-widget.c, gui/widgets/e-minicard-view-widget.h, gui/widgets/e-minicard-view.c, gui/widgets/e-minicard-view.h, gui/widgets/e-minicard-widget.h, gui/widgets/e-minicard.c, gui/widgets/test-minicard-label.c, gui/widgets/test-reflow.c, printing/e-contact-print.c: Fixed the #include lines to deal properly with gal. From calendar/ChangeLog: 2000-09-18 Christopher James Lahey <clahey@helixcode.com> * gui/Makefile.am: Added $(EXTRA_GNOME_CFLAGS) and $(EXTRA_GNOME_LIBS). Removed unneeded libraries. * gui/calendar-model.h, gui/e-calendar-table.c, gui/e-day-view.c, gui/e-week-view-event-item.c, gui/e-week-view.c, gui/event-editor.c, gui/gncal-todo.c, gui/gnome-cal.c, gui/main.c, gui/print.c, gui/dialogs/task-editor.c: Fixed the #include lines to deal properly with gal. * gui/check-filled.xpm: New file since we can't include it from e-table anymore. From camel/ChangeLog: 2000-09-18 Christopher James Lahey <clahey@helixcode.com> * camel-folder-search.c, camel-folder-search.h, camel-remote-store.c, providers/imap/camel-imap-folder.c, providers/imap/camel-imap-store.c: Fixed the #include lines to deal properly with gal. From composer/ChangeLog: 2000-09-18 Christopher James Lahey <clahey@helixcode.com> * Makefile.am: Added $(EXTRA_GNOME_CFLAGS) and $(EXTRA_GNOME_LIBS). Removed unneeded libraries. * e-msg-composer-address-dialog.c, e-msg-composer-address-entry.c, e-msg-composer-attachment.c, e-msg-composer-hdrs.c, e-msg-composer.c: Fixed the #include lines to deal properly with gal. From e-util/ChangeLog: 2000-09-18 Christopher James Lahey <clahey@helixcode.com> * Makefile.am: Removed all the files moved to gal. * e-dialog-widgets.c: Fixed the #include lines to deal properly with gal. * e-gui-utils.c, e-gui-utils.h: Removed all of the functionality that was moved to gal. * e-canvas-utils.c, e-canvas-utils.h, e-canvas-vbox.c, e-canvas-vbox.h, e-canvas.c, e-canvas.h, e-cursors.c, e-cursors.h, e-font.c, e-font.h, e-popup-menu.c, e-popup-menu.h, e-printable.c, e-printable.h, e-unicode.c, e-unicode.h, e-util.c, e-util.h, e-xml-utils.c, e-xml-utils.h: Moved to gal. From filter/ChangeLog: 2000-09-18 Christopher James Lahey <clahey@helixcode.com> * filter-editor.c, filter-filter.c, filter-folder.c, filter-input.c, filter-message-search.c, filter-option.c, filter-rule.c, score-editor.c, vfolder-editor.c, vfolder-rule.c: Fixed the #include lines to deal properly with gal. From mail/ChangeLog: 2000-09-18 Christopher James Lahey <clahey@helixcode.com> * Makefile.am: Added $(EXTRA_GNOME_CFLAGS) and $(EXTRA_GNOME_LIBS). Removed unneeded libraries. * component-factory.c, folder-browser-factory.c, folder-browser.c, mail-callbacks.c, mail-config-gui.c, mail-display.c, mail-display.h, main.c, message-list.c, message-list.h: Fixed the #include lines to deal properly with gal. From po/ChangeLog: 2000-09-18 Christopher James Lahey <clahey@helixcode.com> * POTFILES.in: Removed files that have been moved to gal. From shell/ChangeLog: 2000-09-18 Christopher James Lahey <clahey@helixcode.com> * Makefile.am: Added $(EXTRA_GNOME_CFLAGS) and $(EXTRA_GNOME_LIBS). Removed unneeded libraries. * e-component-registry.c, e-corba-storage-registry.c, e-corba-storage.c, e-folder-type-registry.c, e-folder.c, e-local-folder.c, e-local-storage.c, e-shell-folder-creation-dialog.c, e-shell-folder-selection-dialog.c, e-shell-folder-title-bar.c, e-shell-view.c, e-shell.c, e-shortcuts-view.c, e-shortcuts.c, e-storage-set-view.c, e-storage-set-view.h, e-storage-set.c, e-storage.c, evolution-local-storage.c, evolution-session.c, evolution-shell-client.c, evolution-shell-component-client.c, evolution-shell-component.c, evolution-shell-view.c, evolution-storage-listener.c, evolution-storage.c, main.c: Fixed the #include lines to deal properly with gal. From widgets/meeting-time-sel/ChangeLog: 2000-09-18 Christopher James Lahey <clahey@helixcode.com> * Makefile.am: Added $(EXTRA_GNOME_CFLAGS) and $(EXTRA_GNOME_LIBS). Removed unneeded libraries. * e-meeting-time-sel-list-item.c, e-meeting-time-sel.c, e-meeting-time-sel.h: Fixed the #include lines to deal properly with gal. If you've read this far, you deserve a prize. The first email in my mailbox with the subject "What a commit message!" (and your physical mailing address somewhere in the message) will receive a free Helix Code T-shirt mailed to anywhere within the continental United States. I cannot be held responsible for problems with email systems anywhere. This is supposed to be for fun, so please don't make a fuss if something goes wrong and your mail doesn't reach me. Find my email elsewhere in this message, and if it's been more than a few days, you're probably too late. From widgets/misc/ChangeLog: 2000-09-18 Christopher James Lahey <clahey@helixcode.com> * Makefile.am: Added $(EXTRA_GNOME_CFLAGS) and $(EXTRA_GNOME_LIBS). Removed unneeded libraries. * e-calendar-item.c, e-calendar.c, e-calendar.h, e-title-bar.c: Fixed the #include lines to deal properly with gal. * e-scroll-frame.c, e-scroll-frame.h: Moved to gal. From widgets/shortcut-bar/ChangeLog: 2000-09-18 Christopher James Lahey <clahey@helixcode.com> * Makefile.am: Added $(EXTRA_GNOME_CFLAGS) and $(EXTRA_GNOME_LIBS). Removed unneeded libraries. * e-icon-bar.c, e-icon-bar.h, e-shortcut-bar.c, e-shortcut-model.c, test-shortcut-bar.c: Fixed the #include lines to deal properly with gal. From widgets/ChangeLog: 2000-09-18 Christopher James Lahey <clahey@helixcode.com> * Makefile.am: Removed directories that have been moved to gal. * e-paned/.cvsignore, e-paned/Makefile.am, e-paned/e-hpaned.c, e-paned/e-hpaned.h, e-paned/e-paned.c, e-paned/e-paned.h, e-paned/e-vpaned.c, e-paned/e-vpaned.h: Moved to gal. * e-reflow/.cvsignore, e-reflow/Makefile.am, e-reflow/e-reflow-sorted.c, e-reflow/e-reflow-sorted.h, e-reflow/e-reflow.c, e-reflow/e-reflow.h: Moved to gal. * e-table/.cvsignore, e-table/ChangeLog, e-table/LICENSE, e-table/Makefile.am, e-table/ROADMAP.e-table, e-table/TODO, e-table/add-col.xpm, e-table/arrow-down.xpm, e-table/arrow-up.xpm, e-table/check-empty.xpm, e-table/check-filled.xpm, e-table/clip.png, e-table/e-cell-checkbox.c, e-table/e-cell-checkbox.h, e-table/e-cell-string.c, e-table/e-cell-text.c, e-table/e-cell-text.h, e-table/e-cell-toggle.c, e-table/e-cell-toggle.h, e-table/e-cell-tree.c, e-table/e-cell-tree.h, e-table/e-cell.c, e-table/e-cell.h, e-table/e-table-click-to-add.c, e-table/e-table-click-to-add.h, e-table/e-table-col-dnd.h, e-table/e-table-col.c, e-table/e-table-col.h, e-table/e-table-column-model.h, e-table/e-table-column.c, e-table/e-table-config.c, e-table/e-table-config.glade, e-table/e-table-config.glade.h, e-table/e-table-config.h, e-table/e-table-defines.h, e-table/e-table-example-1.c, e-table/e-table-example-2.c, e-table/e-table-field-chooser-dialog.c, e-table/e-table-field-chooser-dialog.h, e-table/e-table-field-chooser-item.c, e-table/e-table-field-chooser-item.h, e-table/e-table-field-chooser.c, e-table/e-table-field-chooser.glade, e-table/e-table-field-chooser.glade.h, e-table/e-table-field-chooser.h, e-table/e-table-group-container.c, e-table/e-table-group-container.h, e-table/e-table-group-leaf.c, e-table/e-table-group-leaf.h, e-table/e-table-group.c, e-table/e-table-group.glade, e-table/e-table-group.glade.h, e-table/e-table-group.h, e-table/e-table-header-item.c, e-table/e-table-header-item.h, e-table/e-table-header.c, e-table/e-table-header.h, e-table/e-table-item.c, e-table/e-table-item.h, e-table/e-table-model.c, e-table/e-table-model.h, e-table/e-table-one.c, e-table/e-table-one.h, e-table/e-table-scrolled.c, e-table/e-table-scrolled.h, e-table/e-table-selection-model.c, e-table/e-table-selection-model.h, e-table/e-table-simple.c, e-table/e-table-simple.h, e-table/e-table-size-test.c, e-table/e-table-sort-info.c, e-table/e-table-sort-info.h, e-table/e-table-sorted-variable.c, e-table/e-table-sorted-variable.h, e-table/e-table-sorted.c, e-table/e-table-sorted.h, e-table/e-table-sorter.c, e-table/e-table-sorter.h, e-table/e-table-subset-variable.c, e-table/e-table-subset-variable.h, e-table/e-table-subset.c, e-table/e-table-subset.h, e-table/e-table-text-model.c, e-table/e-table-text-model.h, e-table/e-table-tooltip.h, e-table/e-table-tree.h, e-table/e-table.c, e-table/e-table.h, e-table/e-tree-example-1.c, e-table/e-tree-example-2.c, e-table/e-tree-model.c, e-table/e-tree-model.h, e-table/e-tree-simple.c, e-table/e-tree-simple.h, e-table/image1.png, e-table/image2.png, e-table/image3.png, e-table/remove-col.xpm, e-table/sample.table, e-table/table-test.c, e-table/table-test.h, e-table/test-check.c, e-table/test-cols.c, e-table/test-table.c: Moved to gal. * e-text/.cvsignore, e-text/Makefile.am, e-text/e-entry-test.c, e-text/e-entry.c, e-text/e-entry.h, e-text/e-text-event-processor-emacs-like.c, e-text/e-text-event-processor-emacs-like.h, e-text/e-text-event-processor-types.h, e-text/e-text-event-processor.c, e-text/e-text-event-processor.h, e-text/e-text-model.c, e-text/e-text-model.h, e-text/e-text-test.c, e-text/e-text.c, e-text/e-text.h: Moved to gal. i.e., ... changed evolution to work with gal. svn path=/trunk/; revision=5490
* For additional coolness, display the name of the mailing list in theEttore Perazzoli2000-09-121-5/+18
| | | | | | | | right-click menu. Also, make the action box appear in the filter dialog and fix a stupid cut & paste bug that prevented the code from checking for the right headers. svn path=/trunk/; revision=5365
* Grey out the "Filter for Mailing List" item if we cannot figure out aEttore Perazzoli2000-09-121-26/+33
| | | | | | mailing list for the selected message. svn path=/trunk/; revision=5364
* Cool Hack of the Day: right-click menu item to autodetect what mailingEttore Perazzoli2000-09-121-0/+24
| | | | | | | | | | list a message comes from and create the rule for it on the fly. (Many thanks to Joakim for suggesting the way to implement this.) Also, use the new shiny toolbar icons from TigerT and mark some strings for translation. svn path=/trunk/; revision=5362
* Fixed some warnings.Christopher James Lahey2000-09-091-1/+158
| | | | | | | | | | | 2000-09-08 Christopher James Lahey <clahey@helixcode.com> * folder-browser.c, mail-config-gui.c, mail-ops.c: Fixed some warnings. * message-list.c: Added base ETableModel functions. svn path=/trunk/; revision=5268
* set the data to NULL for the tree root, so nuke_uids won't try to freeDan Winship2000-09-071-1/+1
| | | | | | | * message-list.c (clear_tree): set the data to NULL for the tree root, so nuke_uids won't try to free anything. svn path=/trunk/; revision=5222
* Add a use-default-port option to the source editor ; bugfixesPeter Williams2000-09-061-1/+1
| | | | svn path=/trunk/; revision=5208
* Make the `Home' and `End' keys do the Right Thing. Remove circularEttore Perazzoli2000-09-031-0/+46
| | | | | | reference to the shell. Bind "Open in New Window" to `Ctrl-O'. svn path=/trunk/; revision=5181
* Sync the right-click menu with the main menu for modifying messagesPeter Williams2000-08-251-6/+6
| | | | svn path=/trunk/; revision=5018
* Filtering on demand! booyeah!Peter Williams2000-08-181-0/+20
| | | | svn path=/trunk/; revision=4864
* Whole buncha leak fixes thanks to PurifyMatthew Loper2000-08-171-0/+3
| | | | svn path=/trunk/; revision=4862
* Address bugzilla bug #496Peter Williams2000-08-161-1/+7
| | | | svn path=/trunk/; revision=4849
* Add support for copying messagesPeter Williams2000-08-161-0/+1
| | | | svn path=/trunk/; revision=4845
* Don't clear the tree here. If two "folder_changed"s arrive in closeDan Winship2000-08-131-12/+30
| | | | | | | | | | | | | | | | | | | | | * message-list.c (cleanup_regenerate_messagelist): Don't clear the tree here. If two "folder_changed"s arrive in close succession, then one possible ordering of events is cleanup_regenerate_messagelist, cleanup_regenerate_messagelist, cleanup_thread_messages, cleanup_thread_messages. Which would result in the message list being filled in twice without being cleared in between. So don't clear it until the rebuilding function itself is called. (clear_tree): New function to empty out the ETreeModel in the message list. (build_tree): Change to simpler interface. Call clear_tree. (build_subtree): Does most of the work of the old build_tree (build_flat): Remove unused arg. Call clear_tree. * message-thread.c (cleanup_thread_messages): Update for build_tree interface change. svn path=/trunk/; revision=4787
* Fixed a warning.Christopher James Lahey2000-08-121-1/+0
| | | | | | | | 2000-08-11 Christopher James Lahey <clahey@helixcode.com> * mail-format.c, mail-tools.h, message-list.c: Fixed a warning. svn path=/trunk/; revision=4760
* Fix the camel-folder's thaw handler. Implement event forwarding into the ↵Peter Williams2000-08-121-7/+14
| | | | | | main thread. svn path=/trunk/; revision=4744
* If the caller passes "-1" for the model row, translate that to view row 0.Dan Winship2000-08-121-5/+7
| | | | | | | | | | | * message-list.c (message_list_select): If the caller passes "-1" for the model row, translate that to view row 0. * message-list.c (idle_select_row): * mail-callbacks.c (select_first_unread): Use new message_list_select kludge^H^H^H^H^H^Hfeature svn path=/trunk/; revision=4743
* Fixed some warnings.Christopher James Lahey2000-08-111-1/+1
| | | | | | | | | 2000-08-10 Christopher James Lahey <clahey@helixcode.com> * folder-browser-factory.c, message-list.c, message-thread.c, session.c: Fixed some warnings. svn path=/trunk/; revision=4722
* Merge with camel-async.Peter Williams2000-08-111-146/+241
| | | | svn path=/trunk/; revision=4687
* Update for append_message api change.Not Zed2000-08-111-5/+11
| | | | | | | | | | | | | | | 2000-08-10 Not Zed <NotZed@HelixCode.com> * mail-local.c (do_local_reconfigure_folder): Update for append_message api change. * message-list.c (message_list_regenerate): Change for search api change. (ml_tree_value_at): Add a colour column, based on the colour assigned in the summary. (message_list_init_renderers): Init colour column. svn path=/trunk/; revision=4685
* Nicify a little, add in a menu separator between VFolder and Filter stuff.Jeffrey Stedfast2000-08-101-18/+19
| | | | | | | | | 2000-08-09 Jeffrey Stedfast <fejj@helixcode.com> * message-list.c (on_right_click): Nicify a little, add in a menu separator between VFolder and Filter stuff. svn path=/trunk/; revision=4657
* Helper function to add with confirm.Not Zed2000-08-091-2/+57
| | | | | | | | | | 2000-08-09 Not Zed <NotZed@HelixCode.com> * mail-autofilter.c (filter_gui_add_from_message): Helper function to add with confirm. * message-list.c (on_right_click): Added menu to install vfolders/filters from message. svn path=/trunk/; revision=4646
* Fixed some warnings.Christopher James Lahey2000-08-091-1/+1
| | | | | | | | | | | 2000-08-09 Christopher James Lahey <clahey@helixcode.com> * mail-display.c, mail-format.c, mail-ops.c: Fixed some warnings. * message-list.c: Fix the call to e_popup_menu_run to match the new signature. svn path=/trunk/; revision=4634
* Attached a double_click signal handler (on_double_click): Our lovely newJeffrey Stedfast2000-08-091-13/+25
| | | | | | | | | | | 2000-08-09 Jeffrey Stedfast <fejj@helixcode.com> * message-list.c (message_list_init): Attached a double_click signal handler (on_double_click): Our lovely new double_click callback. Will display the current selected message in a new window svn path=/trunk/; revision=4624
* Value for threaded list view is now saved via gnome-config. This means that ↵Jeremy Wise2000-08-091-5/+3
| | | | | | you can FINALLY shut off the threaded view once and for all :) svn path=/trunk/; revision=4621
* New convenience function with params of a normal Gtk callback function. WeJeffrey Stedfast2000-08-091-10/+39
| | | | | | | | | | | | | | | | | | | | 2000-08-08 Jeffrey Stedfast <fejj@helixcode.com> * mail-ops.c (view_msg): New convenience function with params of a normal Gtk callback function. We also now create a new FolderBrowser object so that the message-view window isn't tied to the display in the main window (view_message): Now calls view_msg (this function is a bonobo callback and can't be used with gtk widgets) (edit_msg): Same idea as view_msg() (edit_message): Again, same as view_message() * message-list.c (on_right_click): Callback for creating an e-popup-menu (message_list_init): Added a right_click event to trigger a pop-up menu to be displayed svn path=/trunk/; revision=4619
* Clarify that the input row is a model row, and swap it to a view row whenDan Winship2000-08-081-10/+18
| | | | | | | | | | | | * message-list.c (message_list_select): Clarify that the input row is a model row, and swap it to a view row when finding the next/previous row. (idle_select_row): Select view row 0, not model row 0. * mail-ops.c (select_first_unread): Start from view row 0, not model row 0. svn path=/trunk/; revision=4570
* Fix a possible crash when using the quicksearch by freeing the UIDEttore Perazzoli2000-08-041-3/+7
| | | | | | array correctly. svn path=/trunk/; revision=4525
* Emit "model_pre_change" where appropriate.Christopher James Lahey2000-08-031-0/+2
| | | | | | | | | 2000-08-02 Christopher James Lahey <clahey@helixcode.com> * mail-ops.c, message-list.c: Emit "model_pre_change" where appropriate. svn path=/trunk/; revision=4475
* Fixed some warnings.Christopher James Lahey2000-08-011-0/+8
| | | | | | | | | | 2000-07-31 Christopher James Lahey <clahey@helixcode.com> * component-factory.c, folder-browser.c: Fixed some warnings. * message-list.c: Made the icon column non sortable. svn path=/trunk/; revision=4440
* Removed counting of selected messages.Christopher James Lahey2000-07-271-19/+0
| | | | | | | | | 2000-07-26 Christopher James Lahey <clahey@helixcode.com> * message-list.c, message-list.h: Removed counting of selected messages. svn path=/trunk/; revision=4362
* Update for CamelFolder API changes. (Certain functions no longer take aDan Winship2000-07-251-7/+5
| | | | | | | | | | | | | | * message-list.c (mark_msg_seen, ml_tree_set_value_at, message_list_regenerate): Update for CamelFolder API changes. (Certain functions no longer take a CamelException.) * mail-ops.c (real_fetch_mail, real_send_mail, real_delete_msg): ditto * component-factory.c (real_create_imap_storage, real_create_news_storage): ditto svn path=/trunk/; revision=4305
* Only unref the folder if it's been set.Dan Winship2000-07-141-1/+2
| | | | | | | | | | * message-list.c (message_list_destroy): Only unref the folder if it's been set. * folder-browser.c (folder_browser_destroy): Only sync the folder if it's been set. svn path=/trunk/; revision=4162
* Disable Search capability menu/entry if folder doesn't support it.Jeffrey Stedfast2000-07-121-5/+5
| | | | | | | | | | | | 2000-07-11 Jeffrey Stedfast <fejj@helixcode.com> * folder-browser.c (folder_browser_load_folder): Disable Search capability menu/entry if folder doesn't support it. * message-list.c (message_list_regenerate): Don't perform a search if the folder doesn't support it. svn path=/trunk/; revision=4097
* Update message_list_select_next to do either next or previous.Dan Winship2000-07-111-14/+24
| | | | | | | | | | | | | * message-list.c (message_list_select): Update message_list_select_next to do either next or previous. * folder-browser.c (etable_key): Make 'n' and 'p' do next and previous unread message. * mail-ops.c (select_first_unread): Update. (real_fetch_mail): clean up a bit. svn path=/trunk/; revision=4046
* Switched from ETable to ETableScrolled.Christopher James Lahey2000-07-101-12/+12
| | | | | | | | | 2000-07-10 Christopher James Lahey <clahey@helixcode.com> * message-list.c, message-list.h: Switched from ETable to ETableScrolled. svn path=/trunk/; revision=4034
* Fix a bug in previous commit that could cause infinite loopsDan Winship2000-07-101-3/+1
| | | | svn path=/trunk/; revision=4023
* Don't g_warn if the user selects a fake tree parent.Dan Winship2000-07-101-71/+67
| | | | | | | | | | | | | | | | * message-list.c (get_message_info): Don't g_warn if the user selects a fake tree parent. (message_list_select_next): Ignore fake rows (build_tree): Store the "root_subject" for fake rows (ml_tree_value_at): Display the correct subject for fake rows. (on_cursor_change_cmd): Update for the other changes and set cursor_uid to NULL when the cursor is on a fake row. * mail-ops.c (reply): Don't try to reply when no (real) message is selected. (forward_msg): Ditto. svn path=/trunk/; revision=4021
* Remove setting of dnd_code since that's handled internally to ETable.Christopher James Lahey2000-07-091-3/+0
| | | | | | | | | 2000-07-09 Christopher James Lahey <clahey@helixcode.com> * message-list.c: Remove setting of dnd_code since that's handled internally to ETable. svn path=/trunk/; revision=4014
* Add a "Threaded Message List" item to the "View" menu.Dan Winship2000-07-091-22/+43
| | | | | | | | | | | | | * folder-browser-factory.c (control_activate): Add a "Threaded Message List" item to the "View" menu. * message-list.c (message_list_toggle_threads): Handler for that. (build_flat): New function to build a "flat" message list using the tree model. (message_list_regenerate): Build tree or flat message list depending on the global setting. svn path=/trunk/; revision=3999
* Small fix to stop uid data from being set on a message-list tree node whenJeffrey Stedfast2000-07-091-1/+2
| | | | | | | | | | 2000-07-08 Jeffrey Stedfast <fejj@helixcode.com> * message-list.c (build_tree): Small fix to stop uid data from being set on a message-list tree node when it didn't correspond to an actual message. svn path=/trunk/; revision=3978
* Fix Jeff's FIXME: This does get called with out-of-range data sometimes,Dan Winship2000-07-091-14/+1
| | | | | | | | * message-list.c (get_message_info): Fix Jeff's FIXME: This does get called with out-of-range data sometimes, so we do need the check. Use e_table_model_row_count to get the actual right answer. svn path=/trunk/; revision=3976
* This wasn't quite right, it will now work but still isn't perfect. SeeJeffrey Stedfast2000-07-081-1/+14
| | | | | | | | | 2000-07-07 Jeffrey Stedfast <fejj@helixcode.com> * message-list.c (get_message_info): This wasn't quite right, it will now work but still isn't perfect. See FIXME comment. svn path=/trunk/; revision=3965
* Lots of changes. Store uids as node data on the tree nodes and use thoseDan Winship2000-07-081-423/+125
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * message-list.c: Lots of changes. Store uids as node data on the tree nodes and use those rather than rows where possible. (The concept of "row" is just getting too complicated.) Get rid of the summary_table, because given a uid we can call camel_folder_get_message_info, which makes more sense than keeping a separate uid->row hash table ourselves. (get_message_info): update (get_message_row): removed (ml_col_cound, ml_row_count, ml_value_at, ml_set_value_at, ml_cell_is_editable, ml_duplicate_value, ml_free_value, ml_initialize_value, ml_value_is_empty, ml_value_to_string): Removed. We always use the tree model now. (message_list_init): Remove the non-tree code. (build_tree): store uids in the tree rather than row numbers, and build the message_list->uid_rowmap to map from uids to rows when needed. (message_list_regenerate): Renamed from _set_search, since it's used to redraw in non-search cases too. (message_changed): Use the uid_rowmap to get a model row number. * message-thread.c (thread_messages): Change the interface on this to work with the new MessageList. * folder-browser.c (search_set, folder_browser_clear_search): s/message_list_set_search/message_list_regenerate/ svn path=/trunk/; revision=3960
* Handle a row number of -1 properly.Christopher James Lahey2000-07-081-0/+3
| | | | | | | | | 2000-07-07 Christopher James Lahey <clahey@helixcode.com> * message-list.c (get_message_info): Handle a row number of -1 properly. svn path=/trunk/; revision=3947
* Map tree model row numbers to summary row numbers. (ml_tree_value_at,Dan Winship2000-07-071-7/+11
| | | | | | | | | * message-list.c (get_message_info): Map tree model row numbers to summary row numbers. (ml_tree_value_at, ml_tree_set_value_at, ml_tree_is_cell_editable): So don't do that here. svn path=/trunk/; revision=3938
* fix warnings.Dan Winship2000-07-071-0/+1
| | | | | | | * folder-browser-factory.c, folder-browser.c, mail-ops.c, message-list.c: fix warnings. svn path=/trunk/; revision=3931
* New function to select the first message on or after the given row thatDan Winship2000-07-071-0/+31
| | | | | | | | | | | | | | | | | * message-list.c (message_list_select_next): New function to select the first message on or after the given row that meets certain flag criteria. * folder-browser.c (etable_key): call message_list_select_next to select next non-deleted message after Delete. * mail-ops.c (real_fetch_mail): call message_list_select_next to select first unread message in current folder if it changes. (real_delete_msg): Remove the code to move the etable cursor. It only makes sense really if you deleted the message with the keyboard, so do it from there. svn path=/trunk/; revision=3927
* Well, delete, expunge, appear broken, it sorts (initially) at least now.Michael Zucci2000-07-061-3/+9
| | | | | | | | | | | | * message-thread.c (sort_thread): sort messages based on date for the initial sort order. (thread_messages_free): Implement. (message_list_init): set the root node invisible afterall. (message_list_set_search): Clear the old tree before putting in a new one. svn path=/trunk/; revision=3922
* Setup the subject renderer to a tree in tree mode. (on_cursor_change_cmd):Not Zed2000-07-061-22/+143
| | | | | | | | | | | | | | | | | | | | | | 2000-07-06 Not Zed <NotZed@HelixCode.com> * message-list.c (message_list_init_header): Setup the subject renderer to a tree in tree mode. (on_cursor_change_cmd): For a tree model, map the view row to the data row. (build_tree): Builds the tree data structure of all messages. (message_list_set_search): For a tree model, build the tree here. (ml_tree_icon_at): Icon callback, returns nothing. (ml_tree_value_at): (ml_tree_set_value_at): (ml_tree_is_cell_editable): Maps tree node to data row, and calls the equivalent table callback (message_list_init_renderers): Setup the tree renderer if needed. * message-list.h: Add a tree renderer to render list, and tree_view indicator. svn path=/trunk/; revision=3921
* call mail_display_set_message with NULL if the message we tried to selectDan Winship2000-07-041-7/+6
| | | | | | | | | | | | * message-list.c (select_msg): call mail_display_set_message with NULL if the message we tried to select doesn't exist (probably meaning we tried to selecte the first message and the folder is empty.) * mail-display.c (mail_display_set_message): deal with NULL as an input (meaning "undisplay previous message and display nothing"). svn path=/trunk/; revision=3879
* Updated to reflect camel-folder changes.Jeffrey Stedfast2000-07-011-4/+3
| | | | | | | | | | | | 2000-07-01 Jeffrey Stedfast <fejj@helixcode.com> * message-list.c (get_message_info): (select_msg): Updated to reflect camel-folder changes. * mail-ops.c (real_fetch_mail): Modified to reflect camel-folder changes. svn path=/trunk/; revision=3844
* New function, a wrapper around e_table_selected_row_foreach, which callsDan Winship2000-07-011-1/+35
| | | | | | | | | | | | | | | | | | | | | * message-list.c (message_list_foreach): New function, a wrapper around e_table_selected_row_foreach, which calls the callback function with UIDs rather than row numbers. * folder-browser-factory.c: Remove never-used "Find" button from the toolbar and replace it with "Refile". (We need a better icon for this...). Hook up "Refile" to "refile_msg". * mail-ops.c (refile_msg): Call the shell's user_select_folder routine, and then use message_list_foreach and real_refile_msg to do the work. (delete_msg): Update to use message_list_foreach. * folder-browser.c (mail_uri_to_folder): new function, extracted from folder_browser_load_folder, to turn a URI into a folder. (folder_browser_load_folder): Use it. svn path=/trunk/; revision=3833
* use the ETable row_selection signal to track how many rows are selected.Dan Winship2000-07-011-9/+25
| | | | | | | | | | | | | | | * message-list.c (on_row_selection): use the ETable row_selection signal to track how many rows are selected. Eventually we will use this info to disable toolbar buttons when you have too few/too many messages selected, but the current toolbar widget doesn't allow that. * message-list.h, message-list.c, mail-ops.c: Change selected_row and selected_uid fields of MessageList to cursor_row and cursor_uid to be more correct according to the new ETable interfaces. svn path=/trunk/; revision=3829
* From mail:Christopher James Lahey2000-06-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-06-29 Christopher James Lahey <clahey@helixcode.com> * message-list.c, mail-ops.c: Changed the name of e_table_select_row to e_table_set_cursor_row. From widgets/e-table: 2000-06-29 Christopher James Lahey <clahey@helixcode.com> * e-table-click-to-add.c: Made this appear a bit better. * e-table-defines.h: Cleaned this up a bit, added ETableForeachFunc. * e-table-group-container.c, e-table-group-leaf.c, e-table-group.c, e-table-group.h, e-table-item.c, e-table-item.h, e-table.c, e-table.h: Changed e_table_select_row to e_table_set_cursor_row. Changed e_table_get_selected_view_row to e_table_get_cursor_row. Added e_table_selected_row_foreach. * e-table-header-item.c: Fixed some warnings. * e-table-sorted-variable.c: Removed some unneeded debugging print statments. * e-tree-example-1.c: Changed e_table_get_selected_view_row to e_table_get_cursor_row. svn path=/trunk/; revision=3799
* Fixes brought to us by PurifyMatthew Loper2000-06-291-0/+3
| | | | svn path=/trunk/; revision=3792
* make this compile.Dan Winship2000-06-291-1/+1
| | | | svn path=/trunk/; revision=3780
* Add debugging messagesDan Winship2000-06-291-2/+6
| | | | svn path=/trunk/; revision=3779
* message-list.c: added prototype for filter_date()Jeffrey Stedfast2000-06-281-7/+3
| | | | svn path=/trunk/; revision=3772
* Made dates display grouping information properly.Christopher James Lahey2000-06-281-1/+2
| | | | | | | | | 2000-06-27 Christopher James Lahey <clahey@helixcode.com> * message-list.c: Made dates display grouping information properly. svn path=/trunk/; revision=3765
* Little teeny fixesPeter Williams2000-06-281-1/+1
| | | | svn path=/trunk/; revision=3764
* Solaris compatibility config check + implementation (ctime_r arguments)Peter Williams2000-06-271-3/+6
| | | | svn path=/trunk/; revision=3754
* Work around mismatched ctime_r functions. This will be fixed.Christopher James Lahey2000-06-271-1/+3
| | | | | | | | | 2000-06-27 Christopher James Lahey <clahey@helixcode.com> * message-list.c: Work around mismatched ctime_r functions. This will be fixed. svn path=/trunk/; revision=3753
* Calculate height including if clip_height is set to -1.Christopher James Lahey2000-06-271-0/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-06-26 Christopher James Lahey <clahey@helixcode.com> * widgets/e-text/e-text.c: Calculate height including if clip_height is set to -1. From addressbook/ChangeLog: 2000-06-26 Christopher James Lahey <clahey@helixcode.com> * contact-editor/e-contact-editor-categories.c, addressbook/gui/component/e-cardlist-model.c: Added value_to_string handlers. * demo/addressbook-widget.c, demo/demo.c: Removed usage of "x" and "y" arguments. * addressbook/gui/component/addressbook.c: Activated Click To Add and set the click to add message. * addressbook/gui/component/e-addressbook-model.c: Added value_to_string and append_row handlers. * addressbook/gui/component/e-select-names.c: Added a column. From calendar/ChangeLog: 2000-06-26 Christopher James Lahey <clahey@helixcode.com> * gui/calendar-model.c: Added an #ifdefed value_to_string handler assignment. From camel/ChangeLog: 2000-06-26 Christopher James Lahey <clahey@helixcode.com> * providers/mbox/camel-mbox-summary.c: Added debugging information. From composer/ChangeLog: 2000-06-26 Christopher James Lahey <clahey@helixcode.com> * Makefile.am: Added e-msg-composer-select-file.h for make distcheck. From e-util/ChangeLog: 2000-06-26 Christopher James Lahey <clahey@helixcode.com> * Makefile.am: Added e-canvas-vbox.c and e-canvas-vbox.h. * e-canvas-vbox.c, e-canvas-vbox.h: New canvas object to act like a vbox using the reflow system. From mail/ChangeLog: 2000-06-26 Christopher James Lahey <clahey@helixcode.com> * message-list.c: Added a value_to_string handler. From shell/ChangeLog: 2000-06-26 Christopher James Lahey <clahey@helixcode.com> * glade/Makefile.am: Added EXTRA_DIST for make distcheck. From widgets/e-table/ChangeLog: 2000-06-26 Christopher James Lahey <clahey@helixcode.com> * Makefile.am: Added e-table-click-to-add.c, e-table-click-to-add.h, e-table-one.c, and e-table-one.h. * e-table-click-to-add.c, e-table-click-to-add.h: A new canvas item that represents a single row that sometimes exists. It's for adding new rows to your table. * e-table-example-1.c, e-table-example-2.c, e-table-size-test.c, test-check.c, test-cols.c, test-table.c: Added value_to_string handlers. * e-table-group-container.c: Use value_to_string to make grouping not crash for non string columns. Made some changes to work properly in an ECanvasVbox. * e-table-group-leaf.c, e-table-item.c: Made some changes to work properly in an ECanvasVbox. * e-table-model.c, e-table-model.h: Added append_row and value_to_string methods. * e-table-one.c, e-table-one.h: Given a source ETableModel, this provides a single row model that uses the initialize_value, duplicate_value, free_value, and value_is_empty methods of the original source to implement set_value and value_at (and proxies most of the other methods.) This is used for ETableClickToAdd. * e-table-simple.c, e-table-simple.h: Added append_row and value_to_string handlers. append_row uses a GtkArg instead of a parameter to e_table_simple_new. * e-table-subset.c: Added append_row and value_to_string handlers. * e-table.c, e-table.h: Use a vbox containing an ETableClickToAdd and an ETableItem instead of an ETableItem directly. Only show the ETableClickToAdd if the top level of the xml SPEC has the attribute click-to-add set to some non-zero integer. (click-to-add="1"). Add a "click_to_add_message" argument. * e-tree-model.c: Add a commented out value_to_string handler. From widgets/meeting-time-sel/ChangeLog: 2000-06-26 Christopher James Lahey <clahey@helixcode.com> * Makefile.am: Added the include path to top_srcdir. svn path=/trunk/; revision=3744
* Changed ml_value_at to return "" instead of NULL in some cases.Christopher James Lahey2000-06-231-4/+24
| | | | | | | | | 2000-06-22 Christopher James Lahey <clahey@helixcode.com> * message-list.c: Changed ml_value_at to return "" instead of NULL in some cases. svn path=/trunk/; revision=3697
* Removed an erroneous comment.Christopher James Lahey2000-06-221-5/+0
| | | | | | | | 2000-06-21 Christopher James Lahey <clahey@helixcode.com> * message-list.c: Removed an erroneous comment. svn path=/trunk/; revision=3687
* Update received date to work like sent date.Dan Winship2000-06-221-26/+26
| | | | | | * message-list.c: Update received date to work like sent date. svn path=/trunk/; revision=3678
* Quick hack to prevent a NULL pointer dereference. Things need to beDan Winship2000-06-211-0/+3
| | | | | | | | * message-list.c (mark_msg_seen): Quick hack to prevent a NULL pointer dereference. Things need to be cleaned up a bit more here though. svn path=/trunk/; revision=3653
* Prevent double-freeing action on summary_table and uid_rowmap.Dan Winship2000-06-181-5/+0
| | | | | | | * message-list.c (message_list_set_folder): Prevent double-freeing action on summary_table and uid_rowmap. svn path=/trunk/; revision=3615
* Implement clicking on the envelope icon to set read/unread. Based on aDan Winship2000-06-171-8/+31
| | | | | | | | | | * message-list.c (ml_set_value_at): Implement clicking on the envelope icon to set read/unread. Based on a patch by clahey. (select_msg): keep the timeout id for the "seen" flagging in the message_list structure, so ml_set_value_at can clear it so it doesn't re-mark a message seen after you click it unseen. svn path=/trunk/; revision=3601
* new function to do a uid to row mapping. (mark_msg_seen, select_msg,Dan Winship2000-06-171-26/+79
| | | | | | | | | | | | | | | | | | * message-list.c (get_message_row): new function to do a uid to row mapping. (mark_msg_seen, select_msg, message_changed, message_list_set_folder): Update for Camel flag changes. (on_cursor_change_cmd): Rename "row_to_select" to "selected_row", and keep a "selected_uid" as well. * mail-ops.c (composer_send_cb): Update for Camel flag changes, and fix some memory-handling bugs. (Free the post_send_data when the composer is destroyed, not when the user clicks "send", which could happen never, or more than once.) (delete_msg): Update for Camel flag changes, and fix the "holding down the delete key skips some messages" bug. svn path=/trunk/; revision=3600
* Update for CamelFolder changes.Dan Winship2000-06-161-7/+0
| | | | | | | | | * mail-ops.c (fetch_mail): * component-factory.c (owner_unset_cb): * message-list.c (message_list_set_folder): Update for CamelFolder changes. svn path=/trunk/; revision=3583
* Removed the ETableModel thaw handler.Federico Mena Quintero2000-06-131-7/+1
| | | | | | | | 2000-06-12 Federico Mena Quintero <federico@helixcode.com> * message-list.c: Removed the ETableModel thaw handler. svn path=/trunk/; revision=3542
* install an idle function to select the row rather than doing it directly.Dan Winship2000-06-101-8/+13
| | | | | | | | * message-list.c (select_row): install an idle function to select the row rather than doing it directly. Ugh. What a kludge, but at least it works now. svn path=/trunk/; revision=3498
* Update for folder creation/existence changes.Dan Winship2000-06-071-23/+0
| | | | | | | | | | | | * mail-ops.c (fetch_mail): * folder-browser.c (folder_browser_load_folder): Update for folder creation/existence changes. * message-list.c (message_list_set_folder): Remove the code to create the folder if it doesn't exist, since we don't want to do that. svn path=/trunk/; revision=3455
* If the date in the summary is 0, output "?".Dan Winship2000-06-031-0/+3
| | | | | | | * message-list.c (filter_date): If the date in the summary is 0, output "?". svn path=/trunk/; revision=3400
* Use camel_folder_free_summary instead of g_ptr_array_free. Unref theChristopher James Lahey2000-06-031-4/+6
| | | | | | | | | 2000-06-02 Christopher James Lahey <clahey@helixcode.com> * message-list.c: Use camel_folder_free_summary instead of g_ptr_array_free. Unref the folder when we're done with it. svn path=/trunk/; revision=3389
* Made sent column as wide as from column.Christopher James Lahey2000-06-021-1/+1
| | | | | | | | 2000-06-02 Christopher James Lahey <clahey@helixcode.com> * message-list.c: Made sent column as wide as from column. svn path=/trunk/; revision=3373
* Add a date column. (COL_SENT_WIDTH_MIN): Make this wider. (ml_value_at):Dan Winship2000-06-021-16/+40
| | | | | | | | | | | | | | * message-list.c: Add a date column. (COL_SENT_WIDTH_MIN): Make this wider. (ml_value_at): return the sent date (as a time_t) for COL_SENT. (Fix COL_TO too while I'm here.) (ml_duplicate_value, ml_free_value, ml_initialize_value, ml_value_is_empty): COL_SENT is numeric now. (message_list_init_renderers): Create a date renderer (using text_filter to translate the time_t into a string). (message_list_init_header): Use render_date for COL_SENT. svn path=/trunk/; revision=3365
* Turn off the grid in our ETable.Christopher James Lahey2000-06-021-0/+1
| | | | | | | | | 2000-06-01 Christopher James Lahey <clahey@helixcode.com> * message-list.c (message_list_init): Turn off the grid in our ETable. svn path=/trunk/; revision=3349
* Fix up memory management of x-evolution-data URLs so the URLs and/or theirDan Winship2000-06-011-2/+2
| | | | | | | | | | | | | * mail-format.c (free_url, handle_text_enriched, get_url_for_icon): Fix up memory management of x-evolution-data URLs so the URLs and/or their data don't get freed while there are still references to them. * message-list.c (message_list_init_header): redo the (unused) online status column to no longer refer to pixmaps that no longer exist. svn path=/trunk/; revision=3320
* oops. use the seen and unseen icons to represent the right things. :)Dan Winship2000-05-311-2/+2
| | | | svn path=/trunk/; revision=3296
* use the "new" tigert pixmaps rather than the older ones. Includes aDan Winship2000-05-311-27/+22
| | | | | | | | | * message-list.c: use the "new" tigert pixmaps rather than the older ones. Includes a "replied to" icon (which is used now), but no "deleted" icon (although we have the strikeout renderer for that now). svn path=/trunk/; revision=3295