1 /* 2 SPDX-FileCopyrightText: 2015-2021 Laurent Montel <montel@kde.org> 3 4 SPDX-License-Identifier: LGPL-2.0-or-later 5 6 */ 7 8 #pragma once 9 10 #include <Akonadi/Collection> 11 #include <QObject> 12 class KJob; 13 namespace KPIM 14 { 15 class ProgressItem; 16 } 17 class RemoveDuplicateMessageInFolderAndSubFolderJob : public QObject 18 { 19 Q_OBJECT 20 public: 21 explicit RemoveDuplicateMessageInFolderAndSubFolderJob(QObject *parent = nullptr, QWidget *parentWidget = nullptr); 22 ~RemoveDuplicateMessageInFolderAndSubFolderJob() override; 23 24 void start(); 25 26 void setTopLevelCollection(const Akonadi::Collection &topLevelCollection); 27 28 private: 29 Q_DISABLE_COPY(RemoveDuplicateMessageInFolderAndSubFolderJob) 30 void slotFetchCollectionFailed(); 31 void slotFetchCollectionDone(const Akonadi::Collection::List &list); 32 void slotFinished(KJob *job); 33 void slotRemoveDuplicatesUpdate(KJob *job, const QString &description); 34 void slotRemoveDuplicatesCanceled(KPIM::ProgressItem *item); 35 Akonadi::Collection mTopLevelCollection; 36 QWidget *const mParentWidget; 37 }; 38 39