aboutsummaryrefslogtreecommitdiffstats
path: root/src/calendarstore.cpp
diff options
context:
space:
mode:
authorDanilo M. <danix@danix.xyz>2026-09-24 16:19:20 +0200
committerDanilo M. <danix@danix.xyz>2026-09-24 16:19:20 +0200
commit9c8afe411721fcb7faa4f2d669c2cd7b289f1f00 (patch)
treebbfefcbf2b3f0bcdfdcddc9574b75d2901256e72 /src/calendarstore.cpp
parent5c6a11e72755cc500c77b5fa92dae43ab990f21e (diff)
downloadqtmaildir-9c8afe411721fcb7faa4f2d669c2cd7b289f1f00.tar.gz
qtmaildir-9c8afe411721fcb7faa4f2d669c2cd7b289f1f00.zip
feat: an event is editable only when the user organises it
Diffstat (limited to 'src/calendarstore.cpp')
-rw-r--r--src/calendarstore.cpp10
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 {}; }