diff options
author | Chenthill Palanisamy <pchenthill@novell.com> | 2007-08-17 15:46:35 +0800 |
---|---|---|
committer | Chenthill Palanisamy <pchen@src.gnome.org> | 2007-08-17 15:46:35 +0800 |
commit | 18c39ea2cabf9d7611d8f2320df4342256ba720a (patch) | |
tree | 45a8204dd29aad5f23ca2bf8cc5f691200475830 /calendar/gui/e-meeting-list-view.c | |
parent | 03799599ca20ba1218efa6564494a381863b0da7 (diff) | |
download | gsoc2013-evolution-18c39ea2cabf9d7611d8f2320df4342256ba720a.tar gsoc2013-evolution-18c39ea2cabf9d7611d8f2320df4342256ba720a.tar.gz gsoc2013-evolution-18c39ea2cabf9d7611d8f2320df4342256ba720a.tar.bz2 gsoc2013-evolution-18c39ea2cabf9d7611d8f2320df4342256ba720a.tar.lz gsoc2013-evolution-18c39ea2cabf9d7611d8f2320df4342256ba720a.tar.xz gsoc2013-evolution-18c39ea2cabf9d7611d8f2320df4342256ba720a.tar.zst gsoc2013-evolution-18c39ea2cabf9d7611d8f2320df4342256ba720a.zip |
Fixes #274070 (bnc)
2007-08-17 Chenthill Palanisamy <pchenthill@novell.com>
Fixes #274070 (bnc)
* gui/e-meeting-attendee.[ch]: (e_meeting_attendee_finalize),
(e_meeting_attendee_get_fburi), (e_meeting_attendee_set_fburi):
* gui/e-meeting-list-view.c: (process_section):
* gui/e-meeting-store.c: (freebusy_async), (start_async_read):
If the contact has a free busy url specified with it, use it to
show free busy information.
svn path=/trunk/; revision=34021
Diffstat (limited to 'calendar/gui/e-meeting-list-view.c')
-rw-r--r-- | calendar/gui/e-meeting-list-view.c | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/calendar/gui/e-meeting-list-view.c b/calendar/gui/e-meeting-list-view.c index 15391fef91..6f104d985e 100644 --- a/calendar/gui/e-meeting-list-view.c +++ b/calendar/gui/e-meeting-list-view.c @@ -755,8 +755,9 @@ process_section (EMeetingListView *view, GList *destinations, icalparameter_role for (l = list_dests; l; l = l->next) { EDestination *dest = l->data; + EContact *contact; const char *name, *attendee = NULL; - char *attr = NULL; + char *attr = NULL, *fburi = NULL; name = e_destination_get_name (dest); @@ -765,7 +766,6 @@ process_section (EMeetingListView *view, GList *destinations, icalparameter_role &attr, NULL)) { /* FIXME this should be more general */ if (!g_ascii_strcasecmp (attr, "icscalendar")) { - EContact *contact; /* FIXME: this does not work, have to use first e_destination_use_contact() */ @@ -782,9 +782,14 @@ process_section (EMeetingListView *view, GList *destinations, icalparameter_role if (attendee == NULL || *attendee == '\0') { attendee = e_destination_get_email (dest); } - + if (attendee == NULL || *attendee == '\0') continue; + + contact = e_destination_get_contact (dest); + if (contact) + fburi = e_contact_get (contact, E_CONTACT_FREEBUSY_URL); + if (e_meeting_store_find_attendee (priv->store, attendee, NULL) == NULL) { EMeetingAttendee *ia = e_meeting_store_add_attendee_with_defaults (priv->store); @@ -794,6 +799,9 @@ process_section (EMeetingListView *view, GList *destinations, icalparameter_role if (role == ICAL_ROLE_NONPARTICIPANT) e_meeting_attendee_set_cutype (ia, ICAL_CUTYPE_RESOURCE); e_meeting_attendee_set_cn (ia, g_strdup (name)); + + if (fburi) + e_meeting_attendee_set_fburi (ia, fburi); } else { if (g_slist_length (*la) == 1) { g_slist_free (*la); |