File indexing completed on 2024-05-12 05:11:07

0001 /*
0002    SPDX-FileCopyrightText: 2012-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/MailInterfaces>
0010 
0011 namespace Akonadi
0012 {
0013 class EntityTreeModel;
0014 class EntityMimeTypeFilterModel;
0015 }
0016 
0017 namespace MailCommon
0018 {
0019 class FolderCollectionMonitor;
0020 }
0021 
0022 class ImportWizardKernel : public QObject, public MailCommon::IKernel, public MailCommon::ISettings
0023 {
0024     Q_OBJECT
0025 public:
0026     explicit ImportWizardKernel(QObject *parent = nullptr);
0027 
0028     KIdentityManagementCore::IdentityManager *identityManager() override;
0029     MessageComposer::MessageSender *msgSender() override;
0030 
0031     Akonadi::EntityMimeTypeFilterModel *collectionModel() const override;
0032     KSharedConfig::Ptr config() override;
0033     void syncConfig() override;
0034     MailCommon::JobScheduler *jobScheduler() const override;
0035     Akonadi::ChangeRecorder *folderCollectionMonitor() const override;
0036     void updateSystemTray() override;
0037 
0038     qreal closeToQuotaThreshold() override;
0039     bool excludeImportantMailFromExpiry() override;
0040     QStringList customTemplates() override;
0041     Akonadi::Collection::Id lastSelectedFolder() override;
0042     void setLastSelectedFolder(Akonadi::Collection::Id col) override;
0043     bool showPopupAfterDnD() override;
0044     void expunge(Akonadi::Collection::Id col, bool sync) override;
0045 
0046 private:
0047     KIdentityManagementCore::IdentityManager *mIdentityManager = nullptr;
0048     MailCommon::FolderCollectionMonitor *mFolderCollectionMonitor = nullptr;
0049     Akonadi::EntityTreeModel *mEntityTreeModel = nullptr;
0050     Akonadi::EntityMimeTypeFilterModel *mCollectionModel = nullptr;
0051 };