2 Copyright (c) 2012-2015 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 "importwizardkernel.h"
20 #include <KIdentityManagement/kidentitymanagement/identitymanager.h>
21 #include <MessageComposer/AkonadiSender>
22 #include <MailCommon/FolderCollectionMonitor>
23 #include <AkonadiCore/session.h>
24 #include <AkonadiCore/entitytreemodel.h>
25 #include <AkonadiCore/entitymimetypefiltermodel.h>
26 #include <AkonadiCore/changerecorder.h>
27 #include <KSharedConfig>
29 ImportWizardKernel::ImportWizardKernel(QObject
*parent
)
32 mMessageSender
= new MessageComposer::AkonadiSender(this);
33 mIdentityManager
= new KIdentityManagement::IdentityManager(false, this);
34 Akonadi::Session
*session
= new Akonadi::Session("ImportWizard Kernel ETM", this);
35 mFolderCollectionMonitor
= new MailCommon::FolderCollectionMonitor(session
, this);
37 mEntityTreeModel
= new Akonadi::EntityTreeModel(folderCollectionMonitor(), this);
38 mEntityTreeModel
->setListFilter(Akonadi::CollectionFetchScope::Enabled
);
39 mEntityTreeModel
->setItemPopulationStrategy(Akonadi::EntityTreeModel::LazyPopulation
);
41 mCollectionModel
= new Akonadi::EntityMimeTypeFilterModel(this);
42 mCollectionModel
->setSourceModel(mEntityTreeModel
);
43 mCollectionModel
->addMimeTypeInclusionFilter(Akonadi::Collection::mimeType());
44 mCollectionModel
->setHeaderGroup(Akonadi::EntityTreeModel::CollectionTreeHeaders
);
45 mCollectionModel
->setDynamicSortFilter(true);
46 mCollectionModel
->setSortCaseSensitivity(Qt::CaseInsensitive
);
49 KIdentityManagement::IdentityManager
*ImportWizardKernel::identityManager()
51 return mIdentityManager
;
54 MessageComposer::MessageSender
*ImportWizardKernel::msgSender()
56 return mMessageSender
;
59 Akonadi::EntityMimeTypeFilterModel
*ImportWizardKernel::collectionModel() const
61 return mCollectionModel
;
64 KSharedConfig::Ptr
ImportWizardKernel::config()
66 return KSharedConfig::openConfig();
69 void ImportWizardKernel::syncConfig()
74 MailCommon::JobScheduler
*ImportWizardKernel::jobScheduler() const
80 Akonadi::ChangeRecorder
*ImportWizardKernel::folderCollectionMonitor() const
82 return mFolderCollectionMonitor
->monitor();
85 void ImportWizardKernel::updateSystemTray()
90 bool ImportWizardKernel::showPopupAfterDnD()
95 qreal
ImportWizardKernel::closeToQuotaThreshold()
100 QStringList
ImportWizardKernel::customTemplates()
103 return QStringList();
106 bool ImportWizardKernel::excludeImportantMailFromExpiry()
112 Akonadi::Collection::Id
ImportWizardKernel::lastSelectedFolder()
115 return Akonadi::Collection::Id();
118 void ImportWizardKernel::setLastSelectedFolder(const Akonadi::Collection::Id
&col
)