[mkcal] Don't duplicate code between MemoryCalendar and ExtendedCalendar. Contributes to JB#47814
With the recent minor modifications to memory calendar in KCalCore, a good deal of the code in ExtendedCalendar is now duplicated by MemoryCalendar. We can thus inherit from it and delegate the maintenance of them to upstream.
This has also the nice impact to limit to the minimum (actual mKCal additions) the lines to be ported when moving from KDateTime to QDateTime.
To conform to MemoryCalendar behaviour with respect to incidence visibility, I've changed the old behaviour of the
raw*() functions from returning visible only to returning all including non visible. Externally of mKCal, this is used only in nemo-qml-plugin-calendar as far as I know. I'm creating there a MR (nemo-qml-plugin-calendar!66 (merged)) to keep the overall behaviour of not listing in UI the non visible events.
All tests are passing (except one that is not passing with master anyway, an issue with all day event given in clock time). I'm going to put it on my phone and use it daily to see what happens.
@chriadam, when you have time to give a look. Thank you in advance.