About syncing the Todo list, what do you think about such possibility:
- stores the todos in a DB handled by mKCal (you can create such DB yourself using mKCal::SqliteStorage() API, where the second argument is a file path that can point to a place handled by your application and not the default restricted system DB).
- modify a bit Buteo CalDAV sync plugin to be able to call it from your application providing where the Todo DB is (by default, the plugin is looking to sync calendars from the system DB).
Would you approve such changes to your application ? I didn’t look at your code yet, so I’ve no idea how many code changes the DB switch would mean. If you think it’s a viable path, I could provide PRs after working on it, or help you doing so if you prefer to do it yourself.