aboutsummaryrefslogtreecommitdiffstats
path: root/mail
Commit message (Collapse)AuthorAgeFilesLines
* Add EMailFolderCreateDialog.Matthew Barnes2014-03-277-304/+623
| | | | Subclass of EMFolderSelector, replaces em_folder_utils_create_folder().
* Add em_folder_selector_new_activity().Matthew Barnes2014-03-272-0/+36
| | | | | Returns a new EActivity configured to display status and error messages directly in the selector dialog.
* EMFolderSelector: Add an activity bar.Matthew Barnes2014-03-271-0/+7
|
* EMFolderSelector: Use an ETreeViewFrame.Matthew Barnes2014-03-271-59/+62
| | | | | | | | Convert the folder selector's "New" button to a [+] button on an inline toolbar beneath the folder tree. The symbolic button looks better, and clicking it no longer triggers a "response" signal, which terminates a gtk_dialog_run() call. We don't want gtk_dialog_run() to terminate in this case.
* EMFolderSelector: Add a "folder-selected" signal.Matthew Barnes2014-03-272-7/+41
| | | | This makes EMFolderSelector a little more "subclassable".
* Add em_folder_selector_set_selected().Matthew Barnes2014-03-272-0/+31
| | | | | Mostly a convenience function so callers don't have to dig up the dialog's folder tree widget.
* Add em_folder_selector_get_selected().Matthew Barnes2014-03-272-0/+43
| | | | Will eventually replace em_folder_selector_get_selected_uri().
* Add em_folder_selector_get_content_area().Matthew Barnes2014-03-272-0/+24
| | | | A more useful alternative to gtk_dialog_get_content_area().
* EMFolderSelector: Override constructed() method.Matthew Barnes2014-03-271-158/+159
| | | | | | | | Now that all the instantiation arguments have either been eliminated or made into GObject properties, we can initialize the dialog properly via the constructed() method instead of some custom internal function. This makes EMFolderSelector a LOT more "subclassable".
* EMFolderSelector: Remove 'title' argument when creating.Matthew Barnes2014-03-277-21/+25
| | | | | | Just call gtk_window_set_title() after creating the dialog. This makes EMFolderSelector a little more "subclassable".
* EMFolderSelector: Add a "default-button-label" property.Matthew Barnes2014-03-277-21/+109
| | | | | | | Replaces the 'oklabel' argument when creating a new dialog, and can be changed after the dialog is created. This makes EMFolderSelector a little more "subclassable".
* EMFolderSelector: Add a "caption" property.Matthew Barnes2014-03-277-33/+112
| | | | | | | Replaces the 'text' argument when creating a new dialog, and can be changed after the dialog is created. This makes EMFolderSelector a little more "subclassable".
* EMFolderSelector: Add a "can-create" property.Matthew Barnes2014-03-277-30/+103
| | | | | | | Replaces the EM_FOLDER_SELECTOR_CAN_CREATE flag, and can also be set after the selector dialog is instantiated. This makes EMFolderSelector a little more "subclassable".
* EMFolderSelector: Further cleanups.Matthew Barnes2014-03-272-123/+154
|
* EMFolderSelector: Implement EAlertSink interface for real.Matthew Barnes2014-03-271-3/+47
|
* EMFolderSelector: Seal up the public instance struct.Matthew Barnes2014-03-272-38/+26
|
* EMFolderSelector: Make EM_FOLDER_SELECTOR_RESPONSE_NEW private.Matthew Barnes2014-03-272-4/+3
|
* Fix two memory leaksMilan Crha2014-03-261-6/+2
| | | | | | | a) ETableColumnSpecification: the 'title' property is always overwritten during the spec file loading, thus no need to allocate it here b) the 'uids' are leaked on message move, because the GPtrArray is supposed to be always unreffed
* Add an --enable-code-coverage configure option to enable gcov supportMilan Crha2014-03-252-4/+6
| | | | | When enabled, this will compile all libraries/binaries with the necessary gcc and ld flags to enable code coverage support using gcov.
* Fix memory leaks from a commit for bug #508744Milan Crha2014-03-251-0/+3
| | | | I missed that part when copying the code from a test program I cooked.
* Bug #508744 - Select PGP key from a list in mail account propertiesMilan Crha2014-03-242-0/+91
|
* Bug 719417 - Remove em-filter-i18n.hMatthew Barnes2014-03-245-571/+488
| | | | | Remove this old hack and translate the pre-defined filter/search/vfolder rules the same way any other XML file gets translated.
* folder_tree_render_icon: Readability cleanup.Matthew Barnes2014-03-241-1/+7
| | | | Makes the logic easier to debug too.
* Bug #726225 - [abrt] Memory corruption during message list regen after Trash ↵Milan Crha2014-03-141-2/+6
| | | | expunge
* EWebView/EMailDisplay: Setup custom CSS styles to DOM right after document loadsMilan Crha2014-03-131-0/+3
| | | | | | | | | | | | | The custom styles, those which are added on-the-fly directly to DOM, were added only after whole document was completely loaded, which included also sub-frames content, thus when these were slow to download for any reason, the main frame content, like the top header bar, was shown with a default style, which is white background and black text color. The WebKitWebView's document-load-finished signal is emitted whenever the actual HTML content is loaded, and the DOM is available as well, for each frame, including the main frame of the WebView, thus updating/setting custom CSS styles in this signal handler makes the loaded frames look as expected, without waiting for other frames in the document to finish their load.
* Bug #550697 - Crash after folder open in a closed mail viewMilan Crha2014-03-102-7/+38
|
* Bug 723204 - Account assistant is too wideMatthew Barnes2014-03-081-0/+1
| | | | | | Works around a GTK+ regression caused by: https://git.gnome.org/browse/gtk+/commit/?id=f18655c641dbe2ca2a28627538898be575667e1a
* Bug #725615 - Disable Delete button in a vTrash folderMilan Crha2014-03-062-3/+9
|
* Bug #446659 - Message view can scroll away after message deletionMilan Crha2014-03-061-78/+80
|
* Bug #725402 - Checking sender for multiple images causes hangMilan Crha2014-03-051-4/+150
| | | | | | | | | | | | This was introduced around commit ef355cd5, when the caching of search results were dropped. The new function was also buggy, thus this commit fixes even that. Namely done changes: - cache email address book search results for 5 minutes - do not stop searching when any book fails to open (which can be due to temporary unreachable server, for example) - search in local books first
* Add a comment for translators above "_Send Account Override"Milan Crha2014-03-041-0/+2
|
* Miscellaneous cleanups.Matthew Barnes2014-03-0313-117/+158
|
* EMailFormatter: Use GOutputStream instead of CamelStream.Matthew Barnes2014-03-012-32/+39
|
* Replace 'interface' with 'iface' in the codeTarnyko2014-02-2623-258/+257
| | | | | | Win32 headers have a #define for 'interface', which breaks the build when this word is used in the code, thus replace it to 'iface', the same way as GLib or GTK+ code use to have it. (See bug #722068.)
* Bug #724854 - Cursor moves to incorrect message when deleting multiple messagesMilan Crha2014-02-251-1/+1
|
* Bug #725010 - Fix strings in "Composer Preferences > Send Account" tabMilan Crha2014-02-251-12/+24
|
* EMFolderTreeModel: Fix a circular dependency between model and its dataMilan Crha2014-02-213-4/+29
| | | | | | | | | The model stores GtkTreeRowReference-s in its private data, but these references ref the model, thus there is a circular dependency between internal data and the object itself, effectively causing memory leaks. With this fixed, the CamelSession is correctly freed at the end of the application.
* Bug #553927 - Autoselect newly created accounts in the folder treeMilan Crha2014-02-183-0/+129
|
* Add shortcuts previously defined by gtk-stock item definitionsMilan Crha2014-02-171-4/+4
|
* e_menu_tool_action_new: Remove unused stock_id parameterMilan Crha2014-02-141-2/+2
|
* Bug #685381 - POP3's "delete-expunged" ignored when Empty trash on exitMilan Crha2014-02-131-8/+45
|
* Stop using deprecated gtk-stock itemsMilan Crha2014-02-1317-126/+95
|
* EMailConfigAssistant: Hack the "Go Back" button after autoconfig.Matthew Barnes2014-02-111-4/+73
| | | | | | | | | | | | | | | | After account autoconfiguration, you can click the "Go Back" button to revise the account details. That's been in place for some time now, but it's not obvious from the button label. "Go Back" implies going back to the Identity page. Temporarily rename the "Go Back" button on the Summary page to something more accurate after a successful autoconfiguration, then reset it to its original "Go Back" label. Unfortunately the GtkAssistant API does not make this easy. I had to resort to crawling the assistant's internal child widgets and comparing button labels to locate the right button. So this hack may not be very future-proof.
* Bug #724023 - Run EMailFormatter in the main/UI threadMilan Crha2014-02-101-3/+6
| | | | | | | Any GtkWidget creation or manipulation should be done exclusively from the main/UI thread, thus make sure it is done that way. Of course, evolution can freeze for a little time (depends on the message size), until its formatting is done. It's unnoticeable with usual messages.
* Bug #720940 - Always asked to synchronize folders when going offlineMilan Crha2014-02-061-1/+26
|
* Fix typos in a logic of a "mail:ask-quick-offline" user promptMilan Crha2014-02-051-1/+3
| | | | | | Two problems: a) the returned value of the prompt was checked reverted b) the messages were downloaded anyway, without setting CamelSession offline
* Revert "Declare em-filter-i18n.h as BUILT_SOURCES in mail/Makefile.am"Milan Crha2014-02-052-1/+81
| | | | | | | | It turned out that the file is required for translators, which are not supposed to build sources, thus the built file would be missing to them. I wasn't aware of that. This reverts commit fa75665c3bf9dceaeec233ccf3702cdc167de3c3.
* Declare em-filter-i18n.h as BUILT_SOURCES in mail/Makefile.amMilan Crha2014-02-032-81/+1
| | | | | This way git.mk knows about it and ignores changes in it, because, after all, this header file is auto-generated on build.
* Bug 723377 - Add alternate zoom shortcutsMatthew Barnes2014-02-031-0/+17
| | | | | | | | | The zoom in shortcut (Ctrl+) can be confusing for some users because on keyboards with a [+ =] key the '+' requires holding Shift. To mitigate the confusion, also accept (Ctrl=) for zoom in. And while we're add it, also support Ctrl+ and Ctrl- on keypads, as well as keyboards with dedicated Zoom In / Zoom Out keys.
* EHttpRequest: Avoid possible data stream memory leakMilan Crha2014-01-311-2/+4
| | | | | The request's finish function is not called in case when the request is cancelled, which meant that the whole data stream was leaked.
* Memory leaks of GSettings objectsMilan Crha2014-01-311-0/+1
|
* EHTTPRequest: Drop unneeded reference to EMailPartListMilan Crha2014-01-311-19/+0
|
* Bug #722951 - Check for empty rule valuesMilan Crha2014-01-293-47/+47
|
* Forward/Reply styles in Preferences opened emptyMilan Crha2014-01-281-7/+7
| | | | | | This is a regression after commit b5023d3, an edit of the mail-config.ui file accidentally dropped ID-s for a GtkComboBoxText items, thus the g_settings_bind() could not match any item in the combo box.
* Fix a runtime warning after a change for bug #583773Milan Crha2014-01-271-0/+1
| | | | | | Missed a case when an EMailReader is an EMailBrowser, which is not an EMailView, which produced a runtime warning on a console when a message was shown in a separate window (like after double-clicking it).
* Bug #583773 - Does not always mark mails as read automaticallyMilan Crha2014-01-241-17/+71
|
* Bug #645476 - Avoid scroll to cursor on folder change in message listMilan Crha2014-01-231-7/+18
| | | | | | Another take, this time, hopefully, the final. The call to e_tree_set_cursor() also resets the view to the selected row, which we want to avoid, thus do not do this call, if the view was regenerated on a folder-changed signal.
* Fix duplicate #includesKjartan Maraas2014-01-221-1/+0
|
* Bug #722698 - Crash creating a new folderFabiano Fidêncio2014-01-211-0/+12
|
* Bug #702709 - Do not forget to set CamelSession offlineMilan Crha2014-01-211-0/+17
| | | | | | There was missing a call to set CamelSession offline, which made the other CamelService-s think they can do network operations, while it wasn't true.
* Bug 722352 - libresolv does not exist on FreeBSDMatthew Barnes2014-01-171-2/+2
| | | | Just a couple leftovers in mail/Makefile.am. Not needed anymore.
* Bug 721545 - License text contains obsolete FSF postal addressMatthew Barnes2014-01-08154-1540/+1386
|
* EMFolderTreeModel: Fix subscribing to a folder with children.Matthew Barnes2013-12-121-1/+3
| | | | | | | | Unsubscribe from a folder with children, then re-subscribe. The children will no longer be reachable in an EMFolderTree. This is because we were calling em_folder_tree_model_set_folder_info() claiming we have complete folder subtree info, when in fact we don't.
* EMailBackend: Remove some nuisance runtime warnings.Matthew Barnes2013-12-121-3/+5
| | | | Similar to the previous commit, when renaming a folder.
* Coding style and whitespace cleanup.Matthew Barnes2013-12-073-6/+12
|
* pine-importer: Fix a crash when importing with no existing address booksPhilip Withnall2013-12-041-0/+5
| | | | | | | | | | This is a theoretical crash (not actually reproduced), caused by the client variable being NULL if no address books exist. Instead of crashing, gracefully exit with an error. Found by scan-build. https://bugzilla.gnome.org/719540
* EMFolderTreeModel: Remove some dead code.Matthew Barnes2013-11-301-8/+0
|
* em_utils_is_local_delivery_mbox_file(): Take a CamelService.Matthew Barnes2013-11-302-11/+4
| | | | | | More convenient than constructing a CamelURL just for this function. Also, document it.
* Remove unused arguments in mail_fetch_mail().Matthew Barnes2013-11-301-8/+5
| | | | The 'fetch_type' and 'fetch_count' arguments are not used.
* Remove mail_cancel_all().Matthew Barnes2013-11-281-27/+25
| | | | | | Turns out this function was a no-op, because nothing registered itself to be cancelled this way. This was part of the legacy async framework, which we've mostly moved away from now.
* Adapt to new CamelSession "user-alert" signal.Matthew Barnes2013-11-274-250/+56
| | | | Replaces the old interactive (but not really) alert_user() method.
* EHttpRequest: Simplify proxy handling.Matthew Barnes2013-11-271-13/+6
| | | | | | When creating a temporary SoupSession, synchronize its GProxyResolver with the SoupRequest's SoupSession which is already configured to use our built-in proxy ESource.
* EHttpRequest cleanups.Matthew Barnes2013-11-271-57/+72
|
* EMailAutoconfig: Set SoupSession's GProxyResolver.Matthew Barnes2013-11-271-14/+10
| | | | | | Pass the built-in proxy ESource to SoupSession as a GProxyResolver. Replaces EProxy usage, which is deprecated.
* EMailAutoconfig: Add an ESourceRegistry property.Matthew Barnes2013-11-274-9/+101
|
* Use plain SoupSesson everywhere.Matthew Barnes2013-11-262-4/+3
| | | | SoupSessionAsync and SoupSessionSync are deprecated in libsoup 2.42.
* EMailJunkOptions: Bind to "junk-filter" instead of "junk-filter-name".Matthew Barnes2013-11-261-3/+51
| | | | | Use transformation functions to convert between EMailJunkFilter and the junk filter name.
* EMailUISession: Add "check-junk" property.Matthew Barnes2013-11-252-3/+87
| | | | Takes over CamelSession's "check-junk" property.
* Bug #711824 - Crash due to use-after-free after pine importMilan Crha2013-11-211-1/+1
|
* EMFolderTreeModel: Rework CamelStore signal handlers.Matthew Barnes2013-11-211-189/+168
| | | | | | | Pass a referenced StoreInfo as the closure so it doesn't have to be looked up in the signal handler, but do so without leaking references. Simplifies the signal handlers a bit.
* Bug #711499 - Failed image download lefts opened file descriptorMilan Crha2013-11-211-1/+8
|
* EMFolderTree: Remove "ellipsize" property.Matthew Barnes2013-11-212-57/+1
| | | | | | Always ellipsize folder names, otherwise it interferes with the status icons. The property was once bound to a hidden GSettings key, but the setting was silly and was removed some time ago.
* EMFolderTree: Show connection status icons.Matthew Barnes2013-11-213-3/+228
| | | | | | Each network service row in the folder tree now shows an icon which follows the state of the service's connection status and remote host reachability.
* EMFolderTreeModel: Thread-safety improvements.Matthew Barnes2013-11-201-83/+214
|
* EMFolderTreeModel: Give StoreInfo a reference count.Matthew Barnes2013-11-201-154/+214
|
* Make EMFolderTreeModelStoreInfo private.Matthew Barnes2013-11-202-35/+36
| | | | Also shorten the struct name to StoreInfo since it's private now.
* Make em_folder_tree_model_lookup_store_info() private.Matthew Barnes2013-11-202-23/+18
| | | | | | | Only called from within EMFolderTreeModel itself. Working toward making the EMFolderTreeModelStoreInfo struct private to EMFolderTreeModel, so it can then be made thread-safe.
* Make em_folder_tree_model_remove_folders() private.Matthew Barnes2013-11-202-48/+51
| | | | | | | Only called from within EMFolderTreeModel itself. Working toward making the EMFolderTreeModelStoreInfo struct private to EMFolderTreeModel, so it can then be made thread-safe.
* Change em_folder_tree_model_set_folder_info() argument.Matthew Barnes2013-11-203-22/+25
| | | | | | | | | | Take a CamelStore instead of an EMFolderTreeModelStoreInfo. It imposes a few extra hash table lookups to reacquire the StoreInfo from a CamelStore while populating the folder tree, but that's fine. Working toward making the EMFolderTreeModelStoreInfo struct private to EMFolderTreeModel, so it can then be made thread-safe.
* Remove em_folder_tree_model_lookup_uri().Matthew Barnes2013-11-202-50/+0
| | | | No longer used.
* Add em_folder_tree_model_get_row_reference().Matthew Barnes2013-11-203-29/+68
| | | | | | | | Replaces em_folder_tree_model_lookup_uri() and to some extent em_folder_tree_model_lookup_store_info(). Working toward making the EMFolderTreeModelStoreInfo struct private to EMFolderTreeModel, so it can then be made thread-safe.
* EMFolderTreeModel: Declare the CamelStore column as an object type.Matthew Barnes2013-11-175-60/+95
| | | | | | | | | | | Declaring the CamelStore column as a raw pointer type dates back to before Camel was GObject-based. The problem is the CamelStore could be finalized while the tree model still has a pointer to it, leaving behind dangling pointers in the tree model which could cause a crash. Declaring the column type in the column enum turned out to be a good idea, as it makes code that needs updated easy to find. This renames the enum value from COL_POINTER_CAMEL_STORE to COL_OBJECT_CAMEL_STORE.
* Add em_folder_tree_ref_selected_store().Matthew Barnes2013-11-172-3/+15
| | | | | | Replaces em_folder_tree_get_selected_store(). Same as before, but adds a reference to the returned CamelStore.
* Fix/mute issues found by Coverity scanMilan Crha2013-11-1514-126/+163
| | | | | | | | | | | | This makes the code free of Coverity scan issues. It is sometimes quite pedantic and expects/suggests some coding habits, thus certain changes may look weird, but for a good thing, I hope. The code is also tagged with Coverity scan suppressions, to keep the code as is and hide the warning too. Also note that Coverity treats g_return_if_fail(), g_assert() and similar macros as unreliable, and it's true these can be disabled during the compile time, thus it brings in other set of 'weird' changes.
* EMailBackend: Camel no longer has a "network-available" property.Matthew Barnes2013-11-141-5/+1
|
* Convert libemail-engine to a single-include model.Matthew Barnes2013-11-1258-280/+98
| | | | Use: #include <libemail-engine/libemail-engine.h>
* Generate enum GTypes for libevolution-mail.Matthew Barnes2013-11-115-4/+76
| | | | Steals some enum types that libemail-engine doesn't need to know about.
* Rename e-mail-enums.h to e-mail-engine-enums.h.Matthew Barnes2013-11-114-4/+2
|
* EMailAccountManager: Rename "Restore Default" button.Matthew Barnes2013-11-081-2/+1
| | | | | Rename it to "Reset Order". A little less confusing, I think, since there's also a "Default" button to set the default account.
* Update error handling when sending offline.Matthew Barnes2013-11-041-1/+8
| | | | | | Camel now uses GResolver for domain name resolution, so check for G_RESOLVER_ERROR when sending so the "saving-to-outbox" alert can work again.
* Adapt to CamelDataCache API changes.Matthew Barnes2013-11-021-15/+32
|
* Bug 710797 - Name all the timeouts added with g_timeout_add()Bastien Nocera2013-10-308-44/+64
|
* Use EProxyPreferences in EPreferencesWindow.Matthew Barnes2013-10-261-471/+0
| | | | Replaces EMNetworkPrefs.
* Miscellaeous cleanups.Matthew Barnes2013-10-206-395/+446
|
* Bug #215115 - Per-folder From: email addressMilan Crha2013-10-089-523/+2017
| | | | | | The change also allows setting accounts for certain recipients (based on a part of the recipient address). The option can be found in Folder Properties and in Edit->Preferences->Composer Preferences->Send Account.
* 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
|