summaryrefslogtreecommitdiff
path: root/addressbook
diff options
context:
space:
mode:
authorMilan Crha <mcrha@redhat.com>2015-07-01 12:10:17 +0200
committerMilan Crha <mcrha@redhat.com>2015-07-01 12:10:17 +0200
commit28307028116a9cb839a9f4d027b153e7111e10a4 (patch)
tree415c43b5dd9a57a61a7572ab42c1e418e8624201 /addressbook
parent0f9933b44411c07fc68bdeadcc49cf5003f1cd16 (diff)
downloadevolution-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.c10
-rw-r--r--addressbook/backends/ldap/e-book-backend-ldap.c1
-rw-r--r--addressbook/backends/webdav/e-book-backend-webdav.c5
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 (&current_time);
cache_set_last_update (backend, &current_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);