2 Copyright (c) 2013-2016 Montel Laurent <montel@kde.org>
4 This program is free software; you can redistribute it and/or modify it
5 under the terms of the GNU General Public License, version 2, as
6 published by the Free Software Foundation.
8 This program is distributed in the hope that it will be useful, but
9 WITHOUT ANY WARRANTY; without even the implied warranty of
10 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11 General Public License for more details.
13 You should have received a copy of the GNU General Public License along
14 with this program; if not, write to the Free Software Foundation, Inc.,
15 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
18 #include "mboximportkernel.h"
20 #include <KIdentityManagement/kidentitymanagement/identitymanager.h>
21 #include <MailCommon/FolderCollectionMonitor>
22 #include <AkonadiCore/session.h>
23 #include <entitytreemodel.h>
24 #include <entitymimetypefiltermodel.h>
25 #include <changerecorder.h>
26 #include <KSharedConfig>
28 MBoxImporterKernel::MBoxImporterKernel(QObject
*parent
)
31 mIdentityManager
= new KIdentityManagement::IdentityManager(false, this);
32 Akonadi::Session
*session
= new Akonadi::Session("MBox importer Kernel ETM", this);
33 mFolderCollectionMonitor
= new MailCommon::FolderCollectionMonitor(session
, this);
35 mEntityTreeModel
= new Akonadi::EntityTreeModel(folderCollectionMonitor(), this);
36 mEntityTreeModel
->setListFilter(Akonadi::CollectionFetchScope::Enabled
);
37 mEntityTreeModel
->setItemPopulationStrategy(Akonadi::EntityTreeModel::LazyPopulation
);
39 mCollectionModel
= new Akonadi::EntityMimeTypeFilterModel(this);
40 mCollectionModel
->setSourceModel(mEntityTreeModel
);
41 mCollectionModel
->addMimeTypeInclusionFilter(Akonadi::Collection::mimeType());
42 mCollectionModel
->setHeaderGroup(Akonadi::EntityTreeModel::CollectionTreeHeaders
);
43 mCollectionModel
->setDynamicSortFilter(true);
44 mCollectionModel
->setSortCaseSensitivity(Qt::CaseInsensitive
);
47 KIdentityManagement::IdentityManager
*MBoxImporterKernel::identityManager()
49 return mIdentityManager
;
52 MessageComposer::MessageSender
*MBoxImporterKernel::msgSender()
57 Akonadi::EntityMimeTypeFilterModel
*MBoxImporterKernel::collectionModel() const
59 return mCollectionModel
;
62 KSharedConfig::Ptr
MBoxImporterKernel::config()
64 return KSharedConfig::openConfig();
67 void MBoxImporterKernel::syncConfig()
72 MailCommon::JobScheduler
*MBoxImporterKernel::jobScheduler() const
78 Akonadi::ChangeRecorder
*MBoxImporterKernel::folderCollectionMonitor() const
80 return mFolderCollectionMonitor
->monitor();
83 void MBoxImporterKernel::updateSystemTray()
88 bool MBoxImporterKernel::showPopupAfterDnD()
93 qreal
MBoxImporterKernel::closeToQuotaThreshold()
98 QStringList
MBoxImporterKernel::customTemplates()
101 return QStringList();
104 bool MBoxImporterKernel::excludeImportantMailFromExpiry()
110 Akonadi::Collection::Id
MBoxImporterKernel::lastSelectedFolder()
113 return Akonadi::Collection::Id();
116 void MBoxImporterKernel::setLastSelectedFolder(Akonadi::Collection::Id col
)