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 };