File indexing completed on 2024-09-22 04:47:56

0001 /*
0002     SPDX-FileCopyrightText: 2017-2024 Laurent Montel <montel@kde.org>
0003 
0004     SPDX-License-Identifier: LGPL-2.0-or-later
0005 */
0006 
0007 #include "smtpmailtransportplugin.h"
0008 #include "smtpconfigdialog.h"
0009 #include "smtpjob.h"
0010 #include <KLocalizedString>
0011 #include <KPluginFactory>
0012 #include <QPointer>
0013 
0014 K_PLUGIN_CLASS_WITH_JSON(SMTPMailTransportPlugin, "smtpmailtransport.json")
0015 
0016 SMTPMailTransportPlugin::SMTPMailTransportPlugin(QObject *parent, const QList<QVariant> &)
0017     : MailTransport::TransportAbstractPlugin(parent)
0018 {
0019 }
0020 
0021 SMTPMailTransportPlugin::~SMTPMailTransportPlugin() = default;
0022 
0023 QList<MailTransport::TransportAbstractPluginInfo> SMTPMailTransportPlugin::names() const
0024 {
0025     MailTransport::TransportAbstractPluginInfo info;
0026 
0027     info.name = i18nc("@option SMTP transport", "SMTP");
0028     info.description = i18n("An SMTP server on the Internet");
0029     info.identifier = QStringLiteral("SMTP");
0030     info.isAkonadi = false;
0031     return QList<MailTransport::TransportAbstractPluginInfo>() << info;
0032 }
0033 
0034 bool SMTPMailTransportPlugin::configureTransport(const QString &identifier, MailTransport::Transport *transport, QWidget *parent)
0035 {
0036     Q_UNUSED(identifier)
0037     QPointer<MailTransport::SmtpConfigDialog> transportConfigDialog = new MailTransport::SmtpConfigDialog(transport, parent);
0038     transportConfigDialog->setWindowTitle(i18nc("@title:window", "Configure account"));
0039     bool okClicked = (transportConfigDialog->exec() == QDialog::Accepted);
0040     delete transportConfigDialog;
0041     return okClicked;
0042 }
0043 
0044 MailTransport::TransportJob *SMTPMailTransportPlugin::createTransportJob(MailTransport::Transport *t, const QString &identifier)
0045 {
0046     Q_UNUSED(identifier)
0047     return new MailTransport::SmtpJob(t, this);
0048 }
0049 
0050 #include "smtpmailtransportplugin.moc"
0051 
0052 #include "moc_smtpmailtransportplugin.cpp"