[Doh, numerically challenged, that's 4.6 not 4.5 :-)]
Last blog I promised to cover off Localization, but that's turning into something to rival War and Peace, so to fill in the time here's my update on what's happened in KHolidays for 4.6.
I had planned to add support for holiday categories and different types of holiday observance, so you could choose what types of holiday to display. For example this would allow us to split the secular and religious holidays by category and leave people free to choose which they wanted to display. Unfortunately that wasn't quite finished in time so it's another feature for 4.7 now, but I did manage to add a couple of other useful features.
The first is mostly of interest to coders, the KHoliday api now supports proper holiday durations, so instead of a two day holiday showing up on your calendar as two separate one day events it can be correctly displayed as a single event spanning those two days.
The second is far more visible and useful to our users, a new widget to allow users to select multiple holiday regions to be used/displayed and to configure how they will be used. And here it is:
That's the full widget with all current features enabled. You get a nested list of the various regions, information about what language the holiday file is available in, the description from the the holiday file if available, the ability to choose how to use the holiday region, and a search box to find what you need. The combo allows you to choose between not using a region, using a region for information only, or using a region to determine when your days-off are. Once we get holiday categories these will also be listed under the region to allow separate selection.
That's a rather large widget though, and not every app will need complex choices. Obviously, the widget has different modes to change the combo box to a simple tickbox for binary on/off selection, multi or single row selection, hiding the information and search fields, filtering to only display certain languages, and even a simple display only mode. Here's what a simple mode selector filtered for en_GB only would look like:
Note that all the info details about language and description are in a tool-tip that pops-up for each region.
If you want to play with the widget, then the easiest way is via the Plasma Clock where I've implemented the ability to select multiple regions to be displayed on the calendar at the same time. Here's how the widget looks in the plasma clock config dialog:
And here's what the clock's pop-up looks like with a few different regions enabled for days off or information only:
There's probably quite a bit of polish that can be added, comment away if you have any ideas for improvements.
[Edit: If you want holidays support added for your country or language, then submit a wish in bugs.kde.org under kdepimlibs/kholidays providing me with links to the official source for the holiday rules, and if possible an English source (usually Wikipedia), then just be ready and willing to help out with any questions I may have and translations that are needed.]