Bug 349676

Summary: Lost ability to configure multiple holiday regions
Product: [Plasma] plasmashell Reporter: kdebugs
Component: CalendarAssignee: Martin Klapetek <mklapetek>
Status: RESOLVED FIXED    
Severity: normal CC: kde, plasma-bugs
Priority: NOR    
Version: master   
Target Milestone: 1.0   
Platform: openSUSE   
OS: Linux   
Latest Commit: Version Fixed In: 5.7

Description kdebugs 2015-06-28 01:32:18 UTC
Scenario 1: User lives in a border region and needs to be aware of holidays on all bordering countries.

Scenario 2: User works with people in a different region and needs to be aware of both his and his colleagues holidays.

Scenario 3: User is an expat and wants to keep track of both local and country of origin holidays.

This was a fantastic feature on KDE4 that no other desktop had.

Reproducible: Always

Steps to Reproduce:
N/A

Actual Results:  
Multiple holiday regions cannot be configured at this time (and the clock widget calendar does not display them anyway, but that's a separate issue).

Expected Results:  
The user should be able to have whichever choice of holiday regions he desires (none, one, or many) display wherever appropriate, notably the calendar widget. Additionally, he should be able to select whichever combination of holiday regions he desires as non-working days. This was the status quo in KDE4.

I'm tempted to set the severity to Major as for me the feature that is broken is highly important. Instead, I'll refrain from installing plasma 5 on my actual work machines.
Comment 1 David Edmundson 2015-06-28 01:48:44 UTC
We should see this soon now that the PIM stack is close to release.
Comment 2 Martin Klapetek 2015-11-16 16:55:21 UTC
Git commit fe0384f0d4152e622b203385bd968657a3650d2c by Martin Klapetek.
Committed on 16/11/2015 at 16:46.
Pushed by mklapetek into branch 'master'.

[calendar] Add plugin system for Calendar events

This adds a simple plugin interface that can be subclassed
and provide events integration with Plasma Calendar applet.

It's asynchronous and I've kept it deliberately simple.
For now the Calendar tells the plugins which date range
is being displayed, the plugins load the data and then
emit the dataReady() signal containing the events.

The events are stored in a multihash for quick access
by the Calendar's agenda part but also for overall
easy-to-use (eg. in teh model data()).

The event data is stored in EventData class, which has
a pretty self-explanatory members, except perhaps the
"isMinor" property. The intention with this is to support
namedays, where in some countries the calendars have
different name every day. This is just a minor holiday
and as such should not mark the calendar grid, otherwise
the whole grid would be in a different color.

Putting the interface here might raise the question of
depending on plasma-framework, but plugins provided by
KDE can go to plasma-workspace and other 3rd party ones
would just have to live with it. I don't think it will
be a problem but if it turns out it is, we can rethink
the placement.

REVIEW: 125817
CHANGELOG: Allow plugins to supply event data to Calendar applet

M  +4    -3    src/declarativeimports/calendar/CMakeLists.txt
M  +3    -2    src/declarativeimports/calendar/calendarplugin.cpp
M  +164  -14   src/declarativeimports/calendar/daysmodel.cpp
M  +23   -1    src/declarativeimports/calendar/daysmodel.h
A  +76   -0    src/declarativeimports/calendar/eventdatadecorator.cpp     [License: GPL (v2+)]
A  +60   -0    src/declarativeimports/calendar/eventdatadecorator.h     [License: GPL (v2+)]
A  +58   -0    src/declarativeimports/calendar/plasmacalendarintegration/CMakeLists.txt
A  +5    -0    src/declarativeimports/calendar/plasmacalendarintegration/PlasmaCalendarIntegrationConfig.cmake.in
C  +13   -17   src/declarativeimports/calendar/plasmacalendarintegration/calendareventsplugin.cpp [from: src/declarativeimports/calendar/calendarplugin.cpp - 050% similarity]
A  +233  -0    src/declarativeimports/calendar/plasmacalendarintegration/calendareventsplugin.h     [License: GPL (v2+)]
A  +170  -0    src/declarativeimports/calendar/plasmacalendarintegration/eventdata_p.cpp     [License: GPL (v2+)]
A  +37   -0    src/declarativeimports/calendar/plasmacalendarintegration/plasmacalendarintegration_export.h     [License: LGPL (v2+)]

http://commits.kde.org/plasma-framework/fe0384f0d4152e622b203385bd968657a3650d2c
Comment 3 Martin Klapetek 2016-05-03 00:20:56 UTC
Git commit e8c5a28df28d2d66e8eaee47550425941e3e7ade by Martin Klapetek.
Committed on 03/05/2016 at 00:20.
Pushed by mklapetek into branch 'master'.

Revert "Revert all of the Calendar-agenda changes"

This reverts commit 697aaf8067ebac4c649895e57eff73a5f071b430
and brings back the agenda part of calendar.

REVIEW: 127734
Related: bug 357642
FIXED-IN: 5.7

M  +25   -5    applets/digital-clock/package/contents/config/config.qml
M  +3    -0    applets/digital-clock/package/contents/config/main.xml
M  +157  -12   applets/digital-clock/package/contents/ui/CalendarView.qml
M  +1    -6    applets/digital-clock/package/contents/ui/configAppearance.qml
A  +72   -0    applets/digital-clock/package/contents/ui/configCalendar.qml     [License: GPL (v2/3)]
M  +5    -1    applets/digital-clock/package/contents/ui/main.qml

http://commits.kde.org/plasma-workspace/e8c5a28df28d2d66e8eaee47550425941e3e7ade