File indexing completed on 2025-03-02 04:52:17

0001 /*
0002    SPDX-FileCopyrightText: 2012-2024 Laurent Montel <montel@kde.org>
0003 
0004    SPDX-License-Identifier: GPL-2.0-or-later
0005 */
0006 
0007 #include "mailappimportdata.h"
0008 #include <MailImporter/FilterInfo>
0009 #include <MailImporter/FilterMailApp>
0010 
0011 #include <KLocalizedString>
0012 #include <KPluginFactory>
0013 #include <QDir>
0014 
0015 K_PLUGIN_CLASS_WITH_JSON(MailAppImporterFactory, "mailappimporter.json")
0016 
0017 MailAppImportData::MailAppImportData(QObject *parent, const QList<QVariant> &)
0018     : LibImportWizard::AbstractImporter(parent)
0019 {
0020     mPath = QDir::homePath();
0021 }
0022 
0023 MailAppImportData::~MailAppImportData()
0024 {
0025 }
0026 
0027 bool MailAppImportData::foundMailer() const
0028 {
0029 #ifdef Q_OS_MAC
0030     // TODO find a method to search it. Perhaps look at binary.
0031     QDir directory(mPath);
0032     if (directory.exists()) {
0033         return true;
0034     }
0035 #endif
0036     return false;
0037 }
0038 
0039 QString MailAppImportData::name() const
0040 {
0041     return QStringLiteral("Mail App");
0042 }
0043 
0044 bool MailAppImportData::importMails()
0045 {
0046     MailImporter::FilterMailApp mailapp;
0047     initializeFilter(mailapp);
0048     mailapp.filterInfo()->setStatusMessage(i18n("Import in progress"));
0049     QDir directory(mPath);
0050     if (directory.exists()) {
0051         mailapp.importMails(mPath);
0052     } else {
0053         mailapp.import();
0054     }
0055     mailapp.filterInfo()->setStatusMessage(i18n("Import finished"));
0056     return true;
0057 }
0058 
0059 LibImportWizard::AbstractImporter::TypeSupportedOptions MailAppImportData::supportedOption()
0060 {
0061     TypeSupportedOptions options;
0062     options |= LibImportWizard::AbstractImporter::Mails;
0063     return options;
0064 }
0065 
0066 #include "mailappimportdata.moc"