diff options
| author | Chenthill Palanisamy <pchenthill@novell.com> | 2009-05-26 14:28:15 +0530 |
|---|---|---|
| committer | Chenthill Palanisamy <pchenthill@novell.com> | 2009-05-26 14:28:15 +0530 |
| commit | 0291228ad5b429204232875243ece76268c83d14 (patch) | |
| tree | 93d52b8ff67cb1d14af9b02919c0a964d4e39462 /calendar | |
| parent | 3a1731830f3f490784389b9d04eba5a17c275bbe (diff) | |
| download | evolution-data-server-0291228ad5b429204232875243ece76268c83d14.tar.gz | |
Added couple of Apis for getting/settting percent as int.
Used for bindings in evolution-sharp.
Diffstat (limited to 'calendar')
| -rw-r--r-- | calendar/libecal/e-cal-component.c | 50 | ||||
| -rw-r--r-- | calendar/libecal/e-cal-component.h | 3 |
2 files changed, 53 insertions, 0 deletions
diff --git a/calendar/libecal/e-cal-component.c b/calendar/libecal/e-cal-component.c index dcb53fbd3..c307d4d40 100644 --- a/calendar/libecal/e-cal-component.c +++ b/calendar/libecal/e-cal-component.c @@ -3434,6 +3434,56 @@ e_cal_component_get_percent (ECalComponent *comp, int **percent) *percent = NULL; } +void +e_cal_component_set_percent_as_int (ECalComponent *comp, int percent) +{ + ECalComponentPrivate *priv; + + g_return_if_fail (comp != NULL); + g_return_if_fail (E_IS_CAL_COMPONENT (comp)); + + priv = comp->priv; + g_return_if_fail (priv->icalcomp != NULL); + + if (percent == -1) { + if (priv->percent) { + icalcomponent_remove_property (priv->icalcomp, priv->percent); + icalproperty_free (priv->percent); + priv->percent = NULL; + } + + return; + } + + g_return_if_fail (percent >= 0 && percent <= 100); + + if (priv->percent) + icalproperty_set_percentcomplete (priv->percent, percent); + else { + priv->percent = icalproperty_new_percentcomplete (percent); + icalcomponent_add_property (priv->icalcomp, priv->percent); + } + + +} + +int +e_cal_component_get_percent_as_int (ECalComponent *comp) +{ + ECalComponentPrivate *priv; + int percent; + + priv = comp->priv; + g_return_val_if_fail (priv->icalcomp != NULL, -1); + + if (priv->percent) { + percent = icalproperty_get_percentcomplete (priv->percent); + } else + percent = -1; + + return percent; +} + /** * e_cal_component_set_percent: * @comp: A calendar component object. diff --git a/calendar/libecal/e-cal-component.h b/calendar/libecal/e-cal-component.h index 52a8fdbd4..4bf5c7f6b 100644 --- a/calendar/libecal/e-cal-component.h +++ b/calendar/libecal/e-cal-component.h @@ -283,6 +283,9 @@ void e_cal_component_get_organizer (ECalComponent *comp, ECalComponentOrganizer void e_cal_component_set_organizer (ECalComponent *comp, ECalComponentOrganizer *organizer); gboolean e_cal_component_has_organizer (ECalComponent *comp); +int e_cal_component_get_percent_as_int (ECalComponent *comp); +void e_cal_component_set_percent_as_int (ECalComponent *comp, int percent); + void e_cal_component_get_percent (ECalComponent *comp, int **percent); void e_cal_component_set_percent (ECalComponent *comp, int *percent); |
