Bug 369606 - Calender: PIM events no longer shown
Summary: Calender: PIM events no longer shown
Status: RESOLVED FIXED
Alias: None
Product: plasmashell
Classification: Plasma
Component: Digital Clock (show other bugs)
Version: 5.7.95
Platform: Other Linux
: NOR normal
Target Milestone: 1.0
Assignee: Plasma Bugs List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-10-01 13:47 UTC by Christian (Fuchs)
Modified: 2016-10-22 08:47 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In: 5.3.3


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Christian (Fuchs) 2016-10-01 13:47:01 UTC
The PIM events plugin is loaded and the list of calendars is shown correctly, however, in the pop-up calendar itself no events are shown. 

On the console I get a 

"log_akonadicore: Job error:  "Collection does not exist" for collection: QVector() " 

error message.

Reproducible: Always

Steps to Reproduce:
1. Enable PIM support in the settings
2. Enable and of your calendars

Actual Results:  
Events are not shown

Expected Results:  
Events are shown

KDEPIM-addons is 16.08.1
Comment 1 Christian (Fuchs) 2016-10-05 19:21:45 UTC
This is still present in plasma 5.8 final.
Comment 2 Christian (Fuchs) 2016-10-05 19:56:43 UTC
Update: 

this seems to be a duplicate of https://bugs.kde.org/show_bug.cgi?id=368832

However, this is valid not only for CalDAV calendars, but also for integrated ones such as the Birthday / Events one. 

I can indeed reproduce that updating the calendar does fix the issue (emitting a signal to update, maybe?) but initially when loaded no events are shown. So whatever you do on an update, you probably should do that initially as well.
Comment 3 Daniel Vrátil 2016-10-14 00:05:23 UTC
Git commit c921a14e0a30e13342e94cce74d4ad1bbb3a64c5 by Daniel Vrátil.
Committed on 14/10/2016 at 00:04.
Pushed by dvratil into branch 'Applications/16.08'.

PimEventsPlugin: switch from ETMCalendar to custom EventModel

It is hard to tame the ETMCalendar to list only the right events
and listen only to the right changes while not keeping everything
loaded in the memory all the time.

The EventModel is a lightweight bridge between Akonadi and the
CalendarBase. It inserts and removes data from the CalendarBase
based on currently enabled collections and handles updates.
This solves various issues with populating the model initially,
listening to the correct changes and it also reduces memory usage
by not keeping events from disabled calendars in memory.
Related: bug 368832
FIXED-IN: 5.3.3

M  +1    -0    plugins/plasma/pimeventsplugin/CMakeLists.txt
M  +27   -34   plugins/plasma/pimeventsplugin/akonadipimdatasource.cpp
M  +2    -7    plugins/plasma/pimeventsplugin/akonadipimdatasource.h
M  +1    -1    plugins/plasma/pimeventsplugin/autotests/CMakeLists.txt
A  +178  -0    plugins/plasma/pimeventsplugin/eventmodel.cpp     [License: GPL (v2+)]
C  +29   -20   plugins/plasma/pimeventsplugin/eventmodel.h [from: plugins/plasma/pimeventsplugin/akonadipimdatasource.h - 051% similarity]
M  +3    -3    plugins/plasma/pimeventsplugin/pimcalendarsmodel.cpp
M  +1    -1    plugins/plasma/pimeventsplugin/pimeventsplugin.h

http://commits.kde.org/kdepim-addons/c921a14e0a30e13342e94cce74d4ad1bbb3a64c5