Introducing: JanaGtkEventList

Another libjana-related blog post… I’ve just finished a bit of work on the event-list widget. Most importantly, I just added a utility in libjana that generates a list of all the durations an event has, split across days (theoretically taking into account recurrences and exceptions, but that’s unimplemented at the moment). Adding support into JanaGtkEventStore was a bit tedious, but now the event viewing widgets can easily show and edit recurring/multiple-day events without any of the nasty special-casing that happens in Dates currently. It’s now very easy to write a nice-looking event-list in approximately 50 lines of C code 🙂 (give or take..) Screenshot:

Screenshot of JanaGtkEventList example

As ever, source is available from subversion: [view]

Barry White – You See the Trouble With Me

Event-Flow (Introducing libjana)

I’ve been working the past couple of weeks on libjana, a collection of libraries intended to make working with libecal easy (gasp!). These are going to form the back-end for the new version of Dates, which you’ll see first as part of OpenMoko (although it goes without saying, pimlico and gnome versions are high on my TODO list). Unfortunately, I haven’t made a huge amount of progress on the event viewing widgets yet; most of my time has been spent working on building solid foundations, so things like timezones/daylight savings work correctly and recurring events and alarms won’t be hard to implement in the future. The start of this week has been spent on UI bits, however, and I hacked up a little demo yesterday which I hope demonstrates how easy libjana is to use (feedback welcome):

Video thumbnail
Watch video

164 lines of code, including license header 🙂 Just thought I’d put this out there, before Apple come up with something equally pointless.