File indexing completed on 2024-05-12 05:20:45

0001 /*
0002    SPDX-FileCopyrightText: 2014-2024 Laurent Montel <montel@kde.org>
0003 
0004    SPDX-License-Identifier: GPL-2.0-or-later
0005 */
0006 
0007 #pragma once
0008 
0009 #include <MailCommon/FolderSettings>
0010 #include <QObject>
0011 #include <QPointer>
0012 
0013 #include <Libkdepim/ProgressManager>
0014 
0015 namespace Akonadi
0016 {
0017 class CollectionPropertiesDialog;
0018 }
0019 
0020 class KJob;
0021 class KMMainWidget;
0022 class ManageShowCollectionProperties : public QObject
0023 {
0024     Q_OBJECT
0025 public:
0026     explicit ManageShowCollectionProperties(KMMainWidget *mainWidget, QObject *parent = nullptr);
0027     ~ManageShowCollectionProperties() override;
0028 
0029 public Q_SLOTS:
0030     void slotFolderMailingListProperties();
0031     void slotShowFolderShortcutDialog();
0032     void slotShowExpiryProperties();
0033     void slotCollectionProperties();
0034 
0035 private:
0036     void slotCollectionPropertiesContinued(KJob *job);
0037     void slotCollectionPropertiesFinished(KJob *job);
0038     void showCollectionProperties(const QString &pageToShow);
0039     void showCollectionPropertiesContinued(const QString &pageToShow, QPointer<KPIM::ProgressItem> progressItem);
0040 
0041     QHash<Akonadi::Collection::Id, QPointer<Akonadi::CollectionPropertiesDialog>> mHashDialogBox;
0042     KMMainWidget *const mMainWidget;
0043     const QStringList mPages;
0044 };