> On June 1, 2014, 5:22 p.m., Alexander Potashev wrote:
> > What is the user changes the locale at run-time - will the query parser 
> > reload the month/weekday names?
> 
> Denis Steckelmacher wrote:
>     It depends on the client application. This list is cached in 
> pass_periodnames, that is private to one Baloo::QueryParser instance. If the 
> application, let's say KRunner, instantiates a new parser for every query, 
> then the new calendar will be used as soon as the user changes it.
> 
> Alexander Potashev wrote:
>     OK. I guess adding some notification/listening API of KCalendarSystem in 
> order to pull the changes in the current locale automatically would be an 
> overkill. May be this name caching should be told about in a comment in code.

The Locale KCM does signal out when it changes teh locale, you may be able to 
listen for that:

    KGlobalSettings::self()->emitChange(KGlobalSettings::SettingsChanged, 
KGlobalSettings::SETTINGS_LOCALE);

Note that this, like KCalendarSystem itself, is KDE4 only: in KF5 we switch to 
using QLocale, and I haven't yet got calendar system support merged into Qt.


- John


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/118448/#review58904
-----------------------------------------------------------


On June 1, 2014, 12:54 p.m., Denis Steckelmacher wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/118448/
> -----------------------------------------------------------
> 
> (Updated June 1, 2014, 12:54 p.m.)
> 
> 
> Review request for Baloo, Localization and Translation (l10n) and Alexander 
> Potashev.
> 
> 
> Repository: baloo
> 
> 
> Description
> -------
> 
> The query parser made the erroneous assumption that each language uses at 
> most one calendar system, and therefore used i18nc to translate the month and 
> day names recognized by the parser. This patches changes that and uses the 
> KCalendarSystem of the user to get the month and day names.
> 
> I've written the code by looking at how the gregorian, hebrew and islamic 
> calendars work (these are the three that I somehow understand). The idea is 
> to try to get as many days and months as possible, by incrementing an index 
> until the calendar system returns NULL strings. This works well for days, but 
> monthName() requires a year, that is used by some calendar systems to 
> rename/add months on leap years. I pass the current year, as most of the 
> users will look for dates not too far in the future nor in the past. Is there 
> a mean to get the complete list of month names and their corresponding 
> number, using KCalendarSystem or anything else?
> 
> 
> Diffs
> -----
> 
>   src/queryparser/pass_periodnames.h 1d7d522 
>   src/queryparser/pass_periodnames.cpp da688ed 
> 
> Diff: https://git.reviewboard.kde.org/r/118448/diff/
> 
> 
> Testing
> -------
> 
> The query parser testsuite still passes, and properly gets the name of 
> Gregorian months and days (the tests run using the C locale).
> 
> 
> Thanks,
> 
> Denis Steckelmacher
> 
>

>> Visit http://mail.kde.org/mailman/listinfo/kde-devel#unsub to unsubscribe <<

Reply via email to