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 #include "importwizardkernel.h" 0007 0008 #include <Akonadi/ChangeRecorder> 0009 #include <Akonadi/EntityMimeTypeFilterModel> 0010 #include <Akonadi/EntityTreeModel> 0011 #include <Akonadi/Session> 0012 #include <KIdentityManagementCore/IdentityManager> 0013 #include <KSharedConfig> 0014 #include <MailCommon/FolderCollectionMonitor> 0015 0016 ImportWizardKernel::ImportWizardKernel(QObject *parent) 0017 : QObject(parent) 0018 { 0019 mIdentityManager = KIdentityManagementCore::IdentityManager::self(); 0020 auto session = new Akonadi::Session("ImportWizard Kernel ETM", this); 0021 mFolderCollectionMonitor = new MailCommon::FolderCollectionMonitor(session, this); 0022 0023 mEntityTreeModel = new Akonadi::EntityTreeModel(folderCollectionMonitor(), this); 0024 mEntityTreeModel->setListFilter(Akonadi::CollectionFetchScope::Enabled); 0025 mEntityTreeModel->setItemPopulationStrategy(Akonadi::EntityTreeModel::LazyPopulation); 0026 0027 mCollectionModel = new Akonadi::EntityMimeTypeFilterModel(this); 0028 mCollectionModel->setSourceModel(mEntityTreeModel); 0029 mCollectionModel->addMimeTypeInclusionFilter(Akonadi::Collection::mimeType()); 0030 mCollectionModel->setHeaderGroup(Akonadi::EntityTreeModel::CollectionTreeHeaders); 0031 mCollectionModel->setDynamicSortFilter(true); 0032 mCollectionModel->setSortCaseSensitivity(Qt::CaseInsensitive); 0033 } 0034 0035 KIdentityManagementCore::IdentityManager *ImportWizardKernel::identityManager() 0036 { 0037 return mIdentityManager; 0038 } 0039 0040 MessageComposer::MessageSender *ImportWizardKernel::msgSender() 0041 { 0042 Q_ASSERT(false); 0043 return nullptr; 0044 } 0045 0046 Akonadi::EntityMimeTypeFilterModel *ImportWizardKernel::collectionModel() const 0047 { 0048 return mCollectionModel; 0049 } 0050 0051 KSharedConfig::Ptr ImportWizardKernel::config() 0052 { 0053 return KSharedConfig::openConfig(); 0054 } 0055 0056 void ImportWizardKernel::syncConfig() 0057 { 0058 Q_ASSERT(false); 0059 } 0060 0061 MailCommon::JobScheduler *ImportWizardKernel::jobScheduler() const 0062 { 0063 Q_ASSERT(false); 0064 return nullptr; 0065 } 0066 0067 Akonadi::ChangeRecorder *ImportWizardKernel::folderCollectionMonitor() const 0068 { 0069 return mFolderCollectionMonitor->monitor(); 0070 } 0071 0072 void ImportWizardKernel::updateSystemTray() 0073 { 0074 Q_ASSERT(false); 0075 } 0076 0077 bool ImportWizardKernel::showPopupAfterDnD() 0078 { 0079 return false; 0080 } 0081 0082 qreal ImportWizardKernel::closeToQuotaThreshold() 0083 { 0084 return 80; 0085 } 0086 0087 QStringList ImportWizardKernel::customTemplates() 0088 { 0089 Q_ASSERT(false); 0090 return {}; 0091 } 0092 0093 bool ImportWizardKernel::excludeImportantMailFromExpiry() 0094 { 0095 Q_ASSERT(false); 0096 return true; 0097 } 0098 0099 Akonadi::Collection::Id ImportWizardKernel::lastSelectedFolder() 0100 { 0101 Q_ASSERT(false); 0102 return Akonadi::Collection::Id(); 0103 } 0104 0105 void ImportWizardKernel::setLastSelectedFolder(Akonadi::Collection::Id col) 0106 { 0107 Q_UNUSED(col) 0108 } 0109 0110 void ImportWizardKernel::expunge(Akonadi::Collection::Id col, bool sync) 0111 { 0112 Q_UNUSED(col) 0113 Q_UNUSED(sync) 0114 } 0115 0116 #include "moc_importwizardkernel.cpp"