Skip to content

Commit

Permalink
[buteo-sync-plugin-caldav] Use calendar method not to change lastModi…
Browse files Browse the repository at this point in the history
…fied field.
  • Loading branch information
dcaliste committed Mar 3, 2021
1 parent b5e0ee3 commit 1c92389
Show file tree
Hide file tree
Showing 3 changed files with 4 additions and 20 deletions.
4 changes: 2 additions & 2 deletions rpm/buteo-sync-plugin-caldav.spec
@@ -1,6 +1,6 @@
Name: buteo-sync-plugin-caldav
Summary: Syncs calendar data from CalDAV services
Version: 0.1.77
Version: 0.2.0
Release: 1
License: LGPLv2
URL: https://git.sailfishos.org/mer-core/buteo-sync-plugin-caldav
Expand All @@ -11,7 +11,7 @@ BuildRequires: pkgconfig(Qt5Network)
BuildRequires: pkgconfig(libsignon-qt5)
BuildRequires: pkgconfig(libsailfishkeyprovider)
BuildRequires: pkgconfig(libmkcal-qt5) >= 0.5.20
BuildRequires: pkgconfig(KF5CalendarCore)
BuildRequires: pkgconfig(KF5CalendarCore) >= 5.79
BuildRequires: pkgconfig(buteosyncfw5) >= 0.9.16
BuildRequires: pkgconfig(accounts-qt5)
BuildRequires: pkgconfig(signon-oauth2plugin)
Expand Down
1 change: 1 addition & 0 deletions src/caldavclient.cpp
Expand Up @@ -668,6 +668,7 @@ void CalDavClient::syncCalendars(const QList<PropFind::CalendarInfo> &allCalenda
QLatin1String("unable to open calendar storage"));
return;
}
mCalendar->setUpdateLastModifiedOnChange(false);

cleanSyncRequired(mAccountId);

Expand Down
19 changes: 1 addition & 18 deletions src/notebooksyncagent.cpp
Expand Up @@ -195,14 +195,12 @@ namespace {
const QString &remotePath = QString())
{
for (int i = 0; i < incidences.size(); i++) {
const QDateTime dt = incidences[i]->lastModified();
bool doit = true;
if (failingHrefs.contains(incidenceHrefUri(incidences[i], remotePath, remotePath.isEmpty() ? 0 : &doit))) {
incidences[i]->setCustomProperty(app, name, QStringLiteral("upload"));
} else {
incidences[i]->removeCustomProperty(app, name);
}
incidences[i]->setLastModified(dt);
}
}
bool isFlaggedAsUploadFailure(const KCalendarCore::Incidence::Ptr &incidence)
Expand All @@ -211,21 +209,15 @@ namespace {
}
void flagUpdateSuccess(const KCalendarCore::Incidence::Ptr &incidence)
{
const QDateTime dt = incidence->lastModified();
incidence->removeCustomProperty(app, name);
incidence->setLastModified(dt);
}
void flagUpdateFailure(const KCalendarCore::Incidence::Ptr &incidence)
{
const QDateTime dt = incidence->lastModified();
incidence->setCustomProperty(app, name, QStringLiteral("update"));
incidence->setLastModified(dt);
}
void flagDeleteFailure(const KCalendarCore::Incidence::Ptr &incidence)
{
const QDateTime dt = incidence->lastModified();
incidence->setCustomProperty(app, name, QStringLiteral("delete"));
incidence->setLastModified(dt);
}
}

Expand Down Expand Up @@ -1061,9 +1053,7 @@ void NotebookSyncAgent::updateIncidence(KCalendarCore::Incidence::Ptr incidence,
// Avoid spurious detections of modified incidences
// by ensuring that the received last modification date time
// is previous to the sync date time.
if (incidence->lastModified() < mNotebookSyncedDateTime) {
storedIncidence->setLastModified(incidence->lastModified());
} else {
if (storedIncidence->lastModified() > mNotebookSyncedDateTime) {
storedIncidence->setLastModified(mNotebookSyncedDateTime.addSecs(-2));
}

Expand Down Expand Up @@ -1104,7 +1094,6 @@ bool NotebookSyncAgent::addException(KCalendarCore::Incidence::Ptr incidence,
KCalendarCore::Incidence::Ptr recurringIncidence,
bool ensureRDate)
{
QDateTime modified = recurringIncidence->lastModified();
if (ensureRDate && recurringIncidence->allDay()
&& !recurringIncidence->recursOn(incidence->recurrenceId().date(),
incidence->recurrenceId().timeZone())) {
Expand All @@ -1120,8 +1109,6 @@ bool NotebookSyncAgent::addException(KCalendarCore::Incidence::Ptr incidence,
} else {
recurringIncidence->recurrence()->addExDateTime(incidence->recurrenceId());
}
// Don't update the modification date of the parent.
recurringIncidence->setLastModified(modified);

return addIncidence(incidence);
}
Expand Down Expand Up @@ -1301,17 +1288,13 @@ void NotebookSyncAgent::updateHrefETag(const QString &uid, const QString &href,

KCalendarCore::Incidence::Ptr localBaseIncidence = mCalendar->incidence(uid);
if (localBaseIncidence) {
QDateTime modificationDt = localBaseIncidence->lastModified();
updateIncidenceHrefEtag(localBaseIncidence, href, etag);
localBaseIncidence->updated();
localBaseIncidence->setLastModified(modificationDt);
if (localBaseIncidence->recurs()) {
const KCalendarCore::Incidence::List instances = mCalendar->instances(localBaseIncidence);
for (const KCalendarCore::Incidence::Ptr &instance : instances) {
QDateTime instanceDt = instance->lastModified();
updateIncidenceHrefEtag(instance, href, etag);
instance->updated();
instance->setLastModified(instanceDt);
}
}
} else {
Expand Down

0 comments on commit 1c92389

Please sign in to comment.