diff options
author | Milan Crha <mcrha@redhat.com> | 2009-04-25 01:40:31 +0800 |
---|---|---|
committer | Milan Crha <mcrha@redhat.com> | 2009-04-25 01:40:31 +0800 |
commit | 2403bbcdd196745314786af3b6318de56ef3948e (patch) | |
tree | a40b172dec814a8f7c214979c7735a46d2c73c08 /plugins/webdav-account-setup | |
parent | 23df769955ea54f756a579c19964df87ae6fd5c8 (diff) | |
download | gsoc2013-evolution-2403bbcdd196745314786af3b6318de56ef3948e.tar gsoc2013-evolution-2403bbcdd196745314786af3b6318de56ef3948e.tar.gz gsoc2013-evolution-2403bbcdd196745314786af3b6318de56ef3948e.tar.bz2 gsoc2013-evolution-2403bbcdd196745314786af3b6318de56ef3948e.tar.lz gsoc2013-evolution-2403bbcdd196745314786af3b6318de56ef3948e.tar.xz gsoc2013-evolution-2403bbcdd196745314786af3b6318de56ef3948e.tar.zst gsoc2013-evolution-2403bbcdd196745314786af3b6318de56ef3948e.zip |
Use new ESourceList API (simplifies code)
** Part of fix for bug #569652
Diffstat (limited to 'plugins/webdav-account-setup')
-rw-r--r-- | plugins/webdav-account-setup/ChangeLog | 9 | ||||
-rw-r--r-- | plugins/webdav-account-setup/webdav-contacts-source.c | 47 |
2 files changed, 12 insertions, 44 deletions
diff --git a/plugins/webdav-account-setup/ChangeLog b/plugins/webdav-account-setup/ChangeLog index 354371cc6a..ce72e9c671 100644 --- a/plugins/webdav-account-setup/ChangeLog +++ b/plugins/webdav-account-setup/ChangeLog @@ -1,3 +1,12 @@ +2009-04-24 Milan Crha <mcrha@redhat.com> + + ** Part of fix for bug #569652 + + * webdav-contacts-source.c: (find_webdav_group): Removed. + * webdav-contacts-source.c: (ensure_webdav_contacts_source_group), + (remove_webdav_contacts_source_group): + Use new ESourceList API (simplifies code). + 2009-02-26 Matthew Barnes <mbarnes@redhat.com> ** Fixes part of bug #572950 diff --git a/plugins/webdav-account-setup/webdav-contacts-source.c b/plugins/webdav-account-setup/webdav-contacts-source.c index 8edfa59372..012a541d27 100644 --- a/plugins/webdav-account-setup/webdav-contacts-source.c +++ b/plugins/webdav-account-setup/webdav-contacts-source.c @@ -54,33 +54,10 @@ plugin_webdav_contacts(EPlugin *epl, EConfigHookItemFactoryData *data); int e_plugin_lib_enable(EPluginLib *ep, int enable); -static ESourceGroup * -find_webdav_group (ESourceList *slist) -{ - GSList *groups, *g; - ESourceGroup *group = NULL; - - g_return_val_if_fail (slist != NULL, NULL); - - groups = e_source_list_peek_groups (slist); - for (g = groups; g; g = g->next) { - group = E_SOURCE_GROUP (g->data); - - if (group && e_source_group_peek_base_uri (group) && - g_ascii_strncasecmp (BASE_URI, e_source_group_peek_base_uri (group), strlen (BASE_URI)) == 0) - break; - - group = NULL; - } - - return group; -} - static void ensure_webdav_contacts_source_group(void) { ESourceList *source_list; - ESourceGroup *group; source_list = e_source_list_new_for_gconf_default("/apps/evolution/addressbook/sources"); @@ -88,26 +65,8 @@ ensure_webdav_contacts_source_group(void) return; } - group = find_webdav_group (source_list); - - if (group == NULL) { - gboolean res; - - group = e_source_group_new(_("WebDAV"), BASE_URI); - res = e_source_list_add_group(source_list, group, -1); - - if (res == FALSE) { - g_warning("Could not add WebDAV source group!"); - } else { - e_source_list_sync(source_list, NULL); - } - - g_object_unref(group); - } else { - e_source_group_set_name (group, _("WebDAV")); - } - - g_object_unref(source_list); + e_source_list_ensure_group (source_list, _("WebDAV"), BASE_URI, FALSE); + g_object_unref (source_list); } static void @@ -122,7 +81,7 @@ remove_webdav_contacts_source_group(void) return; } - group = find_webdav_group (source_list); + group = e_source_list_peek_group_by_base_uri (source_list, BASE_URI); if (group) { GSList *sources; |