File indexing completed on 2024-05-12 05:25:34
0001 /* 0002 SPDX-FileCopyrightText: 2012-2024 Laurent Montel <montel@kde.org> 0003 0004 SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 #pragma once 0007 0008 #include "pimdataexporter_export.h" 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 PIMDATAEXPORTER_EXPORT PimDataExporterKernel : public QObject, public MailCommon::IKernel, public MailCommon::ISettings 0023 { 0024 public: 0025 explicit PimDataExporterKernel(QObject *parent = nullptr); 0026 0027 KIdentityManagementCore::IdentityManager *identityManager() override; 0028 MessageComposer::MessageSender *msgSender() override; 0029 0030 Akonadi::EntityMimeTypeFilterModel *collectionModel() const override; 0031 KSharedConfig::Ptr config() override; 0032 void syncConfig() override; 0033 MailCommon::JobScheduler *jobScheduler() const override; 0034 Akonadi::ChangeRecorder *folderCollectionMonitor() const override; 0035 void updateSystemTray() override; 0036 0037 qreal closeToQuotaThreshold() override; 0038 bool excludeImportantMailFromExpiry() override; 0039 QStringList customTemplates() override; 0040 Akonadi::Collection::Id lastSelectedFolder() override; 0041 void setLastSelectedFolder(Akonadi::Collection::Id col) override; 0042 bool showPopupAfterDnD() override; 0043 void expunge(Akonadi::Collection::Id col, bool sync) override; 0044 0045 private: 0046 KIdentityManagementCore::IdentityManager *mIdentityManager = nullptr; 0047 MailCommon::FolderCollectionMonitor *mFolderCollectionMonitor = nullptr; 0048 Akonadi::EntityTreeModel *mEntityTreeModel = nullptr; 0049 Akonadi::EntityMimeTypeFilterModel *mCollectionModel = nullptr; 0050 };