diff options
author | Milan Crha <mcrha@redhat.com> | 2009-04-25 01:40:31 +0800 |
---|---|---|
committer | Matthew Barnes <mbarnes@redhat.com> | 2009-04-28 20:02:19 +0800 |
commit | d49d7cb2f73c578e48d02f8241cdb6771379210f (patch) | |
tree | 9b920a74189ff23098ee9d37c20bcdf322731474 /plugins | |
parent | d261d0b2e46d4793c2d54540782552846535eb60 (diff) | |
download | gsoc2013-evolution-d49d7cb2f73c578e48d02f8241cdb6771379210f.tar gsoc2013-evolution-d49d7cb2f73c578e48d02f8241cdb6771379210f.tar.gz gsoc2013-evolution-d49d7cb2f73c578e48d02f8241cdb6771379210f.tar.bz2 gsoc2013-evolution-d49d7cb2f73c578e48d02f8241cdb6771379210f.tar.lz gsoc2013-evolution-d49d7cb2f73c578e48d02f8241cdb6771379210f.tar.xz gsoc2013-evolution-d49d7cb2f73c578e48d02f8241cdb6771379210f.tar.zst gsoc2013-evolution-d49d7cb2f73c578e48d02f8241cdb6771379210f.zip |
Use new ESourceList API (simplifies code)
** Part of fix for bug #569652
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/caldav/ChangeLog | 7 | ||||
-rw-r--r-- | plugins/caldav/caldav-source.c | 32 | ||||
-rw-r--r-- | plugins/google-account-setup/ChangeLog | 13 | ||||
-rw-r--r-- | plugins/google-account-setup/google-contacts-source.c | 49 | ||||
-rw-r--r-- | plugins/google-account-setup/google-contacts-source.h | 2 | ||||
-rw-r--r-- | plugins/google-account-setup/google-source.c | 2 | ||||
-rw-r--r-- | plugins/webdav-account-setup/ChangeLog | 9 | ||||
-rw-r--r-- | plugins/webdav-account-setup/webdav-contacts-source.c | 47 |
8 files changed, 36 insertions, 125 deletions
diff --git a/plugins/caldav/ChangeLog b/plugins/caldav/ChangeLog index 2fe681cb55..5f28deb6b3 100644 --- a/plugins/caldav/ChangeLog +++ b/plugins/caldav/ChangeLog @@ -1,5 +1,12 @@ 2009-04-24 Milan Crha <mcrha@redhat.com> + ** Part of fix for bug #569652 + + * caldav-source.c: (ensure_caldav_source_group): + Use new ESourceList API (simplifies code). + +2009-04-24 Milan Crha <mcrha@redhat.com> + ** Fix for bug #572348 * caldav-source.c: Remove deprecated Gtk+ symbols. diff --git a/plugins/caldav/caldav-source.c b/plugins/caldav/caldav-source.c index 00ca5acac5..46e510367f 100644 --- a/plugins/caldav/caldav-source.c +++ b/plugins/caldav/caldav-source.c @@ -55,43 +55,13 @@ static void ensure_caldav_source_group (ECalSourceType source_type) { ESourceList *slist; - GSList *groups, *g; - ESourceGroup *group = NULL; if (!e_cal_get_sources (&slist, source_type, NULL)) { g_warning ("Could not get calendar source list from GConf!"); return; } - 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) && strncmp ("caldav://", e_source_group_peek_base_uri (group), 9) == 0) - break; - - group = NULL; - } - - if (group == NULL) { - /* no such group has been found, create it */ - gboolean res; - - group = e_source_group_new (_("CalDAV"), "caldav://"); - res = e_source_list_add_group (slist, group, -1); - - if (res == FALSE) { - g_warning ("Could not add CalDAV source group!"); - } else { - e_source_list_sync (slist, NULL); - } - - g_object_unref (group); - } else { - /* we found the group, change the name based on the actual language */ - e_source_group_set_name (group, _("CalDAV")); - } - + e_source_list_ensure_group (slist, _("CalDAV"), "caldav://", FALSE); g_object_unref (slist); } diff --git a/plugins/google-account-setup/ChangeLog b/plugins/google-account-setup/ChangeLog index 03cf6b4e3e..43513257b7 100644 --- a/plugins/google-account-setup/ChangeLog +++ b/plugins/google-account-setup/ChangeLog @@ -1,5 +1,18 @@ 2009-04-24 Milan Crha <mcrha@redhat.com> + ** Part of fix for bug #569652 + + * google-contacts-source.h: (manage_google_group): + * google-contacts-source.c: (manage_google_group): + Removed. + + * google-contacts-source.c: (ensure_google_contacts_source_group), + (remove_google_contacts_source_group): + * google-source.c: (ensure_google_source_group): + Use new ESourceList API (simplifies code). + +2009-04-24 Milan Crha <mcrha@redhat.com> + ** Fix for bug #572348 * google-source.c: Remove deprecated Gtk+ symbols. diff --git a/plugins/google-account-setup/google-contacts-source.c b/plugins/google-account-setup/google-contacts-source.c index 6d9697194b..00b7ebc2a5 100644 --- a/plugins/google-account-setup/google-contacts-source.c +++ b/plugins/google-account-setup/google-contacts-source.c @@ -37,51 +37,6 @@ #include "google-contacts-source.h" -/** - * manage_google_group: - * Searches for a 'Google' source group and ensures it has the correct - * name. If only_return is set to true, then only returns found group. - * Otherwise returns NULL. - **/ -ESourceGroup * -manage_google_group (ESourceList *slist, gboolean only_return) -{ - 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 ("google://", e_source_group_peek_base_uri (group), 9) == 0) - break; - - group = NULL; - } - - if (only_return) - return group; - - if (group) { - e_source_group_set_name (group, _("Google")); - } else { - group = e_source_group_new (_("Google"), "google://"); - - if (!e_source_list_add_group (slist, group, -1)) { - g_warning ("Could not add Google source group!"); - } else { - e_source_list_sync (slist, NULL); - } - - g_object_unref (group); - } - - return NULL; -} - void ensure_google_contacts_source_group (void) { @@ -93,7 +48,7 @@ ensure_google_contacts_source_group (void) return; } - manage_google_group (source_list, FALSE); + e_source_list_ensure_group (source_list, _("Google"), "google://", FALSE); g_object_unref (source_list); } @@ -109,7 +64,7 @@ remove_google_contacts_source_group (void) return; } - group = manage_google_group (source_list, TRUE); + group = e_source_list_peek_group_by_base_uri (source_list, "google://"); if (group) { GSList *sources; diff --git a/plugins/google-account-setup/google-contacts-source.h b/plugins/google-account-setup/google-contacts-source.h index b4fd5d6b77..54c21d18a6 100644 --- a/plugins/google-account-setup/google-contacts-source.h +++ b/plugins/google-account-setup/google-contacts-source.h @@ -28,6 +28,4 @@ void ensure_google_contacts_source_group (void); void remove_google_contacts_source_group (void); -ESourceGroup *manage_google_group (ESourceList *slist, gboolean only_return); - #endif diff --git a/plugins/google-account-setup/google-source.c b/plugins/google-account-setup/google-source.c index a5b846076f..c296ab687f 100644 --- a/plugins/google-account-setup/google-source.c +++ b/plugins/google-account-setup/google-source.c @@ -78,7 +78,7 @@ ensure_google_source_group (void) return; } - manage_google_group (slist, FALSE); + e_source_list_ensure_group (slist, _("Google"), "google://", FALSE); g_object_unref (slist); } 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; |