[evolution/wip/mcrha/eds-libical-glib] Final parts of the src/calendar/gui
- From: Milan Crha <mcrha src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [evolution/wip/mcrha/eds-libical-glib] Final parts of the src/calendar/gui
- Date: Thu, 28 Mar 2019 12:31:43 +0000 (UTC)
commit a808adc4b0a8219cdaee43a8dd7167408a175b89
Author: Milan Crha <mcrha redhat com>
Date: Thu Mar 28 13:32:38 2019 +0100
Final parts of the src/calendar/gui
src/calendar/gui/CMakeLists.txt | 6 +-
src/calendar/gui/e-comp-editor-page-recurrence.c | 2 +
src/calendar/gui/e-comp-editor-property-part.c | 395 ++++++++++++-----------
src/calendar/gui/e-comp-editor-property-part.h | 8 +-
src/calendar/gui/e-comp-editor-property-parts.c | 245 +++++++-------
5 files changed, 349 insertions(+), 307 deletions(-)
---
diff --git a/src/calendar/gui/CMakeLists.txt b/src/calendar/gui/CMakeLists.txt
index 09cf401d6c..dcf5fe171d 100644
--- a/src/calendar/gui/CMakeLists.txt
+++ b/src/calendar/gui/CMakeLists.txt
@@ -35,8 +35,8 @@ set(SOURCES
e-cal-dialogs.c
e-cal-event.c
e-cal-list-view.c
- e-cal-model-calendar.c
e-cal-model.c
+ e-cal-model-calendar.c
e-cal-model-memos.c
e-cal-model-tasks.c
e-cal-ops.c
@@ -55,11 +55,11 @@ set(SOURCES
e-comp-editor-property-parts.c
e-comp-editor-task.c
e-date-time-list.c
+ e-day-view.c
e-day-view-layout.c
e-day-view-main-item.c
e-day-view-time-item.c
e-day-view-top-item.c
- e-day-view.c
e-meeting-attendee.c
e-meeting-list-view.c
e-meeting-store.c
@@ -73,11 +73,11 @@ set(SOURCES
e-send-options-utils.c
e-task-table.c
e-to-do-pane.c
+ e-week-view.c
e-week-view-event-item.c
e-week-view-layout.c
e-week-view-main-item.c
e-week-view-titles-item.c
- e-week-view.c
e-weekday-chooser.c
e-timezone-entry.c
itip-utils.c
diff --git a/src/calendar/gui/e-comp-editor-page-recurrence.c
b/src/calendar/gui/e-comp-editor-page-recurrence.c
index 10ebba36e7..414940f6c5 100644
--- a/src/calendar/gui/e-comp-editor-page-recurrence.c
+++ b/src/calendar/gui/e-comp-editor-page-recurrence.c
@@ -1950,6 +1950,8 @@ ecep_recurrence_fill_component (ECompEditorPage *page,
g_clear_object (&tt);
}
+
+ g_clear_object (&dtstart);
}
if (!ok) {
diff --git a/src/calendar/gui/e-comp-editor-property-part.c b/src/calendar/gui/e-comp-editor-property-part.c
index 3b661d7f43..60db700bdd 100644
--- a/src/calendar/gui/e-comp-editor-property-part.c
+++ b/src/calendar/gui/e-comp-editor-property-part.c
@@ -279,7 +279,7 @@ e_comp_editor_property_part_get_edit_widget (ECompEditorPropertyPart *property_p
void
e_comp_editor_property_part_fill_widget (ECompEditorPropertyPart *property_part,
- icalcomponent *component)
+ ICalComponent *component)
{
ECompEditorPropertyPartClass *klass;
@@ -294,7 +294,7 @@ e_comp_editor_property_part_fill_widget (ECompEditorPropertyPart *property_part,
void
e_comp_editor_property_part_fill_component (ECompEditorPropertyPart *property_part,
- icalcomponent *component)
+ ICalComponent *component)
{
ECompEditorPropertyPartClass *klass;
@@ -390,30 +390,33 @@ ecepp_string_create_widgets (ECompEditorPropertyPart *property_part,
static void
ecepp_string_fill_widget (ECompEditorPropertyPart *property_part,
- icalcomponent *component)
+ ICalComponent *component)
{
ECompEditorPropertyPartStringClass *klass;
GtkWidget *edit_widget;
- GString *multivalue = NULL;
- icalproperty *prop;
- const gchar *value = NULL;
+ ICalProperty *prop;
+ gchar *text = NULL;
g_return_if_fail (E_IS_COMP_EDITOR_PROPERTY_PART_STRING (property_part));
- g_return_if_fail (component != NULL);
+ g_return_if_fail (I_CAL_IS_COMPONENT (component));
edit_widget = e_comp_editor_property_part_get_edit_widget (property_part);
g_return_if_fail (GTK_IS_ENTRY (edit_widget) || GTK_IS_SCROLLED_WINDOW (edit_widget));
klass = E_COMP_EDITOR_PROPERTY_PART_STRING_GET_CLASS (property_part);
g_return_if_fail (klass != NULL);
- g_return_if_fail (klass->ical_prop_kind != ICAL_NO_PROPERTY);
- g_return_if_fail (klass->ical_get_func != NULL);
+ g_return_if_fail (klass->prop_kind != I_CAL_NO_PROPERTY);
+ g_return_if_fail (klass->i_cal_get_func != NULL);
if (e_comp_editor_property_part_string_is_multivalue (E_COMP_EDITOR_PROPERTY_PART_STRING
(property_part))) {
- for (prop = icalcomponent_get_first_property (component, klass->ical_prop_kind);
+ GString *multivalue = NULL;
+
+ for (prop = i_cal_component_get_first_property (component, klass->prop_kind);
prop;
- prop = icalcomponent_get_next_property (component, klass->ical_prop_kind)) {
- value = klass->ical_get_func (prop);
+ g_object_unref (prop), prop = i_cal_component_get_next_property (component,
klass->prop_kind)) {
+ const gchar *value;
+
+ value = klass->i_cal_get_func (prop);
if (!value || !*value)
continue;
@@ -427,53 +430,49 @@ ecepp_string_fill_widget (ECompEditorPropertyPart *property_part,
}
if (multivalue)
- value = multivalue->str;
- else
- value = NULL;
+ text = g_string_free (multivalue, FALSE);
} else {
- prop = icalcomponent_get_first_property (component, klass->ical_prop_kind);
- if (prop)
- value = klass->ical_get_func (prop);
+ prop = i_cal_component_get_first_property (component, klass->prop_kind);
+ if (prop) {
+ text = g_strdup (klass->i_cal_get_func (prop));
+ g_object_unref (prop);
+ }
}
- if (!value)
- value = "";
-
if (GTK_IS_ENTRY (edit_widget)) {
- gtk_entry_set_text (GTK_ENTRY (edit_widget), value);
+ gtk_entry_set_text (GTK_ENTRY (edit_widget), text ? text : "");
} else /* if (GTK_IS_SCROLLED_WINDOW (edit_widget)) */ {
GtkTextBuffer *buffer;
buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (gtk_bin_get_child (GTK_BIN (edit_widget))));
- gtk_text_buffer_set_text (buffer, value, -1);
+ gtk_text_buffer_set_text (buffer, text ? text : "", -1);
}
e_widget_undo_reset (edit_widget);
- if (multivalue)
- g_string_free (multivalue, TRUE);
+ g_free (text);
}
static void
ecepp_string_fill_component (ECompEditorPropertyPart *property_part,
- icalcomponent *component)
+ ICalComponent *component)
{
ECompEditorPropertyPartStringClass *klass;
GtkWidget *edit_widget;
- icalproperty *prop;
+ ICalProperty *prop;
gchar *value;
g_return_if_fail (E_IS_COMP_EDITOR_PROPERTY_PART_STRING (property_part));
- g_return_if_fail (component != NULL);
+ g_return_if_fail (I_CAL_IS_COMPONENT (component));
edit_widget = e_comp_editor_property_part_get_edit_widget (property_part);
g_return_if_fail (GTK_IS_ENTRY (edit_widget) || GTK_IS_SCROLLED_WINDOW (edit_widget));
klass = E_COMP_EDITOR_PROPERTY_PART_STRING_GET_CLASS (property_part);
g_return_if_fail (klass != NULL);
- g_return_if_fail (klass->ical_prop_kind != ICAL_NO_PROPERTY);
- g_return_if_fail (klass->ical_new_func != NULL);
- g_return_if_fail (klass->ical_set_func != NULL);
+ g_return_if_fail (klass->prop_kind != I_CAL_NO_PROPERTY);
+ g_return_if_fail (klass->i_cal_new_func != NULL);
+ g_return_if_fail (klass->i_cal_set_func != NULL);
if (GTK_IS_ENTRY (edit_widget)) {
value = g_strdup (gtk_entry_get_text (GTK_ENTRY (edit_widget)));
@@ -489,24 +488,22 @@ ecepp_string_fill_component (ECompEditorPropertyPart *property_part,
if (e_comp_editor_property_part_string_is_multivalue (E_COMP_EDITOR_PROPERTY_PART_STRING
(property_part))) {
/* Clear all multivalues first */
- while (prop = icalcomponent_get_first_property (component, klass->ical_prop_kind), prop) {
- icalcomponent_remove_property (component, prop);
- icalproperty_free (prop);
- }
+ e_cal_util_component_remove_property_by_kind (component, klass->prop_kind, TRUE);
}
- prop = icalcomponent_get_first_property (component, klass->ical_prop_kind);
+ prop = i_cal_component_get_first_property (component, klass->prop_kind);
if (value && *value) {
if (prop) {
- klass->ical_set_func (prop, value);
+ klass->i_cal_set_func (prop, value);
+ g_object_unref (prop);
} else {
- prop = klass->ical_new_func (value);
- icalcomponent_add_property (component, prop);
+ prop = klass->i_cal_new_func (value);
+ i_cal_component_take_property (component, prop);
}
} else if (prop) {
- icalcomponent_remove_property (component, prop);
- icalproperty_free (prop);
+ i_cal_component_remove_property (component, prop);
+ g_object_unref (prop);
}
g_free (value);
@@ -530,10 +527,10 @@ e_comp_editor_property_part_string_class_init (ECompEditorPropertyPartStringClas
klass->entry_type = GTK_TYPE_ENTRY;
- klass->ical_prop_kind = ICAL_NO_PROPERTY;
- klass->ical_new_func = NULL;
- klass->ical_set_func = NULL;
- klass->ical_get_func = NULL;
+ klass->prop_kind = I_CAL_NO_PROPERTY;
+ klass->i_cal_new_func = NULL;
+ klass->i_cal_set_func = NULL;
+ klass->i_cal_get_func = NULL;
part_class = E_COMP_EDITOR_PROPERTY_PART_CLASS (klass);
part_class->create_widgets = ecepp_string_create_widgets;
@@ -595,11 +592,11 @@ static guint ecepp_datetime_signals[ECEPP_DATETIME_LAST_SIGNAL];
G_DEFINE_ABSTRACT_TYPE (ECompEditorPropertyPartDatetime, e_comp_editor_property_part_datetime,
E_TYPE_COMP_EDITOR_PROPERTY_PART)
-static icaltimezone *
+static ICalTimezone *
ecepp_datetime_lookup_timezone (ECompEditorPropertyPartDatetime *part_datetime,
const gchar *tzid)
{
- icaltimezone *zone = NULL;
+ ICalTimezone *zone = NULL;
if (!tzid || !*tzid)
return NULL;
@@ -644,125 +641,135 @@ ecepp_datetime_create_widgets (ECompEditorPropertyPart *property_part,
static void
ecepp_datetime_fill_widget (ECompEditorPropertyPart *property_part,
- icalcomponent *component)
+ ICalComponent *component)
{
ECompEditorPropertyPartDatetime *part_datetime;
ECompEditorPropertyPartDatetimeClass *klass;
GtkWidget *edit_widget;
- icalproperty *prop;
- struct icaltimetype value;
+ ICalProperty *prop;
+ ICalTime *value = NULL;
g_return_if_fail (E_IS_COMP_EDITOR_PROPERTY_PART_DATETIME (property_part));
- g_return_if_fail (component != NULL);
+ g_return_if_fail (I_CAL_IS_COMPONENT (component));
edit_widget = e_comp_editor_property_part_get_edit_widget (property_part);
g_return_if_fail (E_IS_DATE_EDIT (edit_widget));
klass = E_COMP_EDITOR_PROPERTY_PART_DATETIME_GET_CLASS (property_part);
g_return_if_fail (klass != NULL);
- g_return_if_fail (klass->ical_prop_kind != ICAL_NO_PROPERTY);
- g_return_if_fail (klass->ical_get_func != NULL);
+ g_return_if_fail (klass->prop_kind != I_CAL_NO_PROPERTY);
+ g_return_if_fail (klass->i_cal_get_func != NULL);
part_datetime = E_COMP_EDITOR_PROPERTY_PART_DATETIME (property_part);
- prop = icalcomponent_get_first_property (component, klass->ical_prop_kind);
+ prop = i_cal_component_get_first_property (component, klass->prop_kind);
if (prop) {
ETimezoneEntry *timezone_entry = g_weak_ref_get (&part_datetime->priv->timezone_entry);
- value = klass->ical_get_func (prop);
+ value = klass->i_cal_get_func (prop);
- if (timezone_entry && !value.is_date) {
- icaltimezone *editor_zone = e_timezone_entry_get_timezone (timezone_entry);
+ if (timezone_entry && value && !i_cal_time_is_date (value)) {
+ ICalTimezone *editor_zone = e_timezone_entry_get_timezone (timezone_entry);
/* Attempt to convert time to the zone used in the editor */
- if (editor_zone && !value.zone && !icaltime_is_utc (value)) {
- icalparameter *param;
+ if (editor_zone && !i_cal_time_get_timezone (value) && !i_cal_time_is_utc (value)) {
+ ICalParameter *param;
- param = icalproperty_get_first_parameter (prop, ICAL_TZID_PARAMETER);
+ param = i_cal_property_get_first_parameter (prop, I_CAL_TZID_PARAMETER);
if (param) {
const gchar *tzid;
- tzid = icalparameter_get_tzid (param);
+ tzid = i_cal_parameter_get_tzid (param);
if (tzid && *tzid) {
if (editor_zone &&
- (g_strcmp0 (icaltimezone_get_tzid (editor_zone), tzid) ==
0 ||
- g_strcmp0 (icaltimezone_get_location (editor_zone), tzid)
== 0)) {
- value.zone = editor_zone;
+ (g_strcmp0 (i_cal_timezone_get_tzid (editor_zone), tzid)
== 0 ||
+ g_strcmp0 (i_cal_timezone_get_location (editor_zone),
tzid) == 0)) {
+ i_cal_time_set_timezone (value, editor_zone);
} else {
- value.zone = ecepp_datetime_lookup_timezone
(part_datetime, tzid);
+ i_cal_time_set_timezone (value,
ecepp_datetime_lookup_timezone (part_datetime, tzid));
}
}
+
+ g_object_unref (param);
}
}
}
g_clear_object (&timezone_entry);
- } else {
- value = icaltime_null_time ();
}
+ if (!value)
+ value = i_cal_time_null_time ();
+
e_comp_editor_property_part_datetime_set_value (part_datetime, value);
+
+ g_clear_object (&value);
}
static void
ecepp_datetime_fill_component (ECompEditorPropertyPart *property_part,
- icalcomponent *component)
+ ICalComponent *component)
{
ECompEditorPropertyPartDatetime *part_datetime;
ECompEditorPropertyPartDatetimeClass *klass;
GtkWidget *edit_widget;
EDateEdit *date_edit;
- icalproperty *prop;
- struct icaltimetype value;
+ ICalProperty *prop;
+ ICalTime *value;
time_t tt;
g_return_if_fail (E_IS_COMP_EDITOR_PROPERTY_PART_DATETIME (property_part));
- g_return_if_fail (component != NULL);
+ g_return_if_fail (I_CAL_IS_COMPONENT (component));
edit_widget = e_comp_editor_property_part_get_edit_widget (property_part);
g_return_if_fail (E_IS_DATE_EDIT (edit_widget));
klass = E_COMP_EDITOR_PROPERTY_PART_DATETIME_GET_CLASS (property_part);
g_return_if_fail (klass != NULL);
- g_return_if_fail (klass->ical_prop_kind != ICAL_NO_PROPERTY);
- g_return_if_fail (klass->ical_new_func != NULL);
- g_return_if_fail (klass->ical_get_func != NULL);
- g_return_if_fail (klass->ical_set_func != NULL);
+ g_return_if_fail (klass->prop_kind != I_CAL_NO_PROPERTY);
+ g_return_if_fail (klass->i_cal_new_func != NULL);
+ g_return_if_fail (klass->i_cal_get_func != NULL);
+ g_return_if_fail (klass->i_cal_set_func != NULL);
part_datetime = E_COMP_EDITOR_PROPERTY_PART_DATETIME (property_part);
date_edit = E_DATE_EDIT (edit_widget);
tt = e_date_edit_get_time (date_edit);
- prop = icalcomponent_get_first_property (component, klass->ical_prop_kind);
+ prop = i_cal_component_get_first_property (component, klass->prop_kind);
if (e_date_edit_get_allow_no_date_set (date_edit) && tt == (time_t) -1) {
if (prop) {
- icalcomponent_remove_property (component, prop);
- icalproperty_free (prop);
+ i_cal_component_remove_property (component, prop);
+ g_object_unref (prop);
}
} else {
value = e_comp_editor_property_part_datetime_get_value (part_datetime);
if (prop) {
/* Remove the VALUE parameter, to correspond to the actual value being set */
- icalproperty_remove_parameter_by_kind (prop, ICAL_VALUE_PARAMETER);
+ i_cal_property_remove_parameter_by_kind (prop, I_CAL_VALUE_PARAMETER);
- klass->ical_set_func (prop, value);
+ klass->i_cal_set_func (prop, value);
/* Re-read the value, because it could be changed by the descendant */
- value = klass->ical_get_func (prop);
+ g_clear_object (&value);
+ value = klass->i_cal_get_func (prop);
cal_comp_util_update_tzid_parameter (prop, value);
} else {
- prop = klass->ical_new_func (value);
+ prop = klass->i_cal_new_func (value);
/* Re-read the value, because it could be changed by the descendant */
- value = klass->ical_get_func (prop);
+ g_clear_object (&value);
+ value = klass->i_cal_get_func (prop);
cal_comp_util_update_tzid_parameter (prop, value);
- icalcomponent_add_property (component, prop);
+ i_cal_component_add_property (component, prop);
}
+
+ g_clear_object (&value);
+ g_clear_object (&prop);
}
}
@@ -794,10 +801,10 @@ e_comp_editor_property_part_datetime_class_init (ECompEditorPropertyPartDatetime
g_type_class_add_private (klass, sizeof (ECompEditorPropertyPartDatetimePrivate));
- klass->ical_prop_kind = ICAL_NO_PROPERTY;
- klass->ical_new_func = NULL;
- klass->ical_set_func = NULL;
- klass->ical_get_func = NULL;
+ klass->prop_kind = I_CAL_NO_PROPERTY;
+ klass->i_cal_new_func = NULL;
+ klass->i_cal_set_func = NULL;
+ klass->i_cal_get_func = NULL;
part_class = E_COMP_EDITOR_PROPERTY_PART_CLASS (klass);
part_class->create_widgets = ecepp_datetime_create_widgets;
@@ -807,7 +814,7 @@ e_comp_editor_property_part_datetime_class_init (ECompEditorPropertyPartDatetime
object_class = G_OBJECT_CLASS (klass);
object_class->finalize = ecepp_datetime_finalize;
- /* icaltimezone *lookup_timezone (datetime, const gchar *tzid); */
+ /* ICalTimezone *lookup_timezone (datetime, const gchar *tzid); */
ecepp_datetime_signals[ECEPP_DATETIME_LOOKUP_TIMEZONE] = g_signal_new (
"lookup-timezone",
G_OBJECT_CLASS_TYPE (object_class),
@@ -888,10 +895,11 @@ e_comp_editor_property_part_datetime_get_allow_no_date_set (ECompEditorPropertyP
void
e_comp_editor_property_part_datetime_set_value (ECompEditorPropertyPartDatetime *part_datetime,
- struct icaltimetype value)
+ const ICalTime *value)
{
GtkWidget *edit_widget;
EDateEdit *date_edit;
+ ICalTime *tmp_value = NULL;
g_return_if_fail (E_IS_COMP_EDITOR_PROPERTY_PART_DATETIME (part_datetime));
@@ -900,53 +908,68 @@ e_comp_editor_property_part_datetime_set_value (ECompEditorPropertyPartDatetime
date_edit = E_DATE_EDIT (edit_widget);
- if (!e_date_edit_get_allow_no_date_set (date_edit) && (icaltime_is_null_time (value) ||
- !icaltime_is_valid_time (value))) {
- value = icaltime_current_time_with_zone (icaltimezone_get_utc_timezone ());
+ if (!e_date_edit_get_allow_no_date_set (date_edit) && (!value || i_cal_time_is_null_time (value) ||
+ !i_cal_time_is_valid_time (value))) {
+ tmp_value = i_cal_time_current_time_with_zone (i_cal_timezone_get_utc_timezone ());
+ value = tmp_value;
}
- if (icaltime_is_null_time (value) ||
- !icaltime_is_valid_time (value)) {
+ if (!value || i_cal_time_is_null_time (value) ||
+ !i_cal_time_is_valid_time (value)) {
e_date_edit_set_time (date_edit, (time_t) -1);
} else {
+ ICalTimezone *zone;
+
+ zone = i_cal_time_get_timezone (value);
+
/* Convert to the same time zone as the editor uses, if different */
- if (!value.is_date && value.zone) {
+ if (!i_cal_time_is_date (value) && zone) {
ETimezoneEntry *timezone_entry = g_weak_ref_get
(&part_datetime->priv->timezone_entry);
if (timezone_entry) {
- icaltimezone *editor_zone = e_timezone_entry_get_timezone (timezone_entry);
+ ICalTimezone *editor_zone = e_timezone_entry_get_timezone (timezone_entry);
+
+ if (editor_zone && zone != editor_zone &&
+ g_strcmp0 (i_cal_timezone_get_tzid (editor_zone), i_cal_timezone_get_tzid
(zone)) != 0 &&
+ g_strcmp0 (i_cal_timezone_get_location (editor_zone),
i_cal_timezone_get_location (zone)) != 0) {
+ if (tmp_value != value) {
+ tmp_value = i_cal_time_new_clone (value);
+ value = tmp_value;
+ }
- if (editor_zone && value.zone != editor_zone &&
- g_strcmp0 (icaltimezone_get_tzid (editor_zone), icaltimezone_get_tzid
((icaltimezone *) value.zone)) != 0 &&
- g_strcmp0 (icaltimezone_get_location (editor_zone),
icaltimezone_get_location ((icaltimezone *) value.zone)) != 0) {
- icaltimezone_convert_time (&value, (icaltimezone *) value.zone,
editor_zone);
- value.zone = editor_zone;
+ i_cal_timezone_convert_time (tmp_value, zone, editor_zone);
+ i_cal_time_set_timezone (tmp_value, editor_zone);
}
}
g_clear_object (&timezone_entry);
}
- e_date_edit_set_date (date_edit, value.year, value.month, value.day);
+ g_clear_object (&zone);
- if (!value.is_date)
- e_date_edit_set_time_of_day (date_edit, value.hour, value.minute);
+ e_date_edit_set_date (date_edit, i_cal_time_get_year (value), i_cal_time_get_month (value),
i_cal_time_get_day (value));
+
+ if (!i_cal_time_is_date (value))
+ e_date_edit_set_time_of_day (date_edit, i_cal_time_get_hour (value),
i_cal_time_get_minute (value));
else if (e_date_edit_get_show_time (date_edit))
e_date_edit_set_time_of_day (date_edit, 0, 0);
else if (e_date_edit_get_allow_no_date_set (date_edit))
e_date_edit_set_time_of_day (date_edit, -1, -1);
- e_comp_editor_property_part_datetime_set_date_only (part_datetime, value.is_date);
+ e_comp_editor_property_part_datetime_set_date_only (part_datetime, i_cal_time_is_date
(value));
}
+
+ g_clear_object (&tmp_value);
}
-struct icaltimetype
+ICalTime *
e_comp_editor_property_part_datetime_get_value (ECompEditorPropertyPartDatetime *part_datetime)
{
ETimezoneEntry *timezone_entry = NULL;
GtkWidget *edit_widget;
EDateEdit *date_edit;
- struct icaltimetype value = icaltime_null_time ();
+ ICalTime *value = i_cal_time_null_time ();
+ gint year, month, day;
g_return_val_if_fail (E_IS_COMP_EDITOR_PROPERTY_PART_DATETIME (part_datetime), value);
@@ -955,21 +978,27 @@ e_comp_editor_property_part_datetime_get_value (ECompEditorPropertyPartDatetime
date_edit = E_DATE_EDIT (edit_widget);
- if (!e_date_edit_get_date (date_edit, &value.year, &value.month, &value.day))
- return icaltime_null_time ();
+ if (!e_date_edit_get_date (date_edit, &year, &month, &day))
+ return value;
+
+ i_cal_time_set_date (value, year, month, day);
if (!e_date_edit_get_show_time (date_edit)) {
- value.is_date = 1;
+ i_cal_time_set_is_date (value, TRUE);
} else {
- value.zone = NULL;
- value.is_date = !e_date_edit_get_time_of_day (date_edit, &value.hour, &value.minute);
+ gint hour, minute;
+
+ i_cal_time_set_timezone (value, NULL);
+ i_cal_time_set_is_date (value, !e_date_edit_get_time_of_day (date_edit, &hour, &minute));
+
+ if (!i_cal_time_is_date (value)) {
+ i_cal_time_set_time (value, hour, minute, 0);
- if (!value.is_date) {
timezone_entry = g_weak_ref_get (&part_datetime->priv->timezone_entry);
if (timezone_entry)
- value.zone = e_timezone_entry_get_timezone (timezone_entry);
- if (!value.zone)
- value.zone = icaltimezone_get_utc_timezone ();
+ i_cal_time_set_timezone (value, e_timezone_entry_get_timezone
(timezone_entry));
+ if (!i_cal_time_get_timezone (value))
+ i_cal_time_set_timezone (value, i_cal_timezone_get_utc_timezone ());
}
}
@@ -1053,27 +1082,28 @@ ecepp_spin_create_widgets (ECompEditorPropertyPart *property_part,
static void
ecepp_spin_fill_widget (ECompEditorPropertyPart *property_part,
- icalcomponent *component)
+ ICalComponent *component)
{
ECompEditorPropertyPartSpinClass *klass;
GtkWidget *edit_widget;
- icalproperty *prop;
+ ICalProperty *prop;
gint value;
g_return_if_fail (E_IS_COMP_EDITOR_PROPERTY_PART_SPIN (property_part));
- g_return_if_fail (component != NULL);
+ g_return_if_fail (I_CAL_IS_COMPONENT (component));
edit_widget = e_comp_editor_property_part_get_edit_widget (property_part);
g_return_if_fail (GTK_IS_SPIN_BUTTON (edit_widget));
klass = E_COMP_EDITOR_PROPERTY_PART_SPIN_GET_CLASS (property_part);
g_return_if_fail (klass != NULL);
- g_return_if_fail (klass->ical_prop_kind != ICAL_NO_PROPERTY);
- g_return_if_fail (klass->ical_get_func != NULL);
+ g_return_if_fail (klass->prop_kind != I_CAL_NO_PROPERTY);
+ g_return_if_fail (klass->i_cal_get_func != NULL);
- prop = icalcomponent_get_first_property (component, klass->ical_prop_kind);
+ prop = i_cal_component_get_first_property (component, klass->prop_kind);
if (prop) {
- value = klass->ical_get_func (prop);
+ value = klass->i_cal_get_func (prop);
+ g_object_unref (prop);
} else {
gdouble d_min, d_max;
@@ -1087,34 +1117,36 @@ ecepp_spin_fill_widget (ECompEditorPropertyPart *property_part,
static void
ecepp_spin_fill_component (ECompEditorPropertyPart *property_part,
- icalcomponent *component)
+ ICalComponent *component)
{
ECompEditorPropertyPartSpinClass *klass;
GtkWidget *edit_widget;
- icalproperty *prop;
+ ICalProperty *prop;
gint value;
g_return_if_fail (E_IS_COMP_EDITOR_PROPERTY_PART_SPIN (property_part));
- g_return_if_fail (component != NULL);
+ g_return_if_fail (I_CAL_COMPONENT (component));
edit_widget = e_comp_editor_property_part_get_edit_widget (property_part);
g_return_if_fail (GTK_IS_SPIN_BUTTON (edit_widget));
klass = E_COMP_EDITOR_PROPERTY_PART_SPIN_GET_CLASS (property_part);
g_return_if_fail (klass != NULL);
- g_return_if_fail (klass->ical_prop_kind != ICAL_NO_PROPERTY);
- g_return_if_fail (klass->ical_new_func != NULL);
- g_return_if_fail (klass->ical_set_func != NULL);
+ g_return_if_fail (klass->prop_kind != I_CAL_NO_PROPERTY);
+ g_return_if_fail (klass->i_cal_new_func != NULL);
+ g_return_if_fail (klass->i_cal_set_func != NULL);
value = gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON (edit_widget));
- prop = icalcomponent_get_first_property (component, klass->ical_prop_kind);
+ prop = i_cal_component_get_first_property (component, klass->prop_kind);
if (prop) {
- klass->ical_set_func (prop, value);
+ klass->i_cal_set_func (prop, value);
} else {
- prop = klass->ical_new_func (value);
- icalcomponent_add_property (component, prop);
+ prop = klass->i_cal_new_func (value);
+ i_cal_component_add_property (component, prop);
}
+
+ g_clear_object (&prop);
}
static void
@@ -1132,10 +1164,10 @@ e_comp_editor_property_part_spin_class_init (ECompEditorPropertyPartSpinClass *k
g_type_class_add_private (klass, sizeof (ECompEditorPropertyPartSpinPrivate));
- klass->ical_prop_kind = ICAL_NO_PROPERTY;
- klass->ical_new_func = NULL;
- klass->ical_set_func = NULL;
- klass->ical_get_func = NULL;
+ klass->prop_kind = I_CAL_NO_PROPERTY;
+ klass->i_cal_new_func = NULL;
+ klass->i_cal_set_func = NULL;
+ klass->i_cal_get_func = NULL;
part_class = E_COMP_EDITOR_PROPERTY_PART_CLASS (klass);
part_class->create_widgets = ecepp_spin_create_widgets;
@@ -1247,13 +1279,13 @@ ecepp_picker_create_widgets (ECompEditorPropertyPart *property_part,
static void
ecepp_picker_fill_widget (ECompEditorPropertyPart *property_part,
- icalcomponent *component)
+ ICalComponent *component)
{
GtkWidget *edit_widget;
gchar *id = NULL;
g_return_if_fail (E_IS_COMP_EDITOR_PROPERTY_PART_PICKER (property_part));
- g_return_if_fail (component != NULL);
+ g_return_if_fail (I_CAL_IS_COMPONENT (component));
edit_widget = e_comp_editor_property_part_get_edit_widget (property_part);
g_return_if_fail (GTK_IS_COMBO_BOX_TEXT (edit_widget));
@@ -1270,13 +1302,13 @@ ecepp_picker_fill_widget (ECompEditorPropertyPart *property_part,
static void
ecepp_picker_fill_component (ECompEditorPropertyPart *property_part,
- icalcomponent *component)
+ ICalComponent *component)
{
GtkWidget *edit_widget;
const gchar *id;
g_return_if_fail (E_IS_COMP_EDITOR_PROPERTY_PART_PICKER (property_part));
- g_return_if_fail (component != NULL);
+ g_return_if_fail (I_CAL_IS_COMPONENT (component));
edit_widget = e_comp_editor_property_part_get_edit_widget (property_part);
g_return_if_fail (GTK_IS_COMBO_BOX_TEXT (edit_widget));
@@ -1331,7 +1363,7 @@ e_comp_editor_property_part_picker_get_values (ECompEditorPropertyPartPicker *pa
gboolean
e_comp_editor_property_part_picker_get_from_component (ECompEditorPropertyPartPicker *part_picker,
- icalcomponent *component,
+ ICalComponent *component,
gchar **out_id)
{
ECompEditorPropertyPartPickerClass *klass;
@@ -1348,7 +1380,7 @@ e_comp_editor_property_part_picker_get_from_component (ECompEditorPropertyPartPi
void
e_comp_editor_property_part_picker_set_to_component (ECompEditorPropertyPartPicker *part_picker,
const gchar *id,
- icalcomponent *component)
+ ICalComponent *component)
{
ECompEditorPropertyPartPickerClass *klass;
@@ -1398,10 +1430,10 @@ struct _ECompEditorPropertyPartPickerWithMapPrivate {
gint n_map_elems;
gchar *label;
- icalproperty_kind ical_prop_kind;
- ECompEditorPropertyPartPickerMapICalNewFunc ical_new_func;
- ECompEditorPropertyPartPickerMapICalSetFunc ical_set_func;
- ECompEditorPropertyPartPickerMapICalGetFunc ical_get_func;
+ ICalPropertyKind prop_kind;
+ ECompEditorPropertyPartPickerMapICalNewFunc i_cal_new_func;
+ ECompEditorPropertyPartPickerMapICalSetFunc i_cal_set_func;
+ ECompEditorPropertyPartPickerMapICalGetFunc i_cal_get_func;
};
enum {
@@ -1440,28 +1472,29 @@ ecepp_picker_with_map_get_values (ECompEditorPropertyPartPicker *part_picker,
static gboolean
ecepp_picker_with_map_get_from_component (ECompEditorPropertyPartPicker *part_picker,
- icalcomponent *component,
+ ICalComponent *component,
gchar **out_id)
{
ECompEditorPropertyPartPickerWithMap *part_picker_with_map;
- icalproperty *prop;
+ ICalProperty *prop;
gint ii, value;
g_return_val_if_fail (E_IS_COMP_EDITOR_PROPERTY_PART_PICKER_WITH_MAP (part_picker), FALSE);
- g_return_val_if_fail (component != NULL, FALSE);
+ g_return_val_if_fail (I_CAL_IS_COMPONENT (component), FALSE);
g_return_val_if_fail (out_id != NULL, FALSE);
part_picker_with_map = E_COMP_EDITOR_PROPERTY_PART_PICKER_WITH_MAP (part_picker);
g_return_val_if_fail (part_picker_with_map->priv->map != NULL, FALSE);
g_return_val_if_fail (part_picker_with_map->priv->n_map_elems > 0, FALSE);
- g_return_val_if_fail (part_picker_with_map->priv->ical_prop_kind != ICAL_NO_PROPERTY, FALSE);
- g_return_val_if_fail (part_picker_with_map->priv->ical_get_func != NULL, FALSE);
+ g_return_val_if_fail (part_picker_with_map->priv->prop_kind != I_CAL_NO_PROPERTY, FALSE);
+ g_return_val_if_fail (part_picker_with_map->priv->i_cal_get_func != NULL, FALSE);
- prop = icalcomponent_get_first_property (component, part_picker_with_map->priv->ical_prop_kind);
+ prop = i_cal_component_get_first_property (component, part_picker_with_map->priv->prop_kind);
if (!prop)
return FALSE;
- value = part_picker_with_map->priv->ical_get_func (prop);
+ value = part_picker_with_map->priv->i_cal_get_func (prop);
+ g_clear_object (&prop);
for (ii = 0; ii < part_picker_with_map->priv->n_map_elems; ii++) {
gboolean matches;
@@ -1484,40 +1517,40 @@ ecepp_picker_with_map_get_from_component (ECompEditorPropertyPartPicker *part_pi
static void
ecepp_picker_with_map_set_to_component (ECompEditorPropertyPartPicker *part_picker,
const gchar *id,
- icalcomponent *component)
+ ICalComponent *component)
{
ECompEditorPropertyPartPickerWithMap *part_picker_with_map;
- icalproperty *prop;
+ ICalProperty *prop;
gint ii, value;
g_return_if_fail (E_IS_COMP_EDITOR_PROPERTY_PART_PICKER_WITH_MAP (part_picker));
g_return_if_fail (id != NULL);
- g_return_if_fail (component != NULL);
+ g_return_if_fail (I_CAL_IS_COMPONENT (component));
part_picker_with_map = E_COMP_EDITOR_PROPERTY_PART_PICKER_WITH_MAP (part_picker);
g_return_if_fail (part_picker_with_map->priv->map != NULL);
g_return_if_fail (part_picker_with_map->priv->n_map_elems > 0);
- g_return_if_fail (part_picker_with_map->priv->ical_prop_kind != ICAL_NO_PROPERTY);
- g_return_if_fail (part_picker_with_map->priv->ical_new_func != NULL);
- g_return_if_fail (part_picker_with_map->priv->ical_set_func != NULL);
+ g_return_if_fail (part_picker_with_map->priv->prop_kind != I_CAL_NO_PROPERTY);
+ g_return_if_fail (part_picker_with_map->priv->i_cal_new_func != NULL);
+ g_return_if_fail (part_picker_with_map->priv->i_cal_set_func != NULL);
ii = (gint) g_ascii_strtoll (id, NULL, 10);
g_return_if_fail (ii >= 0 && ii < part_picker_with_map->priv->n_map_elems);
- prop = icalcomponent_get_first_property (component, part_picker_with_map->priv->ical_prop_kind);
+ prop = i_cal_component_get_first_property (component, part_picker_with_map->priv->prop_kind);
value = part_picker_with_map->priv->map[ii].value;
if (part_picker_with_map->priv->map[ii].delete_prop) {
- if (prop) {
- icalcomponent_remove_property (component, prop);
- icalproperty_free (prop);
- }
+ if (prop)
+ i_cal_component_remove_property (component, prop);
} else if (prop) {
- part_picker_with_map->priv->ical_set_func (prop, value);
+ part_picker_with_map->priv->i_cal_set_func (prop, value);
} else {
- prop = part_picker_with_map->priv->ical_new_func (value);
- icalcomponent_add_property (component, prop);
+ prop = part_picker_with_map->priv->i_cal_new_func (value);
+ i_cal_component_add_property (component, prop);
}
+
+ g_clear_object (&prop);
}
static void
@@ -1671,10 +1704,10 @@ ECompEditorPropertyPart *
e_comp_editor_property_part_picker_with_map_new (const ECompEditorPropertyPartPickerMap map[],
gint n_map_elements,
const gchar *label,
- icalproperty_kind ical_prop_kind,
- ECompEditorPropertyPartPickerMapICalNewFunc ical_new_func,
- ECompEditorPropertyPartPickerMapICalSetFunc ical_set_func,
- ECompEditorPropertyPartPickerMapICalGetFunc ical_get_func)
+ ICalPropertyKind prop_kind,
+ ECompEditorPropertyPartPickerMapICalNewFunc i_cal_new_func,
+ ECompEditorPropertyPartPickerMapICalSetFunc i_cal_set_func,
+ ECompEditorPropertyPartPickerMapICalGetFunc i_cal_get_func)
{
ECompEditorPropertyPartPickerWithMap *part_picker_with_map;
ECompEditorPropertyPartPickerMap *map_copy;
@@ -1684,10 +1717,10 @@ e_comp_editor_property_part_picker_with_map_new (const ECompEditorPropertyPartPi
g_return_val_if_fail (map != NULL, NULL);
g_return_val_if_fail (n_map_elements > 0, NULL);
g_return_val_if_fail (label != NULL, NULL);
- g_return_val_if_fail (ical_prop_kind != ICAL_NO_PROPERTY, NULL);
- g_return_val_if_fail (ical_new_func != NULL, NULL);
- g_return_val_if_fail (ical_set_func != NULL, NULL);
- g_return_val_if_fail (ical_get_func != NULL, NULL);
+ g_return_val_if_fail (prop_kind != I_CAL_NO_PROPERTY, NULL);
+ g_return_val_if_fail (i_cal_new_func != NULL, NULL);
+ g_return_val_if_fail (i_cal_set_func != NULL, NULL);
+ g_return_val_if_fail (i_cal_get_func != NULL, NULL);
map_copy = g_new0 (ECompEditorPropertyPartPickerMap, n_map_elements + 1);
for (ii = 0; ii < n_map_elements; ii++) {
@@ -1702,10 +1735,10 @@ e_comp_editor_property_part_picker_with_map_new (const ECompEditorPropertyPartPi
part_picker_with_map = E_COMP_EDITOR_PROPERTY_PART_PICKER_WITH_MAP (property_part);
- part_picker_with_map->priv->ical_prop_kind = ical_prop_kind;
- part_picker_with_map->priv->ical_new_func = ical_new_func;
- part_picker_with_map->priv->ical_set_func = ical_set_func;
- part_picker_with_map->priv->ical_get_func = ical_get_func;
+ part_picker_with_map->priv->prop_kind = prop_kind;
+ part_picker_with_map->priv->i_cal_new_func = i_cal_new_func;
+ part_picker_with_map->priv->i_cal_set_func = i_cal_set_func;
+ part_picker_with_map->priv->i_cal_get_func = i_cal_get_func;
return property_part;
}
diff --git a/src/calendar/gui/e-comp-editor-property-part.h b/src/calendar/gui/e-comp-editor-property-part.h
index 6c26560dea..cf29a09beb 100644
--- a/src/calendar/gui/e-comp-editor-property-part.h
+++ b/src/calendar/gui/e-comp-editor-property-part.h
@@ -217,7 +217,7 @@ struct _ECompEditorPropertyPartStringClass {
ICalProperty * (* i_cal_new_func) (const gchar *value);
void (* i_cal_set_func) (ICalProperty *prop,
const gchar *value);
- const gchar * (* i_cal_get_func) (const ICalProperty *prop);
+ const gchar * (* i_cal_get_func) (ICalProperty *prop);
};
GType e_comp_editor_property_part_string_get_type (void) G_GNUC_CONST;
@@ -250,7 +250,7 @@ struct _ECompEditorPropertyPartDatetimeClass {
ICalProperty * (* i_cal_new_func) (ICalTime *value);
void (* i_cal_set_func) (ICalProperty *prop,
ICalTime *value);
- ICalTime * (* i_cal_get_func) (const ICalProperty *prop);
+ ICalTime * (* i_cal_get_func) (ICalProperty *prop);
};
GType e_comp_editor_property_part_datetime_get_type (void) G_GNUC_CONST;
@@ -295,7 +295,7 @@ struct _ECompEditorPropertyPartSpinClass {
ICalProperty * (* i_cal_new_func) (gint value);
void (* i_cal_set_func) (ICalProperty *prop,
gint value);
- gint (* i_cal_get_func) (const ICalProperty *prop);
+ gint (* i_cal_get_func) (ICalProperty *prop);
};
GType e_comp_editor_property_part_spin_get_type (void) G_GNUC_CONST;
@@ -366,7 +366,7 @@ typedef struct _ECompEditorPropertyPartPickerMap {
typedef ICalProperty * (* ECompEditorPropertyPartPickerMapICalNewFunc) (gint value);
typedef void (* ECompEditorPropertyPartPickerMapICalSetFunc) (ICalProperty *prop,
gint value);
-typedef gint (* ECompEditorPropertyPartPickerMapICalGetFunc) (const ICalProperty *prop);
+typedef gint (* ECompEditorPropertyPartPickerMapICalGetFunc) (ICalProperty *prop);
struct _ECompEditorPropertyPartPickerWithMap {
ECompEditorPropertyPartPicker parent;
diff --git a/src/calendar/gui/e-comp-editor-property-parts.c b/src/calendar/gui/e-comp-editor-property-parts.c
index 05ee33be32..2ba8eb020b 100644
--- a/src/calendar/gui/e-comp-editor-property-parts.c
+++ b/src/calendar/gui/e-comp-editor-property-parts.c
@@ -102,10 +102,10 @@ e_comp_editor_property_part_summary_class_init (ECompEditorPropertyPartSummaryCl
part_string_class = E_COMP_EDITOR_PROPERTY_PART_STRING_CLASS (klass);
part_string_class->entry_type = E_TYPE_SPELL_ENTRY;
- part_string_class->ical_prop_kind = ICAL_SUMMARY_PROPERTY;
- part_string_class->ical_new_func = icalproperty_new_summary;
- part_string_class->ical_set_func = icalproperty_set_summary;
- part_string_class->ical_get_func = icalproperty_get_summary;
+ part_string_class->prop_kind = I_CAL_SUMMARY_PROPERTY;
+ part_string_class->i_cal_new_func = i_cal_property_new_summary;
+ part_string_class->i_cal_set_func = i_cal_property_set_summary;
+ part_string_class->i_cal_get_func = i_cal_property_get_summary;
part_class = E_COMP_EDITOR_PROPERTY_PART_CLASS (klass);
part_class->create_widgets = ecepp_summary_create_widgets;
@@ -337,7 +337,7 @@ ecepp_location_create_widgets (ECompEditorPropertyPart *property_part,
static void
ecepp_location_fill_component (ECompEditorPropertyPart *property_part,
- icalcomponent *component)
+ ICalComponent *component)
{
ECompEditorPropertyPartClass *part_class;
GtkWidget *edit_widget;
@@ -368,10 +368,10 @@ e_comp_editor_property_part_location_class_init (ECompEditorPropertyPartLocation
ECompEditorPropertyPartClass *part_class;
part_string_class = E_COMP_EDITOR_PROPERTY_PART_STRING_CLASS (klass);
- part_string_class->ical_prop_kind = ICAL_LOCATION_PROPERTY;
- part_string_class->ical_new_func = icalproperty_new_location;
- part_string_class->ical_set_func = icalproperty_set_location;
- part_string_class->ical_get_func = icalproperty_get_location;
+ part_string_class->prop_kind = I_CAL_LOCATION_PROPERTY;
+ part_string_class->i_cal_new_func = i_cal_property_new_location;
+ part_string_class->i_cal_set_func = i_cal_property_set_location;
+ part_string_class->i_cal_get_func = i_cal_property_get_location;
part_class = E_COMP_EDITOR_PROPERTY_PART_CLASS (klass);
part_class->create_widgets = ecepp_location_create_widgets;
@@ -482,10 +482,10 @@ e_comp_editor_property_part_categories_class_init (ECompEditorPropertyPartCatego
ECompEditorPropertyPartClass *part_class;
part_string_class = E_COMP_EDITOR_PROPERTY_PART_STRING_CLASS (klass);
- part_string_class->ical_prop_kind = ICAL_CATEGORIES_PROPERTY;
- part_string_class->ical_new_func = icalproperty_new_categories;
- part_string_class->ical_set_func = icalproperty_set_categories;
- part_string_class->ical_get_func = icalproperty_get_categories;
+ part_string_class->prop_kind = I_CAL_CATEGORIES_PROPERTY;
+ part_string_class->i_cal_new_func = i_cal_property_new_categories;
+ part_string_class->i_cal_set_func = i_cal_property_set_categories;
+ part_string_class->i_cal_get_func = i_cal_property_get_categories;
part_class = E_COMP_EDITOR_PROPERTY_PART_CLASS (klass);
part_class->create_widgets = ecepp_categories_create_widgets;
@@ -581,13 +581,13 @@ ecepp_description_create_widgets (ECompEditorPropertyPart *property_part,
static void
ecepp_description_fill_widget (ECompEditorPropertyPart *property_part,
- icalcomponent *component)
+ ICalComponent *component)
{
ECompEditorPropertyPartClass *part_class;
GtkWidget *edit_widget;
g_return_if_fail (E_IS_COMP_EDITOR_PROPERTY_PART_DESCRIPTION (property_part));
- g_return_if_fail (component != NULL);
+ g_return_if_fail (I_CAL_IS_COMPONENT (component));
part_class = E_COMP_EDITOR_PROPERTY_PART_CLASS (e_comp_editor_property_part_description_parent_class);
g_return_if_fail (part_class != NULL);
@@ -614,10 +614,10 @@ e_comp_editor_property_part_description_class_init (ECompEditorPropertyPartDescr
part_string_class = E_COMP_EDITOR_PROPERTY_PART_STRING_CLASS (klass);
part_string_class->entry_type = GTK_TYPE_TEXT_VIEW;
- part_string_class->ical_prop_kind = ICAL_DESCRIPTION_PROPERTY;
- part_string_class->ical_new_func = icalproperty_new_description;
- part_string_class->ical_set_func = icalproperty_set_description;
- part_string_class->ical_get_func = icalproperty_get_description;
+ part_string_class->prop_kind = I_CAL_DESCRIPTION_PROPERTY;
+ part_string_class->i_cal_new_func = i_cal_property_new_description;
+ part_string_class->i_cal_set_func = i_cal_property_set_description;
+ part_string_class->i_cal_get_func = i_cal_property_get_description;
part_class = E_COMP_EDITOR_PROPERTY_PART_CLASS (klass);
part_class->create_widgets = ecepp_description_create_widgets;
@@ -710,10 +710,10 @@ e_comp_editor_property_part_url_class_init (ECompEditorPropertyPartUrlClass *kla
part_string_class = E_COMP_EDITOR_PROPERTY_PART_STRING_CLASS (klass);
part_string_class->entry_type = E_TYPE_URL_ENTRY;
- part_string_class->ical_prop_kind = ICAL_URL_PROPERTY;
- part_string_class->ical_new_func = icalproperty_new_url;
- part_string_class->ical_set_func = icalproperty_set_url;
- part_string_class->ical_get_func = icalproperty_get_url;
+ part_string_class->prop_kind = I_CAL_URL_PROPERTY;
+ part_string_class->i_cal_new_func = i_cal_property_new_url;
+ part_string_class->i_cal_set_func = i_cal_property_set_url;
+ part_string_class->i_cal_get_func = i_cal_property_get_url;
part_class = E_COMP_EDITOR_PROPERTY_PART_CLASS (klass);
part_class->create_widgets = ecepp_url_create_widgets;
@@ -920,10 +920,10 @@ e_comp_editor_property_part_dtstart_class_init (ECompEditorPropertyPartDtstartCl
ECompEditorPropertyPartDatetimeClass *part_datetime_class;
part_datetime_class = E_COMP_EDITOR_PROPERTY_PART_DATETIME_CLASS (klass);
- part_datetime_class->ical_prop_kind = ICAL_DTSTART_PROPERTY;
- part_datetime_class->ical_new_func = icalproperty_new_dtstart;
- part_datetime_class->ical_set_func = icalproperty_set_dtstart;
- part_datetime_class->ical_get_func = icalproperty_get_dtstart;
+ part_datetime_class->prop_kind = I_CAL_DTSTART_PROPERTY;
+ part_datetime_class->i_cal_new_func = i_cal_property_new_dtstart;
+ part_datetime_class->i_cal_set_func = i_cal_property_set_dtstart;
+ part_datetime_class->i_cal_get_func = i_cal_property_get_dtstart;
}
ECompEditorPropertyPart *
@@ -981,10 +981,10 @@ e_comp_editor_property_part_dtend_class_init (ECompEditorPropertyPartDtendClass
ECompEditorPropertyPartDatetimeClass *part_datetime_class;
part_datetime_class = E_COMP_EDITOR_PROPERTY_PART_DATETIME_CLASS (klass);
- part_datetime_class->ical_prop_kind = ICAL_DTEND_PROPERTY;
- part_datetime_class->ical_new_func = icalproperty_new_dtend;
- part_datetime_class->ical_set_func = icalproperty_set_dtend;
- part_datetime_class->ical_get_func = icalproperty_get_dtend;
+ part_datetime_class->prop_kind = I_CAL_DTEND_PROPERTY;
+ part_datetime_class->i_cal_new_func = i_cal_property_new_dtend;
+ part_datetime_class->i_cal_set_func = i_cal_property_set_dtend;
+ part_datetime_class->i_cal_get_func = i_cal_property_get_dtend;
}
ECompEditorPropertyPart *
@@ -1042,10 +1042,10 @@ e_comp_editor_property_part_due_class_init (ECompEditorPropertyPartDueClass *kla
ECompEditorPropertyPartDatetimeClass *part_datetime_class;
part_datetime_class = E_COMP_EDITOR_PROPERTY_PART_DATETIME_CLASS (klass);
- part_datetime_class->ical_prop_kind = ICAL_DUE_PROPERTY;
- part_datetime_class->ical_new_func = icalproperty_new_due;
- part_datetime_class->ical_set_func = icalproperty_set_due;
- part_datetime_class->ical_get_func = icalproperty_get_due;
+ part_datetime_class->prop_kind = I_CAL_DUE_PROPERTY;
+ part_datetime_class->i_cal_new_func = i_cal_property_new_due;
+ part_datetime_class->i_cal_set_func = i_cal_property_set_due;
+ part_datetime_class->i_cal_get_func = i_cal_property_get_due;
}
ECompEditorPropertyPart *
@@ -1092,39 +1092,37 @@ GType e_comp_editor_property_part_completed_get_type (void) G_GNUC_CONST;
G_DEFINE_TYPE (ECompEditorPropertyPartCompleted, e_comp_editor_property_part_completed,
E_TYPE_COMP_EDITOR_PROPERTY_PART_DATETIME_LABELED)
static void
-e_comp_editor_property_part_completed_ensure_date_time (struct icaltimetype *pvalue)
+e_comp_editor_property_part_completed_ensure_date_time (ICalTime *pvalue)
{
if (!pvalue)
return;
- if (pvalue->is_date) {
- pvalue->is_date = 0;
- pvalue->hour = 0;
- pvalue->minute = 0;
- pvalue->second = 0;
- pvalue->zone = icaltimezone_get_utc_timezone ();
- } else if (!icaltime_is_utc (*pvalue)) {
+ if (i_cal_time_is_date (pvalue)) {
+ i_cal_time_set_is_date (pvalue, FALSE);
+ i_cal_time_set_time (pvalue, 0, 0, 0);
+ i_cal_time_set_timezone (pvalue, i_cal_timezone_get_utc_timezone ());
+ } else if (!i_cal_time_is_utc (pvalue)) {
/* Make sure the time is in UTC */
- icaltimezone_convert_time (pvalue, (icaltimezone *) pvalue->zone,
icaltimezone_get_utc_timezone ());
- pvalue->zone = icaltimezone_get_utc_timezone ();
+ i_cal_timezone_convert_time (pvalue, i_cal_time_get_timezone (pvalue),
i_cal_timezone_get_utc_timezone ());
+ i_cal_time_set_timezone (pvalue, i_cal_timezone_get_utc_timezone ());
}
}
-static icalproperty *
-e_comp_editor_property_part_completed_new_func_wrapper (struct icaltimetype value)
+static ICalProperty *
+e_comp_editor_property_part_completed_new_func_wrapper (ICalTime *value)
{
- e_comp_editor_property_part_completed_ensure_date_time (&value);
+ e_comp_editor_property_part_completed_ensure_date_time (value);
- return icalproperty_new_completed (value);
+ return i_cal_property_new_completed (value);
}
static void
-e_comp_editor_property_part_completed_set_func_wrapper (icalproperty *prop,
- struct icaltimetype value)
+e_comp_editor_property_part_completed_set_func_wrapper (ICalProperty *prop,
+ ICalTime *value)
{
- e_comp_editor_property_part_completed_ensure_date_time (&value);
+ e_comp_editor_property_part_completed_ensure_date_time (value);
- return icalproperty_set_completed (prop, value);
+ i_cal_property_set_completed (prop, value);
}
static void
@@ -1138,10 +1136,10 @@ e_comp_editor_property_part_completed_class_init (ECompEditorPropertyPartComplet
ECompEditorPropertyPartDatetimeClass *part_datetime_class;
part_datetime_class = E_COMP_EDITOR_PROPERTY_PART_DATETIME_CLASS (klass);
- part_datetime_class->ical_prop_kind = ICAL_COMPLETED_PROPERTY;
- part_datetime_class->ical_new_func = e_comp_editor_property_part_completed_new_func_wrapper;
- part_datetime_class->ical_set_func = e_comp_editor_property_part_completed_set_func_wrapper;
- part_datetime_class->ical_get_func = icalproperty_get_completed;
+ part_datetime_class->prop_kind = I_CAL_COMPLETED_PROPERTY;
+ part_datetime_class->i_cal_new_func = e_comp_editor_property_part_completed_new_func_wrapper;
+ part_datetime_class->i_cal_set_func = e_comp_editor_property_part_completed_set_func_wrapper;
+ part_datetime_class->i_cal_get_func = i_cal_property_get_completed;
}
ECompEditorPropertyPart *
@@ -1167,9 +1165,9 @@ ECompEditorPropertyPart *
e_comp_editor_property_part_classification_new (void)
{
ECompEditorPropertyPartPickerMap map[] = {
- { ICAL_CLASS_PUBLIC, NC_("ECompEditor", "Public"), FALSE, NULL },
- { ICAL_CLASS_PRIVATE, NC_("ECompEditor", "Private"), FALSE, NULL },
- { ICAL_CLASS_CONFIDENTIAL, NC_("ECompEditor", "Confidential"), FALSE, NULL }
+ { I_CAL_CLASS_PUBLIC, NC_("ECompEditor", "Public"), FALSE, NULL },
+ { I_CAL_CLASS_PRIVATE, NC_("ECompEditor", "Private"), FALSE, NULL },
+ { I_CAL_CLASS_CONFIDENTIAL, NC_("ECompEditor", "Confidential"), FALSE, NULL }
};
GSettings *settings;
ECompEditorPropertyPart *part;
@@ -1186,10 +1184,10 @@ e_comp_editor_property_part_classification_new (void)
part = e_comp_editor_property_part_picker_with_map_new (map, n_elems,
C_("ECompEditor", "C_lassification:"),
- ICAL_CLASS_PROPERTY,
- (ECompEditorPropertyPartPickerMapICalNewFunc) icalproperty_new_class,
- (ECompEditorPropertyPartPickerMapICalSetFunc) icalproperty_set_class,
- (ECompEditorPropertyPartPickerMapICalGetFunc) icalproperty_get_class);
+ I_CAL_CLASS_PROPERTY,
+ (ECompEditorPropertyPartPickerMapICalNewFunc) i_cal_property_new_class,
+ (ECompEditorPropertyPartPickerMapICalSetFunc) i_cal_property_set_class,
+ (ECompEditorPropertyPartPickerMapICalGetFunc) i_cal_property_get_class);
e_comp_editor_property_part_picker_with_map_set_selected (
E_COMP_EDITOR_PROPERTY_PART_PICKER_WITH_MAP (part),
@@ -1204,10 +1202,10 @@ ECompEditorPropertyPart *
e_comp_editor_property_part_status_new (void)
{
ECompEditorPropertyPartPickerMap map[] = {
- { ICAL_STATUS_NONE, NC_("ECompEditor", "Not Started"), TRUE, NULL },
- { ICAL_STATUS_INPROCESS, NC_("ECompEditor", "In Progress"), FALSE, NULL },
- { ICAL_STATUS_COMPLETED, NC_("ECompEditor", "Completed"), FALSE, NULL },
- { ICAL_STATUS_CANCELLED, NC_("ECompEditor", "Cancelled"), FALSE, NULL }
+ { I_CAL_STATUS_NONE, NC_("ECompEditor", "Not Started"), TRUE, NULL },
+ { I_CAL_STATUS_INPROCESS, NC_("ECompEditor", "In Progress"), FALSE, NULL },
+ { I_CAL_STATUS_COMPLETED, NC_("ECompEditor", "Completed"), FALSE, NULL },
+ { I_CAL_STATUS_CANCELLED, NC_("ECompEditor", "Cancelled"), FALSE, NULL }
};
gint ii, n_elems = G_N_ELEMENTS (map);
@@ -1217,10 +1215,10 @@ e_comp_editor_property_part_status_new (void)
return e_comp_editor_property_part_picker_with_map_new (map, n_elems,
C_("ECompEditor", "_Status:"),
- ICAL_STATUS_PROPERTY,
- (ECompEditorPropertyPartPickerMapICalNewFunc) icalproperty_new_status,
- (ECompEditorPropertyPartPickerMapICalSetFunc) icalproperty_set_status,
- (ECompEditorPropertyPartPickerMapICalGetFunc) icalproperty_get_status);
+ I_CAL_STATUS_PROPERTY,
+ (ECompEditorPropertyPartPickerMapICalNewFunc) i_cal_property_new_status,
+ (ECompEditorPropertyPartPickerMapICalSetFunc) i_cal_property_set_status,
+ (ECompEditorPropertyPartPickerMapICalGetFunc) i_cal_property_get_status);
}
/* ************************************************************************* */
@@ -1259,10 +1257,10 @@ e_comp_editor_property_part_priority_new (void)
return e_comp_editor_property_part_picker_with_map_new (map, n_elems,
C_("ECompEditor", "Priorit_y:"),
- ICAL_PRIORITY_PROPERTY,
- icalproperty_new_priority,
- icalproperty_set_priority,
- icalproperty_get_priority);
+ I_CAL_PRIORITY_PROPERTY,
+ i_cal_property_new_priority,
+ i_cal_property_set_priority,
+ i_cal_property_get_priority);
}
/* ************************************************************************* */
@@ -1337,10 +1335,10 @@ e_comp_editor_property_part_percentcomplete_class_init (ECompEditorPropertyPartP
ECompEditorPropertyPartClass *part_class;
part_spin_class = E_COMP_EDITOR_PROPERTY_PART_SPIN_CLASS (klass);
- part_spin_class->ical_prop_kind = ICAL_PERCENTCOMPLETE_PROPERTY;
- part_spin_class->ical_new_func = icalproperty_new_percentcomplete;
- part_spin_class->ical_set_func = icalproperty_set_percentcomplete;
- part_spin_class->ical_get_func = icalproperty_get_percentcomplete;
+ part_spin_class->prop_kind = I_CAL_PERCENTCOMPLETE_PROPERTY;
+ part_spin_class->i_cal_new_func = i_cal_property_new_percentcomplete;
+ part_spin_class->i_cal_set_func = i_cal_property_set_percentcomplete;
+ part_spin_class->i_cal_get_func = i_cal_property_get_percentcomplete;
part_class = E_COMP_EDITOR_PROPERTY_PART_CLASS (klass);
part_class->create_widgets = ecepp_percentcomplete_create_widgets;
@@ -1417,44 +1415,47 @@ ecepp_timezone_create_widgets (ECompEditorPropertyPart *property_part,
static void
ecepp_timezone_fill_widget (ECompEditorPropertyPart *property_part,
- icalcomponent *component)
+ ICalComponent *component)
{
- struct icaltimetype (* get_func) (const icalproperty *prop);
- icalproperty *prop;
+ ICalTime * (* get_func) (ICalProperty *prop);
+ ICalProperty *prop;
g_return_if_fail (E_IS_COMP_EDITOR_PROPERTY_PART_TIMEZONE (property_part));
- get_func = icalproperty_get_dtstart;
- prop = icalcomponent_get_first_property (component, ICAL_DTSTART_PROPERTY);
+ get_func = i_cal_property_get_dtstart;
+ prop = i_cal_component_get_first_property (component, I_CAL_DTSTART_PROPERTY);
if (!prop) {
- get_func = icalproperty_get_dtend;
- prop = icalcomponent_get_first_property (component, ICAL_DTEND_PROPERTY);
+ get_func = i_cal_property_get_dtend;
+ prop = i_cal_component_get_first_property (component, I_CAL_DTEND_PROPERTY);
}
if (!prop) {
- get_func = icalproperty_get_due;
- prop = icalcomponent_get_first_property (component, ICAL_DUE_PROPERTY);
+ get_func = i_cal_property_get_due;
+ prop = i_cal_component_get_first_property (component, I_CAL_DUE_PROPERTY);
}
if (prop) {
- struct icaltimetype itt;
+ ICalTime *itt;
itt = get_func (prop);
- if (itt.zone) {
+ if (itt && i_cal_time_get_timezone (itt)) {
GtkWidget *edit_widget;
edit_widget = e_comp_editor_property_part_get_edit_widget (property_part);
g_return_if_fail (E_IS_TIMEZONE_ENTRY (edit_widget));
- e_timezone_entry_set_timezone (E_TIMEZONE_ENTRY (edit_widget), (icaltimezone *)
itt.zone);
+ e_timezone_entry_set_timezone (E_TIMEZONE_ENTRY (edit_widget),
i_cal_time_get_timezone (itt));
}
+
+ g_clear_object (&itt);
+ g_object_unref (prop);
}
}
static void
ecepp_timezone_fill_component (ECompEditorPropertyPart *property_part,
- icalcomponent *component)
+ ICalComponent *component)
{
/* Nothing to do here, this is sort-of virtual property part */
}
@@ -1535,20 +1536,22 @@ ecepp_transparency_create_widgets (ECompEditorPropertyPart *property_part,
static void
ecepp_transparency_fill_widget (ECompEditorPropertyPart *property_part,
- icalcomponent *component)
+ ICalComponent *component)
{
GtkWidget *edit_widget;
- icalproperty *prop;
+ ICalProperty *prop;
g_return_if_fail (E_IS_COMP_EDITOR_PROPERTY_PART_TRANSPARENCY (property_part));
edit_widget = e_comp_editor_property_part_get_edit_widget (property_part);
g_return_if_fail (GTK_IS_CHECK_BUTTON (edit_widget));
- prop = icalcomponent_get_first_property (component, ICAL_TRANSP_PROPERTY);
+ prop = i_cal_component_get_first_property (component, I_CAL_TRANSP_PROPERTY);
if (prop) {
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (edit_widget),
- icalproperty_get_transp (prop) == ICAL_TRANSP_OPAQUE);
+ i_cal_property_get_transp (prop) == I_CAL_TRANSP_OPAQUE);
+
+ g_object_unref (prop);
} else {
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (edit_widget), TRUE);
}
@@ -1556,26 +1559,28 @@ ecepp_transparency_fill_widget (ECompEditorPropertyPart *property_part,
static void
ecepp_transparency_fill_component (ECompEditorPropertyPart *property_part,
- icalcomponent *component)
+ ICalComponent *component)
{
GtkWidget *edit_widget;
- icalproperty *prop;
- icalproperty_transp value;
+ ICalProperty *prop;
+ ICalPropertyTransp value;
g_return_if_fail (E_IS_COMP_EDITOR_PROPERTY_PART_TRANSPARENCY (property_part));
edit_widget = e_comp_editor_property_part_get_edit_widget (property_part);
g_return_if_fail (GTK_IS_CHECK_BUTTON (edit_widget));
- value = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (edit_widget)) ? ICAL_TRANSP_OPAQUE :
ICAL_TRANSP_TRANSPARENT;
+ value = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (edit_widget)) ? I_CAL_TRANSP_OPAQUE :
I_CAL_TRANSP_TRANSPARENT;
- prop = icalcomponent_get_first_property (component, ICAL_TRANSP_PROPERTY);
+ prop = i_cal_component_get_first_property (component, I_CAL_TRANSP_PROPERTY);
if (prop) {
- icalproperty_set_transp (prop, value);
+ i_cal_property_set_transp (prop, value);
} else {
- prop = icalproperty_new_transp (value);
- icalcomponent_add_property (component, prop);
+ prop = i_cal_property_new_transp (value);
+ i_cal_component_add_property (component, prop);
}
+
+ g_clear_object (&prop);
}
static void
@@ -1662,10 +1667,10 @@ ecepp_color_create_widgets (ECompEditorPropertyPart *property_part,
static void
ecepp_color_fill_widget (ECompEditorPropertyPart *property_part,
- icalcomponent *component)
+ ICalComponent *component)
{
GtkWidget *edit_widget;
- icalproperty *prop;
+ ICalProperty *prop;
gboolean color_set = FALSE;
g_return_if_fail (E_IS_COMP_EDITOR_PROPERTY_PART_COLOR (property_part));
@@ -1673,15 +1678,17 @@ ecepp_color_fill_widget (ECompEditorPropertyPart *property_part,
edit_widget = e_comp_editor_property_part_get_edit_widget (property_part);
g_return_if_fail (E_IS_COLOR_COMBO (edit_widget));
- prop = icalcomponent_get_first_property (component, ICAL_COLOR_PROPERTY);
+ prop = i_cal_component_get_first_property (component, I_CAL_COLOR_PROPERTY);
if (prop) {
- const gchar *color = icalproperty_get_color (prop);
+ const gchar *color = i_cal_property_get_color (prop);
GdkRGBA rgba;
if (color && gdk_rgba_parse (&rgba, color)) {
e_color_combo_set_current_color (E_COLOR_COMBO (edit_widget), &rgba);
color_set = TRUE;
}
+
+ g_clear_object (&prop);
}
if (!color_set) {
@@ -1698,10 +1705,10 @@ ecepp_color_fill_widget (ECompEditorPropertyPart *property_part,
static void
ecepp_color_fill_component (ECompEditorPropertyPart *property_part,
- icalcomponent *component)
+ ICalComponent *component)
{
GtkWidget *edit_widget;
- icalproperty *prop;
+ ICalProperty *prop;
GdkRGBA rgba;
g_return_if_fail (E_IS_COMP_EDITOR_PROPERTY_PART_COLOR (property_part));
@@ -1716,23 +1723,21 @@ ecepp_color_fill_component (ECompEditorPropertyPart *property_part,
e_color_combo_get_current_color (E_COLOR_COMBO (edit_widget), &rgba);
- prop = icalcomponent_get_first_property (component, ICAL_COLOR_PROPERTY);
+ prop = i_cal_component_get_first_property (component, I_CAL_COLOR_PROPERTY);
if (rgba.alpha <= 1.0 - 1e-9) {
- if (prop) {
- icalcomponent_remove_property (component, prop);
- icalproperty_free (prop);
- }
+ if (prop)
+ i_cal_component_remove_property (component, prop);
} else {
gchar *str;
str = gdk_rgba_to_string (&rgba);
if (str) {
if (prop) {
- icalproperty_set_color (prop, str);
+ i_cal_property_set_color (prop, str);
} else {
- prop = icalproperty_new_color (str);
- icalcomponent_add_property (component, prop);
+ prop = i_cal_property_new_color (str);
+ i_cal_component_add_property (component, prop);
}
g_free (str);
@@ -1740,6 +1745,8 @@ ecepp_color_fill_component (ECompEditorPropertyPart *property_part,
g_warning ("%s: Failed to convert RGBA (%f,%f,%f,%f) to string", G_STRFUNC, rgba.red,
rgba.green, rgba.blue, rgba.alpha);
}
}
+
+ g_clear_object (&prop);
}
static void
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]