aboutsummaryrefslogtreecommitdiffstats
path: root/mail
Commit message (Collapse)AuthorAgeFilesLines
* Bug #708840 - Crash when closing subscription dialog with running operationMilan Crha2013-09-301-0/+33
|
* Remove all g_type_init() calls.Matthew Barnes2013-09-281-2/+0
| | | | g_type_init() is deprecated in GLib 2.36.
* Adapt to CamelSession trust_prompt() changes.Matthew Barnes2013-09-272-12/+8
|
* Add debugging for formatter requestsMilan Crha2013-09-252-3/+23
| | | | | With CAMEL_DEBUG=emformat:requests the evolution prints a debug messages about requests being processed when formatting messages.
* Adapt to Camel API changes.Matthew Barnes2013-09-2411-38/+32
|
* Bug #708349 - Memory leaks around mail configMilan Crha2013-09-233-0/+6
|
* Bug 708004 - Deleting in threaded mode moves cursor to incorrect messageDavid Dillow2013-09-151-2/+4
|
* Bug #707392 - Only very first Collapse/Expand button in message header pane ↵Tomas Popela2013-09-131-42/+19
| | | | | | | | | | | | | | | | works When we were collecting the elements for adding the onclick event listeners, we were using the webkit_dom_document_get_element_by_id method, but when email had multiple TO, CC or BCC headers it was returning just the first elements with given id. To fix this we moved to webkit_dom_*_query_selector methods that give us more powerfull element extraction from document. When toggling the visibility of header row, we are now operating just in the row that contains the clicked element. This patch also remove the suffixes from all __evo-moreaddr ids.
* Bug #706008 - Workaround gnome-shell style change on focus changeTomas Popela2013-09-121-17/+84
| | | | | | | Avoid redrawing (thus loosing the selection and scroll position) of preview window on style change by defining the colors through CSS styles. On style change we just update the CSS color definitions and preview will update itself without redraw.
* Fix folder name encoding in em_folder_utils_create_folder().Matthew Barnes2013-09-091-22/+7
| | | | | | | | | When creating a top-level folder, the folder name was still URI-encoded. So for example "Top Level Folder" was coming out "Top%20Level%20Folder". The em_folder_tree_store_root_selected() "if" branch is uncommented and looks unnecessary to me, so I'm removing it. Always parse the URI with e_mail_folder_uri_parse(), which produces a decoded folder name.
* Miscellaneous cleanups.Matthew Barnes2013-09-082-7/+10
|
* EMailDisplay: Remove mail_display_plugin_widget_realize_cb().Matthew Barnes2013-09-011-32/+0
| | | | | | Apparently not required anymore, and was actually causing embedded widgets for attachments to malfunction when collapsed and expanded again -- particularly audio attachments.
* EMailDisplay: Remove bind_iframe_content_visibility().Matthew Barnes2013-09-011-110/+0
| | | | | | None of my attachment samples invoke bind_iframe_content_visibility(). Both it and toggle_widget_visibility() appear to dead code. Removing the functions causes no ill side-effects as far as I can tell.
* Bug #706814 - Do not use folder uri in copy/move folder errorsFabiano Fidêncio2013-08-292-7/+25
|
* Bug #659715 - Reject folder copy/move in offlineFabiano Fidêncio2013-08-272-18/+66
|
* Bug 706463 - Refcounting error in e_mail_reader_reply_to_message()Matthew Barnes2013-08-231-11/+2
| | | | | | Highlight a section of a mailing list post, click Reply, answer "Reply Privately", Evolution mishandles the source message's reference count, causing the message to finalize too early and crash in Camel.
* EMailReader cleanups.Matthew Barnes2013-08-231-11/+13
|
* Bug #698275 - Enable/disable account yields to a several seconds busy loopMilan Crha2013-08-211-5/+82
|
* Bug #656804 - Cannot create folder with special characters in nameMilan Crha2013-08-201-2/+4
|
* Bug #682277 - Multiselect of messages causes slow UI updateMilan Crha2013-08-201-24/+16
|
* folder_tree_model_folder_renamed_cb: Avoid duplicate rows.Matthew Barnes2013-08-181-0/+5
| | | | | | | Testing IMAP NOTIFY and folder renames, I observed a "folder-created" signal emission before the "folder-renamed" signal emission. So the renamed folder already exists in the tree model when we receive the "folder-renamed" signal. Make sure we handle that sanely.
* Bug #705657 - Crash in em_utils_selection_set_urilist()Milan Crha2013-08-081-0/+6
|
* Bug #705119 - File descriptors for images not closedMilan Crha2013-07-301-6/+8
|
* EMailRequest cleanups.Matthew Barnes2013-07-281-142/+113
|
* EWebView: Add an "image-save" action.Matthew Barnes2013-07-282-182/+6
| | | | | | There's now enough hooks in EWebView that it can take over image saving from EMailDisplay / EMailReader, with the added perk that a "Save Image" pop-up menu item now appears for images in ALL preview panes.
* Add e_web_view_cursor_image_copy().Matthew Barnes2013-07-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | Asynchronously copies the image under the cursor to the clipboard. This replaces the "cursor-image" property, which attempts to match the image URI to a subresource from WebKitWebDataSource. The problem with that approach is EMailDisplay redirects several URI schemes to its own custom request handlers which further mutate the URI. So for example, a text/html message may use a "cid:" URI to refer to an embedded image, which EMailDisplay transforms to a "mail:" URI and finally to a "data:" URI. The final image URI might not be derivable from the original URI without retracing the SoupRequest. The "image-copy" action now calls e_web_view_cursor_image_copy(). This also adds an explicit requirement on gdk-pixbuf-2.0 >= 2.24 for gdk_pixbuf_new_from_stream_async() / finish(). New functions: e_web_view_cursor_image_copy() Removed functions: e_web_view_get_cursor_image() e_web_view_set_cursor_image()
* Add e_web_view_suggest_filename().Matthew Barnes2013-07-281-0/+40
| | | | | | | | | | | Attempts to derive a suggested filename from the given URI for use in a "Save As" dialog. By default the suggested filename is the last path segment of the given URI (the unless the given URI looks like a query), but subclasses can use other mechanisms for custom URI schemes. For example, "cid:" URIs in an email message may refer to a MIME part with a suggested filename in its Content-Disposition header.
* Add e_web_view_redirect_uri().Matthew Barnes2013-07-271-129/+144
| | | | | | | | | | Replaces the given URI with a redirected URI as necessary, primarily for use with custom SoupRequest handlers. Typically this function would be called just prior to handing a request off to a SoupSession, such as from a WebKitWebView "resource-request-starting" signal handler. Case in point: EMailDisplay now implements the redirect_uri() method, and calls it from its own "resource-request-starting" signal handler.
* Remove e_web_view_get_uri().Matthew Barnes2013-07-271-1/+1
| | | | | | | Trivial wrapper for webkit_web_view_get_uri(). Probably made sense while we were transitioning from GtkHTML to WebKit, but we don't need it anymore.
* EMailPrinter: Disable frame flattening directly.Matthew Barnes2013-07-271-1/+10
| | | | Not worth having dedicated EWebView APIs for this.
* Rename e_mail_display_set_parts_list().Matthew Barnes2013-07-274-12/+12
| | | | | | Rename to e_mail_display_set_part_list(). Function takes an EMailPartList, not an "EMailPartsList".
* Rename e_mail_display_get_parts_list().Matthew Barnes2013-07-264-7/+7
| | | | | | Rename to e_mail_display_get_part_list(). Function returns an EMailPartList, not an "EMailPartsList".
* Do not mask CAMEL_ERROR_GENERIC in composer_send_completed()Milan Crha2013-07-221-2/+3
| | | | | | | Any provider can return a generic error code, which makes the check useless, only hiding important error information from a user. Since the camel_getaddrinfo() returns CAMEL_SERVICE_ERROR_URL_INVALID, the check could be adapted and be more useful.
* EMailRequest: Handle empty message bodies more gracefully.Matthew Barnes2013-07-201-3/+8
|
* Reimplement mail_folder_cache_note_store().Matthew Barnes2013-07-191-16/+29
| | | | | | | * Use GIO-style async parameters. * Add mail_folder_cache_note_store_finish(). * Do the bulk of the work in a thread so the logic is more readable. * Queue multiple calls for the same CamelStore and share the results.
* mail_folder_cache_get_folder_info_flags: Change parameters.Matthew Barnes2013-07-183-15/+11
| | | | | | | | Take a CamelStore and folder name instead of a CamelFolder. CamelStore and folder name can easily be obtained from either a folder URI or a CamelFolder instance, and the function is more efficient with separate parameters.
* Add mail_folder_cache_ref_folder().Matthew Barnes2013-07-182-25/+21
| | | | | | | | Replaces mail_folder_cache_get_folder_from_uri(). Returns the CamelFolder for the CamelStore and folder name if available, or else NULL if a CamelFolder instance is not yet cached. This function does not block.
* Drop unused em_utils_get_proxy()Milan Crha2013-07-162-30/+0
|
* Bug #703389 - Proxy ignored for imagesMilan Crha2013-07-162-0/+29
|
* Fix typo in e_mail_reader_refresh_folder_name().Matthew Barnes2013-07-141-1/+1
| | | | | We were leaking the EActivity. Wonder if this is the mystery activity that's been blocking application shutdown lately.
* refresh_folders_exec: Make sure the service is connected.Matthew Barnes2013-07-121-1/+8
|
* Miscellaneous cleanups.Matthew Barnes2013-07-071-2/+2
|
* Use gal_view_collection_get_user_directory() where needed.Matthew Barnes2013-07-061-4/+8
| | | | | | GalViewInstance and EMailPanedView need access. Currently they're just using the public GalViewCollection members directly, but those are about to be sealed up.
* GalViewEtable: Remove ETableSpecification member.Matthew Barnes2013-07-061-31/+8
| | | | | | | Instead, lazily load the state file once an ETable or ETree is attached, since we need its ETableSpecification to create an ETableState instance. This means GalViewFactoryEtable can lose its ETableSpecification too.
* EShellView: Add a "view-instance" property.Matthew Barnes2013-07-061-5/+14
| | | | | | | | | | | | | | EShellView now holds a reference to the active GalViewInstance. Where applicable, the EShellView subclass is responsible for keeping this up to date when the sidebar selection changes. Holding a reference allows EShellView to implement common actions like "Save Current View" directly instead pushing it on to subclasses. New functions: e_shell_view_get_view_instance e_shell_view_set_view_instance
* ETableSpecification: Implement GInitable.Matthew Barnes2013-07-022-6/+23
| | | | | | | | | | | | | | | | e_table_specification_new() now takes a table specification filename and a GError and parses the file as part of instance creation. If a file or parse error occurs, e_table_specification_new() returns NULL. This replaces e_table_specification_load_from_file(). New functions: e_table_specification_get_filename() Removed functions: e_table_specification_load_from_file()
* e-mail-reader-utils.c: Avoid e_tree_get_state().Matthew Barnes2013-07-021-5/+4
| | | | | Use e_tree_get_state_object() and e_tree_set_state_object() instead to transfer state info from one ETree instance to another.
* Remove e_tree_new_from_spec_file().Matthew Barnes2013-07-021-3/+8
| | | | | | Also remove e_tree_construct_from_spec_file(). Use e_tree_new() or e_tree_construct() instead.
* e_tree_new_from_spec_file: Remove unused "state_fn" parameter.Matthew Barnes2013-07-021-1/+1
|
* ETableSortInfo: Rework API to avoid exposing ETableSortColumn.Matthew Barnes2013-07-021-9/+13
| | | | | | | | Replace ETableSortColumn with separate ETableColumnSpecification and GtkSortType parameters in the "get_nth" and "set_nth" functions. Makes some other parts of the code simpler since it no longer has to translate a column number to a column specification.
* ETableCol: Embed an ETableColumnSpecification.Matthew Barnes2013-07-021-2/+8
| | | | Eliminates a few redundant fields.
* ETableState: Add a "specification" construct-only property.Matthew Barnes2013-07-021-1/+1
| | | | | | | | | | ETableState now keeps a weak reference on the ETableSpecification to which it's associated. The plan is to replace the column index numbers with a direct reference to an ETableColumnSpecification from the spec. New functions: e_table_state_ref_specification()
* Bug #689640 - Print Preview of composer text is emptyMilan Crha2013-07-021-0/+26
|
* Set network-available on a CamelSession when going onlineMilan Crha2013-06-271-0/+1
| | | | | | | The network-available property was unset when going offline, but never set again, which caused download of messages for offline use broken, because it downloads for offline only if the network-available is set.
* EMailPrintConfigHeaders: Derive from ETreeViewFrame.Matthew Barnes2013-06-262-423/+55
| | | | | EMailPrintConfigHeaders is pretty simple now that we delegate most of the meat and potatoes tree view handling to our new parent class.
* EMFolderTreeModel: Listen for "folder-info-stale" signals.Matthew Barnes2013-06-222-0/+20
| | | | | The signal indicates the folder tree for a particular store needs to be reconstructed. We do this by calling em_folder_tree_model_add_store().
* EMFolderTreeModel cleanups.Matthew Barnes2013-06-222-50/+73
|
* Bug 702710 - MessageList: Delay state capture for regen.Matthew Barnes2013-06-222-94/+127
| | | | | | | | Delay capturing MessageList state for a regen operation until the idle callback, so the caller has a chance to configure the MessageList first. Also, move the CamelFolderThread into the private structure and provide thread-safe internal accessor functions for it.
* MessageList cleanups.Matthew Barnes2013-06-221-29/+36
|
* extended_g_node_insert_before: Small correction.Matthew Barnes2013-06-211-0/+1
|
* Bug 702796 - Work around GNode's O(N) tail insertionsMatthew Barnes2013-06-211-5/+117
|
* Remove e_tree_row_count().Matthew Barnes2013-06-211-47/+67
| | | | | | | Reducing API bloat. Do this instead: adapter = e_tree_get_table_adapter (tree); row_count = e_table_model_row_count (E_TABLE_MODEL (adapter));
* Remove e_tree_force_expanded_state().Matthew Barnes2013-06-211-4/+9
| | | | | | | Reducing API bloat. Do this instead: adapter = e_tree_get_table_adapter (tree); e_tree_table_adapter_force_expanded_state (adapter, state);
* Remove e_tree_load_expanded_state_xml().Matthew Barnes2013-06-211-3/+3
| | | | | | | Reducing API bloat. Do this instead: adapter = e_tree_get_table_adapter (tree); e_tree_table_adapter_load_expanded_state_xml (adapter, xml);
* Remove e_tree_save_expanded_state_xml().Matthew Barnes2013-06-211-2/+6
| | | | | | | Reducing API bloat. Do this instead: adapter = e_tree_get_table_adapter (tree); xml = e_tree_table_adapter_save_expanded_state_xml (adapter);
* Remove e_tree_load_expanded_state().Matthew Barnes2013-06-211-1/+5
| | | | | | | Reducing API bloat. Do this instead: adapter = e_tree_get_table_adapter (tree); e_tree_table_adapter_load_expanded_state (adapter, filename);
* Remove e_tree_save_expanded_state().Matthew Barnes2013-06-211-1/+4
| | | | | | | Reducing API bloat. Do this instead: adapter = e_tree_get_table_adapter (tree); e_tree_table_adapter_save_expanded_state (adapter, filename);
* Remove e_tree_row_of_node().Matthew Barnes2013-06-211-1/+1
| | | | | | | Reducing API bloat. Do this instead: adapter = e_tree_get_table_adapter (tree); row = e_tree_table_adapter_row_of_node (adapter, path);
* Remove e_tree_node_at_row().Matthew Barnes2013-06-211-2/+5
| | | | | | | Reducing API bloat. Do this instead: adapter = e_tree_get_table_adapter (tree); path = e_tree_table_adapter_node_at_row (adapter, row);
* Remove e_tree_root_node_set_visible().Matthew Barnes2013-06-211-5/+6
| | | | | | | Reducing API bloat. Do this instead: adapter = e_tree_get_table_adapter (tree); e_tree_table_adapter_root_node_set_visible (adapter, visible);
* Remove e_tree_node_is_expanded().Matthew Barnes2013-06-211-8/+13
| | | | | | | Reducing API bloat. Do this instead: adapter = e_tree_get_table_adapter (tree); expanded = e_tree_table_adapter_node_is_expanded (adapter, path);
* Remove e_tree_drag_dest_set().Matthew Barnes2013-06-211-4/+7
| | | | Reducing API bloat. Call gtk_drag_dest_set() directly instead.
* Remove e_tree_selected_path_foreach().Matthew Barnes2013-06-211-3/+6
| | | | | | | Reducing API bloat. Do this instead: selection = (ETreeSelectionModel *) e_tree_get_selection_model (tree); e_tree_selection_model_foreach (selection, callback, closure);
* Remove e_tree_selected_row_foreach().Matthew Barnes2013-06-211-2/+3
| | | | | | | Reducing API bloat. Do this instead: selection = (ESelectionModel *) e_tree_get_selection_model (tree); e_selection_model_foreach (selection, callback, closure);
* Make is_node_selectable() easier to debug.Matthew Barnes2013-06-201-4/+5
|
* build_tree: Fix indentation.Matthew Barnes2013-06-201-21/+22
|
* Remove unused message_list_invert_selection().Matthew Barnes2013-06-202-17/+0
|
* MessageList: Fix an unused variable warning.Matthew Barnes2013-06-201-1/+0
|
* Add e_tree_model_node_get_n_nodes().Matthew Barnes2013-06-201-0/+18
| | | | | Returns the total number of nodes in the tree model, including hidden nodes in collapsed tree branches.
* Bug 702454 - EMailBrowser fails to show messageMatthew Barnes2013-06-171-37/+44
| | | | | | | | | | | | | | This reworks the MessageList regen scheduling to be a little more intuitive, at least to me. We now set the RegenData immediately, but start the actual regen operation from an idle callback. That way the caller has the remainder of this main loop iteration to make further MessageList changes without triggering additional regens. I think what was happening before was we were triggering multiple regen operations as we were configuring the EMailBrowser, with each new regen cancelling the previous, and the message UID to select wound up getting paired with one of the cancelled regen operations. This resulted in no message UID ever getting selected in the EMailBrowser.
* MessageList: Move more RegenData initialization into regen_data_new().Matthew Barnes2013-06-171-45/+53
|
* Remove e_tree_model_node_is_editable().Matthew Barnes2013-06-161-9/+0
| | | | It always returned FALSE.
* Remove e_tree_model_set_value_at().Matthew Barnes2013-06-161-10/+0
| | | | Was never called.
* Remove e_tree_model_has_get_node_by_id().Matthew Barnes2013-06-161-7/+0
| | | | It always returned TRUE.
* Remove e_tree_model_has_save_id().Matthew Barnes2013-06-161-7/+0
| | | | It always returned TRUE.
* Remove e_tree_model_icon_at().Matthew Barnes2013-06-161-8/+0
| | | | It always returned NULL.
* Convert ETreeModel to an interface.Matthew Barnes2013-06-162-654/+816
| | | | | | | | | | | | | | | | This commit does a number of things which I could not subdivide into smaller commits. * Converts ETreeModel to an interface, implemented by MessageList. * Drops ETreeMemory and ETreeMemoryCallbacks, which were ETreeModel subclasses. Their functionality is subsumed by MessageList. * MessageList drops its public ETreeModel pointer, since MessageList now implements ETreeModel as an interface. * Adds message_list_set_expanded_default(), which takes over for e_tree_memory_set_expanded_default().
* Remove em_utils_uids_free().Matthew Barnes2013-06-151-17/+0
| | | | No longer used. We actually had this defined in two places.
* Remove em_utils_uids_copy().Matthew Barnes2013-06-152-27/+0
| | | | No longer used.
* Avoid em_utils_uids_free() in other places.Matthew Barnes2013-06-152-4/+5
|
* message_list_get_selected: Give the returned array a free func.Matthew Barnes2013-06-155-74/+43
| | | | | | The returned UID array now has a built-in "free" function for its elements and should be released by callers with g_ptr_array_unref() rather than em_utils_uids_free() or some equivalent.
* MessageList: Further cleanups.Matthew Barnes2013-06-151-295/+358
|
* Remove unused message_list_get_uids().Matthew Barnes2013-06-152-23/+0
|
* Add e_mail_reader_ref_folder().Matthew Barnes2013-06-156-187/+286
| | | | Replaces e_mail_reader_get_folder().
* MessageList: Add a "group-by-threads" property.Matthew Barnes2013-06-153-47/+99
| | | | | | | | | Bind this to EMailReader's "group-by-threads" property. New functions: message_list_get_group_by_threads() message_list_set_group_by_threads()
* MessageList: Remove public 'hidejunk' and 'hidedeleted' flags.Matthew Barnes2013-06-152-55/+90
| | | | | | | | | Add internal functions to compute these as needed based on a given CamelFolder. Removed functions: message_list_set_hidedeleted()
* MessageList: Add a "show-deleted" property.Matthew Barnes2013-06-152-0/+56
| | | | | | | | | Bind this to the "show-deleted" GSettings key. New functions: message_list_get_show_deleted() message_list_set_show_deleted()
* MessageList: Add a "folder" property.Matthew Barnes2013-06-154-113/+272
| | | | | | | | Also move the CamelFolder pointer into the private structure. New functions: message_list_ref_folder()
* MessageList: Add a "thread-latest" property.Matthew Barnes2013-06-142-6/+51
| | | | Bind this to the "thread-latest" GSettings key.
* ESettingsMessageList: Apply the "thread-expanded" setting.Matthew Barnes2013-06-141-28/+25
|
* MessageList: Add a "thread-subject" property.Matthew Barnes2013-06-142-13/+63
| | | | Bind this to the "thread-subject" GSettings key.
* Make MessageList extensible.Matthew Barnes2013-06-141-0/+12
| | | | | | Also add a placeholder ESettingsMessageList extension. Going to clean out some of the direct GSettings usage in MessageList by adding GObject properties and binding them to GSettings keys from the extension.
* Remove global "shell_builtin_backend" variable.Matthew Barnes2013-06-141-4/+0
| | | | No longer used. Always nice to remove a dirty hack on a dirty hack.
* em_utils_is_re_in_subject: Remove unused 'shell' parameter.Matthew Barnes2013-06-144-17/+11
|
* message_list_regen_done_cb: Fix a runtime warning.Matthew Barnes2013-06-141-11/+9
| | | | | | | Make sure we're using our own RegenData structure. Still clear the reference on the private structure if it matches what we get from our GSimpleAsyncResult. The idea is to ensure we have exclusive access to it so we don't have to worry about locking, etc.
* message_list_set_folder: Remove unused "outgoing" parameter.Matthew Barnes2013-06-133-21/+6
|
* Remove unused MESSAGE_LIST_LOCK / MESSAGE_LOCK_UNLOCK macros.Matthew Barnes2013-06-131-3/+0
| | | | Whatever those macros were once used for was surely evil.
* Remove message_list_ensure_message().Matthew Barnes2013-06-132-25/+1
| | | | No longer used. Looks like a relic of some nasty hack.
* Reimplement mail_regen_list().Matthew Barnes2013-06-131-400/+654
| | | | | Reimplement the function to use an EActivity and GSimpleAsyncResult instead of the legacy async framework in mail-mt.c.
* MessageList: Move regen-related members into private struct.Matthew Barnes2013-06-132-46/+54
|
* MessageList: Remove dead code.Matthew Barnes2013-06-131-307/+9
| | | | | | BROKEN_ETREE is defined and SMART_ADDRESS_COMPARE is not defined. That's not going to change, so remove the dead conditional code. Also remove "#if 0" chunks that lack a comment explaining why.
* Add EMailPrintConfigHeaders.Matthew Barnes2013-06-084-498/+774
| | | | | | | | | | | | | | | | This splits the print dialog's "Headers" tab into a separate widget. EMailPrintConfigHeaders takes an EMailPartHeaders and displays its print model, which is a representation of all message headers (except subject) with an on/off flag for each. The headers can be toggled and reordered, and the changes are written back to the print model. During printing, EMailFormatterPrintHeaders uses the same print model to determine which headers to show and in what order (except subject). This approach is much saner than the old method, which was trying to manipulate WebKitWebView DOM directly to toggle and reorder headers. This approach also happens to work, whereas the old method did not.
* Remove EMailReaderHeader struct.Matthew Barnes2013-06-062-122/+0
| | | | | | | | | | No longer used. Also remove related helper functions: e_mail_reader_header_from_xml() e_mail_reader_header_to_xml() e_mail_reader_header_free()
* Bug 684302 - Prompt to close message window on reply should be inlineMatthew Barnes2013-06-053-48/+88
| | | | | Pop-up dialog is far too intrusive. Instead ask the question as an inline alert in the message window, which does not interrupt the user.
* EMailBrowser: Add "close-on-reply-policy" property.Matthew Barnes2013-06-052-26/+70
| | | | | | | | | | | Mainly to avoid accessing GSettings directly from EMailBrowser. Also add a "browser-close-on-reply-policy" GSettings key that replaces "prompt-on-reply-close-browser", the difference being the new key uses an enum definition compatible with EAutomaticActionPolicy instead of a free-form string value. And finally add an ESettingsMailBrowser class to glue things together.
* EMailDisplay cleanups.Matthew Barnes2013-06-053-67/+83
|
* EMailBrowser cleanups.Matthew Barnes2013-06-052-102/+118
|
* EMailReader: Remove unused actions.Matthew Barnes2013-06-035-220/+1
| | | | | | | | | | These are just Express Mode leftovers. Also remove obsolete functions: e_mail_reader_get_enable_show_folder() e_mail_reader_enable_show_folder() e_mail_paned_view_set_enable_show_folder()
* Remove unused EMailNotebookView.Matthew Barnes2013-06-034-1058/+0
| | | | This is just an Express Mode leftover.
* Add e_mail_reader_forward_messages().Matthew Barnes2013-06-035-250/+256
| | | | Replaces em_utils_forward_messages().
* Add e_mail_reader_edit_messages().Matthew Barnes2013-06-036-131/+125
| | | | Replaces em_utils_edit_messages().
* Move "ask-reply-close-browser" prompt to EMailBrowser.Matthew Barnes2013-06-034-103/+71
| | | | | | | | | EMailReader is an interface and should not know about specific classes that implement its interface. Instead, EMailBrowser itself will prompt in response to "composer-created" signals that include a source message. This also removes the "destroy_when_done" parameter from em_utils_forward_messages() since it's no longer needed.
* EMailReader: Add a "composer-created" signal.Matthew Barnes2013-06-034-8/+96
| | | | | | | | | | | | | Emitted to indicate a composer window was created in response to a user action on the EMailReader. Examples of such actions include replying, forwarding, and starting a new message. If applicable, the source message (i.e. the message being replied to or forwarded) is included in the signal emission. New functions: e_mail_reader_composer_created()
* em_utils_edit_message: Change return type to EMsgComposer.Matthew Barnes2013-06-022-3/+3
|
* em_utils_redirect_message: Return the EMsgComposer.Matthew Barnes2013-06-022-4/+8
|
* em_utils_compose_new_message(): Return the EMsgComposer.Matthew Barnes2013-06-022-4/+8
|
* Simplify em_utils_forward_message() arguments.Matthew Barnes2013-06-022-26/+23
| | | | | Replace the EShell and CamelSession arguments with a single EMailBackend argument, from which both the EShell and CamelSession can be obtained.
* em-composer-utils.c cleanups.Matthew Barnes2013-06-021-246/+328
|
* e-mail-reader.h: Remove unimplemented declarations.Matthew Barnes2013-06-021-5/+0
| | | | | | | These functions do not exist: e_mail_reader_get_formatter() e_mail_reader_set_formatter()
* Add e_composer_header_table_ref_source().Matthew Barnes2013-06-021-13/+5
| | | | | | Convenience function that works like e_source_registry_ref_source(), but spares the caller from digging out the ESourceRegistry from the header table.
* EComposeHeaderTable: Replace "registry" property with "client-cache".Matthew Barnes2013-06-021-5/+29
| | | | | | | | | | | | | | | | | | | | The ESourceRegistry can still be obtained from the EClientCache: client_cache = e_composer_header_table_ref_client_cache (table); registry = e_client_cache_ref_registry (client_cache); ... g_object_unref (client_cache); g_object_unref (registry); Added functions: e_composer_header_table_ref_client_cache() Removed functions: e_composer_header_table_get_registry()
* EMailReader cleanups.Matthew Barnes2013-06-022-123/+168
|
* e_mail_session_send_to(): Don't silently ignore if we can't send.Matthew Barnes2013-05-301-10/+18
| | | | | | | If sending fails for any reason, return a suitable GError. Don't just return silently. Also check for a wider range of errors indicating the service is unavailable in composer_send_completed(). This will trigger the "save-to-outbox" info alert.
* Distinguish "attachment-wrapper" elements from attachments.Matthew Barnes2013-05-291-12/+16
| | | | | | | | | | | | | | | | | | | | The HTML for attachments always has the following form: <div class="attachment-wrapper" id="something" style="display: block;"> <actual attachment element> </div> The <div> element controls attachment visibility through its "display" style attribute, which is either "block" or "none". Problem is the <actual attachment element> was getting the same ID as its parent <div> element. So when either element was requested by ID, in certain cases the wrong element was returned and caused misbehavior and console warnings. Solve this by adding a "wrapper" suffix to the <div> element ID. So in the example above, id="something" gets the <actual attachment element>, whereas id="something.wrapper" gets the <div> element.
* Rename libcomposer to libevolution-mail-composer.Matthew Barnes2013-05-281-1/+1
| | | | | | To make Evolution's shared libraries more consistent. Also add an evolution-mail-composer documentation module.
* Rename libemformat to libevolution-mail-formatter.Matthew Barnes2013-05-281-1/+1
| | | | | | To make Evolution's shared libraries more consistent. Also add an evolution-mail-formatter documentation module.
* Rename libeshell to libevolution-shell.Matthew Barnes2013-05-282-4/+3
| | | | | | To make Evolution's shared libraries more consistent. Also rename the documentation module to evolution-shell.
* Rename libeutil to libevolution-util.Matthew Barnes2013-05-282-2/+2
| | | | | | To make Evolution's shared libraries more consistent. Also rename the documentation module to evolution-util.
* configure.ac: Remove unused function and header checks.Matthew Barnes2013-05-281-7/+0
| | | | | | | | | | | | | | | | | This removes the following definitions from config.h: CTIME_R_THREE_ARGS GETHOSTBYADDR_R_SEVEN_ARGS GETHOSTBYNAME_R_FIVE_ARGS HAVE_ISBLANK HAVE_MKSTEMP HAVE_STATFS HAVE_STATVFS HAVE_SYS_MOUNT_H HAVE_SYS_PARAM_H HAVE_SYS_STATVFS_H These were all either unused or unnecessarily used.
* e-mail-reader-utils.c cleanups.Matthew Barnes2013-05-252-423/+548
|
* Convert EMailPart to a GObject.Matthew Barnes2013-05-204-7/+7
| | | | | EMailPart is reference-counted, subclassed, and allows a custom finalize function. There's no excuse for it not to use GObject.
* Add e_mail_part_get_validity_flags().Matthew Barnes2013-05-201-11/+1
|
* Add e_mail_part_get_is_attachment().Matthew Barnes2013-05-201-2/+2
|
* Add e_mail_part_get_mime_type().Matthew Barnes2013-05-202-5/+11
|
* Add e_mail_part_ref_mime_part().Matthew Barnes2013-05-202-2/+11
|
* Add e_mail_part_id_has_prefix().Matthew Barnes2013-05-201-1/+1
|
* Add e_mail_part_get_id().Matthew Barnes2013-05-202-13/+16
|
* em-format cleanups.Matthew Barnes2013-05-205-10/+26
|
* EMailPart: Store validity pairs in a GQueue.Matthew Barnes2013-05-202-18/+19
|
* Remove e_mail_display_set_charset().Matthew Barnes2013-05-153-17/+9
| | | | | Use e_mail_formatter_set_charset() instead. Obtain the EMailFormatter with e_mail_display_get_formatter().
* EMailDisplay cleanups.Matthew Barnes2013-05-152-99/+103
|
* EMailPrinter: Fix a couple typos.Matthew Barnes2013-05-111-1/+2
|
* Bug 7000028 - Drag-n-drop export of a file produces 0 sized PDF fileMatthew Barnes2013-05-111-29/+36
| | | | | | | | | | | em_utils_print_messages_to_file() was doing so asynchronously, but unfortunately drag-n-drop is a synchronous protocol. So by the time the asynchronous print operation completed, the URI list pointing to the temporary PDF files had already been passed to the file manager. The only reason the files were created at all was because we test the generated file name with open(...O_CREAT...) before starting the print operation, and I'm not convinced that test is even necessary.
* Convert e_mail_printer_print() to a proper async function.Matthew Barnes2013-05-115-249/+349
| | | | | | This adds a GAsyncReadyCallback and a closure to e_mail_printer_print(), and trades the "done" signal for e_mail_printer_print_finish() so that EMailPrinter is a little more reentrant.
* EMailPrinter cleanups.Matthew Barnes2013-05-102-191/+237
|
* em-utils.c cleanups.Matthew Barnes2013-05-101-95/+93
|
* Remove "drag-and-drop-save-name-format" setting.Matthew Barnes2013-05-101-15/+2
| | | | Hidden setting, no clear use case, and poorly implemented.
* Right-align mail header names.Matthew Barnes2013-05-091-3/+3
| | | | | | | We used to do this before WebKit and it looked better. Also fix up the header section for right-to-left locales: put the collapse button on the right, and images on the left.
* Coding style and whitespace cleanup.Matthew Barnes2013-05-085-10/+11
|
* Bug #301323 - "Edit as new message" doesn't strip signature properlyMilan Crha2013-05-075-11/+17
|
* Merge [mark-all-read] plugin into core codeMilan Crha2013-05-041-4/+10
| | | | | | During fixes on bug #602428, rather than do everything twice, I merged the plugin into the core code, thus it should be easier to maintain as well.
* Bug #626215 - Prefer mail saving in order by UIMilan Crha2013-04-263-0/+73
|
* Reimplement EPhotoCache to use EPhotoSource.Matthew Barnes2013-04-241-2/+2
| | | | | | | | | | | | | | | | | | | | | Reimplement EPhotoCache to delegate the actual photo fetching to EPhotoSources. When a photo is requested for a given email address, all available EPhotoSources are dispatched concurrently and a photo input stream is selected from the result set. This also utilizes EDataCapture, which is affixed to the returned GInputStream to capture and cache photo data for an email address. New functions: e_photo_cache_add_photo_source() e_photo_cache_list_photo_sources() e_photo_cache_remove_photo_source() e_photo_cache_add_photo() Renamed functions: e_photo_cache_remove() --> e_photo_cache_remove_photo()
* [EMailFormatter] Use GdkRGBA and GtkStyleContext to get theme colorsMilan Crha2013-04-232-16/+10
| | | | | | | | | | It could happen that header text color had been picked white one time, but the other time black as expected (for me usually when I started Evolution in Calendar and moved to Mail view, the header text color was white, while when starting in Mail view it was black). The change to use GtkStyleContext is there only as a cleanup from deprecated GtkStyle, and to make things easier too, because both GtkStyle and the GtkStyleContext had set white color for some reason.
* Remove "Search for sender photograph only in local address books".Matthew Barnes2013-04-211-16/+0
| | | | | | | | | | | | | This was added as part of bug 360184 but no justification was given for the "local-only" part. My Spidey sense tells me it was a hack- around for the old implementation's tendency to freeze the UI while searching for a photograph. So the "local-only" option really just meant "don't freeze the UI for very long, please". The new EPhotoCache-based implementation in 3.8 NEVER freezes the UI, so the "local-only" option is no longer needed. If a remote address book is slow or unresponsive we simply cancel the async photo lookup when the user moves on to another email.
* Bug #697710 - Going offline doesn't disconnect remote storesMilan Crha2013-04-112-13/+51
|
* Bug #271262 - Allow Send/Receive of local stores in offlineMilan Crha2013-04-092-8/+29
|
* EMailAccountStore: Remove "express-mode" property.Matthew Barnes2013-04-012-78/+8
|
* EMailAccountManager: Add Online Account blurbs.Matthew Barnes2013-04-011-3/+241
| | | | | | For accounts linked to an Online Accounts service (GNOME or Ubuntu), display an informational message with an "Open Online Accounts" button that launches gnome-control-center with an appropriate panel name.
* EMailAccountManager: Inherit from GtkGrid.Matthew Barnes2013-04-012-15/+9
|
* Remove more Express Mode hacks.Matthew Barnes2013-04-012-24/+1
| | | | | | This removes all traces of Express Mode from all but the contact editor and calendar appointment editor. Need to evaluate the remaining cases individually.
* Remove EUIManager.Matthew Barnes2013-04-011-6/+4
| | | | No longer needed. Use GtkUIManager directly.
* Remove e_shell_configure_ui_manager().Matthew Barnes2013-04-011-1/+0
| | | | No longer needed.
* Fix for typing in ITIP comments when some keys triggered actions.Tomas Popela2013-03-281-0/+27
|
* Bug #696173 - Various memory leaksMilan Crha2013-03-252-2/+8
|
* e-mail.h: Remove non-existent header files.Matthew Barnes2013-03-251-2/+0
|
* Fix usage of non-existing variable in debug message.Tomas Popela2013-03-211-1/+1
|
* Add e_msg_composer_ref_session().Matthew Barnes2013-03-171-2/+7
| | | | Replaces e_msg_composer_get_session().
* Remove EMailShellSettings.Matthew Barnes2013-03-179-117/+77
| | | | | | | | EShellSettings predates GSettings and is no longer necessary. GSettings allows binding GObject properties to GSettings keys, with optional mapping functions. That fulfills the purpose of EShellSettings.
* Add "headers-collapsed" setting.Matthew Barnes2013-03-171-7/+11
| | | | | | Replaces "paned-view-headers-state", which was defined as an integer for some stupid reason. Not bothering to migrate the old setting since it's one button click.
* Bug #415371 - Create Incoming filter for messages with Received headerMilan Crha2013-03-141-3/+7
|
* Bug 695693 - Handle <authentication> tags during auto-configurationMatthew Barnes2013-03-121-3/+41
|
* Bug 695570 - Don't use gtk_container_add() to pack a GtkBoxMatthew Barnes2013-03-111-1/+1
|
* EMSubscriptionEditor: Use GtkGrid instead of GtkTable.Matthew Barnes2013-03-111-15/+9
| | | | | Long as I'm hacking on this widget for a different issue, may as well get this out of the way. We'll have to do it eventually anyway.
* e_mail_config_notebook_commit: Skip non-writable sources.Matthew Barnes2013-03-091-4/+4
| | | | | | In some cases the collection source is non-writable but its child sources _are_ writable. In that case, the one non-writable source causes the whole operation to fail. Commit only writable sources.
* Bug #690092 - Crash under format_full_headers()Milan Crha2013-03-071-4/+4
|
* Bug #693254 - Mail reply uses wrong "From:" accountMilan Crha2013-03-051-4/+78
|
* Fix a regression from the previous commit for bug #645476Milan Crha2013-03-051-10/+24
| | | | | | | Evolution could crash when changing message view, like when toggling Show Deleted messages. This effectively reverts the previous commit and propagates the same changes further in the code.
* Bug #645476 - Avoid scroll to cursor on folder change in message list (take 3)Milan Crha2013-03-051-0/+8
|
* EMailTagEditor: Remove calendar configuration properties.Matthew Barnes2013-03-043-137/+1
| | | | | | | Remove EMailTagEditor's "use-24-hour-format" and "week-start-day" properties, which were being used to manually configure its internal EDateEdit instance. This is unnecessary since all EDateEdit instances are automatically configured by the ESettingsDateEdit extension.
* e_mail_config_service_backend_get_settings: Another corner case.Matthew Barnes2013-03-011-4/+9
| | | | | | ESourceCollection's default backend name is "none". Unfortunately so is CamelNullStore's provider name. Make sure these two misfits don't get paired up!
* Remove emu_free_mail_cache().Matthew Barnes2013-02-271-13/+1
| | | | No longer needed, since the resources it frees are no longer used.
* EHTTPRequest: Use e_mail_ui_session_check_known_address_sync().Matthew Barnes2013-02-271-6/+25
| | | | | Use e_mail_ui_session_check_known_address_sync() to help determine whether to automatically display images in a text/html MIME part.
* Move CamelSession.lookup_addressbook() handler to EMailUISession.Matthew Barnes2013-02-271-0/+39
| | | | | Have the new handler call e_mail_ui_session_check_known_address_sync() instead of em_utils_in_addressbook().
* Add e_mail_ui_session_check_known_address_sync().Matthew Barnes2013-02-272-0/+126
| | | | | | | | | | | Replaces em_utils_in_addressbook(). Foregos any address caching since any such cache would likely not be updated properly as contacts are added and removed and would lead to incorrect results. An asynchronous variation of this function can be easily added at some future date should a need arise.
* EMailReader: Remove addresses from EPhotoCache as needed.Matthew Barnes2013-02-271-5/+28
| | | | Use e_photo_cache_remove() instead of emu_remove_from_mail_cache_1().
* EMailFormatter: Remove "only-local-photos" property.Matthew Barnes2013-02-271-2/+0
| | | | EPhotoCache already handles this setting.
* EMailRequest: Use EPhotoCache to obtain contact photos.Matthew Barnes2013-02-271-67/+40
|
* EMailUISession: Add a read-only "photo-cache" property.Matthew Barnes2013-02-272-1/+40
| | | | | | New functions: e_mail_ui_session_get_photo_cache()
* EMailRequest cleanups.Matthew Barnes2013-02-271-30/+44
|
* Coding style and whitespace cleanup.Matthew Barnes2013-02-242-3/+4
|
* Fix a memory leak in EMailDisplay::do_reload_displayMilan Crha2013-02-211-2/+2
|
* Replace deprecated static mutexesVadim Rutkovsky2013-02-142-10/+10
|
* Use camel_service_ref_session().Matthew Barnes2013-02-114-9/+25
|
* G_PRIORITY_HIGH_IDLE is sufficient to beat GTK+ redraws.Matthew Barnes2013-02-093-8/+11
| | | | | | GTK+ uses (G_PRIORITY_HIGH_IDLE + 20) for redrawing operations, which is actually a slightly lower priority than G_PRIORITY_HIGH_IDLE. Therefore for our purpose, G_PRIORITY_HIGH_IDLE is sufficient.
* Add comments around g_idle_add() changesMilan Crha2013-02-093-0/+3
|
* Bug #683867 - Schedule actions with higher idle priorityMichel Dänzer2013-02-093-3/+3
|
* Revert "Bug #683867 - Schedule actions with higher idle priority"Matthew Barnes2013-02-083-3/+3
| | | | | | | | | This reverts commit 2b507716b257e6ef98dae8463180dbe718eb7b64. The commit contains not a single comment as to why these custom priority values are being used. The rationale needs to be documented in the code, either at each call point or preferrably at a centralized priority value definition.
* Bug #683867 - Schedule actions with higher idle priorityMichel Dänzer2013-02-083-3/+3
|
* EMailAccountStore: Use an appropriate icon for online accounts.Matthew Barnes2013-02-013-10/+22
| | | | | | Use "goa-panel" for GOA, "credentials-preferences" for UOA. Also move the icon before the account name. Looks better.
* Incorporate ESourceUOA.Matthew Barnes2013-02-013-6/+28
| | | | | Where we make exceptions for GNOME Online Accounts, so too shall we for Ubuntu Online Accounts.
* Use e_book_client_connect().Matthew Barnes2013-01-301-7/+4
| | | | Instead of e_client_utils_open_new() and e_book_client_new().
* Bug #692781 - [pine-importer] Abort on book failure during contact importMilan Crha2013-01-301-1/+1
|
* Bug #692777 - Crash on folder renameMilan Crha2013-01-291-3/+3
|
* Bug #692009 - text/css always formatted as attachmentMilan Crha2013-01-242-10/+2
| | | | | | | Might be the final change for this bug, the two previous commits were not using the right approach, causing regression in rendering of text/* parts which were not named in the list of excluded content types for a 'raw' formatting.
* Exclude also text/calendar in a fix for bug #692009Milan Crha2013-01-221-1/+2
|
* EMailBrowser: Fix packing of preview pane.Matthew Barnes2013-01-211-1/+4
| | | | | | | | | | Using gtk_box_new() instead of gtk_vbox_new() changes the way child widgets are packed by default via gtk_container_add(). gtk_vbox_new() expands them by default, gtk_box_new() does not, and the preview pane was being packed with gtk_container_add(). Packing widgets into a GtkBox with gtk_container_add() is usually the wrong way. Use gtk_box_pack_start() instead, with expand=TRUE.
* Bug 692143 - Auto-configured MSN account should use POP, not IMAPMatthew Barnes2013-01-211-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | In e_mail_config_service_page_auto_configre(), we do detect that only POP3 is available for MSN accounts and switch to the appropriate service backend. The problem was with the hack I added awhile back to momentarily skip to the Receiving page just before skipping to the Summary page, so clicking "Go Back" from the Summary page would return to the Receiving page. That momentary skip triggered mail_config_assistant_prepare() on the Receiving page, which then triggered e_mail_config_page_setup_defaults() since the Receiving page was not yet in the visited pages hash table. The Receiving page's setup_defaults() method reset the service backend to IMAPX, which is the correct thing to do when not auto-configured. The solution is add the Receiving page to the visited pages hash table after a successful auto-configuration, but just BEFORE we momentarily skip to it. This tricks mail_config_assistant_prepare() into thinking the page was already visited, and it skips setting up defaults for it. Also added the Sending page to visited pages, just for consistency.
* Bug #692009 - text/css always formatted as attachmentMilan Crha2013-01-211-3/+28
|
* Bump GDK_VERSION_MIN_REQUIRED to GDK_VERSION_3_2.Matthew Barnes2013-01-2014-18/+18
| | | | | Clean up resulting deprecation warnings, which were all related to GtkOrientable consolidation (e.g. gtk_hbox_new() -> gtk_box_new()).
* Bug #692005 - Changing character encoding doesn't workMilan Crha2013-01-198-10/+92
|
* Adapt to CamelSession API changes.Matthew Barnes2013-01-132-16/+13
|
* Use g_hash_table_add() when using a hash table as a set.Matthew Barnes2013-01-123-19/+21
| | | | | | | g_hash_table_add(table, key) uses less memory than g_hash_table_insert(table, key, GINT_TO_POINTER (1)). Also use g_hash_table_contains() when testing for membership.
* Reduce diff noise with webkit-composer branch.Matthew Barnes2013-01-112-6/+12
|
* Coding style and whitespace cleanup.Matthew Barnes2013-01-115-12/+13
|
* e-config: Remove unused functions.Matthew Barnes2012-12-173-7/+4
| | | | | | | | | | | | e_config_add_skip_check() e_config_class_remove_factory() e_config_create_window() e_config_page_get() e_config_page_next() e_config_page_prev() e_config_set_page_is_finish() Also remove E_CONFIG_ASSISTANT and all the assistant support therein.
* Fix compiler warnings.Matthew Barnes2012-12-151-1/+0
|
* Revert part of the previous commit, EMailUISession::alert_user()Milan Crha2012-12-141-3/+237
| | | | | | | Keep the EMailUISession define its own implementation of CamelSession::alert_user(). It's good for couple reasons: a) dialog is shown above Evolution itself (has parent) b) info dialogs are shown in an alert bar
* Implement and use CamelSession::trust_prompt()Milan Crha2012-12-143-237/+26
|
* e_mail_migrate(): Remove directory creation code.Matthew Barnes2012-12-141-11/+0
| | | | | | | e_shell_backend_get_data_dir() already creates the user's data directory for mail, so there's no need to try and create the directory again. This eliminates the only usage of the E_SHELL_MIGRATE_ERROR domain.
* Move the contact map widgets to addressbook/gui/widgets.Matthew Barnes2012-12-132-4/+0
| | | | | | | | | | | | Move the supporting widgets for the contact maps feature alongside EABContactDisplay. Removing them from libeutil helps isolate our usage of libchamplain so it's not imposed on the entire application, and even 3rd party software. That libchamplain is an optional dependency only further complicates the matter. Ideally I'd like to somehow isolate this feature in an extension module, but we currently lack sufficient hooks for such an extension. So this arrangement will have to suffice for now.
* Consolidate base utility libraries into libeutil.Matthew Barnes2012-12-1366-317/+173
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Evolution consists of entirely too many small utility libraries, which increases linking and loading time, places a burden on higher layers of the application (e.g. modules) which has to remember to link to all the small in-tree utility libraries, and makes it difficult to generate API documentation for these utility libraries in one Gtk-Doc module. Merge the following utility libraries under the umbrella of libeutil, and enforce a single-include policy on libeutil so we can reorganize the files as desired without disrupting its pseudo-public API. libemail-utils/libemail-utils.la libevolution-utils/libevolution-utils.la filter/libfilter.la widgets/e-timezone-dialog/libetimezonedialog.la widgets/menus/libmenus.la widgets/misc/libemiscwidgets.la widgets/table/libetable.la widgets/text/libetext.la This also merges libedataserverui from the Evolution-Data-Server module, since Evolution is its only consumer nowadays, and I'd like to make some improvements to those APIs without concern for backward-compatibility. And finally, start a Gtk-Doc module for libeutil. It's going to be a project just getting all the symbols _listed_ much less _documented_. But the skeletal structure is in place and I'm off to a good start.
* Make EMailPartList thread-safe.Matthew Barnes2012-12-087-57/+95
| | | | | | Exposing data members in the public struct is unwise, especially when EMailPartList is used from multiple threads. Instead keep the members private and provide a set of thread-safe functions to manipulate them.
* EMailFormatterContext: Keep a reference to EMailPartList.Matthew Barnes2012-12-081-5/+5
| | | | | Replace the individual components of an EMailPartList with a reference on the EMailPartList itself in EMailFormatContext. Easier to manage.
* Do not empty trash/delete junk in disabled accounts on exitMilan Crha2012-12-051-2/+31
|
* Bug #315317 - Add option to expunge messages on folder leaveMilan Crha2012-12-053-6/+6
|
* e_mail_reader_parse_message() cleanups.Matthew Barnes2012-12-052-54/+57
| | | | Use the existing AsyncContext struct instead of defining a new struct.
* Bug 689639 - File -> Print Preview in composer brings up Print dialogMatthew Barnes2012-12-051-2/+1
|
* Bug #687503 - Improve error message »Failed to refresh folders«Milan Crha2012-12-041-7/+22
|
* Bug #502516 - Avoid "source" string in user visible dialogsMilan Crha2012-12-041-6/+6
|
* Bug #529743 - Add "Any header" filter and search folder conditionMilan Crha2012-12-033-0/+159
|
* Bug #678606 - Crash under mail_backend_folder_deleted_cb()Milan Crha2012-12-031-0/+3
|
* Address couple issues found by a Coverity scanMilan Crha2012-11-304-5/+7
|
* Avoid gdk_window_get_pointer().Matthew Barnes2012-11-291-1/+7
| | | | Use gdk_window_get_device_position() instead.
* Avoid gtk_tree_view_get_vadjustment().Matthew Barnes2012-11-291-1/+3
| | | | Use gtk_scrollable_get_vadjustment() instead.
* Bug #672200 - Skip Reply-To-List check for list administrative messagesMilan Crha2012-11-291-4/+22
|
* Bug #671200 - Inherit source message crypto options when reply on selectionMilan Crha2012-11-271-2/+55
|
* EMailDisplay lefts opened file handles to downloaded imagesMilan Crha2012-11-231-22/+26
| | | | | | | This fixes three things: a) mail_display_resource_requested() was leaking file handles on downloaded images b) it's not necessary to open files, it's enough to test whether file exists c) mail_display_button_press_event() used incorrect key for "http" cache
* Bug #687670 - Signing with both pgp and S/MIME shows only one signatureMilan Crha2012-11-221-2/+10
|
* Bug #677378 - Alert about self-signed certificates when checking auth typesMilan Crha2012-11-213-8/+16
|