Commit Graph

123 Commits

Author SHA1 Message Date
Milan Crha 5b0e9e7791 Bug #250046 - Empty group address as recipient prevents message send
Empty group addresses were left as-is when sending an email directly,
not through Outbox, which could cause a send error through SMTP.
Expanding group addresses, or removing empty groups, from a list
or recipients before sending the message fixes the issue.
2013-06-03 19:22:03 +02:00
Matthew Barnes 13089f0d50 e_mail_session_send_to(): Don't silently ignore if we can't send.
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.
2013-05-29 16:50:27 -04:00
Matthew Barnes 6c9a3243c9 Rename libeutil to libevolution-util.
To make Evolution's shared libraries more consistent.

Also rename the documentation module to evolution-util.
2013-05-28 09:56:30 -04:00
Matthew Barnes 92817706c5 Utilize the new EMailSession functions when sending. 2013-05-24 22:03:51 -04:00
Matthew Barnes dea7daf4c3 EMailSession: Add helper functions for sending messages.
New functions:

    e_mail_session_get_fcc_for_message_sync()
    e_mail_session_get_fcc_for_message()
    e_mail_session_get_fcc_for_message_finish()
    e_mail_session_ref_transport()
    e_mail_session_ref_default_transport()
    e_mail_session_ref_transport_for_message()
2013-05-24 22:03:51 -04:00
Matthew Barnes 58ef547151 Coding style and whitespace cleanup. 2013-05-08 08:28:09 -04:00
Matthew Barnes 7dec65de1a build: Fix srcdir != builddir from git
Mimicing Colin's commit fb9b02e for E-D-S.

We can't do (cd $(srcdir); ...) and inside reference $(top_srcdir)
because that variable uses a *relative* path.  Thus we copy the
approach from gnome-shell of explicitly using addprefix to append
the source directory.
2013-04-18 11:30:24 -04:00
Milan Crha 1c5f6313c5 Bug #681837 - Make enum type registration thread safe 2013-04-12 09:50:06 +02:00
Milan Crha 2dfd548d26 Bug #271262 - Allow Send/Receive of local stores in offline 2013-04-08 19:21:04 +02:00
Matthew Barnes 94372b5f18 e_mail_folder_uri_parse: Handle local mbox folder URIs.
In Evolution 2.x, the local mail store used mbox format.  Camel will not
recognize the old-style "mbox:///.../local" folder URIs, since the local
mail store is now Maildir format.  Test for this and work around it.

This should re-fix bug 638307 which was a nuisance error about failing
to append to a "mbox:///.../local#Sent" folder after sending a message.
2013-04-08 08:47:06 -04:00
Milan Crha 1c35d94851 Bug #687412 - Crash under mail_folder_cache_service_removed() 2013-03-25 14:16:36 +01:00
Matthew Barnes 4d58a800fa Use e_source_registry_list_enabled() where appropriate. 2013-03-17 08:49:11 -04:00
Milan Crha 19e4b77d1d Do not leak each sent message
Caused by double-reffing the message object.
2013-03-15 16:50:25 +01:00
Milan Crha 853abba1d3 Bug #693254 - Mail reply uses wrong "From:" account 2013-03-05 14:14:31 +01:00
Matthew Barnes bc27cacec3 Remove em_utils_in_addressbook().
No longer used.
2013-02-27 10:59:55 -05:00
Matthew Barnes 4a06e1bb63 Remove emu_free_mail_cache().
No longer needed, since the resources it frees are no longer used.
2013-02-27 10:59:55 -05:00
Matthew Barnes 667585134e Remove emu_remove_from_mail_cache().
No longer used.
2013-02-27 10:59:55 -05:00
Matthew Barnes cc2a65368c Remove emu_remove_from_mail_cache_1().
No longer used.
2013-02-27 10:59:55 -05:00
Matthew Barnes a36a3f4181 Remove em_utils_contact_photo().
No longer used.
2013-02-27 10:59:55 -05:00
Matthew Barnes c6bda27c9c EMailSession: Remove get_filter_driver() implementation.
This gets overshadowed by EMailUISession's implementation, which also
sets up the filter log file plus much more.
2013-02-27 10:59:55 -05:00
Matthew Barnes 0b2607486e Move CamelSession.lookup_addressbook() handler to EMailUISession.
Have the new handler call e_mail_ui_session_check_known_address_sync()
instead of em_utils_in_addressbook().
2013-02-27 10:59:55 -05:00
Matthew Barnes eff9783d94 EMailSession: Use camel_session_ref_main_context(). 2013-02-22 09:52:25 -05:00
Matthew Barnes 3b11207dcb Use camel_service_ref_session(). 2013-02-11 10:38:29 -05:00
Matthew Barnes 60d1c3054a G_PRIORITY_HIGH_IDLE is sufficient to beat GTK+ redraws.
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.
2013-02-08 14:21:42 -05:00
Milan Crha 9c6a7673b8 Add comments around g_idle_add() changes 2013-02-08 18:26:49 +01:00
Michel Dänzer eb9e927926 Bug #683867 - Schedule actions with higher idle priority 2013-02-08 18:26:48 +01:00
Matthew Barnes 6ba0a6a95b Revert "Bug #683867 - Schedule actions with higher idle priority"
This reverts commit 2b507716b2.

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.
2013-02-08 07:03:26 -05:00
Michel Dänzer 2b507716b2 Bug #683867 - Schedule actions with higher idle priority 2013-02-08 12:37:30 +01:00
Matthew Barnes fd43cd692a Incorporate ESourceUOA.
Where we make exceptions for GNOME Online Accounts, so too shall we for
Ubuntu Online Accounts.
2013-01-31 17:39:05 -05:00
Matthew Barnes e583928e04 Use e_book_client_connect().
Instead of e_client_utils_open_new() and e_book_client_new().
2013-01-30 08:37:15 -05:00
Matthew Barnes a55f24dfb3 Adapt to CamelSession API changes. 2013-01-12 14:15:57 -05:00
Matthew Barnes de978d4231 Use g_hash_table_add() when using a hash table as a set.
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.
2013-01-11 13:43:19 -05:00
Matthew Barnes b1ed35f70d Coding style and whitespace cleanup. 2013-01-10 11:20:32 -05:00
Matthew Barnes 800a5828e5 Move CamelSaslXOAuth2 to libemail-engine.
This now uses e_source_get_oauth2_access_token_sync() instead of talking
directly to GNOME Online Accounts and therefore no longer has to live in
the "online-accounts" module.

