void CollectionInternalsPage::load(const Akonadi::Collection & col) { ui.idLabel->setText( QString::number( col.id() ) ); ui.ridEdit->setText( col.remoteId() ); ui.rrevEdit->setText( col.remoteRevision() ); ui.resourceLabel->setText( col.resource() ); ui.contentTypes->setItems( col.contentMimeTypes() ); ui.virtCheck->setChecked( col.isVirtual() ); }
void CalendarResource::retrieveItems(const Akonadi::Collection &collection) { if (!canPerformTask()) { return; } // https://bugs.kde.org/show_bug.cgi?id=308122: we can only request changes in // max. last 25 days, otherwise we get an error. int lastSyncDelta = -1; if (!collection.remoteRevision().isEmpty()) { lastSyncDelta = QDateTime::currentDateTimeUtc().toTime_t() - collection.remoteRevision().toUInt(); } KGAPI2::Job *job = Q_NULLPTR; if (collection.contentMimeTypes().contains(KCalCore::Event::eventMimeType())) { EventFetchJob *fetchJob = new EventFetchJob(collection.remoteId(), account(), this); if (lastSyncDelta > -1 && lastSyncDelta < 25 * 24 * 3600) { fetchJob->setFetchOnlyUpdated(collection.remoteRevision().toULongLong()); } if (!Settings::self()->eventsSince().isEmpty()) { const QDate date = QDate::fromString(Settings::self()->eventsSince(), Qt::ISODate); fetchJob->setTimeMin(QDateTime(date).toTime_t()); } job = fetchJob; } else if (collection.contentMimeTypes().contains(KCalCore::Todo::todoMimeType())) { TaskFetchJob *fetchJob = new TaskFetchJob(collection.remoteId(), account(), this); if (lastSyncDelta > -1 && lastSyncDelta < 25 * 25 * 3600) { fetchJob->setFetchOnlyUpdated(collection.remoteRevision().toULongLong()); } job = fetchJob; } else { itemsRetrieved(Item::List()); return; } job->setProperty(COLLECTION_PROPERTY, QVariant::fromValue(collection)); connect(job, &KGAPI2::Job::progress, this, &CalendarResource::emitPercent); connect(job, &KGAPI2::Job::finished, this, &CalendarResource::slotItemsRetrieved); }