File indexing completed on 2024-05-12 05:11:07

0001 /*
0002    SPDX-FileCopyrightText: 2017-2024 Laurent Montel <montel@kde.org>
0003 
0004    SPDX-License-Identifier: GPL-2.0-or-later
0005 */
0006 
0007 #include "importwizarddisplayinfo.h"
0008 #include "autodetect/importaddressbookpage.h"
0009 #include "autodetect/importcalendarpage.h"
0010 #include "autodetect/importfilterinfogui.h"
0011 #include "autodetect/importfilterpage.h"
0012 #include "autodetect/importmailpage.h"
0013 #include "autodetect/importsettingpage.h"
0014 #include "importwizard.h"
0015 
0016 #include <MailImporter/FilterInfo>
0017 #include <MailImporterAkonadi/FilterImporterAkonadi>
0018 
0019 ImportWizardDisplayInfo::ImportWizardDisplayInfo(ImportWizard *wizard)
0020     : mImportWizard(wizard)
0021 {
0022     Q_ASSERT_X(mImportWizard, __FUNCTION__, "mImportWizard is null");
0023 }
0024 
0025 ImportWizardDisplayInfo::~ImportWizardDisplayInfo() = default;
0026 
0027 void ImportWizardDisplayInfo::calendarImportError(const QString &log)
0028 {
0029     mImportWizard->importCalendarPage()->addImportError(log);
0030 }
0031 
0032 void ImportWizardDisplayInfo::settingsImportError(const QString &log)
0033 {
0034     mImportWizard->importSettingPage()->addImportError(log);
0035 }
0036 
0037 void ImportWizardDisplayInfo::addressbookImportError(const QString &log)
0038 {
0039     mImportWizard->importAddressBookPage()->addImportError(log);
0040 }
0041 
0042 void ImportWizardDisplayInfo::calendarImportInfo(const QString &log)
0043 {
0044     mImportWizard->importCalendarPage()->addImportInfo(log);
0045 }
0046 
0047 void ImportWizardDisplayInfo::settingsImportInfo(const QString &log)
0048 {
0049     mImportWizard->importSettingPage()->addImportInfo(log);
0050 }
0051 
0052 void ImportWizardDisplayInfo::addressbookImportInfo(const QString &log)
0053 {
0054     mImportWizard->importAddressBookPage()->addImportInfo(log);
0055 }
0056 
0057 QWidget *ImportWizardDisplayInfo::parentWidget() const
0058 {
0059     return mImportWizard;
0060 }
0061 
0062 void ImportWizardDisplayInfo::filterImportError(const QString &log)
0063 {
0064     mImportWizard->importFilterPage()->addImportError(log);
0065 }
0066 
0067 void ImportWizardDisplayInfo::filterImportInfo(const QString &log)
0068 {
0069     mImportWizard->importFilterPage()->addImportInfo(log);
0070 }
0071 
0072 void ImportWizardDisplayInfo::initializeFilter(MailImporter::Filter &filter)
0073 {
0074     auto info = new MailImporter::FilterInfo();
0075     auto infoGui = new ImportFilterInfoGui(mImportWizard->importMailPage());
0076     info->setFilterInfoGui(infoGui);
0077     info->clear(); // Clear info from last time
0078     auto filterImporter = new MailImporter::FilterImporterAkonadi(info);
0079     filterImporter->setRootCollection(mImportWizard->importMailPage()->selectedCollection());
0080     filter.setFilterImporter(filterImporter);
0081     filter.setFilterInfo(info);
0082 }