- 24 Nov, 2021 1 commit
-
-
Laurent Montel authored
-
- 11 Nov, 2021 1 commit
-
-
Laurent Montel authored
-
- 05 Aug, 2021 1 commit
-
-
This reverts commit a4ae7e6d. This change broke saving the account map in KWallet, including the OAuth tokens. Therefore, user interaction is required to re-login in the browser each time, instead of silently being able to refresh the tokens.
-
- 16 May, 2021 1 commit
-
-
Laurent Montel authored
-
- 26 Jan, 2021 1 commit
-
-
Laurent Montel authored
-
- 15 Jan, 2021 1 commit
-
-
Laurent Montel authored
-
- 22 Oct, 2020 1 commit
-
-
Laurent Montel authored
-
- 14 Aug, 2020 1 commit
-
-
Christophe Giboudeaux authored
-
- 01 May, 2020 1 commit
-
-
Laurent Montel authored
-
- 21 Apr, 2020 2 commits
-
-
Laurent Montel authored
-
Igor Poboiko authored
Summary: This is an attempt to unify existing Calendar&Tasks and Contacts resources into a single Groupware resource. At some point, hopefully, GMail support could be also added here (see task {T646} and {T9422}). Various "subresources" (Calendar, Tasks and Contacts) are implemented as subclasses of `GenericHandler`, which is a basic `Akonadi::ResourceBase` interface. The resource decides which `Handler` it should call by looking at mimetypes. `Handlers` are `friends` of `GoogleResource`, so they can call its callbacks (like `itemsRetrieved()`) as needed. This was done primarily to separate logic of different subresources; this might be not the best solution, I'm open to suggestions. This patch also reworks the settings dialog & relevant code. The dialog is now using `.ui` file. The "account picker" is gone, as it's no longer needed; instead, a single "Configure..." button is added which invokes the auth process. It also implements "last sync token" API ({T647}) for calendar incremental updates. Without this API, event moving between calendars were not handled properly (i.e. event was not removed from the "source" calendar). Work to be done: # KAccounts integration. Need to be able to `disable` various `subresources` on demand, and determine auth `scopes` based on that. # GMail integration. Need to somehow adopt `ImapResourceBase` / `ResourceState` scheme, and merge it with current `Handlers` scheme. # Add `Akonadi::Tag` support for Contacts. Tags seem to be more appropriate than having bunch of virtual collections, but this might require some changes inside KAddressBook. Test Plan: Here's a comprehensive list of what was tested and what issues were discovered. # Adding event locally # Changing event locally # Removing event locally # Moving events between calendars locally # **Adding calendar locally** - new calendar is added as a virtual collection, cannot add events there afterwards; probably a KOrganizer issue - color of newly added calendar is not known, google just don't return it to us # Removing calendar locally # Changing calendar locally # Adding event remotely # Changing event remotely # Removing event remotely # Moving events between calendars remotely # Adding calendar remotely # Removing calendar remotely # Adding task&subtask remotely # Changing task locally # Removing task locally # Removing a task with subtasks locally (subtasks go to the upper level) # **Adding/removing tasklist locally** - wasn't tested, but should work. KOrganizer just don't know how to add a tasklist, it adds a calendar by default (probably it sees no difference between them...) # Changing tasklist locally # Adding task&subtask remotely # Changing task remotely # Removing task remotely # Adding tasklist remotely (it is not subscribed automatically, however, so user have to go to account settings and enable it) # Changing tasklist remotely # Removing tasklist remotely # Adding contact (including photo) locally, both inside "My Contacts" and "Other Contacts" groups # Moving contact between "My Contacts" and "Other Contacts" groups # Chaging contact (including photo) locally # Removing contat locally # Adding contact to contact group locally - {D28432} required, otherwise "Link Item" gets silently ignored # **Removing contact from contact group locally** - wasn't tested, since I've found to UI to "Unlink Item" :( # Adding contact (including photo) remotely # Changing contact (including photo) remotely # Removing contact remotely # Adding contact to contact group remotely # **Removing contact from contact group remotely** - doesn't work: need an easy way to fetch all collections we're linked to (so we know which UnlinkJobs we should start) Reviewers: dvratil, mlaurent Reviewed By: dvratil Subscribers: mlaurent, kde-pim Tags: #kde_pim Differential Revision: https://phabricator.kde.org/D28560
-