MailTransport

smtpmailtransportplugin.cpp
1 /*
2  SPDX-FileCopyrightText: 2017-2023 Laurent Montel <[email protected]>
3 
4  SPDX-License-Identifier: LGPL-2.0-or-later
5 */
6 
7 #include "smtpmailtransportplugin.h"
8 #include "smtpconfigdialog.h"
9 #include "smtpjob.h"
10 #include <KLocalizedString>
11 #include <KPluginFactory>
12 #include <QPointer>
13 
14 K_PLUGIN_CLASS_WITH_JSON(SMTPMailTransportPlugin, "smtpmailtransport.json")
15 
16 SMTPMailTransportPlugin::SMTPMailTransportPlugin(QObject *parent, const QList<QVariant> &)
17  : MailTransport::TransportAbstractPlugin(parent)
18 {
19 }
20 
21 SMTPMailTransportPlugin::~SMTPMailTransportPlugin() = default;
22 
23 QVector<MailTransport::TransportAbstractPluginInfo> SMTPMailTransportPlugin::names() const
24 {
26 
27  info.name = i18nc("@option SMTP transport", "SMTP");
28  info.description = i18n("An SMTP server on the Internet");
29  info.identifier = QStringLiteral("SMTP");
30  info.isAkonadi = false;
32 }
33 
34 bool SMTPMailTransportPlugin::configureTransport(const QString &identifier, MailTransport::Transport *transport, QWidget *parent)
35 {
36  Q_UNUSED(identifier)
37  QPointer<MailTransport::SmtpConfigDialog> transportConfigDialog = new MailTransport::SmtpConfigDialog(transport, parent);
38  transportConfigDialog->setWindowTitle(i18nc("@title:window", "Configure account"));
39  bool okClicked = (transportConfigDialog->exec() == QDialog::Accepted);
40  delete transportConfigDialog;
41  return okClicked;
42 }
43 
44 MailTransport::TransportJob *SMTPMailTransportPlugin::createTransportJob(MailTransport::Transport *t, const QString &identifier)
45 {
46  Q_UNUSED(identifier)
47  return new MailTransport::SmtpJob(t, this);
48 }
49 
50 #include "smtpmailtransportplugin.moc"
Abstract base class for all mail transport jobs.
Definition: transportjob.h:30
QString i18n(const char *text, const TYPE &arg...)
The TransportAbstractPluginInfo struct.
Represents the settings of a specific mail transport.
Definition: transport.h:32
Mail transport job for SMTP.
Definition: smtpjob.h:42
QString i18nc(const char *context, const char *text, const TYPE &arg...)
#define K_PLUGIN_CLASS_WITH_JSON(classname, jsonFile)
This file is part of the KDE documentation.
Documentation copyright © 1996-2023 The KDE developers.
Generated on Thu Mar 23 2023 04:19:12 by doxygen 1.8.17 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.