File indexing completed on 2024-05-12 05:10:50
0001 /* 0002 SPDX-FileCopyrightText: 2013 Sérgio Martins <iamsergio@gmail.com> 0003 0004 SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 #pragma once 0008 0009 #include "incidencechanger.h" 0010 #include "todopurger.h" 0011 0012 #include <QObject> 0013 #include <QString> 0014 0015 namespace Akonadi 0016 { 0017 class IncidenceChanger; 0018 0019 class TodoPurgerPrivate : public QObject 0020 { 0021 Q_OBJECT 0022 public: 0023 explicit TodoPurgerPrivate(TodoPurger *q); 0024 IncidenceChanger *m_changer = nullptr; 0025 QString m_lastError; 0026 CalendarBase::Ptr m_calendar; 0027 int m_currentChangeId = -1; 0028 int m_ignoredItems = 0; 0029 bool m_calendarOwnership = true; // If false it's not ours. 0030 0031 void deleteTodos(); 0032 [[nodiscard]] bool treeIsDeletable(const KCalendarCore::Todo::Ptr &todo); 0033 0034 public Q_SLOTS: 0035 void onCalendarLoaded(bool success, const QString &message); 0036 void onItemsDeleted(int changeId, const QList<Akonadi::Item::Id> &deletedItems, Akonadi::IncidenceChanger::ResultCode, const QString &message); 0037 0038 private: 0039 TodoPurger *const q; 0040 }; 0041 }