summaryrefslogtreecommitdiff
path: root/src/services/evolution-source-registry
diff options
context:
space:
mode:
authorMilan Crha <mcrha@redhat.com>2018-07-17 14:25:03 +0200
committerMilan Crha <mcrha@redhat.com>2018-07-17 14:25:03 +0200
commit73db49a612a8384b70ead3a0e6453d05102c475a (patch)
tree83da7e2ad47895fe95589b1de05ac6ba024d7f09 /src/services/evolution-source-registry
parent6ec7cffe7d2fb8a4e2a1687884cb833baa387ab8 (diff)
downloadevolution-data-server-73db49a612a8384b70ead3a0e6453d05102c475a.tar.gz
Bug 788370 - Rename address book WebDAV backend to CardDAV
Diffstat (limited to 'src/services/evolution-source-registry')
-rw-r--r--src/services/evolution-source-registry/CMakeLists.txt2
-rw-r--r--src/services/evolution-source-registry/builtin/carddav-stub.source.in (renamed from src/services/evolution-source-registry/builtin/webdav-stub.source.in)0
-rw-r--r--src/services/evolution-source-registry/evolution-source-registry-migrate-tweaks.c42
-rw-r--r--src/services/evolution-source-registry/evolution-source-registry-resource.xml2
4 files changed, 43 insertions, 3 deletions
diff --git a/src/services/evolution-source-registry/CMakeLists.txt b/src/services/evolution-source-registry/CMakeLists.txt
index 3ade922ef..a6462a4d0 100644
--- a/src/services/evolution-source-registry/CMakeLists.txt
+++ b/src/services/evolution-source-registry/CMakeLists.txt
@@ -23,13 +23,13 @@ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/org.gnome.evolution.dataserver.Sources
set(builtin_sources_files
caldav-stub.source
+ carddav-stub.source
contacts-stub.source
google-stub.source
ldap-stub.source
local-stub.source
weather-stub.source
webcal-stub.source
- webdav-stub.source
birthdays.source
local.source
sendmail.source
diff --git a/src/services/evolution-source-registry/builtin/webdav-stub.source.in b/src/services/evolution-source-registry/builtin/carddav-stub.source.in
index dc77afa7e..dc77afa7e 100644
--- a/src/services/evolution-source-registry/builtin/webdav-stub.source.in
+++ b/src/services/evolution-source-registry/builtin/carddav-stub.source.in
diff --git a/src/services/evolution-source-registry/evolution-source-registry-migrate-tweaks.c b/src/services/evolution-source-registry/evolution-source-registry-migrate-tweaks.c
index 07d896d8b..82d113d98 100644
--- a/src/services/evolution-source-registry/evolution-source-registry-migrate-tweaks.c
+++ b/src/services/evolution-source-registry/evolution-source-registry-migrate-tweaks.c
@@ -168,6 +168,46 @@ evolution_source_registry_migrate_owncloud_to_webdav (ESourceRegistryServer *ser
return modified;
}
+#define PRIMARY_GROUP_NAME "Data Source"
+
+static gboolean
+evolution_source_registry_migrate_webdav_book_to_carddav (ESourceRegistryServer *server,
+ GKeyFile *key_file,
+ const gchar *uid)
+{
+ gboolean modified = FALSE;
+
+ g_return_val_if_fail (key_file != NULL, FALSE);
+
+ if (g_key_file_has_group (key_file, E_SOURCE_EXTENSION_ADDRESS_BOOK) &&
+ g_key_file_has_key (key_file, E_SOURCE_EXTENSION_ADDRESS_BOOK, "BackendName", NULL)) {
+ gchar *backend_name;
+
+ backend_name = g_key_file_get_string (key_file, E_SOURCE_EXTENSION_ADDRESS_BOOK, "BackendName", NULL);
+ if (g_strcmp0 (backend_name, "webdav") == 0) {
+ g_key_file_set_string (key_file, E_SOURCE_EXTENSION_ADDRESS_BOOK, "BackendName", "carddav");
+ modified = TRUE;
+ }
+
+ g_free (backend_name);
+ }
+
+ if (g_key_file_has_group (key_file, PRIMARY_GROUP_NAME) &&
+ g_key_file_has_key (key_file, PRIMARY_GROUP_NAME, "Parent", NULL)) {
+ gchar *parent;
+
+ parent = g_key_file_get_string (key_file, PRIMARY_GROUP_NAME, "Parent", NULL);
+ if (g_strcmp0 (parent, "webdav-stub") == 0) {
+ g_key_file_set_string (key_file, PRIMARY_GROUP_NAME, "Parent", "carddav-stub");
+ modified = TRUE;
+ }
+
+ g_free (parent);
+ }
+
+ return modified;
+}
+
gboolean
evolution_source_registry_migrate_tweak_key_file (ESourceRegistryServer *server,
GKeyFile *key_file,
@@ -176,8 +216,8 @@ evolution_source_registry_migrate_tweak_key_file (ESourceRegistryServer *server,
gboolean modified;
modified = evolution_source_registry_migrate_imap_to_imapx (server, key_file, uid);
-
modified = evolution_source_registry_migrate_owncloud_to_webdav (server, key_file, uid) || modified;
+ modified = evolution_source_registry_migrate_webdav_book_to_carddav (server, key_file, uid) || modified;
return modified;
}
diff --git a/src/services/evolution-source-registry/evolution-source-registry-resource.xml b/src/services/evolution-source-registry/evolution-source-registry-resource.xml
index af0776bec..828dd2a64 100644
--- a/src/services/evolution-source-registry/evolution-source-registry-resource.xml
+++ b/src/services/evolution-source-registry/evolution-source-registry-resource.xml
@@ -2,13 +2,13 @@
<gresources>
<gresource prefix="/org/gnome/evolution-data-server/ro-sources">
<file>caldav-stub.source</file>
+ <file>carddav-stub.source</file>
<file>contacts-stub.source</file>
<file>google-stub.source</file>
<file>ldap-stub.source</file>
<file>local-stub.source</file>
<file>weather-stub.source</file>
<file>webcal-stub.source</file>
- <file>webdav-stub.source</file>
</gresource>
<gresource prefix="/org/gnome/evolution-data-server/rw-sources">
<file>birthdays.source</file>