aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/gui/e-meeting-list-view.c
diff options
context:
space:
mode:
authorChenthill Palanisamy <pchenthill@novell.com>2007-08-17 15:46:35 +0800
committerChenthill Palanisamy <pchen@src.gnome.org>2007-08-17 15:46:35 +0800
commit18c39ea2cabf9d7611d8f2320df4342256ba720a (patch)
tree45a8204dd29aad5f23ca2bf8cc5f691200475830 /calendar/gui/e-meeting-list-view.c
parent03799599ca20ba1218efa6564494a381863b0da7 (diff)
downloadgsoc2013-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.c14
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);