aboutsummaryrefslogtreecommitdiffstats
path: root/mail/folder-browser-ui.c
Commit message (Collapse)AuthorAgeFilesLines
* Add HAS_FLAGS to a few miscellaneous commands that don't use IS_xMESSAGE.Peter Williams2002-08-301-3/+3
| | | | | | | | | 2002-08-29 Peter Williams <peterw@ximian.com> * folder-browser-ui.c: Add HAS_FLAGS to a few miscellaneous commands that don't use IS_xMESSAGE. svn path=/trunk/; revision=17922
* Add some new flags for sensitizing nodes based on the flags of thePeter Williams2002-08-291-17/+106
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2002-08-28 Peter Williams <peterw@ximian.com> * folder-browser-ui.c (default_ui_nodes): Add some new flags for sensitizing nodes based on the flags of the currently selected messages. (folder_browser_ui_add_message): Reset the sensitivity cache when we re-add UI items. (folder_browser_ui_add_list): Same. (folder_browser_ui_add_global): Same. (fbui_sensitise_item): Only cache the sensitivity in the hash table if we actually change it. (folder_browser_ui_scan_selection): New function, getting the bulk of the contents of folder_browser_ui_set_selection_state. Now with code to iterate over the currently selected messages and check their flags so we can sensitize based on them. (folder_browser_ui_set_selection_state): Now just set the selection state if necessary and pass off to _scan_selection. Don't skip of we're trying to go from SELSTATE_SINGLE to SELSTATE_SINGLE, eg, as the flags of the selected messages may have changed. * folder-browser-ui.h: Prototype folder_browser_ui_scan_selection. * folder-browser.c (main_folder_changed): Call folder_browser_ui_scan_selection as the flags on a selected message may have just changed. svn path=/trunk/; revision=17893
* guard against the view_instance disappearing during earlier CORBA work.Mike Kestner2002-08-211-0/+5
| | | | | | | | | 2002-08-20 Mike Kestner <mkestner@ximian.com> * folder-browser-ui.c (folder_browser_ui_setup_view_menus): guard against the view_instance disappearing during earlier CORBA work. svn path=/trunk/; revision=17825
* Force a refresh of the menu sensitivity when the thread state changes.Not Zed2002-08-081-59/+73
| | | | | | | | | | | | | | | | | 2002-08-08 Not Zed <NotZed@Ximian.com> * folder-browser.c (folder_browser_toggle_threads): Force a refresh of the menu sensitivity when the thread state changes. 2002-08-07 Not Zed <NotZed@Ximian.com> * folder-browser-ui.c: Added EditSelectThread to only enable threaded mode if threaded is on. For #19941. Added some macro's to simplify the table. (folder_browser_ui_set_selection_state): Implement IS_THREADED mask. svn path=/trunk/; revision=17738
* Set the week start day from the calendar prefs, do same for 24 hourNot Zed2002-08-071-3/+3
| | | | | | | | | 2002-08-07 Not Zed <NotZed@Ximian.com> * message-tag-followup.c (target_date_new): Set the week start day from the calendar prefs, do same for 24 hour format. See #23423. svn path=/trunk/; revision=17728
* Use mail_tools_folder_to_url().Jeffrey Stedfast2002-07-261-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2002-07-24 Jeffrey Stedfast <fejj@ximian.com> * mail-config.c (mail_config_folder_to_safe_url): Use mail_tools_folder_to_url(). * mail-tools.c (mail_tools_folder_to_url): New convenience function to take a CamelFolder and return the URL associated with it. * mail-callbacks.c (composer_get_message): Pass in a 'post' argument so we know whether or not we can ignore a NULL set of recipients. (composer_send_cb): Default send->send to TRUE unless we are in Post-To mode, in which case set send->send to FALSE (since we'll have nothing to send). Also, if we are in Post-To mode, append to the folder the user wants to post to rather than appending to Outbox. (composer_send_queued_cb): Only queue a send thread if send->send is TRUE (ie, the composer was not in Post mode - if it was in Post mode, then the message post has already been saved in the correct folder so there is nothing to do). (post_message): New function to create an empty composer widget in Post mode. (post_reply): New function that calls mail_reply with the new mode of REPLY_POST. (mail_generate_reply): If the mode is REPLY_POST, create a Post composer widget otherwise create a normal composer widget. svn path=/trunk/; revision=17592
* Modified to use a single list of UI node elements with an enable-maskJeffrey Stedfast2002-07-111-226/+196
| | | | | | | | | | | 2002-07-10 Jeffrey Stedfast <fejj@ximian.com> * folder-browser-ui.c: Modified to use a single list of UI node elements with an enable-mask rather than split into groups. This allows much more control and easier modification to get the desired enable/disable effects. svn path=/trunk/; revision=17414
* Set the title of our GalViewCollection.Christopher James Lahey2002-06-041-0/+2
| | | | | | | | | 2002-06-04 Christopher James Lahey <clahey@ximian.com> * folder-browser-ui.c (folder_browser_ui_setup_view_menus): Set the title of our GalViewCollection. svn path=/trunk/; revision=17104
* Also check folder!=NULL. Fixes race where folder isn't setup yet, andNot Zed2002-05-011-1/+0
| | | | | | | | | | | 2002-05-01 Not Zed <NotZed@Ximian.com> * folder-browser.h (FOLDER_BROWSER_IS_DESTROYED): Also check folder!=NULL. Fixes race where folder isn't setup yet, and neither is bonobo menu status (because its delayed), and we get a menu event before we're setup yet. For bug #21939. svn path=/trunk/; revision=16653
* Removed an unused pixmap from Tools/Settings to avoid a big nasty bonoboJeffrey Stedfast2002-04-021-1/+0
| | | | | | | | | 2002-04-01 Jeffrey Stedfast <fejj@ximian.com> * folder-browser-ui.c: Removed an unused pixmap from Tools/Settings to avoid a big nasty bonobo warning. svn path=/trunk/; revision=16318
* Sync with yet-another-mail-config branch.Jeffrey Stedfast2002-03-271-1/+0
| | | | | | | | | | | | | | | | | | 2002-03-26 Jeffrey Stedfast <fejj@ximian.com> Sync with yet-another-mail-config branch. * mail-composer-prefs.c: Updated to get the right widgets and whatnot. Also updated to tell the evolution-config-control that stuff has changed. * mail-preferences.c: Updated to get the right widgets and whatnot. Also updated to tell the evolution-config-control that stuff has changed. * mail-accounts.etspec: New file needed by mail-accounts.c svn path=/trunk/; revision=16257
* Move the ComponentActionsPlaceholder into the Actions menu, instead of theEttore Perazzoli2002-03-211-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * evolution.xml: Move the ComponentActionsPlaceholder into the Actions menu, instead of the Actions menu being in the ComponentActionsPlaceholder. * evolution-addressbook.xml: Updated accordingly. * evolution-calendar.xml: Updated accordingly. * evolution-mail-global.xml: Updated accordingly. * evolution-mail-list.xml: Updated accordingly. * evolution-mail-message.xml: Updated accordingly. * evolution-mail-messagedisplay.xml: Updated accordingly. * evolution-tasks.xml: Updated accordingly. * evolution.xml: Add "SendReceive" verb, menu item and toolbar button. * evolution-mail-global.xml: Remove "MailGetSend" verb and menu item. * e-shell-view-menu.c (command_send_receive): New, implementation for the "SendReceive" verb. * e-shell.c (e_shell_send_receive): New. * evolution-shell-component.c (impl_sendReceive): Implementation of ShellComponent::sendReceive. (class_init): Add the "send_receive" signal. * evolution-shell-component.h: Added `send_receive' signal. * Evolution-ShellComponent.idl: Added ShellComponent::sendReceive. * component-factory.c (send_receive_cb): New, callback for the "send_receive" signal on the EvolutionShellComponent. (create_component): Connect. * folder-browser-ui.c: Remove verb "MailGetSend". * mail-callbacks.c (send_receive_mail): Removed. * mail-send-recv.c: Remove member current_folder from struct _send_data. (free_send_data): No need to unref here. (build_dialogue): Removed arg @current_folder. (mail_send_receive): Likewise. svn path=/trunk/; revision=16220
* Implemented.Jeffrey Stedfast2002-03-151-1/+1
| | | | | | | | | | | 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
* Don't try to set pixmap for /Toolbar/MailCompose, since it doesn't existDan Winship2002-03-061-1/+0
| | | | | | | * folder-browser-ui.c: Don't try to set pixmap for /Toolbar/MailCompose, since it doesn't exist any more. svn path=/trunk/; revision=15935
* Connect to the focus-in/out events on the message-list so that we canJeffrey Stedfast2002-03-051-1/+23
| | | | | | | | | | | | | | | | | | | | | | | 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
* Set the followup icon to use the new flag icon rather than the exclamationJeffrey Stedfast2002-02-141-1/+1
| | | | | | | | | | | | | | | | | | | 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
* Fixed a bug.Jeffrey Stedfast2002-02-131-5/+9
| | | | | | | | | | | | | | | | | | | | | 2002-02-12 Jeffrey Stedfast <fejj@ximian.com> * message-tag-followup.c (set_widget_values): Fixed a bug. * mail-callbacks.c (flag_for_followup): If only 1 message is selected and it happens to already be marked for follow-up, set the value of the flag on the editor so the settings are restored. * folder-browser-ui.c: Set the pixmaps on MarkAsRead, MarkAsUnread and MarkAsImportant bonobo verbs. Also connect to flag-for-followup verb. (folder_browser_ui_set_selection_state): Added MessageFollowUpFlag verb to the array of verb strings. * folder-browser.c: Set key accelerators on the follow-up right-click menu items to match Outlook. svn path=/trunk/; revision=15702
* Bumped the required version of gal.Christopher James Lahey2002-02-071-34/+85
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* New function that implements the Redirect feature.Jeffrey Stedfast2002-01-301-1/+3
| | | | | | | | | | | | | | | | | | | | 2002-01-29 Jeffrey Stedfast <fejj@ximian.com> * mail-callbacks.c (redirect): New function that implements the Redirect feature. * mail-ops.c (mail_send_message): If we are redirecting a message, get the Resent-* recipients otherwise get the normal To/Cc/Bcc recipients and use them in the CamelTransport::send_to() method. * mail-session.c (main_get_filter_driver): Set the beep_func to the beep_cb, not the play_sound_func. Oops ;-) * folder-browser-ui.c: Add Redirect bonobo verb thingy here. (folder_browser_ui_set_selection_state): Add MessageRedirect to the proper string arrays. svn path=/trunk/; revision=15511
* Add ETable magic for our new "Needs Reply" column. (The next few entriesJon Trowbridge2001-12-121-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* ack, forgot about this piece of the patchJeffrey Stedfast2001-12-071-1/+1
| | | | svn path=/trunk/; revision=14916
* Setup the UI for the AddSenderToAddressbook ui verb thingy.Jeffrey Stedfast2001-12-071-0/+1
| | | | | | | | | | | | 2001-12-03 Jeffrey Stedfast <fejj@ximian.com> * folder-browser-ui.c: Setup the UI for the AddSenderToAddressbook ui verb thingy. * mail-callbacks.c (add_sender_to_addrbook): New bonobo-ui callback that adds a sender to the addressbook. svn path=/trunk/; revision=14905
* Allow 'n' and 'p' to work when multiple messages are selected. FixesJon Trowbridge2001-12-051-6/+3
| | | | | | | | | | 2001-12-04 Jon Trowbridge <trow@ximian.com> * folder-browser-ui.c (folder_browser_ui_set_selection_state): Allow 'n' and 'p' to work when multiple messages are selected. Fixes #12062. svn path=/trunk/; revision=14874
* merged from evoution-1-0-branchNot Zed2001-11-281-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-11-25 Not Zed <NotZed@Ximian.com> * mail-config.c (config_read): Enable news accounts that exist always, since no gui for it. 2001-11-20 Jeffrey Stedfast <fejj@ximian.com> * message-list.c (message_list_select): 'n' shouldn't wrap if 'p' doesn't. * mail-format.c (format_mime_part): Make sure the mime-type is non-NULL before passing it off to mail_lookup_handler(). 2001-11-20 Not Zed <NotZed@Ximian.com> * folder-browser-ui.c: Disable search if no message loaded/viewed. Also for #14348. * folder-browser.c: Disable "Add sender to addressbook" if we dont have a message loaded (it wont work). For #14348. 2001-11-20 Jeffrey Stedfast <fejj@ximian.com> * mail-display.c (load_content_loaded): Make sure the mail-display object is still "alive" before accessing any of it's data. svn path=/trunk/; revision=14796
* Disconnect from the message_list_built function so we dont do it every22001-11-031-5/+12
| | | | | | | | | | | | | | | | | | | | | | | 2001-11-02 <NotZed@Ximian.com> * message-browser.c (message_browser_message_list_built): Disconnect from the message_list_built function so we dont do it every time the list is rebuilt. * mail-callbacks.c (composer_send_cb): Disable autosave when we're sending mail. (composer_sent_cb): Re-enable autosave. * folder-browser-ui.c (fbui_sensitize_timeout): Make sure we reset any data we're using on the folderbrowser before doing anything 'cause things could vanish while we're doing it, and also ref/unref the folderbrowser so it doesn't vanish while w'ere working. * folder-browser.c (folder_browser_set_ui_component): If we are changing the ui comp, remove any pending timeouts. For #13719. svn path=/trunk/; revision=14575
* Argh!!! Dont free the async op data here, the async op is still running02001-10-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Remove uic, kill dumb warning.82001-10-281-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | 2001-10-28 <NotZed@Ximian.com> * folder-browser-ui.c (fbui_sensitize_timeout): Remove uic, kill dumb warning. * mail-autofilter.c (mail_filter_rename_uri): Implement function for filters to keep track of uri's being renamed. (mail_filter_delete_uri): Similarly for deleting uri's. Note that these functions are just noops though. (real_flush_updates): Also rename and delete uri's from filters. (mls_delete_folder): Unref the store when done. (mls_rename_folder): Fix implementation, shell already created destination folder, so we can't just rename :( (xfer_folder): Manually call rename code, since the shell will do a remove/add later on, AND there's no way we can determine the new path from the crock of an api we have to work with. svn path=/trunk/; revision=14291
* So apparently the uicomp can just 'vanish' while we're using it. Joy. Take52001-10-261-13/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Same.42001-10-251-4/+4
| | | | | | | | | | | | 2001-10-24 <NotZed@Ximian.com> * folder-browser-ui.c (ui_add): (fbui_sensitize_timeout): Same. * folder-browser-factory.c (control_activate): Comment out freeze/thaw. (control_deactivate): svn path=/trunk/; revision=13990
* all this crap just to make the print icon desensitive at the right time.42001-10-241-43/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | fix for #10346 2001-10-24 <NotZed@Ximian.com> * message-browser.c (message_browser_message_loaded): Call ui_message_loaded when we are. * folder-browser-factory.c (control_activate): Freeze/thaw around all updates. (control_deactivate): Freeze/thaw around all updates. * folder-browser.c (folder_browser_init): Setup a hashtable to keep track of *our* sensitise state, so we can optimise pushes to bonobo. (folder_browser_finalise): Free hash here. (folder_browser_set_message_preview): Call a ui_message_loaded, even though it isn't, so it updates sensitivities right. (done_message_selected): Call ui_message_loaded when it really is, rather than the very fucked up idea of reversing the loaded_uid check. * folder-browser-ui.c (folder_browser_ui_set_selection_state): Dont enable the message-enabled options if the message display is hidden, e.g. print, view headers, etc. (folder_browser_ui_rm_all): Forget sensitise state. (fbui_sensitise_item): Sensitise items via a current-state table, so we dont have to do bonobo calls every time. (folder_browser_setup_property_menu): Call sensitise_item. (folder_browser_ui_add_message): (folder_browser_ui_add_global): Leave current set_prop "sensitive" for the stop button, so it doesn't get lost by the stuff in mail-mt.c (fbui_real_sensitize_items): Removed. (fbui_sensitize_timeout): Cleaned up, use sensitise_item to do work. (folder_browser_ui_message_loaded): Setup sensitive based on preview_shown too. (folder_browser_ui_set_selection_state): And here too. svn path=/trunk/; revision=13972
* hook up zoom functions.Larry Ewing2001-10-211-1/+3
| | | | | | | | | | | | | | 2001-10-20 Larry Ewing <lewing@ximian.com> * folder-browser-ui.c: hook up zoom functions. * mail-callbacks.h: add prototypes. * mail-callbacks.c (zoom_in): added. (zoom_out): added. (zoom_reset): added. svn path=/trunk/; revision=13832
* Create a chaqrset picker submenu in the View menu.Jeffrey Stedfast2001-10-101-12/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-10-09 Jeffrey Stedfast <fejj@ximian.com> * folder-browser-ui.c (folder_browser_ui_add_message): Create a chaqrset picker submenu in the View menu. * mail-format.c (mail_format_raw_message): Pass the mail-display to get_data_wrapper_text. (get_data_wrapper_text): Use the user's override charset if one is provided, otherwise user the user's default charset. (handle_text_plain): Pass along the mail-display to get_data_wrapper_text. (handle_application_pgp): Same. (handle_text_enriched): Here too. (mail_get_message_body): Pass NULL as the mail-display to get_data_wrapper_text since we don't have access to a mail-display. * mail-display.c (mail_display_set_charset): New function to set a charset on the maildisplay. Once set, the message is redisplayed using the new charset. (mail_display_destroy): Free the charset. * folder-browser.c (folder_browser_charset_changed): New callback for when a user overrides the message charset. svn path=/trunk/; revision=13530
* Update for folder_flags.Dan Winship2001-10-091-2/+1
| | | | | | | | | | | | | | | | * mail-local.c (mlf_set_folder, mlf_unset_folder): Update for folder_flags. * folder-browser-ui.c (folder_browser_ui_add_list): Check CAMEL_FOLDER_IS_TRASH flag rather than checking CAMEL_IS_VTRASH_FOLDER. * folder-browser.c (folder_browser_toggle_hide_deleted): Likewise * message-list.c (message_list_set_folder): Likewise. (message_list_set_hidedeleted): Remove redundant trash check. svn path=/trunk/; revision=13510
* Do a better job of setting up the name. Also de-sensitise when we can't42001-10-051-2/+18
| | | | | | | | | | 2001-10-04 <NotZed@Ximian.com> * folder-browser-ui.c (folder_browser_setup_property_menu): Do a better job of setting up the name. Also de-sensitise when we can't configure the folder. svn path=/trunk/; revision=13427
* wrap a bonobo_ui_component_freeze/thaw around all of the set_props so theyDan Winship2001-09-291-0/+4
| | | | | | | | * folder-browser-ui.c (fbui_sensitize_timeout): wrap a bonobo_ui_component_freeze/thaw around all of the set_props so they all update at once. svn path=/trunk/; revision=13245
* Call folder_browser_toggle_threads() here after setting the value. ThisJeffrey Stedfast2001-09-291-3/+5
| | | | | | | | | | | 2001-09-28 Jeffrey Stedfast <fejj@ximian.com> * folder-browser-ui.c (folder_browser_ui_add_list): Call folder_browser_toggle_threads() here after setting the value. This should fix bug #6415 and if it doesn't, then this whole deal is just a lost cause. svn path=/trunk/; revision=13226
* Merged into folder_browser_new: nothing ever changes the URI of anDan Winship2001-09-191-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | * folder-browser.c (folder_browser_set_uri): Merged into folder_browser_new: nothing ever changes the URI of an existing folder browser any more. (folder_browser_new): Make this take a uri argument and do the work folder_browser_set_uri used to do, except that we set fb->uri right away, so that if the folder browser's control is activated before got_folder() gets called, then folder_browser_ui_add_list() will have access to the correct uri for purposes of setting ViewThreaded, etc. Fixes #4913. (got_folder): Don't set fb->uri here since it will already have been set. Don't call message_list_set_threaded, since it should be a noop now (and if it's not, it would make the message list not match the menu item). * folder-browser-ui.c (folder_browser_ui_add_list): Remove some code that was failing to work around the problems above. * message-browser.c (message_browser_new): Pass uri to folder_browser_new, remove call to set_uri. * folder-browser-factory.c (folder_browser_factory_new_control): Likewise. Also fix a s/destroy/unref/ in an error cleanup. svn path=/trunk/; revision=12954
* in mail:Peter Williams2001-08-301-1/+1
| | | | | | | | | | | | | | | 2001-08-29 Peter Williams <peterw@ximian.com> * folder-browser-ui.c: Fix the pixmap for /commands/MessageUndelete. in ui: 2001-08-29 Peter Williams <peterw@ximian.com> * evolution-mail-message.xml: Add a pixtype to /Commands/MessageUndelete so that people can see the icon. svn path=/trunk/; revision=12515
* Check for NULL uic here as well. (fbui_sensitize_items): Up the timeoutPeter Williams2001-08-221-2/+8
| | | | | | | | | | 2001-08-22 Peter Williams <peterw@ximian.com> * folder-browser-ui.c (fbui_sensitize_timeout): Check for NULL uic here as well. (fbui_sensitize_items): Up the timeout interval to 110 ms. svn path=/trunk/; revision=12380
* Rename to fbui_real_sensitize_items. Now we queue a change and set up aPeter Williams2001-08-221-11/+67
| | | | | | | | | | | | | | | | | | | | | | 2001-08-21 Peter Williams <peterw@ximian.com> * folder-browser-ui.c (fbui_sensitize_items): Rename to fbui_real_sensitize_items. Now we queue a change and set up a timeout, making sure weed out redundant changes, fixing flicker. (fbui_sensitize_timeout): New function. The timeout. (fbui_real_sensitize_items): Semi-new function. Rename of old fbui_sensitize_items. (folder_browser_ui_set_selection_state): Pass the FB instead of only the UIC to sensitize_items. (folder_browser_ui_message_loaded): Same. * folder-browser.c (folder_browser_destroy): Kill the new timeout if it is registered. * folder-browser.h: Add some members to FolderBrowser for keeping track of the queue of changes. svn path=/trunk/; revision=12343
* Move the ChangeFolderProperties into the ComponentPlaceholder. Add aEttore Perazzoli2001-08-211-1/+1
| | | | | | | | | | | | | | * evolution-mail-list.xml: Move the ChangeFolderProperties into the ComponentPlaceholder. Add a separator on the top. * evolution.xml: Remove the separator above the component placeholder here. * folder-browser-ui.c (folder_browser_setup_property_menu): Updated as ChangeFolderProperties is now in the ComponentPlaceholder. svn path=/trunk/; revision=12323
* use new small trash icon for Delete command.Damon Chaplin2001-08-201-1/+1
| | | | | | | | 2001-08-20 Damon Chaplin <damon@ximian.com> * folder-browser-ui.c: use new small trash icon for Delete command. svn path=/trunk/; revision=12283
* use new Cut/Copy/Paste icons.Damon Chaplin2001-08-201-0/+4
| | | | | | | | 2001-08-20 Damon Chaplin <damon@ximian.com> * folder-browser-ui.c: use new Cut/Copy/Paste icons. svn path=/trunk/; revision=12248
* Change pixtype of "MessageDelete" to "pixbuf".Ettore Perazzoli2001-08-191-0/+1
| | | | | | | | | | | * evolution-mail-message.xml: Change pixtype of "MessageDelete" to "pixbuf". * folder-browser-ui.c: Hook the new `delete-message.png' up. * Makefile.am (buttons_DATA): Added `delete-message.png'. svn path=/trunk/; revision=12204
* Sort the nodes here... (fe_sort_folder): ... using this function.Peter Williams2001-08-171-1/+1
| | | | | | | | | | | | 2001-08-16 Peter Williams <peterw@ximian.com> * subscribe-dialog.c (fe_got_children): Sort the nodes here... (fe_sort_folder): ... using this function. * folder-browser-ui.c (folder_browser_ui_message_loaded): Check for uic == NULL. I'm not sure how this could happen, but... svn path=/trunk/; revision=12130
* Disable "Search Message" when more or less than exactly one message isPeter Williams2001-08-171-1/+1
| | | | | | | | | 2001-08-16 Peter Williams <peterw@ximian.com> * folder-browser-ui.c (folder_browser_ui_set_selection_state): Disable "Search Message" when more or less than exactly one message is selected. svn path=/trunk/; revision=12112
* Fix bug #215... desensitize menu items based on the number of selectedPeter Williams2001-08-141-2/+129
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-08-09 Peter Williams <peterw@ximian.com> Fix bug #215... desensitize menu items based on the number of selected messages (and whether there's a message in the pane) * folder-browser-ui.c (folder_browser_ui_add_message): Sensitize the menu items appropriately based on the old state. (fbui_sensitize_items): New function. Set the sensitivity of a list of commands. (folder_browser_ui_set_selection_state): New function. Move the FB to a new state of selected-ness, and sensitize menu items appropriately. (folder_browser_ui_message_loaded): New function. When notified that a message has been loaded, sensitize some menu items. * folder-browser-ui.h: Prototype new functions. * folder-browser.h: New enumeration, FolderBrowserSelectionState, that records the previous state of the selection (_NONE, _SINGLE, _MULTIPLE). * folder-browser.c (got_folder): If the component is set, set our selection state to _NONE, because that's the default state of the ETree. (on_selection_changed): When the number of selected messages is updated, notify the FBUI code of our new state. (folder_browser_gui_init): Hook up to the selection_changed signal and default to the _NONE selection state. (done_message_selected): Notify when a message is loaded. 2001-08-08 Peter Williams <peterw@ximian.com> * mail-folder-cache.c: Display how many messages are selected, too. (make_folder_status): If multiple messages are selected, add that to the string (the 0 and 1 cases are boring) (selection_changed): New function, update the selected count. (mail_folder_cache_note_fb): Connect to the selection_changed signal. svn path=/trunk/; revision=12012
* More updates to icons, this time the Save, Save As, and Search icons forJacob Leach2001-08-011-0/+2
| | | | | | a few places. svn path=/trunk/; revision=11544
* Don't need this anymore. (do_get_pass): Since we already have the entryJeffrey Stedfast2001-07-281-13/+8
| | | | | | | | | | 2001-07-27 Jeffrey Stedfast <fejj@ximian.com> * mail-mt.c (focus_on_entry): Don't need this anymore. (do_get_pass): Since we already have the entry widget, no need to do the nasty focus_on_entry hack. svn path=/trunk/; revision=11453
* [Bug #5225: No UI way to mark as unimportant]Jason Leach2001-07-241-1/+2
| | | | | | | | | | | | | | | | | 2001-07-23 Jason Leach <jleach@ximian.com> [Bug #5225: No UI way to mark as unimportant] * folder-browser.c (on_right_click): Do the necessary stuff to show or hide the correct "Mark Important" or "Mark as Unimportant" menu items depending on the status of messages that are selected. * folder-browser-ui.c: Add the MarkAsUnimportant verb here. * mail-callbacks.c (mark_as_unimportant): Simple function that's the callback for these new menu items. svn path=/trunk/; revision=11316
* Use our own display_style member instead of the global setting.Peter Williams2001-07-171-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-07-16 Peter Williams <peterw@ximian.com> * mail-display.c (mail_display_redisplay): Use our own display_style member instead of the global setting. (mail_display_init): Initialize display_style. * mail-display.h: Include "mail-config.h" and add a display_style member. * mail-format.c (write_headers): Look at the MailDisplay's display_style instead of using the full_headers data. * folder-browser.c (folder_browser_set_message_display_style): Set the MailDisplay's display style as well as the global display style. (my_folder_browser_init): Don't save preference changes by default. (This is only observered wrt. the message display style but should apply to other items.) * folder-browser-factory.c (folder_browser_factory_new_control): Set this FB to save the preferences set in it. * folder-browser-ui.c (folder_browser_ui_add_message): Read our display's state instead of the global setting. svn path=/trunk/; revision=11131
* set "pixname" value only if pixbuf was loaded successfully. OtherwiseGediminas Paulauskas2001-07-051-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | 2001-07-04 Gediminas Paulauskas <menesis@delfi.lt> * evolution-shell-component-utils.c (e_pixmaps_update): set "pixname" value only if pixbuf was loaded successfully. Otherwise component crashes if image is not found. Should be checked for sanity in bonobo_ui_component_set_prop IMHO. 2001-07-04 Gediminas Paulauskas <menesis@delfi.lt> * Makefile.am: install apply-filters-16.xpm 2001-07-04 Gediminas Paulauskas <menesis@delfi.lt> * evolution-mail-message.xml: MessageApplyFilters now has an icon. 2001-07-04 Gediminas Paulauskas <menesis@delfi.lt> * folder-browser-ui.c (message_pixcache): set icon for ApplyFilters command. svn path=/trunk/; revision=10783
* Finish off #809 by committing the menu and right click thingies forJacob Leach2001-07-041-1/+1
| | | | | | marking as important. svn path=/trunk/; revision=10765
* Use Tuomas' next-message, previous-message and print icons in theEttore Perazzoli2001-07-011-0/+4
| | | | | | mailer. svn path=/trunk/; revision=10647
* Bump required gal version for new accessors in ETree.Peter Williams2001-06-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-06-27 Peter Williams <peterw@ximian.com> * configure.in (gal): Bump required gal version for new accessors in ETree. mail: 2001-06-27 Peter Williams <peterw@ximian.com> * folder-browser-ui.c: Uncomment EditSelectThread. Yaay! * mail-callbacks.c (select_thread): New function. Self-explanatory name. Implementation is a little hairy. * mail-callbacks.h: Prototype it here. * mail-callbacks.c (invert_selection): Here too. (select_all): Here too. * subscribe-dialog.c (subscribe_select_all): Update to use new ETree accessors. (subscribe_invert_selection): Here too. calendar: 2001-06-27 Peter Williams <peterw@ximian.com> * conduits/*/Makefile.am (INCLUDES): More srcdir != builddir fixes. svn path=/trunk/; revision=10544
* Change to use more reality-based API below. Include folder-browser-ui.hPeter Williams2001-06-281-22/+18
| | | | | | | | | | | | | | | | | | | | | 2001-06-27 Peter Williams <peterw@ximian.com> * folder-browser-factory.c (control_deactivate): Change to use more reality-based API below. Include folder-browser-ui.h too. (control_activate): Remove now-unused 'int state'. * folder-browser-ui.h: Changed prototypes to match changes below. * folder-browser-ui.c (folder_browser_ui_rm_message): Commented out to reflect reality of how this stuff works (you can't actually remove the pieces). (folder_browser_ui_rm_global): Same. (folder_browser_ui_rm_list): Left because here we add the view menus. (folder_browser_ui_add_list): ... which were moved here. (folder_browser_ui_rm_all): New function, does the job of old ui_rm() svn path=/trunk/; revision=10531
* Mail:Peter Williams2001-06-271-0/+390
001-06-26 Peter Williams <peterw@ximian.com> * folder-browser-ui.c: New file derived from folder-browser-factory.c. Contains the Bonobo UI code, split into three groups as described in ui/ChangeLog. Also contains the GalView stuff and the hookups into the Bonobo UI stuff. * folder-browser-factory.c: Move most of the UI stuff to folder-browser-ui.c. (control_activate): Add all three kinds of UI element to this folderbrowser. (control_deactivate): Remove all three kinds. * folder-browser-ui.h: New file. Prototypes functions to add UI elements to a FolderBrowser. * Makefile.am: Add folder-browser-ui.{c,h} * message-browser.c (PARENT_TYPE): Change to BONOBO_TYPE_WINDOW (message_browser_destroy): Chain to parent destroy function. (set_bonobo_ui): New function. Add the 'message' functions from the folder browser to our UI. (message_browser_close): BonoboVerbify this. * message-browser.h: Convert to BonoboWindow. UI: 6-26 Peter Williams <peterw@ximian.com> * evolution-mail-global.xml: * evolution-mail-list.xml: * evolution-mail-message.xml: New files. These are the result of splitting evolution-mail.xml into three pieces: one for the global mailer operations, one for the operations on a messagelist, and one for the operations on one or more messages. * evolution-mail-messagedisplay: New file. UI for the standalone message browser that you get when you double-click. Very skeleton. * evolution-mail.xml: Removed. * Makefile.am: Updated to install new files. svn path=/trunk/; revision=10514