Plasma/Clock: Difference between revisions
Line 16: | Line 16: | ||
The current implementation can be found in the following locations. | The current implementation can be found in the following locations. | ||
[https://projects.kde.org/projects/kde/kde-workspace/repository/revisions/master/show/plasma/generic/dataengines/time Time DataEngine] | [https://projects.kde.org/projects/kde/kde-workspace/repository/revisions/master/show/plasma/generic/dataengines/time Time DataEngine] - Provides current Time | ||
[https://projects.kde.org/projects/kde/kde-workspace/repository/revisions/master/show/plasma/generic/dataengines/calendar Calendar DataEngine] | [https://projects.kde.org/projects/kde/kde-workspace/repository/revisions/master/show/plasma/generic/dataengines/calendar Calendar DataEngine] - Provides Events and Holidays | ||
[https://projects.kde.org/projects/kde/kde-workspace/repository/revisions/master/show/plasma/generic/dataengines/akonadi Akonadi DataEngine] | [https://projects.kde.org/projects/kde/kde-workspace/repository/revisions/master/show/plasma/generic/dataengines/akonadi Akonadi DataEngine] - Provides Akonadi email | ||
[https://projects.kde.org/projects/kde/kde-workspace/repository/revisions/master/show/libs/plasmaclock Plasma Clock Library] | [https://projects.kde.org/projects/kde/kde-workspace/repository/revisions/master/show/libs/plasmaclock Plasma Clock Library] - Common base classes for all clock/calendar Applets. | ||
[https://projects.kde.org/projects/kde/kde-workspace/repository/revisions/master/show/plasma/generic/applets/calendar The Calendar Applet] | [https://projects.kde.org/projects/kde/kde-workspace/repository/revisions/master/show/plasma/generic/applets/calendar The Calendar Applet] |
Revision as of 15:09, 28 May 2012
Plasma is all about Clocks. It's an old joke, but it contains a kernel of truth. The clock is the one element of the desktop most people depend on, and it can be a valuable conduit for information they need. This page will co-ordinate all the resources around the Plasma Clock and plans for it's future.
Resources
KDE Bugzilla all open Plasma Clock bugs
Current Implementation
The current implementation can be found in the following locations.
Time DataEngine - Provides current Time
Calendar DataEngine - Provides Events and Holidays
Akonadi DataEngine - Provides Akonadi email
Plasma Clock Library - Common base classes for all clock/calendar Applets.
The Binary Clock Applet (Addons)
The Fuzzy Clock Applet (Addons)
PIM Data Interface
Currently PIM data is read-only and is provided via the Calendar Plasma DataEngine. To make PIM data 2-way would require the creation of a Plasma Service. However, the Akonadi interface and the creation of PIM data in general is very complex and is not ideally suited to being mapped into a Data Engine or Service. The API would be very big and unwieldy and a maintenance nightmare. This is one occasion where Plasma elements requiring complex functionality will be better off directly using the Akonadi API and UI elements. However this doesn't stop a simplified service being provided that would meet 80% of needs with the more complex requirements being left for the native apps to handle.
Plasma Service Design
An initial minimal definition for the Plasma Service has been created. The actual implementation is still required.
Akonadi Calendar Model
Currently the Calendar DataEngine contains a direct copy of the required Akonadi Calendar Model as this code was not available in kdepimlibs at the time. See the README file for full details. When this API becomes available in KCalCore then the DataEngine must be ported to use it. Until then the code must be kept in sync withe the kdepim calendarsupport code for bug fixes every release.