diff options
author | Milan Crha <mcrha@redhat.com> | 2015-07-01 12:10:17 +0200 |
---|---|---|
committer | Milan Crha <mcrha@redhat.com> | 2015-07-01 12:10:17 +0200 |
commit | 28307028116a9cb839a9f4d027b153e7111e10a4 (patch) | |
tree | 415c43b5dd9a57a61a7572ab42c1e418e8624201 /addressbook | |
parent | 0f9933b44411c07fc68bdeadcc49cf5003f1cd16 (diff) | |
download | evolution-data-server-28307028116a9cb839a9f4d027b153e7111e10a4.tar.gz |
Bug 751701 - Update ESource's connection status after server connect
Diffstat (limited to 'addressbook')
-rw-r--r-- | addressbook/backends/google/e-book-backend-google.c | 10 | ||||
-rw-r--r-- | addressbook/backends/ldap/e-book-backend-ldap.c | 1 | ||||
-rw-r--r-- | addressbook/backends/webdav/e-book-backend-webdav.c | 5 |
3 files changed, 16 insertions, 0 deletions
diff --git a/addressbook/backends/google/e-book-backend-google.c b/addressbook/backends/google/e-book-backend-google.c index d6b5faea9..b3e402254 100644 --- a/addressbook/backends/google/e-book-backend-google.c +++ b/addressbook/backends/google/e-book-backend-google.c @@ -766,6 +766,8 @@ get_new_contacts_cb (GDataService *service, GTimeVal current_time; g_get_current_time (¤t_time); cache_set_last_update (backend, ¤t_time); + + e_backend_ensure_source_status_connected (E_BACKEND (backend)); } /* Thaw the cache again */ @@ -926,6 +928,8 @@ get_groups_cb (GDataService *service, g_rec_mutex_lock (&priv->groups_lock); g_get_current_time (&(priv->groups_last_update)); g_rec_mutex_unlock (&priv->groups_lock); + + e_backend_ensure_source_status_connected (E_BACKEND (backend)); } finish_operation (backend, -2, gdata_error); @@ -1897,6 +1901,8 @@ exit: g_warn_if_fail (success == FALSE); data_book_error_from_gdata_error (error, gdata_error); g_error_free (gdata_error); + } else { + e_backend_ensure_source_status_connected (E_BACKEND (backend)); } return success; @@ -2113,6 +2119,8 @@ exit: g_warn_if_fail (success == FALSE); data_book_error_from_gdata_error (error, gdata_error); g_error_free (gdata_error); + } else { + e_backend_ensure_source_status_connected (E_BACKEND (backend)); } return success; @@ -2188,6 +2196,8 @@ book_backend_google_remove_contacts_sync (EBookBackend *backend, g_warn_if_fail (success == FALSE); data_book_error_from_gdata_error (error, gdata_error); g_error_free (gdata_error); + } else { + e_backend_ensure_source_status_connected (E_BACKEND (backend)); } return success; diff --git a/addressbook/backends/ldap/e-book-backend-ldap.c b/addressbook/backends/ldap/e-book-backend-ldap.c index 0efe3e9ba..cd8d2d97f 100644 --- a/addressbook/backends/ldap/e-book-backend-ldap.c +++ b/addressbook/backends/ldap/e-book-backend-ldap.c @@ -948,6 +948,7 @@ e_book_backend_ldap_connect (EBookBackendLDAP *bl, "e_book_backend_ldap_connect took %ld.%03ld seconds\n", diff / 1000,diff % 1000); } + e_backend_ensure_source_status_connected (E_BACKEND (bl)); return TRUE; } else if (ldap_error == LDAP_UNWILLING_TO_PERFORM) { if (blpriv->ldap) { diff --git a/addressbook/backends/webdav/e-book-backend-webdav.c b/addressbook/backends/webdav/e-book-backend-webdav.c index ce9f8e7e7..438f3f5c5 100644 --- a/addressbook/backends/webdav/e-book-backend-webdav.c +++ b/addressbook/backends/webdav/e-book-backend-webdav.c @@ -224,6 +224,9 @@ send_and_handle_ssl (EBookBackendWebdav *webdav, status_code = soup_session_send_message (webdav->priv->session, message); + if (SOUP_STATUS_IS_SUCCESSFUL (status_code)) + e_backend_ensure_source_status_connected (E_BACKEND (webdav)); + return status_code; } @@ -1423,6 +1426,8 @@ book_backend_webdav_open_sync (EBookBackend *backend, } g_clear_error (&local_error2); + } else { + e_source_set_connection_status (source, E_SOURCE_CONNECTION_STATUS_CONNECTED); } g_free (certificate_pem); |