calDAV und iCalendar code example mit Qt, C++ und QML
Nachdem ich mich letztes Jahr schon hier und da mit Kalendern für Webseiten und dem iCalendar-Format beschäftigt hatte, habe ich letztens während dem 33C3 in Hamburg noch einen calDAV-Client in C++ und QML mit Qt geschrieben.
Zweck: den Küchen-Computer um eine Kalenderansicht mit meinen anstehenden Terminen erweitern.
Da ich keinen passenden Beispielcode finden konnte, der nicht entweder nur ansatzweise funktioniert oder völlig overfeatured ist, habe ich kurzerhand anhand der offiziellen Spezifikation selbst etwas geschrieben:
Features (u.a.):
- Verbindet sich mit calDAV-Servern (z.B. ownCloud, Nextcloud, etc.)
- Lädt iCalendar-Dateien von Festplatte oder über HTTP und HTTPS
- Verarbeitet Wiederholungsregeln für Terminserien und erstellt Listen von Terminen für einzelne Kalenderdaten
- Verwaltet mehrere Kalenderquellen simultan
- Anlegen, Editieren und Löschen von Terminen
- ... usw. ...