diff options
| author | Danilo M. <danix@danix.xyz> | 2026-09-24 16:19:20 +0200 |
|---|---|---|
| committer | Danilo M. <danix@danix.xyz> | 2026-09-24 16:19:20 +0200 |
| commit | 9c8afe411721fcb7faa4f2d669c2cd7b289f1f00 (patch) | |
| tree | bbfefcbf2b3f0bcdfdcddc9574b75d2901256e72 /src | |
| parent | 5c6a11e72755cc500c77b5fa92dae43ab990f21e (diff) | |
| download | qtmaildir-9c8afe411721fcb7faa4f2d669c2cd7b289f1f00.tar.gz qtmaildir-9c8afe411721fcb7faa4f2d669c2cd7b289f1f00.zip | |
feat: an event is editable only when the user organises it
Diffstat (limited to 'src')
| -rw-r--r-- | src/calendarstore.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/calendarstore.cpp b/src/calendarstore.cpp index a9efe8f..7970fdf 100644 --- a/src/calendarstore.cpp +++ b/src/calendarstore.cpp @@ -345,7 +345,15 @@ QList<Occurrence> occurrences(const QList<CalEvent> &events, [](const Occurrence &a, const Occurrence &b) { return a.start < b.start; }); return result; } -bool isEditable(const CalEvent &, const CalCollection &, const QStringList &) { return false; } +bool isEditable(const CalEvent &event, const CalCollection &collection, + const QStringList &ownAddresses) +{ + if (collection.readOnly) + return false; + if (event.organizer.address.isEmpty()) + return true; + return ownAddresses.contains(event.organizer.address, Qt::CaseInsensitive); +} QByteArray applyEdit(const QByteArray &, const EventEdit &, Scope, const QDateTime &) { return {}; } QByteArray newEvent(const EventEdit &, const QByteArray &) { return {}; } QByteArray deleteOccurrence(const QByteArray &, const QDateTime &) { return {}; } |
