Contents
1. Calendar: Add Recurrent Events Support
1.1. About the Project
The goal of the project is to add support to recurrent events in GNOME Calendar.
Support for recurrent events already exists in Evolution calendar but it is lacking in GNOME Calendar. For example, right now, for a weekly repeating event, users have to manually add that event every week which is very inconvenient and time consuming.
Recurrence property will be added to GcalEvent in Calendar. A new GcalRecurrence structure will be introduced which will handle the recurrence part in GcalEvent using Evolution’s API. The Edit-dialog (mockup) will be modified accordingly.
1.2. What is Evolution?
Evolution is a calendar and a mailing client. Learn more about Evolution here.
1.3. About Me
I am Yash Singh.
1.4. GSoC Final Report/Evaluation
Bugzilla link for the bug-report/patches.
1.4.1. Merged Commits
utils: add ESource* argument to ask-recurrence-modification-type
edit-dialog: make number of occurrences accept only numeric input
1.5. Work left to do
- Ensure proper removal of recurrences. (When a recurring event's property is changed to 'No Repeat', the recurrences do not get removed properly)
- Extract the correct start date of the recurring event while making changes. (Right now the start date extracted is that of the recurrence and not of the first recurrence)
Adding test suites for loading GcalManager, Adding/Removing simple events.
1.6. Schedule
Week |
Deliverable |
Status |
30th May - 12th June |
Add recurrence support to GcalEvent |
DONE |
Make the appropriate function for detecting recurrence |
DONE |
|
13th June - 26th June |
Adapt Edit-dialog to the new recurrence by adding support to modify/delete event with recurrency, with options:- All events, Subsequent Events, This one only |
DONE |
27th June - 9th July |
Add GcalRecurrence structure. |
DONE |
Add ‘Repeat Popover’ to Edit-dialog with options:- Weekly, Monthly etc. |
DONE |
|
Handle simple recurrences that adhere only to the ‘Repeat popover’ options. (exceptions not included) |
DONE |
|
10th July - 23rd July |
Handle complex recurrences with rules and exceptions |
DONE |
Add ‘Repeat options’ popover with options:- Until Date, Forever etc. |
DONE |
|
Add the remaining widgets not added from this mockup. |
DONE |
|
GUADEC |
||
24th July - 4th August |
Add test suites for:- Loading GcalManager, Adding/Removing events (without recurrences), Editing Events (without recurrences) |
TODO |
5th August - 18th August |
General Bug fixes |
DONE |
Document code and cleanup |
DONE |
|
Final Submission |