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