Matthew Barnes [Sat, 19 May 2012 12:41:15 +0000 (08:41 -0400)]
CamelService: Rewrite connect/disconnect API.
CamelService now has proper cancellable asynchronous functions for
connect and disconnect operations. The way this works is as follows:
The first service connect request runs asynchronously internally, even
if camel_service_connect_sync() is called. Subsequent connect requests
are queued until the first connect request finishes, then all requests
finish simultaneously with the same result. There are no retries; if
the first request fails, they all fail with the same error.
If a service disconnect is requested with one or more connect requests
outstanding, the connect requests are all cancelled and the disconnect
request runs asynchronously and plays by the same queueing rules.
CamelService's "connection-status" property will immediately reflect any
connect or disconnect requests in progress. Change notification signals
for this property, however, are emitted from CamelSession's main context.
Matthew Barnes [Sat, 19 May 2012 13:38:04 +0000 (09:38 -0400)]
Camel: Use camel_session_idle_add() for idle callbacks.
Ensures all idle callbacks are dispatched from the same GMainContext,
especially important for scheduling signal emissions.
Matthew Barnes [Sat, 19 May 2012 13:08:11 +0000 (09:08 -0400)]
CamelSession: Add camel_session_idle_add().
Schedules an idle callback on CamelSession's GMainContext.
Matthew Barnes [Sat, 19 May 2012 12:35:14 +0000 (08:35 -0400)]
CamelSession: Add a read-only "main-context" property.
Milan Crha [Fri, 18 May 2012 06:58:28 +0000 (08:58 +0200)]
Remove camel_folder_has_search_capability()
CamelFolder descendants are supposed to implement search API now.
Milan Crha [Thu, 17 May 2012 07:42:21 +0000 (09:42 +0200)]
Camel: Allow SSL certificate resave and use detailed errors from SSL stream
Daniel Mustieles [Wed, 16 May 2012 10:35:35 +0000 (12:35 +0200)]
Updated Spanish translation
Daniel Nylander [Wed, 16 May 2012 10:27:44 +0000 (12:27 +0200)]
Updated Swedish translation
Kjartan Maraas [Tue, 15 May 2012 12:16:06 +0000 (14:16 +0200)]
Updated Norwegian bokmål translation
Milan Crha [Tue, 15 May 2012 11:43:16 +0000 (13:43 +0200)]
Bug #671603 - Birthday calendar broken since 3.3.4
Chenthill Palanisamy [Tue, 15 May 2012 11:31:35 +0000 (17:01 +0530)]
Bug 664639 - [IMAPX] Doesn't quit gracefully on account disable
Chenthill Palanisamy [Tue, 15 May 2012 08:25:57 +0000 (13:55 +0530)]
Signal shutdown when imapx connection shutsdown so that the connection is
pruned from connection manager.
Milan Crha [Tue, 15 May 2012 06:10:10 +0000 (08:10 +0200)]
Remove unused variable
Milan Crha [Mon, 14 May 2012 18:16:22 +0000 (20:16 +0200)]
Bug #670279 - "Category" selector mnemonic not shown
Matthew Barnes [Mon, 14 May 2012 14:15:17 +0000 (10:15 -0400)]
Bug 675387 - Store certificates under $XDG_DATA_HOME
Move certificates from $HOME/.camel_certs to $XDG_DATA_HOME/camel_certs.
Matthew Barnes [Sun, 13 May 2012 13:50:28 +0000 (09:50 -0400)]
Use g_simple_async_result_set_check_cancellable().
Always call it immediately after g_simple_async_result_new().
Matthew Barnes [Sun, 13 May 2012 13:35:01 +0000 (09:35 -0400)]
Whitespace cleanups.
Luca Ferretti [Sat, 12 May 2012 18:02:57 +0000 (20:02 +0200)]
Updated Italian translation
Milan Crha [Fri, 11 May 2012 14:48:30 +0000 (16:48 +0200)]
Use locks in factory's weak object notify callback on data-book/cal
Milan Crha [Fri, 11 May 2012 12:33:44 +0000 (14:33 +0200)]
CalDAV: Also rename NoSuchCal to ObjectNotFound in caldav_server_put_object()
Fran Diéguez [Fri, 11 May 2012 09:34:39 +0000 (11:34 +0200)]
Updated Galician translations
Daniel Mustieles [Fri, 11 May 2012 08:56:20 +0000 (10:56 +0200)]
Updated Spanish translation
Milan Crha [Thu, 10 May 2012 18:02:31 +0000 (20:02 +0200)]
Better error message for SOUP_STATUS_SSL_FAILED response
Milan Crha [Thu, 10 May 2012 17:15:27 +0000 (19:15 +0200)]
CalDAV: Report NoSuchCal only when opening, ObjectNotFound otherwise
Milan Crha [Thu, 10 May 2012 10:54:16 +0000 (12:54 +0200)]
Make sure data-book/cal is closed/freed in a separate thread
When EDataBook/EDataCal was unreffed in the main thread then
any later calls to the factory were blocked by the backend
till it freed its resources, possibly making client look like
frozen/unresponsive.
Piotr Drąg [Tue, 8 May 2012 16:22:43 +0000 (18:22 +0200)]
Updated POTFILES.in
Matthew Barnes [Tue, 8 May 2012 14:46:33 +0000 (10:46 -0400)]
Add EAsyncClosure.
EAsyncClosure provides a simple way to run an asynchronous function
synchronously without blocking a running GMainLoop or using threads.
Merging this API from the account-mgmt branch as it has proven stable
and quite convenient. I've seen this pattern in use throughout GIO,
but to my knowledge it has never been formalized like this.
Chenthill Palanisamy [Tue, 8 May 2012 09:29:48 +0000 (14:59 +0530)]
Add a extended response handler for unhandled imapx tokens to be handled
by the derived providers.
Chenthill Palanisamy [Tue, 8 May 2012 09:17:04 +0000 (14:47 +0530)]
Split camel-imapx library and merge into camel so that providers can be written on top of imapx
Matt McCutchen [Fri, 4 May 2012 12:28:03 +0000 (14:28 +0200)]
Bug #606181 - Accepting bad SSL certificate applies to any hostname
Change the Camel certdb to look up certificates by expected hostname.
This way, accepting a bad certificate for one mail server does not give
it a free pass to impersonate the user's other mail servers. Storing a
second bad certificate for the same server will replace the first, but
that should be OK (Mozilla PSM works the same way).
The camel-cert.db format is unchanged except that it can now contain
multiple entries for the same certificate with different hostnames, and
if it contains multiple certificates for the same hostname, all but the
last will be dropped (becoming permanent the next time the certdb is
saved).
Users who were taking advantage of evolution-data-server's previous,
vulnerable behavior of accepting a certificate for a hostname other than
the originally user-approved one will get bad certificate dialogs and
will need to re-approve the certificate for the desired hostname(s).
Note: Case insensitive compare of host names added by mcrha.
Milan Crha [Fri, 4 May 2012 11:15:21 +0000 (13:15 +0200)]
Remove extra test on Google server photo data validity
It sometimes can happen that a contact has filled photo's etag,
while the photo itself is not present. In that case backend skipped
the contact, instead of passing it without photo.
Mathieu Trudel-Lapierre [Thu, 3 May 2012 10:00:10 +0000 (12:00 +0200)]
Bug #669191 - Address book dialog has incorrect default size
Matthew Barnes [Mon, 30 Apr 2012 17:13:02 +0000 (13:13 -0400)]
Require libsoup >= 2.38.1.
To pick up the fix for bug 673678:
"Property SSL_USE_SYSTEM_CA_FILE's value is ignored"
Fran Diéguez [Mon, 30 Apr 2012 14:28:37 +0000 (16:28 +0200)]
Updated Galician translations
Kjartan Maraas [Mon, 30 Apr 2012 08:00:06 +0000 (10:00 +0200)]
Updated Norwegian bokmål translation
Matthew Barnes [Sun, 29 Apr 2012 00:46:14 +0000 (20:46 -0400)]
Post-release version bump.
Matthew Barnes [Sun, 29 Apr 2012 00:42:40 +0000 (20:42 -0400)]
NEWS update for 3.5.1 release.
Matthew Barnes [Sun, 29 Apr 2012 00:04:39 +0000 (20:04 -0400)]
Update API documentation.
Fran Diéguez [Fri, 27 Apr 2012 15:16:41 +0000 (17:16 +0200)]
Updated Galician translations
Milan Crha [Fri, 27 Apr 2012 11:42:14 +0000 (13:42 +0200)]
Bug #669085 - Saving draft on Google server emits runtime warning
Daniel Mustieles [Fri, 27 Apr 2012 10:57:49 +0000 (12:57 +0200)]
Updated Spanish translation
Milan Crha [Fri, 27 Apr 2012 09:23:47 +0000 (11:23 +0200)]
Bug #664639 - [IMAPX] Doesn't quit gracefully on account disable
Milan Crha [Fri, 27 Apr 2012 07:37:17 +0000 (09:37 +0200)]
Bug #674257 - Recheck attachment availability on message download
Milan Crha [Thu, 26 Apr 2012 12:41:09 +0000 (14:41 +0200)]
Bug #669034 - [IMAP] Shows "Unknown background operation" on start
Milan Crha [Thu, 26 Apr 2012 11:49:15 +0000 (13:49 +0200)]
Fix Google Talk vCard attribute name definition
Milan Crha [Thu, 26 Apr 2012 11:46:11 +0000 (13:46 +0200)]
Bug #668989 - Add a twitter username to IM in contacts
Matthew Barnes [Tue, 24 Apr 2012 15:01:11 +0000 (11:01 -0400)]
Revert unintentional API break in libedataserver.
Partially reverses commit
90eb7da3ab9b00f504f5fed1f740c59485356f41.
Apparently this unintentionally broke language bindings.
Instead of renaming the e_source_peek_uid() and e_source_peek_name()
functions themselves, leave the old functions alone and define aliases
for the new names:
#define e_source_get_uid e_source_peek_uid
#define e_source_get_display_name e_source_peek_name
Using the new names throughout Evo and EDS is very helpful in reducing
diff noise between "master" and the "account-mgmt" branches so I can see
the important differences, so I don't want to revert the commit entirely.
Milan Crha [Tue, 24 Apr 2012 12:45:54 +0000 (14:45 +0200)]
Bug #672398 - CalDAV backend doesn't respect "Copy for offline" option
Milan Crha [Mon, 23 Apr 2012 14:53:54 +0000 (16:53 +0200)]
Bug #668679 - Crash on insertion of NULL in e_destination_set_contact()
Milan Crha [Mon, 23 Apr 2012 11:44:11 +0000 (13:44 +0200)]
Bug #668549 - Crash in objects_added_cb() in e-book-client-view.c
Milan Crha [Mon, 23 Apr 2012 10:09:36 +0000 (12:09 +0200)]
Bug #671537 - Option to validate SLL certificates with libsoup
Milan Crha [Mon, 23 Apr 2012 06:02:48 +0000 (08:02 +0200)]
Remove deprecated API from ESourceSelector
Matthew Barnes [Sat, 21 Apr 2012 20:27:49 +0000 (16:27 -0400)]
ESourceComboBox: Add e_source_combo_box_ref_active().
Replaces e_source_combo_box_get_active().
Returns a new ESource reference that the caller must unreference.
Matthew Barnes [Sat, 21 Apr 2012 20:20:53 +0000 (16:20 -0400)]
Remove e_source_combo_box_get/set_active_uid().
Adapt ESourceComboBox to use GtkComboBox's "active-id" property.
To get or set the active ESource UID, use:
gtk_combo_box_get_active_id()
gtk_combo_box_set_active_id()
Matthew Barnes [Sat, 21 Apr 2012 19:00:23 +0000 (15:00 -0400)]
Diff noise reduction.
Comparing 'master' and 'account-mgmt' branches.
Matthew Barnes [Sat, 21 Apr 2012 17:20:23 +0000 (13:20 -0400)]
Nudge ESource toward its new API.
Rename e_source_peek_uid() to e_source_get_uid(), and
e_source_peek_name() to e_source_get_display_name().
The old names are retained for now as deprecated aliases.
Matthew Barnes [Sat, 21 Apr 2012 16:01:12 +0000 (12:01 -0400)]
ESourceSelector: Add e_source_selector_ref_primary_selection().
Replaces e_source_selector_get_primary_selection().
Returns a new ESource reference that the caller must unreference.
Matthew Barnes [Sat, 21 Apr 2012 14:49:02 +0000 (10:49 -0400)]
ESourceSelector: Add e_source_selector_ref_source_by_path().
Replaces e_source_selector_get_source_by_path().
Returns a new ESource reference that the caller must unreference.
Matthew Barnes [Sat, 21 Apr 2012 14:48:10 +0000 (10:48 -0400)]
Bump libedataserverui shared object name.
In anticipation of some API breaks.
Matthew Barnes [Sat, 21 Apr 2012 13:47:20 +0000 (09:47 -0400)]
EBookBackendLDAP: Miscellaneous tweaks.
Eliminating diff noise with the account-mgmt branch.
Matthew Barnes [Sat, 21 Apr 2012 17:23:04 +0000 (13:23 -0400)]
Forgot one.
Matthew Barnes [Sat, 21 Apr 2012 17:16:15 +0000 (13:16 -0400)]
Add yet more missing linker flags.
Matthew Barnes [Sat, 21 Apr 2012 17:07:04 +0000 (13:07 -0400)]
Add another missing linker flag.
Matthew Barnes [Sat, 21 Apr 2012 17:05:11 +0000 (13:05 -0400)]
Add missing linker flag.
Milan Crha [Fri, 20 Apr 2012 08:33:21 +0000 (10:33 +0200)]
Bug #665381 - LDAP backend crash when query_ldap_root_dse() fails
Fran Diéguez [Thu, 19 Apr 2012 17:49:05 +0000 (19:49 +0200)]
Updated Galician translations
Matthew Barnes [Wed, 18 Apr 2012 18:37:59 +0000 (14:37 -0400)]
Update API documentation.
Matthew Barnes [Wed, 18 Apr 2012 15:54:13 +0000 (11:54 -0400)]
Remove some redundant argument checks.
Milan Crha [Wed, 18 Apr 2012 09:30:21 +0000 (11:30 +0200)]
Bug #674309 - Crash when calling oauth_init_nss() from two threads
Kjartan Maraas [Wed, 18 Apr 2012 07:25:46 +0000 (09:25 +0200)]
Updated Norwegian bokmål translation
Matthew Barnes [Tue, 17 Apr 2012 16:54:29 +0000 (12:54 -0400)]
EDataFactory: Readability tweaks.
Matthew Barnes [Tue, 17 Apr 2012 16:43:43 +0000 (12:43 -0400)]
Add e_data_factory_ref_backend_factory().
Just a way to get access to the EBackendFactory itself.
Needed on the account-mgmt branch to check whether a suitable E-D-S
backend factory is available to handle a given GNOME Online Account
provider type such as "exchange".
Milan Crha [Tue, 17 Apr 2012 15:44:52 +0000 (17:44 +0200)]
Bug #667891 - Rapid message list regen when downloading a folder
Sasi Bhushan [Tue, 17 Apr 2012 09:49:41 +0000 (15:19 +0530)]
Updated Telugu Translation
Matthew Barnes [Mon, 16 Apr 2012 22:02:53 +0000 (18:02 -0400)]
EDataFactory: Clarify a comment.
Verified this with Ryan Lortie.
Matthew Barnes [Mon, 16 Apr 2012 21:43:47 +0000 (17:43 -0400)]
EDataFactory: Move reload policy to subclasses.
The upcoming D-Bus service for data sources will be derived from
EDataFactoryClass, and it *does* support E_DBUS_SERVER_EXIT_RELOAD.
Matthew Barnes [Mon, 16 Apr 2012 14:03:10 +0000 (10:03 -0400)]
Remove EBackend::last-client-gone signal.
The signal is no longer needed due to the previous EDataFactory commit.
I also removed a couple unused "last_client_gone" function pointers in
EBookBackendClass and ECalBackendClass just to get rid of all traces of
the signal (and since I'm on an ABI breaking spree anyway).
The API breakage should be contained within E-D-S. The ABI breakage
will affect 3rd party extensions so the libedata-book and libedata-cal
shared object names have been bumped for good measure.
Matthew Barnes [Mon, 16 Apr 2012 13:43:09 +0000 (09:43 -0400)]
EDataFactory: Keep only weak references to backends.
Have EDataFactory keep only weak references to the EBackend instances it
creates. Then, when the last client connection to a backend closes, the
backend finalizes automatically. No explicit action required.
This breaks the API slightly by renaming e_data_factory_get_backend() to
e_data_factory_ref_backend() to reflect the fact that a strong reference
is now returned to the caller, and the caller must call g_object_unref()
when finished with it. The impact of the API break should be contained
within E-D-S.
This uses the new GWeakRef API in GLib 2.32 to ensure thread-safety.
The libebackend shared object name has already been bumped for 3.5.1.
Matthew Barnes [Mon, 16 Apr 2012 13:30:23 +0000 (09:30 -0400)]
Fix more missing linker flags.
Matthew Barnes [Mon, 16 Apr 2012 14:55:17 +0000 (10:55 -0400)]
EDataCalFactory: Implement GInitable.
Not needed just yet, but my previous batch of commits broke this
and it's needed on the account-mgmt branch. So rough it in now.
Matthew Barnes [Mon, 16 Apr 2012 14:53:40 +0000 (10:53 -0400)]
EDataBookFactory: Implement GInitable.
Not needed just yet, but my previous batch of commits broke this
and it's needed on the account-mgmt branch. So rough it in now.
Matthew Barnes [Mon, 16 Apr 2012 14:32:03 +0000 (10:32 -0400)]
EBookBackendLDAP: GSource IDs are unsigned.
Matthew Barnes [Sun, 15 Apr 2012 17:20:19 +0000 (13:20 -0400)]
EDataCalFactory targets ECalBackendFactory.
Matthew Barnes [Sun, 15 Apr 2012 17:18:52 +0000 (13:18 -0400)]
EDataCalFactory: Cosmetic tweaks.
Matthew Barnes [Sun, 15 Apr 2012 17:15:52 +0000 (13:15 -0400)]
EDataBookFactory targets EBookBackendFactory.
Matthew Barnes [Sun, 15 Apr 2012 17:14:23 +0000 (13:14 -0400)]
EDataBookFactory: Cosmetic tweaks.
Matthew Barnes [Sun, 15 Apr 2012 16:44:17 +0000 (12:44 -0400)]
ECalBackendFactory is missing a 'priv' pointer.
Unfortunately fixing this breaks libedata-cal's ABI.
Matthew Barnes [Sun, 15 Apr 2012 16:45:58 +0000 (12:45 -0400)]
EBookBackendFactory is missing a 'priv' pointer.
Unfortunately fixing this breaks libedata-book's ABI.
Matthew Barnes [Sun, 15 Apr 2012 16:33:51 +0000 (12:33 -0400)]
ECalBackendFactory extends EDataCalFactory.
Matthew Barnes [Sun, 15 Apr 2012 16:27:19 +0000 (12:27 -0400)]
EBookBackendFactory extends EDataBookFactory.
Matthew Barnes [Sun, 15 Apr 2012 16:12:29 +0000 (12:12 -0400)]
EDataFactory: Add 'backend_factory_type' class member.
Subclasses may now specify exactly what type of backend factories to
instantiate by setting the 'backend_factory_type' class member, which
defaults to E_TYPE_BACKEND_FACTORY.
Note that because sizeof(GType) and sizeof(gpointer) are not necessarily
equal, the reserved pointer pool at the end of the class struct does not
help us avoid an ABI break in this case. But the libebackend's ABI has
already been broken since 3.4.0.
Matthew Barnes [Sun, 15 Apr 2012 16:06:46 +0000 (12:06 -0400)]
Have EDBusServer load modules and extensions.
Matthew Barnes [Sun, 15 Apr 2012 16:02:52 +0000 (12:02 -0400)]
EDataFactory: No need to implement GInitable.
Load EBackendFactory instances in constructed().
Matthew Barnes [Sun, 15 Apr 2012 15:57:33 +0000 (11:57 -0400)]
EDataFactory: Remove redundant interface declaration.
EDataFactory's base class (EDBusServer) is already extensible.
Matthew Barnes [Sat, 14 Apr 2012 18:06:05 +0000 (14:06 -0400)]
Miscellaneous tweaks.
Just comparing branches, reducing diff noise.
Matthew Barnes [Sat, 14 Apr 2012 17:27:26 +0000 (13:27 -0400)]
Remove EDataFactory's "online" property.
Network monitoring no longer needs to be centralized in EDataFactory
since we're using GNetworkMonitor, so remove EDataFactory's "online"
property and public get/set functions.
Instead, let each EBackend instance manage its own "online" state.
Eventually we'll transition to more sophisticated network monitoring.
This is an API break but not the first since 3.5.1 development began.
libebackend's shared object name has already been bumped.
Matthew Barnes [Sat, 14 Apr 2012 14:41:18 +0000 (10:41 -0400)]
Fix e_backend_factory_get_hash_key() documentation.
Matthew Barnes [Thu, 12 Apr 2012 13:49:19 +0000 (09:49 -0400)]
ENameSelectorDialog: Remove use of "primary_addressbook".
It's not appropriate for a libedataserverui widget to initialize itself
based on Evolution-specific state. This also eliminates GConf usage in
ENameSelectorDialog.
Matthew Barnes [Thu, 12 Apr 2012 13:41:47 +0000 (09:41 -0400)]
ENameSelectorEntry: Remove USER_QUERY_FIELDS macro.
No schema was ever defined for this GConf key so it couldn't have been
that important. The symbol name itself is not namespaced properly (no
"E" prefix). And it's inappropriate to use Evolution-specific keys in
E-D-S to begin with.
This is an API break. There will be more along these lines.
Matthew Barnes [Thu, 12 Apr 2012 13:26:20 +0000 (09:26 -0400)]
Make ENameSelectorEntry extensible.