Bug 344902 - kalarm uses gregorian calendar system for day number when adding reoccurring events in jalali calendar system
Summary: kalarm uses gregorian calendar system for day number when adding reoccurring...
Status: CONFIRMED
Alias: None
Product: kalarm
Classification: Applications
Component: general (other bugs)
Version First Reported In: 2.10.12-ak
Platform: Arch Linux Linux
: NOR wishlist
Target Milestone: ---
Assignee: David Jarvie
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-03-06 14:24 UTC by rezad1393
Modified: 2016-01-30 14:48 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed/Implemented In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description rezad1393 2015-03-06 14:24:25 UTC
my kde calendar is set to jalali (persian) calendar.
when i want to add a  reoccurring event in kalarm ,the day of the month that is shown is chosed as the gregorian day number instead of jalali number.
for exmaple today is 1393/12/15 in jalali system(15th day of 12th month of 1393th year).when i want to add a reoccurring event that happens on this day every month(monthly option)  i get the 6th day on month selected in kalarm alarm adding dialog in recurrence tab .that is the gregorian day number of day( 6th of march of 2015).
this i think is just a data bug that shows the gregorian number instead of jalali but in the back(actual setting saved) it saves it correctly i think. cause when i change that day from 6 to 15 it say that "The start date/time does not match the alarm's recurrence pattern, so it will be adjusted to the date/time of the next recurrence (1393-12-24 17:47)." so it know it is the 15th day but incorrectly shows the 6th day(gotten from gregorial calendar instead) .
this happens in yearly option with month day too.

i dont know if this is kde calendar system bug or kalarm bug but this happens in kontant calendar tab too.

Reproducible: Always

Steps to Reproduce:
1.set calendar of kde to jalali
2.add a recurrence in monthly tab in kalarm app 
3. 

Actual Results:  
days shown for day of the month is shown from Gregorian calendar instead of jalali calendar

Expected Results:  
days shown for day of the month should  from jalali calendar

this happens in kontant calendar tab too.
Comment 1 David Jarvie 2015-03-13 09:30:09 UTC
KAlarm, along with Kontact and other KDE applications, is based on the iCalendar standard (https://tools.ietf.org/html/rfc5545). Unfortunately this currently only implements the Gregorian calendar, so recurrences can only be defined in terms of the Gregorian day numbers and months. Until the iCalendar specification is extended to handle other calendar systems (such as Jalali), or unless KDE adopts a different storage format, it won't be possible to fix the issue which you report.

Note that when KDE displays dates in Jalali or other calendar systems, this is simply by converting a known Gregorian date. What is missing is the ability to calculate recurrences etc. using non-Gregorian calendars.

So, it is quite likely to be a few years until your request can be implemented. Sorry.
Comment 2 rezad1393 2015-03-13 11:21:45 UTC
the thing is that the kalarm calculates the correct date( i think. i haven't tested it yet) but displays the Gregorian one.
is that correct?
if I add a occurring one in my jalali calendar system say for 4th of month does that run on 4th of next Gregorian or jalali one? 
what i mean is that is it not just showing the wrong date but actually running on wrong date?
Comment 3 rezad1393 2015-03-13 11:23:28 UTC
two other things.
1.why i cant edit my comment here?
2.can you tell me how does google calendar do it?does it use a proprietary something?
Comment 4 David Jarvie 2015-03-13 13:41:36 UTC
If you set an alarm to recur on the same day every month, it will use the Gregorian day, not the Jalali one, to calculate when the next occurrence is, because it's all based on iCalendar which currently always uses the Gregorian calendar. So it doesn't matter whether you enter it as a Gregorian or a Jalali date, the calculations are always done using the Gregorian calendar (and in fact, the date is always stored as a Gregorian date in the calendar file, so afterwards, there is no record of the fact that the date was entered as a Jalali one).

As for editing your comments here, Bugzilla unfortunately doesn't allow this. I also find it frustrating.

I'm not familiar with Google calendar, so I don't know how or whether it can handle non-Gregorian calendars.
Comment 5 David Jarvie 2016-01-30 14:48:26 UTC
I'm changing the category of this bug to a wishlist item, since without either a change to the iCalendar specification, or changing KAlarm to not use iCalendar (which would be a very major change), it is not possible to implement Jalali recurrences.