Re: importing iCalendar with VTIMEZONE definitions into Evolution

Chenthill <[email protected]>
Newsgroups gmane.comp.gnome.evolution.devel
Message-ID <[email protected]>
On Thu, 2006-06-01 at 22:51 +0200, Patrick Ohly wrote:
> Dear Evolution hackers,
> 
> there are various discussions in bugzilla about problems in Evolution
> with timezones (#317422, #315235, #332911).
> 
> As part of #317422 chenthill has submitted a patch which fixes problems
> if the calendar backend already knows the custom timezone while the GUI
> doesn't. My understanding is thus that the backends are responsible for
> storing these extra timezone definitions. Please correct me if I'm wrong
> here.
Evolution picks up the standard timezone information is present in the
ical library using the tzid,
http://cvs.gnome.org/viewcvs/libical/zoneinfo/. If the tzid is not found
in libical, it would try to pick up from the backend.
> 
> I am the developer of the "SyncEvolution" SyncML client for Evolution
> [1]. It uses the ecal API to extract and store iCalendar 2.0 items that
> it gets from the SyncML library. I have not found a good method yet to
> also store the VTIMEZONE definition in the backend.

> What I currently do is:
>      1. icomp = icalcomponent_new_from_string()
>      2. event = icalcomponent_get_first_component(ICAL_VEVENT_COMPONENT)
>      3. e_cal_create_object(event)
You can get the timezone components separately using
zone = icalcomponent_get_first_component (ICAL_VTIMEZONE_COMPONENT)
and then add it to the backend using
e_cal_add_timezone (ECal *ecal, icaltimezone *izone, GError **error).

> If I omit the second step, e_cal_create_object() complains with "Invalid
> object", but obviously with the second step the backend only sees the
> VEVENT and never gets a chance to store the VTIMEZONE definition.
> 
> The Evolution GUI also doesn't get this right: importing an iCalendar
> item with timezone definition into a local calendar drops the custom
> timezone definition and thus shifts the event (Evolution 2.4 - I haven't
> tried 2.6 yet).
This might be that the timezone is already present in libical and not
correct. Could you please verify it ?

- Chenthill
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.