The "online-accounts" module will be removed in Evolution 3.9.1, when we
can require GNOME Online Accounts 3.8.  Evolution 3.8 will still support
older versions of GNOME Online Accounts, which use OAuth 1.0a tokens for
Google authentication.
2012-12-31 10:22:54 -05:00
Matthew Barnes 6faf671382 e-passwords: Remove unused function parameters. 2012-12-16 17:03:54 -05:00
Milan Crha 63cff95414 Use cancellable mutex for photo and address book lookups in mailer 2012-12-14 17:46:36 +01:00
Milan Crha da874077be Implement and use CamelSession::trust_prompt() 2012-12-14 15:30:29 +01:00
Matthew Barnes bed06d9ec3 Move the contact map widgets to addressbook/gui/widgets.
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.
2012-12-12 14:33:47 -05:00
Matthew Barnes d09d8de870 Consolidate base utility libraries into libeutil.
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.
2012-12-12 14:33:43 -05:00
Milan Crha c5eb6afc0f Bug #579315 - Identify filter names in filtering errors 2012-12-10 14:51:02 +01:00
Milan Crha ae6344a22b Bug #315317 - Add option to expunge messages on folder leave 2012-12-04 19:33:29 +01:00
Milan Crha b9b56d39cc Bug #525932 - Unhelpful "Error while Filtering Selected Messages." 2012-12-03 16:29:02 +01:00
Milan Crha ab3f65a15e Address couple issues found by a Coverity scan 2012-11-30 15:30:45 +01:00
Milan Crha 10aa3a7a99 Bug #688819 - It's possible to make Evolution stop sending emails 2012-11-23 16:23:07 +01:00
Matthew Barnes 2c4ae5e768 Coding style and whitespace cleanup. 2012-11-10 15:54:43 -05:00
Milan Crha 704b78d23b Replace deprecated GLib symbols (as of GLib 2.34.x) 2012-11-06 16:21:37 +01:00
Milan Crha f62adc91c1 e_flaw_wait_until() expects gint64, not gint 2012-11-05 20:45:04 +01:00
Milan Crha 136f4d53bd Replace e_flag_timed_wait() with e_flag_wait_until() 2012-11-05 20:21:14 +01:00
Matthew Barnes 9bcde61c47 mail_session_refresh_cb(): Skip disabled sources. 2012-10-31 15:18:20 -04:00
Matthew Barnes aded0858c4 Prefer e_source_registry_check_enabled().
Prefer e_source_registry_check_enabled() over e_source_get_enabled()
for most instances where we want to exclude disabled data sources.
2012-10-25 13:01:50 -04:00