[evolution/wip/mcrha/eds-libical-glib] src/calendar/gui/e-meeting-*
- From: Milan Crha <mcrha src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [evolution/wip/mcrha/eds-libical-glib] src/calendar/gui/e-meeting-*
- Date: Tue, 26 Mar 2019 11:50:07 +0000 (UTC)
commit a59172411bea07a8334fb2f4f647128cacb58d27
Author: Milan Crha <mcrha redhat com>
Date: Tue Mar 26 12:51:00 2019 +0100
src/calendar/gui/e-meeting-*
src/calendar/gui/e-comp-editor-page-general.c | 43 +-
src/calendar/gui/e-meeting-attendee.c | 658 +++++++++++---------------
src/calendar/gui/e-meeting-attendee.h | 217 +++++----
src/calendar/gui/e-meeting-list-view.c | 65 +--
src/calendar/gui/e-meeting-store.c | 477 +++++++++++--------
src/calendar/gui/e-meeting-utils.c | 4 +-
6 files changed, 723 insertions(+), 741 deletions(-)
---
diff --git a/src/calendar/gui/e-comp-editor-page-general.c b/src/calendar/gui/e-comp-editor-page-general.c
index 0f291fcdf3..f1b9464f82 100644
--- a/src/calendar/gui/e-comp-editor-page-general.c
+++ b/src/calendar/gui/e-comp-editor-page-general.c
@@ -268,9 +268,14 @@ ecep_general_attendees_add_clicked_cb (GtkButton *button,
attendee = e_meeting_store_add_attendee_with_defaults (page_general->priv->meeting_store);
- if ((flags & E_COMP_EDITOR_FLAG_DELEGATE) != 0)
- e_meeting_attendee_set_delfrom (attendee, g_strdup_printf ("MAILTO:%s",
- page_general->priv->user_delegator ? page_general->priv->user_delegator : ""));
+ if ((flags & E_COMP_EDITOR_FLAG_DELEGATE) != 0) {
+ gchar *mailto;
+
+ mailto = g_strdup_printf ("MAILTO:%s",
+ page_general->priv->user_delegator ? page_general->priv->user_delegator : "");
+ e_meeting_attendee_set_delfrom (attendee, mailto);
+ g_free (mailto);
+ }
e_meeting_list_view_edit (E_MEETING_LIST_VIEW (page_general->priv->attendees_list_view), attendee);
@@ -449,6 +454,7 @@ ecep_general_attendee_added_cb (EMeetingListView *meeting_list_view,
ECompEditor *comp_editor;
ECompEditorFlags flags;
ECalClient *client;
+ gchar *mailto;
comp_editor = e_comp_editor_page_ref_editor (E_COMP_EDITOR_PAGE (page_general));
flags = e_comp_editor_get_flags (comp_editor);
@@ -463,8 +469,9 @@ ecep_general_attendee_added_cb (EMeetingListView *meeting_list_view,
client = e_comp_editor_get_target_client (comp_editor);
/* do not remove here, it did EMeetingListView already */
- e_meeting_attendee_set_delfrom (attendee, g_strdup_printf ("MAILTO:%s",
- page_general->priv->user_delegator ? page_general->priv->user_delegator : ""));
+ mailto = g_strdup_printf ("MAILTO:%s", page_general->priv->user_delegator ?
page_general->priv->user_delegator : "");
+ e_meeting_attendee_set_delfrom (attendee, mailto);
+ g_free (mailto);
if (client && !e_client_check_capability (E_CLIENT (client),
E_CAL_STATIC_CAPABILITY_DELEGATE_TO_MANY)) {
EMeetingAttendee *delegator;
@@ -473,7 +480,7 @@ ecep_general_attendee_added_cb (EMeetingListView *meeting_list_view,
page_general->priv->user_delegator, NULL);
g_return_if_fail (delegator != NULL);
- e_meeting_attendee_set_delto (delegator, g_strdup (e_meeting_attendee_get_address
(attendee)));
+ e_meeting_attendee_set_delto (delegator, e_meeting_attendee_get_address (attendee));
}
ecep_general_sensitize_widgets (E_COMP_EDITOR_PAGE (page_general), FALSE);
@@ -637,7 +644,11 @@ ecep_general_list_view_event_cb (EMeetingListView *list_view,
flags = e_comp_editor_get_flags (comp_editor);
if ((flags & E_COMP_EDITOR_FLAG_DELEGATE) != 0) {
- e_meeting_attendee_set_delfrom (attendee, g_strdup_printf ("MAILTO:%s",
page_general->priv->user_delegator));
+ gchar *mailto;
+
+ mailto = g_strdup_printf ("MAILTO:%s", page_general->priv->user_delegator);
+ e_meeting_attendee_set_delfrom (attendee, mailto);
+ g_free (mailto);
}
g_clear_object (&comp_editor);
@@ -998,11 +1009,11 @@ ecep_general_fill_widgets (ECompEditorPage *page,
attendee = E_MEETING_ATTENDEE (e_meeting_attendee_new ());
/* It is supposed to be together with the MAILTO: protocol */
- e_meeting_attendee_set_address (attendee, g_strdup (icalproperty_get_attendee
(prop)));
+ e_meeting_attendee_set_address (attendee, icalproperty_get_attendee (prop));
param = icalproperty_get_first_parameter (prop, ICAL_MEMBER_PARAMETER);
if (param)
- e_meeting_attendee_set_member (attendee, g_strdup (icalparameter_get_member
(param)));
+ e_meeting_attendee_set_member (attendee, icalparameter_get_member (param));
param = icalproperty_get_first_parameter (prop, ICAL_CUTYPE_PARAMETER);
if (param)
@@ -1018,27 +1029,27 @@ ecep_general_fill_widgets (ECompEditorPage *page,
param = icalproperty_get_first_parameter (prop, ICAL_DELEGATEDTO_PARAMETER);
if (param)
- e_meeting_attendee_set_delto (attendee, g_strdup
(icalparameter_get_delegatedto (param)));
+ e_meeting_attendee_set_delto (attendee, icalparameter_get_delegatedto
(param));
param = icalproperty_get_first_parameter (prop, ICAL_DELEGATEDFROM_PARAMETER);
if (param)
- e_meeting_attendee_set_delfrom (attendee, g_strdup
(icalparameter_get_delegatedfrom (param)));
+ e_meeting_attendee_set_delfrom (attendee, icalparameter_get_delegatedfrom
(param));
param = icalproperty_get_first_parameter (prop, ICAL_PARTSTAT_PARAMETER);
if (param)
- e_meeting_attendee_set_status (attendee, icalparameter_get_partstat (param));
+ e_meeting_attendee_set_partstat (attendee, icalparameter_get_partstat
(param));
param = icalproperty_get_first_parameter (prop, ICAL_SENTBY_PARAMETER);
if (param)
- e_meeting_attendee_set_sentby (attendee, g_strdup (icalparameter_get_sentby
(param)));
+ e_meeting_attendee_set_sentby (attendee, icalparameter_get_sentby (param));
param = icalproperty_get_first_parameter (prop, ICAL_CN_PARAMETER);
if (param)
- e_meeting_attendee_set_cn (attendee, g_strdup (icalparameter_get_cn (param)));
+ e_meeting_attendee_set_cn (attendee, icalparameter_get_cn (param));
param = icalproperty_get_first_parameter (prop, ICAL_LANGUAGE_PARAMETER);
if (param)
- e_meeting_attendee_set_language (attendee, g_strdup
(icalparameter_get_language (param)));
+ e_meeting_attendee_set_language (attendee, icalparameter_get_language
(param));
e_meeting_store_add_attendee (page_general->priv->meeting_store, attendee);
e_meeting_list_view_add_attendee_to_name_selector (attendees_list_view, attendee);
@@ -1185,7 +1196,7 @@ ecep_general_fill_component (ECompEditorPage *page,
param = icalparameter_new_role (e_meeting_attendee_get_role (attendee));
icalproperty_add_parameter (prop, param);
- param = icalparameter_new_partstat (e_meeting_attendee_get_status (attendee));
+ param = icalparameter_new_partstat (e_meeting_attendee_get_partstat
(attendee));
icalproperty_add_parameter (prop, param);
param = icalparameter_new_rsvp (e_meeting_attendee_get_rsvp (attendee) ?
ICAL_RSVP_TRUE : ICAL_RSVP_FALSE);
diff --git a/src/calendar/gui/e-meeting-attendee.c b/src/calendar/gui/e-meeting-attendee.c
index 3c50466daf..133a0197c5 100644
--- a/src/calendar/gui/e-meeting-attendee.c
+++ b/src/calendar/gui/e-meeting-attendee.c
@@ -35,15 +35,15 @@ struct _EMeetingAttendeePrivate {
gchar *member;
gchar *fburi;
- icalparameter_cutype cutype;
- icalparameter_role role;
+ ICalParameterCutype cutype;
+ ICalParameterRole role;
gboolean rsvp;
gchar *delto;
gchar *delfrom;
- icalparameter_partstat status;
+ ICalParameterPartstat partstat;
gchar *sentby;
gchar *cn;
@@ -76,13 +76,13 @@ static void e_meeting_attendee_finalize (GObject *obj);
G_DEFINE_TYPE (EMeetingAttendee, e_meeting_attendee, G_TYPE_OBJECT)
static gchar *
-string_test (gchar *string)
+string_test (const gchar *string)
{
- return string != NULL ? string : g_strdup ("");
+ return g_strdup (string ? string : "");
}
static gboolean
-string_is_set (gchar *string)
+string_is_set (const gchar *string)
{
if (string != NULL && *string != '\0')
return TRUE;
@@ -110,25 +110,42 @@ notify_changed (EMeetingAttendee *ia)
g_signal_emit_by_name (ia, "changed");
}
+static void
+set_string_value (EMeetingAttendee *ia,
+ gchar **member,
+ const gchar *value)
+{
+ if (!string_is_set (*member) && !string_is_set (value))
+ return;
+
+ if (g_strcmp0 (*member, value) == 0)
+ return;
+
+ g_free (*member);
+ *member = string_test (value);
+
+ notify_changed (ia);
+}
+
static void
e_meeting_attendee_finalize (GObject *object)
{
- EMeetingAttendeePrivate *priv;
+ EMeetingAttendee *ia;
- priv = E_MEETING_ATTENDEE_GET_PRIVATE (object);
+ ia = E_MEETING_ATTENDEE (object);
- g_free (priv->address);
- g_free (priv->member);
- g_free (priv->fburi);
+ g_free (ia->priv->address);
+ g_free (ia->priv->member);
+ g_free (ia->priv->fburi);
- g_free (priv->delto);
- g_free (priv->delfrom);
+ g_free (ia->priv->delto);
+ g_free (ia->priv->delfrom);
- g_free (priv->sentby);
- g_free (priv->cn);
- g_free (priv->language);
+ g_free (ia->priv->sentby);
+ g_free (ia->priv->cn);
+ g_free (ia->priv->language);
- g_array_free (priv->busy_periods, TRUE);
+ g_array_free (ia->priv->busy_periods, TRUE);
/* Chain up to parent's finalize() method. */
G_OBJECT_CLASS (e_meeting_attendee_parent_class)->finalize (object);
@@ -162,15 +179,15 @@ e_meeting_attendee_init (EMeetingAttendee *ia)
ia->priv->address = string_test (NULL);
ia->priv->member = string_test (NULL);
- ia->priv->cutype = ICAL_CUTYPE_NONE;
- ia->priv->role = ICAL_ROLE_NONE;
+ ia->priv->cutype = I_CAL_CUTYPE_NONE;
+ ia->priv->role = I_CAL_ROLE_NONE;
ia->priv->rsvp = FALSE;
ia->priv->delto = string_test (NULL);
ia->priv->delfrom = string_test (NULL);
- ia->priv->status = ICAL_PARTSTAT_NONE;
+ ia->priv->partstat = I_CAL_PARTSTAT_NONE;
ia->priv->sentby = string_test (NULL);
ia->priv->cn = string_test (NULL);
@@ -205,465 +222,351 @@ e_meeting_attendee_new (void)
}
GObject *
-e_meeting_attendee_new_from_e_cal_component_attendee (ECalComponentAttendee *ca)
+e_meeting_attendee_new_from_e_cal_component_attendee (const ECalComponentAttendee *ca)
{
EMeetingAttendee *ia;
+ g_return_val_if_fail (ca != NULL, NULL);
+
ia = E_MEETING_ATTENDEE (g_object_new (E_TYPE_MEETING_ATTENDEE, NULL));
- e_meeting_attendee_set_address (ia, g_strdup (ca->value));
- e_meeting_attendee_set_member (ia, g_strdup (ca->member));
- e_meeting_attendee_set_cutype (ia, ca->cutype);
- e_meeting_attendee_set_role (ia, ca->role);
- e_meeting_attendee_set_status (ia, ca->status);
- e_meeting_attendee_set_rsvp (ia, ca->rsvp);
- e_meeting_attendee_set_delto (ia, g_strdup (ca->delto));
- e_meeting_attendee_set_delfrom (ia, g_strdup (ca->delfrom));
- e_meeting_attendee_set_sentby (ia, g_strdup (ca->sentby));
- e_meeting_attendee_set_cn (ia, g_strdup (ca->cn));
- e_meeting_attendee_set_language (ia, g_strdup (ca->language));
+ e_meeting_attendee_set_address (ia, e_cal_component_attendee_get_value (ca));
+ e_meeting_attendee_set_member (ia, e_cal_component_attendee_get_member (ca));
+ e_meeting_attendee_set_cutype (ia, e_cal_component_attendee_get_cutype (ca));
+ e_meeting_attendee_set_role (ia, e_cal_component_attendee_get_role (ca));
+ e_meeting_attendee_set_partstat (ia, e_cal_component_attendee_get_partstat (ca));
+ e_meeting_attendee_set_rsvp (ia, e_cal_component_attendee_get_rsvp (ca));
+ e_meeting_attendee_set_delto (ia, e_cal_component_attendee_get_delegatedto (ca));
+ e_meeting_attendee_set_delfrom (ia, e_cal_component_attendee_get_delegatedfrom (ca));
+ e_meeting_attendee_set_sentby (ia, e_cal_component_attendee_get_sentby (ca));
+ e_meeting_attendee_set_cn (ia, e_cal_component_attendee_get_cn (ca));
+ e_meeting_attendee_set_language (ia, e_cal_component_attendee_get_language (ca));
return G_OBJECT (ia);
}
ECalComponentAttendee *
-e_meeting_attendee_as_e_cal_component_attendee (EMeetingAttendee *ia)
+e_meeting_attendee_as_e_cal_component_attendee (const EMeetingAttendee *ia)
{
- EMeetingAttendeePrivate *priv;
- ECalComponentAttendee *ca;
-
- priv = ia->priv;
-
- ca = g_new0 (ECalComponentAttendee, 1);
-
- ca->value = priv->address;
- ca->member = string_is_set (priv->member) ? priv->member : NULL;
- ca->cutype= priv->cutype;
- ca->role = priv->role;
- ca->status = priv->status;
- ca->rsvp = priv->rsvp;
- ca->delto = string_is_set (priv->delto) ? priv->delto : NULL;
- ca->delfrom = string_is_set (priv->delfrom) ? priv->delfrom : NULL;
- ca->sentby = string_is_set (priv->sentby) ? priv->sentby : NULL;
- ca->cn = string_is_set (priv->cn) ? priv->cn : NULL;
- ca->language = string_is_set (priv->language) ? priv->language : NULL;
-
- return ca;
+ g_return_val_if_fail (E_IS_MEETING_ATTENDEE (ia), NULL);
+
+ return e_cal_component_attendee_new_full (
+ ia->priv->address,
+ string_is_set (ia->priv->member) ? ia->priv->member : NULL,
+ ia->priv->cutype,
+ ia->priv->role,
+ ia->priv->partstat,
+ ia->priv->rsvp,
+ string_is_set (ia->priv->delfrom) ? ia->priv->delfrom : NULL,
+ string_is_set (ia->priv->delto) ? ia->priv->delto : NULL,
+ string_is_set (ia->priv->sentby) ? ia->priv->sentby : NULL,
+ string_is_set (ia->priv->cn) ? ia->priv->cn : NULL,
+ string_is_set (ia->priv->language) ? ia->priv->language : NULL);
}
const gchar *
-e_meeting_attendee_get_fburi (EMeetingAttendee *ia)
+e_meeting_attendee_get_fburi (const EMeetingAttendee *ia)
{
- EMeetingAttendeePrivate *priv;
+ g_return_val_if_fail (E_IS_MEETING_ATTENDEE (ia), NULL);
- priv = ia->priv;
-
- return priv->fburi;
+ return ia->priv->fburi;
}
void
e_meeting_attendee_set_fburi (EMeetingAttendee *ia,
- gchar *fburi)
+ const gchar *fburi)
{
- EMeetingAttendeePrivate *priv;
-
- priv = ia->priv;
-
- if (priv->fburi != NULL)
- g_free (priv->fburi);
-
- priv->fburi = string_test (fburi);
+ g_return_if_fail (E_IS_MEETING_ATTENDEE (ia));
- notify_changed (ia);
+ set_string_value (ia, &ia->priv->fburi, fburi);
}
const gchar *
-e_meeting_attendee_get_address (EMeetingAttendee *ia)
+e_meeting_attendee_get_address (const EMeetingAttendee *ia)
{
- EMeetingAttendeePrivate *priv;
+ g_return_val_if_fail (E_IS_MEETING_ATTENDEE (ia), NULL);
- priv = ia->priv;
-
- return priv->address;
+ return ia->priv->address;
}
void
e_meeting_attendee_set_address (EMeetingAttendee *ia,
- gchar *address)
+ const gchar *address)
{
- EMeetingAttendeePrivate *priv;
-
- priv = ia->priv;
-
- if (priv->address != NULL)
- g_free (priv->address);
-
- priv->address = string_test (address);
+ g_return_if_fail (E_IS_MEETING_ATTENDEE (ia));
- notify_changed (ia);
+ set_string_value (ia, &ia->priv->address, address);
}
gboolean
-e_meeting_attendee_is_set_address (EMeetingAttendee *ia)
+e_meeting_attendee_is_set_address (const EMeetingAttendee *ia)
{
- EMeetingAttendeePrivate *priv;
-
- priv = ia->priv;
+ g_return_val_if_fail (E_IS_MEETING_ATTENDEE (ia), FALSE);
- return string_is_set (priv->address);
+ return string_is_set (ia->priv->address);
}
const gchar *
-e_meeting_attendee_get_member (EMeetingAttendee *ia)
+e_meeting_attendee_get_member (const EMeetingAttendee *ia)
{
- EMeetingAttendeePrivate *priv;
+ g_return_val_if_fail (E_IS_MEETING_ATTENDEE (ia), NULL);
- priv = ia->priv;
-
- return priv->member;
+ return ia->priv->member;
}
void
e_meeting_attendee_set_member (EMeetingAttendee *ia,
- gchar *member)
+ const gchar *member)
{
- EMeetingAttendeePrivate *priv;
-
- priv = ia->priv;
-
- if (priv->member != NULL)
- g_free (priv->member);
-
- priv->member = string_test (member);
+ g_return_if_fail (E_IS_MEETING_ATTENDEE (ia));
- notify_changed (ia);
+ set_string_value (ia, &ia->priv->member, member);
}
gboolean
-e_meeting_attendee_is_set_member (EMeetingAttendee *ia)
+e_meeting_attendee_is_set_member (const EMeetingAttendee *ia)
{
- EMeetingAttendeePrivate *priv;
-
- priv = ia->priv;
+ g_return_val_if_fail (E_IS_MEETING_ATTENDEE (ia), FALSE);
- return string_is_set (priv->member);
+ return string_is_set (ia->priv->member);
}
-icalparameter_cutype
-e_meeting_attendee_get_cutype (EMeetingAttendee *ia)
+ICalParameterCutype
+e_meeting_attendee_get_cutype (const EMeetingAttendee *ia)
{
- EMeetingAttendeePrivate *priv;
-
- priv = ia->priv;
+ g_return_val_if_fail (E_IS_MEETING_ATTENDEE (ia), I_CAL_CUTYPE_NONE);
- return priv->cutype;
+ return ia->priv->cutype;
}
void
e_meeting_attendee_set_cutype (EMeetingAttendee *ia,
- icalparameter_cutype cutype)
+ ICalParameterCutype cutype)
{
- EMeetingAttendeePrivate *priv;
-
- priv = ia->priv;
-
- priv->cutype = cutype;
+ g_return_if_fail (E_IS_MEETING_ATTENDEE (ia));
- notify_changed (ia);
+ if (ia->priv->cutype != cutype) {
+ ia->priv->cutype = cutype;
+ notify_changed (ia);
+ }
}
-icalparameter_role
-e_meeting_attendee_get_role (EMeetingAttendee *ia)
+ICalParameterRole
+e_meeting_attendee_get_role (const EMeetingAttendee *ia)
{
- EMeetingAttendeePrivate *priv;
-
- priv = ia->priv;
+ g_return_val_if_fail (E_IS_MEETING_ATTENDEE (ia), I_CAL_ROLE_NONE);
- return priv->role;
+ return ia->priv->role;
}
void
e_meeting_attendee_set_role (EMeetingAttendee *ia,
- icalparameter_role role)
+ ICalParameterRole role)
{
- EMeetingAttendeePrivate *priv;
-
- priv = ia->priv;
-
- priv->role = role;
+ g_return_if_fail (E_IS_MEETING_ATTENDEE (ia));
- notify_changed (ia);
+ if (ia->priv->role != role) {
+ ia->priv->role = role;
+ notify_changed (ia);
+ }
}
gboolean
-e_meeting_attendee_get_rsvp (EMeetingAttendee *ia)
+e_meeting_attendee_get_rsvp (const EMeetingAttendee *ia)
{
- EMeetingAttendeePrivate *priv;
-
- priv = ia->priv;
+ g_return_val_if_fail (E_IS_MEETING_ATTENDEE (ia), FALSE);
- return priv->rsvp;
+ return ia->priv->rsvp;
}
void
e_meeting_attendee_set_rsvp (EMeetingAttendee *ia,
gboolean rsvp)
{
- EMeetingAttendeePrivate *priv;
-
- priv = ia->priv;
-
- priv->rsvp = rsvp;
+ g_return_if_fail (E_IS_MEETING_ATTENDEE (ia));
- notify_changed (ia);
+ if ((ia->priv->rsvp ? 1 : 0) != (rsvp ? 1 : 0)) {
+ ia->priv->rsvp = rsvp;
+ notify_changed (ia);
+ }
}
const gchar *
-e_meeting_attendee_get_delto (EMeetingAttendee *ia)
+e_meeting_attendee_get_delto (const EMeetingAttendee *ia)
{
- EMeetingAttendeePrivate *priv;
+ g_return_val_if_fail (E_IS_MEETING_ATTENDEE (ia), NULL);
- priv = ia->priv;
-
- return priv->delto;
+ return ia->priv->delto;
}
void
e_meeting_attendee_set_delto (EMeetingAttendee *ia,
- gchar *delto)
+ const gchar *delto)
{
- EMeetingAttendeePrivate *priv;
-
- priv = ia->priv;
-
- if (priv->delto != NULL)
- g_free (priv->delto);
-
- priv->delto = string_test (delto);
+ g_return_if_fail (E_IS_MEETING_ATTENDEE (ia));
- notify_changed (ia);
+ set_string_value (ia, &ia->priv->delto, delto);
}
gboolean
-e_meeting_attendee_is_set_delto (EMeetingAttendee *ia)
+e_meeting_attendee_is_set_delto (const EMeetingAttendee *ia)
{
- EMeetingAttendeePrivate *priv;
-
- priv = ia->priv;
+ g_return_val_if_fail (E_IS_MEETING_ATTENDEE (ia), FALSE);
- return string_is_set (priv->delto);
+ return string_is_set (ia->priv->delto);
}
const gchar *
-e_meeting_attendee_get_delfrom (EMeetingAttendee *ia)
+e_meeting_attendee_get_delfrom (const EMeetingAttendee *ia)
{
- EMeetingAttendeePrivate *priv;
+ g_return_val_if_fail (E_IS_MEETING_ATTENDEE (ia), NULL);
- priv = ia->priv;
-
- return priv->delfrom;
+ return ia->priv->delfrom;
}
void
e_meeting_attendee_set_delfrom (EMeetingAttendee *ia,
- gchar *delfrom)
+ const gchar *delfrom)
{
- EMeetingAttendeePrivate *priv;
-
- priv = ia->priv;
-
- if (priv->delfrom != NULL)
- g_free (priv->delfrom);
-
- priv->delfrom = string_test (delfrom);
+ g_return_if_fail (E_IS_MEETING_ATTENDEE (ia));
- notify_changed (ia);
+ set_string_value (ia, &ia->priv->delfrom, delfrom);
}
gboolean
-e_meeting_attendee_is_set_delfrom (EMeetingAttendee *ia)
+e_meeting_attendee_is_set_delfrom (const EMeetingAttendee *ia)
{
- EMeetingAttendeePrivate *priv;
-
- priv = ia->priv;
+ g_return_val_if_fail (E_IS_MEETING_ATTENDEE (ia), FALSE);
- return string_is_set (priv->delfrom);
+ return string_is_set (ia->priv->delfrom);
}
-icalparameter_partstat
-e_meeting_attendee_get_status (EMeetingAttendee *ia)
+ICalParameterPartstat
+e_meeting_attendee_get_partstat (const EMeetingAttendee *ia)
{
- EMeetingAttendeePrivate *priv;
-
- priv = ia->priv;
+ g_return_val_if_fail (E_IS_MEETING_ATTENDEE (ia), I_CAL_PARTSTAT_NONE);
- return priv->status;
+ return ia->priv->partstat;
}
void
-e_meeting_attendee_set_status (EMeetingAttendee *ia,
- icalparameter_partstat status)
+e_meeting_attendee_set_partstat (EMeetingAttendee *ia,
+ ICalParameterPartstat partstat)
{
- EMeetingAttendeePrivate *priv;
-
- priv = ia->priv;
-
- priv->status = status;
+ g_return_if_fail (E_IS_MEETING_ATTENDEE (ia));
- notify_changed (ia);
+ if (ia->priv->partstat != partstat) {
+ ia->priv->partstat = partstat;
+ notify_changed (ia);
+ }
}
const gchar *
-e_meeting_attendee_get_sentby (EMeetingAttendee *ia)
+e_meeting_attendee_get_sentby (const EMeetingAttendee *ia)
{
- EMeetingAttendeePrivate *priv;
-
- priv = ia->priv;
+ g_return_val_if_fail (E_IS_MEETING_ATTENDEE (ia), NULL);
- return priv->sentby;
+ return ia->priv->sentby;
}
void
e_meeting_attendee_set_sentby (EMeetingAttendee *ia,
- gchar *sentby)
+ const gchar *sentby)
{
- EMeetingAttendeePrivate *priv;
-
- priv = ia->priv;
-
- if (priv->sentby != NULL)
- g_free (priv->sentby);
-
- priv->sentby = string_test (sentby);
+ g_return_if_fail (E_IS_MEETING_ATTENDEE (ia));
- notify_changed (ia);
+ set_string_value (ia, &ia->priv->sentby, sentby);
}
gboolean
-e_meeting_attendee_is_set_sentby (EMeetingAttendee *ia)
+e_meeting_attendee_is_set_sentby (const EMeetingAttendee *ia)
{
- EMeetingAttendeePrivate *priv;
-
- priv = ia->priv;
+ g_return_val_if_fail (E_IS_MEETING_ATTENDEE (ia), FALSE);
- return string_is_set (priv->sentby);
+ return string_is_set (ia->priv->sentby);
}
const gchar *
-e_meeting_attendee_get_cn (EMeetingAttendee *ia)
+e_meeting_attendee_get_cn (const EMeetingAttendee *ia)
{
- EMeetingAttendeePrivate *priv;
-
- priv = ia->priv;
+ g_return_val_if_fail (E_IS_MEETING_ATTENDEE (ia), NULL);
- return priv->cn;
+ return ia->priv->cn;
}
void
e_meeting_attendee_set_cn (EMeetingAttendee *ia,
- gchar *cn)
+ const gchar *cn)
{
- EMeetingAttendeePrivate *priv;
-
- priv = ia->priv;
-
- if (priv->cn != NULL)
- g_free (priv->cn);
-
- priv->cn = string_test (cn);
+ g_return_if_fail (E_IS_MEETING_ATTENDEE (ia));
- notify_changed (ia);
+ set_string_value (ia, &ia->priv->cn, cn);
}
gboolean
-e_meeting_attendee_is_set_cn (EMeetingAttendee *ia)
+e_meeting_attendee_is_set_cn (const EMeetingAttendee *ia)
{
- EMeetingAttendeePrivate *priv;
-
- priv = ia->priv;
+ g_return_val_if_fail (E_IS_MEETING_ATTENDEE (ia), FALSE);
- return string_is_set (priv->cn);
+ return string_is_set (ia->priv->cn);
}
const gchar *
-e_meeting_attendee_get_language (EMeetingAttendee *ia)
+e_meeting_attendee_get_language (const EMeetingAttendee *ia)
{
- EMeetingAttendeePrivate *priv;
-
- priv = ia->priv;
+ g_return_val_if_fail (E_IS_MEETING_ATTENDEE (ia), NULL);
- return priv->language;
+ return ia->priv->language;
}
void
e_meeting_attendee_set_language (EMeetingAttendee *ia,
- gchar *language)
+ const gchar *language)
{
- EMeetingAttendeePrivate *priv;
-
- priv = ia->priv;
-
- if (priv->language != NULL)
- g_free (priv->language);
-
- priv->language = string_test (language);
+ g_return_if_fail (E_IS_MEETING_ATTENDEE (ia));
- notify_changed (ia);
+ set_string_value (ia, &ia->priv->language, language);
}
gboolean
-e_meeting_attendee_is_set_language (EMeetingAttendee *ia)
+e_meeting_attendee_is_set_language (const EMeetingAttendee *ia)
{
- EMeetingAttendeePrivate *priv;
-
- priv = ia->priv;
+ g_return_val_if_fail (E_IS_MEETING_ATTENDEE (ia), FALSE);
- return string_is_set (priv->language);
+ return string_is_set (ia->priv->language);
}
EMeetingAttendeeType
-e_meeting_attendee_get_atype (EMeetingAttendee *ia)
+e_meeting_attendee_get_atype (const EMeetingAttendee *ia)
{
- EMeetingAttendeePrivate *priv;
-
- priv = ia->priv;
+ g_return_val_if_fail (E_IS_MEETING_ATTENDEE (ia), E_MEETING_ATTENDEE_RESOURCE_UNKNOWN);
- if (priv->cutype == ICAL_CUTYPE_ROOM
- || priv->cutype == ICAL_CUTYPE_RESOURCE)
+ if (ia->priv->cutype == I_CAL_CUTYPE_ROOM ||
+ ia->priv->cutype == I_CAL_CUTYPE_RESOURCE)
return E_MEETING_ATTENDEE_RESOURCE;
- if (priv->role == ICAL_ROLE_CHAIR
- || priv->role == ICAL_ROLE_REQPARTICIPANT)
+ if (ia->priv->role == I_CAL_ROLE_CHAIR ||
+ ia->priv->role == I_CAL_ROLE_REQPARTICIPANT)
return E_MEETING_ATTENDEE_REQUIRED_PERSON;
return E_MEETING_ATTENDEE_OPTIONAL_PERSON;
}
EMeetingAttendeeEditLevel
-e_meeting_attendee_get_edit_level (EMeetingAttendee *ia)
+e_meeting_attendee_get_edit_level (const EMeetingAttendee *ia)
{
- EMeetingAttendeePrivate *priv;
-
- g_return_val_if_fail (ia != NULL, E_MEETING_ATTENDEE_EDIT_NONE);
g_return_val_if_fail (E_IS_MEETING_ATTENDEE (ia), E_MEETING_ATTENDEE_EDIT_NONE);
- priv = ia->priv;
-
- return priv->edit_level;
+ return ia->priv->edit_level;
}
void
e_meeting_attendee_set_edit_level (EMeetingAttendee *ia,
EMeetingAttendeeEditLevel level)
{
- EMeetingAttendeePrivate *priv;
-
- g_return_if_fail (ia != NULL);
g_return_if_fail (E_IS_MEETING_ATTENDEE (ia));
- priv = ia->priv;
-
- priv->edit_level = level;
+ ia->priv->edit_level = level;
}
static gint
@@ -707,23 +610,19 @@ compare_period_starts (gconstpointer arg1,
static void
ensure_periods_sorted (EMeetingAttendee *ia)
{
- EMeetingAttendeePrivate *priv;
-
- priv = ia->priv;
-
- if (priv->busy_periods_sorted)
+ if (ia->priv->busy_periods_sorted)
return;
qsort (
- priv->busy_periods->data, priv->busy_periods->len,
+ ia->priv->busy_periods->data, ia->priv->busy_periods->len,
sizeof (EMeetingFreeBusyPeriod),
compare_period_starts);
- priv->busy_periods_sorted = TRUE;
+ ia->priv->busy_periods_sorted = TRUE;
}
gboolean
-e_meeting_attendee_get_show_address (EMeetingAttendee *ia)
+e_meeting_attendee_get_show_address (const EMeetingAttendee *ia)
{
g_return_val_if_fail (E_IS_MEETING_ATTENDEE (ia), FALSE);
@@ -745,48 +644,41 @@ e_meeting_attendee_set_show_address (EMeetingAttendee *ia,
}
gboolean
-e_meeting_attendee_get_has_calendar_info (EMeetingAttendee *ia)
+e_meeting_attendee_get_has_calendar_info (const EMeetingAttendee *ia)
{
- EMeetingAttendeePrivate *priv;
-
- priv = ia->priv;
+ g_return_val_if_fail (E_IS_MEETING_ATTENDEE (ia), FALSE);
- return priv->has_calendar_info;
+ return ia->priv->has_calendar_info;
}
void
e_meeting_attendee_set_has_calendar_info (EMeetingAttendee *ia,
gboolean has_calendar_info)
{
- EMeetingAttendeePrivate *priv;
-
- priv = ia->priv;
+ g_return_if_fail (E_IS_MEETING_ATTENDEE (ia));
- priv->has_calendar_info = has_calendar_info;
+ ia->priv->has_calendar_info = has_calendar_info;
}
const GArray *
e_meeting_attendee_get_busy_periods (EMeetingAttendee *ia)
{
- EMeetingAttendeePrivate *priv;
-
- priv = ia->priv;
+ g_return_val_if_fail (E_IS_MEETING_ATTENDEE (ia), NULL);
ensure_periods_sorted (ia);
- return priv->busy_periods;
+ return ia->priv->busy_periods;
}
gint
e_meeting_attendee_find_first_busy_period (EMeetingAttendee *ia,
- GDate *date)
+ const GDate *date)
{
- EMeetingAttendeePrivate *priv;
EMeetingFreeBusyPeriod *period;
gint lower, upper, middle = 0, cmp = 0;
GDate tmp_date;
- priv = ia->priv;
+ g_return_val_if_fail (E_IS_MEETING_ATTENDEE (ia), -1);
/* Make sure the busy periods have been sorted. */
ensure_periods_sorted (ia);
@@ -794,11 +686,11 @@ e_meeting_attendee_find_first_busy_period (EMeetingAttendee *ia,
/* Calculate the first day which could have a busy period which
* continues onto our given date. */
tmp_date = *date;
- g_date_subtract_days (&tmp_date, priv->longest_period_in_days);
+ g_date_subtract_days (&tmp_date, ia->priv->longest_period_in_days);
/* We want the first busy period which starts on tmp_date. */
lower = 0;
- upper = priv->busy_periods->len;
+ upper = ia->priv->busy_periods->len;
if (upper == 0)
return -1;
@@ -806,7 +698,7 @@ e_meeting_attendee_find_first_busy_period (EMeetingAttendee *ia,
while (lower < upper) {
middle = (lower + upper) >> 1;
- period = &g_array_index (priv->busy_periods,
+ period = &g_array_index (ia->priv->busy_periods,
EMeetingFreeBusyPeriod, middle);
cmp = g_date_compare (&tmp_date, &period->start.date);
@@ -823,7 +715,7 @@ e_meeting_attendee_find_first_busy_period (EMeetingAttendee *ia,
* backwards to the first one. */
if (cmp == 0) {
while (middle > 0) {
- period = &g_array_index (priv->busy_periods,
+ period = &g_array_index (ia->priv->busy_periods,
EMeetingFreeBusyPeriod, middle - 1);
if (g_date_compare (&tmp_date, &period->start.date) != 0)
break;
@@ -834,7 +726,7 @@ e_meeting_attendee_find_first_busy_period (EMeetingAttendee *ia,
* the last one we looked at was before it, so if there are
* any more periods after this one we return it. */
middle++;
- if (priv->busy_periods->len <= middle)
+ if (ia->priv->busy_periods->len <= middle)
return -1;
}
@@ -857,18 +749,14 @@ e_meeting_attendee_add_busy_period (EMeetingAttendee *ia,
const gchar *summary,
const gchar *location)
{
- EMeetingAttendeePrivate *priv;
EMeetingFreeBusyPeriod period;
gint period_in_days;
- g_return_val_if_fail (ia != NULL, FALSE);
g_return_val_if_fail (E_IS_MEETING_ATTENDEE (ia), FALSE);
g_return_val_if_fail (busy_type < E_MEETING_FREE_BUSY_LAST, FALSE);
/* summary may be NULL (optional XFB data) */
/* location may be NULL (optional XFB data) */
- priv = ia->priv;
-
/* Check the dates are valid. */
if (!g_date_valid_dmy (start_day, start_month, start_year))
return FALSE;
@@ -902,31 +790,31 @@ e_meeting_attendee_add_busy_period (EMeetingAttendee *ia,
goto done;
/* If the busy range is not set elsewhere, track it as best we can */
- if (!priv->start_busy_range_set) {
- if (!g_date_valid (&priv->busy_periods_start.date)) {
- priv->busy_periods_start.date = period.start.date;
- priv->busy_periods_start.hour = period.start.hour;
- priv->busy_periods_start.minute = period.start.minute;
+ if (!ia->priv->start_busy_range_set) {
+ if (!g_date_valid (&ia->priv->busy_periods_start.date)) {
+ ia->priv->busy_periods_start.date = period.start.date;
+ ia->priv->busy_periods_start.hour = period.start.hour;
+ ia->priv->busy_periods_start.minute = period.start.minute;
} else {
gint compare;
compare = g_date_compare (
&period.start.date,
- &priv->busy_periods_start.date);
+ &ia->priv->busy_periods_start.date);
switch (compare) {
case -1:
- priv->busy_periods_start.date = period.start.date;
- priv->busy_periods_start.hour = period.start.hour;
- priv->busy_periods_start.minute = period.start.minute;
+ ia->priv->busy_periods_start.date = period.start.date;
+ ia->priv->busy_periods_start.hour = period.start.hour;
+ ia->priv->busy_periods_start.minute = period.start.minute;
break;
case 0:
- if (period.start.hour < priv->busy_periods_start.hour
- || (period.start.hour == priv->busy_periods_start.hour
- && period.start.minute < priv->busy_periods_start.minute)) {
- priv->busy_periods_start.date = period.start.date;
- priv->busy_periods_start.hour = period.start.hour;
- priv->busy_periods_start.minute = period.start.minute;
+ if (period.start.hour < ia->priv->busy_periods_start.hour
+ || (period.start.hour == ia->priv->busy_periods_start.hour
+ && period.start.minute < ia->priv->busy_periods_start.minute)) {
+ ia->priv->busy_periods_start.date = period.start.date;
+ ia->priv->busy_periods_start.hour = period.start.hour;
+ ia->priv->busy_periods_start.minute = period.start.minute;
break;
}
break;
@@ -934,33 +822,33 @@ e_meeting_attendee_add_busy_period (EMeetingAttendee *ia,
}
}
- if (!priv->end_busy_range_set) {
- if (!g_date_valid (&priv->busy_periods_end.date)) {
- priv->busy_periods_end.date = period.end.date;
- priv->busy_periods_end.hour = period.end.hour;
- priv->busy_periods_end.minute = period.end.minute;
+ if (!ia->priv->end_busy_range_set) {
+ if (!g_date_valid (&ia->priv->busy_periods_end.date)) {
+ ia->priv->busy_periods_end.date = period.end.date;
+ ia->priv->busy_periods_end.hour = period.end.hour;
+ ia->priv->busy_periods_end.minute = period.end.minute;
} else {
gint compare;
compare = g_date_compare (
&period.end.date,
- &priv->busy_periods_end.date);
+ &ia->priv->busy_periods_end.date);
switch (compare) {
case 0:
- if (period.end.hour > priv->busy_periods_end.hour
- || (period.end.hour == priv->busy_periods_end.hour
- && period.end.minute > priv->busy_periods_end.minute)) {
- priv->busy_periods_end.date = period.end.date;
- priv->busy_periods_end.hour = period.end.hour;
- priv->busy_periods_end.minute = period.end.minute;
+ if (period.end.hour > ia->priv->busy_periods_end.hour
+ || (period.end.hour == ia->priv->busy_periods_end.hour
+ && period.end.minute > ia->priv->busy_periods_end.minute)) {
+ ia->priv->busy_periods_end.date = period.end.date;
+ ia->priv->busy_periods_end.hour = period.end.hour;
+ ia->priv->busy_periods_end.minute = period.end.minute;
break;
}
break;
case 1:
- priv->busy_periods_end.date = period.end.date;
- priv->busy_periods_end.hour = period.end.hour;
- priv->busy_periods_end.minute = period.end.minute;
+ ia->priv->busy_periods_end.date = period.end.date;
+ ia->priv->busy_periods_end.hour = period.end.hour;
+ ia->priv->busy_periods_end.minute = period.end.minute;
break;
}
}
@@ -970,39 +858,47 @@ e_meeting_attendee_add_busy_period (EMeetingAttendee *ia,
e_meeting_xfb_data_init (&(period.xfb));
e_meeting_xfb_data_set (&(period.xfb), summary, location);
- g_array_append_val (priv->busy_periods, period);
+ g_array_append_val (ia->priv->busy_periods, period);
period_in_days =
g_date_get_julian (&period.end.date) -
g_date_get_julian (&period.start.date) + 1;
- priv->longest_period_in_days =
- MAX (priv->longest_period_in_days, period_in_days);
+ ia->priv->longest_period_in_days =
+ MAX (ia->priv->longest_period_in_days, period_in_days);
done:
- priv->has_calendar_info = TRUE;
- priv->busy_periods_sorted = FALSE;
+ ia->priv->has_calendar_info = TRUE;
+ ia->priv->busy_periods_sorted = FALSE;
return TRUE;
}
EMeetingTime
-e_meeting_attendee_get_start_busy_range (EMeetingAttendee *ia)
+e_meeting_attendee_get_start_busy_range (const EMeetingAttendee *ia)
{
- EMeetingAttendeePrivate *priv;
+ EMeetingTime mt;
+
+ g_date_clear (&mt.date, 1);
+ mt.hour = 0;
+ mt.minute = 0;
- priv = ia->priv;
+ g_return_val_if_fail (E_IS_MEETING_ATTENDEE (ia), mt);
- return priv->busy_periods_start;
+ return ia->priv->busy_periods_start;
}
EMeetingTime
-e_meeting_attendee_get_end_busy_range (EMeetingAttendee *ia)
+e_meeting_attendee_get_end_busy_range (const EMeetingAttendee *ia)
{
- EMeetingAttendeePrivate *priv;
+ EMeetingTime mt;
- priv = ia->priv;
+ g_date_clear (&mt.date, 1);
+ mt.hour = 0;
+ mt.minute = 0;
- return priv->busy_periods_end;
+ g_return_val_if_fail (E_IS_MEETING_ATTENDEE (ia), mt);
+
+ return ia->priv->busy_periods_end;
}
gboolean
@@ -1013,12 +909,8 @@ e_meeting_attendee_set_start_busy_range (EMeetingAttendee *ia,
gint start_hour,
gint start_minute)
{
- EMeetingAttendeePrivate *priv;
-
g_return_val_if_fail (E_IS_MEETING_ATTENDEE (ia), FALSE);
- priv = ia->priv;
-
/* Check the dates are valid. */
if (!g_date_valid_dmy (start_day, start_month, start_year))
return FALSE;
@@ -1027,14 +919,14 @@ e_meeting_attendee_set_start_busy_range (EMeetingAttendee *ia,
if (start_minute < 0 || start_minute > 59)
return FALSE;
- g_date_clear (&priv->busy_periods_start.date, 1);
+ g_date_clear (&ia->priv->busy_periods_start.date, 1);
g_date_set_dmy (
- &priv->busy_periods_start.date,
+ &ia->priv->busy_periods_start.date,
start_day, start_month, start_year);
- priv->busy_periods_start.hour = start_hour;
- priv->busy_periods_start.minute = start_minute;
+ ia->priv->busy_periods_start.hour = start_hour;
+ ia->priv->busy_periods_start.minute = start_minute;
- priv->start_busy_range_set = TRUE;
+ ia->priv->start_busy_range_set = TRUE;
return TRUE;
}
@@ -1047,12 +939,8 @@ e_meeting_attendee_set_end_busy_range (EMeetingAttendee *ia,
gint end_hour,
gint end_minute)
{
- EMeetingAttendeePrivate *priv;
-
g_return_val_if_fail (E_IS_MEETING_ATTENDEE (ia), FALSE);
- priv = ia->priv;
-
/* Check the dates are valid. */
if (!g_date_valid_dmy (end_day, end_month, end_year))
return FALSE;
@@ -1061,14 +949,14 @@ e_meeting_attendee_set_end_busy_range (EMeetingAttendee *ia,
if (end_minute < 0 || end_minute > 59)
return FALSE;
- g_date_clear (&priv->busy_periods_end.date, 1);
+ g_date_clear (&ia->priv->busy_periods_end.date, 1);
g_date_set_dmy (
- &priv->busy_periods_end.date,
+ &ia->priv->busy_periods_end.date,
end_day, end_month, end_year);
- priv->busy_periods_end.hour = end_hour;
- priv->busy_periods_end.minute = end_minute;
+ ia->priv->busy_periods_end.hour = end_hour;
+ ia->priv->busy_periods_end.minute = end_minute;
- priv->end_busy_range_set = TRUE;
+ ia->priv->end_busy_range_set = TRUE;
return TRUE;
}
@@ -1077,22 +965,18 @@ e_meeting_attendee_set_end_busy_range (EMeetingAttendee *ia,
void
e_meeting_attendee_clear_busy_periods (EMeetingAttendee *ia)
{
- EMeetingAttendeePrivate *priv;
-
g_return_if_fail (E_IS_MEETING_ATTENDEE (ia));
- priv = ia->priv;
+ g_array_set_size (ia->priv->busy_periods, 0);
+ ia->priv->busy_periods_sorted = TRUE;
- g_array_set_size (priv->busy_periods, 0);
- priv->busy_periods_sorted = TRUE;
-
- g_date_clear (&priv->busy_periods_start.date, 1);
- priv->busy_periods_start.hour = 0;
- priv->busy_periods_start.minute = 0;
+ g_date_clear (&ia->priv->busy_periods_start.date, 1);
+ ia->priv->busy_periods_start.hour = 0;
+ ia->priv->busy_periods_start.minute = 0;
- g_date_clear (&priv->busy_periods_end.date, 1);
- priv->busy_periods_end.hour = 0;
- priv->busy_periods_end.minute = 0;
+ g_date_clear (&ia->priv->busy_periods_end.date, 1);
+ ia->priv->busy_periods_end.hour = 0;
+ ia->priv->busy_periods_end.minute = 0;
- priv->longest_period_in_days = 0;
+ ia->priv->longest_period_in_days = 0;
}
diff --git a/src/calendar/gui/e-meeting-attendee.h b/src/calendar/gui/e-meeting-attendee.h
index d19f5f5033..1e6bd839b6 100644
--- a/src/calendar/gui/e-meeting-attendee.h
+++ b/src/calendar/gui/e-meeting-attendee.h
@@ -44,11 +44,11 @@ typedef struct _EMeetingAttendeeClass EMeetingAttendeeClass;
* meeting room). These are used for the Autopick options, where the user can
* ask for a time when, for example, all people and one resource are free.
* The default is E_MEETING_ATTENDEE_REQUIRED_PERSON. */
-typedef enum
-{
+typedef enum {
E_MEETING_ATTENDEE_REQUIRED_PERSON,
E_MEETING_ATTENDEE_OPTIONAL_PERSON,
- E_MEETING_ATTENDEE_RESOURCE
+ E_MEETING_ATTENDEE_RESOURCE,
+ E_MEETING_ATTENDEE_RESOURCE_UNKNOWN
} EMeetingAttendeeType;
typedef enum
@@ -70,101 +70,122 @@ struct _EMeetingAttendeeClass {
void (* changed) (EMeetingAttendee *ia);
};
-
-GType e_meeting_attendee_get_type (void);
-GObject *e_meeting_attendee_new (void);
-GObject *e_meeting_attendee_new_from_e_cal_component_attendee (ECalComponentAttendee *ca);
-
-ECalComponentAttendee *e_meeting_attendee_as_e_cal_component_attendee (EMeetingAttendee *ia);
-
-const gchar *e_meeting_attendee_get_address (EMeetingAttendee *ia);
-void e_meeting_attendee_set_address (EMeetingAttendee *ia, gchar *address);
-gboolean e_meeting_attendee_is_set_address (EMeetingAttendee *ia);
-
-const gchar *e_meeting_attendee_get_member (EMeetingAttendee *ia);
-void e_meeting_attendee_set_member (EMeetingAttendee *ia, gchar *member);
-gboolean e_meeting_attendee_is_set_member (EMeetingAttendee *ia);
-
-ICalParameterCutype e_meeting_attendee_get_cutype (EMeetingAttendee *ia);
-void e_meeting_attendee_set_cutype (EMeetingAttendee *ia, ICalParameterCutype cutype);
-
-ICalParameterRole e_meeting_attendee_get_role (EMeetingAttendee *ia);
-void e_meeting_attendee_set_role (EMeetingAttendee *ia, ICalParameterRole role);
-
-gboolean e_meeting_attendee_get_rsvp (EMeetingAttendee *ia);
-void e_meeting_attendee_set_rsvp (EMeetingAttendee *ia, gboolean rsvp);
-
-const gchar *e_meeting_attendee_get_delto (EMeetingAttendee *ia);
-void e_meeting_attendee_set_delto (EMeetingAttendee *ia, gchar *delto);
-gboolean e_meeting_attendee_is_set_delto (EMeetingAttendee *ia);
-
-const gchar *e_meeting_attendee_get_delfrom (EMeetingAttendee *ia);
-void e_meeting_attendee_set_delfrom (EMeetingAttendee *ia, gchar *delfrom);
-gboolean e_meeting_attendee_is_set_delfrom (EMeetingAttendee *ia);
-
-ICalParameterPartstat e_meeting_attendee_get_status (EMeetingAttendee *ia);
-void e_meeting_attendee_set_status (EMeetingAttendee *ia, ICalParameterPartstat status);
-
-const gchar *e_meeting_attendee_get_sentby (EMeetingAttendee *ia);
-void e_meeting_attendee_set_sentby (EMeetingAttendee *ia, gchar *sentby);
-gboolean e_meeting_attendee_is_set_sentby (EMeetingAttendee *ia);
-
-const gchar *e_meeting_attendee_get_cn (EMeetingAttendee *ia);
-void e_meeting_attendee_set_cn (EMeetingAttendee *ia, gchar *cn);
-gboolean e_meeting_attendee_is_set_cn (EMeetingAttendee *ia);
-
-const gchar *e_meeting_attendee_get_language (EMeetingAttendee *ia);
-void e_meeting_attendee_set_language (EMeetingAttendee *ia, gchar *language);
-gboolean e_meeting_attendee_is_set_language (EMeetingAttendee *ia);
-
-EMeetingAttendeeType e_meeting_attendee_get_atype (EMeetingAttendee *ia);
-
-EMeetingAttendeeEditLevel e_meeting_attendee_get_edit_level (EMeetingAttendee *ia);
-void e_meeting_attendee_set_edit_level (EMeetingAttendee *ia, EMeetingAttendeeEditLevel level);
-
-gboolean e_meeting_attendee_get_show_address (EMeetingAttendee *ia);
-void e_meeting_attendee_set_show_address (EMeetingAttendee *ia, gboolean show_address);
-
-gboolean e_meeting_attendee_get_has_calendar_info (EMeetingAttendee *ia);
-void e_meeting_attendee_set_has_calendar_info (EMeetingAttendee *ia, gboolean has_calendar_info);
-
-const gchar * e_meeting_attendee_get_fburi (EMeetingAttendee *ia);
-void e_meeting_attendee_set_fburi (EMeetingAttendee *ia, gchar *fburi);
-
-const GArray *e_meeting_attendee_get_busy_periods (EMeetingAttendee *ia);
-gint e_meeting_attendee_find_first_busy_period (EMeetingAttendee *ia, GDate *date);
-gboolean e_meeting_attendee_add_busy_period (EMeetingAttendee *ia,
- gint start_year,
- gint start_month,
- gint start_day,
- gint start_hour,
- gint start_minute,
- gint end_year,
- gint end_month,
- gint end_day,
- gint end_hour,
- gint end_minute,
- EMeetingFreeBusyType busy_type,
- const gchar *summary,
- const gchar *location);
-
-EMeetingTime e_meeting_attendee_get_start_busy_range (EMeetingAttendee *ia);
-EMeetingTime e_meeting_attendee_get_end_busy_range (EMeetingAttendee *ia);
-
-gboolean e_meeting_attendee_set_start_busy_range (EMeetingAttendee *ia,
- gint start_year,
- gint start_month,
- gint start_day,
- gint start_hour,
- gint start_minute);
-gboolean e_meeting_attendee_set_end_busy_range (EMeetingAttendee *ia,
- gint end_year,
- gint end_month,
- gint end_day,
- gint end_hour,
- gint end_minute);
-
-void e_meeting_attendee_clear_busy_periods (EMeetingAttendee *ia);
+GType e_meeting_attendee_get_type (void);
+GObject * e_meeting_attendee_new (void);
+GObject * e_meeting_attendee_new_from_e_cal_component_attendee
+ (const ECalComponentAttendee *ca);
+
+ECalComponentAttendee *
+ e_meeting_attendee_as_e_cal_component_attendee
+ (const EMeetingAttendee *ia);
+
+const gchar * e_meeting_attendee_get_address (const EMeetingAttendee *ia);
+void e_meeting_attendee_set_address (EMeetingAttendee *ia,
+ const gchar *address);
+gboolean e_meeting_attendee_is_set_address
+ (const EMeetingAttendee *ia);
+const gchar * e_meeting_attendee_get_member (const EMeetingAttendee *ia);
+void e_meeting_attendee_set_member (EMeetingAttendee *ia,
+ const gchar *member);
+gboolean e_meeting_attendee_is_set_member(const EMeetingAttendee *ia);
+ICalParameterCutype
+ e_meeting_attendee_get_cutype (const EMeetingAttendee *ia);
+void e_meeting_attendee_set_cutype (EMeetingAttendee *ia,
+ ICalParameterCutype cutype);
+ICalParameterRole
+ e_meeting_attendee_get_role (const EMeetingAttendee *ia);
+void e_meeting_attendee_set_role (EMeetingAttendee *ia,
+ ICalParameterRole role);
+gboolean e_meeting_attendee_get_rsvp (const EMeetingAttendee *ia);
+void e_meeting_attendee_set_rsvp (EMeetingAttendee *ia,
+ gboolean rsvp);
+const gchar * e_meeting_attendee_get_delto (const EMeetingAttendee *ia);
+void e_meeting_attendee_set_delto (EMeetingAttendee *ia,
+ const gchar *delto);
+gboolean e_meeting_attendee_is_set_delto (const EMeetingAttendee *ia);
+const gchar * e_meeting_attendee_get_delfrom (const EMeetingAttendee *ia);
+void e_meeting_attendee_set_delfrom (EMeetingAttendee *ia,
+ const gchar *delfrom);
+gboolean e_meeting_attendee_is_set_delfrom
+ (const EMeetingAttendee *ia);
+ICalParameterPartstat
+ e_meeting_attendee_get_partstat (const EMeetingAttendee *ia);
+void e_meeting_attendee_set_partstat (EMeetingAttendee *ia,
+ ICalParameterPartstat partstat);
+const gchar * e_meeting_attendee_get_sentby (const EMeetingAttendee *ia);
+void e_meeting_attendee_set_sentby (EMeetingAttendee *ia,
+ const gchar *sentby);
+gboolean e_meeting_attendee_is_set_sentby(const EMeetingAttendee *ia);
+const gchar * e_meeting_attendee_get_cn (const EMeetingAttendee *ia);
+void e_meeting_attendee_set_cn (EMeetingAttendee *ia,
+ const gchar *cn);
+gboolean e_meeting_attendee_is_set_cn (const EMeetingAttendee *ia);
+const gchar * e_meeting_attendee_get_language (const EMeetingAttendee *ia);
+void e_meeting_attendee_set_language (EMeetingAttendee *ia,
+ const gchar *language);
+gboolean e_meeting_attendee_is_set_language
+ (const EMeetingAttendee *ia);
+EMeetingAttendeeType
+ e_meeting_attendee_get_atype (const EMeetingAttendee *ia);
+EMeetingAttendeeEditLevel
+ e_meeting_attendee_get_edit_level
+ (const EMeetingAttendee *ia);
+void e_meeting_attendee_set_edit_level
+ (EMeetingAttendee *ia,
+ EMeetingAttendeeEditLevel level);
+gboolean e_meeting_attendee_get_show_address
+ (const EMeetingAttendee *ia);
+void e_meeting_attendee_set_show_address
+ (EMeetingAttendee *ia,
+ gboolean show_address);
+gboolean e_meeting_attendee_get_has_calendar_info
+ (const EMeetingAttendee *ia);
+void e_meeting_attendee_set_has_calendar_info
+ (EMeetingAttendee *ia,
+ gboolean has_calendar_info);
+const gchar * e_meeting_attendee_get_fburi (const EMeetingAttendee *ia);
+void e_meeting_attendee_set_fburi (EMeetingAttendee *ia,
+ const gchar *fburi);
+const GArray * e_meeting_attendee_get_busy_periods
+ (EMeetingAttendee *ia);
+gint e_meeting_attendee_find_first_busy_period
+ (EMeetingAttendee *ia,
+ const GDate *date);
+gboolean e_meeting_attendee_add_busy_period
+ (EMeetingAttendee *ia,
+ gint start_year,
+ gint start_month,
+ gint start_day,
+ gint start_hour,
+ gint start_minute,
+ gint end_year,
+ gint end_month,
+ gint end_day,
+ gint end_hour,
+ gint end_minute,
+ EMeetingFreeBusyType busy_type,
+ const gchar *summary,
+ const gchar *location);
+EMeetingTime e_meeting_attendee_get_start_busy_range
+ (const EMeetingAttendee *ia);
+EMeetingTime e_meeting_attendee_get_end_busy_range
+ (const EMeetingAttendee *ia);
+gboolean e_meeting_attendee_set_start_busy_range
+ (EMeetingAttendee *ia,
+ gint start_year,
+ gint start_month,
+ gint start_day,
+ gint start_hour,
+ gint start_minute);
+gboolean e_meeting_attendee_set_end_busy_range
+ (EMeetingAttendee *ia,
+ gint end_year,
+ gint end_month,
+ gint end_day,
+ gint end_hour,
+ gint end_minute);
+void e_meeting_attendee_clear_busy_periods
+ (EMeetingAttendee *ia);
G_END_DECLS
diff --git a/src/calendar/gui/e-meeting-list-view.c b/src/calendar/gui/e-meeting-list-view.c
index 5bd9fb2eb0..922239e71a 100644
--- a/src/calendar/gui/e-meeting-list-view.c
+++ b/src/calendar/gui/e-meeting-list-view.c
@@ -65,11 +65,11 @@ static const gchar *sections[] = {N_("Chair Persons"),
N_("Resources"),
NULL};
-static icalparameter_role roles[] = {ICAL_ROLE_CHAIR,
- ICAL_ROLE_REQPARTICIPANT,
- ICAL_ROLE_OPTPARTICIPANT,
- ICAL_ROLE_NONPARTICIPANT,
- ICAL_ROLE_NONE};
+static ICalParameterRole roles[] = { I_CAL_ROLE_CHAIR,
+ I_CAL_ROLE_REQPARTICIPANT,
+ I_CAL_ROLE_OPTPARTICIPANT,
+ I_CAL_ROLE_NONPARTICIPANT,
+ I_CAL_ROLE_NONE };
G_DEFINE_TYPE (EMeetingListView, e_meeting_list_view, GTK_TYPE_TREE_VIEW)
@@ -239,16 +239,16 @@ value_edited (GtkTreeView *view,
}
static guint
-get_index_from_role (icalparameter_role role)
+get_index_from_role (ICalParameterRole role)
{
switch (role) {
- case ICAL_ROLE_CHAIR:
+ case I_CAL_ROLE_CHAIR:
return 0;
- case ICAL_ROLE_REQPARTICIPANT:
+ case I_CAL_ROLE_REQPARTICIPANT:
return 1;
- case ICAL_ROLE_OPTPARTICIPANT:
+ case I_CAL_ROLE_OPTPARTICIPANT:
return 2;
- case ICAL_ROLE_NONPARTICIPANT:
+ case I_CAL_ROLE_NONPARTICIPANT:
return 3;
default:
return 1;
@@ -368,7 +368,7 @@ attendee_edited_cb (GtkCellRenderer *renderer,
gboolean can_remove = TRUE;
for (l = addresses, m = names; l && m; l = l->next, m = m->next) {
- gchar *name = m->data, *email = l->data;
+ gchar *name = m->data, *email = l->data, *mailto;
if (!((name && *name) || (email && *email)))
continue;
@@ -381,15 +381,17 @@ attendee_edited_cb (GtkCellRenderer *renderer,
}
attendee = e_meeting_store_add_attendee_with_defaults (model);
- e_meeting_attendee_set_address (attendee, g_strdup_printf ("MAILTO:%s", (gchar *)
l->data));
- e_meeting_attendee_set_cn (attendee, g_strdup (m->data));
+ mailto = g_strdup_printf ("MAILTO:%s", (gchar *) l->data);
+ e_meeting_attendee_set_address (attendee, mailto);
+ g_free (mailto);
+ e_meeting_attendee_set_cn (attendee, m->data);
if (existing_attendee) {
e_meeting_attendee_set_cutype (attendee, e_meeting_attendee_get_cutype
(existing_attendee));
e_meeting_attendee_set_role (attendee, e_meeting_attendee_get_role
(existing_attendee));
e_meeting_attendee_set_rsvp (attendee, e_meeting_attendee_get_rsvp
(existing_attendee));
- e_meeting_attendee_set_status (attendee, ICAL_PARTSTAT_NEEDSACTION);
- e_meeting_attendee_set_delfrom (attendee, g_strdup
(e_meeting_attendee_get_delfrom (existing_attendee)));
- e_meeting_attendee_set_fburi (attendee, g_strdup
(e_meeting_attendee_get_fburi (existing_attendee)));
+ e_meeting_attendee_set_partstat (attendee, I_CAL_PARTSTAT_NEEDSACTION);
+ e_meeting_attendee_set_delfrom (attendee, e_meeting_attendee_get_delfrom
(existing_attendee));
+ e_meeting_attendee_set_fburi (attendee, e_meeting_attendee_get_fburi
(existing_attendee));
e_meeting_attendee_set_show_address (attendee,
e_meeting_attendee_get_show_address (existing_attendee));
}
e_meeting_list_view_add_attendee_to_name_selector (E_MEETING_LIST_VIEW (view),
attendee);
@@ -414,6 +416,7 @@ attendee_edited_cb (GtkCellRenderer *renderer,
gboolean show_address = FALSE;
EMeetingAttendee *attendee;
EDestination *destination;
+ gchar *mailto;
if (existing_attendee) {
const gchar *addr = e_meeting_attendee_get_address (existing_attendee);
@@ -432,9 +435,11 @@ attendee_edited_cb (GtkCellRenderer *renderer,
value_edited (view, E_MEETING_STORE_ADDRESS_COL, path, email);
value_edited (view, E_MEETING_STORE_CN_COL, path, name);
- e_meeting_attendee_set_address (attendee, g_strdup_printf ("MAILTO:%s", email));
- e_meeting_attendee_set_cn (attendee, g_strdup (name));
- e_meeting_attendee_set_role (attendee, ICAL_ROLE_REQPARTICIPANT);
+ mailto = g_strdup_printf ("MAILTO:%s", email);
+ e_meeting_attendee_set_address (attendee, mailto);
+ g_free (mailto);
+ e_meeting_attendee_set_cn (attendee, name);
+ e_meeting_attendee_set_role (attendee, I_CAL_ROLE_REQPARTICIPANT);
destination = e_select_names_renderer_get_destination (E_SELECT_NAMES_RENDERER
(renderer));
if (destination) {
@@ -447,8 +452,7 @@ attendee_edited_cb (GtkCellRenderer *renderer,
fburi = e_contact_get (contact, E_CONTACT_FREEBUSY_URL);
if (fburi && *fburi)
e_meeting_attendee_set_fburi (attendee, fburi);
- else
- g_free (fburi);
+ g_free (fburi);
if (!e_contact_get (contact, E_CONTACT_IS_LIST)) {
GList *email_list;
@@ -466,7 +470,7 @@ attendee_edited_cb (GtkCellRenderer *renderer,
e_meeting_list_view_add_attendee_to_name_selector (E_MEETING_LIST_VIEW (view),
attendee);
if (address_changed)
- e_meeting_attendee_set_status (attendee, ICAL_PARTSTAT_NEEDSACTION);
+ e_meeting_attendee_set_partstat (attendee, I_CAL_PARTSTAT_NEEDSACTION);
g_signal_emit_by_name (view, "attendee_added", (gpointer) attendee);
}
@@ -875,7 +879,7 @@ e_meeting_list_view_edit (EMeetingListView *emlv,
static void
process_section (EMeetingListView *view,
GList *destinations,
- icalparameter_role role,
+ ICalParameterRole role,
GSList **la)
{
EMeetingListViewPrivate *priv;
@@ -1000,18 +1004,19 @@ process_section (EMeetingListView *view,
if (e_meeting_store_find_attendee (priv->store, email_addr, NULL) == NULL) {
EMeetingAttendee *ia = e_meeting_store_add_attendee_with_defaults
(priv->store);
+ gchar *mailto;
- e_meeting_attendee_set_address (ia, g_strdup_printf ("MAILTO:%s",
email_addr));
+ mailto = g_strdup_printf ("MAILTO:%s", email_addr);
+ e_meeting_attendee_set_address (ia, mailto);
+ g_free (mailto);
e_meeting_attendee_set_role (ia, 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 (role == I_CAL_ROLE_NONPARTICIPANT)
+ e_meeting_attendee_set_cutype (ia, I_CAL_CUTYPE_RESOURCE);
+ e_meeting_attendee_set_cn (ia, name);
e_meeting_attendee_set_show_address (ia, show_address);
- if (fburi) {
+ if (fburi)
e_meeting_attendee_set_fburi (ia, fburi);
- fburi = NULL;
- }
} else {
if (g_slist_length (*la) == 1) {
g_slist_free (*la);
diff --git a/src/calendar/gui/e-meeting-store.c b/src/calendar/gui/e-meeting-store.c
index 1d897f222b..70a9f0c2ab 100644
--- a/src/calendar/gui/e-meeting-store.c
+++ b/src/calendar/gui/e-meeting-store.c
@@ -49,7 +49,7 @@ struct _EMeetingStorePrivate {
gint stamp;
ECalClient *client;
- icaltimezone *zone;
+ ICalTimezone *zone;
gint default_reminder_interval;
EDurationType default_reminder_units;
@@ -104,32 +104,32 @@ G_DEFINE_TYPE_WITH_CODE (
G_IMPLEMENT_INTERFACE (E_TYPE_EXTENSIBLE, NULL)
G_IMPLEMENT_INTERFACE (GTK_TYPE_TREE_MODEL, ems_tree_model_init))
-static icalparameter_cutype
+static ICalParameterCutype
text_to_type (const gchar *type)
{
if (!e_util_utf8_strcasecmp (type, _("Individual")))
- return ICAL_CUTYPE_INDIVIDUAL;
+ return I_CAL_CUTYPE_INDIVIDUAL;
else if (!e_util_utf8_strcasecmp (type, _("Group")))
- return ICAL_CUTYPE_GROUP;
+ return I_CAL_CUTYPE_GROUP;
else if (!e_util_utf8_strcasecmp (type, _("Resource")))
- return ICAL_CUTYPE_RESOURCE;
+ return I_CAL_CUTYPE_RESOURCE;
else if (!e_util_utf8_strcasecmp (type, _("Room")))
- return ICAL_CUTYPE_ROOM;
+ return I_CAL_CUTYPE_ROOM;
else
- return ICAL_CUTYPE_NONE;
+ return I_CAL_CUTYPE_NONE;
}
static gchar *
-type_to_text (icalparameter_cutype type)
+type_to_text (ICalParameterCutype type)
{
switch (type) {
- case ICAL_CUTYPE_INDIVIDUAL:
+ case I_CAL_CUTYPE_INDIVIDUAL:
return _("Individual");
- case ICAL_CUTYPE_GROUP:
+ case I_CAL_CUTYPE_GROUP:
return _("Group");
- case ICAL_CUTYPE_RESOURCE:
+ case I_CAL_CUTYPE_RESOURCE:
return _("Resource");
- case ICAL_CUTYPE_ROOM:
+ case I_CAL_CUTYPE_ROOM:
return _("Room");
default:
return _("Unknown");
@@ -139,32 +139,32 @@ type_to_text (icalparameter_cutype type)
}
-static icalparameter_role
+static ICalParameterRole
text_to_role (const gchar *role)
{
if (!e_util_utf8_strcasecmp (role, _("Chair")))
- return ICAL_ROLE_CHAIR;
+ return I_CAL_ROLE_CHAIR;
else if (!e_util_utf8_strcasecmp (role, _("Required Participant")))
- return ICAL_ROLE_REQPARTICIPANT;
+ return I_CAL_ROLE_REQPARTICIPANT;
else if (!e_util_utf8_strcasecmp (role, _("Optional Participant")))
- return ICAL_ROLE_OPTPARTICIPANT;
+ return I_CAL_ROLE_OPTPARTICIPANT;
else if (!e_util_utf8_strcasecmp (role, _("Non-Participant")))
- return ICAL_ROLE_NONPARTICIPANT;
+ return I_CAL_ROLE_NONPARTICIPANT;
else
- return ICAL_ROLE_NONE;
+ return I_CAL_ROLE_NONE;
}
static gchar *
-role_to_text (icalparameter_role role)
+role_to_text (ICalParameterRole role)
{
switch (role) {
- case ICAL_ROLE_CHAIR:
+ case I_CAL_ROLE_CHAIR:
return _("Chair");
- case ICAL_ROLE_REQPARTICIPANT:
+ case I_CAL_ROLE_REQPARTICIPANT:
return _("Required Participant");
- case ICAL_ROLE_OPTPARTICIPANT:
+ case I_CAL_ROLE_OPTPARTICIPANT:
return _("Optional Participant");
- case ICAL_ROLE_NONPARTICIPANT:
+ case I_CAL_ROLE_NONPARTICIPANT:
return _("Non-Participant");
default:
return _("Unknown");
@@ -189,46 +189,46 @@ boolean_to_text (gboolean b)
return _("No");
}
-static icalparameter_partstat
+static ICalParameterPartstat
text_to_partstat (const gchar *partstat)
{
if (!e_util_utf8_strcasecmp (partstat, _("Needs Action")))
- return ICAL_PARTSTAT_NEEDSACTION;
+ return I_CAL_PARTSTAT_NEEDSACTION;
else if (!e_util_utf8_strcasecmp (partstat, _("Accepted")))
- return ICAL_PARTSTAT_ACCEPTED;
+ return I_CAL_PARTSTAT_ACCEPTED;
else if (!e_util_utf8_strcasecmp (partstat, _("Declined")))
- return ICAL_PARTSTAT_DECLINED;
+ return I_CAL_PARTSTAT_DECLINED;
else if (!e_util_utf8_strcasecmp (partstat, _("Tentative")))
- return ICAL_PARTSTAT_TENTATIVE;
+ return I_CAL_PARTSTAT_TENTATIVE;
else if (!e_util_utf8_strcasecmp (partstat, _("Delegated")))
- return ICAL_PARTSTAT_DELEGATED;
+ return I_CAL_PARTSTAT_DELEGATED;
else if (!e_util_utf8_strcasecmp (partstat, _("Completed")))
- return ICAL_PARTSTAT_COMPLETED;
+ return I_CAL_PARTSTAT_COMPLETED;
else if (!e_util_utf8_strcasecmp (partstat, _("In Process")))
- return ICAL_PARTSTAT_INPROCESS;
+ return I_CAL_PARTSTAT_INPROCESS;
else
- return ICAL_PARTSTAT_NONE;
+ return I_CAL_PARTSTAT_NONE;
}
static gchar *
-partstat_to_text (icalparameter_partstat partstat)
+partstat_to_text (ICalParameterPartstat partstat)
{
switch (partstat) {
- case ICAL_PARTSTAT_NEEDSACTION:
+ case I_CAL_PARTSTAT_NEEDSACTION:
return _("Needs Action");
- case ICAL_PARTSTAT_ACCEPTED:
+ case I_CAL_PARTSTAT_ACCEPTED:
return _("Accepted");
- case ICAL_PARTSTAT_DECLINED:
+ case I_CAL_PARTSTAT_DECLINED:
return _("Declined");
- case ICAL_PARTSTAT_TENTATIVE:
+ case I_CAL_PARTSTAT_TENTATIVE:
return _("Tentative");
- case ICAL_PARTSTAT_DELEGATED:
+ case I_CAL_PARTSTAT_DELEGATED:
return _("Delegated");
- case ICAL_PARTSTAT_COMPLETED:
+ case I_CAL_PARTSTAT_COMPLETED:
return _("Completed");
- case ICAL_PARTSTAT_INPROCESS:
+ case I_CAL_PARTSTAT_INPROCESS:
return _("In Process");
- case ICAL_PARTSTAT_NONE:
+ case I_CAL_PARTSTAT_NONE:
default:
return _("Unknown");
}
@@ -384,7 +384,7 @@ get_value (GtkTreeModel *model,
g_value_init (value, G_TYPE_STRING);
g_value_set_string (
value, partstat_to_text (
- e_meeting_attendee_get_status (attendee)));
+ e_meeting_attendee_get_partstat (attendee)));
break;
case E_MEETING_STORE_CN_COL:
g_value_init (value, G_TYPE_STRING);
@@ -535,24 +535,27 @@ e_meeting_store_set_value (EMeetingStore *store,
gint col,
const gchar *val)
{
- icalparameter_cutype type;
+ ICalParameterCutype cutype;
EMeetingAttendee *attendee = g_ptr_array_index (store->priv->attendees, row);
switch (col) {
case E_MEETING_STORE_ADDRESS_COL:
- if (val != NULL && *((gchar *) val))
- e_meeting_attendee_set_address (
- attendee, g_strdup_printf (
- "MAILTO:%s", (gchar *) val));
+ if (val != NULL && *((gchar *) val)) {
+ gchar *mailto;
+
+ mailto = g_strdup_printf ("MAILTO:%s", (const gchar *) val);
+ e_meeting_attendee_set_address (attendee, mailto);
+ g_free (mailto);
+ }
break;
case E_MEETING_STORE_MEMBER_COL:
- e_meeting_attendee_set_member (attendee, g_strdup (val));
+ e_meeting_attendee_set_member (attendee, val);
break;
case E_MEETING_STORE_TYPE_COL:
- type = text_to_type (val);
- e_meeting_attendee_set_cutype (attendee, text_to_type (val));
- if (type == ICAL_CUTYPE_RESOURCE) {
- e_meeting_attendee_set_role (attendee, ICAL_ROLE_NONPARTICIPANT);
+ cutype = text_to_type (val);
+ e_meeting_attendee_set_cutype (attendee, cutype);
+ if (cutype == I_CAL_CUTYPE_RESOURCE) {
+ e_meeting_attendee_set_role (attendee, I_CAL_ROLE_NONPARTICIPANT);
}
break;
case E_MEETING_STORE_ROLE_COL:
@@ -562,19 +565,19 @@ e_meeting_store_set_value (EMeetingStore *store,
e_meeting_attendee_set_rsvp (attendee, text_to_boolean (val));
break;
case E_MEETING_STORE_DELTO_COL:
- e_meeting_attendee_set_delto (attendee, g_strdup (val));
+ e_meeting_attendee_set_delto (attendee, val);
break;
case E_MEETING_STORE_DELFROM_COL:
- e_meeting_attendee_set_delfrom (attendee, g_strdup (val));
+ e_meeting_attendee_set_delfrom (attendee, val);
break;
case E_MEETING_STORE_STATUS_COL:
- e_meeting_attendee_set_status (attendee, text_to_partstat (val));
+ e_meeting_attendee_set_partstat (attendee, text_to_partstat (val));
break;
case E_MEETING_STORE_CN_COL:
- e_meeting_attendee_set_cn (attendee, g_strdup (val));
+ e_meeting_attendee_set_cn (attendee, val);
break;
case E_MEETING_STORE_LANGUAGE_COL:
- e_meeting_attendee_set_language (attendee, g_strdup (val));
+ e_meeting_attendee_set_language (attendee, val);
break;
}
}
@@ -776,6 +779,8 @@ meeting_store_finalize (GObject *object)
g_free (priv->fb_uri);
+ g_clear_object (&priv->zone);
+
g_mutex_clear (&priv->mutex);
/* Chain up to parent's finalize() method. */
@@ -977,7 +982,7 @@ e_meeting_store_set_free_busy_template (EMeetingStore *store,
g_object_notify (G_OBJECT (store), "free-busy-template");
}
-icaltimezone *
+ICalTimezone *
e_meeting_store_get_timezone (EMeetingStore *store)
{
g_return_val_if_fail (E_IS_MEETING_STORE (store), NULL);
@@ -987,14 +992,15 @@ e_meeting_store_get_timezone (EMeetingStore *store)
void
e_meeting_store_set_timezone (EMeetingStore *store,
- icaltimezone *timezone)
+ const ICalTimezone *timezone)
{
g_return_if_fail (E_IS_MEETING_STORE (store));
if (store->priv->zone == timezone)
return;
- store->priv->zone = timezone;
+ g_clear_object (&store->priv->zone);
+ store->priv->zone = e_cal_util_copy_timezone (timezone);
g_object_notify (G_OBJECT (store), "timezone");
}
@@ -1078,8 +1084,8 @@ e_meeting_store_add_attendee_with_defaults (EMeetingStore *store)
attendee = E_MEETING_ATTENDEE (e_meeting_attendee_new ());
- e_meeting_attendee_set_address (attendee, g_strdup (""));
- e_meeting_attendee_set_member (attendee, g_strdup (""));
+ e_meeting_attendee_set_address (attendee, "");
+ e_meeting_attendee_set_member (attendee, "");
str = g_strdup (_("Individual"));
e_meeting_attendee_set_cutype (attendee, text_to_type (str));
@@ -1091,15 +1097,15 @@ e_meeting_store_add_attendee_with_defaults (EMeetingStore *store)
e_meeting_attendee_set_rsvp (attendee, text_to_boolean (str));
g_free (str);
- e_meeting_attendee_set_delto (attendee, g_strdup (""));
- e_meeting_attendee_set_delfrom (attendee, g_strdup (""));
+ e_meeting_attendee_set_delto (attendee, "");
+ e_meeting_attendee_set_delfrom (attendee, "");
str = g_strdup (_("Needs Action"));
- e_meeting_attendee_set_status (attendee, text_to_partstat (str));
+ e_meeting_attendee_set_partstat (attendee, text_to_partstat (str));
g_free (str);
- e_meeting_attendee_set_cn (attendee, g_strdup (""));
- e_meeting_attendee_set_language (attendee, g_strdup ("en"));
+ e_meeting_attendee_set_cn (attendee, "");
+ e_meeting_attendee_set_language (attendee, "en");
e_meeting_store_add_attendee (store, attendee);
@@ -1308,44 +1314,57 @@ e_meeting_store_get_attendees (EMeetingStore *store)
return store->priv->attendees;
}
-static icaltimezone *
-find_zone (icalproperty *ip,
- icalcomponent *tz_top_level)
+static ICalTimezone *
+find_zone (ICalProperty *in_prop,
+ ICalComponent *tz_top_level)
{
- icalparameter *param;
- icalcomponent *sub_comp;
+ ICalParameter *param;
+ ICalComponent *subcomp;
const gchar *tzid;
- icalcompiter iter;
+ ICalCompIter *iter;
if (tz_top_level == NULL)
return NULL;
- param = icalproperty_get_first_parameter (ip, ICAL_TZID_PARAMETER);
+ param = i_cal_property_get_first_parameter (in_prop, I_CAL_TZID_PARAMETER);
if (param == NULL)
return NULL;
- tzid = icalparameter_get_tzid (param);
+ tzid = i_cal_parameter_get_tzid (param);
+
+ iter = i_cal_component_begin_component (tz_top_level, I_CAL_VTIMEZONE_COMPONENT);
+ subcomp = i_cal_comp_iter_deref (iter);
+ while (subcomp) {
+ ICalComponent *next_subcomp;
+ ICalProperty *prop;
+
+ next_subcomp = i_cal_comp_iter_next (iter);
- iter = icalcomponent_begin_component (tz_top_level, ICAL_VTIMEZONE_COMPONENT);
- while ((sub_comp = icalcompiter_deref (&iter)) != NULL) {
- icalcomponent *clone;
- icalproperty *prop;
- const gchar *tz_tzid;
+ prop = i_cal_component_get_first_property (subcomp, I_CAL_TZID_PROPERTY);
+ if (prop && !g_strcmp0 (tzid, i_cal_property_get_tzid (prop))) {
+ ICalComponent *clone;
+ ICalTimezone *zone;
- prop = icalcomponent_get_first_property (sub_comp, ICAL_TZID_PROPERTY);
- tz_tzid = icalproperty_get_tzid (prop);
- if (!strcmp (tzid, tz_tzid)) {
- icaltimezone *zone;
+ zone = i_cal_timezone_new ();
+ clone = i_cal_component_new_clone (subcomp);
+ i_cal_timezone_set_component (zone, clone);
- zone = icaltimezone_new ();
- clone = icalcomponent_new_clone (sub_comp);
- icaltimezone_set_component (zone, clone);
+ g_clear_object (&next_subcomp);
+ g_clear_object (&subcomp);
+ g_clear_object (¶m);
+ g_clear_object (&prop);
+ g_clear_object (&iter);
return zone;
}
- icalcompiter_next (&iter);
+ g_clear_object (&prop);
+ g_object_unref (subcomp);
+ subcomp = next_subcomp;
}
+ g_clear_object (¶m);
+ g_clear_object (&iter);
+
return NULL;
}
@@ -1376,106 +1395,122 @@ process_callbacks (EMeetingStoreQueueData *qdata)
}
static void
-process_free_busy_comp_get_xfb (icalproperty *ip,
+process_free_busy_comp_get_xfb (ICalProperty *ip,
gchar **summary,
gchar **location)
{
- const gchar *tmp = NULL;
+ gchar *tmp;
g_return_if_fail (ip != NULL);
g_return_if_fail (summary != NULL && *summary == NULL);
g_return_if_fail (location != NULL && *location == NULL);
- /* We extract extended free/busy information from the icalproperty
+ /* We extract extended free/busy information from the ICalProperty
* here (X-SUMMARY and X-LOCATION). If the property carries such,
* it will be displayed as a tooltip for the busy period. Otherwise,
* nothing will happen (*summary and/or *location will be NULL)
*/
- tmp = icalproperty_get_parameter_as_string (
- ip, E_MEETING_FREE_BUSY_XPROP_SUMMARY);
- *summary = e_meeting_xfb_utf8_string_new_from_ical (
- tmp, E_MEETING_FREE_BUSY_XPROP_MAXLEN);
- tmp = icalproperty_get_parameter_as_string (
- ip, E_MEETING_FREE_BUSY_XPROP_LOCATION);
- *location = e_meeting_xfb_utf8_string_new_from_ical (
- tmp, E_MEETING_FREE_BUSY_XPROP_MAXLEN);
+ tmp = i_cal_property_get_parameter_as_string_r (ip, E_MEETING_FREE_BUSY_XPROP_SUMMARY);
+ *summary = e_meeting_xfb_utf8_string_new_from_ical (tmp, E_MEETING_FREE_BUSY_XPROP_MAXLEN);
+ g_free (tmp);
+
+ tmp = i_cal_property_get_parameter_as_string_r (ip, E_MEETING_FREE_BUSY_XPROP_LOCATION);
+ *location = e_meeting_xfb_utf8_string_new_from_ical (tmp, E_MEETING_FREE_BUSY_XPROP_MAXLEN);
+ g_free (tmp);
}
static void
process_free_busy_comp (EMeetingAttendee *attendee,
- icalcomponent *fb_comp,
- icaltimezone *zone,
- icalcomponent *tz_top_level)
+ ICalComponent *fb_comp,
+ ICalTimezone *zone,
+ ICalComponent *tz_top_level)
{
- icalproperty *ip;
+ ICalProperty *ip;
- ip = icalcomponent_get_first_property (fb_comp, ICAL_DTSTART_PROPERTY);
+ ip = i_cal_component_get_first_property (fb_comp, I_CAL_DTSTART_PROPERTY);
if (ip != NULL) {
- struct icaltimetype dtstart;
- icaltimezone *ds_zone;
-
- dtstart = icalproperty_get_dtstart (ip);
- if (!icaltime_is_utc (dtstart))
- ds_zone = find_zone (ip, tz_top_level);
- else
- ds_zone = icaltimezone_get_utc_timezone ();
- icaltimezone_convert_time (&dtstart, ds_zone, zone);
- e_meeting_attendee_set_start_busy_range (
- attendee,
- dtstart.year,
- dtstart.month,
- dtstart.day,
- dtstart.hour,
- dtstart.minute);
+ ICalTime *dtstart;
+ ICalTimezone *ds_zone;
+
+ dtstart = i_cal_property_get_dtstart (ip);
+ if (dtstart) {
+ if (!i_cal_time_is_utc (dtstart))
+ ds_zone = find_zone (ip, tz_top_level);
+ else
+ ds_zone = g_object_ref (i_cal_timezone_get_utc_timezone ());
+ i_cal_timezone_convert_time (dtstart, ds_zone, zone);
+
+ e_meeting_attendee_set_start_busy_range (
+ attendee,
+ i_cal_time_get_year (dtstart),
+ i_cal_time_get_month (dtstart),
+ i_cal_time_get_day (dtstart),
+ i_cal_time_get_hour (dtstart),
+ i_cal_time_get_minute (dtstart));
+
+ g_clear_object (&ds_zone);
+ g_clear_object (&dtstart);
+ }
}
+ g_clear_object (&ip);
- ip = icalcomponent_get_first_property (fb_comp, ICAL_DTEND_PROPERTY);
+ ip = i_cal_component_get_first_property (fb_comp, I_CAL_DTEND_PROPERTY);
if (ip != NULL) {
- struct icaltimetype dtend;
- icaltimezone *de_zone;
-
- dtend = icalproperty_get_dtend (ip);
- if (!icaltime_is_utc (dtend))
- de_zone = find_zone (ip, tz_top_level);
- else
- de_zone = icaltimezone_get_utc_timezone ();
- icaltimezone_convert_time (&dtend, de_zone, zone);
- e_meeting_attendee_set_end_busy_range (
- attendee,
- dtend.year,
- dtend.month,
- dtend.day,
- dtend.hour,
- dtend.minute);
+ ICalTime *dtend;
+ ICalTimezone *de_zone;
+
+ dtend = i_cal_property_get_dtend (ip);
+ if (dtend) {
+ if (!i_cal_time_is_utc (dtend))
+ de_zone = find_zone (ip, tz_top_level);
+ else
+ de_zone = g_object_ref (i_cal_timezone_get_utc_timezone ());
+ i_cal_timezone_convert_time (dtend, de_zone, zone);
+
+ e_meeting_attendee_set_end_busy_range (
+ attendee,
+ i_cal_time_get_year (dtend),
+ i_cal_time_get_month (dtend),
+ i_cal_time_get_day (dtend),
+ i_cal_time_get_hour (dtend),
+ i_cal_time_get_minute (dtend));
+
+ g_clear_object (&de_zone);
+ g_clear_object (&dtend);
+ }
}
+ g_clear_object (&ip);
- ip = icalcomponent_get_first_property (fb_comp, ICAL_FREEBUSY_PROPERTY);
- while (ip != NULL) {
- icalparameter *param;
- struct icalperiodtype fb;
+ for (ip = i_cal_component_get_first_property (fb_comp, I_CAL_FREEBUSY_PROPERTY);
+ ip;
+ g_object_unref (ip), ip = i_cal_component_get_next_property (fb_comp, I_CAL_FREEBUSY_PROPERTY)) {
+ ICalParameter *param;
+ ICalPeriod *fb;
EMeetingFreeBusyType busy_type = E_MEETING_FREE_BUSY_LAST;
- icalparameter_fbtype fbtype = ICAL_FBTYPE_BUSY;
+ ICalParameterFbtype fbtype = I_CAL_FBTYPE_BUSY;
- fb = icalproperty_get_freebusy (ip);
- param = icalproperty_get_first_parameter (ip, ICAL_FBTYPE_PARAMETER);
- if (param != NULL)
- fbtype = icalparameter_get_fbtype (param);
+ fb = i_cal_property_get_freebusy (ip);
+ param = i_cal_property_get_first_parameter (ip, I_CAL_FBTYPE_PARAMETER);
+ if (param) {
+ fbtype = i_cal_parameter_get_fbtype (param);
+ g_clear_object (¶m);
+ }
switch (fbtype) {
- case ICAL_FBTYPE_BUSY:
+ case I_CAL_FBTYPE_BUSY:
busy_type = E_MEETING_FREE_BUSY_BUSY;
break;
- case ICAL_FBTYPE_BUSYUNAVAILABLE:
+ case I_CAL_FBTYPE_BUSYUNAVAILABLE:
busy_type = E_MEETING_FREE_BUSY_OUT_OF_OFFICE;
break;
- case ICAL_FBTYPE_BUSYTENTATIVE:
+ case I_CAL_FBTYPE_BUSYTENTATIVE:
busy_type = E_MEETING_FREE_BUSY_TENTATIVE;
break;
- case ICAL_FBTYPE_FREE:
+ case I_CAL_FBTYPE_FREE:
busy_type = E_MEETING_FREE_BUSY_FREE;
break;
@@ -1484,15 +1519,19 @@ process_free_busy_comp (EMeetingAttendee *attendee,
}
if (busy_type != E_MEETING_FREE_BUSY_LAST) {
- icaltimezone *utc_zone = icaltimezone_get_utc_timezone ();
+ ICalTimezone *utc_zone = i_cal_timezone_get_utc_timezone ();
+ ICalTime *fbstart, *fbend;
gchar *summary = NULL;
gchar *location = NULL;
- icaltimezone_convert_time (&fb.start, utc_zone, zone);
- icaltimezone_convert_time (&fb.end, utc_zone, zone);
+ fbstart = i_cal_period_get_start (fb);
+ fbend = i_cal_period_get_end (fb);
+
+ i_cal_timezone_convert_time (fbstart, utc_zone, zone);
+ i_cal_timezone_convert_time (fbend, utc_zone, zone);
/* Extract extended free/busy (XFB) information from
- * the icalproperty, if it carries such.
+ * the ICalProperty, if it carries such.
* See the comment for the EMeetingXfbData structure
* for a reference.
*/
@@ -1500,77 +1539,91 @@ process_free_busy_comp (EMeetingAttendee *attendee,
e_meeting_attendee_add_busy_period (
attendee,
- fb.start.year,
- fb.start.month,
- fb.start.day,
- fb.start.hour,
- fb.start.minute,
- fb.end.year,
- fb.end.month,
- fb.end.day,
- fb.end.hour,
- fb.end.minute,
+ i_cal_time_get_year (fbstart),
+ i_cal_time_get_month (fbstart),
+ i_cal_time_get_day (fbstart),
+ i_cal_time_get_hour (fbstart),
+ i_cal_time_get_minute (fbstart),
+ i_cal_time_get_year (fbend),
+ i_cal_time_get_month (fbend),
+ i_cal_time_get_day (fbend),
+ i_cal_time_get_hour (fbend),
+ i_cal_time_get_minute (fbend),
busy_type,
summary,
location);
- if (summary != NULL)
- g_free (summary);
- if (location != NULL)
- g_free (location);
+ g_clear_object (&fbstart);
+ g_clear_object (&fbend);
+ g_free (summary);
+ g_free (location);
}
- ip = icalcomponent_get_next_property (fb_comp, ICAL_FREEBUSY_PROPERTY);
+ g_clear_object (&fb);
}
}
static void
process_free_busy (EMeetingStoreQueueData *qdata,
- gchar *text)
+ const gchar *text)
{
EMeetingStore *store = qdata->store;
EMeetingStorePrivate *priv;
EMeetingAttendee *attendee = qdata->attendee;
- icalcomponent *main_comp;
- icalcomponent_kind kind = ICAL_NO_COMPONENT;
+ ICalComponent *main_comp;
+ ICalComponentKind kind = I_CAL_NO_COMPONENT;
priv = store->priv;
- main_comp = icalparser_parse_string (text);
+ main_comp = i_cal_parser_parse_string (text);
if (main_comp == NULL) {
process_callbacks (qdata);
return;
}
- kind = icalcomponent_isa (main_comp);
- if (kind == ICAL_VCALENDAR_COMPONENT) {
- icalcompiter iter;
- icalcomponent *tz_top_level, *sub_comp;
+ kind = i_cal_component_isa (main_comp);
+ if (kind == I_CAL_VCALENDAR_COMPONENT) {
+ ICalCompIter *iter;
+ ICalComponent *tz_top_level, *subcomp;
tz_top_level = e_cal_util_new_top_level ();
- iter = icalcomponent_begin_component (main_comp, ICAL_VTIMEZONE_COMPONENT);
- while ((sub_comp = icalcompiter_deref (&iter)) != NULL) {
- icalcomponent *clone;
+ iter = i_cal_component_begin_component (main_comp, I_CAL_VTIMEZONE_COMPONENT);
+ subcomp = i_cal_comp_iter_deref (iter);
+ while (subcomp) {
+ ICalComponent *next_subcomp;
- clone = icalcomponent_new_clone (sub_comp);
- icalcomponent_add_component (tz_top_level, clone);
+ next_subcomp = i_cal_comp_iter_next (iter);
- icalcompiter_next (&iter);
+ i_cal_component_take_component (tz_top_level,
+ i_cal_component_new_clone (subcomp));
+
+ g_object_unref (subcomp);
+ subcomp = next_subcomp;
}
- iter = icalcomponent_begin_component (main_comp, ICAL_VFREEBUSY_COMPONENT);
- while ((sub_comp = icalcompiter_deref (&iter)) != NULL) {
- process_free_busy_comp (attendee, sub_comp, priv->zone, tz_top_level);
+ g_clear_object (&iter);
+
+ iter = i_cal_component_begin_component (main_comp, I_CAL_VFREEBUSY_COMPONENT);
+ subcomp = i_cal_comp_iter_deref (iter);
+ while (subcomp) {
+ ICalComponent *next_subcomp;
- icalcompiter_next (&iter);
+ next_subcomp = i_cal_comp_iter_next (iter);
+
+ process_free_busy_comp (attendee, subcomp, priv->zone, tz_top_level);
+
+ g_object_unref (subcomp);
+ subcomp = next_subcomp;
}
- icalcomponent_free (tz_top_level);
- } else if (kind == ICAL_VFREEBUSY_COMPONENT) {
+
+ g_clear_object (&iter);
+ g_clear_object (&tz_top_level);
+ } else if (kind == I_CAL_VFREEBUSY_COMPONENT) {
process_free_busy_comp (attendee, main_comp, priv->zone, NULL);
}
- icalcomponent_free (main_comp);
+ g_clear_object (&main_comp);
process_callbacks (qdata);
}
@@ -1747,25 +1800,33 @@ refresh_busy_periods (gpointer data)
/* Check the server for free busy data */
if (priv->client) {
- struct icaltimetype itt;
-
- itt = icaltime_null_time ();
- itt.year = g_date_get_year (&qdata->start.date);
- itt.month = g_date_get_month (&qdata->start.date);
- itt.day = g_date_get_day (&qdata->start.date);
- itt.hour = qdata->start.hour;
- itt.minute = qdata->start.minute;
- fbd->startt = icaltime_as_timet_with_zone (itt, priv->zone);
-
- itt = icaltime_null_time ();
- itt.year = g_date_get_year (&qdata->end.date);
- itt.month = g_date_get_month (&qdata->end.date);
- itt.day = g_date_get_day (&qdata->end.date);
- itt.hour = qdata->end.hour;
- itt.minute = qdata->end.minute;
- fbd->endt = icaltime_as_timet_with_zone (itt, priv->zone);
- fbd->qdata = qdata;
+ ICalTime *itt;
+
+ itt = i_cal_time_null_time ();
+ i_cal_time_set_date (itt,
+ g_date_get_year (&qdata->start.date),
+ g_date_get_month (&qdata->start.date),
+ g_date_get_day (&qdata->start.date));
+ i_cal_time_set_time (itt,
+ qdata->start.hour,
+ qdata->start.minute,
+ 0);
+ fbd->startt = i_cal_time_as_timet_with_zone (itt, priv->zone);
+ g_clear_object (&itt);
+
+ itt = i_cal_time_null_time ();
+ i_cal_time_set_date (itt,
+ g_date_get_year (&qdata->end.date),
+ g_date_get_month (&qdata->end.date),
+ g_date_get_day (&qdata->end.date));
+ i_cal_time_set_time (itt,
+ qdata->end.hour,
+ qdata->end.minute,
+ 0);
+ fbd->endt = i_cal_time_as_timet_with_zone (itt, priv->zone);
+ g_clear_object (&itt);
+ fbd->qdata = qdata;
fbd->users = g_slist_append (fbd->users, g_strdup (fbd->email));
}
diff --git a/src/calendar/gui/e-meeting-utils.c b/src/calendar/gui/e-meeting-utils.c
index e7df2f89fa..8b9678e6b0 100644
--- a/src/calendar/gui/e-meeting-utils.c
+++ b/src/calendar/gui/e-meeting-utils.c
@@ -93,7 +93,7 @@ e_meeting_xfb_data_clear (EMeetingXfbData *xfb)
}
/* Creates an XFB string from a string property of a vfreebusy
- * icalproperty. The ical string we read may be base64 encoded, but
+ * ICalProperty. The iCal string we read may be base64 encoded, but
* we get no reliable indication whether it really is. So we
* try to base64-decode, and failing that, assume the string
* is plain. The result is validated for UTF-8. We try to convert
@@ -117,7 +117,7 @@ e_meeting_xfb_utf8_string_new_from_ical (const gchar *icalstring,
if (icalstring == NULL)
return NULL;
- /* ical does not carry charset hints, so we
+ /* iCal does not carry charset hints, so we
* try UTF-8 first, then conversion using
* system locale info.
*/
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]