I have put together the basis of a proposed revision to the KDE time zone classes, approximately along the lines of what I said in my previous posting. The new code is at http://www.astrojar.org.uk/linux/download/ktimezones.h and http://www.astrojar.org.uk/linux/download/ktimezones.cpp. It is based on the old classes, but is substantially different in many respects. The code is currently only a draft for comment - the classes aren't complete, and none of it has been compiled or tested. And of course, it will need to be converted to Qt 4. Shaheed emailed me today to say that he has also been revising the time zone code, and he will no doubt post it here soon as well. Hopefully after that, we can decide on how to go forward. The general comments at the top of ktimezones.h give a general description of how the new classes work, and the rationale behind the design. Generally my aim has been to provide a generic mechanism which will be equally suited to system time zones and to custom sources of time zone information no matter what their format or access method. Much of the old design was specific to system time zones, and was unsuitable for using as a basis for accessing other sources. It's probably worth some specific comments on the callback mechanism in KTimezoneDetails, which I have abandoned. These callback methods were only applicable to the TZFILE format used in the system timezone database. Other data sources (e.g. iCalendar) can be in a completely different format which would make implementing those callback functions complicated. Given that they are tailored for one particular storage format, and that the information for the timezone was always completely parsed anyway (there was no provision for early exit once the desired piece of information is found), it is in fact more efficient simply to parse the entire information for the time zone and then for the caller to access the desired data via KTimezoneSource methods. -- David Jarvie. KAlarm author and maintainer. http://www.astrojar.org.uk/linux/kalarm.html